C语言程序设计题库 第一章:C语言概述

一、单选题

1、以下错误的说法是______。
A、程序是指令的有序集合
B、C语言程序可移植性好,可以很容易地改写后运行在不同的计算机上
C、C语言属于结构化程序设计语言、C++属于面向对象程序设计语言
D、计算机语言与程序经历了机器语言、中级语言和高级语言三个阶段

解析:答案选D
A、指令:是指挥和控制计算机执行某种操作的命令,是一串能被计算机直接识别并执行的二进制代码。一条指令通常由操作码和地址吗两部分组成。程序:一条条顺序排列的指令组成一段程序。故A正确。
B、可移植性指源程序可以用到另一台机上,编译后能正确运行。移植性好是指源程序不需改动或只需稍加改动,就能编译后正确运行。可移植性并不是指所写的程序不作修改就可以在任何计算机上运行,而是指当条件有变化时,程序无需作很多修改就可运行。故B正确。
C、C语言结构化:常见的顺序结构、选择结构和循环结构。C++面向对象:在C语言的基础上发展起来的,通俗说也就是更高一级的C语言,也就是C++,保留了大部分C语言的功能,而在设计方面却着重于对象的处理,获得更好地性能。故C正确。
D、语言处理程序的发展经历了机器语言、汇编语言和高级语言三个发展阶段。机器语言是机器能直接识别的程序语言或指令代码;汇编语言是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言;高级语言是一种独立于机器,面向过程或对象的语言。故D错误。

2、以下错误的说法是________。
A、C语言程序的书写格式很自由,一行可以写多个语句,但一个语句不能写在多行
B、一个C语言程序有且只有一个main函数,是程序运行的起点
C、一个C源程序可由一个或多个函数组成
D、C语言中注释可以放在任何位置,但不能夹在变量名或关键字中间

解析:答案选A
A、C语言中语句结束看分号“;”,请看示例一、二:
示例一
示例二

B、一个C语言源程序可以由一个或多个源文件组成。 一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。 main函数是C程序的入口函数,即程序的执行是从main函数开始,对其他函数的调动也是直接或间接地在main函数中被调用。故B正确。如果有两个main函数的话,请看示例三:
示例三

C、C源程序的结构特点:1、一个C语言源程序可以由一个或多个源文件组成;2、每个源文件可由一个或多个函数组成;3.一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。故C正确。
D、注释不可以加在变量名或关键字的中间,但可以加在两个变量名或关键字的中间。故D正确。请看示例四:
示例四

3、以下错误的说法是________。
A、用计算机语言编写的程序称为源程序,又称为编译单位
B、编译是将高级语言书写的源程序“翻译”成等价的机器语言目标程序的过程
C、简单程序设计的步骤和顺序为:先编码和上机调试,在编码过程中确定算法和数据结构,
最后整理文档
D、每个C语言程序写完后,都是先编译,后链接,最后运行

解析:答案选C
A、将人类可读的程序代码文本翻译成为计算机可以执行的二进制指令,这种过程叫做编译,由各种编译器来完成,一般用高级语言编写的程序称为“源程序”。故A正确。
B、首先我们要分清两个概念,源程序和目标程序。
源程序:是指用源语言写的,有待翻译的程序,如我们自己写的一段C语言代码,这段代码只有我们自己能看懂,计算机是不懂,计算机只能理解二进制。
目标程序:源程序通过翻译程序加工以后生成的机器语言程序。这是计算机可以理解的语言。把源程序转化为目标程序的操作就叫做编译。故B正确。
C、设计一个能解决实际问题的计算机程序需要经过以下几个过程:①建立模型。②算法设计:给出解决问题的步骤,即算法。③算法表达:选择一种表达算法的工具,对算法进行清晰的表达。④编写程序:选择一种程序设计语言,把以上算法程序化,这称为编写程序。⑤ 程序调试:对编写好的程序进行调试,修改程序中的错误。⑥程序文档编写与程序维护。故C错误。
D、图示如下:

故D正确。

4、C语言是由________语言发展而来的。
A、Ada
B、B
C、Basic
D、Fortran

解析:答案选B。以下图示未严谨展示C语言发展史,仅作参考,故B正确。

5、关于C语言以下错误的说法是________。
A、C语言是一种面象对象的程序设计语言
B、C语言是一种高级语言
C、C语言是一种中间语言
D、C语言具有跨平台的特性

解析:答案选A。

6、以下错误的说法是_______。
A、一个C语言程序只能实现一种算法
B、一个C函数可以单独作为一个C语言程序文件存在
C、C语言程序可以由一个或多个函数组成
D、C语言程序可以由多个程序文件组成

解析:答案选A。
A、 一个C程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个C语言程序可以实现多种算法。故A错误。

7、一个C语言程序的执行是从________。
A、当前程序的main函数开始,到main函数结束
B、当前程序文件的第一个函数开始,到程序文件的最后一个函数结束
C、当前程序的main函数开始,到程序文件的最后一个函数结束
D、当前程序文件的第一个函数开始,到程序的main函数结束

解析:答案选A。
A、 C语言程序的执行总是起始于main函数。在一个C语言源程序中,无论main函数书写在程序的前部,还是后部,程序的执行总是从main函数开始,并且在main函数中结束。故A正确。

