桂林电子科技大学
非计算专业学生计算机水平考试(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
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,二维数组的定义、初始化
类型符 数组名 [常量表达式][常量表达式]
二维数组可以看做是矩阵
类型符是指数组中数组元素的类型;数组名要符合标识符命名规则;第一个常量表达式是指数组的行数;第二个常量表达式是指数组的列数;常量表达式的值只能是整数,不可以是变量,而且从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应该是结构体类型名
13、若有以下程序:
#include<stdio.h>
main()
{
    int  a = 6, b = 0, c = 0;
    for (; a && (b == 0); )
        b += a; a -= c++;
c语言斐波那契数列
    printf("%d,%d,%d\n", a,b,c);
}
则程序的输出结果是(  )
A、5,6,0 
B、6,0,0 
C、6,6,1 
D、5,6,1
正确答案:C
解析:
本题重点考查C语言中for语句和逻辑表达式,for语句的一般形式为:
for(表达式1;表达式2;表达式3)语句其循环中的“表达式1(循环变量赋初值)”、“表达式2(循环条件)”和“表达式3(循环变量增量)”都是选择项,即可以缺省,但“;”不能缺省。该题目中省了“表达式1(循环变量赋初值)”和“表达式3(循环变量增量)”。for(;a&&(b==0);){b+=a s a-=e++;}相当于while(a&&(b==0)){b+=a;a-=c++;}。因此c选项正确。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。