荟萃馆

位置:首页 > IT认证 > 计算机等级

2017二级c语言题库

C语言提供多种运算符和表达式值的方法,对问题的表达可通过多种途径获得,其程序设计更主动、灵活。下面是小编收集的2017二级c语言题库,希望大家认真练习!

2017二级c语言题库

  判断题

× 1.指针是变量,它具有的值是某个变量或对象的地址值,它还具有一个地址值,这两个地址值是相等的。

√ 2.指针的类型是它所指向的变量或对象的类型。

× 3.定义指针时不可以赋初值。

√ 4.指针可以赋值,给指针赋值时一定要类型相同,级别一致。

× 5.指针可以加上或减去一个int型数,也可以加上一个指针。

√ 6.两个指针在任何情况下相减都是有意义的。

√ 7.数组元素可以用下标表示,也可以用指针表示。

× 8.指向数组元素的指针只可指向数组的首元素。

√ 9.指向一维数组的指针是一个二级指针。

× 10.指针数组的元素可以是不同类型的指针。

√ 11.字符指针是指向字符串的指针,可以用字符串常量给字符指针赋值。

× 12.引用是一种变量,它也有值和地址值。

√ 13.引用是某个变量的别名,引用是被绑定在被引用的变量上。

√ 14.创建引用时要用一个同类型的变量进行初始化。

√ 15.指针是变量,它可以有引用,而引用不能有引用。

  单项选择

1 下列数据中,为字符串常量的是()。 D

A、'A'

B、How do you do.

C、$abc

D、"house"

2 以下所列的C语言常量中,错误的是( )。 B

A、0xFF

B、1.2e0.5

C、2L

D、'72'

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

main()

{float x=3.6;

int i;

i=(int)x;

printf("x=%f,i=%dn",x,i);

}

A、x=3.600000,i=4

B、x=3 i=3.600000

C、x=3,i=3

D、x=3.600000,i=3

4 若k是整型,则以下程序段的执行结果是:( ) B

k=-3;

if(k<=0) printf("####")

else printf("&&&&");

A、####

B、有语法错误,无结果

C、&&&&

D、####&&&&

5 若x=2,y=3则x||y的结果是( )。 C

A、3

B、0

C、1

D、2

6 针对下列程序段回答问题( B ).

for(t=1;t<=100;t++)

{

scanf("%d",&x);

if(x<0) continue;

printf("=",t);

}

A、x>=0时什么也不输出

B、最多允许输出100个非负整数

C、printf函数永远也不执行

D、当x<0时整个循环结束

7 以下程序的执行结果是( )。 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,

8 选择正确的输入语句( D )。:(其中:char string[20];)使得string的内容为"I am student".

A、scanf("%s", string);

B、scanf("%c", &string);

C、scanf("%s", &string);

D、gets(string);

9 对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是()。 B

A、将5个初值依次赋给a[6]至a[10]

B、将5个初值依次赋给a[0]至a[4]

C、因为数组长度与初值的个数不相同,所以此语句不正确

D、将5个初值依次赋给a[1]至a[5]

10 以下标识符中可以作为用户函数名的'是( ). D

A、struct

B、int

C、union

D、go_to

11 以下叙述错误的是( ). B

A、函数调用可以出现在一个表达式中

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

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

D、函数允许递归调用

12 若用数组名作为函数的实参,传递给形参的是()。 B

A、数组第一个元素的值

B、数组的首地址

C、数组元素的个数

D、数组中全部元素的值

13 在C语言程序中()。 B

A、函数的定义可以嵌套,但函数的调用不可以嵌套

B、函数的定义不可以嵌套,但函数的调用可以嵌套

C、函数的定义和函数调用不可以嵌套

D、函数的定义和函数调用均可以嵌套

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

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

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

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

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

15 若有说明: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;scanf("%d",p);

16 对于下述定义,不正确的叙述是( ). B

union data

{int i;

char c;

float f;

}a,b;

A、变量a的地址和它的各成员地址都是相同的

B、可以在定义类型的同时定义变量a,并对a的任意成员初始化

C、变量a所占内存的长度等于成员f的长度

D、如果有定义语句 union data a={6};则对变量a的初始化是正确的

标签:题库 二级 语言