更多资料下载链接如下

专升本C语言——资料复习大全

    • 第1章 程序设计和C语言
      • 1.1 考试内容
        • 一、计算机程序
        • 二、计算机语言
        • 三、C语言的发展及其特点
        • 四、简单的C语言程序
        • 五、运行C程序的步骤与方法
        • 六、程序设计的任务
      • 1.4 练习题库
      • 1.5 考点必背
      • pdf全套资料下载链接
        • 第一章程序设计和C语言
        • [第2章 算法--程序的灵魂](https://download.csdn/download/weixin_43442290/87583299)

第1章 程序设计和C语言

1.1 考试内容

1.C语言的简史与特点;
2.简单的C程序结构;
3.程序的编辑、编译、链接和运行。
1.2 基本要求
1.掌握C程序的一般书写形式;
2.掌握C程序编辑、编译、链接、调试和执行的基本过程。
1.3 主要知识点

一、计算机程序

1.程序就是一组计算机能识别和执行的指令
2.计算机的一切操作都是由程序控制的

二、计算机语言

1.定义
人和计算机交流信息,要解决语言问题。需要创造一种计算机和人都能识别的语言,这就是计算机语言。
2.发展阶段
计算机语言经历了几个发展阶段:
(1)机器语言
(2)符号语言
(3)高级语言

三、C语言的发展及其特点

1.概述
(1) C语言是国际上广泛流行的计算机高级语言。
(2) C语言的祖先是BCPL语言。
2.发展
最初的C语言只是为描述和实现UNIX操作系统提供-种工作语言而设计的,后来逐步发展为一种高级编
程语言,目前C语言使用的标准是1999年修正的C99。
3.特点
(1)语言简洁、紧凑,使用方便、灵活
(2)运算符丰富
(3)数据类型丰富
(4)具有结构化的控制语句
(5)语法限制不太严格,程序设计自由度大
(6)C语言允许直接访问物理地址
(7)用C语言编写的程序可移植性好
(8)生成目标代码质量高,程序执行效率高

四、简单的C语言程序

(1)一个程序由一个或多个源程序文件组成
在一个源程序文件中可以包括3个部分:
①预处理指令
②全局声明
③函数定义
(2)函数是C程序的主要组成部分
①函数是C程序的基本单位。
②一个C语言程序是由一个或多个函数组成的,有且仅有一个main函数。
③一个小程序只包含-一个源程序文件。
④函数既可以是库函数,也可以是用户自定义函数。
(3)函数的两个部分
①函数首部
函数首部包括函数名、函数类型、函数属性、函数参数(形式参数)名、参数类型。
②函数体
即函数首部下面的花括号内的部分。函数体一般包括两部分:声明部分和执行部分。.
(4)程序总是从main函数开始执行的
(5)程序中对计算机的操作是由函数中的C语句完成的
(6)在每个数据声明和语句的最后必须有一个分号
(7)C语言本身不提供输入输出语句
(8)程序应当包含注释

五、运行C程序的步骤与方法

C程序运行步骤图如图1-1所示。其中实线表示操作流程,虚线表示文件的输入输出。

六、程序设计的任务

程序设计是指从确定任务到得到结果、写出文档的全过程。从确定问题到最后完成任务,一般经历以下几个
工作阶段:
1.问题分析
2.设计算法
3.编写程序
4.对源程序进行编辑、编译和连接,得到可执行程序
5.运行程序,分析结果
6.编写程序文档

1.4 练习题库

选择题
1 构成C程序的三种基本结构是( )。
A.顺序结构、转移结构、递归结构
B.顺序结构、嵌套结构、递归结构
C.顺序结构、选择结构、循环结构
D.选择结构、循环结构、嵌套结构
【答案】C
【解析】编译程序的功能是将“高级语言”翻译为“机器语言”。每条C语言 语句,经过编译最终都将转换成二进制的机器指令。答案选择C选项。

2 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )。
A.C语言程序仅可以编译执行
B.C语言程序仅可以解释执行
C.C语言程序既可以编译执行,又可以解释执行
D.以上说法都不对
【答案】A
【解析】编译执行是指程序执行前需要一个专门的编译过程把程序编译成机器语言的文件,再次运行时不需要重新翻译,执行效率高;解释执行是指每个语句都是执行的时候才翻译,执行效率低。用C语言编写的程序必须经过编译器编译后,转换为二进制的机器指令来运行。答案选择A选项。

