一、选择题
1. 下列叙述中正确的是( )。
A. 每个C 程序文件中都必须要有一个main 函数
B. 在C 程序中main 函数的位置是固定的
C.C 程序中所有函数之间都可以相互调用
D. 在C 程序的函数中不能定义另一个函数
答:D
【解析】D 项正确,C 语言语法规定,在函数中不能定义其他函数。A 项错误,C 程序必须要有一个main 函数,但并不是每个文件中都要有;B 项错误,main 函数的位置没有特殊要求;C 项错误,从其他函数中不能调用main 函数。
2. 若有定义语句:
是复制字符串,以下选项中错误的函数调用是( )。
A. B. C. D.
答:A
【解析】题目中字符指针str3, 没有为指针开辟内存,能作为函数参数。
3. 下面选项中的程序段,没有编译错误的是( )。
答:A
A 项正确,BCD 三项错误,【解析】首先定义了字符串指针sp ,然后执行字符串常量“Hello”。
数组只有在初始化是可以被赋值,不能通过赋值语句将字符串常量或其他字符数组中的字符串直接赋给字符串变量。
4. 有如下程序:
第 2 页,共 33 页 库函数strcpy 的功能
程序运行后的输出结果是( )。
A.A45D78
B.ABC678
C.34CD78
D.34AB78
答:A
【解析】本题执行过程为:if 条件不成立执行else 函数体,i%3=l, if 输出字符A ; i=l,
条件成立输出字符4; i=2, i%3=2, if 条件成立输出字符5; i=3, if 条件不成立,输出字符D ; i=4和i=5时,分别输出字符7与8; i=6退出for 循环。所以程序运行后输出结果为A45D78, 故A 项正确。
5. 有以下程序:
程序的运行结果是( )。
A.-1,0
B.0,0
C.-1,-1
D.1,1
答:A
【解析】本题执行过程为:先取a 值为1,执行循环,a=0,执行b--,b=0,再取a 值为0,判断条件不成立,退出循环,再执行a--得到a=-1,最后输出a=-l,b=0。故A 项正确。
6. 以下选项中叙述正确的是( )。
A. 使用三种基本结构就可以实现任何复杂算法
B. 只要程序包含了三种基本结构中的任意一种,就是结构化程序
C. 程序语法错误要在运行时才能发现
D.C 语言程序不需要包含main ( )函数
答:A
【解析】结构化程序主要由循环结构、选择结构、顺序结构三种基本控制结构组成,它们组成的算法结构可 以解决任何复杂的问题,A 项正确。结构化程序设计是以模块化设计为中心,将
第 3 页,共 33 页
待开发的软件系统划分为若干个 相互独立的模块,而不是说包含了三种基本结构就是结构化程序,B 项错误。程序语法错误是在编译过程中发现的,一般来说编译器只能检查语法和最简单的语义错误,而不检查程序的逻辑错误,C 项错误。C 程序总是从 main 函数开始执行,其他函数由main 函数直接或间接调用执行,所以C 语言程序必须包含main 函数,D 项错误。
7. 有以下程序:
程序运行后的输出结果是( )。
A.5,2,3
B.-5,-12,-7
C.-5,-12,-17
D.5,-2,-7
答:B
【解析】程序执行过程为:调用函数
c 地址传入函数,c=-12-(-5)=-7。输出-5,-12,-7。
8. 有以下程序:
程序运行的结果是( )。
A.3456787
B.876543
C.1098765
D.321678
答:D
第 4 页,共 33 页 将变量a 地址传入函数,a=5-10=_5; 将变量,将变量b 地址传入函数,b=-5-7=-12; 调用函数调用函数fun (7,a ,&b)