c 经典面试题及答案.doc
c经典面试题及答案
单项选择题(每题2分,共10题)
1.C语言中,定义整型变量的关键字是()
A.floatB.intC.charD.double
2.以下哪个是C语言的注释符号()
A.//B./.../C.D.--
3.若有定义“inta=5;”,则a++的值是()
A.5B.6C.4D.7
4.C语言中,用于输入的函数是()
A.printfB.scanfC.putsD.gets
5.以下运算符优先级最高的是()
A.+B.C.=D.==
6.若有数组定义“intarr[5];”,则数组元素的下标范围是()
A.0-4B.1-5C.0-5D.1-4
7.函数定义的一般形式是()
A.返回值类型函数名(参数列表){...}
B.函数名(参数列表){...}
C.返回值类型函数名{...}
D.函数名{...}
8.以下哪种数据类型占用内存最小()
A.intB.shortC.longD.float
9.若有定义“charstr[]=hello;”,则数组长度是()
A.5B.6C.4D.7
10.C语言源文件的扩展名是()
A..exeB..cC..objD..h
多项选择题(每题2分,共10题)
1.以下属于C语言数据类型的有()
A.整型B.浮点型C.字符型D.结构体
2.下列关于变量定义正确的有()
A.inta;B.floatb=3.14;C.charc=a;D.doubled;
3.以下哪些是C语言的循环结构()
A.forB.whileC.do-whileD.if
4.下列运算符中,属于算术运算符的有()
A.+B.-C.D./
5.关于数组描述正确的有()
A.数组元素类型必须相同
B.数组下标从0开始
C.数组在内存中连续存储
D.数组大小在定义后不能改变
6.以下函数中,用于字符串处理的有()
A.strlenB.strcpyC.strcmpD.strcat
7.以下哪些是C语言的预处理指令()
A.includeB.defineC.ifD.else
8.下列关于指针的说法正确的有()
A.指针是一个变量,存储的是内存地址
B.可以通过指针访问内存中的数据
C.指针变量的类型必须和它所指向的数据类型一致
D.指针可以进行加法运算
9.函数参数传递方式有()
A.值传递B.地址传递C.引用传递D.名称传递
10.以下能正确打开文件的方式有()
A.fopen(file.txt,r)B.fopen(file.txt,w)C.fopen(file.txt,a)D.fopen(file.txt,r+)
判断题(每题2分,共10题)
1.C语言中,变量必须先定义后使用。()
2.“a=b+c;”是一个表达式。()
3.for循环的初始化部分只能定义一个变量。()
4.数组名代表数组的首地址。()
5.函数可以没有返回值。()
6.指针变量占用的内存大小和它所指向的数据类型有关。()
7.strlen函数可以计算字符串的实际长度(不包含\0)。()
8.define可以用来定义常量和宏。()
9.结构体变量可以作为函数参数传递。()
10.文件操作结束后不需要关闭文件。()
简答题(每题5分,共4题)
1.简述C语言中if-else语句的执行流程。
答案:先计算if后面表达式的值,若为真(非0),则执行if后面的语句块;若为假(0),则执行else后面的语句块(若有else的话)。
2.说明数组和指针的关系。
答案:数组名本质上是一个指针常量,指向数组首元素。指针可以指向数组元素,通过指针运算可访问数组元素。数组和指针在很多操作上可以相互转换使用。
3.简述函数的作用。
答案:函数能将程序中常用的代码块封装起来,提高代码的复用性。还能使程序结构更清晰,便于分工协作和维护,实现模块化编程。
4.简述文件操作的基本步骤。
答案:首先用fopen函数打开文件,指定打开方式。接着进行读写操作,如