3 以下叙述中错误的是( )。
A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
B.C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件
C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
D.C语言源程序经编译后生成后缀为.obj的目标程序
【答案】A
【解析】A项错误,注释语句不会被翻译成二进制的机器指令。C源程序经过C编译程序编译之后生成后缀为.obj的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执行文件。答案选择A选项。

4 以下叙述中错误的是( )。
A.C语言的可执行程序是由一系列机器指令构成的
B.用C语言编写的源程序不能直接在计算机上运行
C.通过编译得到的二进制目标程序需要连接才可以运行
D.在没有安装C语言集成开发环境的机器上不能运行C源程序生成的exe文件
【答案】D
【解析】A项正确,C语言的可执行程序是由一系列机器指令组成的;BC项正确,用C语言编写的源程序必须经过编译,生成二进制目标代码,再经过连接才能运行;D项错误,C语言经过编译链接后的二进制目标代码可以脱离C语言集成开发环境独立运行。答案选择D选项。

5 以下叙述正确的是( )。
A.C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.obj的二进制文件
B.C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.exe的可执行文件
C.C编译程序把文件后缀为.obj的二进制文件编译成文件后缀为.exe的可执行文件
D.链接程序把文件后缀为.c的源程序文件链接成文件后缀为.exe的可执行文件
【答案】A
【解析】C编译程序把文件后缀为C的源程序文件编译成文件后缀为.obj的二进制文件,链接将一个或多个目标文件与程序用到的库文件连接起来,形成一个可以在操作系统直接运行的执行程序.exe,故排除B、C、D项,答案选择A选项。

6 计算机能直接执行的程序是( )。
A.源程序
B.目标程序
C.汇编程序
D.可执行程序
【答案】D
【解析】C语言是一种高级语言,C语言源程序经过C语言编译程序编译之后,生成一个后缀为.obj的二进制文件(称为目标程序),最后还要由“连接程序”(Link)软件,把此.obj文件与C语言提供的各种库函数连接在一起,生成后缀.exe的可执行程序。汇编程序是由汇编语言写成的程序,计算机不能直接执行。计算机能直接执行的程序是经过编译器处理转换为机器语言的程序。答案选择D选项。

7 针对简单程序设计,以下叙述的实施步骤正确的是( )。
A.确定算法和数据结构、编码、调试、整理文档
B.编码、确定算法和数据结构、调试、整理文档
C.整理文档、确定算法和数据结构、编码、调试
D.确定算法和数据结构、调试、编码、整理文档
【答案】A
【解析】简单程序设计的步骤是首先要确定算法和数据结构,然后编码、调试,最后整理相关文档。答案选择A选项。

8 以下叙述中正确的是( )。
A.程序设计的任务就是编写程序代码并上机调试
B.程序设计的任务就是确定所用数据结构
C.程序设计的任务就是确定所用算法
D.以上三种说法都不完整
【答案】D
【解析】程序设计是指设计、编程、调试程序的方法和过程,通常分为4个阶段:① 问题建模;② 算法设计;③ 编写代码;④ 编译调试。其工作内容涉及有关的基本概念、工具、方法及方法学,是目标明确的智力活动。答案选择D选项。

9 以下叙述中错误的是( )。
A.C程序在运行过程中所有计算都以十进制方式进行
B.C程序在运行过程中所有计算都以二进制方式进行
C.所有C程序都需要编译链接无误后才能运行
D.C程序中字符变量存放的是字符的ASCII值
【答案】A
C程序在运行过程中所有计算都以二进制方式进行。答案选择A选项。

