2017年计算机二级C语言模拟试题

来源:文书网 2.59W

C语言是世界上最流行、使用最广泛的高级程序设计语言之一。下面是关于计算机二级C语言模拟试题,欢迎参考!

2017年计算机二级C语言模拟试题

  单选题

1.下列关于定义一个指向double型变量的指针,正确的是( B )。

a(5);double *pd=a; le d(2.5),*pd=&d;

le d(2.5),*pd=d; le a(2.5),pd=d;

2.下列关于创建一个int型变量的引用,正确的是( A )。

a(3),&ra=a; a(3),&ra=&a;

le d(3.1);int &rd=d; a(3),ra=a;

3.下列关于指针概念的描述中,错误的是( B )。

A.指针中存放的是某变量或对象的地址值

B.指针的类型是它所存放的数值的类型

C.指针是变量,它也具有一个内存地址值

D.指针的值(非常量指针)是可以改变的

4.下列关于引用概念的描述中,错误的是( A )。

A.引用是变量,它具有值和地址值

B.引用不可以作数组元素

C.引用是变量的别名

D.创建引用时必须进行初始化

5.已知:int a[5],*p=a;则与++*p相同的是( D )。

A.*++p B.a[0]

C.*p++ D.++a[0]

6.已知:int a[ ]={1,2,3,4,5},*p=a;在下列数组元素地址的表示中,正确的是( C )。

A.&(a+1) B.&(p+1)

C.&p[2] D.*p++

7.已知:int a[3][4],(*p)[4];下列赋值表达式中,正确的是( A )。

A.p=a+2 B.p=a[1]

C.p=*a D.p=*a+2

8.已知:int b[3][5]={0};下列数组元素值的表示中,错误的是( D )。

A.**(b+1) B.(*(b+1))[2]

C.*(*(b+1)+1) D.*(b+2)

9.已知:int a=1,b=2,*p[2];下列表达式中正确的是( C )。

24

A.p=&a B.p=&b

C.p[0]=&a,p[1]=&b D.p[ ]={&a,&b};

10.已知:int a(5),&ra=a;下列描述中,错误的是( D )。

是变量a的引用,即为变量的别名 的值为5

的地址值为&a D.改变ra的值为10,变量a值仍为5

  判断题

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  简单回答下列问题

分程序是复合语句吗?复合语句与分程序的区别是什么?

答:分程序是复合语句。复合语句与分程序的区别在于含有说明语句的复合语句称为分程序。

if语句中,else子句的功能是什么?

答:该子句的功能是当if子句和所有else if子句的条件都为0时,则执行else子句。

在开关语句中,是否每个case子句后面的<语句序列>中都应该有break语句?

答:通常case子句后面的<语句序列>中都有break语句,根据需要也可以没有break语句。

循环语句的循环体中出现的continue语句的作用是什么?

答:结束本次循环,转到循环头判断是否继续循环。

文件包含命令的功能吗?该命令一定要放在程序首部吗?

答:该预处理命令是将指定的包含文件内容放在该命令出现的地方。通常放在程序开头,便于后边语句的使用。

热门标签