《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 学科网(北京)股份有限公司 学科网(北京)股份有限公司 $$

资源预览图

《C语言程序设计》 C语言的概述(1)(举一反三考点练)-讲义
1
《C语言程序设计》 C语言的概述(1)(举一反三考点练)-讲义
2
《C语言程序设计》 C语言的概述(1)(举一反三考点练)-讲义
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。