10 关于程序设计基本概念,以下叙述错误的是( )。
A.计算机可以直接执行由任意高级语言编写的程序
B.高级语言都有与之对应的编译程序或解释程序
C.用任何一种计算机高级语言都可以把算法转换为程序
D.结构化算法可以解决任何复杂的问题
【答案】A
【解析】A项计算机只能识别机器语言,不能直接识别由高级语言编写的程序。结构化的程序是由三种基本的结构组成的:顺序结构、选择结构和循环结构,使用这三种结构能够解决任何问题。答案选择A选项。

11 以下关于算法的叙述中错误的是( )。
A.算法可以用伪代码、流程图等多种形式来描述
B.一个正确的算法必须有输入
C.一个正确的算法必须有输出
D.用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码
【答案】B
【解析】算法可以使用自然语言、伪代码、流程图等多种不同的方法来描述。故选项A、D说法正确。一个正确的算法可以有零个或者多个输入,必须有一个或者多个输出。故选项C说法正确,B说法错误。答案选择B选项。

12 以下叙述中错误的是( )。
A.算法正确的程序最终一定会结束
B.算法正确的程序可以有零个输出
C.算法正确的程序可以有零个输入
D.算法正确的程序对于相同的输入一定有相同的结果
【答案】B
【解析】算法的5个特性:① 有穷性;② 确定性;③ 可行性;④ 有零个或多个输入;⑤ 有一个或多个输出。答案选择B选项。

13 以下选项中叙述正确的是( )。
A.C程序中的语句要经过编译才能转换成二进制机器指令
B.算法需要包含所有三种基本结构
C.有些算法不能用三种基本结构来表达
D.简单算法的操作步骤不能超过20步
【答案】A
【解析】编译就是把高级语言变成计算机可以识别的二进制语言,不经过编译的源程序是不能运行的,A项正确。算法不一定要包含所有三种基本结构,B项错误。结构化程序主要由3种基本控制结构组成,循环结构、选择结构、顺序结构,它们组成的算法结构可以解决任何复杂的问题,C项错误。算法的复杂程度不是由操作步骤多少决定的,而是由时间复杂度与空间复杂度来衡量,D项错误。答案选择A选项。

14 流程图是描述算法的很好的工具,一般的流程图中由几种基本图形组成。其中判断框的图形是( )。
A.菱形
B.长方形
C.平行四边形
D.椭圆型
【答案】A
【解析】传统的流程图由下图所示的几种基本图形组成。

答案选择A选项。

15 C语言主要是借助以下( )功能来实现程序模块化的。
A.定义函数
B.定义常量和外部变量
C.三种基本结构语句
D.丰富的数据类型
【答案】A
【解析】C程序的模块化主要通过函数来实现。C语言允许对函数单独进行编译,从而可以实现模块化。

16 以下选项中叙述正确的是( )。
A.结构化程序的三种基本结构是循环结构、选择结构、顺序结构
B.C语言源程序不编译也能直接运行
C.使用N-S流程图不能描述复杂算法
D.计算机能够直接运行C语言源程序,不必进行任何转换
【答案】A
【解析】编译就是把高级语言变成计算机可以识别的二进制语言,不经过编译的源程序是不能运行的,B项错误。算法可以用各种描述方法进行描述,N-S流程图把算法的每一步都用一个矩形框来表示,把一个个矩形框按执行的次序连接起来就是一个算法描述,无论算法复杂与否都能用N-S流程图描述,C项错误。C语言源程序需要经过编译和连接生成目标文件和可执行文件后才能运行,D项错误。答案选择A选项。

