计算机等级考试二级C语言超级经典400道题目242400.docx

上传人:b****6 文档编号:8587603 上传时间:2023-01-31 格式:DOCX 页数:12 大小:29.64KB
下载 相关 举报
计算机等级考试二级C语言超级经典400道题目242400.docx_第1页
第1页 / 共12页
计算机等级考试二级C语言超级经典400道题目242400.docx_第2页
第2页 / 共12页
计算机等级考试二级C语言超级经典400道题目242400.docx_第3页
第3页 / 共12页
计算机等级考试二级C语言超级经典400道题目242400.docx_第4页
第4页 / 共12页
计算机等级考试二级C语言超级经典400道题目242400.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

计算机等级考试二级C语言超级经典400道题目242400.docx

《计算机等级考试二级C语言超级经典400道题目242400.docx》由会员分享,可在线阅读,更多相关《计算机等级考试二级C语言超级经典400道题目242400.docx(12页珍藏版)》请在冰豆网上搜索。

计算机等级考试二级C语言超级经典400道题目242400.docx

计算机等级考试二级C语言超级经典400道题目242400

242、设有以下宏定义:

#defineN3#defineY(n)((N+1)*n)则执行语句:

z=2*(N+Y(5+1));后,z的值为A)出错B)42C)48D)54、C、2

  243、设有以下函数:

f(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}如果在下面的程序中调用该函数,则输出结果是main(){inta=2,i;for(i=0;i、A、2

  244、设正x、y均为整型变量,且x=10y=3,则以下语句的输出结果是printf("%d,%d\n",x--,--y);A)10,3B)9、3C)9、2D)10、2、D、2

  245、设有如下一段程序:

int*var,ab;ab=100var=&ab;ab=*var+10;执行上面的程序后,ab的值为A)120B)110C)100D)90、B、2

  246、设有如下的函数ggg(x)floatx;{printf("\n%d",x*x);}则函数的类型A)与参数x的类型相同B)是voidC)是intD)无法确定、C、2

  247、设有staticcharstr[]="Beijing";则执行printf("%d\n",strlen(strcpy(str,"China")));后的输出结果为A)5B)7C)12D)14、A、2

  248、设intx=1,y=1;表达式(!

x||y--)的值是A)0B)1C)2D)-1、B、2

  249、若有以下说明:

inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc='a',d,g;则数值为4的表达式是A)a[g-c]B)a[4]C)a['d'-'c']D)a['d'-c]、D、2

  250、若有以下说明:

intw[3][4]={{0,1},{2,4},{5,8}};int(*p)[4]=w;则数值为4的表达式是A)*w[1]+1B)p++,*(p+1)C)w[2][2]D)p[1][1]、D、2

251、若有以下说明和语句,请选出哪个是对c数组元素的正确引用intc[4][5],(*cp)[5];cp=c;A)cp+1B)*(cp+3)C)*(cp+1)+3D)*(*cp+2)、D、2

  252、若有以下定义和语句:

char*s1="12345",*s2="1234";printf("%d\n",strlen(strcpy(s1,s2)));则输出结果是A)4B)5C)9D)10、A、2

  253、若有以下定义和语句:

intu=010,v=0x10,w=10;printf("%d,%d,%d\n,u,v,w);则输出结果是:

A)8,16,10B)10,10,10C)8,8,10D)8,10,10、A、2

  254、若有以下定义:

chars[20]="programming",*ps=s;则不能代表字符o的表达式是A)ps+2B)s[2]C)ps[2]D)ps+=2,*ps、A、2

  255、若有以下的说明和语句:

main(){intt[3][2],*pt[3],k;for(k=0;k、C、2

  256、若有以下定义:

floatx;inta,b;则正确的switch语句是A)switch(x)B)switch(x){case1、0:

printf("*\n");{case1,2:

printf("*\n");case2、0:

printf("**\n");case3:

printf("**\n");}}C)switch(a+b)D)switch(a+b);{case1:

printf("\n");{case1:

printf(、"*\n");case1+2:

printf("**\n");case2:

printf("**\n");}}、C、2

  257、若有以下程序段,w和k都是整型变量:

┆w=k;LB:

if(w==0)gotoLE;w--;printf("*");gotoLB;LE:

