荟萃馆

位置:首页 > 计算机 > 计算机二级

2016年计算机二级c语言题库

距2016年计算机二级考试时间越来越近了,为帮助大家尽快复习C语言考试,下面本站小编整理了关于C语言的考试题库,希望对大家有所帮助!

2016年计算机二级c语言题库

  计算机二级C语言题库【一】

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

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

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

C)(′a′=C)

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

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

main()

{ int x=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()

{int x=1,a=0,b=0;

switch(x){

case 0∶b++;

case 1∶a++;

case 2∶a++;b++;

}

printf("a=%d,b=%dn",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.有以下程序段

int n=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()

{ int n=0;

while(printf("*"))

{ n++;

if(n<3)break; }}

则下列描述正确的是()

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

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

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

D)以上说法都不对

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

A)main(char *argv[],int argc)

B)main(int a,char**b)

C)main(int y,char *x[])

D)main(int argv,char *argc[])

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

enum language {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.设有数组定义:char array[]="China";蚴?閍rray所占的空间为()

A)4个字节 B)5个字节 C)6个字节 D)7个字节

答案:1.D 2.A 3.A 4.B 5.D 6.B 7.A 8.C 9.C 10.C

  计算机二级C语言题库【二】

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(double a,b)

{ return (a+b); }

B) mysum(double a, double b)

{ return a+b; }

C) double mysum(int a, intb);

{return a+b; }

D) double mysum(double a, double b)

{ retrun (a+b); }

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

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

则fun函数有______个形参。

4.若有以下函数定义:

myfun(double a, int n)

{…… }

则myfun函数值的类型是

A) void

B) double

C) int

D) char

5.若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值。以下选项中错误的程序是

A) double fun( int a,int b )

{…… }

main()

{ ┇

fun( i,k );

}

B) main()

{

printf( "%fn",fun( 2,10 ));

}

double fun( int a,int b )

{ …… }

C) double fun( int, int );

main()

{ ┇

x=fun( i,k );

}

double fun( int a,int b )

{ …… }

D) main()

{ double fun(int i,int y);

x=fun( i,k );

}

double fun(int a,int b)

{ ……}

6.若有以下函数:

int fun(int x)

{ return (1+x*x); }

则语句printf(" %dn",fun(fun(fun(fun( 1 )))) );的输出结果是

答案:C D 2 C B 677

  计算机二级C语言题库【三】

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.执行下面程序片段的结果是()

int x=123;

do

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

while(!x);

A)打印出321

B)打印出123

C)不打印任何内容

D)陷入死循环

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

# include

main()

{ int i=0,a=0;

while(i<20)

{ for(;;){ if((i)==0)break;else i--; }

i+=11;a+=i;

}

printf("%dn",a);

}

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

4.下列与表达式“b=(a<0?-1∶a>0?1∶0)”的功能等价选项是()

A)b=0;

if(a>=0)

if(a>0) b=1;

else b=-1;

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

else if(a<0)b=-1;

elseb=0

C)if(a)

if(a<0) b=-1;

else if(a>0)b=1;

else b=0;

D) b=-1;

if(a)

if(a>0)b=1;

else if(a==0)b=0;

else b=-1;

5.若有以下定义:char a; int b; float c; double d; 则表达式“a*b+d-c”值的类型为()

A)float B)int C)char D)double

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

A)在函数中必须要有return语句

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

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

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

7.有以下程序

float fun(int x,int y)

{ return(x+y);

}

main()

{int a=2,b=5,c=8;

printf("%3.0fn",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()

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

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

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

A)′Japan′ B)′USA′ C)USA D)′inaJapanUSAFrance′

答案:1.C 2.B 3.B 4.B 5.D 6.B 7.B 8.D 9.B 10.B