- 388.50 KB
- 2022-04-22 11:51:30 发布
- 1、本文档共5页,可阅读全部内容。
- 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
- 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
- 文档侵权举报电话:19940600175。
'选择题部分第一章C语言概述选择题1、一个C程序的执行是从______。A、本程序的main函数开始,到main函数的结束B、本程序文件的第一个函数开始,到本程序文件的最后一个函数的结束C、本程序文件的main开始,到本程序文件的最后一个函数的结束D、本程序文件的第一个函数开始,到本程序文件的main函数的结束2、以下叙述正确的是______。A、在C程序中main函数必须位于程序的最前面B、C程序的每行中只能写一条语句C、C语言本身没有输入输出语句D、在对一个C程序进行编译的过程中,可发现注释中的错误3、以下叙述不正确的是______。A、一个C源程序可由一个或多个函数组成B、一个C源程序必须包含一个main函数C、C程序的基本组成单位是函数D、在C程序中,注释说明只能位于一条语句的后面4、C语言规定,在一个源程序中,main函数的位置______。A、必须在最开始 B、必须在系统调用的库函数的后面 C、可以任意 D、必须在最后5、一个C语言程序是由______。A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成
(ACDCB)第三章数据类型、运算符与表达式(红色显示的部分为参考答案)1、如果x、i、j和k都是int型变量,则计算下面表达式后,x的值为______。 x=(i=4,j=16,k=32)A.4 B.16 C.32 D.522、设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是______。A.7 B.8 C.6 D.23、下列四组选项中,均不是C语言关键字的选项是______。A.defineIFtype B.getccharprintf C.includescanfcase D.whilegopow4、下列四组选项中,均是C语言关键字的选项是______。A.autoenuminclude B.switchtypedefcontinue C.signedunionscanf D.ifstructtype5、下列四组选项中,均是不合法的用户标识符的选项是______。A.AP_0do B.floatgoto_A C.b-agotoint D._123tempINT6、C语言中的标识符只能由字母、数字、下划线三种字符组成,且第一个字符______。A.必须为字母 B.必须为下划线 C.必须为字母或下划线 D.可以是字母、数字、下划线中任意一种字符7、下列四组选项中,均是合法的整型常量的选项是______。A.160 -0xffff 011 B.-0xcdf 017 0xe C.-01 986,012 0668 D.-0x48a 2e5 0x8、下列四组选项中,均是不合法的整型常量的选项是______。
A.--0f10xffff0011 B.-0xcdf01712,456 C.-0189995e2 D.-0x48eg-06803f8、下列四组选项中,均是不合法的浮点数的选项是______。A.160. 0.12 e3 B.123 2e4.2 .e5 C.-.18 123e4 0.0 D.-e3 .234 1e39、下列四组选项中,均是合法的浮点数的选项是______。A.+1e+1 5e-9.4 03e2 B.-.60 12e-4 -8e5 C.123e 1.2e-.4 +2e-1 D.-e3 .8e-4 5.e-010、下列四组选项中,均是合法的转义字符的选项是______。A.""" "\" "n" B."" " 17" """ C." 18" "f" "xab" D."\0" "101" "x1f"11、下列四组选项中,均是不合法的转义字符的选项是______。A.""" "\" "xf" B."1011" "" "a" C." 11" "f" "}" D."abc" "101" "x1f"12、下面正确的字符常量是______。A."c" B."\"" C."W" D.""13、下面四个选项中,均是不正确的8进制数或16进制数的选项是______。A.016 0x8f 018 B.oabc 017 0xa C.010 -0x11 0x16 D.0a12 7ff -12314、下面四个选项中,均是正确的8进制数或16进制数的选项是______。A.-10 0x8f -011 B.0abc -017 0xc C.0010 -0x11 0xf1 D.0a12-0x123 -0xa15、下面四个选项中,均为正确的数值或字符常量的选项是______。A.0.0 0f 8.9e "&" B."a" 3.9E-2.5 1e1 """ C."3" 011 0xff00 0aD.+001 0xabcd 2e2 50.16、下面不正确的字符串常量是______。
A."abc" B."12"12" C."0" D.""17、已知各变量的类型说明如下: intk,a,b; unsignedlongw=5; doublex=1.42;则以下不符合C语言语法的表达式是______。A.x%(-3) B.w+=-2 C.k=(a=2,b=3,a+b) D.a+=a-=(b=4)*(a=3)18、已知各变量的类型说明如下: inti=8,k,a,b; unsignedlongw=5; doublex=1.42,y=5.2;则以下符合C语言语法的表达式是______。A.a+=a-=(b=4)*(a=3) B.a=a*3=2 C.x%(-3) D.y=float(i)19、以下不正确的叙述是______。A.在C程序中,逗号运算符的优先级最低B.在C程序中,APA和apa是两个不同的变量C.如果a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值保持不变D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值20、以下正确的叙述是______。A.在C程序中,每行只能写一条语句B.若a是实型变量,C程序允许赋值a=10,因此实型变量中允许存放整型数C.在C程序中,无论是整数还是实数,都能够准确无误地表示
D.在C程序中,%是只能用于整数运算的运算符21、以下符合C语言语法的赋值表达式是______。A.d=9+e+f=d+9 B.d=9+e,f=d+9 C.d=9+e,e++,d+9 D.d=9+e++=d+722、已知字母A的ASCII编码为10进制数65,且c2为字符型,则执行语句c2="A"+"6"-"3"后,c2中的值为______。A.D B.68 C.不确定的值 D.C23、在C语言中,要求运算数必须为整型的运算符是______。A./ B.++ C.!= D.%24、若以下变量均是整型,且num=sum=7,则计算表达式sUM=num++,sUM++,++num后,num的值为______。A.7 B.8 C.9 D.1025、在C语言中,intcharshort三种类型数据在内存中所占用的字节数______。A.由用户自己定义 B.均为2个字节 C.是任意的 D.由所用机器的机器字长决定26、若有说明语句charc="72",则变量c______。A.包含一个字符 B.包含两个字符 C.包含3个字符 D.说明不合法,C的值不能确定27、若有定义inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是______。A.2.500000 B.2.750000 C.3.500000 D.0.00000028、sizeof(float)是______。A.一个双精度型表达式 B.一个整型表达式 C.一种函数调用 D.一个不合法的表达式29、设变量a是整型,f是实型,i是双精度型,则表达式10+"a"+i*f值的数据类型为______。
A.int B.float C.double D.不确定30、下面四个选项中,均是非法常量的选项是______。A."as" -0fff " xa" B."\" " 1" 12,456 C.-0x18 01177 0xf D.0xabc " " "a"31、若有代数式|x3+log10x|,则正确的C语言表达式为______。A.fabs(x*3+log(x))) B.abs(pow(x,3)+log(x)) C.abs(pow(x,3.0)+log(x)) D.fabs(pow(x,3.0)+log(x))32、在C语言中,char型数据在内存中的存储形式为______。A.补码 B.反码 C.原码 D.ASCII码33、设变量n为float型,m为int类型,则以下能实现将n中的值保留小数点后两位,第三位进行4舍5入的表达式是______。A.n=(n*100+0.5)/100.0 B.m=n*100+0.5,n=m/100.0C.n=n*100+0.5/100.0 D.n=(n/100+0.5)*100.034、表达式18/4*sqrt(4.0)/8值的数据类型为______。A.int B.float C.double D.不能确定35、设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为______。A.0~255 B.0~32767 C.0~65535 D.0~214748364736、设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为______。A.float B.char C.int D.double37、若有以下定义,则能使值为3的表达式是______。intk=7,x=12;
A.x%=(k%=5) B.x%=(k-k%5) C.x%=k-k%5 D.(x%=k)-(k%=5)38、设以下变量均为int类型,则值不等于7的表达式是______。A.(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)第四章最简单的C程序设计(红色显示的部分为参考答案)1、putchar函数可以向终端输出一个______A.整型变量表达式值 B.实型变量值 C.字符串 D.字符或字符型变量值2、以下程序的输出结果是______(注:□表示空格)main(){ printf("n*s1=%15s*","chinabeijing"); printf("n*s2=%-5s*","chi");}A.*s1=chinabeijing□□□* *s2=**chi* B.*s1=chinabeijing□□□* *s2=chi□□*C.*s1=*□□chinabeijing* *s2=□□chi* D.*s1=□□□chinabeijing* *s2=chi□□□*3、printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串的长度大于5,则输出按方式___B____,如果字符串长度小于5,则输出按方式___C___A.从左起输出该字符串,右补空格 B.按原字符串长度从左向右全部输出C.右对齐输出该字符串,左补空格 D.输出错误信息4、已有定义inta=-2;和输出语句:printf("%8lx",a);以下正确的叙述是______
A.整型变量的输出格式符只有%d一种B.%x是格式符的一种,它可以适用于任何一种类型的数据C.%x是格式符的一种,其变量的值按16进制输出,但%8lx是错误的用法D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度5、以下程序的输出结果是______(注:□表示空格)main(){ longy=-43456; printf("y=%-8ldn",y); printf("y=%-08ldn",y); printf("y=%08ldn",y); printf("y=%+8ldn",y);}A.y=□□-43456 y=-□□43456 y=-0043456 y=-43456B.y=-43456 y=-43456 y=-0043456 y=+□-43456C.y=-43456 y=-43456 y=-0043456 y=□□-43456D.y=□□-43456 y=-0043456 y=00043456 y=+434566、以下程序的输出结果是______(注:□表示空格)main(){ inty=2456; printf("y=%3on",y); printf("y=%8on",y); printf("y=%#8on",y);}A.y=□□□2456 y=□□□□□□□□2456 y=########2456
B.y=□□□4630 y=□□□□□□□□4630 y=########4630C.y=2456 y=□□□□2456 y=□□□02456D.y=4630 y=□□□□4630 y=□□□046307、以下程序的输出结果是______(注:□表示空格)main(){ long y=23456; printf("y=%3xn",y); printf("y=%8xn",y); printf("y=%#8xn",y);}A.y=5ba0 y=□□□□5ba0 y=□□0x5ba0B.y=□□□5ba0 y=□□□□□□□5ba0 y=□□0x5ba0C.y=5ba0 y=5ba0 y=0x5ba0D.y=5ba0 y=□□□□5ba0 y=####5ba08、若x,y均定义为整型,z定义为double型,以下不合法的scanf函数调用语句是______A.scanf("%d%lx,%le",&x,&y,&z);B.scanf("%2d*%d%lf",&x,&y,&z);C.scanf("%x%*d%o",&x,&y,&z);D.scanf("%x%o%6.2f",&x,&y,&z);9、已有如下的定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的输入方式是______(注:□表示空格,表示回车) inta1,a2;charc1,c2; scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
A.10A□20B B.10□A□20□B C.10A20B D.10A20□B10、已有定义intx;floaty;且执行scanf("%3d%f",&x,&y);语句时,从第一列开始输入数据12345□678,则x的值为______,y的值为______(注:□表示空格,表示回车)第一空:A.12345 B.123 C.45 D.345第二空:A.无确定值 B.45.000000 C.678.000000 D.123.00000011、已有如下的定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的输入方式是______(注:□表示空格,表示回车) inta1,a2;charc1,c2; scanf("%d%d",&a1,&a2); scanf("%c%c",&c1,&c2);A.1020AB B.1020 AB C.10□□20□□AB D.10□20AB12、已有程序段和输入数据的形式,程序中输入语句的正确形式应当为______(注:□表示空格,表示回车)main(){ inta;floatf; printf("nInputnumber:"); 输入语句 printf("nf=%f,a=%dn",f,a);} Inputnumber:4.5□□2A.scanf("%d,%f",&a,&f); B.scanf("%f,%d",&f,&a); C.scanf("%d,%f",&a,&f); D.scanf("%f%d",&f,&a);13、根据定义和数据的输入方式,输入语句的正确形式为______
已有定义:floatf1,f2; 数据的输入方式:4.52 3.5A.scanf("%f,%f",&f1,&f2); B.scanf("%f%f",&f1,&f2); C.scanf("%3.2f,%2.1f",&f1,&f2); D.scanf("%3.2f%2.1f",&f1,&f2);14、阅读以下程序,当输入的数据形式为:25,13,10时,正确的输出结果为______main(){ intx,y,z; scanf("%d%d%d",&x,&y,&z); printf("x+y+z=%dn",x+y+z);}A.x+y+z=48 B.x+y+z=35 C.x+z=35 D.不能确定15、根据题目中已给出的数据和输入和输出形式,程序中输入输出语句的正确内容是______main(){ intx;floaty; printf("enterx,y:"); 输入语句 输出语句} 输入形式enterx,y:2□3.4 输出形式x+y=5.40A.scanf("%d,%f",&x,&y); printf("nx+y=%4.2f",x+y);
B.scanf("%d%f",&x,&y); printf("nx+y=%4.2f",x+y);C.scanf("%d%f",&x,&y); printf("nx+y=%6.1f",x+y);D.scanf("%d%3.1f",&x,&y); printf("nx+y=%4.2f",x+y);16、以下说法正确的是______A.输入项可以为一个实型常量,如scanf("%f",5.2);B.只有格式控制,没有输入项,也能进行正确输入,如scanf("a=%d,b=%d");C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%4.2f",&f);D.当输入数据时,必须指明变量的地址,如scanf("%f",&f);17、根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为______main(){ charch1,ch2,ch3; 输入语句 printf("%c%c%c",ch1,ch2,ch3);} 输入形式ABC 输入形式ABA.scanf("%c%c%c",&ch1,&ch2,&ch3); B.scanf("%c,%c,%c",&ch1,&ch2,&ch3);C.scanf("%c%c%c",&ch1,&ch2,&ch3); D.scanf("%c%c",&ch1,&ch2,&ch3);18、有输入语句:scanf("a=%d,b=%d,c=%d",&a,&b,&c);为使用变量a、b、c的值分别为1、3、2,从键盘输入数据的正确形式应当是______(注:□表示空格,表示回车)
A.132 B.1,3,2 C.a=1□b=3□c=2 D.a=1,b=3,c=219、以下能正确定义整型变量a,b,c并为其赋初值5的语句是______A.inta=b=c=5; B.inta,b,c=5; C.a=5,b=5,c=5; D.a=b=c=5;20、已知ch是字符型变量,下面正确的赋值语句是______A.ch="123"; B.ch="xff"; C.ch=" 8"; D.ch="";21、已知ch是字符型变量,下面不正确的赋值语句是______A.ch="a+b"; B.ch=" "; C.ch="7"+"9"; D.ch=5+9;22、若有定义inta,b; floatx;则正确的赋值语句是______A.a=1,b=2, B.b++; C.a=b=5 D.b=int(x);23、设x,y均是float型变量,则以下不合法的赋值语句是______A.++x; B.y=(x%2)/10; C.x*=y+8; D.x=y=0;24、设x,y,z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x,y,z的值是______A.101510 B.101010 C.101015 D.1051025、设有说明:doubley=0.5,z=1.5;intx=10;则能够正确使用C语言库函数的赋值语句是______A.y=log10(y)+pow(y); B.z=sqrt(y-z); C.x=(int)(atan2((double)x,y)+exp(y-0.2)); D.z=exp(y)+fabs(x);第七章数组
(共有选择题52道,答案见本章后面) 1、在C语言中,引用数组元素时,其数组下标的数据类型允许是________。 A、整型常量 B、整型表达式 C、整型常量或整型表达式 D、任何类型的表达式2、以下对一维整型数组a的正确说明是________。 A、inta(10); B、intn=10,a[n]; C、intn; D、#defineSIZE10 scanf("%d",&n); inta[SIZE]; inta[n];3、若有说明:inta[10];则对数组元素的正确引用是________。 A、a[10] B、a[3,5] C、a(5) D、a[10-10]4、在C语言中,一维数组的定义方式为:类型说明符数组名________。 A、[常量表达式] B、[整型表达式] C、[整型常量或整型表达式] D、[整型常量]5、以下能对一维数组a进行正确初始化的语句是________。 A、inta[10]=(0,0,0,0,0); B、inta[10]={}; C、inta[]={0}; D、inta[10]={10*1};6、以下对二维数组a的正确说明是________。 A、inta[3][]; B、floata(3,4); C、doublea[1][4]; D、floata(3)(4);7、若有说明:inta[3][4];则对a数组元素的正确引用是________。 A、a[2][4] B、a[1,3] C、a[1+1][0] D、a(2)(1)8、若有说明:inta[3][4];则对a数组元素的非法引用是________。 A、a[0][2*1] B、a[1][3] C、a[4-2][0] D、a[0][4]9、以下能对二维数组a进行正确初始化的语句是________。
A、inta[2][]={{1,0,1},{5,2,3}}; B、inta[][3]={{1,2,3},{4,5,6}}; C、inta[2][4]={{1,2,3},{4,5},{6}}; D、inta[][3]={{1,0,1},{},{1,1}};10、以下不能对二维数组a进行正确初始化的语句是________。 A、inta[2][3]={0}; B、inta[][3]={{1,2},{0}}; C、inta[2][3]={{1,2},{3,4},{5,6}}; D、inta[][3]={1,2,3,4,5,6};11、若有说明:inta[3][4]={0};则下面正确的叙述是________。 A、只有数组元素a[0][0]可得到初值0 B、此说明语句不正确 C、数组a中各元素都可得到初值,但其值不一定为0 D、数组a中每个元素均可得到初值012、若有说明:inta[][4]={0,0};则下面不正确的叙述是________。 A、数组a中的每个元素都可得到初值0 B、二维数组a的第1维大小为1 C、因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1 D、只有数组元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值013、若有说明:inta[3][4];则数组a中各元素________。 A、可在程序的运行阶段得到初值0 B、可在程序的编译阶段得到初值0
C、不能得到确定的初值 D、可在程序的编译或运行阶段得到初值014、以下各组选项中,均能正确定义二维实型数组a的选项是________。 A、floata[3][4]; B、floata(3,4); floata[][4]; floata[3][4]; floata[3][]={{1},{0}}; floata[][]={{0},{0}}; C、floata[3][4]; D、floata(3,4); staticfloata[][4]; floata[3][]; autofloata[4][]={{0},{0},{0}}; floata[][4]; 15、下面程序________(每行程序前的数字为行号) 1 main{} 2 { 3 inta[3]={3*0}; 4 inti; 5 for(i=0;i<3;i++)scanf(%d",&a[i]); 6 for(i=1;i<3;i++)a[0]=a[0]+a[i]; 7 printf("%dn",a[0]); 8 } A、第3行有错误 B、第7行有错误 C、第5行有错误 D、没有错误16、下面程序________(每行程序前的数字为行号) 1 main{} 2 { 3 floata[10]={0.0}; 4 inti; 5 for(i=0;i<3;i++)scanf(%d",&a[i]); 6 for(i=1;i<10;i++)a[0]=a[0]+a[i]; 7 printf("%fn",a[0]); 8 }
A、没有错误 B、第3行有错误 C、第5行有错误 D、第7行有错误17、下面程序中错误的行是________(每行程序前的数字为行号) 1 main{} 2 { 3 floata[3]={1}; 4 inti; 5 scanf(%d",&a); 6 for(i=1;i<10;i++)a[0]=a[0]+a[i]; 7 printf("a[0]=%dn",a[0]); 8 } A、3 B、6 C、7 D、518、下面程序________(每行程序前的数字为行号) 1 main{} 2 { 3 inta[3]={0}; 4 inti; 5 for(i=0;i<3;i++)scanf(%d",&a[i]); 6 for(i=1;i<4;i++)a[0]=a[0]+a[i]; 7 printf("%dn",a[0]); 8 } A、没有错误 B、第3行有错误 C、第5行有错误 D、第6行有错误19、若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为________。(假设a[0][0]位于数组的第1个位置上) A、i*m+j B、j*m+i C、i*m+j-1 D、i*m+j+120、对以下说明语句的正确理解是________。 inta[10]={6,7,8,9,10}; A、将5个初值依次赋给a[1]至a[5] B、将5个初值依次赋给a[0]至a[4]
C、将5个初值依次赋给a[6]至a[10] D、因为数组与初值的个数不相同,所以此语句不正确21、以下不正确的定义语句是________。 A、doublex[5]={2.0,4,0,6,0,8,0,10.0}; B、inty[5]={0,1,3,5,7,9}; C、charc1[]={"1","2","3","4","5"}; D、charc2[]={"x10","xa","x8"};22、若有说明:inta[][3]={1,2,3,4,5,6,7};则数组a第一维的大小是________。 A、2 B、3 C、4 D、无确定值23、若二维数组a有m列,则在a[i][j]前的元素个数为________。 A、j*m+i B、i*m+j C、i*m+j-1 D、i*m+j+124、定义如下变量和数组: intk; inta[3][3]={1,2,3,4,5,6,7,8,9}; 则下面语句的输出结果是________。 for(k=0;k<3;k++)printf("%d",a[k][2-k]); A、357 B、369 C、159 D、14725、若有以下程序段: …… inta[]={4,0,2,3,1},i,j,t; for(i=1;i<5;i++) {t=a[i];j=i-1; while(j>=0&&t>a[j]) {a[j+1]=a[j];j--;} a[j+1]=t;} …… 则该程序段的功能是________。 A、对数组a进行插入排序(升序) B、对数组a进行插入排序(降序)
A、对数组a进行选择排序(升序) B、对数组a进行选择排序(降序)26、以下正确的定义语句是________。 A、inta[1][4]={1,2,3,4,5}; B、floatx[3][]={{1},{2},{3}}; C、longb[2][3]={{1},{1,2},{1,2,3}}; D、doubley[][3]={0};27、下面程序的运行结果是________。 main() {inta[6][6],i,j; for(i=1;i<6;i++) for(j=1;j<6;j++) a[i][j]=(i/j)*(j/i); for(i=1;i<6;i++) {for(j=1;j<6;j++) printf("%2d",a[i][j]); printf("n");} } A、11111 B、00001 C、10000 D、10001 11111 00010 01000 01010 11111 00100 00100 00100 11111 01000 00010 01010 11111 10000 00001 1000128、下面程序的运行结果是________。 main() {inta[6],i; for(i=1;i<6;i++) {a[i]=9*(i-2+4*(i>3))%5;
printf("%2d",a[i]); } } A、-40404 B、-40403 C、-40443 D、-4044029、下面是对s的初始化,其中不正确的是________。 A、chars[5]={"abc"}; B、chars[5]={"a","b","c"}; C、chars[5]=""; D、chars[5]="abcdef";30、下面程序的运行结果是________。 charc[5]={"a","b"," ","c"," "}; printf("%s",c); A、"a""b" B、ab C、abc D、abc31、对两个数组a和b进行如下初始化 chara[]="ABCDEF"; charb[]={"A","B","C","D","E","F"}; 则以下叙述正确的是________。 A、a与b数组完全相同 B、a与b长度相同 C、a和b中都存放字符串 D、a数组比b数组长32、有两个字符数组a、b,则以下正确的输入语句是________。 A、gets(a,b); B、scanf("%s%s",a,b); C、scanf("%s%s",&a,&b); D、gets("a");gets("b");33、有字符数组a[80]和b[80],则正确的输出语句是________。 A、puts(a.b); B、printf("%s,%s",a[],b[]); C、pitchar(a,b); D、puts(a);puts(b);34、下面程序的运行结果是________。 chara[7]="abcdef"; char
b[4]="ABC"; strcpy(a,b); printf("%c",a[5]); A、 B、 C、e D、f (注:选择项A表示输出为空格)35、有下面的程序段 chara[3],b[]="China"; a=b; printf("%s",a); 则________。 A、运行后将输出China B、运行后将输出Ch C、运行后将输出Chi D、编译时出错36、下面程序的运行结果是________。 charc[]="tv\ willn"; printf("%d",strlen(c)); A、14 B、3 C、9 D、字符串中有非法字符,输出值不能确定37、判断字符串a和b是否相等,应当使用________。 A、if(a==b) B、if(a=b) C、if(strcpy(a,b)) D、if(strcmp(a,b))38、判断字符串s1是否大于字符串s2,应当使用________。 A、if(s1>s2) B、if(strcmp(s1,s2)) C、if(strcmp(s2,s1)>0) D、if(strcmp(s1,s2>0))39、下面程序段是输出两个字符串对应相等的字符,请选择填空 charx[]="programming"; chary[]="fortran"; inti=0; while(x[i]!=" "&&y[i]!=" ") if(x[i]==y[i])printf("%c",【 】); elsei++;
A、x[i++] B、y[++i] C、x[i] D、y[i]40、下面描述正确的是________。 A、两个字符串所包含的字符个数相同时,才能比较字符串 B、字符个数多的字符串比字符个数少的字符串大 C、字符串"STOP"与"STOP"相等 D、字符串"That"小于字符串"The"41、下列对C语言字符数组的描述中错误的是________。 A、字符数组可以存放字符串 B、字符数组的字符串可以整体输入、输出 C、可以在赋值语句中通过赋值运算符"="对字符数组整体赋值 D、不可以用关系运算符对字符数组中的字符串进行比较42、有已排好序的字符串a,下面的程序是将字符串s中的每个字符按升序的规律插入到a中,请选择填空: #include"stdio.h" main() { chara[20]="cehiknqtw"; chars[]="fbla"; inti,j,k; for(k=0;s[k]!=" ";k++) { j=0; while(s[k]>=a[j]&&a[j]!=" ")j++; for(【1】)【2】; a[j]=s[k]; } puts(a); }【1】A、i=strlen(i)+k;i>=j;i-- B、i=strlen(a);i>=j;i-- C、i=j;i<=strlen(a)+k;i++ D、i=j;i<=strlen(a);i++【2】A、a[i]=a[i+1] B、a[i+1]=a[i]
C、a[i]=a[i-1] D、a[i-1]=a[i]43、下面程序的功能是将已按升序排好序的两个字符串a和b中的字符按升序归并到字符串c中,请选择填空: #include"stdio.h" main() { chara[]="acegikm"; charb[]="bdfhjlnpq"; charc[80],*p; inti=0,j=0,k=0; while(a[i]!=" "&&b[j]!=" ") { if(a[i]