┆则不能与上面程序段等价的循环语句是A)for(w=k;w!

=0;w--)printf("*");B)for(w=k;w;--w)printf("*");C)w=k;D)w=k;while(w--!

=0)printf("*");w++;do{w--;printf("*");}while(w!

=0);、C、2

  258、若有以下程序片段:

charstr[]="ab\n\012\\\"";printf(%dd",strlen(str));上面程序片段的输出结果是A)3B)4C)6D)12、C、2

  259、若有说明,double*p,a;则能通过scanf语句正确给输入项读入数据的程序段是A)*p=&a;scanf("%lf",p);B)p=(double*)malloc(8);scanf("%f",p);C)p=&a;scanf("%lf",a);D)p=&a;scanf("%le",p);、D、2

  260、若有说明和语句:

inta=5;a++;此处表达式a++的值是A)7B)6C)5D)4、C、2

  261、若有下面的程序片段:

inta[12]={0},*p[3],**pp,i;for(i=0;i、C、2

  262、若有下面的说明和定义,则sizeof(structaa)的值是structaa{intr1;doubler2;floatr3;unionuu{charu1[5];longu2[2];}ua;}mya;A)30B)29C)24D)22、D、2

  263、若有定义:

floatw;inta,b;则合法的switch语句是A)switch(w)B)switch(a);{case1、0:

printf("*\n");{case1printf("*\n");case2、0:

printf("**\n");case2printf("**\n");}}C)switch(b)D)switch(a+b);{case1:

printf("*\n");{case1:

printf("*\n");default:

printf("\n");case2:

printf("**\n");case1+2:

printf("**\n");default:

printf("\n");}}、D、2

  264、若已定义:

inta[]={0,1,2,3,4,5,6,7,8,9],*p=a,i;其中0≤i≤9,则对a数组元素不正确的引用上A)a[p-a]B)*(&a[i])C)p[i]D)a[10]、D、2

  265、若变量a、i已正确定义,且i已正确赋值,合法的语句是A)a==iB)++i;C)a=a++=5;D)a=int(i);、B、2

  266、若k是int型变量,且有下面的程序片段:

k=-3if(k<=0)printf("####")elseprintf("&&&&");输出结果是:

A)####B)&&&&C)####&&&&D)有语法错误,无输出结果、D、2

  267、若x是int型变量,且有下面的程序片段:

for(x=3;x、D、2

  268、若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是____A)pb=&xB)pb=x;C)*pb=&x;D)*pb=*x、A、2

  269、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是for(i=5;i;i--)for(j=0;j、A、2

  270、请选出以下语句的输出结果printf("%d\n",strlen("\t\"\065\xff\n"));A)5B)14C)8D)输出项不合法,无正常输出、A、2

  271、请选出正确的程序段A)int*p;B)int*s,k;scanf("%d",p);*s=100;……C)int*s,k;D)int*s,k;char*p,c;char*p,e;s=&k;s=&k;p=&c;p=&c;*p='a';s=p;…*s=1;…、C、2

  272、若a、b、c1、c2、x、y、均是整型变量,正确的switch语句是A)swich(a+b);B)switch(a*a+b*b){case1:

y=a+b;break;{case3:

case0:

y=a-b;break;case1:

y=a+b;break;}case3:

y=b-a,break;}C)switchaD)switch(a-b){casec1:

y=a-b;break{default:

y=a*b;breakcasec2:

x=a*d;breakcase3:

case4:

x=a+b;breakdefault:

x=a+b;case10:

case11:

y=a-b;break;}}、D、2

  273、请选出以下程序的输出结果#includefun(s,n1,n2)int*s,n1,n2;{inti,j,t;i=n1;j=n2;while(i、C、2

  274、请读程序片段:

#includemain(){inta,b;for(a=1;b=1;a<=100;a++){if(b>=20)break;if(b%3==1){b+=3;continue;}b-=5;}printf("%d\n",a);}程序的输出结果是:

A)7B)8C)9D)10、B、2

  275、请选出以下程序的输出结果#includemain(){inta[]={1,2,3,4},i;intx=0;for(i=0;i、C、2

  276、请选出以下程序的输出结果#includesub(x,y,z)intx,y,*z;{*z=y-x;}main(){inta,b,c;sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%d,%d,%d\n",a,b,c);}A)5,2,3B)-5,-12,-7C)-5,-12,-17D)5,-2,-7、B、2

  277、请选出以下程序段的输出结果#includemain(){charsl[10],s2[10],s3[10],s4[10];scanf("%s%s",s1,s2);gets(s3);gets(s4);puts(s1);puts(s2);puts(s3);puts(s4);}输入数据如下:

