c 软件开发面试题及答案.doc
c软件开发面试题及答案
一、单项选择题(每题2分,共10题)
1.在C语言中,以下哪种数据类型用于存储单个字符?
A.int
B.float
C.char
D.double
答案:C
2.以下哪个是C语言中的逻辑与运算符?
A.||
B.
C.
D.|
答案:B
3.C语言中,函数的返回值类型必须在哪个位置声明?
A.函数体内部
B.函数调用时
C.函数名之前
D.不需要声明
答案:C
4.以下哪种循环结构在C语言中至少会执行一次循环体?
A.for循环
B.while循环
C.do-while循环
D.以上都不是
答案:C
5.在C语言中,数组名代表的是?
A.数组的第一个元素
B.数组的所有元素
C.数组元素的个数
D.数组的首地址
答案:D
6.C语言中,若有定义inta=5;则表达式a++的值为?
A.5
B.6
C.不确定
D.4
答案:A
7.以下哪个不是C语言中的基本数据类型?
A.struct
B.int
C.char
D.float
答案:A
8.在C语言中,函数调用时,实际参数和形式参数之间的传递方式是?
A.地址传递
B.值传递
C.引用传递
D.视情况而定
答案:B
9.C语言中,定义一个指向整数的指针变量的正确方式是?
A.intp;
B.intp;
C.intp;
D.intp;
答案:A
10.以下哪个函数用于在C语言中输出字符串?
A.scanf
B.printf
C.getchar
D.putchar
答案:B
二、多项选择题(每题2分,共10题)
1.以下哪些是C语言中的循环语句?
A.for
B.while
C.do-while
D.switch
答案:ABC
2.在C语言中,以下哪些可以作为函数的参数类型?
A.int
B.float
C.char
D.struct
答案:ABCD
3.以下哪些是C语言中的关键字?
A.if
B.else
C.for
D.myvar
答案:ABC
4.以下关于C语言数组的说法正确的是?
A.数组的大小必须在定义时确定
B.数组元素可以是不同的数据类型
C.可以通过下标访问数组元素
D.数组名是一个常量指针
答案:ACD
5.在C语言中,以下哪些操作符具有右结合性?
A.=
B.++
C.?:
D.(解引用操作符)
答案:AC
6.以下哪些是C语言中的存储类别?
A.auto
B.static
C.extern
D.register
答案:ABCD
7.以下关于C语言指针的说法正确的是?
A.指针可以指向函数
B.指针可以进行算术运算
C.空指针不指向任何有效的内存地址
D.指针变量必须初始化
答案:ABC
8.以下哪些函数可用于C语言中的输入操作?
A.scanf
B.getchar
C.fgets
D.puts
答案:ABC
9.在C语言中,以下哪些结构可以嵌套使用?
A.if-else
B.for循环
C.数组
D.函数
答案:ABCD
10.以下哪些是C语言中用于处理字符串的函数?
A.strlen
B.strcpy
C.strcat
D.atoi
答案:ABC
三、判断题(每题2分,共10题)
1.在C语言中,变量必须先定义后使用。()
答案:对
2.C语言中的注释可以嵌套。()
答案:错
3.一个C语言程序可以有多个main函数。()
答案:错
4.在C语言中,所有函数都可以递归调用。()
答案:错
5.数组下标是从1开始的。()
答案:错
6.在C语言中,结构体成员不能是结构体类型。()
答案:错
7.指针变量占用的内存空间大小与所指向的数据类型有关。()
答案:错
8.C语言中的逻辑非运算符(!)只能用于布尔类型数据。()
答案:错
9.在C语言中,函数的形式参数可以不使用。()
答案:对
10.定义一个空的结构体是没有意义的。()
答案:错
四、简答题(每题5分,共4题)