二级C语言考试题库及答案选择题专项练习.pdf
C C 语言理论上机考试选择题部分语言理论上机考试选择题部分1、下面程序的输出是_D_#includevoid main()int k=11;printf(k=%d,k=%o,k=%xn,k,k,k);A)k=11,k=12,k=11B)k=11,k=13,k=13C)k=11,k=013,k=0 xbD)k=11,k=13,k=b2、在下列选项中,不正确的赋值语句是_D_.A)+t;B)n1=(n2=(n3=0);C)k=i=j;D)a=b+c=1;3、下 面 合 法 的 C 语 言 字 符 常 量 是_A_.A)t B)A C)65D)A4、表达式:10!=9 的值是_D_.A)true B)非零值 C)0D)15、C 语言提供的合法的数据类型关键字是_B_.A)DoubleB)shortC)integer D)Char6、字符(char)型数据在微机内存中的存储形式是_D_.A)反码 B)补码 C)EBCDIC 码 D)ASCII 码7、C 语言程序的基本单位是_C_.A)程序行 B)语句 C)函数D)字符8、设 int a=12,则执行完语句 a+=a-=a*a后,a 的值是_D_A)552B)264C)144D)-2649、执行下面程序中的输出语句后,输出结果是_B_.#includevoid main()int a;printf(%dn,(a=3*5,a*4,a+5);A)65B)20C)15D)1010、下面程序的输出是_B_.#includevoid main()int x=023;printf(%dn,-x);A)17B)18C)23D)2411、下面程序的输出的是_C_.#includevoid main()int x=10,y=3;printf(%dn,y=x/y);A)0 B)1 C)3 D)不确定的值12、已知字母A 的 ASCII 码为十进制的 65,下面程序的输出是_A_.#includevoid main()char ch1,ch2;ch1=A+5-3;ch2=A+6-3;printf(%d,%cn,ch1,ch2);A)67,D B)B,C C)C,D D)不确定的值13、若要求在 if 后一对圆括号中表示 a 不等于 0 的关系,则能正确表示这一关系的表达式为_D_.A)a0 B)!a C)a=0D)a14、以下程序的输出结果是_D_.#includevoid main()int x=10,y=10;printf(%d%dn,x-,-y);A)10 10 B)9 9 C)9 10D)10 915、设有如下定义:int x=10,y=3,z;则语句 printf(%dn,z=(x%y,x/y);的输出结果是_D_.A)1B)0C)4D)316、为表示关系 xyz,应使用 C 语言表达式_A_.A)(x=y)&(y=z)B)(x=y)AND(y=z)C)(x=y=z)D)(x=y)&(y=z)17、C 语言中非空的基本数据类型包括printf(%c,ch);如果从键盘上输入 abc则程序的运行结果是_A_.A)a B)b C)c D)程_B_.A)整型,实型,逻辑型 B)整型,实型,字符型C)整型,字符型,逻辑型D)整型,实型,逻辑型,字符型18、若x和 y都是 int 型变量,x=100,y=200,且有下面的程序片段:printf(%d,(x,y);上面程序片段的输出结果是_A_.A)200 B)100C)100 200 D)输出格式符不够,输出不确定的值19、阅读下面的程序#includevoid main()char ch;scanf(%3c,&ch);序语法出错20、阅读下面的程序#includevoid main()int i,j;i=010;j=9;printf(%d,%d,i-j,i+j);则程序的运行结果是_D_.A)1,19 B)-1,19 C)1,17D)-1,1721、阅读下面的程序#includevoid main()int i,j,m,n;i=8;j=10;m=+i;n=j+;printf(%d,%d,%d,%d,i,j,m,n);程序的运行结果是_C_.A)8,10,8,10 B)9,11,8,10C)9,11,9,10 D)9,10,9,1122、已知 a=12,则表达式 a+=a-=a*=a 的结果是_A_.A)0B)144C)12D)-26423、若 已 定 义inta,则 表 达 式a=10,a+10,a+的值是_B_.A)20 B)10 C)21D)1124、阅读下面的程序#includevoid main()int i,j;scanf(%3d%2d,&i,&j);printf(i=%d,j=%dn,i,j);如果从键盘上输入 1234567,则程序的运行结果是_D_.A)i=123,j=4567 B)i=1234,j=567C)i=1,j=2 D)i=123,j=4525、下面程序的输出结果是_D_.#includevoid main()int a=-1,b=4,k;k=(+a=0)&(b-=0);printf(%d,%d,%dn,k,a,b);A)1,1,2B)1,0,3C)0,1,2D)0,0,326、下面程序的输出结果是_A_.#includevoid main()int a=5,b=3;float x=3.14,y=6.5;printf(%d,%dn,a+b!=a-b,x=(y-=6.1);A)1,0B)0,1C)1,1A)5.5B)5C)3D)0,027、执 行 下 面 程 序 段 后,输 出 结 果 是_A_.int a;int b=65536;a=b;printf(%dn,a);A)65536B)0C)-1D)128、若有以下定义和语句:int a=010,b=0 x10,c=10;printf(%d,%d,%dn,a,b,c);则输出结果是_B_.A)10,10,10 B)8,16,10 C)8,10,10D)8,8,1029、已知有double 型变量 x=2.5,y=4.7,整型变量 a=7,则表达式 x+a%3*(int)(x+y)%2/4 的值是_B_.A)2.4 B)2.5 C)2.75D)030、若已定义 x 和 y 是整型变量,x=2;,则表达式 y=2.75+x/2 的值是_C_.D)4.031、以下程序的输出结果是_D_.#includevoid main()int a=12,b=12;printf(%d,%dn,-a,+b);A)10,10B)12,12C)11,10D)11,1332、设有以下语句:int x=10;x+=3+x%(3),则 x 的值是._A_A)14 B)15 C)11D)1233、若 d 为 double 型变量,则表达式d=1,d+5,d+的值是_D_.A)1 B)6.0 C)2.0D)1.034、表达式 5!=3 的值是_D_.A)TB)非零值C)0D)135、若有定义 int a=12,n=5,则表达式a%=(n%2)运算后,a 的值_A_.A)0 B)1 C)1239、设有说明:char w;int x;float y;D)636、若 有 定 义 int x=3,y=2 和 floata=2.5,b=3.5,则表达double z;则表达式:w*x+z-y 值的数据类型是_D_.A)float B)char C)intD)double式:(x+y)%2+(int)a/(int)b 的值是_D_.A)0 B)2 C)1.540、一个 C 语言的执行是从_A_.D)137、在 C 语言中,以下叙述不正确的是_A_.A)在 C 程序中,无论是整数还是实数,都能被准确无误的表示B)在 C 程序中,变量名代表存储器中的一个位置C)静态变量的生存期与整个程序的生存期相同D)C 语言中变量必须先定义后引用38、C 语言中的变量名只能由字母,数字和下 划 线 三 种 字 符 组 成,且 第 一 个 字 符_C_.A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字或下划线中的任意一种A)本程序的主函数开始,到本程序的主函数结束B)本程序的第一个函数开始,到本程序的最后一个函数结束C)本程序的主函数开始,到本程序的最后一个函数结束D)本程序的第一个函数开始,到本程序的主函数结束41、设 a 为整型变量,不能正确表达数学关系 10a15 的 C 语言表达式是_A_.A)10a10&a15D)!(a=15)42、下 列 程 序 执 行 后 的 输 出 结 果 是_C_.#include void main()int a=5,b=60,c;if(ab)c=a*b;printf(%d*%d=%dn,b,a,c);elsec=b/a;printf(%d/%d=%dn,b,a,c);A)60/5=12 B)300 C)60*5=300D)1243、如果 c 为字符型变量,判断 c 是否为空格不 能 使用 _A_.(假 设已 知 空 格ASCII 码为 32)A)if(c=32)B)if(c=32)C)if(c=40)D)if(c=)44、运行下面程序时,若从键盘输入3,5,则 程 序 的 输 出 结 果 是_D_.#include void main()int x,y;scanf(%d,%d,&x,&y);if(x=y)printf(x=y);else if(xy)printf(xy);else printf(xy);A)33C)xyD)xy45、运行下面程序时,若从键盘输入数据为6,5,7,则输出结果是_C_.#include void main()int a,b,c;scanf(%d,%d,%d,&a,&b,&c);if(ab)if(ac)printf(%dn,a);else printf(%dn,c);else if(bc)printf(%dn,b);else printf(%dn,c);A)5 B)6 C)7 D)不定值46、执 行 下 面 程 序 时,若 从 键 盘 输 入2,则程序的运行结果是_A_.#include void main()int k;char cp;cp=getchar();if(cp=0&cp=a&cp=f)k=cp-a+10;else k=cp-A+10;printf(%dn,k);A)2B)4C)1D)1047、运 行 下 面 程 序 时,从 键 盘 输 入2.0,则输出结果是_B_.#include void main()float a,b;scanf(%f,&a);if(a0.0)b=0.0;elseif(a0.5)&(a!=2.0)b=1.0/(a+2.0);else if(a10.0)b=1.0/2;else b=10.0;printf(%fn,b);A)0.000000 B)0.500000C)1.000000 D)0.25000048、执 行 下 面 程 序 后,运 行 结 果 是_A_.#include void main()int x=41,y=1;if(x%3=0&x%7=0)y+=x;printf(y=%dn,y);else y=x;printf(y=%d,y);A)y=41B)y=43C)y=42D)y=149、运 行 下 面 程 序 时,从 键 盘 输 入12,34,9,则输出结果是_A_.#include void main()int x,y,z;scanf(%d,%d,%d,&x,&y,&z);if(xy)if(yz)printf(%dn,z);else printf(%dn,y);else if(xz)printf(%dn,z);else printf(%dn,x);A)34 B)12 C)9 D)不确定的值50、运行下面程序时,从键盘输入字母 H,则输出结果是_C_.#include void main()char ch;ch=getchar();switch(ch)case H:printf(Hello!n);caseG:printf(Goodmorning!n);default:printf(Bye_Bye!n);A)Hello!B)Hello!GoodMorning!C)Hello!D)Hello!Goodmorning!Bye_Bye!Bye_Bye!51、执行下列程序段后的输出结果是_A_.int x=1,y=1,z=1;x+=y+=z;printf(%dn,x=A&ch=Z)ch+32:ch 的值是_B_.A)ZB)aC)zD)A53、下面程序的输出结果是_C_.#include void main()int x=8,y=-7,z=9;if(xy)if(y0)z=0;else z-=1;printf(%dn,z);s=a;if(sb)s=b;s=s*s;printf(%dn,s);A)8 B)1 C)9A)14B)16C)18D)054、运行下面程序时,若从键盘输入5,则程序的输出结果是_B_.#include void main()int a;scanf(%d,&a);if(a+5)printf(%dn,a);else printf(%dn,a-);A)7B)6C)5D)455、运行下面程序时,若从键盘输入3,4,则程序的输出结果是_B_.#include void main()int a,b,s;scanf(%d,%d,&a,&b);D)2056、下列程序的执行结果是_D_.#include void main()int x=0,y=1,z=0;if(x=z=y)x=3;printf(%d,%dn,x,z);A)3,0 B)0,0 C)0,1D)3,157、假定等级和分数有以下对应关系:等级:A分数:85100等级:B分数:6084等级:C分数:60 以下对于等级 grade 输出相应的分数区间,能够完成该功能的程序段是_D_.A)switch(grade)case A:printf(85-100n);case B:printf(60-84n);case C:printf(60 以下n);default:printf(等级错误!n);B)switch(grade)caseA:printf(85-100n);break;case B:printf(60-84n);case C:printf(60 以下n);default:printf(等级错误!n);C)switch(grade)caseA:printf(85-100n);break;caseB:printf(60-84n);break;case C:printf(60 以下n);default:printf(等级错误!n);D)switch(grade)caseA:printf(85-100n);break;caseB:printf(60-84n);break;caseC:printf(60以下n);break;default:printf(等级错误!n);58、能够完成如下函数计算的程序段是_B_.-1 x0A)y=1;B)if(x=0)if(x!=0)if(x0)y=1;if(x0)y=1;else y=0;else y=0;else y=-1;C)y=0;D)y=-1;if(x=0)if(x0)y=1;if(x0)y=1;else y=0;else y=-1;59、有如下程序#include void main()float x=5.0,y;if(x0.0)y=0.0;else if(x10.0)y=1.0/x;else y=1.0;printf(%fn,y);该程序的输出结果是_C_.A)0.000000 B)0.50000C)0.200000 D)1.00000060、以下程序的执行结果是_B_.#include void main()int x=1,y=0;switch(x)case 1:switch(y)case0:printf(firstn);break;case1:printf(secondn);break;case 2:printf(thirdn);A)first B)first second thirdC)first D)second third61、以下程序的执行结果是_A_.#include void main()int a,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;else if(!b)if(!c)x=15;else x=25;printf(d=%dn,d);A)d=20B)d=10C)d=15D)2562、有如下程序:#include void main()int a=2,b=-1,c=2;if(ab)if(b0)c=0;else c+;printf(%dn,c);该程序的输出结果是_C_.A)0 B)1 C)2D)363、下 列 程 序 执 行 后 的 输 出 结 果 是_B_.#include void main()int x,y=1,z;if(z=y)0)x=4;else if(y=0)x=5;else x=6;printf(%d,%dn,x,y);A)4,1 B)6,1 C)5,0 D)出错信息64、有如下程序#include void main()int x=1,a=0,b=0;switch(x)case 0:b+;case 1:a+;case 2:a+;b+;printf(a=%d,b=%dn,a,b);该程序的输出结果是_A_.A)a=2,b=1 B)a=1,b=1 C)a=1,b=0D)a=2,b=265、下面程序的输出结果是_C_.#include void 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 066、假定 w、x、y、z、m 均为 int 型变量,if(n+10)printf(%dn,n);else printf(%dn,n-);A)11B)10C)9有如下程序段:w=1;x=2;y=3;z=4;m=(wx)w:x;m=(my)m:y;m=(m100)printf(%dn,a100);else printf(%dn,a=100);A)a=100B)100C)0D)168、若执行下面的程序从键盘上输入 9,则输出结果是._B_#include void main()int n;scanf(%d,&n);D)869、以下程序输出结果是_D_.#include void main()int m=4;if(+m5)printf(%dn,m-);else printf(%dn,-m);A)7B)6C)5D)470、若执行下面的程序从键盘上输入 5,则输出结果是.#include void main()int x;scanf(%d,&x);if(x+5)printf(%dn,x);else printf(%dn,x-);A)7B)6C)5D)471、以下程序段运行结果是_A_.int x=1,y=1,z=-1;x+=y+=z;printf(%dn,xyy:x);A)1 B)2 C)4 D)不确定的值72、有以下程序#include void main()int a,b,c=246;a=c/100%9;b=(-1)&(-1);printf(%d,%dn,a,b);输出结果是_A_.A)2,1 B)3,2 C)4,3D)2,-173、运行下面程序时,若从键盘输入数据为123,则输出结果是_C_.#include stdio.h void main()int num,i,j,k,place;scanf(%d,&num);if(num99)place=3;else if(num9)place=2;else place=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch(place)case3:printf(%d%d%dn,k,j,i);break;case 2:printf(%d%dn,k,j);break;case 1:printf(%dn,k);A)123 B)1,2,3 C)321D)3,2,174、执 行 下 列 程 序 后 的 输 出 结 果 是_D_.#include void main()int k=4,a=3,b=2,c=1;printf(%dn,kak:cbc:a);if(k=0)printf(*n);else printf(#n)A)4B)3C)2A)#D)175、以下条件表达式中能完全等价于条件表达式 x 的是_B_.A)(x=0)B)(x!=0)C)(x=1)D)(x!=1)76、若运行下面程序时,给变量 a 输入 15,则输出结果是_A_.#include void main()int a,b;scanf(%d,&a);b=a15a+10:a-10;printf(%dn,b);A)5 B)25 C)15 D)1077、运行下面程序后,输出是_D_.#include void main()int k=-3;B)*C)#*D)有语法错误不能通过编译78、执行下面程序的输出结果是_C_.#include void main()int a=5,b=0,c=0;if(a=a+b)printf(*n);else printf(#n);A)有语法错误不能编译B)能通过编译,但不能通过连接C)输出*D)输出#79、为了避免嵌套的 if-else 语句的二义性,C 语言规定 else 总是与_C_组成配对关系.A)缩排位置相同的 ifB)在其之前未配对的 ifC)在其之前尚未配对的最近的 ifD)同一行上的 if80、设 x、y、z、t 均为 int 型变量,则执行以下语句后,t 的值为_C_.x=y=z=1;t=+x|+y&+z;x=3;do y=x-;ifprintf(*);continue;printf(#);(!y)A)不定值B)4C)1 while(x=2);D)081、以下程序段_C_.x=-1;do x=x*x;while(!x);A)是死循环 B)循环执行两次C)循环执行一次 D)有语法错误82、对下面程序段描述正确的是_B_.int x=0,s=0;while(!x!=0)s+=+x;printf(%d,s);A)运行程序段后输出 0B)运行程序段后输出 1C)程序段中的控制表达式是非法的D)程序段循环无数次83、下面程序段的输出结果是_C_.A)#B)#*C)死循环 D)输出错误信息84、下面程序的运行结果是_B_.#include void main()int a=1,b=10;do b-=a;a+;while(b-0);printf(%d,%dn,a,b);A)3,11 B)2,8 C)1,-1D)4,985、下面程序段的运行结果是_B_.int n=0;while(n+=2)printf(%d,n);A)012 B)123 C)234 D)错误信息86、下面程序段的运行结果是_D_.int x=0,y=0;while(x15)y+,x+=+y;printf(%d,%d,y,x);请填空,完成求的功能。#include void main()double s=0.0;int i,n;scanf(%ld,&n);A)20,7 B)6,12 C)20,8 for(i=1;i=n;i+)D)8,2087、下面程序的运行结果是_B_.#include void main()int s=0,i=1;while(s3;x-)if(x%3)x-;-x;-x;printf(%d,x);A)6 3 B)7 4 C)6 2D)7 390、下面程序的运行结果是_D_.#include void main()int a,b;a=-1;A)2 0 B)3 1 C)3 2 1 b=0;do +a;+a;b+=a;while(a9);printf(%dn,b);A)34 B)24 C)26D)2591、下 面 程 序 段 的 运 行 结 果 是_D_.for(i=1;i=5;)printf(%d,i);i+;A)12345 B)1234 C)15 D)无限循环92、下面程序的输出结果是_B_.#include void main()int n=4;while(n-)printf(%d,n-);D)2 1 093、以 下 程 序 运 行 后 的 输 出 结 果 是_D_.#include void main()int i=10,j=0;do j=j+1;i-;while(i2);printf(%dn,j);A)50 B)52 C)51D)894、以下函数的功能是:求x 的 y 次方,请填空._C_#include void main()int i,x,y;double z;scanf(%d%d,&x,&y);for(i=1,z=x;iy;i+)z=z*_;printf(xy=%en,z);void main()A)i+B)x+C)x int i;D)i95、有如下程序#include void main()int x=23;do printf(%d,x-);while(!x);该程序的执行结果是_B_A)321 B)23C)不输出任何内容 D)陷入死循环96、以下程序段的执行结果是_C_.int i,j,m=0;for(i=1;i=15;i+=4)for(j=3;j=19;j+=4)m+;printf(%dn,m);A)12 B)15 C)20 D)2597、下面程序的输出结果是_A_.#include for(i=1;i6;i+)if(i%2!=0)printf(#);continue;printf(*);printf(n);A)#*#*#B)#C)*D)*#*#*98、下面程序的输出结果是_D_.#include void main()int x=10,y=10,i;for(i=0;x8;y=+i)printf(%d%d,x-,y);A)10 1 9 2 B)9 8 7 6C)10 9 9 0 D)10 10 9 199、执行以下程序后,输出的结果是_D_.#includevoid main()int y=10;do y-;while(-y);printf(%dn,y-);该程序的执行结果是_C_.A)6B)3C)死循环D)0102、以下循环体的执行次数是_D_#includeA)-1B)1C)8 void main()D)0100、有如下程序#include void main()int n=9;while(n6)n-;printf(%d,n);该程序段的输出结果是_B_.A)987 B)876 C)8765D)9876101、有如下程序#include void main()int i,sum=0;for(i=1;i=3;sum+)sum+=i;printf(%dn,sum);int i,j;for(i=0,j=1;i=j+1;i+=2,j-)printf(%d n,i);A)3B)2C)1D)0103、在执行以下程序时,如果从键盘上输入:ABCdef,则输出为_B_.#include void main()char ch;while(ch=getchar()!=n)if(ch=A&ch=a&chz)ch=ch-32;printf(%c,ch);printf(n);k=i+j;A)9B)11C)8A)ABCdefB)abcDEFC)abcD)10D)DEF104、下面程序的输出结果是_D_.main()int i,k=0,a=0,b=0;for(i=1;i=4;i+)k+;if(k%2=0)a=a+k;continue;b=b+k;a=a+k;printf(k=%da=%db=%dn,k,a,b);A)k=5 a=10 b=4 B)k=3 a=6 b=4C)k=4 a=10 b=3 D)k=4 a=10 b=4105、执 行 下 面 程 序 段 后,k 的 值 是_D_.int i,j,k;for(i=0,j=10;ij;i+,j-)106、下面程序是计算 n 个数的平均值,请填空._B_#include void main()int i,n;float x,avg=0.0;scanf(%d,&n);for(i=0;in;i+)scanf(%f,&x);avg=avg+_;avg=_;printf(avg=%fn,avg);A)iB)xC)xD)i avg/i avg/n avg/xavg/n107、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。_D_#include void main()float x,amax,amin;scanf(%f,&x);for(x=5;x0;x-)if(x-amax)amax=x;if(_)amin=x;scanf(%f,&x);printf(namax=%fnamin=%fn,amax,amin);A)x0C)x0D)x=0 xaminxaminxamin108、阅读以下程序,程序运行后的输出结果是_B_.#includevoid main()int x;D)5,3,1,109、以下程序段的输出结果是_C_.int k,n,m;n=10;m=1;k=1;while(k=n)m*=2;k+=4;printf(%dn,m);A)4 B)16 C)8D)32110、下面程序的输出结果是_B_.#include void main()int y=9;for(;y0;y-)if(y%3=0)printf(%d,-y);continue;A)741B)852C)963D)875421111、下面程序的输出结果是_B_.#include_A_.A)e=0 B)e!=1 C)e!=0 void main()int x=3;do printf(%d,x-=2);while(!(-x);A)1 B)1-2 C)3 0 D)是死循环112、定义如下变量:int n=10;则下列循环的输出结果是_B_.while(n7)n-;printf(%dn,n);A)10 B)9 C)10D)9 9 8 98 8 7 87 76113、语句while(!e);中的条件!e 等价于D)e114、以下叙述正确的是_B_.A)continue语句的作用是结束整个循环的执行B)只能在循环体内和 switch 语句体内使用 break 语句C)在循环体内使用 break 语句或 continue语句的作用相同D)从多层循环嵌套中退出时,只能使用goto 语句115、在下列选项中,没有构成死循环的程序段是_D_.A)int i=100;B)for(;);while(1)i=i%100+1;if(i100)break;C)int k=1000;D)int s=36;do+k;while(k=1000);while(s)-s;116、下面程序的输出结果是_A_.#include void main()int i;for(i=1;i=0);A)4 B)5 C)3D)2118、若 i 为整型变量,则以下循环语句的循环次数是_B_.for(i=2;i=0;)printf(%d,i-);A)无限次 B)0次 C)1次D)2 次119、C 语言中 while 和 do-while 循环的主要区别是._A_A)do-while的循环体至少无条件执行一次B)while 的循环控制条件比 do-while 的循环控制条件严格C)do-while 允许从外部转到循环体内D)do-while 的循环体不能是复合语句120、对于for(表达式 1;表达式 3)可理解为_B_.A)for(表达式 1;0;表达式 3)B)for(表达式 1;1;表达式 3)C)for(表达式 1;表达式 1;表达式 3)D)for(表达式 1;表达式 3;表达式 3)121、合法的数组定义是_D_.A)inta6=string;B)inta5=0,1,2,3,4,5;C)char a=string;D)chara=0,1,2,3,4,5;122、要求下面的程序运行后,显示如下结果:2 10 4 61 5 2 32 4 7 85 1 3 2则程序中的划线处应填入_B_.#include void main()int a44=_;int i,j;for(i=0;i4;i+)for(j=0;j4;j+)printf(%4d,aij);printf(n);A)1,5,2,3,2,4,7,8,5,1,3,2B)2,10,4,6,1,5,2,3,2,4,7,8,5,1,3,2C)5,1,3,2,2,4,7,8,1,5,2,3D)2,1,2,5,10,5,4,1,4,2,7,3,6,3,8,2123、给出以下定义:char x=abcdefg;chary=a,b,c,d,e,f,g;则正确的叙述为 _C_.A)数组 x 和数组 y 等价B)数组 x 和数组 y 的长度相同C)数组 x 的长度大于数组 y 的长度D)数组 x 的长度小于数组 y 的长度124、定义如下变量和数组:int i;intx44=1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16;则下面语句的输出结果是_C_.for(i=0;i4;i+)printf(%3d,xi3-i);A)1 5 9 13 B)1 6 11 16C)4 7 10 13 D)4 8 12 16125、下面程序输出的结果是_D_.#include void main()int i,j,x=0;static int a6=1,2,3,4,5,6;for(i=0,j=1;i5;+i,j+)x+=ai*aj;printf(%dn,x);A)数组 a 中首尾的对应元素的乘积B)数组 a 中首尾的对应元素的乘积之和C)数组 a 中相邻各元素的乘积D)数组 a 中相邻各元素的乘积之和126、若希望下面的程序运行后输出 45,程序空白处的正确选择是_C_.#include void main()inti,j=10,a=1,3,5,7,9,11,13,15;for(_)j+=ai;printf(%dn,j);A)i=5;i1;i-B)i=0;i=1;-i D)i=2;i6;+i127、若有以下说明:chars1=tree,s2=flower;,则以下对数组元素或数组的输出语句中,正确的是_C_.A)printf(%s%s,s15,s27);B)printf(%c%c,s1,s2);C)puts(s1);puts(s2);D)puts(s1,s2);128、下列一维数组初始化语句中,正确且与语句 float a=0,3,8,0,9;等价的是_D_.A)float a6=0,3,8,0,9;B)floata4=0,3,8,0,9;C)float a7=0,3,8,0,9;D)floata5=0,3,8,0,9;129、运 行 下 面 程 序 段 的 输 出 结 果 是_A_.chars110=S,e,t,0,u,p,0;printf(%s,s1);A)Set B)Setup C)Set upD)Set130、以下程序段的输出结果是_B_.char s=an apple;printf(%dn,strlen(s);A)7B)8C)9D)10131、若有说明:charc10=E,a,s,t,0;,则下述说法中正确的是_D_.A)c7不可引用 B)c6可引用,但值不确定C)c4不可引用 D)c4可引用,其值为空字符132、下列初始化语句中,正确且与语句charc=string;等 价 的 是_C_.A)charc=s,t,r,i,n,g;B)char c=string;C)charc7=s,t,r,i,n,g,0;D)char c7=string;133、若有说明charc7=s,t,r,i,n,g;则对元素的非法引用是_C_.A)c0 B)c9-