c笔试题及答案
一、单项选择题(每题2分,共10题)
1.以下哪个是C语言中的关键字?
A.mainB.printfC.intD.scanf
2.C语言中定义整型变量的关键字是?
A.floatB.charC.doubleD.int
3.表达式5%3的值是?
A.0B.1C.2D.3
4.若有定义`inta=5;`,则`a++`的值是?
A.5B.6C.4D.7
5.以下能正确定义数组的是?
A.`inta(10);`B.`inta[10];`C.`inta{10};`D.`inta[10,];`
6.C语言中函数返回值的类型是由什么决定的?
A.return语句中的表达式类型B.调用该函数的主调函数类型
C.定义函数时指定的函数类型D.形参的数据类型
7.若有定义`charch=A;`,则`ch`的ASCII码值是?
A.65B.97C.48D.66
8.以下循环体执行的次数是?
```c
for(inti=0;i5;i++){
//循环体
}
```
A.4次B.5次C.6次D.0次
9.打开文件的函数是?
A.fcloseB.fopenC.printfD.scanf
10.以下哪种数据类型占用内存空间最小?
A.intB.floatC.charD.double
二、多项选择题(每题2分,共10题)
1.以下属于C语言数据类型的有()
A.整型B.浮点型C.字符型D.结构体
2.下列运算符中,属于算术运算符的有()
A.+B.-C.D./
3.以下正确的数组初始化方式有()
A.`inta[5]={1,2,3,4,5};`B.`inta[]={1,2,3};`
C.`inta[5]={1,2};`D.`inta[5]={0};`
4.以下哪些函数是标准输入输出函数()
A.printfB.scanfC.getcharD.putchar
5.关于C语言中的指针,以下说法正确的有()
A.指针是一个变量,其值为另一个变量的地址
B.可以对指针进行加减运算
C.指针变量必须初始化
D.指针可以指向数组
6.以下属于C语言循环结构的有()
A.for循环B.while循环C.do-while循环D.switch语句
7.以下能正确定义函数的有()
A.`voidfun(){}`B.`intfun(inta){returna;}`
C.`floatfun(floata,floatb){returna+b;}`D.`charfun(){returna;}`
8.关于结构体,以下说法正确的是()
A.结构体是一种自定义数据类型
B.结构体可以包含不同类型的成员
C.结构体变量可以作为函数参数
D.结构体成员可以通过点号或箭头访问
9.以下哪些是C语言中的预处理指令()
A.includeB.defineC.ifdefD.endif
10.以下关于文件操作的说法正确的有()
A.打开文件后需要关闭文件
B.可以对文件进行读、写操作
C.文件指针用于指向文件
D.可以使用`fseek`函数移动文件指针
三、判断题(每题2分,共10题)
1.C语言中,变量必须先定义后使用。()
2.表达式`a=b=c=5;`是合法的。()
3.数组名代表数组的首地址。()
4.函数中没有return语句,也能返回值。()
5.指针变量可以指向不同类型的变量。()
6.for循环的三个表达式都可以省略。()
7.结构体变量之间可以直接进行赋值操作。()
8.预处理指令在编译之前执行。()
9.用`fopen`打开文件时,若文件不存在则会报错。()
10.字符型数组可以存放字符串。()
四、简答题(每题5分,共4题)
1.简述C语言中变量的作用域。
变量作用域指变量的可访问范围。局部变量在定义它的函数或复合语句内有效,全局变量在整个源文件中有效,若在函数内与全局变量同名,局部变量优先。
2.简