c语言复习试题.doc

上传人:wux****ua 文档编号:8942707 上传时间:2020-04-02 格式:DOC 页数:92 大小:130KB
返回 下载 相关 举报
c语言复习试题.doc_第1页
第1页 / 共92页
c语言复习试题.doc_第2页
第2页 / 共92页
c语言复习试题.doc_第3页
第3页 / 共92页
点击查看更多>>
资源描述
C语言基础一:合法的字符常量是( )。A)0x8 B) “a” C) ab D)x431.下列四组选项中,均不是C语言关健字的选项是( )。A) define B) gect C) include D) while IF char scanf go type printf case pow2.下面四个选项中,均是合法整型常量的选项是( )。A)160 B)-0xcdf C) -01 D)-0x48a -0xffff 01a 986,012 2e5 011 0xe 0668 0x3.下面四个选项中,均是不合法的转义符的选项是( )。A) B) 1011 C) 011 D) abc f 101 xf A x1f4.下面不正确的字符串常量是( )。A)abc B)1212 C)0 D) 5.以下选项中不合法的用户标识符是( )。 A)abc.c B)file C)Main D)PRINT6.C语言提供的合法关键字是( )。A) swithB) cherC) CaseD)static7.下列标识符组中,合法的用户标识符为 A)_0123与ssipedB)del-word与signedC)list与*jerD) keep%与wind8.在C语言中,逻辑值真的表示是用( )。A) true B) 整型值0 C)非0值 D) T9若有以下定义char s=092;则该语句( )A)使s的值包含一个字符 B)定义不合法,s的值不确定 C)使s的值包含4个字符 D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数据占( )个字节。A)1 B)2 C)8 D)412逻辑运算符两侧运算对象的数据类型是 ( )。A) 只是0或1 B) 只能是0或非0正数C) 只能是整型或字符型数据 D) 可以是任何合法的类型数据13TURBO C中int类型变量所占字节数是( )。 A)1 B)2 C)3 D)414在C语言中,char型数据在内存中的存储形式是( )。A) 补码 B) 反码 C) 原码 D) ASCII码15若有以下定义,则能使值为3的表达式是( )。int k=7, x=12;A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5)16判断char型变量c1是否为小写字母的正确表达式为 ( )。A) a=c1=A)&(c1=c1)|(z=a)&(c1bc 的值是【 】10设x,y,z均为int型变量,请写出描述x,y中有一个为负数的表达式【 】11若a=6,b=4,c=3,则表达式 a&b|b-c的值是【 】12设x=3,y=-4,z=5,则表达式!(xy)+(y!=z)|(x+y)&(y=z)的值是【 】基础二1下面四个选项中,均是非法常量的选项是( )。A)as B) C)-0x18 D)0xabc -0fff 01 01177 0 0a 12,456 0xf a2下面四个选项中,均是不合法整型常量的选项是( )。 A)-0f1 B)-0xcdf C) -018 D)-0x48eg -0xffff 017 999 -0680011 12,456 5e2 03f3下面正确的字符常量是( )。A) c B) C) W D) 4以下每个选项都代表一个常量,其中正确的整型常量是( )。A)1.2 B)-20 C)1,000 D)4 5 65以下选项中不合法的用户标识符是( C )。 A)_123 B)Printf C)A$ D)Dim6在下列C语言程序中,可以用做变量名的是( )。A) 1B) a1C) intD) *p7C语言提供的合法数据关键字是( )。A) floatB) SagnedC) IntegerD) Char8以下符号中不能用作用户标识符的符号是( B )。A)_256 B)voidC)scanf D)Struct9若k为int型变量,则以下语句( )。k=8567;printf(|%-6d|n,k);A)输出格式描述不合法 B)输出为|008567|C)输出为|8567| D)输出为|-08567|11在C语言中, int、char和short三种类型数据在内存中所占用的字节数( )。A)由用户自己定义 B)均为2个字节C)是任意的 D)由所用机器的机器字长决定12判断char型变量c1是否为小写字母的正确表达式为 ( )。A) a=c1=A. &(c1=c1)|(z=a)&(c1=z)13以下叙述中正确的是( )。Aa是实型变量,C语言允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值B在赋值表达式中,赋值号右边即可以是变量也可以是任意表达式C执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0D已有a=3,b=5当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为314表达式18/4*sqrt (4.0)/8值的数据类型为( )。A)int B)float C)double D)不确定15下列运算符中,不属于关系运算符的是( )。A) = C) ! D) ! =16若希望当A的值为奇数时,表达式的值为真,A的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是 ( )。A) A%2= =1 B) !(A%2= =0) C) !(A%2) D) A%217已知各变量的类型说明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是( )。A)a+=a-=(b=4)*(a=3)B)a=a*3=2C)x%(-3)D)y=float(i)18 若变量已正确定义并赋值,下面符合C语言语法的表达式是( )。 A)a=a+7; B)a=7+b+c,a+ C)int 12.3%4 D)a=a+7=a+b19逗号表达式(a=3*5,a*4),a+15的值为( C )。A)15 B)60 C)30 D)不确定20设Int n=3;则n+的结果是( )。A)2 B)3 C)4 D)52可以使用( )输入字符型数据。A)putchar(c); B)getchar(c); C)getchar();D)scanf(%c,&c);3C语言规定,可以在定义变量时,同时使变量初始化。4把k1、k2定义成基本整型变量,并赋初值0的定义语句是int k1=k2=0; 。5如果i的原值为3,则:j = + i,j的值为3。 6凡是表达式都有一个值。7输入语句的格式为:scanf(%d,%d,%d,a,b,c);是正确的。 8在scanf(%d,%*d,%d,&a,&b)函数中,当输入为1,2,3时,将1赋给a,将2赋给b。 9getchar函数的功能是接收从键盘输入的一个整数。 10假定变量a,b,c在说明时已赋初值,则 if (a=b;)0) c=a;是正确的。 12printf函数是一个标准库函数,它的函数原型在头文件string.h中。 13在printf函数中,格式字符d的意义是:以十进制形式输出带符号整数。14 在printf函数中,输出表列的各输出项之间可用冒号分隔。 15若int x=3; printf(%d,&x);则系统不会报错,会输出x的地址。16int a=0,b=1,c=2;则表达式a|b+c&b=c的值为01若有以下定义:char c=010;则变量C中包含的字符个数为( )。2若有以下定义:int x=3,y=2;float a=2.5,b=3.5;则下面表达式的值为【 】。(x+y)%2+(int)a/(int)b3若a是int型变量、且a的初值为6,则执行下面表达式后,a的值为【 】。a+=a-=a*a4若x是int型变量,则执行下面表达式后,x的值为【 】。x=a=4,6*25若a是int型变量,且a的初值为6,则计算表达式后a的值为【 】。a+=a-=a*a 6scanf函数的地址表列中给出各变量的地址,地址是由【 】后跟变量名组成的。7使用getchar函数接收字符,若输入多于一个字符时,只接收第【 】个字符。8 C语言的格式输出函数是【 】。9当a=5,b=4,c=2时,表达式ab!=c 的值是【 】10已知A=7.5,B=2,C=3.6,表达式AB&CA | AB的值是【 】11若a=3,b=2,c=1,则表达式a-bc|b=c的值是【 】12有int a=0,b=4,c=5;则表达式a|b+c&b!=c的值为【 】基础三1下面四个选项中,均是不合法的用户标识符的选项是( )。A) A B) float C) b-a D) _123 p_0 lao goto temp do _A int INT2下面四个选项中,均是不合法浮点数的选项是( )。A) 160. B) 123 C) -018 D) -e3 0.12 2e4.2 123e4 .234 e3 .e5 0.0 1e33下面四个选项中,均是不正确的八进制或十六进制数的选项是( )。A)016 B)0abc C)010 D)0a12 0x8f 017 -0x11 7ff 018 0xa 0x16 -1234以下每个选项都代表一个常量,其中不正确的实型常量是( )。 A)2.607E-1 B)0.8103e 2 C)-77.77 D)45.6e-25可用作用户标识符的一组标识符是( )。 A)void B)a3_b3 C)For D)2a define _xyz -abc DOWORD IF Case sigeof6下列标识符组中,合法的用户标识符为( )。A) PAd与p#dB) Scanf 与a10C) void与maxD) A*与temp7( )是C语言提供的合法的数据类型关键字。A)Float B)signed C)integer D)Char8以下选项中正确的常量是( )。A) 012B) -20C) 1,000D) 4 5 69现已定义整型变量int i=1;执行循环语句while(i+ +5);后,i的值为( )。A)1 B)5 C)6 D)以上三个答案均不正确10设变量a是整型,f是实型,i是双精度型,则表达式10+a+i*f值的数据类型为( )。A)int B)float C)double D)不确定11若有说明语句:char c=72;则变量c ( )。A)包含1个字符 B)包含2个字符C)包含3个字符 D)说明不合法,c的值不确定12设X、Y、Z都是int整型变量,且x=2, y=3, z=4,则下面的表达式中,值为0的表达式是( )。A) x&z B) (!y= =1)&(!z= = 0)C) (xc&b= =c&a|b+c&b+c的值为( )。A) 5 B) 8 C) 0 D) 117以下不正确的叙述是( C )。A)在C程序中,逗号运算的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变 D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值18以下结果为整型的表达式(设有int i; char c; float f;)是( )。 A)i+f B)i*c C)c+f D)i+c+f19设有逗号表达式(a=3*5,a*4),a+15,a的值为( )。A)60 B)30 C)15 D)90 20设Int n=3;则有表达式n+,n的结果是( )。A)2 B)3 C)4 D)51若在scanf函数语句中没有非格式字符作输入数据的间隔,则可用( ACD )。作为输入数据的间隔。A)空格 B)逗号 C)TAB D)回车2使用scanf函数时,在源程序开头( ABC )。A)书写#include stdio.h B)书写#include C)不必写#include D)书写#include scanf.h1 C语言规定标识符只能由字母、数字和小数点三种字符组成。2 C语言使字符型数据和整型数据之间可以通用。一个字符数据既可以以字符形式输出,也可以以整数形式输出。 4表达式3.5 + 1/2 + 56%10的计算结果是7.5 。5 由赋值运算符将一个变量和一个表达式连接起来的式子称为赋值表达式。 6设C语言中,一个int型数据在内存中占2个字节,则int数据的取值范围为-32768-32769。7在使用scanf函数之前应包含头文件math.h。8在scanf(%c%c,&c1,&c2)函数中,当输入为字符a,b时,将a赋给c1,将b赋给c2。9 scanf函数中,如果格式控制串中有普通字符则输入时也要输入该普通字符。10 假定变量x,y,z在说明时已赋初值,则 if (x=y+5)0) z=x; 是正确的11printf函数中的格式字符,既可以是大写形式,也可以是小写形式。12在printf函数中,格式字符%5c可用来输出5个字符。13在printf函数中,格式字符s的意义是:输出单个字符。14 在printf函数中,输出项可以是任意合法的表达式。15 算术运算符的优先级别高于关系运算符16 int a=0,b=1,c=2,x,y;,则!(x=a)&(y=b)&c的值为11若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后,x的值为( )。x%=(n%=2)2假设所有变量均为整型,则表达式(a=2,b=5,a+,b+,a+b)的值为【 9】。3若a是int型变量,则执行下面表达式后,a的值为【 】。a=25/3%34表达式1/3*3的计算结果是【 】。5若a是int型变量,则计算表达式后a的值为【 】。a=25/3%37在scanf函数中,【 】表示变量a的地址。8以下程序的运行结果是【 computer, com 】。main() printf(%s,%5.3s,computer,computer); 9在C语言中,表示逻辑真值用【 】10若a=6,b=4,c=2,则表达式!(a-b)+c-1&b/3+c/2的值是【 】11设a=-1,b=0,c=1,则表达式a|b+c&b=c的值是【 】12有int a=3,b=4,c=5,x,y;,则以下表达式的值为【 】!(x=a)&(y=b)&c基础四1以下符号中不能用作用户标识符的符号是( )。A)_256 B)voidC)scanf D)Struct2下面四个选项中,均是合法浮点数的选项是( )。A) +1e+1 B) -.60 C) 123e D) -e3 5e-9.4 12e-4 1.2e-.4 .8e-4 03e2 -8e5 +2e-1 5.e-03下面四个选项中,均是正确的八进制或十六进制数的选项是( )。A) -1a B)0abc C)0010 D)0a12 0x8f -017 0x11 -0x123 -011 0xc 0xf1 -0xa4以下选项中,为C语言合法的关键字是( )。 A)swicth B)cher C)Case D)default5C语言提供的合法的数据类型关键字是( )。 A)Double B)short C)integer D)Char6下列标识符组中,合法的用户标识符为( )。A)b-b与abc B)CCP与floatC)hiy与D) isw与INT7 属于合法的C 语言长整型常量的是( )。A)5876273 B)0L C)2E10 D)(Long)5876273若int类型数据占两个字节,下8列程序的输出结果是( )。main()int k=-1;printf(%d,%un,k,k);A)-1,-1 B)-1,32767 C)-1,32768 D)-1,6553510执行x=51+2&2|2*4=A&ch=A&ch=Z)?(ch+32):chA) A B) a C) Z D) z13以下的变量定义中,合法的是( )。 A)float 3_four = 3.4 ; B)int _abc_= 2 ; C)double a = 1 + 4e2.0 D)short do =15;14若有int k = 11;则表达式(k+ * 1/3)的值是( )。 A)0 B)3 C)11 D)1215逻辑运算符两侧运算对象的数据类型是 ( )。A) 只是0或1 B)只能是0或非0正数C) 只能是整型或字符型数据 D) 可以是任何类型数据16下列表达式的值,那一个等于0 ( )。A) 5%6 B) 5/6 C) 5/6.0 D) 5 - 617以下正确的叙述是( )。A)在C程序中,每行只能写一条语句B)若 a 是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符19如果a=1,b=2,c=3,d=4,则条件表达式ab?a:c= .7在使用scanf函数之前可以不包含头文件stdio.h。8在scanf(%4d,&i)函数中,输入123456789,只把123456赋予变量i 。9a=b=c=d=10;是一个合法的赋值语句。10C语言的格式输出函数是scanf().12使用printf函数时,格式控制字符串和各输出项应一一对应。13在printf函数中,格式字符f的意义是:以小数形式输出单精度实数。14在printf函数中,转义字符b的作用是退格。15算术运算符的优先级别高于逻辑运算符16int a=1,b=0,c=1;,则!(a+b)+c-0&b+c/2的值为12已知字母a的ASCII码的十进制代码为97,且设ch为字符型变量,则表达式ch=a+8-3的值为【 】。3若s是int型变量,且s=6,则下面表达式的值为【 】。s%2+(s+1)%24表达式1.0/2*3的计算结果是【 】。5当a=3,b=2,c=1时,表达式f=abc的值是【 】.6getchar函数是【 】函数。7赋值语句是由赋值表达式加上【 】构成的。8在TC中,printf()函数输出表列的求值顺序是【 】。9设y为int型变量,请写出描述y是奇数的表达式【 】10若a=2,b=4,则表达式!(x=a)| (y=b)&0的值是【 】11条件0x3或x5) printf(%dn,m);else printf(%dn,m-);A)7 B)6 C)5 D)42以下程序的输出结果为( ) # include main ( ) int i=0, j=0, a=6; if (+i0)&(+j0) a+; printf (i=%d, j=%d, a=%dn, i,j,a); A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=73有如下程序main() int a=2,b=-1,c=2; if(ab) if(b12 ? x+10:x-12; printf(%dn, y);A) 0 B) 22 C) 12 D) 106以下程序的输出结果是( )main() int i=0, j=0, k=6; if (+i0)|(+j0) k+; printf(%d, %d, %dn, i, j, k);A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 77若变量都已正确说明,则以下程序段输出为( ) int a=1,b=2,c=3; if(ab) a=b; b=c; c=a; printf(a=%d b=%d c=%dn,a,b,c);A)a=1 b=2 c=1 B)a=1 b=2 c=3C)a=1 b=3 c=1 D)a=2 b=3 c=29以下不正确的语句为( )A)if(xy);B)if(x=y)&(x!=0)x+=y;C)if(x!=y)scanf(%d,&x);else scanf(%d,&y);D)if(xy)x+;y+;11若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是( )A) switch(a+b); B) switch(a*a+b*b) case 1:y=a+b; break; case 3: case 0:y=a-b; break; case 1:y=a+b;break; case 3:y=b-a,break; C) switch a D) switch(a-b) case 1 :y=a-b; break case 2: x=a*d; break case c1:case 4:x=a+b;break; default:x=a+b; case c2:case 11:y=a-b;break; default:y=a*b;break; 12写出下面程序输出结果( ) int x=1, y=0, a=0, b=0; switch(x) case 1: switch(y) case 0: a+; case 1: b+; case 2: a+; b+; printf(a=%d, b=%dn, a, b) ;A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=215以下程序段( )。x=-1;do x=x*x;while(!x)A) 是死循环 B) 循环执行2次 C) 循环执行一次 D) 有语法错误16如下的数组中,数组array占用的内存空间是( )个字节。 char array=c,h,i,n,a; A. 1 B. 5 C. 6 D. 不确定 17设有程序段int k=10;while(k=0) k=k-1;则下面描述正确的是( )。A) while 循环执行10次B) 循环是无限循环C) 循环体语句一次也不执行D) 循环体语句执行一次18下列程序段的运行结果是( ) int n=0; while(n+3); printf(%d,n) A. 2 B. 3 C. 4 D. 以上都不对20下面程序的运行结果是( )。#include main() int y=10; do y-; while(-y); printf(%dn,y-);A) -1 B) 1 C) 8 D) 0 21以下程序段的输出结果是( ). main() int i=5; for ( ;i+y;x=i+) i=x;B) for( ; ;x+=i);C) while(1)x+;D) for(i=10; ; i-) sum+=i;23有如下语句 int x=3; do printf(%dn,x-=2); while(!(-x); 则上面程序段( ) A. 输出的是1 B. 输出的是1和-2 C. 输出的是3和0 D. 是死循环24以下不是无限循环的是( ) A. for(y=0,x=1;x+y;x=i+) i=x; B. for( ; ;x+=i); C. while(1) x+; D. for(i=10; ;i-) s+=i;25以下正确的描述是( )。A) continue语句的作用是结束整个循环的执行B) 只能在循环体内和switch语句内使用break语句C) 在循环体内使用break语句或continue语句的作用相同D) 从多层循环嵌套中退出时,只能使用goto语句26以下程序输出结果为( ) #include stdio.h main() int i,b,k=0; for(i=1;i=0) k+; printf(%d,%dn,k,b); A. 3,-1 B. 8,-1 C. 3,0 D. 8,-227以下程序段中循环体总的执行次数是( )int i,j;for(i=7;i;i-) for(j=0;jy)z=x;x=y;y=z;以上语句执行后x ,y,z的值是( )。A)x=10,y=20,z=30B)x=20,y=30,z=30C)x=20,y=30,z=10D)x=20,y=30,z=2030若用户输入为12345 abc,下列程序的输出结果是( )。 void main() int a;char ch; scanf(“%3d%3c”,&a,&ch); printf(“%d,%c”,a,ch); A) 123,abc B)123,4 C)123,a D)12345,abc31以下程序片段,结果为( )。void main ( ) int x=0,y=1,z=0;if (x=y+z) printf(“*”);else printf(“#”); A)有语法错误,不能通过编译 B)输出:* C)可以编译,但不能通过连接,所以不能运行 D)输出:#2switch语句中一定有default分支3case后只能跟常量,不能跟变量10for(i=0,j=10;i=j;i+,j-) k=i+j;执行完后,k的值为50。执行语句:for(i=1;i+4;+i);后;变量i的值是5。2以下程序的运行结果是【 】main()int x,y,z; x=1;y=2;z=3; x=y-=x|x+y!=z; printf(%d,%d,x,y);3以下程序的运行结果是【 】main()int x,y,z;x=1;y=1;z=0;x=x|y&z;printf(%d,%d,x,x&!y|z);8执行下面的程序段后,k值是【】。k=1; n=263;do k*=n%10; n/=10; while(n);9等差数列的第一项a=2,公差d=3,下面程序的功能是在前n项和中,输出能被4整除的所有的和。请填空。#include main() int a,d,sum; a=2;d=3;sum=0; do sum+=a; a+=d; if (【】) printf(%dn,sum); while(sum200);10鸡兔共有30只,脚共有90个,下面程序段是计算鸡兔各有多少只,请填空。for(x=1;x=29;x+) y=30-x; if (【】) printf(%d,%dn,x,y);12下列程序的输出为【】。 C语言(分支和循环结构)二以下程序的输出结果是( )main( ) int a=-1,b=1,k; if(+a0)&!(b-=0) printf(%d %dn,a,b); else printf(%d %dn,b,a);A) -1 1 B) 0 1 C) 1 0 D) 0 0若执行以下程序时从键盘上输入9,则输出结果是( )main() int n; scanf(%d,&n); if(n+10) printf(%dn,n); else printf(%dn,n-);A) 11 B) 10 C) 9 D) 8若i为int型,且有程序如下,则输出结果是( ) i=111;if(i%3=0); printf(#); printf(*);A) # B) * C) #* D) 无输出结果请读下面程序:main()int x=1, y=2, z=3; x+=y+=z; printf(%dt, xy ? y : x); printf(%dt, xy ? x+:y+);程序输出结果为( )A) 5 4 B) 4 5 C) 5 6 D) 6 5若变量都已正确说明,则以下程序段输出为( )int a=1,b=2,c,d;if (a=b) c=d=a;else c=b;d=b;printf(%d,%d,c,d);A)c=1,d=1 B)c=1,d=2C)c=2,d=1 D)c=2,d=2若w、x、y、z、m均为int型变量,则执行下面语句后的m值是( )w=1;x=2;y=3; z=4;m=(wx)?w:x;m=(my)?m:y;m=(m=85); case B: case C: printf(=60); case D: printf(=85 B) =60 C) =60 D) error. 60 error.选择出i的正确结果( )int i=10;switch(i) case 9: i+; case 10: i+=1; case 11:i+; default: i+=1;A) 10 B) 11 C) 12 D) 13以下程序的输出结果是( )。#include main() int num=0; while(num=2) num+; printf(%dn,num);A) 1 B) 1 C) 1 D) 1 2 2 2 3 3 4 以下程序的输出为( ) # include main( ) int y=10; while (y-); printf (y=%dn, y); A. y=0 B. 无限循环,无结果输出 C. y=1 D. y=-1( )可以作为变量名。A)2days B)henan luoyang C)_X23ia_ D)Li-Ping( )会让光标移动到下一行行首。A)printf(n);B)printf(n);C)printf(%d);D)printf(Hello World); 21%3的值是(
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 考试试卷


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!