c软件开发面试题及答案.doc
c软件开发面试题及答案
一、单项选择题(每题2分,共10题)
1.在C语言中,合法的字符常量是()。
A.\\084B.\\x43C.abD.\0
答案:B
2.若有定义:inta=5;则表达式a++的值为()。
A.5B.6C.7D.4
答案:A
3.C语言中函数返回值的类型是由()决定的。
A.return语句中的表达式类型
B.调用该函数的主调函数类型
C.定义函数时指定的函数类型
D.以上说法都不正确
答案:C
4.以下数组定义中不正确的是()。
A.inta[2][3];
B.intb[][3]={0,1,2,3};
C.intc[100][100][100]={0};
D.intd[3][]={1,2,3,4,5,6};
答案:D
5.在C语言中,以下不能正确进行字符串赋值操作的是()。
A.chars[5]={ABCDE};
B.chars;s=ABCDE;
C.chars[5];s=ABCDE;
D.chars[]=ABCDE;
答案:C
6.若有定义:inta=1,b=2,c=3;则表达式ab?a:c的值为()。
A.1B.2C.3D.0
答案:C
7.C语言中,若函数无返回值,函数类型应定义为()。
A.intB.voidC.doubleD.char
答案:B
8.以下关于结构体的说法正确的是()。
A.结构体不能嵌套定义
B.结构体变量可以整体赋值
C.结构体中不能有数组类型成员
D.结构体成员必须是相同类型
答案:B
9.在C语言中,打开一个文件使用的函数是()。
A.fopenB.openC.fcloseD.close
答案:A
10.若有宏定义defineMAX(a,b)((a)(b)?(a):(b)),则表达式MAX(3+2,23)的值为()。
A.5B.6C.8D.7
答案:A
二、多项选择题(每题2分,共10题)
1.以下属于C语言基本数据类型的有()。
A.intB.floatC.structD.char
答案:ABD
2.在C语言中,以下关于指针的说法正确的是()。
A.指针变量可以存储变量的地址
B.指针变量可以进行算术运算
C.可以定义指向函数的指针
D.指针变量在定义时必须初始化
答案:ABC
3.以下哪些是C语言中的循环结构()。
A.for循环
B.while循环
C.do-while循环
D.if-else循环
答案:ABC
4.关于C语言中的函数,以下说法正确的是()。
A.函数可以有多个返回值
B.函数可以递归调用
C.函数可以没有参数
D.函数内部可以定义函数
答案:BC
5.在C语言中,以下关于数组的操作正确的是()。
A.可以用sizeof运算符获取数组的大小
B.数组名可以作为函数的参数
C.可以用一个指针遍历数组
D.数组元素可以是任何数据类型
答案:ABCD
6.C语言中,以下哪些操作可以用于字符串处理()。
A.strlen函数
B.strcpy函数
C.strcat函数
D.strcmp函数
答案:ABCD
7.以下关于C语言中的宏定义的说法正确的是()。
A.宏定义只是简单的文本替换
B.宏定义可以带参数
C.宏定义不进行类型检查
D.宏定义可以嵌套定义
答案:ABCD
8.若有结构体定义:
structstudent{
charname[20];
intage;
floatscore;
};
以下操作正确的是()。
A.定义结构体变量:structstudentstu;
B.访问结构体成员:stu.age=20;
C.结构体可以作为函数的参数
D.结构体变量可以直接进行比较运算
答案:ABC
9.在C语言中,关于文件操作的函数,以下正确的是()。
A.fread函数用于从文件中读取数据
B.fwrite函数用于向文件写入数据
C.