《c语言程序设计习题大全.pdf》由会员分享,可在线阅读,更多相关《c语言程序设计习题大全.pdf(122页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、C 语言基础一:1.下列四组选项中,均不是C 语言关健字的选项是(A)oA)defineB)gectC)includeD)whileIFcharscanfgotypeprintfcasepow2.下面四个选项中,均是合法整型常量的选项是(A)。A)160B)-OxcdfC)-01D)-0 x48a-OxffffOla986,0122e5OilOxe0668Ox 0 2 B 23.下面四个选项中,均是不合法的转义符的选项是(B)。A)C)o irD)abc1VMOI,Af4.下面不正确的字符串常量是(A)。A)abcC)0D)”5.以下选项中不合法的用户标识符是(A)。A)abc.c B)fil
2、e C)Main D)PRINT6.C 语言提供的合法关键字是(D)。A)swithB)cherC)Case).Default7.下列标识符组中,合法的用户标识符为AA)_0123 与 ssipedB)del-word 与 signedC)list 与*jerD)keep%与 wind8.在C 语言中,逻辑值“真”的表示是用(C)。A)true B)整型值0 C)非另整型值 D)T9若有以下定义char s=,092;则该语句(B)A)使s的值包含一个字符 B)定义不合法,s的值不确定C)使s的值包含4个字符 D)使s的值包含3个字符10设C语言中,int类型数据占2个字节,则float类型数
3、据占(D)个字节。A)1 B)2 C)8 D)411已知字母A的A SC II码为十进制数65,且C2为字符型,则执行语句c2=A+6-3后,c2中的值为(A)。A)D B)68。不确定的值 D)C12逻辑运算符两侧运算对象的数据类型是(D)。A)只是0或1 B)只能是0或非0正数C)只能是整型或字符型数据 D)可以是任何合法的类型数据13TURBOC中int类型变量所占字节数是(B)。A)1 B)2 C)3 D)414在C语言中,char型数据在内存中的存储形式是(D)。A)补码 B)反码 C)原码 D)ASCII码15若有以下定义,则能使值为3的表达式是(D)。int k=7,x=12;A
4、)x%=(k%=5)B)x%=(k-k%5)C)x%=k-k%5 D)(x%=k)-(k%=5)16判断char型变量c l是否为小写字母的正确表达式为(D)。A),a,=cl=A.&(cl=cDII(zv=cD D)(cl=a,)&(cl b c的值是【0】1 0 设 x,y,z 均 为 i n t 型 变 量,请 写 出 描 述”x,y 中有 一 个 为 负 数”的表达式 x=0lly=0 11若 a=6,b=4,c=3,则 表 达 式 a&bllb-c的值是【1】12 设 x=3,y=-4,z=5,贝 U 表达式!(xy)+(y!=z)ll(x+y)&(y=z)的值是 1 基础二1下面四
5、个选项中,均是非法常量的选项是(A),A)asB)VC)-0 xl8D)0 xabc-Offfor0117700a12,456OxfHan2 下面四个选项中,均是不合法整型常量的选项是(D)o3 下面正确的字符常量是(C)。A)-0flB)-0 xcdfC)-018D)-0 x48eg-Oxffff017999-068001112,4565e203fA)”c B)W C)W D),4 以下每个选项都代表一个常量,其中正确的整型常量是(B)。A)1.2 B)-20 C)l,000 D)4 5 65 以下选项中不合法的用户标识符是(C)。A)23 B)Printf C)A$D)Dim6 在下列C
6、语言程序中,可以用做变量名的是(B)oA)1B)alC)intD)*p7 c 语言提供的合法数据关键字是(A)oA)floatB)SagnedC)IntegerD)Char8 以下符号中不能用作用户标识符的符号是(B)。A)_256 B)voidC)scanf D)Struct9 若 k 为 int型变量,则以下语句(Ck=8567;printf(l%-06dln,k);A)输出格式描述不合法B)输出为 10085671C)输出为185671D)输出为 1-08567110sizeof(float)(B)A)一个双精度表达式B)一个整型表达式。一种函数调用D)一个不合法的表达式11在 C 语言
7、中,int、char和 short三种类型数据在内存中所占用的字节数(D)。A)由用户自己定义B)均为2 个字节C)是任意的D)由所用机器的机器字长决定12判断char型变量c l 是否为小写字母的正确表达式为(D)。A)a=cl=A.&(cl=c 1)11(2=a)&(cl=z)13以下叙述中正确的是(B)。A.a 是实型变量,C 语言允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型值B.在赚值表达式中,赋值号右边即可以是变量也可以是任意表达式C.执行表达式a=b后,在内存中a 和 b 存储单元中的原有值都将被改变,a 的值已由原值改变为 b 的值,b 的值由原值变为0D.已
8、有a=3,b=5当执行了表达式a=b,b=a之后,已使a 中的值为5,b中的值为314表达式18/4*sqrt(4.0)/8值的数据类型为(C)。A)int B)float C)double D)不确定15下列运算符中,不属于关系运算符的是(C)。A)=C)!D)!=16若希望当A 的值为奇数时,表达式的值为真,A 的值为偶数时,表达式的值为假,则以下不能满足要求的表达式是(C)。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=l,42,y=5.2;则以下符合C 语言语
9、法的表达式是(A)。A)a+=a-=(b=4)*(a=3)B)a=a*3=2C)x%(-3)D)y=float(i)1 8 若变量已正确定义并赋值,下面符合C 语言语法的表达式是(B)。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设 Intn=3;则 n+的 结 果 是(B)。A)2 B)3 C)4 D)51用小数或指数形式输入实数时,在 scanf函数语句里格式字符为(BCD)。A)iB)fC)eD)g2 可 以 使 用(CD)输入字符型数据。A
10、)putchar(c);B)getchar(c);C)getcharQ;D)scanf(%c,&c);IC 语言中数据有常量与变量之分。2-一般一个字符变量在内存中占一个字节。3 c 语言规定,可以在定义变量时,同时使变量初始化。4 把 k l、k2定义成基本整型变量,并赋初值0 的定义语句是intkl=k2=0;。错5 如果i 的原值为3,则:j=+i,j 的值为3。错6 凡是表达式都有一个值。7 输入语句的格式为:5。2旗 4%4%(1国力;是正确的。错8 在 scanf(%d,%*d,%d,&a,&b)函数中,当输入为1,2,3 时,将 1赋给a,将 2 赋给b。错9getchar函数的
11、功能是接收从键盘输入的一个整数。错10假定变量a,b,c在说明时己赋初值,则 if(a=b;)0)c=a;是正确的。错1112printf函数是一个标准库函数,它的函数原型在头文件“string.h”中。错13在 printf函数中,格式字符d 的意义是:以十进制形式输出带符号整数。1 4 在 printf函数中,输出表列的各输出项之间可用冒号分隔。错15若 int x=3;printf(%d,&x);则系统不会报错,会输出x 的地址。16int a=0,b=l,c=2;则表达式 allb+c&b=c 的值为 01若有以下定义:charc=、01(y;则变量C 中包含的字符个数为(1 )。2若
12、 有 以 下 定 义:int x=3,y=2;float a=2.5,b=3.5;则 下 面 表 达 式 的 值 为【1】。(x+y)%2+(int)a/(int)b3 若 a 是 int型变量、且 a 的初值为6,则执行下面表达式后,a 的值为【6 0】。a+=a-=a*a4 若 x 是 int型变量,则执行下面表达式后,x 的值为1 4 L x=a=4,6*25 若 a 是 int型变量,且 a 的初值为6,则计算表达式后a 的值为【60 1 a+=a-=a*a6scanf函数的地址表列中给出各变量的地址,地址是由【地址运算符&)后跟变量名组成的。7 使用getchar函数接收字符,若输入
13、多于一个字符时,只接收第【】个字符。8 c 语言的格式输出函数是【printf()9 当 a=5,b=4,c=2!H,表达式a b!=c的值是【1】10 已知 A=7.5,B=2,C=3.6,表达式 AB&CA II AB 的值是【0】11若 a=3,b=2,c=l,则表达式a-bcllb=c的值是【0】12有 inta=0,b=4,c=5;则表达式allb+c&b!=c的值为【1】基础三1下面四个选项中,均是不合法的用户标识符的选项是(C)。A)AB)floatC)b-aD)_123P-0laogototempdo_AintINT2 下面四个选项中,均是不合法浮点数的选项是(B)oA)160
14、.B)123C)-018 D)-e30.122e4.2123e4.234e3.e50.0le33 下面四个选项中,均是不正确的八进制或十六进制数的选项是(A)016B)0abcC)010D)0al2Ox8f017-0 x117ff018Oxa0 x16-1234 以下每个选项都代表一个常量,其中不正确的实型常量是(BA)2.607E-lB)0.8103e2 Q-77.77D)45.6e-25 可用作用户标识符的一组标识符是(B)。A)voidB)a3_b3C)ForD)2adefine_xyz-abcDOWORDIFCasesigeof6 下列标识符组中,合法的用户标识符为(B)。A)PAd
15、与 p#dB)Scanf 与 alOC)void 与 maxD)A*与 temp7(B)是 C 语言提供的合法的数据类型关键字。A)Float B)signed C)integer D)Char8 以下选项中正确的常量是(B)。A)012B)-20C)1,000D)4 5 69 现已定义整型变量int i=l;执行循环语句while(i+5);后,i 的值为(B)。A)1 B)5 C)6 D)以上三个答案均不正确10设变量a 是整型,f 是实型,i 是双精度型,则表达式10+a,+i*f值的数据类型为(C)。A)int B)float C)double D)不确定11若有说明语句:charc=
16、、72;则变量c(C)。A)包 含 1 个字符 B)包含 2 个字符C)包含3 个字符 D)说明不合法,c 的值不确定12设 X、Y、Z 都是int整型变量,且 x=2,y=3,z=4,则下面的表达式中,值为0 的表达式是(A)(.A)x&z B)(!y=l)&(!z=0)C)(xc&b=c&allb+c&b+c 的值为(D)。A)5 B)8 C)0 D)116在 C 语言中,逻辑值“真”的表示是用(D)。A)true B)整型值0 C)非另整型值 D)T17以下不正确的叙述是(C)。A)在 C 程序中,逗号运算的优先级最低B)在 C 程序中,APH和 aph是两个不同的变量C)若 a 和 b
17、 类型相同,在计算了赋值表达式a=b后 b 中的值将放入a 中,而 b 中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值18以下结果为整型的表达式(设有inti;chare;float f;)是(D)。A)i+f B)i*c C)c+f D)i+c+f19设有逗号表达式(a=3*5,a*4),a+15,a 的值为(B)。A)60 B)30 C)15 D)9020设 Intn=3;则有表达式n+,n 的结果是(C)。A)2 B)3 C)4 D)51若在scanf函数语句中没有非格式字符作输入数据的间隔,则可用(ACD)。作为输入数据的间隔。A)空格 B
18、)逗号 C)TAB D)回车2 使用scanf函数时,在源程序开头(ABC)。A)书写#include stdio.h B)书写#include C)不必写#include D)书写#include scanf.hIC 语言规定标识符只能由字母、数字和小数点三种字符组成。2 C 语言使字符型数据和整型数据之间可以通用。一个字符数据既可以以字符形式输出,也可以以整数形式输出。对3 C 语言中定义了一个变量,代表内存中的一个地址。对4 表达式3.5+1/2+56%10的计算结果是7.5.5 由赋值运算符将一个变量和一个表达式连接起来的式子称为“赋值表达式”。对6 设 C 语言中,一个int型数据在
19、内存中占2 个字节,则 int数据的取值范围为-32768-32769。7 在使用scanf函数之前应包含头文件math.h。8 scanf(%c%c,&cl,&c2)8 ,当输入为字符 a,b 时,将 a 赋给 c l,将 b 赋给 c2。9 scanf函数中,如果格式控制串中有普通字符则输入时也要输入该普通字符。10 假定变量x,y,z在说明时已赋初值,则 if(x=y+5)0)z=x;是正确的llprintf函数中的格式字符,既可以是大写形式,也可以是小写形式。12在 printf函数中,格式字符 5c可用来输出5 个字符。13在 printf函数中,格式字符s 的意义是:输出单个字符。
20、14 在 printf函数中,输出项可以是任意合法的表达式。15 算术运算符的优先级别高于关系运算符16 int a=0,b=l,c=2.x,y:,则!(x=a)&(y=b)&c 的值为 11若 x 和 n 均 是 int型变量,且 x 的初值为12,n的初值为5,则执行下面表达式后,x 的值为(0)。x%=(n%=2)2 假设所有变量均为整型,则表达式(a=2,b=5,a+,b+,a+b)的值为【9】。3 若 a 是 int型变量,则执行下面表达式后,a 的值为【2 L a=25/3%34 表达式1/3*3的计算结果是【05 若 a 是 int型变量,则计算表达式后a 的值为【2 。a=25
21、/3%36 在输入字符数据时,若”格式控制字符串”中没有非格式字符,则认为所有输入的字符均为 有效】字符。7 在 scant函数中,&a 表示变量a 的地址。8 以下程序的运行结果是【computer,com 工main()printf(%s,%5.3s,computer,computer);9 在 C 语言中,表示逻辑 真 值用【非 零 数】10 若 a=6,b=4,c=2,则表达式!(a-b)+c-l&b/3+c/2 的值是【1 111设 a=-l,b=0,c=l,则表达式allb+c&b=c的值是【1】12有 inta=3,b=4,c=5,x,y;,则以下表达式的值为【0】!(x=a)&
22、(y=b)&c基础四1 以下符号中不能用作用户标识符的符号是()。2 下面四个选项中,均是合法浮点数的选项是(A)_256B)voidC)scanfD)Struct)。A)+le+lB)-.60C)123eD)-e35e-9.412e-41.2e-.4.8e-403e2-8e5+2e-l5.e-03 下面四个选项中,均是正确的八进制或十六进制数的选项是()。A)-laB)0abcC)0010D)0al20 x8f-0170 x11-0 x123-OilOxcOxfl-Oxa4 以下选项中,为 C 语言合法的关键字是()。A)swicthB)cherC)CaseD)default5C语言提供的合
23、法的数据类型关键字是()。A)DoubleB)shortC)integerD)Char6 下列标识符组中,合法的用户标识符为()。A)b-b 与 abcB)CCP 与 floatC)hiy 与D)isw 与 INT7 属于合法的C 语言长整型常量的是()。A)5876273 B)0L C)2E10 D)(Long)5876273 若 int 类型数据占两个字节,下8 列程序的输出结果是(main()(int k=-l;printf(%d,%un,k,k);)A)-l,-1 B)-l,32767 C)-l,32768 D)-l,655359 设已定义x 为 double类型变量x=213.826
24、31;printf(%-6.2en,x);则以上语句()。A)输出格式描述符的域宽不够,不能输出C)输出为 2.14e+02B)输出为 21.38e+01D)输出为-2 4e210 执行 X=51+2&2II2*4=A&chv=Z)?ch:(ch+32)贝 IJ表达式 的 值 是()A)A B)a C)2 D)z12设 ch是 char型变量,其值为Z,且有下面的表达式,其值为()。ch=(ch=A,&ch=,Z)?(ch+32):chA)A B)a C)Z D)z13以下的变量定义中,合法的是()oA)float 3_four=3.4;B)int _abc_=2;Qdouble a=1 +4
25、e2.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 程序中,是只能用于整数
26、运算的运算符18以下不正确的语句(设有in tp,q)是()。A)p*=3;B)p/=q;C)p+=3;D)p&=q;19 如果 a=l,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在 pri
27、ntf函数中,转义字符b 的作用是退格。15算术运算符的优先级别高于逻辑运算符16inta=l,b=0,c=l;,则!(a+b)+c-0&b+c/2 的值为 11经过下述赋值后,变 量 x 的数据类型是()。int x=2;double y;y=(int)(float)x;2 已知字母a 的 ASCH码的十进制代码为9 7,且设ch为字符型变量,则表达式ch=+8-3的值为【3 若 s 是 int型变量,且 s=6,则下面表达式的值为【s%2+(s+l)%24 表达式1.0/2*3的计算结果是【5 当 a=3,b=2,c=l时,表达式f=abc的值是【】.6getchar函数是1】函数。7赋值
28、语句是由赋值表达式加上【】构成的。8在T C中,printf()函数输出表列的求值顺序是【9设y为in t型变量,请写出描述“y是奇数”的表达式【】10若a=2,b=4,则表达式!(x=a(尸b)&0的值是【】11条件0 x3或x-3”的c语言表达式是【】12有inta=3,b=4,c=5;,则 以F表达式的值为【】!(a+b)+c-1&b+c/2基础五1C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。A)必须为大写B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中的任一种字符2下面四个选项,均是合法转义字符的选项是()。5在C语言中,下列哪个字符为合
29、法的字符常量(A)VB)A,C)018D)0MW017Morn,xab1(xlf3下面四个选项中,均是正确的数值常量或字符常量的选项是(A)0.0B)anC)3D)+001Of3.9E-2.5OilOxabcd8.9eleiOxFFOO2e20a504以下符号中不能用作用户标识符的是()。A)IFB)S witchC)getsD)case)。A)084zB)x43C)abD),06 下列四个选项中,均是C 语言关健字的选项是()oA)autoB)switchC)signedD)ifenumtypedefunionstructincludecontinuescanftype7 不合法的常量是()
30、。A)、2,B)H C)nD)、483”8 若 a 为整型变量,则以下语句()oa=-2L;printf(M%dn,a);A)赋值不合法 B)输出值为2 C)输出为不确定值 D)输出值为29 已定义x 为 float型变量x=213.82631;printf(u%-4.2fnH,x);则以上语句A)输出格式描述符的域宽不够,不能输出 B)输出为213.83C)输出为213.82 D)输出为-213.8210用 getchar函数可以从键盘读入一个()A)整型变量表达式值 B)实型变量值C)字符串 D)字符或字符型变量值11 已知 int x,y,z;执行语句 x=(y=(z=10)+5)5;后
31、 x、y z 的值是()。A)x=10 B)x=10 C)x=10 D)x=10y=15 y=10 y=10 y=5z=10 z=10 z=15 z=101 2 设 a 为整型变量,初值为12,执行完语句a+=a-=a*a后,a 的 值 是()。A)552 B)144 C)264 D)-26413设 x 为 int型变量,则执行以下语句段后,x 的值为()。A)10B)20C)40D)30 x=1 0 ;X +=X -=X -X;1 4 若有定义,i nt a=7;float x=2.5,y=4.7;则表达式 x+a%3*(i nt)(x+y)%2/4 的值是()。A)2.5 0 0 0 0
32、0 B)2.7 5 0 0 0 0 C)3.5 0 0 0 0 0 D)0.0 0 0 0 0 01 5下列运算符中优先级最高的是()oA)B)+C)&D)!=1 6设以下变量均为i nt类型,则值不等于7的表达式是()oA)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1 ,y=6,x+y)D)(y=6,y+1 ,x=y,x+1)1 7以下符合C语言语法的,赋值表达式是()。A)d=9+e+f=d+9B)d=9+e,f=d+9C)d=9+e,e+,d+9D)d=9+e+=d+71 8以下使i的运算结果为4的表达式是()。A)i nt i=0,j=0;(i=
33、3,(j+)+i);B)i nti=L j=0;j=i=(i=3)*2);C)i nt i=0,j=l;(j=l)?(i=l):(i=3);D)i nti=l,j=l;i+=j+=2;1 9设I ntn=3:则+n的结果是()。A)2 B)3 C)4 D)52 0设I ntn=2;则有表达式+n+l=4,n的结果是()。A)1 B)2 C)3 D)41下列能正确输入字符数组a的语句是()A)scanf(%s,a);B)scanf(%s,&a);C)scanf(%c,a);D)循环执行 scanf(%c,&a i );2在输入时,字符变量的值不用空格间隔,其输入函数可为()。A)scanf(%c
34、%c%c,&a,&b,&c);B)scanf(%c%c%c,&a,&b,&c);C)scanf(%3c,&a,&b,&c);D)循环执行 getchar()IC 的字符常量是用双引号括起来的一个字符。2 字符串常量是一对单引号括起来的字符序列。3 设 C 语言中,一 个 in t型数据在内存中占2 个字节,则 in t型数据的取值范围为-3276832767。4 在 C 语言中的实型变量分为两种类型,它们是float和 doubleo5 若有以下定义:int a=2,b=3;floatx=3.5,y=2.5;则下面表达式的值为3.500000。(float)(a+b)/2+(int)x%(in
35、t)y6 输入语句的格式为:scanf(%d,%d,%d,&a;&b;&c);是正确的。7getchar()函数得到的字符可以不赋给任何变量,而作为表达式的一部分。8scanf函数中无精度控制。9a+=a=2;是一个合法的赋值语句,赋值后a 的值为:2。10在 T C 中,printf()函数输出表列的求值顺序是从右到左。11在 printf函数中,ld”表示按十进制正整数输出。12printf是 C 语言的输出语句。13在 printf函数中,格式字符c 的意义是:输出单个字符。14在 printf函数中,不能使用转义字符。15关系运算符的优先级别高于逻辑运算符16c语言中没有逻辑型数据1
36、表达式 8/4*(int)2.5/(int(125*(3.7+2.3)值的数据类型为()。2 若 x、i、j 和 k 都是int型变量,则计算下面表达式后,x 的值为【x=(i=4,j=16,k=32)3 若 a 是 int型变量,则下面表达式的值为 (a=4*5,a*2),a+64 若 k 为 in t整型变量且赋值7,x 为 double型变量且赋值8.4,赋值表达式x=k 的运算结果 是【L5 若 a=l,b=4,c=3,则表 达 式!(ab)ll!c&1 的值是).6 使用getchar函数前必须包含头文件【】。7 在变量说明中给同类变量赋初值时,各变量之间用【】隔开。8 以下程序的运
37、行结果是 main()int i=5;printf(%d,%dn,+i,i+);9设x,y,z均为int型变量,请写出描述”x或y中有一个小于z”的表达式【10 若 a=l,b=4,c=3,则 表 达 式!(ab)ll!c&l 的值是 11 有 int x,y,z;且 x=3,y=-4,z=5,则表达式(x&y)=(xllz)的值为12若a=l,b=2,则表达式a5)printf(dn”,m);else pri ntf(0%dn n,m);A)7 B)6 C)5 D)42以下程序的输出结果为()#include main()int i=0,j=0,a=6;if(+i0)&(+j0)a+;pri
38、ntf(ni=%dj=%d,a=%dn;i,j,a);A)i=O,j=O,a=6 B)i=l,j=l,a=7C)i=l,j=O,a=7 D)i=O J=l,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=05 j=0,k=6;if(+i0)ll(+j0)k+;printf(H%d,%d,%dn,i,j,k);)A)0,0,6 B)1,0,7 C)1,1,7 D)0,1,77 若变量都已正确说明,则以下程序段输出为(
39、)int a=l,b=2,c=3;if(ab)a=b;b=c;c=a;printf(a=%d b=%d c=%dnn,a,b,c);A)a=l b=2 c=l B)a=l b=2 c=3C)a=l b=3 c=l D)a=2 b=3 c=28 当 a=l,b=3,c=5,d=4时,执行完下面一段程序后x 的值是()if(ab)if(cd)x=l;elseif(ac)if(by);B)if(x=y)&(x!=O)x+=y;C)if(x!=y)scanf(n%du,&x);else scanf(%du,&y);D)if(xvy)x+;y+;10有以下程序:#includeHstdio.hnmain
40、()char i;for(;(i=getchar()!=n;)switch(i-*af)case 0:putchar(i);case 1:putchar(i+l);break;case 2:putchar(i+2);case 3:break;default:putchar(i);break;)printf)输入下列数据后,程序的输出结果是()abcdeA)abcde B)abceeC)abbde D)abccdd11若 a、b、cl c2 x、y 均是整型变量,正确的switch语句是()A)switch(a+b);case l:y=a+b;break;case 0:y=a-b;break;)
41、C)switch a case 1 :y=a-b;breakcase 2:x=a*d;breakdefault:x=a+b;)12写出下面程序输出结果()int x=l,y=0,a=0,b=0;switch(x)case 1:B)switch(a*a+b*b)case 3:case l:y=a+b;break;case 3:y=b-a,break;)D)switch(a-b)(case cLease 4:x=a+b;break;case c2:case 1 l:y=a-b;break;default:y=a*b;break;)swi tch(y)case 0:a+;case 1:b+;case
42、 2:a+;b+;pri ntf(na=%d,b=%d nH,a,b);)A)a=2,b=l B)a=l,b=l C)a=l,b=0 D)a=2,b=21 3 c语言的for语句中的表达式可以部分或全部省略,但两个()不可省略。但当三个表达式均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。A)B)+C);D),1 4下面有关for循环的正确描述是()。A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判定表达式C)在for循环中,不能用b r eak语句跳出循环体D)for循环体语句中,可以包含多条语句,但要用花括号括起来1 5以下程序段()。x=-
43、l;d o x=x*x;w hile(!x)A)是死循环 B)循环执行2次 C)循环执行一次 D)有语法错误1 6如下的数组中,数组ar r ay占用的内存空间是()个字节。c har ar r ay =c ,h,iV n,;a);A.1 B.5 C.6 D,不确定1 7设有程序段int k=10;w hile(k=0)k=k-1;则下面描述正确的是()。A)w h i l e循环执行1 0次C)循环体语句一次也不执行1 8下列程序段的运行结果是()int n=0;w hile(n+3);pr int f(%d n)A.2 B.3 C.41 9设有程序段t=0;w hile(pr int f(
44、M*H);t+;if(t 3)b r eak;下面描述正确的是()oA)其中循环控制表达式与0等价C)其中循环控制表达式是不合法的2 0下面程序的运行结果是()。#inc lu d e main()int y=10;d o y;w hile(y);pr int f(M%d n,y);B)循环是无限循环D)循环体语句执行一次D.以上都不对B)其中循环控制表达式与。等价D)以上说法都不对A)-1 B)1 C)8 D)02 1以下程序段的输出结果是().main()int i=5;for (;i+y;x=i+)i=x;B)for(;x+=i);C)w hile x+;D)for(i=10;i)s u
45、 m+=i;2 3有如下语句int x=3;d o pr int f(M%d nn,x-=2);w hile(!(-x);则上面程序段()A.输出的是1B.输出的是1和-2C.输出的是3和0D.是死循环2 4以下不是无限循环的是()A.for(y=0,x=1;x +y;x=i+)i=x;B.for(;x+=i);C.w hile(l)x+;D.for(i=10;i)s+=i;2 5以下正确的描述是()。A)c ont inu e语句的作用是结束整个循环的执行B)只能在循环体内和s w it c h语句内使用b r eak语句C)在循环体内使用b r eak语句或c onlinu e语句的作用相
46、同D)从多层循环嵌套中退出时,只能使用got。语句2 6以下程序输出结果为()#inc lu d e s t d io.h”main()int i,b,k=0;for(i=l;i=0)k+;printf(%d,%dnk,b);)A.3,-1 B.8,-1 C.3,0 D.8,-22 7 以下程序段中循环体总的执行次数是()int i,j;for(i=7;i;i)for(j=0;j6;j+)A)42 B)21 C)13 D)362 8 以下不正确的描述是()A.break语句不能用于循环语句和switch语句外的任何其他语句B.在 switch语句中使用break语句或continue语句的作用
47、相同C.在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行D.在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环lelse语句总是和靠它最近的if匹配。2switch语句中一定有default分支3case后只能跟常量,不能跟变量4break语句的作用就是结束本层循环。5do-while语句构成的循环不能用其它语句构成的循环来代替。6 用 do-while语句构成循环时,只要while后的表达式为0 时就结束循环。7for(表达式1;表达式2;表达式3)中,表达式1和表达式3 不能同时都是逗号表达式。8for循环中,如果表达式2 为空,则该循环一定
48、是死循环。9while循环的while。后没有分号,而do-while循环的while。后一定要有个分号。10for(i=0,j=10;i=j;i+,j-)k=i+j;执行完后,k 的值为 50。1若 a、b 均为int型变量,且 a=100,则以下的for循环是死循环.for(b=100;a!=b;+a,b+)printf(一 一 n);执行语句:for(i=l;i+4;+i);后;变量i 的值是5。2 以下程序的运行结果是【】main()int x,y,z;x=l;y=2;z=3;x=y O)s=a+b;if(a0)if(cO)w=a-b;else t=c;printf(,%d,%d,%d
49、n,s,w,t);)5阅读下面程序:main()int s,t,a,b;scanf(n%d%dn,&a,&b);s=l;t=l;if(a0)s=s+l;if(ab)t=s+t;else if(a=b)t=5;else t=2*s;printf(s=%d,t=%d,s,t);)6 为了使输出结果t=4,输入量a 和 b 应满足的条件是【】7 下面程序的功能是在输入的一批整数中求出最大者,输入0 结束循环。#include main()int a,max=O;scanf(n%dn,&a)while()if(maxa)max=a;scanf(”d”,&a);printf(%d,max);)8 执行下
50、面的程序段后,k 值 是 k=l;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个,下面程序段是计算鸡兔各有多少只,请填空。f b r(x=l ;x =29;x+)y=30-x;i f()p ri n t f(d,%d n”,x,y);)1 1写出下面程序的运算