一、选择题
1. 以下选项中叙述正确的是( )。
A. 复杂任务可以分解成简单子任务
B.C 语言程序中的所有函数必须保存在同一个源文件中 C. 全部三种基本结构都包含的才是结构化程序 D.C 语言程序可以定义多个不同内容的main 函数 答:A
【解析】结构化程序设计把一个复杂的问题的求解过程分成阶段进行,即复杂任务可以分解成简单的任务,A 项正确。C 语言程序中的函数不一定要保存在同一个源文件中,外部函数可以 B 项错误。被同程序中其他源文件中调用,结构化程序主要由3种基本控制结构组成,循环结构、选择结构、顺序结构,它们组成的算法结构可 以解决任何复杂的问题。算法不一定要包含所有三种基本结构,也可以只包含一种或两种,C 项错误。C 程序由 一个或若干个函数构成,程序中有且只能有一个主函数,即main 函数,D 项错误。
2. 有以下程序段,若变量已正确定义并赋值( )。
则与此程序段功能相同的选项是( )。
答:A
【解析】程序段执行过程为:如果a>b,输出x ,否则输出y ; 如果a<=b,i 加1,否则j 加1。A 项如果a>b,A 项正确。B 项如果a>b,输出x 且j 加1, 否则输出y 且i 加1, 与题目中功能相同,输出x 且i 加1,否则输出y 且j 加1,与题目中功能不相同,B 项错误。C 项如果a<=b,输出x C 项错误。D 项判断条件为a>=b,且i 加1,否则输出y 且j 加1,与题目中功能不相同,多了a=b,D 项错误。
3. 有以下程序:
程序运行后输出的结果是( )。 A.12, -3, 0, 0 B.-3, -1, 1, 3 C.0, 1, 2, 3
D.-3,-3,-3,-3 答:B
【解析】在函数参数传递时,一维数组和二维数组都是以指针的形式。函数fun 的作用是通过二维数组a 来 给数组b 赋值,元素(从倒数0个开始)。所以,
4. 以下叙述中错误的是( )
A.C 语言的可执行程序是由一系列机器指令构成的 B. 用C 语言编写的源程序不能直接在计算机上运行 C. 通过编译得到的二进制目标程序需要连接才可以运行
D. 在没有安装C 语言集成开发环境的机器上不能运行C 源程序生成的exe 文件 答:D
【解析】A 项正确,C 语言的可执行程序是由一系列机器指令组成的;BC 项正确,用C 语言编写的源程序 必须经过编译,生成二进制目标代码,再经过连接才能运行;D 项错误,C 语言经过编译链接后的二进制目标代码可以脱离C 语言集成开发环境独立运行。
5. fun 函数的功能是:通过键盘输入给x 所指的整型数组所有元素赋值。在下画线处应该填写的是( )。
A. B.
表示a 上对角线元素,表示a 中第i 行倒数第i 个
C. D. 答:D
【解析】数组名本身就是地址,所以不需要用符号。C 选项不能对所有元素赋值而是反复给一个数值赋值且是死循环。
6. 以下叙述中正确的是( )。
A. 在C 语言程序中,main 函数必须放在其他函数的最前面 B. 每个后缀为.C 的C 语言源程序都可以单独进行编译 C. 在C 语言程序中,只有main 函数才可以单独进行编译 D. 每个后缀为.C 的C 语言源程序都应该包含一个main 函数 答:B
main 是主函数的起始行,【解析】每一个可执行的C 程序都必须有一个且只能有一个主函数。后缀名为.C 的C 语言源程序都可以单独进行编译。
7 若有定义语句:.
误的是( )。
答:C
【解析】:数组的下标从零开始,数组m 中有5个元素,所以数组m 即
为
C 项,
但是数组下标范围是
8. 有以下程序:
程序运行后的输出结果是。 A.ABCDEF B.AbCdEf C.aBcDeF
则下面对m 数组元素的引用中错
引用数组元素为
所以溢出引用错误。