计算机二级题库.docx

上传人:b****3 文档编号:24677684 上传时间:2023-05-31 格式:DOCX 页数:23 大小:24.67KB
下载 相关 举报
计算机二级题库.docx_第1页
第1页 / 共23页
计算机二级题库.docx_第2页
第2页 / 共23页
计算机二级题库.docx_第3页
第3页 / 共23页
计算机二级题库.docx_第4页
第4页 / 共23页
计算机二级题库.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

计算机二级题库.docx

《计算机二级题库.docx》由会员分享,可在线阅读,更多相关《计算机二级题库.docx(23页珍藏版)》请在冰豆网上搜索。

计算机二级题库.docx

计算机二级题库

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

 

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

 

 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

 

  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,fun(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

 

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

  #include

  main()

  {inta,b,d=241;

  a=d/100%9

  b=(-1)&&(+1);

  printf("%d,%d,a,d");}

  A)6,1

  B)2,1

  C)6,0

  D)2,0

  2.关于if后一对圆括号中的表达式,以下叙述中正确的是()

  A)只能用逻辑表达式

  B)只能用关系表达式

  C)既可用逻辑表达式也可用关系表达式

  D)可用任意表达式

  3.有以下程序

  main()

  {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)7

  B)8

  C)9

  D)10

  4.C语言中()

  A)不能使用do-while语句构成的循环

  B)do-while语句构成的循环必须用break语句才能退出

  C)do-while语句构成的循环,当while语句中的表达式值为非零时结束循环

  D)do-while语句构成的循环,当while语句中的表达式值为零时结束循环

  5.当a=1、b=3、c=5、d=4时,执行下面一段程序:

  if(a  if(c  else

  if(a  if(b  elsex=3;

  elesx=6;

  elsex=7;

  程序执行后,x的值为()

  A)1

  B)2

  C)3

  D)6

  6.若x、y、z、m均为int型变量,则执行下面语句后m的值是()

  m=1;x=2;y=3;

  m=(m  m=(m  m=(m  A)1

  B)2

  C)3

  D)4

  7.设有如下的函数

  funct(x)

  floatx;

  {x*=x;printf("\n%d",x);return(x);}

  则函数的类型()

  A)与参数x的类型相同

  B)void

  C)int

  D)无法确定

  8.在C语言中,不适用于局部变量的存储类说明符是()

  A)auto

  B)register

  C)static

  D)extern

  9.有以下程序

  intf(intn)

  {if(n==1)return1;

  elsereturnf(n-1)+1;

  }

  main()

  {inti,j=0;

  for(i=1;i<5;i++)j+=f(i);

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

  }

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

  A)15

  B)10

  C)6

  D)3

  10.有以下程序

  intb=2;

  intfunc(int*a)

  {b+=*a;return(b);}

  main()

  {inta=2,res=2;

  res+=func(&a);

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

  }

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

  A)4

  B)6

  C)8

  D)10

  答案:

1.B2.D3.B4.D5.B6.A7.C8.D9.B10.B

 

 1.下面叙述正确的是()

  A)define和auto都不能定义为用户标识符

  B)可以把define和auto定义为用户标识符

  C)可以把define定义为用户标识符,但auto是C语言的关键字

  D)可以把auto定义为用户标识符,但define是C语言的关键字

  2.以下的for循环()

  for(x=0,y=0;(y!

=123)&&(x<4);x++)

  A)是无限循环

  B)循环次数不定

  C)执行4次

  D)执行3次

  3.下述对C语言字符数组的描述中错误的是()

  A)字符数组可以存放字符串

  B)字符数组中的字符串可以整体输入、输出

  C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值

  D)不可以用关系运算符对字符数组中的字符串进行比较

  4.设有定义:

inta,*p=&a,**pp=&p;,则与a=100;等价的语句为()

  A)**p=100;

  B)**pp=100;

  C)&*p=100;

  D)*pp=10;

  5.有以下程序

  intx=3;

  do{printf("%d",x-=2);}while(!

(--x));

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

  A)1

  B)30

  C)1-2

  D)死循环

  6.执行下面程序的正确结果是()

  main()

  {floata=1.9;

  switch(a)

  {case0∶printf("0000");

  case1∶printf("1111");

  case2∶printf("3333");

  }

  printf("%f",a);

  }

  A)1.900000

  B)111133331.900000

  C)33331.900000

  D)00001111233331.900000

  7.对下述程序,正确的判断是()

  main()

  {inta,b;

  scanf("%d,%d",&a,&b);

  if(a>b)a=b;b=a;

  elsea++;b++;

  printf("%d,%d",a,b);}

  A)有语法错误不能通过编译

  B)若输入4,5则输出5,6

  C)若输入5,4则输出4,5

  D)若输入5,4则输出5,5

  8.若有如下程序:

  sub(intn)

  {intt;

  if(n==1)returnt=5;

  elset=sub(n-1)+3;

  returnt;}

  main()

  {printf("%d\n",sub(5));}

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

  A)17

  B)18

  C)19

  D)20

  9.下面各被调用函数首部书写正确的是()

  A)voidsub(floatx;floaty);

  B)voidsub(floatx,y)

  C)voidsub(floatx,floaty)

  D)voidsub(floatx,floaty);

  10.设有如下程序:

  #include"string.h"

  main()

  {staticchars1[20],s2[20];

  scanf("%s",s1);scanf("%s",s2);

  if(strcmp(s1,s2))printf("@");

  elseprintf("$");

  printf("%d\n",strlen(strcat(s1,s2)));}

  如果从键盘上输入name<回车>name1<回车>,则程序运行后的输出结果是()

  A)$8

  B)@10

  C)$9

  D)@9

  答案:

1.C2.C3.C4.B5.C6.B7.A8.A9.C10.D

 

1.以下程序运行后,输出结果是()

  #include

  ss(char*s)

  {char*p=s;

  while(*p)p++;

  return(p-s);

  }

  main()

  {char*a="abded";

  inti;

  i=ss(a);

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

  }

  A)8

  B)7

  C)6

  D)5

  2.若有如下程序:

  intsub()

  {staticintn=1;

  intx=1;

  x*=n;n++;

  returnx;}

  main()

  {intn,t=1;

  for(n=1;n<6;n++)t*=sub();

  printf("%d\n",t);}

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

  A)15

  B)120

  C)34560

  D

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

当前位置:首页 > 求职职场 > 笔试

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

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