17 以下选项中关于程序模块化的叙述错误的是( )。
A.把程序分成若干相对独立的模块,可便于编码和调试
B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块
C.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序
D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序
【答案】C
【解析】把一个大程序分解成若干相对独立的子程序,大大提高了程序编制的效率。软件编制人员在进行程序设计时,首先应当集中考虑主程序中的算法,写出主程序后再动手逐步完成子程序的调用。对于这些子程序也可用调试主程序的同样方法逐步完成其下一层,就是自顶向下、逐步细化、模块化的程序设计方法。答案选择C选项。

18 以下关于结构化程序设计的叙述中正确的是( )。
A.一个结构化程序必须同时由顺序、分支、循环三种结构组成
B.结构化程序使用goto语句会很便捷
C.在C语言中,程序的模块化是利用函数实现的
D.由三种基本结构构成的程序只能解决小规模的问题
【答案】C
【解析】A项,一个结构化程序可以由顺序、分支、循环三种结构组成,但不是必须同时都包括,可以包括其中的一个或多个;B项,goto语句会破坏程序的结构性、可读性,应尽量不用;D项,三种基本结构构成的程序也可以解决大规模的问题;C项,在C语言中,利用函数来实现程序的模块化。答案选择C选项。

19 以下叙述中错误的是( )。
A.使用三种基本结构构成的程序只能解决简单问题
B.结构化程序由顺序、分支、循环三种基本结构组成
C.C语言是一种结构化程序设计语言
D.结构化程序设计提倡模块化的设计方法
【答案】A
【解析】结构化程序由顺序、分支和循环三种基本结构组成,选项B正确。由三种基本结构组成的算法可以解决任何复杂的问题,而不只是解决简单问题,选项A错误。由三种基本结构所构成的算法称为结构化算法;由三种基本结构所构成的程序称为结构化程序,C语言是一种结构化程序设计语言。结构化程序通过函数实现模块化的设计方法。选项C、D正确。答案选择A选项。

20 以下叙述中正确的是( )。
A.在算法设计时,可以把复杂任务分解成一些简单的子任务
B.在C语言程序设计中,所有函数必须保存在一个源文件中
C.只要包含了三种基本结构的算法就是结构化程序
D.结构化程序必须包含所有的三种基本结构,缺一不可
【答案】A
【解析】A项正确,把复杂任务分解成一些简单的子任务是程序模块化的思想;B项错误,C语言中,函数可以放在不同的源文件中;CD两项错误,由三种基本结构所构成的程序称为结构化程序,三种基本结构可以任意组合。答案选择A选项。

21 以下选项中叙述正确的是( )。
A.使用三种基本结构就可以实现任何复杂算法
B.只要程序包含了三种基本结构中的任意一种,就是结构化程序
C.程序语法错误要在运行时才能发现
D.C语言程序不需要包含main( )函数
【答案】A
【解析】结构化程序主要由循环结构、选择结构、顺序结构三种基本控制结构组成,它们组成的算法结构可以解决任何复杂的问题,A项正确。结构化程序设计是以模块化设计为中心,将待开发的软件系统划分为若干个相互独立的模块,而不是说包含了三种基本结构就是结构化程序,B项错误。程序语法错误是在编译过程中发现的,一般来说编译器只能检查语法和最简单的语义错误,而不检查程序的逻辑错误,C项错误。C程序总是从main函数开始执行,其他函数由main函数直接或间接调用执行,所以C语言程序必须包含main函数,D项错误。答案选择A选项。

22 结构化程序由顺序、选择、循环三种基本结构组成,以下相关叙述错误的是( )。
A.三种基本结构不可以嵌套使用
B.顺序结构是按语句在程序中的先后顺序逐条执行,没有分支,没有转移
C.选择结构是根据不同的条件执行不同分支中的语句
D.循环结构是根据条件决定是否重复、重复执行多少次循环体语句
【答案】A
【解析】结构化程序主要由3种基本控制结构组成,顺序结构是最基本的算法结构,当执行由这些语句构成的程序时,将按这些语句在程序中的先后顺序逐条执行,没有分支,没有转移,没有步骤之间的相互约束,没有对某一步骤的多次使用,完全按照步骤的原有次序依次执行,B选项叙述正确。选择结构根据不同的条件去执行不同分支中的语句,C选项叙述正确。循环结构就是根据各自的条件,使同一组语句重复执行多次,D选项叙述正确。三种结构可以嵌套使用,A选项叙述错误答案选择A选项。

