《计C语言新题库》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
计C语言新题库-副本第一章C语言源程序经过编译、链接后生成的可执行文件扩展名是O(A).exe(B).cpp(C).c(D).objAC语言程序要正确地运行,必须要有O(A)printf函数(B)scanf函数(C)自定义的函数(D)main函数D以下均为合法用户标识符的是O(A)do,xyz,_printf(B)3a>_tt,IF(C)void,ff,s_v(D)_pi,IF,big_treeD以下叙述中正确的是»(A)C语言程序从源程序中第一个函数开始执行(B)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束(C)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行(D)main可作为用户标识符,用以命名任意一个函数作为主函数B以下叙述中错误的是»(A)C语言是一种结构化程序设计语言(B)结构化程序有顺序、选择和循环一种基本结构(C)使用三种基本结构构成的程序只能解决简单问题
1(D)结构化程序设计提倡模块化的设计方法C语言程序的基本单位是【函数】。编写C语言源程序时,需要使用【编辑】器将源代码输入到计算机中。C语言源程序中可以有多处注释。AC语言源程序中,main函数必须写在其他函数之前。B编写C语言源程序时,必须采用“缩进”方式。B第二章以下属于合法数据类型关键字的是。(A)Long(B)shot(C)char(D)doubelC以下不合法的数值常量是。(A)Oil(B)lei(C)8.0E0.5(D)OxabcdC以下正确的字符常量是。(A)T(B)(C)'(D)TD以下不合法的字符常量是o(A)"a"(B)'\77'(C)'
2(D)'\x5c'A表达式3.6-5/2+1.2+5%2的值是。(A)4.3(B)4.8(C)3.3(D)3.8以下均是合法常量的是。
3(A)038,.5e-6,OxE(B)12.,0Xc33,3.6e0(C).17,4eL5,Oade(D)0x6A,30_000,3.e7B以下均是非法常量的是o(A)0x2g,Off,E5(B),'\21',12,456(C)028,04567,Oxffff(D)Oxaa,'a',"a"A设有说明语句:inti=5;charc-A';doubled=3.14;,以下结果为整型的表达式是o(A)i/2+d(B)i/2*c(C)c+d/2(D)i/2+c+dB若变量均已正确定义并赋值,以下合法的赋值语句是.(A)x+n=i;(B)x=n%2.5;(C)x=y==5:(D)x=5=4+l;C以下变量说明语句中,合法的是O(A)float5_five=3.4:(B)int_xyz=29(C)doubleal=6.2e4;(D)shortdo=3;C设有说明语句:intx=l;doubley=1.0;,以下不符合C语言语法的表达式是(A)++x,y=x—(B)x=(int)(y/3)(C)x=x+10=x+y(D)(double)x/3
4c设有说明语句:intX,a,b,c;doubled=3.14;,以下不符合C语言语法的表达式是o(A)d%3(B)d+=-l(C)x=(a=-l,b=-3,a*b)(D)a+=(a=3)*(b=2)*(c=l)A以下能正确定义且赋初值的语句是o(A)intnl=n2=-l;(B)charc=32;(C)floatf;(D)doublex=12.3E2.5;B设有说明语句:chars="AA";,下面说法正确的是。(A)变量s中包含1个字符(B)变量s中包含2个字符(C)变量s中包含3个字符(D)说明语句不合法D设有说明语句:inti=2;,以下选项的四个表达式中与其他三个表达式的值不相同的是O(A)i++(B)i+=l(C)++i(D)i+1A若变量均已正确定义并赋值,以下合法的赋值表达式是o(A)x=3+b=x+3(B)x=(b=x+3,3+b)(C)x=3+b,b++,x+3(D)x+=3=x+3B若已定义x和y为double类型,表达式(x=l,y=x+3/2)的值是。(A)1(B)2(C)2.0(D)2.5与数学式子2乘以y的n次方除以(2x+l)对应的C语言表达式是.
5(A)2*y*n/(2*x+l)(B)2*y**n/(2*x+l)(C)2*pow(y,n)/(2*x+l)(D)2*pow(n,y)/(2*x+l)C设有说明语句:intk=7,x=12;,以下表达式中值为3的是.(A)x=k%5(B)x%=(k-k%5)(C)x%=k-k%5(D)x=5-(k%=5)D设有说明语句:intn=7,i=3;,执行赋值运算n%=i+l后,变量n的值是.(A)0(B)1(C)2(D)3D以下与k=i++完全等价的表达式是。(A)i=i+l,k=i(B)k=i,i=i+l(C)k=++i(D)k+=i+lB能正确表示数学关系:"-5=-5anda<=5(B)a>=-5ora<=5(C)a>=-5&&a<=5(D)a>=-5||a〈=5C以下选项中,当k为大于1的奇数时,值为。的表达式o(A)k%2==l(B)k/2(C)k%2!=0(D)k%2==0D若变量均已正确定义并赋值,以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是.(A)(x-y>0)(B)(x-y<0)(C)(x-y<0||x-y>0)(D)(x-y==O)C已知大写字母'A'的ASCII码是65,小写字母'a'的ASCII码是97,则字符常量'\101'
6是o(A)字符'A'(B)字符'a'(C)字符'e'(D)非法的常量A设有说明语句:inti;floatf;doubled;,表达式5-2*i+d/f值的数据类型为【】。double设有说明语句:chark='\77';,变量k中包含【1】个字符。1C语言中的基本数据类型包括整型、实型和【字符型】。字符型已知大写字母'A'的ASCH码是是,若变量k是int类型,则执行了语句:k='A'+2.8;后变量k的值是【】。67字符串"A\xllT\101C”的长度是[]o5设有说明语句:intk=5;doublet;,执行语句t=(double”;之后,变量k的数据类型是【】。int表达式2+sqrt(4)值的数据类型为[double]»double在VisualC++6.0环境中,一个char型变量在内存中占[1]个字节,一个int型变量在内存中占[4]个字节,一个double型变量在内存中占[81个字节。1;4;8若变量x、y均为int型,则表达式(x=3,x+3,y=3,x+y)的值是[】,表达式y=(y=3,x=y,x+3)的值是[]。6;6可以把一个字符常量赋给一个整型变量。A
7说明语句inttl=t2=10;可以把tl、t2定义成int型变量并初始化为10。Bkl=k2=k3=10;是一条合法的赋值语句。A可以把define定义为用户标识符,但不能把if定义为用户标识符。A设有说明语句:intx=3,y=5;,当执行语句x=x+y;y=x-y;x=x-y;后,变量x和y的值实现了交换。A在C语言的运算符中,条件运算符的优先级最低。B第三章设有说明语句:doublex=123.56;,对于语句printf("%-8.2e
8",x);,以下说法正确的是O(A)输出为-1.24e+002(B)输出为1.24e+002(C)输出为12.36e+001(D)输出格式描述符的域宽不够,不能输出Bprintf函数被称为输出函数。(A)字符(B)整数(C)格式(D)浮点Cscanf函数是一个函数。(A)标准库(B)用户定义(C)无参(D)地址Agetchar函数的原型声明包括在头文件中。(A)string,h(B)math,h(C)conio.h(D)stdio.hD在printf函数的”格式控制字符串"中,%5d表示。(A)输出宽度为5(B)输出5个数
9(C)输出数据时保留5位小数(D)输出5个dA设有说明语句:doublex;,下列选项中正确的是(A)scanf&x);(B)scanf("%f",&x);(C)scanfx);(D)scanf&x);D对语句scanf("枇枇枇”,&x,&y,&z);和语句scanf("%c,%c,%c",&x,&y,&z);的输入,以下说法正确的是。(A)都以空格作为间隔(B)前者以空格作为间隔,后者以逗号作为间隔(C)前者不以空格作为间隔,后者以逗号作为间隔(D)都以逗号作为间隔C以下程序段的输出结果是(符号口表示空格).doublex=3.14;printf(*|%5.Of|
10*,x);(A)13.14D|(B)(C)口口3.0(D),□□□3.|B语句printf("x=%10.5f
11”,12345.678);的输出结果是。(A)x=2345.67800(B)x=12345.6780(C)x=12345.678(D)x=12345.67800D对于如下程序段:intx=2010,y=2012;printf(*%d
12*,(x,y));
13以下叙述中正确的是O(A)输出结果为:2002(B)输出结果为:2012(C)输出结果不确定(D)运行时产生出错信息B以下程序运行时,若输入数据为:1111,则输出结果是ottinclude
14",y);}(A)22(B)20(C)18(D)11B设有说明语句:intx=3,y=5;,以下不合法的赋值语句是—(A)x*=3;(B)x/=y;(C)x+=3;(D)x||二y;D设有说明语句:intX;,执行语句x=10;x+=x-=x;后,变量x的值为.(A)0(B)10(C)20(D)30A设有说明语句:inti,j;charc;,若要通过语句scanf("%d%c%d”,&i,&c,&j);使变量i,j得到数值8,变量c得到字符'A',正确的输入是(符号□表示空格).(A)8,A,8(B)8OMJ8(C)8DA8(D)8A8D设有说明语句:inti,j,若从键盘给i、j输入数据,以下不正确的输入语句是O
15(A)scanf(*%d%d*,&i,&j);(B)scanfr%dW%d",&i,&j):(C)scanf("%d,;(D)scanf("%d%d”,i,j);D设有说明语句:floatx,y,z;,要通过语句scanf(飞&y,&z);给x赋值11.0,y赋值22.0,z赋值33.0,以下不正确的输入形式是.(A)11.0〈回车〉22.0〈回车〉33.0〈回车〉(B)11.0,22.0,33.0〈回车》(C)11.0〈回车〉22.033.0〈回车〉(D)1122〈回车〉33〈回车〉有程序段:inti;floatf;charname[20];scanf("%2d%f%s”,&i,&f,name);若从键盘上输入566777abc后,变量f的值是。(A)566777.0(B)6777.0(C)777.0(D)0.0B设有说明语句:charc;,不能用于判断变量c中的字符是否为大写字母的表达式是O(A)isupper(c)(B)'A'<=c<='Z'(C)'A'<二c&&c〈='Z'(D)(c<=z,-32)&&(,a-32<=c)B
16已知字符大写字母'A'的ASCII码是65,设有说明语句:charcl=A,,c2=,D,;,则语句printf(/z%d,%d
17”,cl,c2~2);的输出结果是。(A)A,B(B)A,68(C)65,66(D)65,68C设有说明语句:intx=l;,语句printf("%d
18”,-x++);的输出结果是。(A)-1(B)0(C)1(D)2A以下表达式中,不能将字符变量C中的大写字母转换为对应小写字母的是O(A)c=(c-A,)%26+,a(B)c=c+32(C)c=c」A'+'a'(D)c=('A'+c)%26-'a'D以下程序运行后的输出结果是Ottinclude
19*,a+b);)(A)a+b=10(B)a+b=30(C)10(D)30A若要求从键盘读入含有空格字符的字符串,应使用函数(A)getch(B)gets(C)getchar(D)scanfB以下四个程序中,完全正确的是O(A)#include
20{/*programming*/printf("programming!
21〃);}(A)ttinclude
22");}(B)^include
23z,);(C)include
24/,);)B以下程序的功能是:给r输入数据后计算半径为r的圆面积s。程序在编译时出错,出错的原因是o#include
25scanf("%d",&r);s=pi*r*r;printf("s二%f
26',s);}(A)注释语句书写位置错误(B)存放圆半径的变量r不应该定义为整型(C)输出语句中格式描述符非法(D)计算圆面积的赋值语句中使用了非法变量D设有说明语句:intk=l,m=2;doubled=7.3;,以下表达式中错误的是。(A)k>=m=k(B)k++(C)k%(int)d(D)d>m>kA设有说明语句:inta=2,b=3,c=4;,以下选项中值为0的表达式是。(A)(!a==l)&&(!b==0)(B)(ac?c:k);(A)3(B)2(C)1(D)0D以下程序运行后的输出结果是ottinclude
27”,x,y);
28}(A)10,01(B)02,12(C)102,10(D)102,12C以下4个选项中,不能看作一条语句的是。(A){;}(B)a=0,b=0,c=0;(C)if(a>0);(D)if(b==0)m=l;n=2;D已知大写字母'A'的ACSII码是65,设有说明语句:charch='B';,则语句printfch,ch);的输出结果是[]B,66以下程序运行后的输出结果是【】。♦♦include
2988以下程序运行后的输出结果是【】。ftinclude
30若在运行以下程序时输入:6565<回车),则输出结果是【】。#include
31printf("%s,%.6s","VisualC++”,"VisualC++");}VisualC++,Visual设有说明语句:doubled=l1.555;,语句printf("d=%Ifd);的输出结果是[]。d=l1.6;以下程序运行后的输出结果是:16,20。ttinclude
32语句printf("%4d”,123456789);的输出结果是:1234。Bprintf函数中的格式字符,不必区分大小写。Ba+=a=2;是一条合法的赋值语句,赋值后a的值为4。A以下程序运行时,若输入字母'g',则输出结果是:aottinclude
33Ascanf函数的功能是按格式控制字符串规定的格式,从指定的输入设备上输入数据。Ascanf函数中的地址表列是由地址项组成的。A第四章判断字符型变量C1是否为大写字母的正确表达式为O(A)'Z'<=cl<='Z'(B)(cl>=A?)&&(cl<=Z1)(C)('A'>:cl)||('Z'<=cl)(D)(cl>='a')&&(cl<='Z')B已知x=43,ch='A',y=0;则表达式(x>=y&&ch〈'B'&&!y)的值是.(A)0(B)语法错(C)1(D)“假”C设a=3,b=4,c=5,则逻辑表达式”!(a+b)*cT&&b+c%2"的值是.(A)-1(B)0(C)1(D)2C请从以下表达式中选出a为偶数时值为0的表达式。(A)a%2==0(B)!a%2!=0(C)a/2*2-2==0(D)a%2D能正确表示a和b同时为正或同时为负的逻辑表达式是.(A)(a>=0||b>=0)&&(a<0||b<0)(B)(a>=0&&b>=0)&&(a<0&&b<0)(C)(a+b>0)&&(a+b<=0)(D)a*b>0D
34能正确表示逻辑关系:”OWaW10”的C语言表达式是o(A)0<=a<=10(B)a>=0,a<=10(C)a>=0&&a<=10(D)a>=0||a<=10C对y在[3,23]或[100,200]范围内为真的表达式为.(A)(y>=3)&&(y<=23)&&(y>=100)&&(y<=200)(B)(y>=3)||(y<=23)||(y>=100)||(y<=200)(C)(y>=3)&&(y<=23)||(y>=100)&&(y<=200)(D)(y>=3)||(y<=23)&&(y>=100)||(y<=200)c在c语言中,if语句后的•对圆括号中,用以决定分支流程的表达式<(A)只能用逻辑表达式(B)只能用逻辑表达式或关系表达式(C)只能用关系表达式(D)可用任意表达式D为避免嵌套的条件语句if-else的二义性,C语言规定:else与配对。(A)缩排位置相同的if(B)其之前最近的if(C)其之后最近if(D)同一行上的ifB下列运算符中优先级最低的是o(A)*=(B)&&(C)+(D)!=A设ch是字符型变量,其值为A,且有下面的表达式:ch二!(ch〉='A'&&ch<=,z')?ch:(ch+32),则表达式的值是。
35(A)A(B)a(C)2(D)zB设ch是字符型变量,其值为b,且有下面的表达式:ch!=(ch>=,a*&&ch<=,z)?ch:(ch-32),则表达式的值是。(A)B(B)b(C)1(D)0B设a=4,b=3,c=2,d=l,则表达式avoidmain(){inta=5,b=4,c=3,d=2;if(a>b>c)printf("%d
36",d);elseif((c-l>=d)==1)printf("%d
37”,d+1);elseprintf("%d
38”,d+2);}(A)2(B)3(C)4(D)5B
39表达式2<34&8<=(a=10)的结果是o(A)0(B)1(C)False(D)TrueB若i为整型变量,且有程序段如下,则输出结果是i=122;if(i%2)printf('####");elseprintf(〃****");(A)####(B)****(C)####****(D)有语法错误,无输出结果B若变量都已正确说明,则以下程序段输出为ointa=2,b=l,c,d;if(a==b)c=d=a;elsec=b;d=b;printf("c=%d,d=%d*,c,d);(A)c=l,d=l(B)c=l,d=2(C)c=2,d=l(D)c=2,d=2A请阅读以下程序:#include
40if(a=b+c)printf('###");elseprintf("&&&");}以上程序。(A)有语法错不能通过编译(B)可以通过编译但不能连接(C)输出&&&(D)输出###C以下为不正确的if语句。(A)if(x
41〃,m-);)(A)4(B)5(C)6(D)7C设inta=2,b=3,x=1;则执行语句if(a>2)if(b>2)x=2;elsex=3;
42后x的值是o(A)0(B)1(C)2(D)3B以下if语句语法正确的是o(A)if(x>0)(B)if(x>0)printf(",){x=x+y;printf("%f”,x);}elseprintf-x);elseprintf("%f”,-x);(C)if(x>0)(D)if(x>0){x=x+y;printfC%f〃,x);};{x=x+y;printfx)}elseprintf-x);elseprintf-x);A读程序,程序运行结果是【】。#include
43”,i,j,k);)(A)1,0,6(B)1,0,7(C)1,1,6(D)1,1,7B读程序,程序运行结果是【】。ftinclude
44switch(x){case0:b++;case1:a++;case2:a++;b++;}printf(*a=%d,b=%d
45”,a,b);)(A)a=2,b=l(B)a=2,b=2(C)a=l,b=2(D)a=l,b=l与y=(x>O?l:x〈O?T:O);的功能相同的if语句是—(A)if(x>0)y=l;(B)if(x)elseif(x<0)y=-l;if(x>0)y=l;elsey=0;elseif(x<0)y=-l;(C)y=-l;(D)y=0;if(x)if(x>=0)if(x>O)y=l;if(x>O)y=l;elseif(x==0)y=0;elsey="l;elsey=-l;A读程序,程序运行结果是【】。ftinclude
46elsey=l.0;printfC%4.lf
47',y);}(A)0.0(B)0.5(C)1.0(D)不确定B以下程序段中不能根据x值正确计算出y值的是。(A)if(x>0)y=l;(B)y=0;elseif(x==0)y=0;if(x>0)y=l;elsey=-l;elseif(x<0)y=-l;(C)y=0;(D)if(x>=0)if(x>=0);if(x>0)y=l;if(x>0)y=l;elsey=0;elsey=~l;elsey=-l;C以下程序段中与语句k=a>b?(b>c?l:O):O;功能等价的是o(A)if((a>b)&&(b>c))k=l;(B)if((a>b)||(b>c))k=lelsek=0;elsek=0;(C)if(a<=b)k=0;(D)if(a>b)k=l;elseif(b<=c)k=l;elseif(b>c)k=l;elsek=0;A假定w、x、y、z、m均为int型变量,有如下程序段:w=l;x=2;y=3;z=4;m=(w 48(A)4(B)3(C)2(D)1D若有条件表达式(expression)?a++:b",则以下表达式中能完全等价于表达式(expression)的是。(A)(expression=。)(B)(expression!=0)(C)(expression==1)(D)(expression!=1)若有以下定义:floatx;inta,b;则正确的switch语句是。(A)switch(x)(B)switch(x){case1.0:printf('* 49");{case1:printf("* 50");case2.0:printf('** 51");}case2:printf("** 52");}(C)switch(a+b)(D)switch(a+b);{case1,2:printf('* 53");{case1:case2:printf('* 54");}D已知a=2.5,b=2,c=3.6,表达式a>b&&c>a||a〈b&&!c>b的值是[JO1表示〃整数X的绝对值大于2〃时值为“真”的C语言表达式是【】。x>2||x<-2C语言提供的三种逻辑运算符是&&、||和【10।已知a=3,b=-4,c=5,表达式!(a>b)+(b!=c)|(a+b)&&(b-c)的值是[]o1表达式(3+a)(b+8)+sin45°Wlnx的C语言表达式是[]。(3+a)*(b+8)+sin(45)<=log(x)表达式且aW3的C语言表达式是【】。(0<=a&&a<=5)&&(a!=3) 55以下程序对输入的一个小写字母,将字母循环后移5个位置后输出。如'a'变成'f',“'变成'1/。请在空中填入正确内容。#include 56if(a){if(b<0)c=0;}elsec++;printf("%d 57',c);}3运行下面的程序,从键盘上输入3,ttinclude 58",x-);}程序运行结果是【3】。3读程序,程序运行结果是【】。ftinclude 59*,m);elseprintf(*%c 60*,m);}‘c'】。读程序,运行时输入2.0(回车)#include 61voidmain(){floata,b;scanf("%f",&a);if(a>10.0)b=l.0/a;elseif((a<0.5)&&(a!=2.0))b=1.0/(a+2.0);elseif(a<10.0)b=1.0/a;elseb=10.0;printf("%f 62",b);)程序运行结果是【100.500000switch选择结构中必须有default子句。B如果x〉y或a0)z=x;是正确的。Ainta=l,b=0,c=l;,则!(a+b)+c-0&&b+c/2的值为1。B语句if®x=l;与if(a=0)x=l;等价。Bif(x>0){x=x+y;printf("%f",x);}elseprintf-x);语句语法是正确的。Aif语句后面的表达式并不限于是关系表达式或逻辑表达式,而可以是任意表达式。if语句中可以再嵌套if语句。A 64”,y);}(A)y=0(B)无限循环,无结果输出(C)y=l(D)y=~lD设有程序段:intx=0,s=0;while(x!=0)s+=++x;printfs)则运行程序段后o(A)输出0(B)输出1(C)控制表达式是非法的(D)执行无限次A设有程序段:intk=10;while(k=0)k=k-l;,则下面描述正确的是<>(A)while循环执行10次(B)循环是无限循环 65(C)循环体语句一次也不执行(D)循环体语句执行一次C语言的do-while循环中,循环由do开始,用while结束;而且在while表达式后面的不能丢,它表示do-while循环的结束。(A) 66(B)(C)“%”(D)“,”B以下能正确计算1X2X3X4...X10的程序段是o(A)do{i=l;s=l;s=s*i;i++;}while(i<=10);(B)do{i=l;s=0;s=s*i;i++;}while(i<=10);(C)i=l;s=l;do{s=s*i;i++;}while(i<=10);(D)i=l;s=0;do{s=s*i;i++;}while(i<=10);C以下描述中正确的是o(A)由于do-while循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。(B)do-while循环由do开始,用while结束,因此在while(表达式)后无需加分号*(C)在do-while循环体中,一定要有能使while后面表达式的值变为“假”的操作。(D)do-while循环中,根据情况可以省略while。C下面程序段的输出结果是Ointx=3;do{printf("%3d”,x-=2);}while(!(-x));(A)12(B)32(C)23(D)1-2DC语言的for语句中的表达式可以部分或全部省略,但两个不可省略。当三个表达式均省略后,因缺少判断条件,循环可能会无限制地进行下去,形成死循环。 67(A)(B)++对于for(表达式:;表达式3)可理解为o(A)for(表达式;0;表达式3)(B)for(表达式:1;表达式3)(C)for(表达式;表达式1;表达式3)(D)for(表达式;表达式3;表达式3)B若i为整型变量,则以下循环执行的次数是,for(i=2;i==0;)printf('%d”,i-);(A)无限次(B)0次(C)1次(D)2次B以下for循环的执行次数是。for(x=0,y=0;(y=3)&&(x<4);x++,y++);(A)是无限循环(B)循环次数不定(C)执行4次(D)执行3次C设i为整型量,执行循环语句£。1'0=50;1>=0;1=10);后,1值为。(A)-10(B)0(C)10(D)50A下面有关for循环的正确描述是。(A)for循环只能用于循环次数已经确定的情况。(B)for循环是先执行循环体语句,后判断表达式。(C)在for循环中,不能用break语句跳出循环体。(D)for循环的循环体语句中,可以包含多条语句,但要用花括号括起来。D下面有关for循环的正确描述是o(A)for语句的三个表达式都是可以省略的,但分号”绝对不能省略。(B)for语句的三个表达式都是可以省略的,可以写成for()。(C)在for语句中,至少会执行循环体语句一次。(D)for(;;);是一条语法上错误的语句。 68A在下列选项中,没有构成死循环的程序段是o(A)inti=100;while(1){i=i%100+l;if(i>100)break;}(B)for(;;);(C)intk=1000;do{-k;}while(k);(D)ints=36;while(s>=0);-s;C以下程序段的输出结果是ointx,i;for(i=l;i<=100;i++){x=i;if(++x%2=0)if(++x%3==0)if(++x%7=0)printf('%d",x);}(A)2567(B)2668(C)2769(D)2870A以下程序段的输出结果是o#include 69以下正确的描述是o(A)continue语句的作用是结束整个循环的执行。(B)只能在循环体内和switch语句内使用break语句。(C)在循环体内,使用break语句和使用continue语句的作用是相同的。(D)从多层循环嵌套中退出时,只能使用goto语句。B下面程序段,ofor(t=l;t<=100;t++){scanf&x);if(x<0)continue;printf("%3d”,t);}(A)当x<0时整个循环结束(B)当x>=0时什么也不输出(C)printf函数永远也不执行(D)最多允许输出100个非负整数D以下为死循环的程序段是o(A)for(i=l;;){if(++i%2==0)continue;if(++i%3==0)break;}(B)shortinti;i=100;do{if(i<0)break;}while(++i);(C)for(i=l;;)if(++i<10)continue;(D)i=100;while(i--);以下程序输出结果为。ttinclude 70{b=i%3;while(b―>=0)k++;}printf(*%d,%d 71”,k,b);}(A)3,-1(B)6,-1(C)3,0(D)6,-2D以下描述正确的是o(A)goto语句只能用于退出多层循环。(B)switch语句中不能出现continue语句。(C)只能用continue语句来终止本次循环。(D)在循环中break语句不能独立出现。C以下不正确的描述是o(A)break语句不能用于循环语句和switch语句外的任何其他语句。(B)在switch语句中使用break语句或continue语句的作用相同。(C)在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行。(D)在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环。B以下叙述正确的是O(A)for循环中的break;语句表示:当条件成立时中止程序执行。(B)for循环中的continue;语句表示:当条件成立时中止本层循环。(C)for循环中的break;语句表示:当条件成立时中止本层循环。(D)for循环中的break;语句表示:当条件成立时暂停本次循环。C下面程序的运行结果是O#include 72voidmain(){inti,j,x=0;for(i=0;i<2;i++)(x++;for(j=0;j<=4;j++){if(j%2)continue;x++;}x++;}printf(*x=%d 73*,x);)(A)x=6(B)x=8(C)x=10(D)x=12C下面程序段输出的i值是o#include 74",i);}(A)10(B)11(C)12(D)13C下面程序段在执行完成后,a的值为:intj=0,k=0,a=0;while(j<3) 75!j++;a=a+l;k=0;while(k<=2){k++;if(k%2!=0)continue;a=a+l;}a=a+l;}(A)6(B)8(C)9(D)10C下面程序的运行结果是o#include 76",a);}4当运行下面程序时,从键盘键入Hello?〈回车),则下面程序的运行结果是[#include 77Ifmmp执行下面程序后,k值是【】。#include 78{inta=0,i;for(i=l;i<=5;i++)a+=i*i;printf("%d 79",a);}55下列程序的输出结果为【】。#include 80',x);}x=6设x和y均为int型变量,则执行以下的循环后,y值为【】。for(y=l,x=l;y<=50;y++){if(x>=10)break; 81if(x%2==l){x+=5;continue;}x-=3;}6在执行以下程序时,如果从键盘上输入:ABCdef〈回车》,则输出为【】。#include 82*){if(ch>=,A*&&ch<='Z')ch=ch+32;elseif(ch>=,a'&&ch<,z')ch=ch-32;printf(^%c^,ch);}printf(' 83");}abcDEF运行以下程序后,如果从键盘上输入student*回车),则输出结果为【】。#include 84”,vl,v2);}7,7运行下面程序后,输出结果为【6】。 85voidmain(){inti,j,m=0;for(i=l;i<=10;i+=4)for(j=3;j<=10;j+=4)m++;printf("%d 86",m);)6下面程序的功能是将从键盘上输入的•对数,由小到大排序输出。当输入一对相等数时结束循环。请将程序补充完整。#include 87”,a,b);scanf("%d%d”,&a,&b);}}a!=b下面程序的功能是将小写字母变成对应大写字母后的第二个字母。其中y变成A,z变成Bo请将程序补充完整。#include 88) 89{if(c>=,a*&&c<=,z)[];if(c>,Z'&&c<=Z'+2)[];printfc);}}c-=30c-=26下面程序的功能是从键盘输入的一组字符中分别统计出大写和小写字母的个数,当输入换行符时结束输入。请将程序补充完整。#include 90”,m,n);}c=getchar0下面程序段是从键盘输入的字符中统计数字字符个数,用换行符结束循环。请将程序补充完整。intn=0,c;c=getchar(); 91{if([J)n++;c=getchar();}c!=, 92c>='O'&&c<=9'下面程序的功能是计算1-3+5-7+..・-99+101的值。请将程序补充完整。#include 93",s);}t=t*it=-t/i鸡兔共有30只,脚共有90个,下面程序是计算鸡兔各有多少只。请将程序补充完整。#include 94\x,y);)}x*2+y*4==90下面程序的功能是从3个红球、5个白球、6个黑球中任意取出8个球,且其中必须有白球,输出所有的方案。请将程序补充完整。 95voidmainO{inti,j,k;printf(" 96红白黑 97");for(i=0;i<=3;i++)for([]:j<=5;j++){k=8-i-j;if([1)printf(*%3d%3d%3d 98*,i,j,k);))j=lk>=0&&k<=6下面程序的功能是用do-while语句求1-1000之间满足“用3除余2、用5除余3、用7除余2”的数,且一行只打印5个数。请将程序补充完整。#include 99");}i=i+l:}while(i<1000);)i%3==2&&i%5==3&&i%7==2j%5==0while语句do-while语句无论什么情况下,二者的执行结果都一样。B 100C语言的while、do-while和for几个循环语句,可以相互嵌套。A用do-while语句构成循环时,只有在while后的表达式为非0时结束循环。B要使for(表达式1;表达式2;表达式3){循环体}不形成死循环,表达式2一定不能省略。Bwhile循环的while。后没有分号,而do-while循环的while。后一定要有一个分号。Acontinue语句的功能就是结束本层循环。B对用goto语句和if语句构成的循环,不能用break语句和continue语句进行控制。Abreak语句不能用于循环语句和switch语句之外的任何其它语句。A在多层循环嵌套中,可以共用,个continue结束各层的本次循环。B三种循环(for循环、while循环和do-while循环)可以互相嵌套,但必须使用相同的循环控制变量。B第六章在VC6.0中有定义语句:shortinta[15];则数组a占用的字节数是。(A)15(B)30(C)60(D)120B若有数组定义语句:inta[3]={6};floatb[3];doublec[3]={l.2,-56.7,38};则以下判断哪一个不成立。(A)a[0]的初值为6(B)的初值为-56.7(0b[l]的初值为0(D)b[0]的初值为随机值C 101有定义语句:inti;doublea[4];若通过键盘输入为数组a的4个元素赋值,输入时不同数据之间使用默认分隔符,则下面正确的输入语句是。(A)for(i=0;i<4;i++)scanf&a[i]);(B)for(i=0;i<4;i++)scanf;(C)for(i=0;i<4;i++)scanfC*%lf 102*,&a[i]);(D)for(i=0;i<4;i++)scanf("%f,",&a[i]);A若有数组定义语句:inta[][3]={{2},{4,5},{6,8,9}},b[][3]={2,4,5,6,8,9};则a[l][2]和b[l][2]的初值分别为o(A)5,4(B)0,4(C)随机值,9(D)0,9D以下二维数组定义中正确的是O(A)inta[][4];(B)floatb[3]口;(C)#defineN5.6doublec[(int)N][3];(D)ttdefineN3doubled[N++][5];C已知以下程序段的运行结果为“654321”,则下划线所在位置应填入的代码是ttdefineN6inta[N]={l,2,3,4,5,6},i,t;for(i=0;i<;i++){t=a[i];a[i]=a[N-i-l]:a[N-i-l]=t;}for(i=0;i 103在VC6.0中定义二维数组并初始化:inta[][3]={1,2,3,4,5,6,7);则以下判断中不正确的是.(A)数组a包含9个元素(B)的初值为6(0a[2][2]的初值为0(D)在程序中引用a[2][3]会导致编译错误D以下程序段的输出结果是.inta[4][4]={{1},{2,3},{4,5,6},{7,8,9,10}},s=0,i;for(i=0;i<4;i++)s+=a[i][i]+a[i][3-i];printf(*%d 104*,s);(A)20(B)32(C)12(D)随机值B若有定义语句:inta[10]={l,2,3,4,5,6,7,8,9,10};charc='a';则值为4的合法表达式是o(A)a[4](B)a['d,-c'](C)a[*d*-c](D)a[100.0~c]C以下在VC6.0中会导致编译错误的语句是O(A)#defineN'6'inta[N-0x30]={N};(B)inta[]={21.3,0.96,5,47.8};(C)inta[][3]={10,20,30,40);(D)inta[5]={l,2,3,4,5,6,7};D以下程序段的输出结果是Ointa[7]={9,15,7,-3,0,11,15},m,n,i;for(m=n=0,i=l;i<7;i++)if(a[i]>a[m])m=i;elseif(a[i] 105,z,m,n); 106(A)15,-3(B)6,3(C)1,3(D)2,4C以下说法正确的是o(A)可以在程序的不同位置对数组的长度进行动态更新。(B)二维数组可以看成是特殊的一维数组,它的每个元素都是一个一维数组。(0即使不对数组进行初始化,系统也会自动为数组元素赋予默认初值。(D)在定义二维数组并对其进行初始化时,允许省略列下标。B以下程序段用冒泡法对数组a进行由大到小排序,则下划线所在位置应填入的代码是Ointa[5]={29,47,14,110,8},i,j,t;for(i=0;i<=3;i++)for(j=0;j<=;j++)if(a[j] 107(A)for(i=0;i<5;i++)a[i]=getchar();(B)for(i=0;i<5;i++)a[i]+='a';(C)for(i=0;i<5;i++)printf(*%f 108*,a[i]);(D)for(i=0;i<5;i++)scanf(*%lf*,a);D下列程序段在运行时,若通过键盘输入的数据为"1347923151132192”,则输出结果是ointa[10],b[10],i,j,cnt=0;for(i=0;i<10;i++){scanf&a[i]);for(j=2;j<=a[i]/2;j++)if(a[i]%j==0)break;if(j>a[i]/2)b[cnt++]=a[i];)for(i=cnt-l;i>=0;i—)printf("%d",b[i]);(A)2191123473(B)2311192347(C)12311192347(D)21911234731D以下程序段用选择法对数组a进行由小到大排序,则下划线所在位置应填入的代码是Ointa[5]={86,12,57,39,165},i,j,t;for(i=0:i<=3;i++)for(j=;j<=4;j++)if(a[j] 109A数组是C语言的一种构造数据类型,其元素的类型可以是整型、实型或者字符串类型。B若需定义一个包含2行3列共6个元素的二维整型数组a,并对其最后1行的3个元素进行初始化,可用如下语句实现:inta[][3]={{5,6,7}};BC语言程序在编译过程中,编译器会检查数组下标是否越界。B以下程序段在运行时,若通过键盘输入“123456”,则输出结果为“142536”。inta[2][3],b[3]j;for(i=0;i<2;i++)for(j=0;j<3;j++){scanf(*%(!*,&a[i][j]);b[j][i]=a[i][j];}for(i=0;i<3;i++)for(j=0;j<2;j++)printf('%d",b[i][j]);A在定义数组时,只允许使用整型常量表达式来定义数组的长度,其值必须是正整数。B对于数值型数组而言,只能单个引用数组元素,不能一次引用整个数组。A若在以下程序段的下划线位置添加代码,则输出结果为数组a包含的两位数奇数。inta[8]={5,8,22,13,75,46,129,63),i;for(i=0;i<8;i++)if()printff%d;B以下程序段的输出结果是:15101051。 110inta[6][6],i,j;for(i=0;i<6;i++){a[i][0]=l;a[i][i]=l;}for(i=2;i<6;i++)for(j=l;j=0;i—)printfa[i]);A数组名是一个【地址】常量,不能对它进行自增、自减和赋值运算。地址以下程序段用折半查找法在数组a中查找指定数值x,请填空。doublea[7]={1.5,6.2,8.94,11.3,14.9,20.1,35.7},x;intlow=0,high=6,mid;scanf&x);while(low<=high){ 111mid=(low+high)/2;if(a[mid]>x)[]elseif(a[mid] 112”,x);break;}}if(low>high)printf("数组中不存在数值%f 113”,x);high=mid-1low=mid+l以下程序段的输出结果是【】Ointa[4][4]={l,2,3,4,5,6,7,8,9,10),i,j,s=0;for(i=0;i<4;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%d 114",s);31以下程序段通过键盘输入为数组中的所有元素赋值,请填空。inta[10],i=0;doscanf[]);while(i<10);&a[i++]以下程序段将数值k插入到有序数组a中,操作完成后数组a保持有序,请填空。inta[10]={3,5,8,12,20,39},k,n=6,i=0,j;scanf("%d",&k);while([])i++;for(j=n-l;j>=i;j—)a[j+l]=a[j]; 115a[i]=k;a[i] 116”,d);d+=month[i]以下程序段重排二维数组的每1行:以每行的第1个元素m为比较标准,该行中小于m的数都放在m的左侧,大于m的数都放在m的右侧。请填空。inta[3][6]={{6,8,9,5,7,2},{3,1,5,6,2,8},[8,3,8,4,9,7}},m,n,i,j,k;for(i=0;i<3;i++){m=a[i][0]:for(j=l;j<6;j++)if(a[i][j] 117(D)如果函数体为空,则函数最外层的一对花括号可以省略C若有函数定义:intfun(){doublex=23.5;returnx;},则函数的返回结果是o(A)23(B)23.0(C)23.5(D)24A在函数调用过程中,如果函数A调用函数B,函数B又调用函数A,则这种函数调用被称为o(A)间接递归调用(B)直接递归调用(C)间接循环调用(D)直接循环调用A以下程序的输出结果是O#include 118",i);}(A)11(B)10(C)8(D)9D关于函数调用时的参数传递,以下错误的描述是o(A)实参可以是常量、变量或表达式(B)形参可以是常量、变量或表达式(0实参与形参的个数相等、类型一致(D)实参必须有确定的赋值 119B若有以下程序,则下划线所在位置应填入的语句是—#include 120fun(a,5);for(i=0;i<5;i++)printf("%d)(A)13579(B)31975(097531(D)编译时报错 121在C语言程序中定义全局变量,如果该变量使用关键字static作为存储类别说明符,则它的作用域是o(A)整个程序范围(B)定义该变量的源文件范围(0main函数内部(D)从定义该变量的位置开始直至程序结束B若有数组定义语句inta[6];和函数调用语句fun(a);则在fun函数的定义中,对形参数组array的错误定义方式是。(A)voidfun(intarray[intN=6])(B)voidfun(intarray[10])(C)voidfun(intarray[])(D)voidfun(intarray[3])A以下程序执行完毕后,变量res的值是o#include 122(B)在函数中最多只能有一条return语句(0一个函数不可能既是被调用函数,又是主调函数(D)如果函数值的类型与返回值的类型不一致,以函数值类型为准D以下程序执行完毕后,变量s的值是O#include 123*,fun(7));} 124(A)105(B)2(C)35(D)递归无法正常结束D以下说法错误的是.(A)局部变量使用static作为存储类别说明符,其生存期将得到延长(B)自动变量一定是局部变量(0全局变量使用static作为存储类别说明符,其作用域将被扩大(D)寄存器变量的分配方式采用动态分配C下列程序在运行时,若通过键盘输入的数据为“24”,则输出结果是.#include 125(A)在函数定义时,如果不明确指定函数的返回值类型,则默认返回值类型为“void”(B)所有的函数都是平行的,一个函数并不从属于另一个函数(0属于一个C语言程序的不同文件中不允许定义同名的全局变量(D)函数被调用时形参才分配存储单元,函数调用结束后形参不释放占据的存储单元B在C语言中定义无参函数时,函数名后的一对圆括号可以保留,也可以省略。B被调用函数执行过程中形参值的变化不会影响主调函数中的实参值。A以下函数的功能是计算1+1/2+1/3+...+l/nodoublefun(intn){inti;doubles=0.0;for(i=l;i<=n;i++)s+=l/i;returns;}B如果被调用函数的定义出现在主调函数之前,必须使用函数原型对其进行声明。B以下程序的输出结果是:234567。#include 126fun(a);for(i=0;i<6;i++)printf(zz%d”,}A在函数中使用全局变量,可以得到一个以上的处理结果。AC语言不允许嵌套定义函数,因此在main函数内部不可能出现“doublefun(inta,floatb);”这样的语句。B在定义静态局部变量时如果不对其进行初始化,则系统会自动为该变量赋默认初值。A以下程序的功能是输出二维数组中每行元素的平均值,则在下划线所在位置应填入的代码是“avg(x)”。#include 127在下划线所在位置应填入的代码是wgcd(n,nftn)w。intgcd(intm,intn){if(n==0)returnm;elsereturn;)A若有函数定义:staticintfun(){},表明fun函数只能被所在文件内的函数调用,而不能被其他文件内的函数所调用。A在一个函数调用过程中又调用另一个函数称为函数的【】。嵌套调用以下程序的功能是输出1-3+5-7+..・+45-47+49的运算结果,请填空。#include 128/z,fun(50));}s+=t*i以下程序的功能是将二维数组中每行的最大值与该行的第一个元素进行互换,请填空。#include 129if(m!=0){i=x[m];x[m]=x[0];x[0]=i;}}voidmain(){inta[3][4]={{6,9,15,10},{24,17,8,16},{33,29,7,40}},i;for(i=0;i<3;i++)[];}fun(a[i])以下程序执行完毕后,变量x的值是【】。#include 130}456123以下程序的功能是输出l+(l+2)+(l+2+3)+(l+2+3+4)的运算结果,请填空。#include 131voidfun(intx){inta[5],i,j;a[t++]=x;if(t=5)for(i=0;i<4;i++)for(j=i+l;j<5;j++)if(a[i]>a[j]){t=a[i];a[i]=a[j];a[j]=t;}}voidmain(){inta[5]={9,4,5,8,7},i;for(i=0;i<5;i++)fun(a[i]);for(i=0;i<5;i++)printf(*%d”,}94587第八章若有语句:inti,*p=&i;则均表示变量地址的选项是(A)*&p,*p,&i(B)i,p,&*i(C)*&i,&i,*p(D)&i,p,&*pD以下程序的输出结果是o#include 132fun(&x,&y);printfC%d,%d 133z,,x,y);}(A)5,8(B)8,5(C)程序运行时报错(D)程序编译时报错C若有语句:intx=6,*p=&x;则下面正确的表达式是o(A)++&x(B)(*p)—(C)&(x+5)(D)p=1000B若有语句:inta[10],*pl=a+8,*p2=&a[3];则pl-p2的值是。(A)20(B)4(C)16(D)5D以下程序段执行完毕后,变量a和b的值分别是ointa=4,b=5,*pl=&a,*p2=&b;a=2*(*pl%-*p2)+5;b=*pl**p2++;(A)13,65(B)-3,-15(C)-3,-18(D)13,78A以下程序段调用scanf函数为变量x赋值,则填入下划线所在位置的错误代码是Ointx,*p=&x;scanf;(A)&x(B)*p(C)p(D)&*pB若有语句:inta[]={l,3,2,7,3,4},*p=a+3,k;则变量k的值不等于3的选项是o(A)k=(p++,*p++)(B)k=(p-=2,*p-)(0k=(p—,*—p)(D)k=(p++,*++p) 134D以下程序段在运行时,若通过键盘输入“26975”,则输出结果是ointa[5],*p,t;for(p=a;pvoidfun(int*p,int*q){int*t;if(*p>*q){t=p;p=q;q=t;}}voidmain(){inta=13,b=9;fun(&a,&b);(A)9,13(B)13,13(C)13,9(D)9,9c以下程序输出数组a中的最小值,则下划线所在位置应填入的代码是#include 135intfindmin(int*p,intn){int*m,*q=p+n;for(m=p;p 136",findmin(a,6));)(A)p 137printf*(a-l));}while(x);voidmainO(intx=6985,a[50];fun(x,a);}(A)程序能正常运行,输出结果为5896(B)程序编译时报错,因为形参数组名不能进行自增运算(0程序能正常运行,输出结果为6985(D)程序能正常运行,输出结果为随机数A若有函数定义:doublefun(inta[10]){...},则在对该函数进行原型声明时,错误的声明语句是o(A)doublefun(int[]);(B)doublefun(intb[10]);(C)doublefun(inta);(D)doublefun(int*a);若有语句:intx,*p=&x;则与该语句等价的语句是o(A)intx,*p;*p=&x;(B)intx,*p;p=&x;(C)intx,*p;*p=x;(D)intx,*p;p=x;B当两个指针变量指向同一数组时,两个指针变量相减的差值即为两个指针变量相隔的字节个数。B 138如果某个指针变量赋值为0,表示该指针变量不指向任何变量。A若有语句:intx□二{5,7,3,8},*p=x+2,y;y=++*p--;则变量y的值是3。B若有函数定义:intfun(int*a){return*a;},则函数的返回值是形参a中存放的地址值。B以下程序段的功能是交换变量a和b的值。inta=9,b=7,*p=&a,*q=&b;*p=*p+*q-(*q=*p);A以下程序段在数组a中查找数值x,则在下划线所在位置应填入的代码是“*p!=x"。doublea[5]={l.4,0.78,23.6,-4.5,19.3),x,*p=a;scanf&x);for(p=a;;p++);if(p 139");elseprintf(*NotFind! 140");B 141intx=61,a[100],*p=a;while(x){*p++=x%8;x=x/8;}for(p=p_l;p>=a;p-){printf("%d",*p);}A以下程序执行完毕后,全局变量X和局部变量r的值分别是0和5o#include 142#include 143fun(&x,16,1); 14415以下程序对数组a进行由大到小排序,请填空。#include 145fun(a,&n)以下程序段的输出结果是【】ointa[5]={6,5,9,8,*q;for(p=q=a+2;q*q){*p=*p+*q;*q=*p-*q;*p=*p-*q;}for(p=a;p
此文档下载收益归作者所有