当前位置:学者斋 >

计算机 >计算机二级 >

2015下半年全国计算机二级C语言考前模拟试题及答案(六)

2015下半年全国计算机二级C语言考前模拟试题及答案(六)

一、选择题

2015下半年全国计算机二级C语言考前模拟试题及答案(六)

1.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是(B)。

A、一个存储区,存放要读的数据项

B、一个指针,指向要读入数据的存放地址

C、一个文件指针,指向要读的文件

D、一个整数,代表要读入的数据项总数

2.结构体类型的定义允许嵌套是指(A)。

A、成员是已经或正在定义的结构体型

B、定义多个结构体型

C、成员可以重名

D、结构体型可以派生

3.对结构体类型的变量的成员的访问,无论数据类型如何都可使用

的运算符是(B)。

A、&

B、.

C、*

D、->

4.若有以下的定义:int t[3][2];能正确表示t数组元素地址的表达式是(D)。

A、&t[1]

B、t[3]

C、&t[3][2]

D、t[2]

5.若有说明:int *p,m=5,n;以下正确的程序段是(D)。

A、scanf("%d",&n);*p=n;

B、p=&n;scanf("%d",*p)

C、p=&n;scanf("%d",&p);

D、p=&n;*p=m;

6.若定义:int a=511,*b=&a;, 则printf("%dn",*b);的输出结果为(D)。

A、无确定值

B、a的地址

C、512

D、511

7.下列说法中正确的是(B ).

A、函数调用不占运行时间,只占编译时间.

B、宏替换不占运行时间,只占编译时间.

C、有参数的宏定义,就是函数.

D、在定义宏时,宏名与带参数的括弧之间可以加空格.

C语言程序中,若对函数类型未加声明,则函数的类型系统默认为(C)。

A、void

B、double

C、int

D、char

8.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是(A)。

A、函数调用可以作为一个函数的形参

B、函数调用可以作为一个函数的实参

C、函数调用可以作为独立的语句存在

D、函数调用可以出现在表达式中

9.对于void类型函数,调用时不可作为(B)。

A、循环体里的语句

B、表达式

C、if语句的成分语句

D、自定义函数体中的语句

10.C语言规定,函数返回值的类型是由(A)。

A、在定义该函数时所指定的函数类型所决定

B、return语句中的表达式类型所决定

C、调用该函数时系统临时决定

D、调用该函数时的主调函数类型所决定

11.以下定义语句中,错误的是(A)。

A、int n=5,a[n];

B、int a[]={1,2};

C、char s[10]="test";

D、char *a[3];

12.以下不能对二维数组a进行正确初始化的语句是(A)。

A、int a[2][3]={{1,2},{3,4},{5,6}};

B、int a[][3]={{1,2},{0}};

C、int a[2][3]={0};

D、int a[][3]={1,2,3,4,5,6};

13.在C语言中,引用数组元素时,其数组下标的数据类型允许是(B)。

A、整型常量

B、整型常量或整型表达式

C、整型表达式

D、任何类型的表达式

a[10];合法的数组元素的最小下标值为(D)。

A、10

B、9

C、1

D、0

15.下列数组说明中,正确的是(B)。

A、int array[][];

B、int array[][4];

C、int array[3][];

D、int array[][][5];

16.以下正确的描述是(A ).

A、只能用continue语句来终止本次循环

B、switch语句中不能出现continue语句

C、在循环中break语句不能独立出现

D、goto语句只能用于退出多层循环

17.针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是(B ).

A、break语句可以一次性跳出多层嵌套循环

B、break语句只能跳出最内层循环

C、continue语句可以一次性跳出多层嵌套循环

D、continue语句不能跳出最外层循环

18.下面程序正确的运行结果是(B ).(答案中用大写字母U代表空格)

main()

{

int num=0;

while(num<=2)

{

num++;

printf("=",num);

}

}

A、UU1

B、UU1UU2UU3

C、UU1UU2UU3UU4

D、UU1UU2

19.以下程序的执行结果是(B )。

main()

{ int num = 0;

while( num <= 2 ) { num++; printf( "%d,",num ); } }

A、0,1,2

B、1,2,3,

C、1,2,3,4,

D、1,2,

20.C语言中,switch后的括号内表达式的值可以是( C)。

A、只能为整型和字符型

B、只能为整型

C、任何类型

D、只能为整型,字符型,枚举型

21.下列运算符中,不属于关系运算符的是(C)。

A、>=

B、>

C、!

D、<

22.下面说法不正确的是:(C )。

A、a为真b为假,则a&&b为假

B、a为真b为假,!a&&b为假

C、a为真b为假,则a||b为假

D、a为真,!a-1为真

23.以下运算符中,优先级最高的运算符是(D)。

A、==

B、||

C、%

D、!

24.已知键盘输入a=4,b=3,下面程序输出的结果是( C).

main()

{ int a,b,s;

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

s=a;

if(a   s=s*s;

printf("%dn",s);

}

A、9

B、13

C、16

D、15

25.为表示关系x>=y>=z,应使用C语言表达式为:( A)

A、(x>=y)&&(y>=z)

B、(x>=y)&(y>=z)

C、(x>=y)AND(y>=z)

D、(x>=y>=z)

26.已定义float a; int i;选择正确的输入语句(C ).

A、scanf("%6.2f=", &a,&i);

B、scanf("%f%s", &a,&i);

C、scanf("o=",&a,&i);

D、scanf("%f%d", a,i);

27.根据下面的程序,正确的输出形式是(A );

main()

{

int i=5,j=10;

printf ("i=%d,", i);

printf ("j=%d ", j);

}

A、i=5, j=10

B、10,5

C、5,10

D、i=5Uj=10

28.若有以下程序:

main()

{

int k=2,i=2,m;

m=(k+=i*=k);

printf("%d,%dn",m,i);

}

29执行后的输出结果是(D )。

A、8,3

B、7,4

C、8,6

D、6,4

30下列字符序列中,不可用作C语言标识符的是(C)。

A、b70

B、a_1

C、#ab

D、symbol

  • 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/jsj/erji/ezx4gk.html