大学计算机C语言期末考试复习试题及答案.docx
大学计算机C语言期末考试复习试题及答案
一、选择题(每题2分,共20分)
1.C语言中,哪个关键字用于定义整型变量?
A)float
B)int
C)double
D)char
2.下面哪个选项是C语言的逻辑运算符?
A)`++`
B)``
C)``
D)`%`
3.在C语言中,标准输入输出头文件是?
A)`input.h`
B)`output.h`
C)`stdio.h`
D)`iostream.h`
4.若整型变量`a`的值为5,执行语句`a+=a`后,`a`的值是多少?
A)5
B)4
C)6
D)10
5.下面哪个函数用于动态分配内存?
A)malloc()
B)alloc()
C)new()
D)calloc()
二、填空题(每题2分,共20分)
6.C语言中,用于声明数组的符号是______。
7.在C语言中,函数的返回类型为`void`时,表示该函数______。
8.在C语言中,`switch`语句中`case`后面必须跟一个______。
9.指针是一种特殊的变量,用于存储另一个变量的______。
10.在C语言中,用于定义结构体的关键字是______。
三、编程题(每题10分,共30分)
11.编写一个C程序,计算并输出一个整数数组中所有元素的和。
12.编写一个C程序,使用指针变量交换两个整数的值。
13.编写一个C程序,使用递归函数计算斐波那契数列的前10项。
答案部分
一、选择题答案
1.B)int
2.C)``
3.C)`stdio.h`
4.B)4
5.A)malloc()
二、填空题答案
6.[]
7.没有返回值
8.常量表达式
9.地址
10.struct
三、编程题答案
11.计算整数数组所有元素的和:
```c
includestdio.h
intsum_of_array(intarr[],intn){
intsum=0;
for(inti=0;in;i++){
sum+=arr[i];
}
returnsum;
}
intmain(){
intarr[]={1,2,3,4,5};
intn=sizeof(arr)/sizeof(arr[0]);
printf(Sumofarrayelements:%d\n,sum_of_array(arr,n));
return0;
}
```
12.使用指针交换两个整数的值:
```c
includestdio.h
voidswap(intx,inty){
inttemp=x;
x=y;
y=temp;
}
intmain(){
inta=10,b=20;
printf(Beforeswap:a=%d,b=%d\n,a,b);
swap(a,b);
printf(Afterswap:a=%d,b=%d\n,a,b);
return0;
}
```
13.计算斐波那契数列的前10项:
```c
includestdio.h
intfibonacci(intn){
if(n=1)returnn;
returnfibonacci(n1)+fibonacci(n2);
}
intmain(){
for(inti=0;i10;i++){
printf(%d,fibonacci(i));
}
printf(\n);
return0;
}
```