全国计算机等级考试二级C笔试练习题.docx

上传人:b****2 文档编号:3132415 上传时间:2023-05-05 格式:DOCX 页数:15 大小:18.18KB
下载 相关 举报
全国计算机等级考试二级C笔试练习题.docx_第1页
第1页 / 共15页
全国计算机等级考试二级C笔试练习题.docx_第2页
第2页 / 共15页
全国计算机等级考试二级C笔试练习题.docx_第3页
第3页 / 共15页
全国计算机等级考试二级C笔试练习题.docx_第4页
第4页 / 共15页
全国计算机等级考试二级C笔试练习题.docx_第5页
第5页 / 共15页
全国计算机等级考试二级C笔试练习题.docx_第6页
第6页 / 共15页
全国计算机等级考试二级C笔试练习题.docx_第7页
第7页 / 共15页
全国计算机等级考试二级C笔试练习题.docx_第8页
第8页 / 共15页
全国计算机等级考试二级C笔试练习题.docx_第9页
第9页 / 共15页
全国计算机等级考试二级C笔试练习题.docx_第10页
第10页 / 共15页
全国计算机等级考试二级C笔试练习题.docx_第11页
第11页 / 共15页
全国计算机等级考试二级C笔试练习题.docx_第12页
第12页 / 共15页
全国计算机等级考试二级C笔试练习题.docx_第13页
第13页 / 共15页
全国计算机等级考试二级C笔试练习题.docx_第14页
第14页 / 共15页
全国计算机等级考试二级C笔试练习题.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

全国计算机等级考试二级C笔试练习题.docx

《全国计算机等级考试二级C笔试练习题.docx》由会员分享,可在线阅读,更多相关《全国计算机等级考试二级C笔试练习题.docx(15页珍藏版)》请在冰点文库上搜索。

全国计算机等级考试二级C笔试练习题.docx

全国计算机等级考试二级C笔试练习题

2011年全国计算机等级考试二级C笔试练习题

(1)

  1.若变量已正确定义并赋值,对库函数错误调用的是

  A)k=scanf("%d%d",&i,&j);

  B)printf("\\%d\\\n",k);

  C)getchar(ch);

  D)putchar(ch);

  2.要求定义一个返回值为double类型的名为mysum的函数,其功能为求两个double类型数的和值,正确的定义是:

  A)mysum(doublea,b)

  {return(a+b);}

  B)mysum(doublea,doubleb)

  {returna+b;}

  C)doublemysum(inta,intb);

  {returna+b;}

  D)doublemysum(doublea,doubleb)

  {retrun(a+b);}

  3.以下是对fun函数的正确调用:

  fun(a+b,fun(a+b,(a,b)));

  则fun函数有______个形参。

  4.若有以下函数定义:

  myfun(doublea,intn)

  {……}

  则myfun函数值的类型是

  A)void

  B)double

  C)int

  D)char

  5.若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值。

以下选项中错误的程序是

  A)doublefun(inta,intb)

  {……}

  main()

  {┇

  fun(i,k);

  ┇

  }

  B)main()

  {

  printf("%f\n",fun(2,10));

  ┇

  }

  doublefun(inta,intb)

  {……}

  C)doublefun(int,int);

  main()

  {┇

  x=fun(i,k);

  ┇

  }

  doublefun(inta,intb)

  {……}

  D)main()

  {doublefun(inti,inty);

  ┇

  x=fun(i,k);

  ┇

  }

  doublefun(inta,intb)

  {……}

  6.若有以下函数:

  intfun(intx)

  {return(1+x*x);}

则语句printf("%d\n",fun(fun(fun(fun

(1)))));的输出结果是

答案:

CD2CB677

2011年全国计算机等级考试二级C笔试练习题

(2)

  1.若有以下定义:

floatx;inta,b,c=2;,则正确的switch语句是()

  A)

  switch(x)

  {case1.0∶printf("*\n");

  case2.0∶printf("**\n");

  }

  B)switch(int(x))

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

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

  }

  C)

  switch(a+b)

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

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

  }

  D)switch(a+b)

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

  casec∶printf("**\n");

  }

  2.执行下面程序片段的结果是()

  intx=123;

  do

  {printf("=\n",x--);}

  while(!

x);

  A)打印出321

  B)打印出123

  C)不打印任何内容

  D)陷入死循环

  3.以下程序的输出结果是()

  #include

  main()

  {inti=0,a=0;

  while(i<20)

  {for(;;){if((i_)==0)break;elsei--;}

  i+=11;a+=i;

  }

  printf("%d\n",a);

  }

  A)21B)32C)33D)11

  4.下列与表达式“b=(a<0?

-1∶a>0?

1∶0)”的功能等价选项是()

  A)b=0;

  if(a>=0)

  if(a>0)b=1;

  elseb=-1;

  B)if(a>0)b=1;

  elseif(a<0)b=-1;

  elseb=0

  C)if(a)

  if(a<0)b=-1;

  elseif(a>0)b=1;

  elseb=0;

  D)b=-1;

  if(a)

  if(a>0)b=1;

  elseif(a==0)b=0;

  elseb=-1;

  5.若有以下定义:

chara;intb;floatc;doubled;则表达式“a*b+d-c”值的类型为()

  A)float

  B)int

  C)char

  D)double

  6.以下叙述中正确的是()

A)在函数中必须

须要有return语句

  B)在函数中可以有多个return语句,但只执行其中的一个

  C)return语句中必须要有一个表达式

  D)函数值并不总是通过return语句传回调用处

  7.有以下程序

  floatfun(intx,inty)

  {return(x+y);

  }

  main()

  {inta=2,b=5,c=8;

  printf("%3.0f\n",fun((int)fun(a+c,b),a-c));

  }

  程序运行后的输出结果是()

  A)编译出错

  B)9

  C)21

  D)9.0

  8.若已定义:

  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]

  9.以下叙述中正确的是()

  A)全局变量的作用域一定比局部变量的作用域大

  B)静态(static)类型变量的生存期贯穿于整个程序的运行期间

  C)函数的形参都属于全局变量

  D)未在定义语句中赋初值的auto变量和static变量的初值都是随机值

  10.若有如下程序:

  main()

  {chara[][9]={"china","Japan","USA","France"};

  printf("\′%s\′\n",a[2]);}

  则程序运行后的输出结果是()

  A)′Japan′

  B)′USA′

  C)USA

  D)′inaJapanUSAFrance′

  答案:

1.C2.B3.B4.B5.D6.B7.B8.D9.B10.B

2011年全国计算机等级考试二级C笔试练习题(3)

  1.若变量c为char类型,能正确判断出c为小写字母的表达式是()

  A)′a′<=c<=′z′

  B)(c>=′a′)||(c<=′z′)

  C)(′a′=C)

  D)(c>=′a′)&&(c<=′z′)

  2.下面程序的输出结果是()

  main()

  {intx=2,y=0,z;

  x+=3+2;printf("%d",x);

  x*=y=z=4;printf("%d",x);

  }

  A)728

  B)无法计算

  C)7,4

  D)8,4

  3.有如下程序

  main()

  {intx=1,a=0,b=0;

  switch(x){

  case0∶b++;

  case1∶a++;

  case2∶a++;b++;

  }

  printf("a=%d,b=%d\n",a,b);

  }

  程序运行后的输出结果是()

  A)a=2,b=1

  B)a=1,b=1

  C)a=1,b=0

  D)a=2,b=2

  4.以下选项中,正确的if-else语句是()

  A)if(x!

=0)

  printf("%d",x)

  else

  printf("%d",-x);

  B)if(x!

=0)

  {x=x+y;printf("%d",x);}

  else

  printf("%d",-x);

  C)if(x!

=0)

  x=x+y;printf("%d",x);

  else

  printf("%d",-x);

  D)if(x!

=0)

  {x=x+y;printf("%d",x)};

  else

  printf("%d",-x);

  5.有以下程序段

  intn=0,p;

  do{scanf("%d",&p);n++;}while(p!

=12345&&n<3);

  此处do-while循环的结束条件是()

  A)p的值不等于12345并且n的值小于3

  B)p的值等于12345并且n的值大于等于3

  C)p的值不等于12345或者n的值小于3

  D)p的值等于12345或者n的值大于等于3

  6.若有如下程序段:

  main()

  {intn=0;

  while(printf("*"))

  {n++;

  if(n<3)break;}}

  则下列描述正确的是()

