一、选择题
1. 有以下程序:
程序运行后的输出结果是( )。 A.8, 17 B.8, 16 C.8, 8 D.8, 20 答:A
【解析】static 变量编译时,将其分配在内存的静态存储区中,在整个程序运行期间都不释放这些存储单元, 即使退出函数,下次再进入该函数时,静态局部变量仍使用原来的存储单元,值 程序执行过程为:是上一次函数调用结束时的值。调用函数,再次调用函数
,
2. 有以下程序:
第 2 页,共 33 页
返回p=8,
返回
程序的运行结果是( )。 A.12300 B.123 C.1 D.321 答:B
【解析】
程序开始定义了一个指针文件
然后for 循环语句向文件中依次写入数据。此时以只读方式打开
文件
数读进来,最后输出n 的值为123。
3. 有以下程序:
程序的运行结果是( )。 A.246 B.135 C.123 D.456 答:A
【解析】程序执行过程为:定义二维数组s 与指针数组ps , for循环实现将二维数组每一行的首地址赋值给 对应的指针数组元素,然后输出二维数组每行的第二个元素。程序的运行结果是246。
4. 在C 语言中,以下选项中不能正确表示10X1000之值的是( )。
答:A
【解析】实型常量用带小数点的数字表示,其值有两种表达形式,分别为十进制小数形式和指数形式。指数形式由十进制数加阶码标志成,而A 项中阶码
并且值为10000,故选择A 项。
第 3 页,共 33 页
语句
应该为
打开文件
读取一个整数,但这时它把123作为一个整
或以及阶码(只能为整数,可以带符号)组
是浮点数,所以A 项不能正确表示10X1000之值,B 、C 、D 项都表示正确
5. 若有定义语句
答:B
【解析】根据优先级先计算由于z
其后执行语句则z 的值为( )。
即由于是整型,故的值为1,接着计算
定义为整型,故最终结果为1。
6. 以下叙述正确的是( )。
A. 只使用三种基本结构即可解决任何复杂问题 B.C 语言程序并不是必须要定义main ( )函数 C. 只要程序包含了任意一种基本结构,就肯定是结构化程序 D. 程序中的语法错误只能在运行时才能显现 答:A
【解析】A 项正确,程序设计语言仅仅使用顺序、选择和循环三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。B 项错误,C 语言程序必须要定义main ( )函数;C 项错误,只有同时包含三种基本结构 时,程序才是结构化程序;D 项错误,程序中的语法错误在编译时能显现。
7. 以下选项中叙述错误的是( )。
A.C 程序函数中定义的赋有初值的静态变量,每调用一次函数,赋一次初值
B. 在C 程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内 C.C 程序函数中定义的自动变量,系统自动赋确定的初值 D.C 程序函数的形参不可以说明为static 型变量 答:A
【解析】在整个程序运行期间,静态局部变量在内存的静态存储区中占据着永久性的存储单元。即使退出函 数以后,下次再进入该函数时,静态局部变量仍使用原来的存储单元。由于并不 释放这些存储单元,因此这些存 储单元中的值得以保留,因而可以继续使用存储单元中原来的值。
8. 表达式:(int )((double )9/2)—9%2的值是( )。
A.4 B.0 C.3 D.5 答:C
【解析】(int )((double )9/2)值为4,9%2值为1,相减值为3。
第 4 页,共 33 页