二级C语言笔试试题真题及答案(附答案).docx
二级C语言笔试试题真题及答案(附答案)
一、选择题(每题2分,共20分)
1.C语言中,下列哪个选项是合法的数据类型?
A)int
B)float
C)character
D)double
2.在C语言中,以下哪个选项表示逻辑运算符?
A)
B)||
C)`%`
D)`++`
3.若变量定义为inta=5,b=3;,则表达式a%b的值为?
A)2
B)3
C)5
D)0
4.下列哪个函数用于动态分配内存?
A)malloc()
B)alloc()
C)new()
D)calloc()
5.以下哪个函数用于释放动态分配的内存?
A)free()
B)release()
C)delete()
D)dispose()
答案:1.A2.AB3.A4.A5.A
二、填空题(每题2分,共20分)
6.在C语言中,标准输入输出头文件是_______。
答案:stdio.h
7.若要声明一个指向整型的指针变量,正确的声明方式是_______。
答案:intp;
8.在C语言中,字符串的结束标志是_______。
答案:\0
9.下面是判断一个整数是否为偶数的代码,请填写缺失的部分:
```c
intnum=10;
if(num%2==0){
printf(偶数\n);
}else{
printf(奇数\n);
}
```
答案:无需填写,代码已完整。
10.下列代码的输出结果是_______。
```c
inta=5,b=10;
printf(%d%d\n,a++,b++);
```
答案:510
三、编程题(共40分)
11.编写一个C程序,实现一个简单的计算器功能,包括加、减、乘、除四种运算。
答案:
```c
includestdio.h
intmain(){
charoperator;
doublefirstNumber,secondNumber;
printf(输入运算符(+,,,/):);
scanf(%c,operator);
printf(输入两个操作数:);
scanf(%lf%lf,firstNumber,secondNumber);
switch(operator){
case+:
printf(%.1lf+%.1lf=%.1lf,firstNumber,secondNumber,firstNumber+secondNumber);
break;
case:
printf(%.1lf%.1lf=%.1lf,firstNumber,secondNumber,firstNumbersecondNumber);
break;
case:
printf(%.1lf%.1lf=%.1lf,firstNumber,secondNumber,firstNumbersecondNumber);
break;
case/:
if(secondNumber!=0.0)
printf(%.1lf/%.1lf=%.1lf,firstNumber,secondNumber,firstNumber/secondNumber);
else
printf(除数不能为0);
break;
default:
printf(错误的运算符);
}
return0;
}
```
12.编写一个C程序,使用冒泡排序算法对一个整数数组进行排序。
答案:
```c