内容正文:
山东省高密市职业中专计算机专业
2021-2022学年度第二学期C语言期末考试题
一、 判断题 (共8题,16分)
1、语句printf("%.2f",1.0/3);输出为0.33。( )
2、case语句后如没有break,顺序向下执行。( )
3、do-while循环至少要执行一次循环语句。( )
4、当变量的存储类型定义缺省时,系统默认为变量的存储类型为auto类型,分配在静态区。( )
5、函数strcmp从头至尾顺序地将其对应字符比较,遇到两个字符不等时,两个字符相减得到一个int型值,两个字符串完全相同时,则返回0。( )
6、指针数组的每个元素都是一个指针变量。( )
7、C语言中,编译预处理后,所有的符号常量名和宏名都用相应的字符串替换。( )
8、文件的读函数是从输入文件中读取信息,并存放在内存中。( )
二、 单选题 (共10题,20分)
9、以下scanf函数调用语句中不正确的是( )。
struct pupil {
char name[20];
int age;
int sex;
} pup[5], *p=pup;
A、 scanf("%s", pup[0].name); B、 scanf("%d", &pup[0].age);
C、 scanf("%d", p->age); D、 scanf("%d", &(p->sex));
10、在C语言中,数字029是一个( )。
A、 八进制数 B、 十进制数 C、 十六进制数 D、 非法数
11、能正确表示逻辑关系"a≥10 或 a≤0"的C语言表达式是( )。
A、 a>=10 or a<=0 B、 a>=0 | a<=10
C、 a>=10 && a<=0 D、 a>=10 || a<=0
12、下面的这个循环的循环次数是( )。
for(int i=0,j=10; i=j=10; i++,j--)
A、 语法错误,不能执行 B、 无限次 C、 10 D、 1
13、在一个被调用函数中,关于 return 语句使用的描述,错误的是( )。
A、 被调用函数中可以不用 return 语句
B、 被调用函数中可以使用多个 return 语句
C、 被调用函数中,如果有返回值,就一定要有 return 语句
D、 被调用函数中,一个 return 语句可以返回多个值给调用函数
14、数组定义为 int a[3][2]={1, 2, 3, 4, 5, 6},数组元素( )的值为6。
A、 a[3][2] B、 a[2][1] C、 a[1][2] D、 a[2][3]
15、不正确的赋值或赋初值的方式是( )。
A、 char str[]="string"; B、 char str[7]={'s', 't', 'r', 'i', 'n', 'g'};
C、 char str[10];str="string";
D、 char str[7]={'s', 't', 'r', 'i', 'n', 'g', '\0’};
16、设变量定义为 int a[2]={1,3}, *p=&a[0]+1;,则*p的值是( )。
A、 2 B、 3 C、 4 D、 &a[0]+1
17、以下代码的输出结果为:( )
#define MA(x, y) (x)*(y)
int i = 2;
i = 3/MA(i, i+2)+5;
printf("%d
", i);
A、 5 B、 8 C、 9 D、 11
18、若fopen()函数打开文件失败,其返回值是( )。
A、 1 B、 -1 C、 NULL D、 ERROR
三、 填空题 (共1题,14分)
19、递归求Fabonacci数列
本题要求实现求Fabonacci数列项的函数。Fabonacci数列的定义如下:
f(n)=f(n−2)+f(n−1) (n≥2),其中f(0)=0,f(1)=1。
函数接口定义:
int f( int n );
函数f应返回第n个Fabonacci数。题目保