计算机等级考试语言题库_第1页
计算机等级考试语言题库_第2页
计算机等级考试语言题库_第3页
计算机等级考试语言题库_第4页
计算机等级考试语言题库_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

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

文档简介

第一 C语言概 单项选择—个C程序的执行是从 mainmain以下叙述正确的是 在对一个C以下叙述不正确的是 4.C语言规定,在一个源程序中,main函数的位置 A)必须在最开 B)必须在系统调用的库函数的后C)可以任 D)必须在最5.—个C语言源程序是由 A)一个主程序和若干子程序组 B)函数组C)若干过程组 D)若干子程序组 填空1.C源程序的基本单位 main函 在一个C源程序中,注释部分两侧的分界符分别为 和 函数 部 执行部 函 来完成 将目标函数和系统的函数库以及其它目标函数起来行程可执行程 。可执行程序文件的扩展为 第三章数据类型、运算符与表 单项选择1.下面四个选项中,均不是c语言关键字的选项是 A) B) C) D) 2.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A)必须为字 B)必须为下划C)必须为字母或下划 D)可以是字母、数字和下划线中任一种字下列四个选项中,均是C语言关键字的选项是 A) B) C)signedD) A) B) C)b- D) 以下有4组用户标识符,其中合法的一组是 - B) C) D) 下列选项中,合法的C语言关键字是 B) C) D) - B)- C) D)-0x48a A)- -B)- C)-0x11D)- -设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围 B) C) D)在C语言中,不正确的int类型的常数是 - B)- C)- D)- A)B) C)-D)- 5e- B)- -C) +2e- D)- 5.e-下列变量定义中合法的是 short_a=1-.le- B)doubleC)long D)float2_and=1-e- B) C) D)以下选项中,的字符常量是 B) C) D)以下所列的C语言常量中,错误的是 B) C) D)在C语言中,char型数据在内存中的形式是 补 B)反 C)原 D)ASCII ‘\’’‘\\’ B)‘\’‘\017’C)‘\018’‘\f’ D)‘\\0’‘\101’ A)‘\””’‘\\’B)‘\’C)‘\011’‘\f’21.下面正确的字符常量是D)‘\101’A) B)C)D) A) B)C) D)下面不正确的字符串常量是 B) C) D)”)5 char<int<longchar=int<longchar<int<longchar=int=long B)包含2个字C)包含3个字 D)说明不合法,c的值不确 B) C) D) B) C) D)设有说明 w; x; y; z;则表达式w*x+z-y值的数据类型 B) C) D)以下选项中属于C语言的数据类型是 复数 B)逻辑 C)双精度 D)集合{charc=‘z';}A) B) C)z- D)若有定义 a=7; x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值 B) C) D) B) C) D)设有 x=11;则表达式(x++*1/3)的值是 B) C) D)x.、y、zdoublex/yz语言表达式是 B) C) D)35.C语言中运算对象必须是整型的运算符是 A) B) C) D)下列程序的输出结果是 {doubled=3.2;intx,y;x=1.2;printf("%d\n",}A) B) C) D)xijx B) C) D)假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是 B) C) D)假定x和y为double型,则表达式x=2,y=x+3/2的值是 B) C) D)++,sum的值为 B) C) D)若有定义intk=7,x=12;,则以下能使值为3的表达式是 B)x%=(k- C)x%=k- D)(x%=k)-设以下变量均为int类型,则值不等于7的表达式是 B)C) D) {intx=‘f’;}A) B) C) D) {charx=0xFFFF;printf("%d\n",x--);A) B) C)- D)以下程序的输出结果是 {inta=3;}A)- B) C) D) B) C)int D)intc1=1,c2=2,c3;则执行后,c3中的值是 B) C) D)main({inty=3,x=3,printf(“%d%d\n”,(++x,y++),}运行该程序的输出结果是 A)3 B)4 C)4 D)3已知大写字母A的ASCII码为65,以下程序的运行结果为 main(){char}A) B) C) D)以下程序的输出结果是 {inta=010,b=10;}A) B) C) D)以下程序的输出结果是 {inta,b;}A) B) C) D)执行语句y=10;x=y++;的结果是 B) C) D) unsigned B)unsignedC)long D)unsigned在下列形式的常数中,C程序不允许出现的是 B) C)25.6e- D)以下程序的输出结果是 {floatx=3.6;inti;}A) B)C) D) B) C) D)执行下列语句的结果是 A) B) C) D)已知x=3,y=2,则表达式x*=y+8的值为 B) C) D)执行语句inti=65536;printf(“%d\n”,i);的结果是 B) C)有语法错误,无输出结 D)在C语言中,不正确的int类型的常数是 B) C) D)61.C语言提供的合法关键字是 A) B) C) D)表示“在使用x之前,先使x的值加1”的正确方式是 A) B) C) D) B) C) D)在C语言中,合法的字符常量是 B)‘\x43’(十六进制 C) D)若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是 B) C) D)若t为double类型,表达式t=1,t+5,t++的值是 B) C) D) charc1=‘b’,c2=‘e’; B)C) intdouble则以下符合C语言语法的表达式是 A)a+=a- B)x%(-C) D)intu=010,v=0x10,w=10;( B) C) D) 填空若x和a均是int型变量,则计算表达式(1)后的x值 值为 (1)x=(a=4,(2)x=a=4,2aint型变量,则表达式(a=4*5,a*2a+6 3.若b是int型变量,则表达式b=25/3%3的值 。4sints=6s%2+(s+1)%21。5a,bcinta=(b=4)+(c=2)6,b ,c值 6xnintxn5x+=n++x ,n的值为 7.若有定义:intb=7;floata=2.5,c=4.7;则表达式a+(int)(b/3*(int)(a+c)/2)%4的值为 inta=2,b=3;floatx=3.5,y=2.5;则表达式(float)(a+b)/2+(int)x%(int)y的值为 若有定义:intx=3,y=2;floata=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b的值为 xnx12,n5后x的值为 {unsignedshorta=65536;intb;请写出数学式a/bc的C语言表达 第四章简单的C程序设计——顺序程序 单项选择printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列,如果字符串长度大于5,则输出按方式( 已有定义inta=-2;和输出语句printf(“%8x”,a);以下正确的叙述是 xyint型,zdoublescanf scanf(“%d%x,%le”,&x,&y,scanf(“%2d*%d,%lf”,&x,&y,scanf(“%x%*d%o”,&x,”,,以下程序的输出结果是 main({intk=17;} 下列程序的运行结果是 #include<stdio.h>{inta=2,c=5;}A) B) D) B)C) D) B)C) D)floatscanf("%f%ff&a,&b,&c);a10.0,b赋予22.0,c赋予33.0,不正确的输入形式是 A)10<回车 C)10.0<回车 D) 以下程序的输出结果是 {intn;}A) B) C) D)以下程序的输出结果是 {intx=2,y,z;}A) B) C) 下面程序的输出结果是 {intx,y,z;}A) B) C) D)设x为int型变量,则执行语句x=10;x+=x-=x-x;后,x的值为 B) C) D) printf函 B)putchar函C)getchar函数 D)scanf函数 {doubled;floatf;longl;intprintf("%d%ld%f%f\n",}A) B) C) D) 以下程序的输出结果为 {charc1=‘a’,c2=‘b’,c3=‘c’;}A) B) C) D) 若输入12345和abc,以下程序的输出结果是 {inta;charch;printf(“%d,%c”,a,}A)123, B) C) D)以下程序的输出结果是 {unsignedx1;intb=-1;}A) B)- C)%u- D) d格式 B)x格式 C)u格式 D)o格式 12, 12, D)12,以下程序的输出结果是 {intfloatx=10.5,y=4.0,z;printf(“%f\n”,z);}A) B) C) D)以下程序的输出结果是 {inta=2,printf(“a=%%d,b=%%d\n”,a,}A)a=%2, B)a=%2,C)a=%%d, D)a=%d,{inta;floatb,c;printf(“\na=%d,b=%f,c=%f\n”,a,b,c);}若运行时从键盘上输入9876543210<CR>(<CR>表示回车,则上面程序的输出结果是 A)a=98,b=765, B)a=10,b=432,C)a=98,b=765.000000, D)a=98,b=765.0,;则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程 scanf(“x=%d,y=%d”,&x,&y);a=getchar();b=getchar();c=getchar(scanf(“%d%d”,&x,&y);a=getchar();b=getchar();c=getchar(scanf(“%d%d%c%c%c”,&x,&y,&a,&b,scanf(“%d%d%c%c%c%c%c%c”,&x,&y,&a,&a,&b,&b,&c,下列可作为C语言赋值语句的是 x=3, B) C)i-- D)iint型变量,ffloatscanf(“i=%d,f=%f”,&i,为了把100和765.12分别赋给i和f,确的输入为 A)100<空格>765.12<回车 B)100,765.12<回车 以下叙述中正确的是 ”,”,设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是 把x和y按从小到大排 B)把x和y按从大到小排 D)交换x和y中的 填空 { i=-4;printf(“\ni:dec=%d,oct=%o,hex=%x,unsigned=%u\n”,i,i,i,}.若想通过以下输入语句使a=5.0b=4c=3 intb,c;floata;316.00,请填空。{inta=9,floatx= ,y=1.1,z;printf("%5.2f\n",z);}在printf格式字符中,只能输出一个字符的格式字符是%c;用于输出字符串的格式字符是%s ;以小数形式输出实数的格式字符是%f 输出实数的格式字符是%e。三编程题1.a=3,b=4,c=5,x=1.2y=2.4,z=-3.6,u=51274n=128765,c1=’ac2=’b’a空格>3空格><空格b=空格4<空格><空格c空格>5x=1.200000,y=2.400000,z=-3.600000x+y=<空格>3.60<空格><空格y+z1.20<空格><空格>z+x=2.40c1=a<空格>or<空格>97(ASCII)c2=B空格>or<空格>98(ASCII)9 编程{inta=3,b=4,longintu=51274,n=128765;floatx=1.2,y=2.4,z=-3.6;charc1=’a’,c2=’b’; printf(“x=%8.6f,y=%8.6f,c=%9.6f\n”,x,y,z); z+x=%5.2f\n”,x+y,y+z,z+x); printf(“c1=%cor%d(ASCII)\n”,c1,c1);printf(“c2=%cor}{floatc,);}{charc1,printf(“请输入两个字符给c1和c2:\n”);printf(“putchar函数输出结果为:\nprintf(“\nprintf函数输出结果为:\nprintf(“%c,%c\n”,c1,c2);}第五章择结构程序 单项选择 0 B)语法 C) D)“假已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是 B)C) D)执行下列语句后a的值为 ,b inta,b,c;++a||++b&&A)错误 B)2 C)2 D)1,A B) C) D)设有:inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值是 B) C) D)判断char型变量cl是否为小写字母的正确表达式是 A)B)C)8if语句形式是D)if(x==y)if(x!=y)scanf(“%d”,&x)elseif(x<y){intif(a=b+c)printf(“***\n”); }以上程序 输出输出当a=1,b=3,c=5,d=4时,执行完下面一段程序后x的值是 if(c<d)x=1;if(b<d)x=2;elsex=3;elsex=6;elsex=7;A) B) C) D)以下程序的输出结果是 {inta=100,x=10,y=20,ok1=5,ok2=0;if(ok2)a=-}A) B) C)- D)以下程序的输出结果是 {intx=2,y=-1,z=2;if(y<0)z=0; }A) B) C) D)为了避免在嵌套的条件语句if-else中产生二义性,C语言规定:else子句总是( B)其之前最近的C)其之后最近的 D)同一行上 B) C) D) {intx,y;}A) B) C) D) 无输 B)结果不确 C)- D)当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是 C) D)能正确表示a和b同时为正或同时为负的表达式是 B)C) D)能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是 A)a>=10orC)B)D)20intcharc=‘A’;执行该程序段后,x的值为A) B)C)D)21.以下程序的输出结果是A)-1 B)0C)1D)0main({inta=-printf("%d%d\n",a,b);printf("%d}与y=(x>0?1:x<0?-1:0);的功能相同的if语句是 A)if(x>0) B)elseif(x<0)y=- elsey=0; elseif(x<0)y=-1;elsey=0;C)y=- D) elseif(x==0)y=0; elsey=-1;elsey=-1;{intx;scanf("%d",&x);if(x--<5)printf("%d",x);elseprintf("%d",x++);} B) C) D)w、x、y、z、mintw=1;x=2;y=3;m=(w<x)?w:x;m=(m<y)?m:y;则该程序运行后,m的值是 A) B) C) D)main({floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;}该程序的输出结果是A)B)C) D)26main({inta=2,b=-if(a)if(b<0)else}该程序的输出结果是A)B)C)3若有定义:floatw;inta,b;则合法的switch语句是 B{case1.0: {case1,2:case2.0: case3: C) D){case1: {case1:default: case2:case1+2: default: 若a、b、c1、c2、x、y均是整型变量,正确的switch语句是 B){case1:y=a+b; {casecase0:y=a-b; case case3:y=b-}C)switch D)switch(a-{casec1:y=a-b; casec2:x=a*d; case3:case case10:case11:y=a- main({intx=1,a=0,b=0;{case0:case1:case2:}}该程序的输出结果是 A) B) C) D)当输入19、2、21时,以下程序的输出结果是 main({intprintf(“pleaseinputthreenumbersa,b,c:\n”);printf(“max}A)max B)max C)max D)max main({chargrade;{case‘A’:printf(“>=85.”);case‘B’:casecase‘D’:printf(“<60.”);default:}}A) B) C) D) intx=3,printf(“%d,%d”,-1>x>-10&&1<x<10,-1>y>-A) B) C) D) 执行x=5>1+2&&2||2*4<4-!0后,x的值为 B) C) D)以下程序的输出结果为 main({inta,b,c,x,y,z;printf(“c=%d,x=%d,y=%d,z=%d\n”,c,x,y,}A) B)C) D) B) C) D)以下程序的输出结果是 main({inta,b,d=241;printf(“%d,%d\n”,a,}A) B) C) D)chcharA上面表达式的值是 A) B) C) D)kintk=- 上面程序片段的输出结果是 A) B) C) D){floatx,y;scanf(“%f”,&x); elseif((x<5.0)&&(x!=2.0))elseif(x<10.0) } A) B) C) D){intx=1,y=0,a=0,b=0;{case{case0:a++;break;case}casea++;b++;}printf(“a=%d,b=%d\n”,a,}上面程序的输出结果是 A) B) C) D) B)C) D)若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式 B) C) D) {intx;scanf(“%d”,&x); printf(“%d”, }A)7和 B)6和 C)7和 D)6和以下程序的输出结果是 {inta=-1,b=4,k;printf(“%d%d%d\n”,k,a,}A) B) C) D)设a为整型变量,不能正确表达数学关系10<a<15的C语言表达式是 B)C) D)假定所有变量均已正确说明,下列程序段运行后x的值是 elseif(b);if(c) elsex=4;A) B) C) D)设a=1,b=2,c=3,d=4,则表达式a<b?a:c>d?a:d的结果是 B) C) D)当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为 A) B) C) D) {ints,t,a,scanf(“%d,%d”,&a,&b); }A) B) C) D)设intx=1,y=1;表达式(!x||y--)的值是 B) C) D)若变量a、i已正确定义,且i已正确赋值,合法的语句是 B) C) D)以下程序的输出结果为 {inta=2,b=-1,c=2; } B) C) D) 填空 {inta;if(a>50)if(a>40)if(a>30)} - {inta=2,b=3,c;if(a>b)elseif(a==b)c=0;elsec=-1;}{intx,y,z,scanf(“%d%d%d”,&x,&y, ){c=x;x=y; ){c=x;x=z; ){c=y;y=z;printf(“%d%d%d”,x,y,} {charch;scanf(“%c”,&ch);ch=(ch>=‘A’&&ch<=‘Z’)?ch=(ch>=‘a’&&ch<=‘z’)?(ch-32):ch;printf(“%c”,ch);}若x为int类型,请以最简单的形式写出与逻辑表达式!x等价的C 表示“整数x的绝对值大于5”时值为“真”的C语言表达式是x>5||x<- 下列程序段的输出结果是 intn='c';{default:case'a':case'A':case'b':case'B':printf("good");break;case'c':case'C':printf("pass");case'd':case}{floata, ,&a,&b);{ }printf(“%5.2f,%5.2f\n”,a,}若输入8642,以下程序的输出结果为place=4,每位数字为 {longintprintf(“0~99999之间的整数:”);scanf(“%ld”,&num); elseif(num>999) elseif(num>99) elseif(num>9) printf(“place=%d,”,place);printf(“每位数字为:”);{case5:printf(“%d,%d,%d,%d,%d”,ww,qw,bw,sw,gw);case4:printf(“%d,%d,%d,%d”,qw,bw,sw,gw);break;case3:printf(“%d,%d,%d”,bw,sw,gw);break;case2:printf(“%d,%d”,sw,gw);break;case1:printf(“%d”,gw);break;}}若输入1988,程序运行的结果为1988年是闰年 {intyear,leap;scanf(“%d”,&year);if(year%4)leap=0;elseif(year%100)leap=1;elseif(year%400)leap=0;elseleap=1;if(leap)printf(“%d年是闰年。\nelseprintf(“%d年不是闰年。\n}A~Za~z,其他字符不转换。 scanf } .条件“或 ” 语言表达式。若已知a=10,b=20,则表达式!a<b的值为 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);以下两条if语句可合并成一条if语句为if(a>b){y=2;printf("****y=%d\n",y);} if(a<=b)x=1; printf(“****y=%d\n”,y); printf(“####x=%d\n”,x);第六 循环控 单项选择下面程序段的运行结果是 intn=0;A) B) C) D)if(t<3)}下面描述正确的是 #include<stdio.h>{inta,b,t;while( }}A) B) C) D)4.C语言中,while和do-while循环的主要区别是 对以下程序段描述正确的是 x=-A)是死循 B)循环执行二C)循环执行一 D)有语法错以下描述中正确的是 intdo{printf(“%3d”,x-=2);}while(!(--则上面程序段 A)输出的是 B)输出的是1和-C)输出的是3和 D)是死循下面有关for循环的正确描述是 B)for(表达式1;1;表达式C)for(表达式1;表达式1;表达式 D)for(表达式1;表达式3;表达式若i为整型变量,则以下循环执行次数是 for(i=2;i==0;)printf(“%d”,i--无限 B)0 C)1 D)2以下不是无限循环的语句为 for(y=0,x=1;x>++y;x=i++)for(i=10;;i--)下面程序段的运行结果是 for(y=1;y<10;)y=((x=3*y,x+1),x-1); B) C) D)执行语句for(i=1;i++<4;);后变量i的值是 B) C) D)有一堆零件(100200之间42分成7个零件一组,则多3个零件;若分成9个零件一组,则多5个零件。下面程序是求 #include<stdio.h>{inti;if( }A) B) C)(i- D)下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除, #include<stdio.h>{int++;k=316-13*i;}while(_k%11 }A) B) C) D)下面程序的运行结果是 #include{int}A)- B) C) D) #include<stdio.h>{charintv0=1,v1=0,v2=0;{case‘a’:casecase‘e’:casecase‘i’:casecase‘o’:casecase‘u’:case‘U’:v1+=1;}}A) B)C) D)下面程序的运行结果是 #include<stdio.h>{inta=1,b=10;{b-}A) B)C)a=1,b=- D)以下程序的输出结果是 {intnum=0;{num++;}A)11D)222334intk=10;while(k=0)k=k-1;则下面描述中正确的是 A)while循环执行10 B)循环是无限循C)循环体语句一次也不执 D)循环体语句执行一intx=0,s=0;while(!x!=0)s+=++x;则 A)运行程序段后输出 B)运行程序段后输出C)程序段中的控制表达式是 D)程序段执行无限 B) C) D)下面程序段的运行结果是 while(a<b<c){t=a;a=b;b=t;c--printf("%d,%d,%d",a,b,A) B) C) D)下面程序段的运行结果是 while(x<15)printf("%d,%d",y,A) B) C) D)以下程序段的执行结果是 inta,y;a=10;y=0;{a+=2;printf("a=%dy=%d\n",a,y);if(y>20)break;}A)a=12 B)a=12a=14y=16 a=16y=28a=16y=20a=18C)a=12y=12 D)a=12y=12a=14y=26a=1426.t为int类型,进人下面的循环之前,t的值为0,则以下叙述中正确的是 while(t=lA)循环控制表达式的值为 B)循环控制表达式的值为C)循环控制表达式不合 D)以上说法都不intk=0;while(k=1)k++;while循环执行的次数是 A)无限 B)有语法错,不能执C)一次也不执 D)执行1以下程序执行后sum的值是 {inti,sum;for(i=1;i<6;i++)sum+=i;}A) B) C)不确 D)intx=3;{printf("%d",x-=2);while(!(--其输出结果是 A) B3 C1 D) {inta,b,num1,num2,temp;}}printf(“%d,}A) B) C) D) {intfloatn=1,pi=0;doublet=1;}}A) B) C)2e- D)以下程序的输出结果是 {inti,f1,f2;{printf(“%d%d”,f1,f2);}}A)1234567 B)11235813C)11357911 下列叙述中,正确的一条是 语句“goto12;以下程序的输出结果是 {inta,b;{if(b>=20)break;}b-}}A) B) C) D)以下的for循环 for(x=0,y=0;(y!=123)&&(x<4);x++) B)循环次数不C)执行4 D)执行336.C语言中 以下程序的输出结果是 {inti;}}A) B) C) D)有以下程序,从第一列开始输入数据2473<CR>(<CR>代表一个回车符则程序的 {intc;{casecasecase2:putchar(c+4);break;case3:putchar(c+3);}}}A) B) C) D)执行以下程序片段的结果是 intx=23;{printf(“%d”,x--);}A)打印出 B)打印出C)不打印任何内 D)陷入死循若x是int型变量,则执行以下程序片段的结果是 for(x=3;x<6;x++)printf((x%2)?(“**%d”):(“##%d\n”), B) C) D) 有以下程序,若运行时从键盘输入3.6 , {floatx,y,z;elsebreak;}printf(“%f\n”,}A) B) C) D)以下程序的输出结果是 {intx=10,y=10,i;printf(“%d%d”,x--}A)1019 B)987 C)1099 D)10109以下程序的输出结果是 {intn=4;printf(“%d”,--}A)2 B)3 C)32 D)21以下程序的输出结果是 {inti;}A)编译通不过,无输 B) C) D)若i、j已定义为int型,则以下程序段中内循环体的总的执行次数是 A) B) C) D)若j为int型变量,则以下for循环语句的执行结果是 {if(j%3)j--;--j;--j;printf(“%dA)6 B)7 C)6 D)7以下程序的执行结果是 {inti,x;}}A) B) C) D)以下程序的执行结果是 {inti,j;{for(i=9;i<j;i++)if(!(j%i))break;if(i>=j-1)}}A) B) C) D)10 inti=100; B)for(;;);if(i>100)}C)intk=1000; D)ints=36; 以下程序的输出结果是 {inti,j,x=0;{{if(j%2)continue;}}A) B) C) D)运行以下程序后,如果从键盘上输入6514<回车>,则输出结果是 {intm,n;{while(m>n)m-=n;while(n>m)n-}printf(“m=%d\n”,}A) B) C) D)以下程序的输出结果是 {inti,j,m=0,n=0;if(j>=i)m=1;n++;printf(“%d\n”,}A) B) C) D)以下程序执行后sum的值是 {inti,sum=0;for(i=1;i<=3;sum++)sum+=i;} B) C)死循 D) 填空 {inti=10,j=0;{j=j+i;i--;}}{intn1,n2;{}}程序运行后,如果从键盘上输入1298,则输出结果为 若输入字母b,程序输出结果为b,B {charc1,c2;c2=c1-printf("%c,%c\n",c1,}1100{inti=1,sum= } }{floatx,amax,amin; }}设i、j、k均为int型变量,则执行完下面的for循环后,k的值为 for(i=0,j=10;i<=j;i++,j-- {inta,b,c,i; }printf("偶数之和=%d\n",a);printf("奇数之和=%d\n",c-11);}{inti, ; printf(“%d”,j);}}for(i=0; ;printf(“%d\n”,若输入字符串:abcde<回车>,则以下while循环体将执行 次 第七 单项选择下列描述中不正确的是 执行下面的程序段后,变量k中的值为 intk=3,s[2];s[0]=k;k=s[1]*10;不定 B) C) D)设有数组定义:chararray[]="China";则数组array所占的空间为 4个字 B)5个字 C)6个字 D)7个字下列程序执行后的输出结果是 {charstrcpy(arr,"you");strcpy(arr[1],"me");printf("%s}A)you&me B)you C)me D)err {charintc,i;scanf("%c",scanf("%d",scanf("%s",printf("%c,%d,%s\n",c,i,}A) B)C) D)假定int类型变量占用两个字节,若有定义:intx[10]={0,2,4};则数组x在内存中所占 B) C) D)以下程序的输出结果是 {inti,a[10];for(i=9;i>=0;i--)a[i]=10-i;}A) B) C) D)以下数组定义中不正确的是 int B)intC)int D)int以下程序的输出结果是 {int}A) B C D)以下程序的输出结果是 {charst[20]="printf(%d%d\n",}A)9 B)5 C)9 D)20以下程序的输出结果是 {inti,k,a[10],p[3];for(i=0;i<10;i++)a[i]=i;for(i=0;i<3;i++)p[i]=a[i*(i+1)];for(i=0;i<3;i++)k+=p[i]*2;}A) B) C) D)以下程序的输出结果是 {inti,}A) B) C) D)以下程序的输出结果是 {inta[3][3]={{1,2},{3,4},{5,6}},i,j, printf("%d\n",s);}A) B) C) D)以下程序的输出结果是 {charw[}A)ABCD B)ABCD C)EFG D)EFGH {charss[10]="12345";gets(ss);strcat(ss,"6789");printf("%s\n",ss);}A) B) C) D)若要定义c为2×3×4的三维数组,正确的定义语句是 float B)floatC)float D)float 以下语句是正确的:char一维数组的定义可采用下列格式:int下面的语句定义了一个二维数组:floata[3][4]的含义相同:inta[3][4];当输入的数据为2、5时,以下程序的输出结果是 {intfor(i=0;i<=m;i++)f[i]=0;for(j=i-k;j<=i-1;j++)}A)35 B)35 C)25 D)36在下列语句中,正确的是 charcharcharchar21.下面语句中不正确的是A)intB)intC)intD)int #defineMAX100{inti,j,n,flag,t,a[MAX];for(i=1;i<=n;i++)scanf(“%d”,&a[i]);}if(flag)}for(i=1;i<=n;i++)printf(“%-3d”,a[i]);}A)246B)23C)154D)35以下程序的输出结果是 {intn,a[10];}A)123456789 B)987654321C)1098765432 D)012345678 {intcharfor(i=0;i<3;i++)gets(str[i]);if(strcmp(str[0],str[1])>0)strcpy(string,str[0]);elsestrcpy(string,str[1]);if(strcmp(str[2],string)>0)strcpy(string,str[2]);printf(“Thelargeststringis\n%s\n”,string);}A) B) C) D)以下程序的输出结果是 {charstr[12]={’s’,’t’,’r’,’i’,’n’,’g’};}A) B) C) D)#defineN6{charc[N];inti=0;}程序的输出结果是 。 B) C) D) ”,,“出的结果为 。"china"copytostrwith'\0',itwillstopwhenthestrlenmeetswith B) C) D)请选出以下程序的输出结果 {char}(aaaabbbb<CR>ccccA)B)C)D)aaaacccccccc{intfor(i=0;i<2;i++)n[i]=0;for(j=0;j<k;j++)n[j]=n[i]+1;}上面程序的输出结果是 A)不确定的 B) C) D):rt(“%dn”,treSn0121出结果应为A)B)C)D)下述对C语言字符数组的描述中错误的是 {intn[3],i,j,k;}上述程序运行后,输出的结果是 A) B) C) D)以下程序的输出结果是 {intn[3][3],i,j; printf(“%d\n”,}A) B C D)以下语句的输出结果为 printf(“%d\n”, B) C) D)合法的数组定义是 int B)intC)char D)char以下程序的输出结果是 {charw[for(k=1;k<3;k++)printf("%s\n",}A)C)D)OM charx[chary[]={‘a’,‘b’,‘c’,‘d’,‘e’,‘f’,确的叙述为 A)数组x和数组y等 B)数组x和数组y的长度相C)数组x的长度大于数组y的长 D)数组x的长度小余数组y的长下面程序的运行结果是 {charch[7]={"65ab21"};inti,s=0;for(i=0;ch[i]>=‘0’&&ch[i]<=‘9’;i+=2)printf("%d\n",}A) B) C) D) {inty=18,i=0,j,a[8];{a[i]=y%2;for(j=i-1;j>=0;j--)printf("%d",a[j]);}A) B) C) D)以下程序的输出结果是 {intn[5]={0,0,0},i,for(i=0;i<k; printf("%d\n",} B)2 C)1 D)042.若有定义和语句:chars[10];s=”abcd”;printf(“%s\n”,s);则输出结果是( B) C) D) 填空下面程序的功能是:将字符数组a中下标值为偶数的元素从小到大排列,其它元素不变。#include<stdio.h>#include<string.h>{chara[]="clanguage",t;inti,j,k;for(i=0;i<=k-2;for(j=i+2;j<k; {t=a[i];a[i]=a[j];a[j]=t;}}若有定义语句:chars[100],d[100];intj=0,i=0;s中已赋字符串,请填空以实现字符while(s[i]){d[j]=s[i++] 下列程序段的输出结果是 {charb[]="o,you";printf("%s\n",}若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该是a=1234b=5 chara[10],scanf(“a=%sb=%c”,a,以下程序可以把从键盘上输入的十进制数(long型)以二到十六进制数的形式输出,请{intb[16]={‘0’,‘1’,‘2’,‘3’,‘4’,‘5’,‘6’,‘7’,‘8’,‘9’,‘A’,‘B’,‘C’,‘D’,‘E’,intc[64],d,i=0,base;longn;printf(“Enteranumber:\n”);scanf(“%ld”,&n);printf(“Enternewbase:\n”);scanf(“%d”,&base); printf(“Transmitenewbase:\n”);printf("%c",[ }}ASCII码之差。例如:输入的两个字符串分别为abcdefg和abceef,则输出为{charstr1[100],str2[100],c;inti,s;printf(“\nInputstring1:\n”);gets(str1);printf(“\nInputstring2:\n”);gets(str2);while((str1[i]==str2[i])&&(str1[i]!='\0' printf("%d\n",} printf(“%d\n”,strlen(“\t\”\085\xff\n”));{inta[]={2,4,15,3,17,5,8,23,9,7,11,13},i,j, }printf(“%4d”,a[i]);}由25人围坐成圆圈,先从任意一人出发用1到25顺时针依次,然后从1号开始、……{inta[26],j,n,count; j=1;count=0;n=0 if(n%5==0) if(count==24)printf(“%d\n”,j);}} } }{inti,j,row,column,intarray[3][3]={{100,200,300},{28,72,-30},{-850,2,for(i=0;i<3;i++)for(j=0;j<3;j++){m=array[i][j];row=i;column=j;}printf("%d,%d,%d\n",m,row,column);}上述程序的输出结果是- {floatx[1000],sum=0.0,ave,a;inti,n=0;printf(“Entermark:\n”);scanf(“%f”,&a); ;a;n++;scanf(“%f”, ;printf(“ave=%f\n”,ave); )printf(“%f\n”,}第八章 单项选择以下程序的输出结果是 intd=1;fun(intp){staticintd=5;printf("%d}main({inta=3;A)69 B)66 C)615 D)66下列程序执行后的输出结果是 voidfunc1(inti);voidfunc2(intcharst[]=" voidfunc1(inti){printf("%c",}voidfunc2(int{printf("%c",}{inti=0;func1(i); B) C) D) 地址传 B)单向值传C)由实参传给形参,再由形参传回实 D)传递方式由用户指以下函数值的类型是 fun(floatx{floaty;returny;}A) B)不确 C) D)f(int{intb=0;staticintc=3;b++;c++;} {inta=2,}A)77789797以下程序的输出结果是 inta,b;voidfun(){a=100;{inta=5,b=7;printf("%d%d\n",a,}A) B) C) D) voidplay(vara:Integer,varvoidplay(inta,voidplay(inta,intSubplay(aasintegerbasinteger)8.以下程序的输出结果是(fun(intx,inty,intz){z=x*x+y*y;{inta=31;fun(5,2,a);printf("%d",} B) C) D) B)数组的首地C)数组每一个元素的地 D)数组每个元素中的 longfun(int{longif(n==1||n==2)s=2;elses=n-fun(n-1);returns;}{printf("%ld\n",fun(3));A) B) C) D)func(rec1,rec2+rec3,(rec4, A) B) C) D)intfunc(inta,intmain(){intx=2,y=5,z=8,r;}该程序的输出的结果是 A) B) C) D)以下程序的输出结果是 longfib(int{if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}main(A) B) C) D)在C语言中,变量的隐含类别是 B) C) D)无类 B)C) D)int以下程序的输出结果是 func(intx,int{intz;returnz;}main({inta=10,b=20,c=30,s;s=func((a--,b++,a+b),c--);printf(“%d\n”,s);}A) B) C) D)inverse(charstr[]){chart;inti,for(i=0,j=strlen(str);i<strlen(str)/2;i++,j--}}main({charstr[100];scanf(“%s”,str);printf(“%s\n”,str);}如果输入ananple,该程序的输出结果是 A)an B)elpna C) D) power(intx,intn){intif(n>0)p=power(x,n-1)*x;elsep=1;return}main({intx=2,printf(“%d\n”,power(x,} B) C) D)20C语言的函数中A)B)C)D)当输入a1b2c3d4e时,以下程序的输出结果为 main(){char}insert(charstr[{inti;str[2*i-1]=‘}printf(“\n结果是:%s}A)a1b2c3d4 B)123C)a1b D) 以下程序的输出结果是 main(){intfor(i=0;i<2;i++)as();}as({intstaticintprintf(“lv=%d,sv=%d”,lv,sv);}A) B)C) D) 全局变量存放在静态区中,在程序开始执行时就给全局变量分配区,程序执行25.在下列语句中,不正确的是A)B)C)D)intmax(intx,intmax(inty,intmain({intmax(floatx,floatfloata,intscanf(“%f,%f”,&a,c=max(a,printf(“%d”,}max(floatx,float{floatz=x>y?x:} B) C) D)下列程序结构中,正确的是 {floata,b,c;…}intadd(floatx,float{…{floata,b,c;…}floatadd(floatx,float{…floatadd();{floata,b,c;…}floatadd(floatx,float{…floatadd(floatx,float{…{floata,b,c;…} 以下程序的输出结果是 {inti=1,j=3;{inti=0;}}A) B) C) D)30.C语言中形参的缺省类别是 A)自动 B)静态C)寄存器 D)外部31ggg(float{printf(“\n%d”,则函数的类型为 A)与参数x的类型相 B)C) D)32.C语言规定,程序中各函数之间 下面程序的输出结果是 {inti=2,p;}intf(inta,int{intc;if(a>b)c=1;if(a==b)c=0;elsec=-1;}A) B) C) D)以下程序的输出结果为 f(intb[],int{inti,r;for(i=0;i<=n;i++) }{intx,a[x=f(a,3);printf(“%d\n”,x);}A) B) C) D) f(int{intb=0;staticc=3;a=c++,b++;}main({inta=2,i,k;printf(“%d\n”,k);}A) B) C) D) intd=1;fun(int{intd=5;printf(“%d”,}main({inta=3;printf(“%d\n”,}A) B) C) D)以下程序的输出结果是 fun(int{if(k>0)fun(k-printf(“%d”,}main({intw=5;}A) B) C) D)以下说法中正确的是 以下程序的输出结果是 intabc(intu,intv);{inta=24,b=16,c;c=abc(a,b);printf(“%d\n”,}intabc(intu,int{intw;{w=u%v;u=v;v=w;}returnu;} B) C) D) 填空 5 intt(intx,inty,intcp,int}main({inta=4,b=3,c=5,d=6;t(a,b,c,d); %d\n",c,} #include<stdio.h>{intk=4,m=1,p=func(k,m);printf("%d,",p=func(k,m);printf("%d\n",}func(inta,int{staticintm=0,i=2;returnm;}以下程序输出的最后一个值是 intff(int{staticintf=l;returnf;}{int}xydoublefun(doublex,int{inti;doublez;for(i=1,z=x;i<y;i++)z=z*x returnz;}若变量n中的值为24,则prnt函数共输 voidprnt(intn,intaa[{intfor(i=1;i<=n;{printf("%6d",if(!(i%5))}}LineMaxNM列的二维数组中,找出每一#defineN#defineMvoidLineMax(int{inti,j,p;for(i=0;i<N;i++)for(j=1;j<M; printf("Themaxvalueinline%dis%d\n", }}{int}piπ(π*π)/6=1+1/(2*2)+1/(3*3)+…#include“math.h”doublepi(longn){doubles=0.0;longi;for(i=1;i<=n;i++) }设在主函数中有以下定义和函数调用语句,且fun函数为void类型;请写出fun函数的 voidfun(doubleb[10][22]) 。要求形参名为b。{doubles[10][22];intn;……}输入12时,程序输出结果为12isnotpri 果为17ispri {intnumber;scanf(“%d”,&number);if(primber))printf(“\n%dispri elseprintf(“\n%disnotpri mber.”,number);}intprime(int{intflag=1,for(n=2;n<number/2&&flag==1;n++)if(number%n==0)flag=0;}{inta,b,scanf(“%d%d”, (a,b);printf(“a=%db=%dmax=%d\n”,a,b,}intmax(x,intx,int {intz;if(x>y)z=x;elsez=y;return } {inta=3,b=2,c=1;{intb=5,c=12;printf(“%d,%d,%d,”,a,b,c);}printf(“%d,%d,%d”,a,b,}findmaxst传人findmax(ints[],int{intk,for(p=0,k=p;p<t;p++) return} fun(int{intif(x==0||x==1)return(3);return}函数funvoidfun(charstr[{charm;inti,j;for(i=0,j=strlen(str);i< ;i++,j-- }printf(“%s\n”,}第九章预处理 单项选择以下说法中正确的是 #define和printf都是C语 B)#define是C语句,而printf不C)printf是C语句,但#define不 D)#define和printf都不是C语以下程序的输出结果是 #definef(x)x*xmain(){inta=6,b=2,printf("%d\n",c);}A) B) C) D)下列程序执行后的输出结果是 {inta=1,b=2;printf("%d\n",A) B) C) D)以下程序的输出结果是 #defineM(x,y,z)x*y+z{inta=1,b=2,printf("%d\n",M(a+b,b+c,}A) B) C) D)以下程序的输出结果是 #defineSQR(X)X*X{inta=16,k=2,printf("%d\n",a);}A) B) C) D)#defineN2#defineMN+1#defineNUM2*M+1{intfor(i=1;i<=NUM;i++)printf(“%d\n”,}M=3,NUM=6该程序中的for循环执行的次数是 A) B) C) D)以下程序的输出结果是 MIN(x,y) (x)<(y)?(x):(y){inta,b,c;c=5*MIN(a,b);printf(“%d\n”,c);}A) B) C) D)在下列叙述中,正确的是 {inta;}void{…1,3,5,7{staticint}PRINT()是一个函数#definePRINT(V)printf(“V=%d\tV){inta,b;}在下列#include命令中,正确的一条是 B)C) D)宏定义#definePI3.1415926的作用是:指定用标识符PI来代替一个 单精度 B)字符 C)双精度 D)整命令是 B)C) D)若输入60和13,以下程序的输出结果是 #defineSURPLUS(a,b)((a)%(b)){inta,b;}A)60B)13C)73D)122334的内容,则可在文件1中用三个#include命令分别包含文件2、文件3和文件4。在下列关于这几个文件包含顺序的叙述中,正确的一条是( #defineMAX(a,b)((a)>(b)?(a):(b)){inta,b,c;}{inta,b,c;}max(intx,inty,int{intt;}{inta,b,c,max;if(a>b>c)max=a;if(b>c>a)max=b;if(c>a>b)max=c;}{inta,b,c,max;if(c>max)max=c;}以下for语句构成的循环执行了 )次#defineN2#defineMN+1#defineNUM {inti,for(i=1;i<=NUM;printf(“%d”,}}A) B) C) D)以下程序的输出结果是 #defineFUDGE(y)#definePR(a)printf(“%d”,(int)(a))#definePRINT1(a) PR(a);putchar(‘\n’){intx=2;}A) B) C) D)以下程序的输出结果是 #defineSUB(x,y) {inta=3,printf(“%d\n”,SUB(a++,}A) B) C) D) 出 B) C) D) 填空以下程序的输出结果是 MAX(x,y) {inta=5,b=2,c=3,d=3,t;t=MAX(a+b,c+d)*10;printf(“%d\n”,t);} POWER(x,y) pow(x,y)*y {int} intnum,total printf(“total=%d, } {inta=1,b=2,t;printf(“%d\n”,}第十 单项选择以下程序的输出结果是 main({chara[10]={'1','2','3','4','5','6','7','8','9',0},*p;inti;}A) B) C) D)以下程序的运行结果是 #include"stdio.h"main(){inta[int %d\n",*p,}A)运行后报 B) C)6 D)5 intfor(k=0;k<3;A)B)C)D) main({inta[10]={6,7,2,9,1,10,5,8,4,3},*p=a,i;for(i=0;i<10;i++,p++) )*a=*p;}A) B) C) D)*p[0]>以下程序的输出结果是 main(){char*a="abcdefghi";intk;fun(a);}fun(char{intx,y;charc;for(x=0,y=strlen(s)-1;x<y;x++,y--{c=s[y];s[y]=s[x];}A) B) C) D)以下程序的输出结果是 main({char*s="12134211";intv[4]={0,0,0,0},k,i;{case'1':i=0;case'2':i=1;case'3':i=2;case}}for(k=0;k<4;k++)printf("%d}A)421 B)000 C)467 D)888以下程序的输出结果是 main(){charprintf("%s",str);str+1表示数组第二个数据B,p2+1指向f,即把fgh到BCD的位置,同时‘\0’}A) B) C) D)double则以下正确的叙述是 以上两处的*p含义相同,都说明给指针变量p在"doubler=99,*p=&r;"中,把r的地址赋给了p所指的单语句"*p=rr语句"*p=rrr若已定义inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,其中0≤i≤9,则对a数组元素不正确的是 A)a[p- B) C) D) voidfunc(int*a,intb[{inta,a=0;func(&a,b);printf("%d\n",b[0]);}A) B) C) D)下列程序执行后的输出结果是 {inta[3][3],*p,i;for(i=0;i<9;i++)p[i]=i+1;printf("%d\n",a[1][2]);}A) B) C) D)请选出正确的程序段 A)intB)int*s,C)int*s,D)int*s,scanf("%d",char*p,char*p,已知指针p的指向如下图所示,则执行语句*--p;后*p的值是 pA) B) C) D)设已有定义:char*st="howareyou";下列程序段中正确的是 chara[11],*p;strcpy(p=a+1, B)chara[11];strcpy(++a,C)chara[11];strcpy(a, D)chara[],*p;strcpy(p=&a[1],以下程序的输出结果是 main({inti,x[3][3]={9,8,7,6,5,4,3,2,1},for(i=0;i<4; printf("%d",}A)5 B)5 C)5 D)9若有说明:inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是 B) C) D)以下定义语句中,错误的是 inta[ B)charC)char D)int下列程序段的输出结果是 voidfun(int*x,int{printf("%d%d",*x,*y);*x=3;*y=4;}{intx=1,y=2;fun(&y,&x);printf("%d%d",x,}A)214 B)121 C)123 D)211下列程序的输出结果是 {char}A)B)a[4]的地 C) D)下列程序的运行结果是 voidfun(int*a,int{intk=a;a=b;}{inta=3,b=6,*x=&a,*y=&b;fun(x,y);printf("%d%d",a,}A)6 B)3 C)编译出 D)0下面程序的输出结果是 {inta[}A) B) C) D)假定以下程序经编译和连接后生成可执行文件PROG.EXE,如果在此可执行文件所 的DOS提示符下键入PROG main(intargc,char*argv[ printf("%s",argv[argc]);}A) B) D) B) C) D)char*fun(char{return该函数的返回值是 A)无确切的 B)形参p中存放的地址C)一个临时单元的地 D)形参p自身的地址fun(int*c){…}{int┆}在必要的赋值之后,对fun函数的正确调用语句是 A) B) C) D)funint则数值为9的表达式是 A) B) C) D){charintfor(i=0;i<2;i++)p[i]=ch[i];}该程序的输出结果是 A) B C) D)char*s1=“12345”,*s2=“1234”;printf(“%d\n”,strlen(strcpy(s1,s2))); B) C) D)下面程序的输出结果是 main({char*s=“121”;intk=0,a=0,b=0;if(k%2==0){a=a+s[k]-‘0’;}printf(“k=%da=%db=%d\n”,k,a,}A)k=3a=2 B)k=3a=3C)k=2a=3 D)k=2a=2inta[]={1,2,3,4,5,6,7,8,9,10}

温馨提示

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

评论

0/150

提交评论