23 以下叙述错误的是( )。
A.在进行模块化程序设计的时候,应首先完成每个模块的编写调试,再集中考虑主程序中的算法
B.同一程序各模块可由不同人员同时进行编写调试,可提高编写程序的效率
C.模块化的程序设计是采用自顶向下、逐步细化的原则
D.程序的每个模块都可通过三种基本结构实现
【答案】A
【解析】进行模块化设计时,首先设计框架,并定义和调试好各个模块之间的输入输出关系,完成各个模块的编写调试后再集中编译,A项错误;各个模块可以由不同人员同时进行编写调试,提高编写程序的效率,B项正确;模块化的程序设计采用自顶向下、逐步细化的原则,C项正确;结构化程序使用三种基本结构可以解决任何复杂的问题,D项叙述正确。答案选择A选项。

1.5 考点必背

  1. C语言编译程序的功能是把C源程序翻译成机器代码
  2. C语言程序仅可以编译执行
  3. C语言中的每条可执行语句最终都将被转换成二进制的机器指令
  4. C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件
  5. 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中
  6. C语言源程序经编译后生成后缀为.obj的目标程序
  7. C语言经过编译链接后的二进制目标代码可以脱离C语言集成开发环境独立运行
  8. C语言的可执行程序是由一系列机器指令构成的
  9. 用C语言编写的源程序不能直接在计算机上运行
  10. 通过编译得到的二进制目标程序需要连接才可以运行
  11. C编译程序把文件后缀为.c的源程序文件编译成文件后缀为.obj的二进制文件
  12. 计算机能直接执行的程序是可执行程序
  13. 对简单程序设计的实施步骤正确的是确定算法和数据结构、编码、调试、整理文档
  14. 程序设计是指设计、编程、调试程序的方法和过程,通常分为4 个阶段:① 问题建模;② 算法设计;③ 编写代码;④ 编译调试。
  15. C程序在运行过程中所有计算都以二进制方式进行
  16. 所有C程序都需要编译链接无误后才能运行
  17. C程序中字符变量存放的是字符的ASCII值
  18. 一个正确的算法必须有输入(错)
  19. 算法正确的程序可以有零个输出(错)
  20. C程序中的语句要经过编译才能转换成二进制机器指令
  21. 构成C程序的三种基本结构是顺序结构、选择结构、循环结构
  22. C语言主要是借助以下定义函数功能来实现程序模块化的
  23. 程序模块化:把程序分成若干相对独立的模块,可便于编码和调试;把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块;可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序。
  24. 在算法设计时,可以把复杂任务分解成一些简单的子任务
  25. 使用三种基本结构就可以实现任何复杂算法
  26. 在进行模块化程序设计的时候,应首先完成每个模块的编写调试,再集中考虑主程序中的算法
  27. C语言是一个函数式语言,有且仅有一个叫做“main” 的主函数。
  28. 程序从“main”中开始,在“main”中结束。
  29. 函数不能嵌套定义,可以嵌套使用(每个函数地位一样)。
  30. 一个C语言由函数组成,用“;”作语句结束符。
  31. 标识符是以字母或下划线开头的一串字母、 数字或下划线构成的序列;标识符
  32. 大小写有区别,不能使用关键字。关键字共有32个(主要有: auto, break, case,char,continue,default, do, double, else, extern, float, for, if, int, long,returm,short,singed, sizeof, static, struct, switch, typedef, union, void, while), 关键字均为小写,若为大写则为合法的标识符(如: Do是合法的)

pdf全套资料下载链接

第一章程序设计和C语言

第2章 算法–程序的灵魂

更多推荐

专升本C语言——资料复习大全