A)其中循环控制表达式与0等价

  B)其中循环控制表达式与’0’等价

  C)其中循环控制表达式是不合法的

  D)以上说法都不对

  7.C语言中main函数参数的非法表示形式是()

  A)main(char*argv[],intargc)

  B)main(inta,char**b)

  C)main(inty,char*x[])

  D)main(intargv,char*argc[])

  8.设有如下枚举类型定义:

  enumlanguage{Basic=3,Assembly,Ada=100,COBOL,Fortran};

  枚举类型Fortran的值为()

  A)4

  B)7

  C)102

  D)103

  9.阅读下述程序段:

  y=-1;

  if(x!

=0)

  if(x>0)

  y=1;

  else

  y=0;

  该程序段所描述的数学关系是()

  A)y=-1(x<0)

  0(x=0)

  1(x>0)

  B)y=1(x<0)

  0(x=0)

  -1(x>0)

  C)y=0(x<0)

  -1(x=0)

  1(x>0)

  D)y=-1(x<0)

  1(x=0)

  0(x>0)

  10.设有数组定义:

chararray[]="China";蚴閍rray所占的空间为()

  A)4个字节

  B)5个字节

  C)6个字节

  D)7个字节

  答案:

1.D2.A3.A4.B5.D6.B7.A8.C9.C10.C

2011年全国计算机等级考试二级C笔试练习题(4)

1.有以下程序:

  main()

  {intx=0xFFFF;printf("%d\n",x--);}

  执行后的输出结果是()

  A)32767

  B)FFFE

  C)-1

  D)-32768

  2.以下程序的输出结果是()

  #include

  #include

  main()

  {charstr[12]={′s′,′t′,′r′,′i′,′n′,′g′};

  printf("%d\n",strlen(str));

  }

  A)6

  B)7

  C)11

  D)12

  3.若有以下定义:

  chars[20]="programming",*ps=s;

  则不能代表字符o的表达式是()

  A)ps+2

  B)s[2]

  C)ps[2]

  D)ps+=2,*ps

  4.关于语句“for(表达式1;表达式2;表达式3)”,下面说法中错误的是()

  A)for语句中的三个表达式可以同时省略

  B)for语句可以用于循环次数不确定的情况

  C)for语句中表达式2只能是关系表达式或逻辑表达式

  D)for语句中表达式1和表达式3可以是逗号表达式

  5.执行下面程序片段的结果是()

  intx=23;

  do

  {printf("-",x--);}

  while(!

x);

  A)打印出321

  B)打印出23

  C)不打印任何内容

  D)陷入死循环

  6.与y=(x>0?

1∶x<0?

-1∶0);的功能相同的if语句是()

  A)if(x>0)y=1;

  elseif(x<0)y=-1;

  elsey=0;

  B)if(x)

  if(x>0)y=1;

  elseif(x<0)y=-1;

  elsey=0;

  C)y=-1;

  if(x)

  if(x>0)y=1;

  elseif(x==0)y=0;

  elsey=-1;

  D)y=0;

  if(x>=0)

  if(x>0)y=1;

  elsey=-1;

  7.标准库函数fgets(s,n,f)的功能是()

  A)从文件f中读取长度为n的字符串存入指针s所指的内存

  B)从文件f中读取长度不超过n-1的字符串存入指针s所指的内存

  C)从文件f中读取n个字符串存入指针s所指的内存

  D)从文件f中读取长度为n-1的字符串存入指针s所指的内存

  8.若有如下函数调用语句:

  sub(a,1,ffun(b,c),d+c,(a+d,c*f));

  则在该函数调用语句中含有实参的个数是()

  A)5

  B)7

  C)10

  D)6

  9.若要定义a为3×4的二维数组,正确的定义语句是()

  A)floata(3,4);

  B)floata[3][4];

  C)floata(3)(4);

  D)floata[3,4];

  10.有以下程序

  main()

  {intaa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};

  inti,s=0;

  for(i=0;i<4;i++)s+=aa[i][1];

  printf("%d\n",s);

  }

  程序运行后的输出结果是()

  A)11

  B)19

  C)13

  D)20

  答案:

1.C2.A3.A4.C5.B6.A7.B8.A9.B10.B

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

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2