网站首页 语言 会计 电脑 医学 资格证 职场 文艺体育 范文

2017年全国计算机等级考试C语言程序设计考试试题

栏目: 计算机等级 / 发布于: / 人气:1.37W

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.C++语言中,函数可以用原型说明,也可用简单说明。

× 3.定义函数时,存储类可以缺省,数据类型也可以省略。

× 4.函数可以没有参数,但是不能没有返回值。

× 5.函数定义时必须给出函数体,函数体内至少有一条语句。

√ 6.没有参数的两个函数是不能重载的。

√ 7.函数调用方式有传值调用和引用调用两种,传值调用中又分传值和传址两种。

√ 8.函数的存储类有外部的和静态的两种,它们的作用域分别是程序级的和文件级的。

× 9.没有返回值的函数不能设置为内联函数。

× 10.函数可以设置默认的参数值,默认参数值必须设置在函数定义时的形参上。

  三、分析下列程序的输出结果

1.

#include

int fun(int n)

{

int p(1),s(0);

for(int i(1);i

{

p*=i;

s+=p;

}

return s;

}

void main()

{

int s=fun(4);

cout<

}

答: 9

2.

#include

void fun();

void main()

{

for(int i(0);i<4;i++)

fun();

}

void fun()

{

int a(0);

a++;

static int b;

b++;

cout<<"a="<