2022年C语言程序设计学习笔记 .pdf
《2022年C语言程序设计学习笔记 .pdf》由会员分享,可在线阅读,更多相关《2022年C语言程序设计学习笔记 .pdf(27页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C 语言设计学习笔记早晨:06:40 起床07:20 08:20 英语 1 小时新概念英语(单词、语法、听读背)大学英语(单词、语法、听读背)上午:08:30 10:30 计算机基础 2 小时10:50 11:30 计算机科学技术导论计算机组成原理微机原理及接口技术Intel微处理器结构编程与接口深入理解计算机系统80 x86 汇编语言程序设计8086-8088 宏汇编语言程序设计教程BIOS研发技术剖析自己动手写操作系统操作系统原理Windows操作系统原理Windows内部原理系列Windows程序内部运行原理计算机网络第五版中午:12:00 02:00 午休下午:02:30 04:30
2、计算机应用及编程Windows 用户管理指南、AD 配置指南、网络专业指南、 Windows 即学即会教程Windows下 32 位汇编语言程序设计、C#编程晚上:05:30 08:00 锻炼、晚餐08:00 09:00 辅导09:00 11:00 专业基础 2 小时大学数学、大学物理、电机及拖动、电力电子技术、通信技术11:30 休息名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 27 页 - - - - - - - - - 目 录第一章C 语言概述
3、. - 1 -1.1 C 程序结构特点16 . - 1 -1.2 C 程序上机步骤17 . - 1 -第二章程序的灵魂 算法 23 . - 2 -2.1 算法 24 . - 2 -2.2 算法的三种基本结构. - 2 -2.3 结构化程序设计方法42 . - 2 -第三章数据类型运算符与表达式48 . - 2 -3.1 C 语言的基本元素48 . - 2 -3.2 C 的数据类型48 . - 2 -3.3 常量与变量48 . - 3 -3.4 基本类型 . - 3 -3.5 变量 63 . - 4 -3.6 不同类型数据间的混合运算. - 5 -3.7 函数的调用过程(补充). - 5 -第四
4、章最简单的 C 程序设计顺序程序设计77 . - 5 -4.1 字符数据的输入输出. - 5 -第五章选择结构的程序设计97 . - 6 -第六章循环结构程序设计. - 6 -6.1 语句标号 . - 6 -6.2 break 语句和 continue 语句 . - 6 -第七章数组 132 . - 6 -7.1 构造类型 . - 6 -7.2 数组 133 . - 6 -7.3 二维数组 . - 6 -7.4 字符串字符数组. - 7 -7.5 字符串处理函数#include . - 7 -第八章函数 153 . - 8 -8.1 c 程序的结构154 . - 8 -8.2 函数调用参数传递
5、. - 8 -8.3 函数变量的作用范围. - 8 -8.4 变量的存储类别. - 8 -第九章预处理命令197 . - 9 -9.1 预编译命令作用. - 9 -第十章指针 211 . - 10 -10.1 变量的访问方式. - 10 -10.2 指针变量 . - 10 -第十一章结构体 270 . - 11 -11.1 结构体 270 . - 11 -名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 2 页,共 27 页 - - - - - - - - - 11.
6、2 声明结构体类型变量的方法271 . - 11 -11.3 结构体变量引用273 . - 11 -11.4 结构体变量初始化. - 12 -11.5 结构体数组275 . - 12 -11.6 结构体类型指针. - 12 -11.7 链表 283 . - 12 -11.8 共用体297 . - 13 -11.9 枚举类型 301 . - 13 -11.10 用 typedef 定义的类型304 . - 14 -第十二章位运算 308 . - 14 -12.1 位段 315. - 14 -第十三章文件 319 . - 14 -13.1 文件 319. - 14 -13.2 文件的分类319 .
7、 - 15 -13.3 C 语言对文件的处理方法319 . - 15 -13.4 文件结构体类型321 . - 15 -13.5 文件结构体数组和指针321 . - 16 -13.6 文件的操作321 . - 16 -13.7 文件的定位333 . - 17 -13.8 出错检测 335 . - 18 -13.9 小结 336. - 18 -第十四章C+对 C 的扩充338 . - 19 -14.1 C+的特点 338 . - 19 -14.2 C+的输入输出339 . - 19 -14.3 C+的输出 cout . - 19 -14.4 C+的输入cin 341 . - 21 -14.4 函
8、数的重载342 . - 21 -14.5 带缺省参数的函数344 . - 21 -14.6 变量的引用类型345 . - 22 -14.7 内置函数348 . - 23 -14.8 作用域运算符349 . - 24 -名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 3 页,共 27 页 - - - - - - - - - 第一章C 语言概述1.1 C 程序结构特点 16 1、C 程序的 基本构件 函数。2、一个 函数 由函数首部 和函数体 两部分构成。?函数首部 一
9、般包括 函数类型、函数名、函数参数等。?函数体 一般包括 声明部分 和 执行部分 。其中:在 声明部分 中 定义 所用到的 变量;执行部分 则由若干个 语句 组成。3、C 程序只有一个main 函数 ,且总是从main 函数开始执行。4、C 语言语句必须以“; ”结束。5、用 /* */作为 注释 。6、C 编译器一般 自顶向下 顺序编译C 源程序,如果被调函数 定义在 主调函数 之后位置时,要在主调函数前,给出被调函数的 原型说明 。以便编译器在编译被调函数的调用语句 时,对 调用语句 进行 参数检查 。如果不进行原型说明,则无法通过编译检查 。原型说明: 类型说明函数名 (参数类型 ,参数
10、类型 ,)7、头文件头文件 包含了 C 语言的标准函数库的原型说明。C 语言通过使用 #include 预处理命令,将库函数的原型说明插入到源文件中。1.2 C 程序上机步骤 17 1、编辑源文件 .c ;2、编译成目标文件.obj;3、连接将目标程序 和库函数 及其他目标程序 连接起来,生产可执行文件,文件扩展名为 .exe;4、执行。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 4 页,共 27 页 - - - - - - - - - 第二章 程序的灵魂算法2
11、3 2.1 算法 24 1、算法指为求解某一问题而采用的具体方法 和步骤 。2、两类算法数值运算算法 和非数值运算算法3、算法的特性有穷性 、确定性 、有效性 等4、算法描述文字描述法 (如伪代码描述算法) 、图形描述法 (如流程图和NS流程图描述算法) 。2.2 算法的三种基本结构顺序、选择、循环2.3 结构化程序设计方法42 1、自顶向下首先对问题进行分析,确定算法思路。2、逐步细化根据算法思路,制定原始算法流程,并不断细化流程。3、模块设计分解算法流程,将功能相对独立的部分划分为一个模块。4、结构化编码利用高级语言正确实现3 种基本结构。第三章 数据类型运算符与表达式48 3.1 C 语
12、言的基本元素 48 1、符号集 C 语言使用的基本符号。2、标识符 用来标记常量、变量、函数及文件名字的字符序列。3、关键字 C 程序规定的, 具有特定含义、 专门用作语言特定成分的一类标识符。 ANSI 推荐的 C 语言关键字是32 个。关键字全部应该小写。3.2 C 的数据类型 48 数据是操作的对象,数据类型是指数据的内在表现形式。如(数据代码、存储、运算) 。1、基本类型 :整型、字符型、实型。2、构造类型 :在基本类型的基础上,按照某种构成规则 构造而成 的类型。 数组、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料
13、- - - - - - - - - - - - - - - 第 5 页,共 27 页 - - - - - - - - - 结构体、共用体、枚举型。3、指针类型 :用于存储地址的一类数据类型。4、空类型 :编译器根据变量的数据类型,给变量分配存储单元。3.3 常量与变量 48 1、符号常量符号常量在其作用域内不能改变,也不能被赋值。2、变量变量由变量名 和变量值 标识。?变量名实际上是一个符号地址 ,编译连接程序时给每个变量名 分配一个 内存地址 ,当程序访问变量值时,实际上是通过变量名找到相应的内存地址,从其存储单元中读取数据。3.4 基本类型1、整形数据 在内存中的存放,是以补码形式 存放的
14、。2、实型数据 :单精度双精度。?在内存中以指数形势存放。?若数据超过有效位, 则超过 C 语言规定有效位的数据将被舍去,故产生误差。3、字符型数据 :用一个字节存储单元存储。即将字符的ASCII码存储到内存单元中。?用单引号括起来的一个字符。?转义字符特殊字符常量 或者 控制字符常量 ,它们都以“”开头。?Char、unsigned char 区别: char 用 7 位数表示,最大表示编码为127 的字符;unsigned char 用 8 位数表示,最大表示编码为255 的字符。?字符数据与整型数据可以相互赋值。?字符数据可以以字符数据输出,也可以以整型数据形式输出。4、字符串常量 :C
15、 语言中,必须是用字符数组 来保存字符串常量。在内存中顺序存储 。?用一对双引号括起来的字符序列。?每个字符串常量结尾以一个字符 0 作为 结束标记 。 (一般由系统自动加上)。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 6 页,共 27 页 - - - - - - - - - 3.5 变量 63 1、自动变量 在函数体内或复合语句中定义的非静态变量称为自动变量 。?C 语言编译时,不对自动变量赋初值。?当程序执行到自动变量的作用域时,程序才为自动变量分配空间。
16、当定义自动变量的函数或复合语句执行结束后,程序释放自动变量的存储空间。?自动变量保存在程序的动态存储空间 。2、静态局部变量在函数体内或复合语句中用static 定义的变量称为静态局部变量 。?C 语言编译时,对静态局部变量赋初值。?静态局部变量存储在程序的 静态存储空间 。?静态局部变量在程序的 整个运行期间 均占用程序的静态存储空间 ,直到程序退出后才释放存储空间。3、寄存器变量 用 register 声明的变量。4、外部变量(全局变量)在函数的外部定义的变量。它的作用域是从定义处开始,到本程序文件的末尾结束,在此作用域内,全局变量可以为程序的各个函数引用。?C 语言编译时,对全局变量赋初
17、值。?全局变量 存储在程序的静态存储空间 。?全局变量 在程序的 整个运行期间均占用程序的 静态存储空间,直到程序退出后才释放存储空间。注意:( 1)当引用本源文件后面定义的全局变量或引用在其他源文件中定义的全局变量是,应在引用位置前,利用extern 声明该全局变量,以告诉编译器编译时,引用的是一个 外部变量 ,在编译器连接时,将引用的外部变量的作用域扩展到本文件extern 声明处。( 2)用 static 声明的全局变量,不能被其他文件引用。注意:( 1)变量声明 分为 定义性声明 和引用性声明 。( 2)一般把建立存储空间的声明称为变量定义 ,把不需要建立存储空间的声明成为 变量声明。
18、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 7 页,共 27 页 - - - - - - - - - 3.6 不同类型数据间的混合运算?不同类型数据进行混合运算时 ,不同类型的数据要先转换成 同一类型 ,按照类型级别由低到高(char, short int unsigned long double; float double)的顺序进行转换。?强制类型转换 (类型名)表达式 。强制类型转换也就是将存储数据的内存单元 强制转换为另一种数据类型的单元大小。即强制将存
19、放数据的内存单元 改变。?赋值时进行类型转换:将数据复制给变量时,将会将数据强制转换为要赋值变量的类型。 一般短类型转换为长类型时,进行符号扩展 ;长类型转换为短类型时,仅 赋值低位 ,难以保证数据的正确性。3.7 函数的调用过程(补充)?C 函数其实就是一个程序模块。?C 函数在编译时,单独编译成一个指令模块,在函数模块开始处定义保护现场指令 ,将用到的CPU 寄存器压入堆栈。在返回时定义了恢复现场指令,将堆栈数据恢复到CPU 寄存器。?在调用函数时,一般利用堆栈传递输入参数;利用EAX 传递输出参数 ,注意在函数调用完成后,要维持堆栈平衡 ,且函数返回输出参数在EAX 中,在使用输出参数前
20、,不要改变EAX 的值。第四章 最简单的 C 程序设计顺序程序设计77 4.1 字符数据的输入输出1、C 语言没有输入输出语句,IO 操作通过调用系统函数实现。2、在程序的开头,要有:#include “stdio.h”或 #include ,预定义语句,用来引用头文件,在编译时将头文件中的函数原型声明 添加到源文件中。默认输出设备显示屏,默认输入设备键盘。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 8 页,共 27 页 - - - - - - - - - 第五
21、章 选择结构的程序设计97 第六章 循环结构程序设计6.1 语句标号语句标号 用于定义程序中的某个位置 ,用 标识符表示 ,不能只用数字。6.2 break 语句和 continue 语句1、break 语句结束循环语句和switch 语句。2、continue 结束本次循环,即忽略循环体中剩余的语句。第七章 数组 132 7.1 构造类型构造类型 是 由基本类型 按照一定规则构造而成的 。 (如数组、结构体、共同体、枚举型)构造类型的每个分量(元素),是一个变量,它可以是一个简单类型或者构造类型。构造类型的分量占用相邻的存储空间。7.2 数组 133 1、数组是有序数据 的集合,数据元素类型
22、相同,顺序存储,占用相邻的存储空间。2、数组数组必须先定义后引用。静态数组变量定义时编译器自动初始化数据元素为0,动态数组变量在程序执行时分配存储空间,在未被赋值初始化之前其值随机。3、C 语言只能 逐个引用数组元素,不能一次引用整个数组。4、数组引用是“数组名+下标”引用,数组下标均为整数。如a2。7.3 二维数组1、数组元素为数组。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 9 页,共 27 页 - - - - - - - - - 2、在内存中,C 语言的二
23、维数组中数组元素的存放顺序是按行存放 的。3、二维数组引用是“数组名+下标 +下标” 。如 a12 。7.4 字符串字符数组1、一般用 0 来标识字符串结尾。0 占用一个字符变量空间。2、用 字符串赋值 字符数组时, C 编译器在字符串后自动加0 赋给字符数字。3、字符数组可以一次引用整个字符串数组。如整个字符串(数组)的输入输出,用%s 格式, 且在输入字符数组时,用数组名代表数组的首地址,对于二维数组, 仅仅写行下标不写列下标,也可以代表给行数组的首地址。在用 %s 输入输出字符串数组时,遇到0 结束。7.5 字符串处理函数#include 1、gets(字符数组名)从键盘输入一个字符串(
24、以回车结束 ) ,并返回字符 数组的起始地址。如 get(str) 。2、puts(字符数组名/字符串)将数组中的字符串(0 结尾的字符序列)输出到终端上,输完换行 。如 puts(str) ,puts( “ok” ) 。3、strcpy(目的字符数组1 名,源字符串 /字符数组2 名)拷贝时,将“0”一起拷贝过去。4、strcat(字符数组1 名,字符串 /字符数组2 名)将字符串 /字符数组2 连接到字符数组1 中。连接时,编译器去掉字符数组1 的“ 0” 。5、strcmp(字符串 /字符数组1 名,字符串 /字符数组2 名)比较字符串 /字符数组 1 名 和字符串 /字符数组2 名的大
25、小。字符串 /字符数组1字符串 /字符数组2,返回正数字符串 /字符数组1=字符串 /字符数组2,返回 0 字符串 /字符数组1字符串 /字符数组2,返回负数。名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -精心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 10 页,共 27 页 - - - - - - - - - 第八章 函数 153 8.1 c 程序的结构 154 1、一个 C 程序可以分为若干个函数。2、每个程序只能有一个主函数,C 程序的执行从main 函数开始, 从 main 函数结束。3、函数间可以互相
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年C语言程序设计学习笔记 2022 语言程序设计 学习 笔记
限制150内