一、选择题
1. 有以下程序段:
若文件已存在,则以下叙述正确的是( )。
中的原有内容将全部消失 A. 程序运行后,文件
C. 对文件
D. 对文件
答:A
【解析】fopen 函数以一定方式打开指定文件,返回一个指向文件的文件指针,如果不能实现打开指定文件的操作,则返回一个空指针NULL 。如果指定文件不存在,则创建一个文件名为指定文件名的新文件,然后打开它。在指定文件有错误或者指定文件不存在却不能创建新文件的情况下,打开文件操作错误,返回空指针。本题程序中,文件已存在,程序运行后,
文件
中的原有内容将全部消失,A 选项正确。文件原本就存在,不会导致程序出错,会按照指定的方式打开文件,B 选项错误。对文件进行写操作,只能对指针指向的位置内容进行写操作,不能随机读写,C 选项错误。对文件
件尾部,D 选项错误。
2. 有如下程序:
第 2 页,共 34 页 B. 程序运行时,会因文件存在而出错 进行写操作后,可以随机进行读取 写入的内容总是被添加到文件尾部 写入的内容写到指针所指向的位置,而不是添加在文
程序运行后的输出结果是( )。
A.FDBXX
B.FFFXX
C.FDBBB
D.ABCDE
答:A
【解析】对数组进行初始化时,如果在说明数组时给出了长度,但没有给所有的元素赋予初始值,而只依次给前面的几个数组元素赋予初值,那么C 语言将自动对余下的元素赋初值,
即
程序执行过程为:执行for 循环,将数组首地址赋给指针prr ,依次遍历每
一个元素,如果数组元素为0则输出‘X ’,如果不为0则按照字母表输出字符‘A ’后第个字符。程序运行后的输出结果为:FDBXX ,故A 项正确。
3. 设已有定义: float x;
则以下对指针变量p 进行定义且赋初值的语句中正确的是( )。
A. B. C. D.
答:A
【解析】A 项正确,p 是float 类型的指针,指向x 的存储单元;B 项错误,p 是int 类型的指针,只能指向 int 变量的存储单元;C 项错误,p 的float 类型的变量,是取变量x 的地址,不能把地址赋值给float 类型变量;D 项错误,p 是指向float 类型的指针,不能使用常整型赋值。
4. 若有以下程序
则程序的输出结果是( )。
A.5, 1, 2, -1
B.2, 1, 2, -1
C.2, 2, 2, 4
D.1, 2, 3, 4
答:A 【解析】和II 是逻辑运算符,符号两侧都为真时,结果为真,否则返回假;苻号两侧都为假时,结果为假,否则返回真。
题目没有答案,原题可能是
第 3 页,共 34 页
输出a ,b ,c ,d
第一个if 判定表达式中是两个赋值语句,结果判定为true ,执行结束后a=2, b=l,c=2在第二个if 判定表达式中,c==3判定为false ,然后执行d=-l,非零值,判定为true ,所以执行a=5,最终结果是a=5,b=1,c=2,d=-1,选A 。
5. 以下叙述中错误的是( )。
A.C 程序必须由一个或一个以上的函数组成
B. 函数调用可以作为一个独立的语句存在
C. 若函数有返回值,必须通过return 语句返回
D. 函数可以通过实际参数和形式参数之间进行数据传递
答:C
【解析】C 项错误,比如main 函数中有则可以通过exit 函数返回状态。A 项正确,C 程序至少有一个main 函数;B 项正确,C 语言中的函数可以仅进行某些操作而不返回函数值,这时函数的调用可作为一条 独立的语句;D 项正确,当函数调用为传引用时,形参指针和实参指针指向同一块内存,修改形参的同时也就修 改了实参。
6. 有以下程序:
程序的运行结果是( )。
A.D
B.C
C.B
D.A
答:A
【解析】A 项正确,main ( )函数中,首先判断条件x>l,因为x=l不大于1,不满足条件,程序跳入else 语句判定z7. 有以下程序:
第 4 页,共 34 页