您的当前位置:首页正文

C语言面试题和答案

2020-09-15 来源:个人技术集锦


C语言面试题和答案

一、单选题部分

1、C语言程序的基本单位是____

A.语句

B.函数

C.程序行

D.字符

答案:B

2、C语言程序由()组成

A.子程序

B.过程

C.函数

D.主程序段程序

答案:C

3、算法的表示方法有______

A.自然语言,传统流程图,N-S流程图,伪代码,计算机语言

B.高级语言,汇编语言,机器语言

C.C语言,QBASIC语言,InterDev

D.图形图像法,描述法,编程法

E.计算机语言

答案:A

4、下列变量定义中合法的是

A.short_a=1-.le-1;

B.doubleb=1+5e2.5;

C.longdo=0xfdaL;

D.float2_and=1-e-3;

答案:A

5、下面说法中正确的是()

A.int型和long型运算先将int型转换成unsigned型,再转换

B.两个float型运算结果为double型

C.只要表达式中存在double型,所有其他类型数据都必须转

D.表达式中的类型转换与运算顺序有关

答案:C

6、以下不正确的叙述是

A.在C程序中,逗号运算符的优先级最低

B.在C程序中,APH和aph是两个不同的变量

C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变

D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

答案:D

7、以下说法中正确的是

A.#define和printf都是C语句

B.#define是C语句,而printf不是

C.printf是C语句,但#define不是

D.#define和printf都不是C语句

答案:D

8、若有条件表达式(exp)?a++:b–,则以下表达式中能完全等价于表达式(exp)的是

A.(exp==0

B.(exp!=0)

C.(exp==1)

D.(exp!=1)

答案:B

9、若有说明:inta[3][4]={0};则下面正确的叙述是

A.只有元素a[0][0]可得到初值0

B.此说明语句不正确

C.数组a中各元素都可得到初值,但其值不一定为0

D.数组a中每个元素均可得到初值0

答案:D

二、问答题

1、局部变量能否和全局变量重名?

答:能,局部会屏蔽全局。要用全局变量,需要使用\"::\"

局部变量可以与全局变量同名,在函数内引用这个变量时。会用到同名的局部变量,而不会用到全局变量;对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。

2、如何引用一个已经定义过的全局变量?

答:extern

可以用引用头文件的方式,也可以用extern关键字。如果用引用头文件方式来引用某个在头文件中声明的全局变理;假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错

3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?

答:可以,在不同的C文件中以static形式来声明同名全局变量。

可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top