设为首页 加入收藏

TOP

2018年12月计算机二级C语言考试强化提分试题(3)
2018-11-22 10:09:40 】 浏览:166
Tags:2018年 12月 计算机 二级 语言考试 强化 试题

一、选择题


1.若有以下数组说明,则i=10;a[a[i]]元素数值是(C )。


int a[12]={1,4,7,10,2,5,8,11,3,6,9,12};


A、10


B、9


C、6


D、5


先算a[a[i]]内层的a[i],由于i=10,因此a[i]即a[10].


a[10]对应下面数组中的元素为9. 因此a[a[i]]即为a[9]


a[9]对应下面数组中的元素为6. 因此a[9]即为6


2.若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: ( B )


A、2


B、3


C、4


D、无确定值


5 7


D、3 6 9


二维数组的一维大小,即指二维数组的行数,在本题中,按行对二维数组赋值,因此内层有几个大括号,数组就有几行


3.对二维数组的正确定义是(C )


详见教材P149~152,二维数组的定义、初始化


类型符 数组名 [常量表达式][常量表达式]


二维数组可以看做是矩阵


类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;第一个常量表达式是指数组的行数;第二个常量表达式是指数组的列数;常量表达式的值只能是整数,不可以是变量,而且从1开始计数。


一维数组初始化时可以省略数组长度


二维数组初始化时可以省略行数,但不能省略列数


选项A,B,都省略了列数


选项D,不符合二维数组定义的一般形式,行、列常量表达式应该放在不同的[]中


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


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


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


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


4.已知int a[3][4];则对数组元素引用正确的是__C___


A、a[2][4]


B、a[1,3]


C、a[2][0]


D、a(2)(1)


详见教材P150,数组元素的引用


数组名[下标] [下标]


引用数组元素时,[ ]中的下标为逻辑地址下标,只能为整数,可以为变量,且从0开始计数


第一个[下标]表示行逻辑地址下标,第二个[下标]表示列逻辑地址下标。


本题图示详见P149图6.7


因此a的行逻辑地址范围0~2;a的列逻辑地址范围0~3;


选项A,列逻辑地址下标超过范围


选项B,D,的引用形式不正确。


5.C语言中函数返回值的类型是由 A 决定的.


A、函数定义时指定的类型


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


C、 调用该函数时的实参的数据类型


D、形参的数据类型


6. 在C语言中,函数的数据类型是指(A )


A、 函数返回值的数据类型


B、 函数形参的数据类型


C、 调用该函数时的实参的数据类型


D、任意指定的数据类型


7.在函数调用时,以下说法正确的是( B )


A、函数调用后必须带回返回值


B、实际参数和形式参数可以同名


C、函数间的数据传递不可以使用全局变量


D、主调函数和被调函数总是在同一个文件里


8. 在C语言中,表示静态存储类别的关键字是: ( C )


A、 auto


B、 register


C、static


D、extern


9.未指定存储类别的变量,其隐含的存储类别为(A )。


A、auto


B、static


C、extern


D、register


10. 若有以下说明语句:


struct student


{ int num;


char name[ ];


float score;


}stu;


则下面的叙述不正确的是: (D )


A、 struct是结构体类型的关键字


B、 struct student 是用户定义的结构体类型


C、 num, score都是结构体成员名


D、 stu是用户定义的结构体类型名


11.若有以下说明语句:


struct date


{ int year;


int month;


int day;


}brithday;


则下面的叙述不正确的是__C___.


A、 struct是声明结构体类型时用的关键字


B、 struct date 是用户定义的结构体类型名


C、 brithday是用户定义的结构体类型名


D、year,day 都是结构体成员名


12. 以下对结构变量stul中成员age的非法引用是 B


struct student


{ int age;


int num;


}stu1,*p;


p=&stu1;


A、 stu1.age


B、 student.age


C、 p->age


D、(*p).age


13.设有如下定义:


struck sk


{ int a;


float b;


}data;


int *p;


若要使P指向data中的a域,正确的赋值语句是 C


A、 p=&a;


B、 p=datA、a;


C、p=&datA、a;


D、*p=datA、a;


14.设有以下说明语句:


typedef struct stu


{ int a;


float b;


} stutype;


则下面叙述中错误的是( D )。


A、struct是结构类型的关键字


B、struct stu是用户定义的结构类型


C、a和b都是结构成员名


D、stutype是用户定义的结构体变量名


15.语句int *p;说明了 C 。


A、p是指向一维数组的指针


B、p是指向函数的指针,该函数返回一int型数据


C、p是指向int型数据的指针


D、p是函数名,该函数返回一指向int型数据的指针


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇2018年12月计算机二级C语言考试强.. 下一篇2018年12月计算机二级C语言考试强..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目