全国计算机二级C语言 # (5)选择题:C语言概述(1-31)


全国计算机二级C语言 # 选择题:C语言概述(1-31)


1. C语言程序的模块化是通过以下哪个选项实现的答案:A

A)函数
B)变量
C)语句
D)程序行
题目解析:程序的模块化是指把程序要解决的总目标分解为若干目标,再进一步分解为具体的小目标,每个小目标即为一个模块,而函数是C语言的基本模块,实现某一模块的具体功能。


2. 有以下程序

#include <stdio.h>
main()
{
int  x=010,  y=10;
printf(“%d,%d “, ++x, y–)
}
程序运行后的输出结果是答案:C
A)11,10
B)010,9
C)9,10
D)10,9
题目解析:八进制整常数以数字”0″作为前缀,格式控制符为”%d”表示按照十进制输出,而且自加自减运算中,++x和–x都是先计算后使用该变量,而x++和x–是先使用该变量再计算,所以在输出的时候输出的是x自加1之后的十进制数字,即9,还有y自减之前的十进制数字,即10。


3. 以下选项中叙述正确的是答案:B

A)C语言的标识符可分为语句、变量和关键字三类
B)C语言的标识符可分为关键字、预定义标识符和用户标识符三类
C)C语言的标识符可分为运算符、用户标识符和关键字三类
D)C语言的标识符可分为函数名、变量和预定义标识符三类
题目解析:C语言的标识符可分为关键字、预定义标识符和用户标识符三类。


4. 以下选项中叙述正确的是答案:B

A)C程序必须由main语句开始
B)函数体必须由 { 开始
C)C程序中的注释可以嵌套
D)C程序中的注释必须在一行完成
题目解析:编写函数的时候需要用”{}”将其函数体括起来表示是该函数的一部分,所以函数体必须由”{“开始,选项B)正确;C程序必须由main函数开始,而不是main语句,选项A)错误;C程序中的注释有单行注释”//”和多行注释”/*…*/”,多行注释以”/*”开始,直到遇到”*/”结束,只是寻找配套,而不能嵌套。


5. 以下选项中叙述正确的是答案:A

A)结构化程序的三种基本结构是循环结构、选择结构、顺序结构
B)计算机能够直接运行C语言源程序,不必进行任何转换
C)使用N-S流程图不能描述复杂算法
D)C语言源程序不编译也能直接运行
题目解析:C语言源程序必须经过编译链接生成可执行文件之后才可以被计算机直接运行;任何一种算法都可以用N-S流程图描述出来。


6. 以下选项中叙述正确的是答案:A

A)使用三种基本结构就可以实现任何复杂算法
B)程序语法错误要在运行时才能发现
C)只要程序包含了三种基本结构中的任意一种,就是结构化程序
D)可运行C语言程序不需要包含main()函数
题目解析:结构化的程序需要遵循一定的原则:自顶向下、逐步求精、模块化和限制使用goto语句,并不是使用了三种基本结构中的一种就可以称之为结构化程序;程序的语法错误在编译阶段就能检测出来;每个C语言程序都必须包含且只能包含一个main()函数;已经证明,由顺序、分支、循环这三种基本结构组成的算法可以解决任何复杂的问题。


7. 以下选项中叙述正确的是答案:D

A)简单算法的操作步骤不能超过20步
B)有些算法不能用三种基本结构来表达
C)算法需要包含所有三种基本结构
D)C程序中的语句要经过编译才能转换成二进制机器指令
题目解析:根据算法需要只要包含顺序、分支、循环这三种基本结构中的一种或者几种就可以,而且已经证明,由这三种基本结构组成的算法可以解决任何复杂的问题;算法的复杂度是依据算法的时间复杂度和空间复杂度来衡量的,简单算法和复杂算法没有明确的界限;编译是将C语言源程序翻译成二进制目标程序。


8. 以下选项中叙述正确的是答案:D

A)C语言程序中的所有函数必须保存在同一个源文件中
B)全部三种基本结构都包含的才是结构化程序
C)C语言程序可以定义多个不同内容的main函数
D)复杂任务可以分解成简单子任务
题目解析:将复杂任务分解成简单子任务的想法是属于一种结构化的程序设计方法;C语言可以根据算法需要将函数放到一个或者多个源文件中,每个源文件可以包含一个到多个函数,但是只能有一个main函数;一个结构化的程序可以依据该程序要实现的功能选用顺序、分支、循环这三种基本结构中的某几种或者全部使用,不是必须都用上。


9. 以下叙述中错误的是答案:B

A)C程序允许将一条语句分写在多行上
B)书写风格良好的程序执行效率高
C)书写风格良好的程序易读性好
D)C程序可以在一行上写多条语句
题目解析:程序的执行效率和程序的时间复杂度和空间复杂度有关,而良好的书写风格仅能增加程序的可读性。


10. 以下选项中不能正确表示数值10000 的实型常量是答案:D

