C语言程序设计考试题库.pdf
C语言程序设计考试题库C语言基础一:1.下列四组选项中,均不是C语言关健字的选项是(A)oA)d efi neB)gec tC)i nc lu d eD)w hi leIFc ha rsc a nfgot y pepri nt fc a sepo w2.下面四个选项中,均是合法整型常量的选项是(A )。A)160B)-0 xc d fC)-01D)-0 x48a-OxffffOla986,0122e5Oi lOxe0668Ox0 2 B23.下面四个选项中,均是不合法的转义符的选项是(B )。A)n,B)M 0 i rc)、oirD)a b c Vior4.下面不正确的字符串常量是(A )。A)a b c B)M12,12nC)0MD)”5.以下选项中不合法的用户标识符是(A )。A)a b c.c B)fi le C)Ma i n D)PR INT6.C语言提供的合法关键字是(D )。A)sw i t hB)c herC)C a se).D efa u lt7.下列标识符组中,合法的用户标识符为AA)_0123 与 ssi pedB)d el-w o rd 与 si gnedC)li st 与*j erD)k eep%与 w i nd8.在C语言中,逻辑值“真”的表示是用(C )。A)t ru e B)整型值0 C)非另整型值 D)T9若有以下定义c ha r s=092;则该语句(B )A)使s的值包含一个字符 B)定义不合法,s的值不确定C)使s的值包含4个字符 D)使s的值包含3个字符10设C语言中,i nt类型数据占2个字节,则flo a t类型数据占(D )个字节。A)1 B)2 C)8 D)411已知字母A的A S C II码为十进制数65,且c 2为字符型,则执行语句c 2=A+6-3后,c 2中的值为(A )oA)D B)68 C)不确定的值 D)C12逻辑运算符两侧运算对象的数据类型是(D)。A)只是0或1 B)只能是0或非0正数C)只能是整型或字符型数据 D)可以是任何合法的类型数据13TURB0C中 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)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=cl)ll(z=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,则表达式!(xy)+(y!=z)ll(x+y)&(y=z)的值是 1 基础二1 下面四个选项中,均是非法常量的选项是(A)。A)asB)Z0-0 x18 D)0 xabc-Offf01177 00a12,456Oxf nau2 下面四个选项中,均是不合法整型常量的选项是(D)。A)-0fl B)-0 xcdfC)-018D)-0 x48eg-Oxffff 017999-0680011 12,4565e203f3 下面正确的字符常量是(C)oA)B)nC)WD)4 以下每个选项都代表一个常量,其中正确的整型常量是(B)。A)1.2 B)-20 C)1,000 D)4 5 65 以下选项中不合法的用户标识符是(C)A)_123 B)Printf C)A$D)Dim6 在下列C 语言程序中,可以用做变量名的是(B)。A)1B)alC)intD)*p7C 语言提供的合法数据关键字是(A)oA)floatB)SagnedC)IntegerD)Char8 以下符号中不能用作用户标识符的符号是(B)。A)_256 B)voidC)scanf D)Struct9 若 k 为 int型变量,则以下语句(C)。k=8567;printf(l%-06dln,k);A)输出格式描述不合法C)输出为1856711(20111()是(B)。A)一个双精度表达式C)一种函数调用B)输出为10085671D)输出为1-085671B)一个整型表达式D)一个不合法的表达式11在 C 语言中,int、char和 short三种类型数据在内存中所占用的字节数(D)。A)由用户自己定义C)是任意的B)均为2 个字节D)由所用机器的机器字长决定12判断char型变量c l 是否为小写字母的正确表达式为(D)。A)a=c l=A.&(c l=cl)ll(z=a)&(cl=z)13以下叙述中正确的是(B)。A.a 是实型变量,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值的数据类型为(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=1.42,y=5.2;则以下符合C 语言语法的表达式是(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)i B)f C)e D)g2 可 以 使 用(CD)输入字符型数据。A)putchar(c);B)getchar(c);C)getchar();D)scanf(%c,&c);IC 语言中数据有常量与变量之分。2 一般一个字符变量在内存中占一个字节。3 c 语言规定,可以在定义变量时,同时使变量初始化。4 把 k l、k2定义成基本整型变量,并赋初值0 的定义语句是intkl=k2=0:。错5 如果i 的原值为3,贝 II: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;是正确的。错II12printf函数是一个标准库函数,它的函数原型在头文件 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=,010,;则变量C 中包含的字符个数为(I)2若 有 以 下 定 义: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 的值为4 x=a=4,6*25 若 a 是 int型变量,且 a 的初值为6,则计算表达式后a 的值为【60 1 a+=a-=a*a6scanf函数的地址表列中给出各变量的地址,地址是由【地址运算符 后跟变量名组成的。7 使用getchar函数接收字符,若输入多于一个字符时,只接收第【一】个字符。8 c 语言的格式输出函数是【printf。o9 当 a=5,b=4,c=2时,表达式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)A B)floatp_0 laodo _AC)b-a D)_123goto tempint INT2 下面四个选项中,均是不合法浮点数的选项是(B)。3 下面四个选项中,均是不正确的八进制或十六进制数的选项是(D)。A)160.B)1230.12 2e4.2e3.e5C)-018 D)-e3123e4.2340.0 le34 以下每个选项都代表一个常量,其中不正确的实型常量是(B)。A)2.607E-l B)0.8103e 2 Q-77.77 D)45.6e-25 可用作用户标识符的一组标识符是(B)。A)016 B)0abc0 x8f 017018 OxaC)010 D)0al2-0 x11 7ff0 x16-123A)void B)a3_b3define _xyzWORD IFC)For D)2a-abc DOCase sigeof6 下列标识符组中,合法的用户标识符为(B)。A)PAd 与 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+R+i*f值的数据类型为(C)。A)int B)floatC)double D)不确定11若有说明语句:2爪=、72,;则变量(C)。A)包 含 1个字符C)包含3 个字符B)包含2 个字符D)说明不合法,c 的值不确定12设 X、Y、Z 都是int整型变量,且 x=2,y=3,z=4,则下面的表达式中,值为0 的表达式是(A)。A)x&z B)(!y=l)&(!z=O)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 类型相同,在计算了赋值表达式a=b后 b 中的值将放入a 中,而 b 中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值18以下结果为整型的表达式(设有int i;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)逗号 C)TAB D)回车2 使用scanf函数时,在源程序开头(ABC)。A)书写#include stdio.h”B)书写#includeC)不必写#include D)书写#include scanf.hIC 语言规定标识符只能由字母、数字和小数点三种字符组成。2 C 语言使字符型数据和整型数据之间可以通用。一个字符数据既可以以字符形式输出,也可以以整数形式输出。对3 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,&cl,&c2)函数中,当输入为字符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 的意义是:输出单个字符。14 在 printf函数中,输出项可以是任意合法的表达式。15 算术运算符的优先级别高于关系运算符16 inta=O,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 假设所有变量均为整型,则表达式但=2=5百+也+1)的值为9 3 若 a 是 int型变量,则执行下面表达式后,a 的值为【2。a=25/3%34 表达式1/3*3的计算结果是【05 若 a 是 int型变量,则计算表达式后a 的值为【2 。a=25/3%36 在输入字符数据时,若“格式控制字符串”中没有非格式字符,则认为所有输入的字符均为【有效】字符。7 在 scanf函数中,【&a】表示变量a 的地址。8 以下程序的运行结果是【computer,commain()printf(%s,%5.3s,computer,computer);9 在 C 语言中,表示逻辑 真 值用【非 零 数】10 若 a=6,b=4,c=2,则表达式!(a-b)+c-l&b/3+c/2 的值是 1 11设 a=-l,b=0,c=l,则表达式allb+c&b=c的值是【1】12有 inta=3,b=4,c=5,x,y;,则以下表达式的值为【0】!(x=a)&(y=b)&c基础四1 以下符号中不能用作用户标识符的符号是()oA)_256 B)voidC)scanf D)Struct2 下面四个选项中,均是合法浮点数的选项是()。A)+le+lB)-.60 C)123eD)e35e-9.403e212e-4 1.2e-.4-8e5+2e-l.8e-45,e-03 下面四个选项中,均是正确的八进制或十六进制数的选项是(A)-la B)0abc C)0010 D)0al2Ox8f-017 0 x11-0 x123-Oil Oxc Oxfl-Oxa4 以下选项中,为 C 语言合法的关键字是()oA)swicth B)cher C)Case D)default5C语言提供的合法的数据类型关键字是()。A)Double B)short C)integer D)Char)。6 下列标识符组中,合法的用户标识符为(A)b-b 与 abcB)CCP 与 floatC)hiy 与D)isw 与 INT7 属于合法的C 语言长整型常量的是()。A)5876273 B)0L C)2E10 D)(Long)5876273 若 int 类型数据占两个字节,下8 列程序的输出结果是()main()printf(%d,%un,k,k);A)-l,-1 B)-l,32767 C)-l,32768 D)-l,655359 设已定义x 为 double类型变量x=213.82631;printf(%-6.2en,x);则以上语句()。A)输出格式描述符的域宽不够,不能输出C)输出为 2.14e+0210 执行 x=5l+2&2H2*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=I+4e2.0 D)short do=15;14若有int k=11;则表达式(k+*1/3)的值是()。A)0 B)3 C)ll D)1215逻辑运算符两侧运算对象的数据类型是()oA)只是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 程序中,是只能用于整数运算的运算符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在 printf函数中,转义字符b 的作用是退格。15算术运算符的优先级别高于逻辑运算符16inta=l,b=0,c=l;,贝 ij!(a+b)+c-0&b+c/2 的值为 11经过下述赋值后,变量x 的数据类型是()。int x=2;double y;y=(int)(float)x;2 已知字母a 的 ASCII码的十进制代码为9 7,且设ch 为字符型变量,则表达式chTa+S-?的值为 3 若 s 是 int型变量,且 s=6,则下面表达式的值为【s%2+(s+l)%24 表达式1.0/2*3的计算结果是【5 当 a=3,b=2,c=l时,表达式f=abc的值是【】.6getchar函数是 】函数。7 赋值语句是由赋值表达式加上【】构成的。8 在 T C 中,printf。函数输出表列的求值顺序是 ,9 设 y 为 int型变量,请写出描述“y 是奇数”的表达式【】10若 a=2,b=4,则表达式!(x=a)ll(y=b)&0的值是【】11条件0 x3或 x-3”的 c 语言表达式是【】12有 inta=3,b=4,c=5:,则以下表达式的值为【】!(a+b)+c-l&b+c/2基础五IC语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符()。A)必须为大写B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中的任一种字符2下面四个选项,均是合法转义字符的选项是()。A)B)C)0 1 8 D)WO W 0 1 7 f MO I n x a b x l f3下面四个选项中,均是正确的数值常量或字符常量的选项是()。A)0.0 B)“a C)3 D)+0 0 1O f 3.9 E-2.5 O i l O x a b c d8.9 e l e i O x F F O O 2 e 2&V O a 5 04以下符号中不能用作用户标识符的是()oA)I F B)S w i t c h C)g e t sD)c a s e5在C语言中,下列哪个字符为合法的字符常量()。A)*0 8 4 B)x 4 3 C)a b,D)XT6下列四个选项中,均是C语言关健字的选项是()A)a u t o B)s w i t c h C)s i g n e dD)i fe n u m t y p e d e f u n i o ns t r u c ti n c l u d e c o n t i n u e s c a n ft y p e7不合法的常量是()oA)2,B)H C)n D)4 8 3”8若a为整型变量,则以下语句()oa=-2 L;p r i n t f(H%d nM,a);A)赋值不合法 B)输出值为-2 C)输出为不确定值 D)输出值为29已定义x为f l o a t型变量x=2 1 3.8 2 6 3 1;p r i n t f(%-4.2 f n ,x);则以上语句A)输出格式描述符的域宽不够,不能输出B)输出为2 1 3.8 3C)输出为2 1 3.8 2 D)输出为-2 1 3.8 21 0用g e t c h a r函数可以从键盘读入一个()A)整型变量表达式值 B)实型变量值C)字符串 D)字符或字符型变量值1 1 已知 i n t x,y,z;执行语句 x=(y=(z=1 0)+5)-5;后 x、y、z 的值是()。A)x=1 0 B)x=1 0 C)x=1 0 D)x=1 0y=1 5 y=1 0 y=1 0 y=5z=1 0 z=1 0 z=1 5 z=1 01 2设a为整型变量,初值为1 2,执行完语句a+=a-=a*a后,a的 值 是()。A)5 5 2 B)1 4 4 C)2 6 4 D)-2 6 41 3设x为i n t型变量,则执行以下语句段后,x的值为()。A)1 0 B)2 0 C)4 0 D)3 0 x =1 0;x +=x -=x -x;1 4 若有定义,i n t a=7;f l o a t x=2.5,y=4.7;贝表达式 x+a%3*(i n t)(x+y)%2/4 的值是()。A)2.5 0 0 0 0 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)!=16设以下变量均为i n t类型,则值不等于7的表达式是()。A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+l)C)(x=6,x+1 ,y=6,x+y)D)(y=6,y+1 ,x=y,x+1)17以下符合C语言语法的,赋值表达式是()oA)d=9+e+f=d+9B)d=9+e,f=d+9C)d=9+e,e+,d+9D)d=9+e+=d+718以下使i的运算结果为4的表达式是()oA)i n t i=0,j=0;(i=3,(j+)+i);B)i n t i=l,j=0;j=i=(i=3)*2);C)i n t i=0,j=l;(j=l)?(i=l):(i=3);D)i n t i=l,j=l;i+=j+=2;19设I n t n=3;则+n的结果是()。A)2 B)3 C)4 D)52 0设I n t n=2;则有表达式+n+l=4,n的结果是()。A)I B)2 C)3 D)41下列能正确输入字符数组a的语句是()A)s c a n f(%s ,a);B)s c a n f(%s ,&a);C)s c a n f(%c ,a);D)循环执行 s c a n f(%c ,&a i );2在输入时,字符变量的值不用空格间隔,其输入函数可为()。A)s c a n f(%c%c%c ,&a,&b.&c);B)s c a n f(%c%c%c ,&a,&b,&c);C)scanf(%3c,&a,&b,&c);D)循环执行 getchar()IC 的字符常量是用双引号括起来的一个字符。2 字符串常量是一对单引号括起来的字符序列。3 设 C 语言中,一 个 in t型数据在内存中占2 个字节,则 in t型数据的取值范围为-32768-4-327674 在 C 语言中的实型变量分为两种类型,它们是float和 doubleo5 若有以下定义:int a=2,b=3;floatx=3.5,y=2.5;则下面表达式的值为3.500000。(float)(a+b)/2+(int)x%(int)y6 输入语句的格式为:scanf(%d,%d,%d,&a;&b;&c);是正确的。7getchar()函数得到的字符可以不赋给任何变量,而作为表达式的一部分。8scanf函数中无精度控制。9a+=a=2;是一个合法的赋值语句,赋值后a 的值为:2。10在 T C 中,printf()函数输出表列的求值顺序是从右到左。11在 print!函数中,ld”表示按十进制正整数输出。12printf是 C 语言的输出语句。13在 printf函数中,格式字符c 的意义是:输出单个字符。14在 printf函数中,不能使用转义字符。15关系运算符的优先级别高于逻辑运算符16c语言中没有逻辑型数据1 表达式 8/4*(int)2.5/(int(1.25*(3.7+2.3)值的数据类型为()。2 若 x、i、j 和 k 都是int型变量,则计算下面表达式后,x 的值为【1x=(i=4,j=16,k=32)3 若 a 是 int型变量,则下面表达式的值为【Jo(a=4*5,a*2),a+64 若 k 为 in t整型变量且赋值7,x 为 double型变量且赋值8.4,赋值表达式x=k 的运算结果 是【o5 若 a=l,b=4,c=3,则表达式!(ab)ll!c&l 的值是.6 使用getchar函数前必须包含头文件【7 在变量说明中给同类变量赋初值时,各变量之间用【】隔开。8 以下程序的运行结果是【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 printf(dn”,m-);A)7 B)6 C)5 D)42以下程序的输出结果为()#include main()int i=OJ=O,a=6;if(+i0)&(+j0)a+;printf(i=%d,j=%d,a=%dn,i,j,a);A)i=OJ=O,a=6C)i=l,j=O,a=73有如下程序main()int a=2,b=-l,c=2;if(ab)if(b12?x+10:x-12;printf(n%dnn,y);A)0 B)22 C)12 D)106以下程序的输出结果是()main()int i=0,j=0,k=6;if(+i0)ll(+j0)k+;printf(n%d,%d,%dn;i,j,k);A)0,0,6 B)1,0,7 C)1,1,7 D)0,1,77 若变量都已正确说明,则以下程序段输出为()int a=l,b=2,c=3;if(ab)a=b;b=c;c=a;printf(Ha=%d b=%d c=%dn,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!=0)x+=y;C)if(x!=y)scanf(n%dM,&x);else scanf(u%dn,&y);D)if(xy)x+;y+;10有以下程序:#includenstdio.hmain()char i;for(;(i=getchar()!=n;)switch(i-a*)case 0:putchar(i);case 1:putchar(i+l);break;case 2:putchar(i+2);case 3:break;default:putchar(i);break;printf(unu);输入下列数据后,abcdeA)abcdeC)abbde11 若 a、b、c l、A)switch(a+b);case l:y=a+b;break;case O:y=a-b;break;)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:switch(y)case 0:a+;case 1:b+;case 2:a+;b+;)printf(a=%d,b=%dn,a,b);)A)a=2,b=l B)a=l,b=l程序的输出结果是()B)abceeD)abccddc2、x、y、均是整型变量,正确的switch语句是()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 c Lease 4:x=a+b;break;case c2:case 11:y=a-b;break;default:y=a*b;break;C)a=l,b=0 D)a=2,b=21 3c语言的for语句中的表达式可以部分或全部省略,但两个()不可省略。但当三个表达式均省略后,因缺少判断条件,循环会无限制地进行下去,形成死循环。A)B)+C);D),14下面有关for循环的正确描述是()。A)for循环只能用于循环次数已经确定的情况B)for循环是先执行循环体语句,后判定表达式C)在 for循环中,不能用break语句跳出循环体D)for循环体语句中,可以包含多条语句,但要用花括号括起来15以下程序段()。x=-l;do x=x*x;while(!x)A)是死循环 B)循环执行2 次 C)循环执行一次 D)有语法错误16如下的数组中,数组array占用的内存空间是()个字节。chararray=,c,h,;i,n,a;A.1 B.5 C.6 D.不确定17设有程序段int k=10;while(k=O)k=k-1;则下面描述正确的是()oA)w hile循环执行10次 B)C)循环体语句一次也不执行 D)18下列程序段的运行结果是()int n=0;while(n+3);printf(M%d,n)A.2 B.3 C.419设有程序段t=0;while(printf(,*n);1+;if(t3)break;)下面描述正确的是()oA)其中循环控制表达式与。等价C)其中循环控制表达式是不合法的20下面程序的运行结果是()o#include main()int y=10;do y;while(y);printf(,%dn,y);)A)-l B)1 C)8 D)02 1 以下程序段的输出结果是().main()int i=5;for(;i+y;x=i+)i=x;循环是无限循环循环体语句执行一次D.以上都不对B)其中循环控制表达式与。等价D)以上说法都不对16 D.8B)f o r(;x+=i);C)w hi l e(l)x+;)D)f o r(i=10;i)su m+=i;2 3有如下语句int x=3;do p r int f(n%d nu,x-=2);w h il e(!(x);则上面程序段()A.输出的是1C.输出的是3和02 4以下不是无限循环的是(B.输出的是1和2D.是死循环)A.for(y=0,x=1 ;x +y;x=i+)i=x;B.for(;x+=i);C.w h il e(l)x+;D.for(i=10;i)s+=i;2 5以下正确的描述是()oA)c ont inu e语句的作用是结束整个循环的执行B)只能在循环体内和sw it c h语句内使用b r e a k语句C)在循环体内使用b r e a k语句或c ont inu e语句的作用相同D)从多层循环嵌套中退出时,只能使用g ot。语句2 6以下程序输出结果为()#inc l u de st dio.h ma in()int i,b,k=0;for(i=l;i=0)k+;p r int f(d,%d n”,k,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)3 62 8以下不正确的描述是()A.b r e a k语句不能用于循环语句和sw it c h语句外的任何其他语句B.在sw it c h语句中使用b r e a k语句或c ont inu e语句的作用相同C.在循环语句中使用c ont inu e语句是为了结束本次循环,而不是终止整个循环的执行D.在循环语句中使用b r e a k语句是为了使流程跳出循环体,提前结束循环l e l se语句总是和靠它最近的if匹配。2sw it c h语句中一定有de fa u l t分支3 c a se后只能跟常量,不能跟变量4break语句的作用就是结束本层循环。5do-while语句构成的循环不能用其它语句构成的循环来代替。6 用 do-while语句构成循环时,只要while后的表达式为0 时就结束循环。7for(表达式1;表达式2;表达式3)中,表达式1 和表达式3 不能同时都是逗号表达式。8for循环中,如果表达式2 为空,则该循环一定是死循环。9while循环的while。后没有分号,而 do-while循环的while。后一定要有一个分号。10for(i=0,j=10;i=j;i+,j-)k=i+j;执行完后,k 的值为 50o1若 a、b 均为int型变量,且 a=100,则以下的for循环是死循环.for(b=100;a!=b;+a,b+)printf(H-nn);执行语句:for(i=l;i+v4;+i);后;变量i 的值是5。2 以下程序的运行结果是【】main()int x,y,z;x=l;y=2;z=3;x=y 0)s=a+b;if(a0)if(c0)w=a-b;else t=c;printf(d,%d,%dn”,s,w,t);)5 阅读下面程序:main()int s,t,a,b;scanf(%d%dH,&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(Ms=%d,t=%d,s,t);)6 为了使输出结果t=4,输入量a 和 b 应满足的条件是【】7 下面程序的功能是在输入的一批整数中求出最大者,输入0 结束循环。#include main()int a,max=O;scanf(%dn,&a)while()if(maxa)max=a;scanf(n%dn,&a);)printf(n%dM,max);)8 执行下面的程序段后,k 值 是 ok=l;n=263;do k*=n%10;n/=10;while(n);9 等差数列的第一项a=2,公差d