8、一个C语言程序是由________。
A、一个主程序和若干子程序组成
B、函数组成
C、若干过程组成
D、若干子程序组成

解析:答案选B。
B、一个C源程序是由一个main函数和若干个其他函数组成的。函数是C程序的基本单位,被调用的函数可以是系统提供的库函数,也可以是用户根据需要自己定义的函数。故B正确。

9、以下叙述中正确的是________。
A、C程序中注释部分可以出现在程序中任意合适的地方
B、目前C语言中只支持“* *\”这一种注释方式
C、构成C程序的基本单位是函数,所有函数名都可以由用户命名
D、分号是C语句之间的分隔符,不是语句的一部分

解析:答案选A。
A、选项表述很谨慎,故A正确。
B、在编写C语言源代码时,应该多使用注释,这样有助于对代码的理解。在C语言中有两种注释方式:一种是以“/”开始、以“/”结束的块注释(block comment);另一种是以“//”开始、以换行符结束的单行注释(line comment)。故B错误。
在VS中,注释的快捷键为Ctrl+Shift+/
C、 库函数中的函数用户不能命名(不考虑特殊情况)。故C错误。
D、 C语言没有语句分隔符。 英文分号是独立语句的结尾字符,是C语句的一部分,不能当作“分隔符”;英文逗号是逗号语句的一部分,所以逗号不是“分隔符”;复合语句需要一对 {}来括起独立语句,所以 {}是复合语句的一部分,不能当作“分隔符”;在表达式中的一些复杂语句中,C的语句不需要任何结束字符,这也符合语法。故D错误。

10、C语言的注释定界符是________。
A、{ }
B、[ ]
C、*
D、/
*/

解析:答案选D。

11、以下正确的说法是________。
A、C语言的源程序可以通过解释器解释执行
B、C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C、C源程序经编译形成的二进制代码可以直接运行
D、C语言中的函数不可以单独进行编译

解析:答案选B。
A、与汇编程序非常相似,用高级语言编写的程序必须翻译成计算机可以理解的格式,然后才能运行。完成此操作有两种主要方法:编译和解释。

//参考地址:https://www.learncpp.com/cpp-tutorial/introduction-to-programming-languages/

编译器:是读取源代码并生成随后可以运行的独立可执行程序的程序。将代码转换为可执行文件后,无需编译器即可运行程序。一开始,编译器是原始的,并且生成缓慢的、未经优化的代码。然而,多年来,编译器已经变得非常擅长生成快速、优化的代码,并且在某些情况下可以比人类在汇编语言中做得更好!
以下是编译器的运行过程:

解释器:是一种直接执行源代码中的指令的程序,而无需先将它们编译成可执行文件。解释器往往比编译器更灵活,但在运行程序时效率较低,因为每次程序运行时都需要完成解释过程。这意味着每次程序运行时都需要解释器。
以下是解释器的运行过程:
在这里插入图片描述
B、选项B正确。
C、源程序是程序员写给人看的,电脑执行的都是.exe程序或者是二进制可执行代码,所以得将源程序进行编译链接,然后才能生成可执行的程序。故C错误。
D、可以。例如库函数就是把函数放到库里,把一些常用到的函数编译完放到一个文件里,供不同的人进行调用。C语言的库函数并不是C语言本身的一部分,它是由编译程序根据一般用户的需要编制并提供用户使用的一组程序。因此,c语言中的函数是可以单独进行编译并导出的。故D错误。

12、要把高级语言编写的源程序转换为目标程序,需要使用________。
A、编辑程序
B、驱动程序
C、诊断程序
D、编译程序

解析:答案选D
高级语言编写的源程序必须经过编译器程序的编译,产生目标程序。编译器的功能是将程序的源代码(.c)转换为机器代码的形式,称为目标代码(.obj);然后,再使用目标代码进行链接,生成可执行文件(.exe),等待下一步的执行过程。故D正确。

13、以下错误的说法是________。
A、C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B、C语言源程序经编译后生成后缀为.obj的目标程序
C、用C语言编写的程序称为源程序,它以ASCII码形式存在一个后缀为.C的文本文件中
D、C语言程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件

解析:答案选A。
A、 C语言中的非执行语句不会被编译,不会生成二进制的机器指令。故A错误。
B、 C语言源程序文件名的后缀是.c文件,经编译后,生成文件的是目标文件.obj,经过链接后,生成可执行文件是.exe。故B正确。
归纳如图:
在这里插入图片描述 故C、D也正确。

14、下列不属于C语言程序开发步骤的是________。
A、编辑源程序
B、编译
C、解释
D、连接

解析:答案选C。
一个C语言程序从编写到获得运算结果,一般会经历四个过程。这四个阶段是:
1、编辑,编辑源程序。一般会得到一个扩展名为.c的文件;
2、编译,生成二进制的目标代码,即机器代码,由众多个0和1组成的机器指令;
3、链接,链接程序,其结果是生成可执行文件;
4、运行,程序运行,其结果可能是达到了目的或者出错。故答案选C。

  • 6
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一直学不会编程的小徐

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值