A)10E3
B)1.E4
C)1.0e4
D)1.0E4.0
题目解析:科学计数法中,e/E前后必须有数字并且后面的数字必须为整数。


11. 结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是答案:A

A)三种基本结构不可以嵌套使用
B)选择结构是根据条件决定执行不同分支中的语句
C)顺序结构是按语句在程序中的先后顺序逐条执行,没有分支,没有转移
D)循环结构是根据条件决定是否重复、重复执行多少次循环体语句
题目解析:C语言中需要灵活运用顺序、选择、循环这三种基本结构,利用其相互之间的嵌套,来完成逻辑较为复杂的算法。


12. 以下叙述正确的是答案:A

A)计算机只接收由0和1代码组成的二进制指令或数据
B)计算机只接收由0和1代码组成的十进制指令或数据
C)计算机可直接接收并运行C源程序
D)计算机可直接接收并运行任意高级语言编写的源程序
题目解析:计算机认识自己的母语——机器语言,即0和1代码组成的二进制指令和数据;C语言是一种高级语言,计算机不能直接运行C源程序和高级语言编写的源程序。


13. 简单程序设计步骤中不包括答案:D

A)调试
B)编码
C)确定算法
D)安装编译程序
题目解析:简单程序设计步骤为确定数据结构、确定算法、编码、调试、整理文档,不包括安装编译程序


14. 以下叙述正确的是答案:C

A)C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.exe的可执行文件
B)C编译程序把文件后缀为.obj的二进制文件编译成文件后缀为.exe的可执行文件
C)C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.obj的二进制文件
D)链接程序把文件后缀为.c的源程序文件链接成文件后缀为.exe的可执行文件
题目解析:C语言源程序后缀名为.c,编译程序编译之后中生成一个后缀为.obj的目标程序,再经过连接之后才形成一个可执行的.exe可执行文件。


15. 算法应当具有的特性不包括答案:D

A)有穷性
B)确定性
C)可行性
D)美观性
题目解析:算法的特性有:有穷性、确定性、可行性、有零个或多个输入、至少有一个输出


16. 以下叙述正确的是答案:D

A)过于复杂的算法不能使用N-S流程图描述
B)只有不超过20步操作步骤的算法才是简单算法
C)计算机可以直接执行C语言程序,不需要做任何转换
D)循环结构、选择结构、顺序结构都是结构化程序的基本结构
题目解析:N-S流程图是对算法的一种描述方式,算法均可表示;算法的复杂度是依据算法的时间复杂度和空间复杂度来衡量的,简单算法和复杂算法没有明确的界限;编译程序将C语言源程序翻译成二进制目标程序,计算机才能去运行;三种程序化设计的基本结构为循环结构、选择结构、顺序结构。


17. 以下叙述正确的是答案:D

A)C语言程序并不是必须要定义main()函数
B)程序中的语法错误只有在运行时才能显现
C)只要程序包含了任意一种基本结构,就肯定是结构化程序
D)只使用三种基本结构即可解决任何复杂问题
题目解析:C语言程序必须定义main()函数,语法错误,编译的时候就能发现;结构化程序包含了三种基本结构,包含其中一种不能说是结构化程序。


18. 下面叙述正确的是答案:D

A)复杂算法是不能用三种基本结构来表达的
B)只要是简单算法,它的操作步骤都不会超过20步
C)任何算法需要包含三种基本结构中的两种以上
D)C语言程序的语句经过编译和链接转换成二进制机器指令后才能执行
题目解析:根据算法需要只要包含顺序、分支、循环这三种基本结构中的一种或者几种就可以,而且已经证明,由这三种基本结构组成的算法可以解决任何复杂的问题;算法的复杂度是依据算法的时间复杂度和空间复杂度来衡量的,简单算法和复杂算法没有明确的界限;编译是将C语言源程序翻译成二进制目标程序。


19. 下面叙述正确的是答案:A

A)任何复杂任务都可以分解成简单子任务
B)C语言程序可以定义多个不同内容的main函数
C)C语言程序的所有函数只能处于同一个源文件中
D)包含全部三种基本结构的程序才是结构化程序
题目解析:将复杂任务分解成简单子任务的想法是属于一种结构化的程序设计方法;C语言可以根据算法需要将函数放到一个或者多个源文件中,每个源文件可以包含一个到多个函数,但是只能有一个main函数;一个结构化的程序可以依据该程序要实现的功能选用顺序、分支、循环这三种基本结构中的某几种或者全部使用,不是必须都用上。


20. 若变量已经定义且正确赋值,则针对程序段:

temp=a;  a=b;  b=temp;
以下叙述中正确的是答案:D
A)此程序段的执行顺序是,先执行b=temp;,再执行a=b;,最后执行temp=a;
B)将此段程序的前两个分号改成逗号,后面一个不变,则不能实现a和b中值的交换
C)C语言的顺序结构不允许将多条语句写在一行里
D)此段程序是从左至右依次执行
题目解析:C语言程序从左至右依次执行,分号表示该语句结束,该程序中每个分号之间是一独立的赋值语句,换为逗号也不影响正确运算,C语言顺序结构可以将多条语句写在一行。