(此处代表回车符)aaaabbbbccccddddA)aaaaB)aaaabbbbbbbbccccccccddddddddC)aaaaD)aaaabbbbbbbbccccccccddddddddeeee、A、2

  278、请读程序:

#includemain(){floatx,y;scan("%f",&x);if(x<5、0)&&(x!

=2、0))y=1、0/(x+2、0);elseif(x(表示回车),则上面程序的输出结果是A)0、000000B)0、250000C)0、500000D)1、00000、C、2

  279、请读程序:

#includevoidfun(float*pl,float*p2,float*s){s=(float*)calloc(1,sizeof(float));*s=*p1+*(p2++);}main(){floata[2]={1、1,2、2},b[2]={10、0,20、0},*s=a;fun(a,b,s)printf("%f\n",*s);}上面程序的输出结果是A)11、100000B)12、100000C)21、100000D)1、100000、D、2

  280、请读程序:

#include#includevoidfun(char*w,intm){chars,*p1,*p2;p1=w;p2=w+m-1;while(p1、C、2

  281、请读程序:

#include#includemain(){char*s1="AbCdEf",*s2="aB";s1++;s2++;printf("%d\n",strcmp(s1,s2));}输出结果是:

A)正数B)负数C)零D)不确定的值、A、2

  282、两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是main(){intx;scanf("%d",&x);if(x++>5)printf("%d",x);elseprintf("%d\n",x--);}A)7和5B)6和3C)7和4D)6和4、A、2

  283、能正确表示a和b同时为正或同时为负的逻辑表达式是A)(a>=0‖b>=0)&&(a<0‖b=0&&b>=0)&&(a<0&&b0)&&(a+b<=0)D)a*b>0、D、2

  284、请读程序:

#include#includemain(){floatx,y,z;scan("%f%f",&x,&y);z=x/y;while

(1){if(fabs(z)>1、0){x=y;y=z;z=x/y;}elsebreak}printf("%f\n",y);}若运行时从键盘上输入3、62、4(表示回车),则输出的结果是A)1、500000B)1、600000C)2、000000D)2、400000、B、2

  285、请读程序:

#include#includevoidfun(char*s){chara[10];strcpy(a,"STRING");s=a;}main(){char*p;fun(p);x=f(a,3);printf("%s\n",p);}上面程序的输出结果是(└┘表示空格)A)STRING└┘└┘└┘└┘B)STRINGC)STRING└┘└┘└┘D)不确定的、D、2

  286、请读程序:

#includecharfun(char*c){if(*c<='Z'&&*c>='A')*c-='A'-'a';return*c;}main(){chars[81],*p=s;gets(s);while(*p){*p=fun(p);putchar(*p);p++;}putchar('\n');}若从键盘上输入OPENTHEDOOR(表示回车),则上面程序的输出结果是A)oPENtHEdOORB)openthedoorC)OPENTHEDOORD)OpenTheDoor、B、2

  287、请读程序:

#includeinta[]={2,4,6,8};main(){inti;int*p=a;for(i=0;i、A、2

  288、请读程序:

#includemain(){intmun=0;while(num<=2){num++;printf("%d\n",num);}}输出结果是A)1B)1C)1D)1222334、C、2

  289、请读程序:

#includemain(){intx=1,y=0,a=0,b=0;switch(x){case1:

switch(y){case0:

a++;break;case1:

b++;break;}case2:

a++;b++;break;}printf("a=%d,b=%d\n",a,b);}上面程序的输出结果是A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2、A、2

  290、请读程序:

#includevoidfun(int*s){staticintj=0;dos[j]+=s[j+1];while(++j、C、2

  291、假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式的表达式是A)1/a*b*cB)1/(a*b*c)C)1/a/b/(float)cD)1、0/a/b/c、D、2

  292、假定x和y为double型,则表达式x=2,y=x+3/2的值是A)3、500000B)3C)2、000000D)3、000000、D、2

  293、假定w、x、y、z、m均为int型变量,有如下程序段:

