教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 文库大全 > 教育文库 >

C语言程序设计(谭浩强)-学习笔记 word(3)

来源:网络收集 时间:2026-07-14
导读: 个人学习谭浩强 的 c语言程序设计 笔记 3.6 不同类型数据间的混合运算 不同类型数据进行混合运算时,不同类型的数据要先转换成同一类型,按照 类型级别由低到高(char,short—int——unsigned—long—double;floa

个人学习谭浩强 的 c语言程序设计 笔记

3.6 不同类型数据间的混合运算

不同类型数据进行混合运算时,不同类型的数据要先转换成同一类型,按照

类型级别由低到高(char,short—int——unsigned—long—double;float—double)的顺序进行转换。

强制类型转换——(类型名) 表达式。强制类型转换也就是将存储数据的

内存单元强制转换为另一种数据类型的单元大小。即强制将存放数据的内存单元改变。

赋值时进行类型转换:将数据复制给变量时,将会将数据强制转换为要赋值

变量的类型。一般短类型转换为长类型时,进行符号扩展;长类型转换为短类型时,仅赋值低位,难以保证数据的正确性。

3.7 函数的调用过程(补充)

C函数其实就是一个程序模块。

C函数在编译时,单独编译成一个指令模块,在函数模块开始处定义保护现

场指令,将用到的CPU寄存器压入堆栈。在返回时定义了恢复现场指令,将堆栈数据恢复到CPU寄存器。

在调用函数时,一般利用堆栈传递输入参数;利用EAX传递输出参数,注

意在函数调用完成后,要维持堆栈平衡,且函数返回输出参数在EAX中,在使用输出参数前,不要改变EAX的值。

第四章 最简单的C程序设计——顺序程序设计77

4.1 字符数据的输入输出

1、C语言没有输入输出语句,IO操作通过调用系统函数实现。

2、在程序的开头,要有:#include “stdio.h”或 #include <stdio.h>,预定义语句,用来引用头文件,在编译时将头文件中的函数原型声明添加到源文件中。

默认输出设备——显示屏,默认输入设备——键盘。

个人学习谭浩强 的 c语言程序设计 笔记

第五章 选择结构的程序设计97

第六章 循环结构程序设计

6.1 语句标号

语句标号——用于定义程序中的某个位置,用标识符表示,不能只用数字。

6.2 break语句和continue语句

1、break语句结束循环语句和switch语句。

2、continue 结束本次循环,即忽略循环体中剩余的语句。

第七章 数组132

7.1 构造类型

构造类型——是由基本类型按照一定规则构造而成的。(如数组、结构体、共同体、枚举型)

构造类型的每个分量(元素),是一个变量,它可以是一个简单类型或者构造类型。

构造类型的分量占用相邻的存储空间。

7.2 数组133

1、数组——是有序数据的集合,数据元素类型相同,顺序存储,占用相邻的存储空间。

2、数组——数组必须先定义后引用。静态数组变量定义时编译器自动初始化数据元素为0,动态数组变量在程序执行时分配存储空间,在未被赋值初始化之前其值随机。

3、C语言只能逐个引用数组元素,不能一次引用整个数组。

4、数组引用是“数组名+下标”引用,数组下标均为整数。如a[2]。

7.3 二维数组

1、数组元素为数组。

个人学习谭浩强 的 c语言程序设计 笔记

2、在内存中,C语言的二维数组中数组元素的存放顺序是按行存放的。

3、二维数组引用是“数组名+下标+下标”。如a[1][2]。

7.4 字符串——字符数组

1、一般用\0来标识字符串结尾。\0占用一个字符变量空间。

2、用字符串赋值字符数组时,C编译器在字符串后自动加\0赋给字符数字。

3、字符数组可以一次引用整个字符串数组。如整个字符串(数组)的输入输出,用%s格式,且在输入字符数组时,用数组名代表数组的首地址,对于二维数组,仅仅写行下标不写列下标,也可以代表给行数组的首地址。

在用%s输入输出字符串数组时,遇到\0结束。

7.5 字符串处理函数 #include <string.h>

1、gets(字符数组名)

从键盘输入一个字符串(以回车结束),并返回字符数组的起始地址。

如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名的大小。

字符串/字符数组1>字符串/字符数组2,返回正数

字符串/字符数组1=字符串/字符数组2,返回0

字符串/字符数组1<字符串/字符数组2,返回负数。

个人学习谭浩强 的 c语言程序设计 笔记

第八章 函数153

8.1 c程序的结构154

1、一个C程序可以分为若干个函数。

2、每个程序只能有一个主函数,C程序的执行从main函数开始,从main函数结束。

3、函数间可以互相调用,但主函数不能被调用。

4、从用户角度看,函数可分为标准函数(库函数)和自定义函数。其中,编译器仅编译自定义函数,在连接时才将标准库函数的目标代码连接到程序。

5、一个C源程序由一个或多个文件构成,一个源程序文件是一个编译单位。

8.2 函数调用参数传递

1、值传递——如数值形参。此时,将实参值复制压栈,被调函数对复制到栈中的数值进行操作,不改变原来实参值。

2、地址传递——如数组形参(指针形参),此时,将实参数组的首地址压栈,被调函数引用实参数组的首地址,找到实参数组,对实参数组进行操作,改变实参数组值。即形参数组和实参数组共享同一单元。

8.3 函数变量的作用范围

1、局部变量——在定义局部变量的范围内有效。当局部变量重名时,有效范围小的优先。

在函数内部定义局部变量

函数的形式参数

在某个复合语句中定义的变量。

2、全局变量——在函数之外定义的变量。有效范围是从定义变量的位置开始到源文件结束。

8.4 变量的存储类别

变量的存储类别,即生存期。内存中供用户使用的存储空间包括:程序区、静态存储区、动态存储区。

个人学习谭浩强 的 c语言程序设计 笔记

1、静态存储区——在编译时分配空间,在程序运行完后才释放存储空间。存储静态局部变量和全局变量。

局部静态变量在编译时赋初值,在执行时可改变该值,但该存储空间一直保

存到程序结束。

定义局部静态变量,如果没有赋初值,编译时会自动赋默认初值。

局部静态变量只能在定义它的函数中使用。

全局变量都是静态的。

利用extern 外部变量方式表示变量的定义在别的文件中,提示编译器遇到此

变量时,在其他模块中寻找其定义。而函数则是利用函数原型来声明。

用static 关键字说明一个不能在其他源文件中引用的全局变量。即静态全局

变量在声明它的整个文件都是可见的,但是在文件之外是不可见的。

2、动态存储区——仅在在执行时分配空间,用完后释放存储空间。存放自动变量和形式参数。

寄存器变量——用register关键字说明。寄存器变量对寄存器的占用是动态

的。

第九章 预处理命 …… 此处隐藏:2471字,全部文档内容请下载后查看。喜欢就下载吧 ……

C语言程序设计(谭浩强)-学习笔记 word(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wenku/108289.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)