招聘c笔试题及答案
一、单项选择题(每题2分,共20分)
1.C语言中,定义整型变量的关键字是()
A.floatB.intC.charD.double
2.以下运算符优先级最高的是()
A.+B.C.==D.%
3.若有定义:inta[5];,则数组元素下标的范围是()
A.1-5B.0-4C.0-5D.1-4
4.以下正确的函数定义形式是()
A.voidfun(){}B.voidfun;{}
C.voidfun(void);D.voidfun{}
5.执行语句:intx=10;x+=x-=x-x;后,x的值是()
A.10B.20C.0D.30
6.以下能正确表示逻辑值“真”的是()
A.0B.1C.-1D.非0值
7.若有定义:charch=A;,则ch+3的值是()
A.DB.CC.BD.E
8.以下用于输出换行的转义字符是()
A.\tB.\nC.\D.\
9.以下关于指针的说法,正确的是()
A.指针变量只能指向变量
B.指针就是地址
C.指针变量不能指向数组
D.指针变量的值不能改变
10.以下能正确打开文件的函数是()
A.fcloseB.fopenC.fprintfD.fscanf
二、多项选择题(每题2分,共20分)
1.以下属于C语言数据类型的有()
A.整型B.浮点型C.字符型D.结构体
2.以下属于C语言运算符的有()
A.算术运算符B.关系运算符C.逻辑运算符D.赋值运算符
3.以下控制语句属于C语言的有()
A.ifB.whileC.forD.switch
4.以下关于数组的说法,正确的有()
A.数组元素类型必须相同
B.数组名是一个指针常量
C.可以通过下标访问数组元素
D.数组大小在定义后不能改变
5.以下关于函数的说法,正确的有()
A.函数可以有返回值
B.函数可以没有参数
C.函数可以嵌套定义
D.函数可以递归调用
6.以下关于指针的说法,正确的有()
A.指针变量可以指向函数
B.指针变量可以指向数组
C.指针变量可以指向结构体
D.指针变量可以指向自己
7.以下关于结构体的说法,正确的有()
A.结构体是一种自定义数据类型
B.结构体成员可以是不同类型
C.可以定义结构体数组
D.结构体变量可以作为函数参数
8.以下关于文件操作的函数有()
A.fgetcB.fputcC.freadD.fwrite
9.以下属于C语言预处理命令的有()
A.includeB.defineC.ifD.endif
10.以下关于C语言的特点,正确的有()
A.简洁紧凑B.运算符丰富C.可移植性好D.生成目标代码质量高
三、判断题(每题2分,共20分)
1.C语言中,变量必须先定义后使用。()
2.表达式5/2的结果是2.5。()
3.for循环的三个表达式都可以省略。()
4.数组名和指针变量没有区别。()
5.函数的返回值类型必须与函数定义时的类型一致。()
6.指针变量可以进行算术运算。()
7.结构体变量之间可以直接赋值。()
8.文件操作结束后,必须调用fclose函数关闭文件。()
9.C语言中,注释部分会影响程序的执行。()
10.宏定义可以提高程序的可读性和可维护性。()
四、简答题(每题5分,共20分)
1.简述C语言中变量的存储类别。
答案:C语言变量存储类别有auto(自动变量,默认存储类别,局部变量在函数内有效)、static(静态变量,局部静态变量函数内定义,生存期长;全局静态变量限制作用域在本文件)、register(寄存器变量,请求存储在寄存器,提高访问速度)、extern(外部变量,声明其他文件中定义的全局变量)。
2.简述数组和指针的关系。
答案:数组名本质是一个指针常量,指向数组首元素。可以通过指针访问数组元素,指针运算可遍历数组。数组作为函数参数时会退化为指针。可以定义指向数组的指针变量来操作数组。
3.简述函数调用过程。
答案:程序执行到函数调用语句时,系统为被调函数的局部变量和形参