2017年计算机二级C语言模拟试题
C语言是世界上最流行、使用最广泛的高级程序设计语言之一。下面是关于计算机二级C语言模拟试题,欢迎参考!
单选题
1.下列关于定义一个指向double型变量的指针,正确的是( B )。
A.int a(5);double *pd=a; B.double d(2.5),*pd=&d;
C.double d(2.5),*pd=d; D.double a(2.5),pd=d;
2.下列关于创建一个int型变量的引用,正确的是( A )。
A.int a(3),&ra=a; B.int a(3),&ra=&a;
C.double d(3.1);int &rd=d; D.int 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.ra是变量a的引用,即为变量的别名 B.ra的值为5
C.ra的地址值为&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语句的作用是什么?
答:结束本次循环,转到循环头判断是否继续循环。
文件包含命令的功能吗?该命令一定要放在程序首部吗?
答:该预处理命令是将指定的包含文件内容放在该命令出现的地方。通常放在程序开头,便于后边语句的使用。
【2017年计算机二级C语言模拟试题】相关文章: