C语言试题A卷+答案(1) 下载本文

内容发布更新时间 : 2024/6/24 4:04:30星期一 下面是文章的全部内容请认真阅读。

1

桂林电子科技大学

非计算专业学生计算机水平考试(C语言)A卷答案

第一卷

出卷人:大学生创新创业综合实践基地软件部 策划:大学生创新创业综合实践基地软件部 科技发展部

1、( )是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 正确答案:A

概念题目 需要记下!

2、以下说法中正确的是( )。

A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行

D、C语言程序中的main( )函数必须放在程序的开始部分 正确答案:C

[解析] C程序是由函数构成的。一个C源程序至少包含一个MAIN函数,也可以包含一个MAIN函数和若干个其他函数,因此,函数是C程序的基本单位。

3、下列四组字符串中都可以用作C语言程序中的标识符的是( )。 A、print _3d db8 aBc

B、I\\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 正确答案:A

4、C语言中的简单数据类型包括( )。 A、整型、实型、逻辑型

B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 正确答案:D

5、C语言中,关系表达式和逻辑表达式的值是( ) 。 A、0

B、0或1 C、1

D、'T'或'F' 正确答案:B

第 1 页

2

6、下面( )表达式的值为4. A、 11/3 B、 11.0/3

C、 (float)11/3

D、 (int)(11.0/3+0.5) 正确答案:D 解析:

选项A,11与3为两个整数,11/3结果的数据类型也应为整数,因此将3.666666的小数部分全部舍掉,仅保留整数,因此11/3=3。

选项B,11.0为实数,3为整数,因此首先要统一数据类型,将整型数据3转换为3.0,转换后数据类型统一为实型数据,选项B变为11.0/3.0,结果的数据类型也应为实型数据,因此选项B 11.0/3=3.666666。

选项C,先将整数11强制类型转换,转换为实型11.0,因此选项C变为11.0/3,其后计算过程、结果与选项B同。

选项D,首先计算11.0/3,其计算过程、结果与选项B同,得到3.666666;再计算3.666666+0.5=4.166666,最后将4.166666强制类型转换为整型,即将其小数部分全部舍掉,结果为4。

7、若有以下数组说明,则i=10;a[a[i]]元素数值是( )。 int a[12]={1,4,7,10,2,5,8,11,3,6,9,12}; A、10 B、9 C、6 D、5

正确答案:C 解析:

先算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

8、对二维数组的正确定义是( ) 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}; 正确答案:C 解析:

详见教材P149~152,二维数组的定义、初始化 类型符 数组名 [常量表达式][常量表达式] 二维数组可以看做是矩阵

类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;第一个常量表达式是指数组的行数;第二个常量表达式是指数组的列数;常量表达式的值只

第 2 页

3

能是整数,不可以是变量,而且从1开始计数。 一维数组初始化时可以省略数组长度

二维数组初始化时可以省略行数,但不能省略列数 选项A,B,都省略了列数

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

9、C语言中函数返回值的类型是由( )决定的. A、函数定义时指定的类型

B、 return语句中的表达式类型 C、 调用该函数时的实参的数据类型 D、形参的数据类型 正确答案:A

10、在函数调用时,以下说法正确的是( ) A、函数调用后必须带回返回值 B、实际参数和形式参数可以同名

C、函数间的数据传递不可以使用全局变量 D、主调函数和被调函数总是在同一个文件里 正确答案:B

11、未指定存储类别的变量,其隐含的存储类别为( )。 A、auto B、static C、extern D、register 正确答案:A

函数中的局部变量,如果不专门声明为static存储类别,都是动态的分配存储空间的,数据存储在动态存储区中。这类变量叫做自动变量,自动变量可以用关键字auto作为存储类别的声明,实际上关键字auto是可以省略的(一般都是不写的),不写则自动隐含为“自动存储类别“。你的空就填自动存储类别。

12、设有以下说明语句: typedef struct stu { int a; float b; } stutype;

则下面叙述中错误的是( )。 A、struct是结构类型的关键字

B、struct stu是用户定义的结构类型 C、a和b都是结构成员名

D、stutype是用户定义的结构体变量名 正确答案:D

D应该是结构体类型名

第 3 页