一、选择题
1. 下面选项中的程序段,没有编译错误的是( )。
答:A
A 项正确,BCD 三项错误,【解析】首先定义了字符串指针sp ,然后执行字符串常量“Hello”。数组只有在初始化是可以被赋值,不能通过赋值语句将字符串常量或其他字符数组中的字符串直接赋给字符串变量。
2. 有以下程序:
程序运行后的输出结果是( )。 A.ABE B.BDI C.BCF D.BCD 答:B 【解析】
函数是向屏幕上输出一个字符,
是计算
码值。第一次循环,a 等
于0, 则f (a )等于1,b 等于1,输出B 第二次循环,a 等于1,则f (a )等于2, b 等于3, 输出D 第三次循环,a 等于2, 则f (a )等于5, b等于7, 输出I 。
3. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是 ( )。
A.C 语言程序仅可以编译执行 B.C 语言程序仅可以解释执行
C.C 语言程序既可以编译执行,又可以解释执行 D. 以上说法都不对
答:A
【解析】编译型语言编写的程序在执行之前,需要一个专门的编译过程把程序编译成机器语言的文件,比 如.exe 文件,再次运行时便不需要重新翻译,直接使用编译的结果便可以了,因为翻译只做了一次,运行时不需 要翻译,所以编译型语言的程序执行效率高。解释则不同,解释型语言的程序不需要编译,在运行程序的时候才 翻译,解释型语言每执行一次便需要翻译一次,效率低。C 语言程序属于编译执行类型。
4. 若有定义:
A.ps[0]是字符串”aa” B. C. D. 答:C
ps 是指针变量,ps[0]指向的是数组首个元素的地址,【解析】定义一个字符串数组指针ps 后,即字符串“aa” 的首地址,C 项正确。
5. 有以下程序:
程序的运行结果是( )。
答:A
【解析】程序执行过程为:调用f 函数,将结构体a 与b 的地址作为参数传入函数,函数中指针a 指向结构体a ,指针b 指向结构体b ,将指针a 指向的结构体a 赋给指针b 指向的结构体b ,结构体b 内容被修改。输出b
则以下叙述正确的是( )。
是字符串”aa”的首地址 是字符串”aa”的首地址 是字符串”aa”
6. 以下叙述中正确的是( )。
A. 在复合语句中不能定义变量
B. 对于变量而言,“定义”和“说明”这两个词实际上是同一个意思 C. 全局变量的存储类别可以是静态类 D. 函数的形式参数不属于局部变量 答:C
【解析】C 项正确,对于全局变量可使用extern 和static 两种说明符。A 项错误,在复合语句中定义的变量 是局部变量;B 项错误,“定义”(definition )是指给变量分配确定的存储单元,“说明”(dedaratkm )只是说 明变量的性质,而并不分配存储空间;D 项错误,函数的形式参数只能在函数内部被识别,属于局部变量。
7. 有以下程序:
若文本文件filea.txt 中原有内容为:hello ,贝U 运行以上程序后,文件( )。
A.Helloabc B.abclo C.abc
D.abchello 答:C
【解析】
为写而打开文本文件。这时,如果指定的文件不存在,系统将用在fopen 调用
文件以写的形式打开
再利用fprintf 函
中指定的文件名建立一个新文件; 如果指定的文件已存在,则将从文件的起始位置开始写,文件中
原有的内容将全部消失数对文件进行操作,而故
8. 以下选项中不能作为C 语言合法常量的是( )。
答:A
【解析】常量包括整型常量、实型常量、字符常量和字符串常量等。B 项,O.le+6是指数形
中的内容为
是先将文件清空,再写入,所以本题是将abc 写入
中的内容是abc 。