w=1;x=2;y=3;z=4;m=(w、D、2

  294、合法的数组定义是A)inta[]="string";B)inta[5]={0,1,2,3,4,5};C)chars="string";D)chara[]={0,1,2,3,4,5};、D、2

  295、假定a和b为int型变量,则执行以下语句后b的值为a=1;b=10;do{b-=a;a++;}while(b--、D、2

  296、当执行以下程序段时A循环体将执行一次B循环体将执行两次C循环体将执行无限次D系统将提示有语法错误x=-1;do{x=x*x;}while(!

x);、A、2

  297、当执行下面程序且输入:

ABC时,输出的结果是____#include#includemain(){charss[10]="12345";gets(ss);printf("%s\n",ss);}A)ABCB)ABC9C)123456ABCD)ABC456789、A、2

  298、当c的值不为0时,在下列选项中能正确将c的值赋给变量a、b的是____A)c=b=a;B)(a=c)‖(b=c);C)(a=c)&&(b=c);C)a=c=b;、C、2

  299、不能把字符串:

Hello!

赋给数组b的语句是A)charb[10]={'H','e','l','l','o','!

'};B)charb[10];b="Hello!

";C)charb[10];strcpy(b,"Hello!

");D)charb[10]="Hello!

";、B、2

  300、t为int类型,进人下面的循环之前,t的值为0while(t=l){……}则以下叙述中正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对、B、2

301、变量a所占内存字节数是A)4B)5C)6D)8unionU{charst[4];inti;longl;};structA{intc;unionUu;}a;、C、3

  302、标准函数fgets(s,n,f)的功能是A)从文件f中读取长度为n的字符串存入指针s所指的内存B)从文件f中读取长度不超过n-1的字符串存入指针s所指的内存C)从文件f中读取n个字符串存入指针s所指的内存D)从文件f中读取长度为n-1的字符串存入指针s所指的内存、B、3

  303、rewind函数的作用是________。

A、重新打开文件B、使文件位置指针重新回到文件末C、使文件位置指针重新回到文件的开始D、返回文件长度值、C、3

  304、当____,可以不指定数组长度。

(A)对静态数组赋初值(B)对动态数组赋初值(C)只给一部分元素赋值(D)对全部数组元素赋初值、D、3

  305、以下程序的输出结果是____i=5;i=++i*4+2;A、5B、6C、23D、26、D、3

  306、以下程序的输出结果是____i=5;i=i++*4+2;A、5B、6C、23D、26、C、3

  307、以下程序的输出结果是____main(){intx,y,z;x=y=z=0;++x||++y||++z;printf(“%d,%d,%d\n”,x,y,z);}A、1,1,1B、1,0,0C、1,1,0D、1,0,1、B、3

  308、C语言中函数能否嵌套调用和递归调用?

A、二者均不可B、前者可,后者不可C、前者不可,后者可D、二者均可、D、3

  309、C语言联合类型在任何给定时刻_____。

A、所有成员一直驻留在结构中。

B、只能有一个成员驻留在结构中。

C、部分成员驻留在结构中。

D、没有成员驻留在结构中。

、B、3

  310、#includemain(){inta,b,c,d;scanf("%d%d",&a,&b);c=gbs(a,b);d=gys(a,b);printf("a=%db=%dgbs=%dgys=%d\n",a,b,c,d);}gbs(a,b)inta,b;{intc;a=a>0?

a:

-a;b=b>0?

b:

-b;c=a*b;if(c==0)return(0);while(a!

=b)if(a>b)a-=b;elseb-=a;return(c/a);}gys(a,b)inta,b;{if(a*b==0)return(0);a=a>0?

a:

-a;b=b>0?

b:

-b;while(a!

=b)if(a>b)a-=b;elseb-=a;return(a);}请写出上面程序的运行结果:

A、a=30b=63gbs=189gys=9B、a=27b=63gbs=190gys=10C、a=27b=63gbs=189gys=9D、a=27b=63gbs=188gys=10、C、3

  311、请读程序:

main(){int*p,x;x=10;*p=x;printf("%d\n",*p);}请判断上面程序____A、错误:

*p=x;printf("%d\n"),*p);正确:

p=&x;printf("%d\n",p);B、错误:

*p=x;printf("%d\n"),*p);正确:

p=**x;printf("%d\n",p);C、错误:

int*p,x;正确:

int*(p),*(x);D、错误:

*p=x;正确:

p=&x;、A、3

  312

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1