2011年计算机等级二级c语言练习及答案(供复习参考)_第1页
2011年计算机等级二级c语言练习及答案(供复习参考)_第2页
2011年计算机等级二级c语言练习及答案(供复习参考)_第3页
2011年计算机等级二级c语言练习及答案(供复习参考)_第4页
已阅读5页,还剩89页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

201I年计算机等级二级C语言练习及答案第2章程序的灵魂ー…算法ー、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)以下叙述中正确的是C语言比其他语言高级C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点正确答案:C2.2以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在ー个函数中定义另ー个函数main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前进行定义正确答案:A2.3以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main〇函数中定义〇C语言程序总是从main〇函数开始执行C语言程序中的main〇函数必须放在程序的开始部分正确答案:CC语言规定,在ー个源程序中,main函数的位置A)必须在最开始B)必须在系统调用的库函数的后面C)可以任意D)必须在最后正确答案:C以下叙述不正确的是一个C源程序可由一个或多个函数组成ー个C源程序必须包含ー个main函数〇C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面正确答案:D下列叙述中正确的是C语言编译时不检查语法C语言的子程序有过程和函数两种〇C语言的函数可以嵌套定义D)C语言的函数可以嵌套调用正确答案:D以下叙述正确的是A)在C程序中,每行中只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,无论是整数还是实数,都能被准确无误地表示D)在C程序中,%是只能用于整数运算的运算符正确答案:D以下说法错误的是ー个算法应包含有限个步骤B)在计算机上实现的算法是用来处理数据对象的〇算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现D)算法的目的是为了求解正确答案:C算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属于算法的五个特性的是A)有零个输入或多个输入B)高效性C)有穷性D)确定性正确答案:B下列关于C语言的说法不正确的是C语言既具有高级语言的一切功能,也具有低级语言的ー些功能C语言中的每一条执行语句都必须用分号结束,分号不是C语言的一部分,是语句之间的分隔符号〇注释可以出现在程序中任意合适的地方D)命令行后面不能加分号,命令行不是C语言的语句正确答案:B以下说法错误的是A)高级语言都是用接近人们习惯的自然语言和数学语言作为语言的表达形式B)计算机只能处理由〇和1的代码构成的二进制指令或数据C)C语言源程序经过C语言编译程序编译之后生成一个后缀为.EXE的二进制文件D)每ー种高级语言都有它对应的编译程序正确答案:CC语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构if,switch,breakfor,while,do-whileififor,continue正确答案:A二、填空题(请将每一个空的正确答案写在答题卡相应序号后。)用高级语言编写的程序称为【1】程序,它可以通过解释程序翻译一句执行一句的方式执行,也可以通过编译程序一次翻译产生目标程序,然后执行。正确答案:源程序C语言程序的注释可以出现在程序中的任何地方,一个注释以【2】作为开始和结束。正确答案:/**/第3章数据类型运算符与表达式ー、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)C语言中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型〇整型、字符型、逻辑型D)字符型、实型、逻辑型正确答案:BC语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母,数字和下划线中任一字符正确答案:C下列可用于C语言用户标识符的ー组是A)void,define,WORDa3_b3,_123,CarFor,-abc,IFCase2a,DO,sizeof正确答案:B3.4下面四个选项中,均是不正确的8进制数或16进制数的选项是A)0160x8f018B)Oabc017OxaC)010-0x110x16D)0al27ff-123正确答案:D3.5下列数据中,不合法的C语言实型数据的是0.123123e32.1e3.5789.0正确答案:C3.6在16位C编译系统上,若定义longa;,则能给a赋40000的正确语句是A)a=20000+20000;B)a=4000*10;C)a=30000+10000;D)a=4000L*10L;正确答案:D3.?若有说明语句:charc-\72"!则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定正确答案:A有字符串如下,"\n\\\407asiヽ"\xabc",则字符串的长度为6789正确答案:DC语言中运算对象必须是整型的运算符是%=/C)=D)<=正确答案:A3.10若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+la=b=c+2int18.5%3a=a+7=c+b正确答案:B若变量a,i已正确定义,且i已正确赋值,合法的语句是a==1++i;a=a++=5;a=int(i);正确答案:B若有定义:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是2.5000002.7500003.500000D)0.000000正确答案:A3.13若有运算符《,sizeof,へ&=,则它们按优先级由高至低的正确排列次序是A)sizeof,&=,«,△sizeof,«,A,&=A,«,sizeof,&=«,A,&=,sizeof正确答案:B以下不正确的叙述是A)在C程序中,逗号运算符的优先级最低B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从健盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值正确答案:D已知inti,a;执行语句i=(a=3,a++,--a,a+4,a+5,++a);后,变量i的值为2345正确答案:C设变量a是int型,f是float型,i是double型,则表达式10+'a,+i*f值的数据类型为intfloatdoubleD)不确定正确答案:C3.17在C语言中,char型数据在内存中的存储形式是A)补码B)反码C)原码ASCI!码正确答案:D3.18字符型数据在机器中是用ASCII码表示的,字符5和フ在机器中表示为A)1010001I和011101110100010I和011000110011010I和001101110110010I和01100111正确答案:C不能进行卄和一ー运算的数据类型为A)指针B)整型C)长整型D)常量正确答案:D设有intx=ll;则表达式(x++*l/3)的值是341112正确答案:A以下程序的输出结果是main(){inta=21,b=ll;printf("%d\n",--a+b,--b+a);)30313233正确答案:A假设整型变量a,b,c的值均为5.则表达式a+++b+++c+<"的值为17161514正确答案:C已知inta=6;则执行a+=a-=a*a;语句后,a的值为360-24-60正确答案:D设变量n为float类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五入运算的表达式是A)n=(n*100+0.5)7100.0m=n*100+0.5,n=m/l00.0n=n*100+0.5/100.0D)n=(n/100+0.5)*100.0正确答案:Bsizeof(float)是ー个双精度型表达式ー个整型表达式ー种函数调用ー个不合法的表达式正确答案:B在C语言中,int,char和short三种类型数据在内存中所占用的字节数A)由用户自己定义B)均为2个字节C)是任意的D)由所用机器的机器字长决定正确答案:D以下变量x,y,z均为double类型且已正确赋值,不能正确表示数学式子x+yラ的C语言表达式是x/y*zx*(1/(y*z))x/y*l/zx/y/z正确答案:A下列关于复合语句和空语句的说法错误的是A)复合语句是由“{”开头,由“}”结尾的B)复合语句在语法上视为一条语句〇复合语句内,可以有执行语句,不可以有定义语句部分D)C程序中的所有语句都必须由一个分号作为结束正确答案:C下列关于字符串的说法中错误的是A)在C语言中,字符串是借助于字符型ー维数组来存放的,并规定以字符‘、0'作为字符串结束标志B)'ゝ0'作为标志占用存储空间,计入串的实际长度〇在表示字符串常量的时候不需要人为在其末尾加入'、0'D)在C语言中,字符串常量隐含处理成以''〇'结尾正确答案:B二、填空题(请将每一个空的正确答案写在答题卡相应序号后。)以下程序的输出结果是[1】。inta=1234;printf("An",a);正确答案:1234在计算机中,字符的比较是对它们的【2】进行比较。正确答案:ASCI!码在内存中,存储字符'x'要占用1个字节,存储字符串"X"要占用【3】个字节。正确答案:2在C语言中(以16位PC机为例),ー个float型数据在内存中所占的字节数为4:一个double型数据在内存中所占的字节数为[4]〇正确答案:8以下程序段的输出结果是[5】。main(){inta=2,b=3,c=4;a*=16+(b-H-)-(++c);printf("%d”,a);}正确答案:28以下程序段的输出结果是【6】»intx=17,y=26;printf("%d”,y/=(x%=6));正确答案:5下列y的值是【7】0inty;y=sizeof(2.25*4);正确答案:8以下程序的输出结果是【8】0main(){inti=010j=10;pimtf("%d,%d\n",ij);)正确答案:8,10已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch='a'+'8'-'3'的值为【9】»正确答案:f如下语句printf("%c\n",B+40);在执行后的输出结果是【10】。正确答案:j定义inta=5,b=20;若执行语句printf("%d\n",++a*--b/5!!);后,输出的结果为[11].正确答案:9第4章顺序程序设计ー、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)4.1若变量己正确说明为float型,要通过语句scanR" ",&a,&b,&c);给a赋予10.0,b赋予22.0,c赋予33.0,下列不正确的输入形式是10〈回车>22〈回车>33〈回车〉10.0,22.0,33.0<回车>10.0<回车>22.033.0<回车>1022〈回车>33〈回车,正确答案:B现有以下程序段#includemain(){inta,b,c;scanf("a=%*d%d,b=%d%*d,c=%d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);}若输出的结果为a=20,b=30,c=40,则以下能够正确输入数据的是A)a=10]20,b=20]30,c=40B)20,30,40C)a=20,b=30,c=40D)a=10]20,b=30]20,c=40[注]:"]”表示空格,表示回车正确答案:Dx,y,z被定义为int型变量,若从键盘给x,y,z输入数据,正确的输入语句是INPUTx、y、z;scanf("%d%d%d",&x,&y,&z);scanf("%d%d%d",x,y,z);D)read("%d%d%d",&x,&y,&z);正确答案:B4.4已有定义inta=-2;和输出语句printf("%81x",a);以下正确的叙述是A)整型变量的输出形式只有%d一种B)%x是格式符的一种,它可以适用于任何ー种类型的数据C)%x是格式符的ー种,其变量的值按十六进制输出,但%81X是错误的%81x不是错误的格式符,其中数字8规定了输出字段的宽度正确答案:D下列程序段的输出结果是:inta=1234;floatb=123.456;doublec=12345.54321;printf("-,%2.1f,%2.1f',a,b,c);A)无输出B)12,123.5,12345.5C)1234,123.5,12345.5D)1234,123.4,1234.5正确答案:C执行下列程序时输入:123〈空格>456〈空格>789〈回车〉输出结果是main(){chars[100];intc,i;scanf("%c",&c);scanf("%d",&i);scanf("%s",s);printf("%c,%d,%s\n",c,i,s);}A)123,456,789B)1,456,789C)1,23,456,789D)1,23,456正确答案:D若已定义:inta=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25&&b-<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=%d,b=%d,c=%d\n",a,b,c);程序输出的结果是A)***a=25,b=13,c=19B)***a=26,b=14,c=19C)###a=25,b=13,c=19D)###a=26,b=14,c=19正确答案:C请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));5148D)输出项不合法,无正常输出正确答案:A下列程序的输出结果是main(){doubled=3.2;intx,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",d*y);}33.203.07正确答案:C调用gets和puts函数时,必须包含的头文件是stdio.hstdlib.hC)defineD)以上都不对正确答案:A4.1I阅读下面程序段#include"stdio.h"main(){charc;c=('z'-'a')/2+'A';putchar(c);}输出结果为A)MB)N0Q正确答案:A二、填空题(请将每一个空的正确答案写在答题卡相应序号后。)4.12下列程序的输出结果是16.00I请填空。main(){inta=9,b=2;floatx=[11,y=l.l,z;z=a/2+b*x/y+l/2;printf("%5.2f\n",z);)正确答案:6.6在使用putchar和getchar函数处理字符时,必须在程序的开头出现包含头文件的命令行是[2]。正确答案:#include下列程序的输出结果是[3],[4j。#includemain(){floata=-1.3;b=1.3;printf(',fabs(a),fabs(b);}正确答案:1.300〇〇〇正确答案:1.300000执行程序时的输入为!23456789,则程序的运行结果为【5】〇#include"stdio.h"main(){inta,b;scanf("-%*2dn,&a,&b);printf("%d\n”,a・b);}正确答案:7第5章选择结构程序设计ー、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)在C程序中,判逻辑值时,用“非〇"表示逻辑值“真",又用“〇"表示逻辑值“假”。在求逻辑值时,用〇表示逻辑表达式值为“真”,又用〇表示逻辑表达式值为“假”。1001C)非〇非〇D)11正确答案:A已知intx=6,y=2,z;则执行表达式z=x=x>y后,变量z的值为0145正确答案:B能正确表示逻辑关系:“aN10或aWO”的C语言表达式是a>=10ora<=0a>=0|a<=10a>=10&&a<=0a>=10IIa<=0正确答案:D5.4若变量c为char类型,能正确判断出c为小写字母的表达式是A)'a'<=c<='z'B)(c>='a')||(c〈='z')C)('a'<=c)and('z>=c)D)(c>='a‘)&&(c<=,z,)正确答案:D设intx=l,y=l;表达式(!x||y--)的值是012-1正确答案:B有如下程序段inta=14,b=15,x;charc='A';x=(a&&b)&&(c<,B,);执行该程序段后,x的值为turefalse01正确答案:D以下程序的输出结果是main(){inta=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n”,d);}A)1B)0C)非〇的数D)-1正确答案:A5.8设有:inta=l,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值是1234正确答案:B5.9已知x,y,z均为整型变量,且值均为1,则执行语句++x||++y&&++z;后,表达式x+y的值为A)1234正确答案:C表达式a<B||(C&D)中运算符优先级最高的是A)||B)&C)<D)〇正确答案:D若运行时给变量x输入12,则以下程序的运行结果是main(){intx,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A)0221210正确答案:A已知charch=,C;则以下表达式的值是ch=(ch>='A'&&ch<='Z')?(ch+32):ch;A)AB)aC)ZD)c正确答案:D若有条件表达式(exp)?a++:b-,则以下表达式中能完全等价于表达式(exp)的是A)(exp=O)B)(exp!=O)C)(exp=l)D)(exp!=l)正确答案:B有以下程序main(){inti=lj=l,k=2;if((j++||k++)&&i"H-)printf(M%d,%d,%d\nK,ij,k);}执行后输出结果是A)1,1,2B)2,2,1C)2,2,2D)2,2,3正确答案:C请阅读以下程序:main(){inta=5,b=0,c=0;if(a=b+c)printf(****\n");elseprintf("$$$\nH);}以上程序A)有语法错不能通过编译B)可以通过编译但不能通过连接C)输出***D)输出$$$正确答案:D若执行下述程序时,若从健盘输入6和8时,结果为main(){inta,b,s;scanf(”%d%d”,&a,&b);s=a;if(a<B)s=b;s*=s;printf(M%d**,s);A)366448D)以上都不对正确答案:B</B)有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}该程序的输出结果是A)0.000000B)0.250000C)0.500000D)1.000000正确答案:C以下4个选项中,不能看做一条语句的是A);a=5,b=2.5,c=3.6;if(a<5);if(b!=5)x=2;y=6;正确答案:D5.19若intk=8;则执行下列程序后,变量k的正确结果是main(){intk=8;switch(k){case9:k+=l;case10:k+=l;case11:k+=l;break;default:k+=l;}printf(H%d\nH,k);}1211109正确答案:D5.20阅读如下程序段include"stdio.h"main(){inta=45,b=40,c=50,d;d=a>30?b:c;switch(d){case30:printf("%d,”,a);case40:printf(M%d;\b);case50:printf(M%d;',c);default:printf(^#");}}则输出的结果是A)40,50,50,#40,#D)40,50,#正确答案:D5.21现有如ド程序段,此程序段编译有错误,则程序段的错误出在#includemain(){inta=30,b=40,c=50,d;d=a>30?b:c;switch(d){casea:printf(”%d,”,a);caseb:printf("%d,”,b);casec:printf(n%d,*',c);default:printf(曲”);}}default:printfA#");这个语句d=a>30?b:c;这个语句C)casea:printf(”%d,”,a);caseb:printf("%d,”,b);casec:printf(H%d,",c);这三个语句D)switch(d)这个语句正确答案:C二、填空题(请将每一个空的正确答案写在答题卡相应序号后。)设y是int型,请写出y为奇数的关系表达式【1】〇正确答案:(y%2)=l或(y%2)!=0设inta=5,b=6,表达式(++a==b・・)?++a:-b的值是[2]〇正确答案:7将以下程序写成三目运算表达式是【3】〇if(a>b)max=a;elsemax=b;正确答案:max=(a>b)?a:b;以下程序输出的结果是【4】〇main(){inta=5,b=4,c=3,d;d=(a>b>c);printf("%d\n”,d);}正确答案:〇若从键盘输入58,则以下程序输出的结果是【5】〇main(){inta;scanf(”%d”,&a);if(a>50)printf(M%dM,a);if(a>40)printf(M%dM,a);if(a>30)printf("%d”,a);}正确答案:585858阅读下面语句,则程序的执行结果是【6】〇#include"stdio.h**main(){inta=-l,b=l,k;if((-H-a<0)&&!(b--<=0))printf("%d,%d\n”,a,b);elseprintf(M%d,%d\nn,b,a);}正确答案:1,0阅读下面程序,则在执行时候的输出为【7】〇include“stdio.h"main(){intx=l,y=2,z=0;if(x=2)z=x,x=y,y=z;printf(”%d,%d\n”,x,y);}正确答案:2,2以下程序的输出结果是【8】。main(){intx=100,a=10,b=20,ok1=5,ok2=0;if(aelseif(ok2)x=10;elsex="l;printf("%d\n”,x);}正确答案:・1阅读下面的程序,当程序在执行时,如果输入的是7V,则输出结果为【9】〇#include"stdio.h"main(){chara;a=getchar();switch(a){case65:printf("%c〈A');case66:printf(“%c",'B');default:printf("%s\n”,“other");}}正确答案:ABothcr第6章循环控制ー、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)对表达式for(表达式1;;表达式3)可理解为for(表达式l;0;表达式3)for(表达式1;1;表达式3)for(表达式1;表达式1;表达式3)for(表达式1;表达式3;表达式3)正确答案:B在下列选项中,没有构成死循环的是inti=100;while(1){i=i+0+1;if(i>100)break;)for(;;);intk=10000;do{k-H-;}while(k>10000);ints=36;while(s)-s;正确答案:D下面有关for循环的正确描述是for循环只能用于循环次数已经确定的情况for循环是先执行循环体语句,后判断表达式C)在for循环中,不能用break语句跳出循环体D)for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来正确答案:D若intij;,则for(i=j=0;i<10&&j<8;i++J+=3)控制的循环体执行的次数是9832正确答案:C阅读下列程序段,则程序的输出结果是#include"stdio.h"main(){inta=10,b=10,k;for(k=0;a>8;b=-H-k)printf(M%d,%d,M,a--b);printf(M\nM);}A)10,10,10,0,B)10,9,9,0,C)10,10,9,1,D)9,9,9,1,考生答案:正确答案:B有一堆零件(100到200之间),如果分成4个零件ー组的若干组,则多2个零件;若分成?个零件ー组,则多3个零件;若分成9个零件ー组,则多5个零件。下面程序是求这堆零件总数,请选择填空。#includcmain(){inti;for(i=100;i<200;i-H-)if((i-2)%4==0)if(!((i-3)%7))if()printf("%d”,i);}i%9=5i%9!=5C)(i-5)%9!=0D)(i-5)%9=0正确答案:D下列程序的输出结果是#includeセtdio.h"main(){inti,a=0,b=0;for(i=l;i<10;i++){if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d”,a,b);}A)a=4,b=4B)a=4,b=5C)a=5,b=4D)a=5,b=5正确答案:B阅读下列程序,则执行结果是#include"stdio.h"main(){inta=0,b=0,c=0,i;for(i=0;i<4;i-H-)switch(i){case0:a=i-H-;casel:b=i++;case2:c=i++;case3:i++;}printf(”%d,%d,%d,%d\n*a,b,c,i);}〇」,3,41,2,3,40,1,2,50,2,3,4正确答案:C6.9阅读下列程序,程序的输出结果是#includc"stdio.h**main()intm,n;floatk;for(m=6;m>2;m--){k=0;for(n=m;n>l;n--)k=k+m*n;}printf(M%f\nM,k);}5.00000015.00000025.00000035.000000正确答案:B6.10下面程序的运行结果是#include"stdio.h**main(){intj,i,k=0;for(j=50;jv=60;j++){if(!(k+))printf(“ヽn");for(i=2;i<J;I++)&NBSP;if(!(j%i))break;if(i>=j-l){printf(M%dMj);k++;}535959533595D)9535正确答案:A6.11已知intt=0;while(t=l)则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1〇循环控制表达式不合法D)以上说法都不对正确答案:B设有以下程序段intx=0,s=0;while(!x!=0)s+=++x;printfC'%d",s);则A)运行程序段、输出〇B)运行程序段后输出1〇程序段中的控制表达式是非法的D)程序段执行无限次正确答案:B下列程序的输出结果是#includc"stdio.h"main(){inti=6;while(i--)printf("%d",--i);printf("\n");}531420C)654321D)死循环正确答案:B对下1,II两个语句描述正确的是I.while(1)II.for(;;)A)都是无限循环B)I是无限循环,II错误〇I循环一次,II错误D)以上答案都错正确答案:A以ド程序段的描述,正确的是x=-l;do{x=x*x;}while(!x);A)是死循环B)循环执行两次〇循环执行ー次D)有语法错误正确答案:c若有如下语句intx=3;do{printf(M%d\nn,x-=2);}while(!(--x));则上面程序段A)输出的是1B)输出的是1和・2C)输出的是3和〇D)是死循环正确答案:B下面程序的运行结果是#includcmain(){inta=l,b=10;do{b-=a;a++;}while(b--<0);printf("a=%d,b=%d\n”,a,b);}A)a=3,b=l1B)a=2,b=8C)a=l,b=-lD)a=4,b=9正确答案:B若运行以下程序时,从键盘输入ADescriptor(表示回车),则下面程序的运行结果是#includcmain(){charc;intv0=l,v1=0,v2=0;do{switch(c=getchar()){case'a':case'A':case'e':case'E':case'i':caseT:case’〇':case'O':case'u':case'U':vl+=1;default:vO+=1;v2+=l;}}while(c!='\n');printf(Mv0=%d,vl=%d,v2=%d\nM,vO,vl,v2);)A)v0=7,vl=4,v2=7B)v0=8,vl=4,v2=8v0=ll,vl=4,v2=l1D)v0=13,vl=4,v2=12正确答案:D6.19下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,请选择填空。#includemain(){inti=0j,k;do{i-H-;k=316-13*i;}while();j=k/ll;printf(M316=13*%d+ll*%d",ij);}k/11k<k/ll=Ok<==0正确答案:BC语言中while和do・while循环的主要区别是do・while的循环体至少无条件执行一次while的循环控制条件比do-while的循环控制条件更严格do・while允许从外部转到循环体内do-while的循环体不能是复合语句正确答案:A下列说法中错误的是A)只能在循环体内使用break语句B)在循环体内使用break语句可以使流程跳出本层循环体,从而提前结束本层循环C)在while和d〇…while循环中,continue语句并没有使整个循环终止D)continue的作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再ー次进行循环判断正确答案:A二、填空题(请将每一个空的正确答案写在答题卡相应序号后。)设i,j,k均为血型变量,则执行完下面的fbr语句后,k的值为【1】。for(i=0,j=10;iv弓;i++,jー・)k=i+j;正确答案:10下列程序的功能是输入ー个整数,判断是否是素数,若为素数输出1,否则输出〇,请填空。main(){inti,x,y=l;scanf("%d”,&x);for(i=2;i<=x/2;i-H-)if[2]{y=0;break;}printf(M%d\nH,y);}正确答案:(x%i==0)以下程序的输岀结果是【3】。main(){inty=9;for(;y>0;y--)if(y%3==0){printf(”%d”,--y);continue;}正确答案:852阅读下面程序段,则执行后的输出结果为【4】〇#includc"stdio.h"main(){inta=l;for(;a<=15;)if(++a%5!=2)continue;elseprintf("%d",a);printf(“ヽn”);}正确答案:2712阅读下面语句,则执行后的输出结果为【5】#include"stdio.h"main(){chara,b;for(a=‘〇',b='9';aprintf("%c%c”,a,b);printf(“ヽn”);}正确答案:0918273645阅读下面程序,则执行后程序的结果为【6】#include"stdio.h"main(){inta=0,b=0;while(a<15)a++;while(b++<15);printf("%d,%d\n”,a,b);}正确答案:15,16第7章数组ー、选择题(在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项填涂在答题卡相应位置上。)若有说明inta[3][4];则a数组元素的非法引用是a[0][2*1]a[1][3]a[4-2][0]a[0][4]正确答案:D在C语言中,引用数组元素时,其数组下标的数据类型允许是A)整型常量B)整型表达式〇整型常量或整型表达式D)任何类型的表达式正确答案:C执行下面的程序段后,变量k中的值为intk=3,s[2];s[0]=k;k=s[1]*10;A)不定值333010正确答案:A定义如下变量和数组:intk;inta[3][3]={9,8,7,6,5,4,3,2,1};则下面语句的输岀结果是for(k=O;k<3;k++)printf("%d",a[k][k]);753951963741正确答案:B下列程序执行后的输出结果是main(){chararr[2][4];strcpy(arr,"you");strcpy(arr[1],"me");arr[0][3]='&;printf("%s\n",arr);you&meyoumeerr正确答案:A设有数组定义:chararrayロ="China";则数组array所占的空间为4个字节5个字节6个字节7个字节正确答案:C以下不正确的定义语句是doublex[5]={2.0,4.0,6.0,8.0,10.0};inty[5]={0,1,3,5,7,9};charcl[]={T,'2','3','4','5'};charc2[]={'\xl0','\xa','\x8'};正确答案:B若有说明:inta[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是234D)无确定值正确答案:B7.9对以下说明语句的正确理解是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)因为数组长度与初值的个数不相同,所以此语句不正确正确答案:B若有说明:inta[][4]={0,0};则下面不正确的叙述是A)数组a的每个元素都可得到初值〇B)二维数组a的第一维大小为1〇当初值的个数能被第二维的常量表达式的值除尽时,所得商数就是第一维的大小D)只有元素a[0][0I和a[〇![1]可得到初值,其余元素均得不到确定的初值正确答案:D有以下程序main(){chara[]={'a',b,'c','d','e',f,'g',、‘,'、〇’};intij;i=sizeof(a);j=strlen(a);printf("%d,%d\b",ij);程序运行后的输出结果是9,98,91,89,8正确答案:D7.12假定int类型变量占用两个字节,其有定义:intx[10]={0,2,4};,则数组x在内存中所占字节数是361020正确答案:D以下能对二维数组c进行正确的初始化的语句是intc[3][]={{3},{3},{4}};intc[][3]={{3},{3},{4}};〇intc[3]

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论