21. 以下叙述中错误的是答案:C

A)用户按规定语法编写的C程序不是二进制文件
B).OBJ文件经“连接程序”生成的.EXE文件是二进制文件
C).OBJ文件和.EXE文件都是可直接执行的二进制文件
D)C源程序经编译无误后将生成一个 .OBJ的二进制文件
题目解析: obj文件是C语言编译程序生成的,但是它并不能被直接执行,需要转化为EXE的可执行文件。


22. 以下关于注释的叙述中错误的是答案:C

A)注释的内容仅用于阅读,对程序的运行不起作用
B)C语言允许注释出现在程序中任意合适的地方
C)注释的边界符号“/*”和“*/”必须成对出现且可以嵌套
D)注释的边界符号“/”和“*”之间不允许加入空格
题目解析: 注释是对程序目的或者编写的一个说明,不影响程序运行,注释可以随时出现在任一程序段中,注释的边界符号必须成对出现,而且边界不允许嵌套,注释为空也没有影响


23.  以下说法正确的是 答案:A

A)C语言被称为“高级语言”是因为它用接近人们习惯的自然语言和数学语言作为表达形式,使人们学习和操作起来感到十分方便
B)C语言被称为“高级语言”是因为它是用来开发高级软件的语言
C)C语言被称为“高级语言”是因为它能接受和处理由0和1的代码构成的二进制指令或数据
D)C语言被称为“高级语言”是因为计算机能直接识别并执行由这种语言编写的程序
题目解析:C语言不能被计算机直接识别,因为他的代码不是0和1,开发高级软件的语言并不一定是C语言。


24.  以下说法错误的是答案:A

A)C语言提供了定义函数和子程序的功能
B)C语言提供了定义函数的功能
C)C语言既有库函数也可以自定义函数
D)C语言中没有子程序的概念
题目解析:C语言中没有子程序的概念,也没有提供子程序的功能


25.  以下是正确C语言标识符的是答案:A

A)_8_
B)-8-
C)^8^
D)~8~
题目解析:C语言标识符的开头只能是下划线或者字母


26.  以下叙述中正确的是答案:A

A)一个程序要被称为结构化程序,则只能包含循环结构、选择结构、顺序结构
B)C语言源程序即使不编译,也是可以直接运行的
C)使用N-S流程图只能描述简单的算法
D)复杂算法是指不能分解成子任务的算法
题目解析:结构化程序是包含循环结构或者选择结构或者顺序结构的程序,只能包含这三者中的一个,不能含有其他结构;C语言源程序需要用编译程序转化为计算机能识别的二进制指令才能执行;流程图是算法的一种表述方式;复杂算法可以分解成多个简单的子任务。


27.  下面说法正确的是答案:B

A)一些完成简单任务的C语言程序,可以不包含main()函数
B)使用只包含三种基本结构的算法可以求解复杂的问题
C)C语言源程序需要把所有过长的函数保存在单独的源文件中才能通过编译
D)有一些特殊的程序语法错误,只有在运行时才能被发现
题目解析:C语言中main函数必须存在;C语言中函数的使用可以放在main函数之前进行定义,与长度无关;编译时就可以发现语法错误。


28.  以下选项中,合法的C语言常量是答案:D

A)”C++’
B)-89
C)”8C’
D)kb
题目解析:引号需整对出现;kb是标识符。


29.  以下选项中,合法的C语言实数是答案:D

A)3.1e3.1
B)E09
C)1.23E
D) .2e1
题目解析: e表示科学计数法,e之后的必须为整数,e之前的可以是小数也可以是整数。


30.  以下叙述正确的是答案:A

A)对于只包含表达式语句的程序段,执行顺序与书写顺序一致
B)C程序的执行是从源文件的开头,一行一行向下执行,每行都会被执行到
C)每个C源文件都应当有一个主函数
D)C程序的执行一定是从主函数开始,从主函数结束
题目解析:条件语句中,不满足条件的不会被执行,C源文件不一定有主函数,C程序也不一定是先执行主函数,结束的地方也不一定是主函数。


31.  以下叙述正确的是答案:C

A)一个#include行可以包含多个文件,且最后一个文件起作用
B)#include <stdio.h> 是C程序的一条语句
C)使用符号可以将一条#include 命令写在多行里
D)一个#include行可以包含多个文件,文件名用逗号分开
题目解析:一个#include行只能有一个文件,#include <stdio.h> 成为编译预处理命令。


本章结束..

513 Views
分享你的喜爱
linwute
linwute

我要像梦一样自由,像大地一样宽容;
在艰辛放逐的路上,点亮生命的光芒;
我要像梦一样自由,像天空一样坚强;
在曲折蜿蜒的路上,体验生命的意义;

留下评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注