C 语言面试题和答案 1、C 语言程序的基本单位是____ A.语句 B.函数 C.程序行 D.字符 答案:B 2、C 语言程序由()组成 A.子程序 B.过程 C.函数 D.主程序段程序 答案:C 3、算法的表示方法有______ A.自然语言,传统流程图,NS 流程图,伪代码,计算机语言 B.高级语言,汇编语言,机器语言 C.C 语言,QBASIC 语言,InterDev D.图形图像法,描述法,编程法 E.计算机语言 答案:A 4、下列变量定义中合法的是 A.short_a=1.le1; B.doubleb=1+5e2.5; C.longdo=0xfdaL; D.float2_and=1e3; 答案: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 关键字。假如用引用...