《C语言程序设计》 C语言的概述(1)(举一反三考点练)-讲义
2024-12-31
|
10页
|
245人阅读
|
0人下载
精品
资源信息
| 学段 | 中职 |
| 学科 | 职教专业课 |
| 课程 | C语言程序设计 |
| 教材版本 | - |
| 年级 | - |
| 章节 | - |
| 类型 | 教案-讲义 |
| 知识点 | C语言概述 |
| 使用场景 | 中职复习-一轮复习 |
| 学年 | 2024-2025 |
| 地区(省份) | 全国 |
| 地区(市) | - |
| 地区(区县) | - |
| 文件格式 | DOCX |
| 文件大小 | 292 KB |
| 发布时间 | 2024-12-31 |
| 更新时间 | 2024-12-31 |
| 作者 | xy05676 |
| 品牌系列 | 学科专项·举一反三 |
| 审核时间 | 2024-12-31 |
| 下载链接 | https://m.zxxk.com/soft/49700906.html |
| 价格 | 8.00储值(1储值=1元) |
| 来源 | 学科网 |
|---|
内容正文:
举一反三考点练
《C语言程序设计》C语言的概述-讲义
1. 了解C语言的产生和发展;
2. 理解C语言程序的特点;
3. 掌握C语言的编辑、运行处理的过程;
知识点一 C语言的产生和发展
一、C语言的产生背景
1. 计算机编程语言的发展
在C语言出现之前,计算机编程主要使用机器语言和汇编语言。这些语言与计算机硬件紧密相关,编程难度大,可读性差,不易维护。为了提高编程效率,人们开始寻求更高级的编程语言。
2. BCPL语言的诞生
1967年,英国剑桥大学的马丁·理查德(Martin Richards)设计了BCPL(Basic Combined Programming Language)语言,这是一种面向过程的编程语言。
3. B语言的产生
1970年,美国贝尔实验室的肯·汤普逊(Ken Thompson)在BCPL的基础上设计了B语言。B语言简化了BCPL的语法,但仍然受到硬件的限制。
二、C语言的诞生
C语言的起源
1972年,美国贝尔实验室的丹尼斯·里奇(Dennis Ritchie)在B语言的基础上设计了一种新的编程语言,命名为C语言。C语言继承了B语言的简洁和高效,同时克服了B语言在硬件依赖性方面的不足。
C语言的设计目标
(1)保持编程语言的高效性;
(2)提高编程语言的可移植性;
(3)简化语法,提高编程易用性。
三、C语言的发展
1. K&R C
1978年,丹尼斯·里奇和布莱恩·柯林汉(Brian Kernighan)合著了《C程序设计语言》一书,描述了C语言的标准语法和库函数。这本书被称为K&R C,成为C语言事实上的标准。
2. ANSI C
1983年,美国国家标准协会(ANSI)开始制定C语言的标准。1989年,ANSI发布了ANSI C标准(X3.159-1989),1990年被国际标准化组织(ISO)采纳为ISO C标准(ISO/IEC 9899:1990)。
3. C99标准
1999年,ISO发布了C99标准(ISO/IEC 9899:1999),对C语言进行了进一步的完善和扩展。
4. C11标准
2011年,ISO发布了C11标准(ISO/IEC 9899:2011),对C语言进行了再次更新,增加了对多线程编程、原子操作等特性的支持。
四、C语言的特点
1. 高效性:C语言接近硬件,执行效率高。
2. 可移植性:C语言具有良好的可移植性,可以在多种操作系统和硬件平台上编译运行。
3. 功能丰富:C语言提供了丰富的库函数,支持多种数据类型和运算符。
4. 灵活性:C语言允许程序员直接操作内存,实现底层编程。
5. 简洁性:C语言语法简单,易于学习。
1. (单项选择题)下列关于C语言的说法,错误的是?( )
A. C语言是一种高级编程语言
B. C语言由丹尼斯·里奇在1972年设计
C. C语言的设计目标是降低编程效率
D. C语言具有良好的可移植性
【答案】C
【解析】C语言的设计目标是提高编程效率,而不是降低。
【要点】考查C语言的产生背景和设计目标。
1. (单项选择题)下列哪个标准是在1999年发布的C语言标准?( )
A. ANSI C B. K&R C C. C99 D. C11
【答案】C
【解析】C99标准是在1999年发布的。
【要点】考查C语言的发展历程。
2. (单项选择题)以下哪个不是C语言的特点?( )
A. 高效性 B. 可移植性 C. 功能丰富 D. 面向对象
【答案】D
【解析】C语言是一种面向过程的编程语言,不是面向对象的。
【要点】考查C语言的特点。
3. (判断题)C语言是由马丁·理查德设计的。( )
【答案】×
【解析】C语言是由丹尼斯·里奇设计的,马丁·理查德设计了BCPL语言。
【要点】考查C语言的创始人。
1. (判断题)C99标准对C语言进行了进一步的完善和扩展。( )
【答案】√
【解析】C99标准确实对C语言进行了进一步的完善和扩展。
【要点】考查C99标准的内容。
2. (填空题)C语言的设计目标之一是提高编程语言的__________。
【答案】可移植性
【解析】C语言的设计目标之一是提高编程语言的可移植性。
【要点】考查C语言的设计目标。
3. (填空题)1989年,ANSI发布了C语言的标准,该标准在1990年被国际标准化组织采纳为ISO C标准,其编号为__________。
【答案】ISO/IEC 9899:1990
【解析】1989年ANSI发布的C语言标准在1990年被ISO采纳,编号为ISO/IEC 9899:1990。
【要点】考查ANSI C和ISO C标准的历史。
· C语言的起源与发展:C语言起源于1967年的BCPL语言,由丹尼斯·里奇在1972年设计,并在随后的发展中逐渐成为了一种广泛使用的高级编程语言。
· C语言的重要标准:C语言的重要标准包括ANSI C(1989年)和C99(1999年),这些标准对C语言进行了规范和扩展,提高了语言的功能性和可移植性。
· C语言的特点:C语言以其高效性、可移植性、功能丰富、灵活性和简洁性著称,这些特点使其在软件开发领域具有广泛的应用。
· C语言的影响力:C语言作为一种基础编程语言,对后续编程语言的发展产生了深远影响,许多现代编程语言都受到了C语言的影响或借鉴了其某些特性。
知识点二 C语言程序的特点
1. 高级语言与低级语言相结合
C语言是一种高级语言,它易于编程和维护,同时具有低级语言的特点,可以直接对硬件进行操作。以下是相关概念:
高级语言:C语言提供了丰富的数据类型和运算符,使得编程更加接近人类思维。
低级语言:C语言可以通过指针直接访问内存地址,进行位运算等操作,接近硬件层面。
2. 结构化程序设计
C语言支持结构化程序设计,具有以下特点:
函数:C语言将程序划分为若干个函数,每个函数完成一个具体的功能,便于模块化设计。
顺序结构、选择结构、循环结构:C语言提供了三种基本控制结构,可以构造各种复杂的程序逻辑。
3. 灵活性强
C语言具有以下灵活性特点:
数据类型丰富:C语言提供了基本数据类型(如整型、浮点型、字符型等)和构造数据类型(如数组、结构体、联合体等)。
运算符丰富:C语言包含算术运算符、关系运算符、逻辑运算符、赋值运算符等,满足各种运算需求。
强大的指针功能:C语言通过指针可以实现动态内存分配、数组操作、函数参数传递等。
4. 可移植性
C语言具有较好的可移植性,主要体现在以下几个方面:
标准化:C语言有国际标准(如ANSI C、ISO C等),不同平台上的C语言编译器遵循相同的标准。
与硬件无关:C语言程序在不同的硬件平台上编译后,可以运行于相应的硬件环境。
5. 编译型语言
C语言是一种编译型语言,其特点如下:
编译过程:C语言源程序需要通过编译器编译成目标代码,再通过链接器生成可执行文件。
运行效率高:编译型语言在运行时不需要解释源代码,因此运行速度快。
6. 库函数丰富
C语言提供了丰富的库函数,包括以下几类:
标准库函数:如输入输出函数(printf、scanf)、字符串处理函数(strcpy、strlen)、数学函数(sin、cos)等。
系统调用函数:如文件操作函数(fopen、fclose)、进程控制函数(fork、exec)等。
1. (单项选择题)下列关于C语言程序特点的说法,错误的是?( )
A. C语言可以通过指针直接访问内存地址,具有低级语言的特点
B. C语言不支持结构化程序设计,无法使用函数划分程序模块
C. C语言具有较好的可移植性,因为其遵循国际标准
D. C语言是一种编译型语言,运行效率高
【答案】B
【解析】C语言支持结构化程序设计,可以将程序划分为若干个函数,每个函数完成一个具体的功能,便于模块化设计。
【要点】考查C语言程序的特点,特别是结构化程序设计。
1. (单项选择题)以下哪个不是C语言的基本数据类型?( )
A. 整型 B. 浮点型 C. 字符型 D. 指针型
【答案】D
【解析】指针型是C语言的一种特殊数据类型,不属于基本数据类型。
【要点】考查C语言的基本数据类型。
2. (单项选择题)下列关于C语言库函数的说法,错误的是?( )
A. 标准库函数包括输入输出函数、字符串处理函数等
B. 系统调用函数不属于C语言库函数
C. 数学函数(如sin、cos)属于C语言标准库函数
D. C语言库函数可以直接使用,无需额外安装
【答案】B
【解析】系统调用函数也属于C语言库函数的一部分,如文件操作函数、进程控制函数等。
【要点】考查C语言库函数的分类。
3. (判断题)C语言程序的运行效率低于解释型语言。( )
【答案】×
【解析】C语言是编译型语言,运行效率高于解释型语言。
【要点】考查编译型语言与解释型语言的运行效率对比。
1. (判断题)C语言中,可以通过指针直接访问内存地址。( )
【答案】√
【解析】C语言具有强大的指针功能,可以通过指针直接访问内存地址。
【要点】考查C语言指针的功能。
2. (填空题)C语言提供了三种基本控制结构,分别为顺序结构、______结构和循环结构。
【答案】选择
【解析】C语言的三种基本控制结构为顺序结构、选择结构和循环结构。
【要点】考查C语言的基本控制结构。
3. (填空题)在C语言中,用于声明整型变量的关键字是______。
【答案】int
【解析】在C语言中,使用int关键字声明整型变量。
【要点】考查C语言基本数据类型的声明。
· C语言融合了高级语言和低级语言的特点,既便于编程又能够进行底层硬件操作,具有很高的灵活性和控制能力。
· C语言强调结构化程序设计,通过函数模块化的方式提高程序的可读性和可维护性,同时支持递归等高级编程技巧。
· C语言的指针功能强大,可以直接操作内存地址,这使得C语言在性能优化和系统编程方面具有显著优势。
· C语言提供了丰富的库函数,包括标准库函数和系统调用函数,这些函数大大简化了程序开发过程,提高了开发效率。
知识点三 C语言的编辑、运行处理的过程
1. 编辑阶段
(1)源程序:C语言程序设计中的代码文件,通常以“.c”为扩展名。
(2)文本编辑器:用于编写和修改源程序的软件,如Notepad++、Sublime Text、Visual Studio Code等。
2. 编译阶段
(1)编译器:将源程序翻译成目标程序的软件,如GCC(GNU Compiler Collection)。
(2)预处理:编译器在编译前对源程序进行预处理,主要包括宏替换、文件包含、条件编译等。
(3)词法分析:编译器将源程序中的字符序列转换为记号序列。
(4)语法分析:编译器根据C语言的语法规则,将记号序列分析成语法结构。
(5)语义分析:编译器检查源程序中的语法结构是否符合语义规则,如变量类型匹配、函数调用等。
(6)中间代码生成:编译器将源程序转换成中间代码,便于后续优化和目标代码生成。
(7)代码优化:编译器对中间代码进行优化,提高目标程序的运行效率。
(8)目标代码生成:编译器将中间代码转换成目标代码,通常为汇编语言。
3. 汇编阶段
(1)汇编器:将汇编语言程序转换成机器语言程序的软件。
(2)汇编:汇编器将汇编指令转换成机器指令,生成可重定位的目标程序。
4. 链接阶段
(1)链接器:将多个目标程序和库文件合并成一个可执行程序的软件。
(2)重定位:链接器将目标程序中的地址引用修正为正确的内存地址。
(3)符号解析:链接器解析目标程序中的外部变量和函数引用。
(4)库文件:包含预先编译好的代码和数据,供程序在运行时调用。
5. 运行阶段
(1)加载器:将可执行程序加载到内存中,并为其分配资源。
(2)程序执行:计算机按照程序中的指令顺序执行,处理输入数据,产生输出结果。
(3)动态链接:在程序运行时,将所需的库文件加载到内存中。
(4)异常处理:程序运行过程中,如遇到错误或异常情况,需要进行相应的处理。
1. (单项选择题)下列关于C语言程序编辑、运行处理过程的说法,错误的是?( )
A. 在编译阶段,编译器首先进行词法分析,将源程序中的字符序列转换为记号序列
B. 预处理是编译阶段的一部分,发生在词法分析之前
C. 汇编阶段由汇编器将汇编语言程序转换成机器语言程序,不涉及代码优化
D. 在链接阶段,链接器会将所有目标程序和库文件合并成一个可执行程序,无论这些文件是否在程序中被引用
【答案】D
【解析】在链接阶段,链接器只合并那些在程序中被引用的目标程序和库文件,而不是所有可用的目标程序和库文件。
【要点】考查C语言程序的编译、汇编、链接等处理过程的理解。
1. (单项选择题)在C语言程序设计中,下列哪个扩展名表示C语言源程序文件?( )
A. .txt B. .c C. .exe D. .obj
【答案】B
【解析】C语言源程序文件的扩展名为“.c”。
【要点】考查C语言源程序文件的命名规范。
2. (单项选择题)下列关于C语言预处理的说法,正确的是?( )
A. 预处理阶段不会对源程序进行任何修改
B. 宏替换是在编译阶段进行的
C. 文件包含是指将一个源文件的内容插入到另一个源文件中
D. 条件编译是根据程序员的意愿来决定是否编译某段代码
【答案】C
【解析】文件包含是指将一个源文件的内容插入到另一个源文件中。
【要点】考查预处理的基本功能。
3. (判断题)C语言程序设计中,编译器可以直接将源程序转换成可执行文件。( )
【答案】×
【解析】编译器将源程序转换成目标代码,需要经过链接阶段才能生成可执行文件。
【要点】考查编译器和链接器的区别。
1. (判断题)在C语言程序运行阶段,动态链接是在程序编译时完成的。( )
【答案】×
【解析】动态链接是在程序运行时完成的,而不是编译时。
【要点】考查动态链接的概念。
2. (填空题)C语言程序设计中,将源程序中的字符序列转换为记号序列的过程称为______。
【答案】词法分析
【解析】词法分析是编译过程中的一个阶段,用于将源程序中的字符序列转换为记号序列。
【要点】考查编译过程中的词法分析。
3. (填空题)在C语言程序设计中,用于将汇编指令转换成机器指令的软件称为______。
【答案】汇编器
【解析】汇编器负责将汇编语言程序转换成机器语言程序。
【要点】考查汇编器的作用。
· 编译过程:C语言程序设计中的编译过程包括预处理、编译、汇编和链接四个阶段,其中预处理负责宏替换和文件包含等操作,编译器将源代码转换成汇编代码,汇编器将汇编代码转换成机器代码,链接器则将目标代码与库文件链接生成可执行文件。
· 编辑与编译工具:C语言程序的开发需要使用文本编辑器编写源代码,并通过编译器进行编译和链接,以生成可执行程序。常用的编辑器和编译器有Notepad++、Visual Studio Code、GCC等。
· 运行环境:C语言程序的运行依赖于特定的运行环境,包括操作系统和硬件平台。程序在运行时,加载器将可执行文件加载到内存,并进行动态链接,最终由CPU执行程序指令。
· 异常处理:在C语言程序运行过程中,可能会遇到错误或异常情况,程序设计时应包含相应的异常处理机制,以确保程序的稳定性和可靠性。
原创精品资源学科网独家享有版权,侵权必究!2
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。