出一套c语言的考试卷子(包括40道选择,改错,填空,大题)
时间: 2023-09-26 17:13:35 浏览: 199
c语言填空与改错c语言填空与改错.doc
好的,下面是一套C语言的考试卷子,包括40道选择、改错、填空和大题。
注:本试卷难度适中,仅供参考。
## 选择题(每题2分,共20分)
1. 下列哪个不是C语言的数据类型?
A. int
B. float
C. double
D. longlong
2. 下列哪个是C语言的关键字?
A. func
B. for
C. fun
D. foreach
3. 下列哪个操作符用于取地址?
A. *
B. &
C. $
D. #
4. 下列哪个函数用于输出字符到屏幕上?
A. printf
B. scanf
C. getchar
D. putchar
5. 下列哪个关键字用于定义结构体?
A. struct
B. union
C. enum
D. typedef
6. 下列哪个函数用于从标准输入读取一个字符串?
A. gets
B. puts
C. scanf
D. printf
7. 下列哪个关键字用于定义一个常量?
A. const
B. static
C. volatile
D. register
8. 下列哪个操作符用于判断两个数是否相等?
A. ==
B. !=
C. <=
D. >=
9. 下列哪个函数用于将字符串转换成浮点数?
A. atof
B. atoi
C. atol
D. sprintf
10. 下列哪个关键字用于定义一个指针?
A. int
B. char
C. void
D. ptr
## 改错题(每题2分,共10分)
11. 下面的代码有错,请指出并改正。
```
int a = 10;
if (a == 10) {
printf("a is 10.\n");
} else {
printf("a is not 10.\n");
}
```
12. 下面的代码有错,请指出并改正。
```
int i = 0;
while (i < 10) {
printf("%d\n", i);
i++;
}
```
13. 下面的代码有错,请指出并改正。
```
#include <stdio.h>
int main() {
printf("Hello, world!\n");
return 0;
}
```
14. 下面的代码有错,请指出并改正。
```
int a[5] = {1, 2, 3, 4, 5};
for (int i = 0; i < 5; i++) {
printf("%d ", a[i];
}
```
15. 下面的代码有错,请指出并改正。
```
int a = 10;
int *p = &a;
printf("%d\n", *p);
```
## 填空题(每题2分,共5分)
16. C语言中,用于定义常量的关键字是 __________。
17. 下面的代码将数组a的所有元素加起来并输出,应该填写的部分是 __________。
```
int a[5] = {1, 2, 3, 4, 5};
int sum = 0;
for (int i = 0; i < 5; i++) {
sum += a[__________];
}
printf("sum = %d\n", sum);
```
18. 下面的代码中,函数的返回值类型应该填写的部分是 __________。
```
__________ max(int a, int b) {
if (a > b) {
return a;
} else {
return b;
}
}
```
19. 下面的代码用于从标准输入读取一个字符串并输出,应该填写的部分是 __________。
```
char str[100];
fgets(__________, 100, stdin);
printf("%s", str);
```
20. 下面的代码定义了一个结构体student,其中包含了姓名和年龄两个成员变量,应该填写的部分是 __________。
```
struct student {
char name[20];
_________ age;
};
```
## 大题(每题10分,共5分)
21. 编写一个程序,输入一个整数n,然后求出1到n之间所有整数的和。
22. 编写一个程序,输入一个字符串,然后将字符串中的所有小写字母转换成大写字母并输出。
23. 编写一个函数swap,用于交换两个整数的值。
24. 编写一个程序,输入一个矩阵(3x3),然后输出矩阵的转置矩阵。
25. 编写一个程序,输入一个字符串,然后将字符串中的所有数字提取出来并输出。
阅读全文