C语言基础教程读书笔记Word格式.docx
- 文档编号:13691870
- 上传时间:2022-10-12
- 格式:DOCX
- 页数:11
- 大小:28.01KB
C语言基础教程读书笔记Word格式.docx
《C语言基础教程读书笔记Word格式.docx》由会员分享,可在线阅读,更多相关《C语言基础教程读书笔记Word格式.docx(11页珍藏版)》请在冰豆网上搜索。
f-小数表示的浮点数;
e-指数表示的浮点数;
c-单个字符;
s-字符串;
7.intscanf(“(控制串)”,(参数表)),(参数表)是由一个或多个参数构成,多个参数使用时用逗号分隔,每个参数用地址值表示。
8.常用的输出函数:
1.输出一个字符函数putchar();
2.输出一个字符串函数puts();
3.标准格式输出函数printf();
9.intprintf(“(字符串)”,(参数表)),在格式标识符(%)与格式说明符之间可使用修饰符,用来限制输出数据的宽度和对齐方式。
10.数字.数字-小数点前面的数字用来表示输出数据的最小域宽,它用来指出输出数据的最小宽度,小数点后面的数字用来表示输出数据的精度,对浮点数来讲表示小数点后的位数,对字符串来讲表示输出字符串的最大个数,并将超过的部分截掉,对整数来将表示输出的最大位数超过部分被截去。
(很少使用)
11.l-用于格式说明符d\o\x前边表示长整数。
用于e\f\g前面表示双精度浮点数。
12.—-负号用来表示数据在域宽中左对齐,若不用负号,则表示右对齐。
13.在IBMPC的16位微机中,单精度浮点数占4个字节(32位)可提供7位有效数字,取值范围在10-38-1038之间,双精度浮点数占8个字节(64位),可提供15-16位有效数字。
14.一个字符数组中存放的是否字符串,关键取决于给它赋值或赋初值的情况,如果对一个字符数组在赋值或赋初值时将字符’\0’赋给了某个元素,则该字符数组存放的是一个以’\0’结束的字符串。
15.求余运算符的功能是舍掉两整数相除的商,只取其余数,当两个整数中有一个为负数,则按照下述规则处理:
余数=被除数-除数*商。
16.增1运算符作用于一变量,可使该变量的值增1,如果前缀作用于变量,则其表达式的值为原变量值增1,如果后缀作用于变量,其表达式的值为原变量的值。
17.—>
是用来表示指向结构/联合变量的指针的成员的。
18.数组名本身是一个地址值了。
19.EOF是一个字符常量,其值被定义为-1。
20.在包含&
&
和||运算符的逻辑表达式的求值过程中,当计算出某个操作数的值后就可以确定整个表达式的值,计算便不再继续进行。
21.switch(整型表达式),要求其表达式的值为int型数,否则转换成int型数。
case(整常型表达式),要求表达式用int型常量组成,不得含有变量,一般用数字或字符组成。
22.goto语句最常见的用法一是用来与if语句构成循环结构,二是用来以多重循环最内重一次退到最外边。
23.在循环体中,遇到break语句,则退出该重循环。
24.continue语句的功能只是用在循环体中,执行该语句则结束本次循环,再去判断是否继续下次循环。
25.return语句有两种格式:
不带返回值格式和带返回值格式。
该语句用在被调用函数中,在被调用函数中执行到该语句时,将结束对被调用函数的执行,并把控制器返回给调用函数,继续执行调用函数后边的语句。
在带返回值的情况下,将return语句所带的表达式的值返回给调用函数,作为调用函数的值。
26.在实际应用中,关于形参和实参的使用应注意几点:
1.定义函数时,所指定的形参.数在该函数被调用前是不被分配内存单元的,只有在被调用时,才给形参分配单元,并且赋值,一旦调用结束,形参所占内存单元被释放。
2.函数调用时所用的实参是一个具有确定值的表达式,调用时先计算表达式的值,再将其值传递给对应的形参。
3.函数的形参是属于定义它的函数的局部变量,因此,允许一个函数的形参和实参同名,它们在内存中占有不同的存储单位。
4.函数调用要求形参和实参在个数上相等,并且对应参数类型相同。
27.C语言中函数的定义不允许嵌套,就是说不允许在函数中定义函数。
C语言程序中若干个函数都是平行的、独立的,函数之间是通过调用联系的,函数的调用是允许嵌套的,就说说在调用某个函数的过程中还允许调用其他函数。
28.并非所有的问题都可采用递归调用的方法,只有满足下列要求的问题才可使用递归调用方法来解决:
能够将原有的问题化为一个新的问题,而新的问题的解决方法与原有问题的解决办法相同,按这一原则依次化分下去,最终化分出来的新的问题可以解决。
29.用递归函数编写的程序执行起来在时间和空间的开销上都比较大。
30.语句标号属于函数级。
符号常量属于文件级。
31.程序级是指作用范围(即作用域)在整个程序内,包含该程序的所有文件。
同样,文件级的是指作用范围在定义它的文件中,往往是从定义时开始。
函数级的是指作用范围在定义它的函数体内。
程序段级是指作用域在定义它的分程序内。
32.存储类是指数据被存放的地方不同而进行的分类。
C语言中,有的变量可以被存在CPU的通用寄存器中,多数的数据是存在内存中,内存中的数据又被氛围静态存储区和动态存储区。
变量按其作用域可分为全局变量和局部变量,按其寿命可分为静态存储变量和动态存储变量。
33.C语言规定变量的存储类分为4种:
1.自动存储类变量(auto)。
2.寄存器存储类变量(register)。
3.外部类变量(extern).4.静态类变量(static)。
34.自动类变量的作用域是在定义它的函数体或分程序内,一旦退出了该函数体或分程序,则是不可见的。
这类变量的寿命是短的,它被存放在内存的动态存储区内。
每次进入定义它的分程序或函数体内被动态分配存储区域,一旦退出该程序或函数体内,所占用的内存区域被释放掉,即不存在了。
35.寄存器类变量的作用域是在定义它的函数体或分程序内,寿命是短的。
这类变量与自动类变量的区别在于寄存器变量有可能被存放在CPU的通用寄存器中。
若是则将大大提高对数据的存取速度。
定义寄存器变量时,应注意如下几点:
1.定义的寄存器变量的个数不能太多,空闲的通用寄存器数目是有限的。
2.由于通用寄存器数据长度的限制,一般定义为寄存器的数据类型为char\int型。
3.通常选择使用频率较高的变量被定义为寄存器类,将有利于提高效率,如在多重循环程序的最内重循环的循环变量定义为寄存器类变量。
36.外部类变量的作用域是整个程序,包括组成该程序的所有文件,外部类变量的作用域最大,寿命是长的,其被存放在内存的静态存储区,某个程序的外部变量的寿命直到程序结束才被释放。
37.函数之间传递信息有如下三种方式:
1.返回值方式,安全可靠,但只能返回一个值。
2.传址调用方式,既安全又可传递多个值。
3.外部类变量方式,虽可传递多个值,但是不安全。
38.静态类变量又分为内部静态类和外部静态类两种。
内部静态类的作用域同于自动类,即在定义它的函数或分程序内是可见的。
同于外部类,这类变量被存放在内存的静态存储区。
这类变量被定义后,一直存在到程序结束才被释放,外部静态类变量是在定义它的文件中,并且从定义开始。
39.外部静态类变量定义在函数体外,即在某个文件中,在文件后文件首或文件尾都可以,也可以在文件中间。
但是它的作用域是从定义时起。
40.外部类变量在引用前一般要进行说明,说明的方法是在变量名前面加上说明符extern,这种说明可以放在函数体内,也可放在函数体外,有时引用外部类变量可以不说明,但在下面两种情况下必须说明:
1.在一个多文件程序中,某个文件中定义了外部类变量,如要在另一个文件中引用,则引用前必须说明。
2.在一个文件中,如果是先引用外部类变量,后定义外部类变量,则引用前必须说明。
41.自动类和寄存器类变量定义后在没有赋值或赋初值之前,其值不可使用,是无意义的数据。
外部类和静态类变量定义后在没有赋初值或赋值之前,它们有默认值,对int型变量为0,对浮点型变量为0.0,对char型变量为空。
42.全局变量是指作用域在文件级以上的,它包含外部类变量和外部静态类变量。
局部变量是指作用域在函数级以下的,另外,函数的形参也属于局部变量。
43.内部函数的只能在定义它的文件内调用,不能在一个文件内调用同一程序中的另一个文件中的内部函数。
内部函数的作用域是文件级的,而外部函数的作业域是程序级的。
44.预处理功能包含宏定义、文件包含、条件编译三部分。
类型定义是通过使用类型定义语句将已有类型定义成新的标识符所代表的类型。
45.预处理命令不同于C语言的语句,它们具有如下特点:
1.多数预处理命令只是一种替代的功能,这种替代是简单的替换,而不进行语法检查。
2.预处理命令都是在通常的编译之前进行的,编译时已经执行完了预处理命令,即对预处理后的结果进行编译。
3.预处理命令后面不加分号。
4.凡是预处理命令都以井号(”#”)开头。
5.多数预处理命令根据它的功能而被放在文件开头为宜,但根据需要也可以放到文件的其他位置。
46.宏定义分两种,一种是简单的宏定义,它不带有参数,另一种是带参数的宏定义。
47.简单宏定义是定义一个标识符(宏名)来代表字符串,其使用注意事项:
1.宏名一般用大写字母,以便于与变量名区别。
2.宏定义的预处理功能中的一种命令,它不是语句。
若行末加了分号,则该分号将作为所定义的字符串的一部分来处理。
3.宏替换是一种简单的替换,替换时不作语法检查。
4.宏定义中的宏的作用域为定义该命令的文件,并从定义时起,到终止宏定义命令(#undef(标识符))为止。
5.宏定义可以嵌套,指在进行宏定义时,可以引用已定义的宏名。
6.一般编译系统对加有双引号的字符串的宏名不予替换。
7.一般编译系统在宏替换时,隐含一空格符,将前后两部分分开。
48.带参数的宏定义的格式如下:
#define(宏名)(参数表)(宏体),如#defineSQ(x)x*x,a=SQ(x),则a=5*5。
49.使用带参数宏定义该注意的事项:
1.宏定义时,宏名与左圆括号之间不能出现空格符,否则空格符后将作为宏体的一部分。
2.宏体中,各参数上加括号是十分重要的。
3.带参数的宏定义与函数的区别:
1.定义形式上不同,宏定义通过预处理命令define来定义。
2.处理时间上不同,宏定义是在编译预处理时处理的,而函数是在执行时处理的。
3.处理方式上不同,带参数的宏定义进行宏替换时,用实参来代表形参,而函数调用时是将实参的值赋给形参。
4.时间和空间上的开销不同,带参数的宏定义是在通常的编译之前完成替换的,它在该程序的目标代码的形成上并没有影响,函数调用是在执行时进行的,采用函数调用的方式可以减少该程序的目标代码,在空间开销上可以减少,但函数调用要有额外时间上的开销。
5.类型要求上不同,带有参数的宏定义对形参的类型不必说明,它没有类型的限制,而函数的形参在定义时必须进行类型说明。
50.宏定义主要用于下述几个方面:
1.符号常量的定义。
2.功能简单、使用频繁的情况下,用带参数的宏定义比用函数可以提高速度。
3.多数情况下,为书写简练、程序易读而采用宏定义。
51.文件包含命令是C语言程序常用的一个预处理命令,它的格式:
#include(文件名),它的功能就是将指定的被包含的内容放置在文件包含命令出现的地方,一般写在一个文件的开头,被包含的.h文件中往往是一些该程序所需要的一些说明或定义,它包括符号常量的定义、类型定义、带参数的宏定义、数组、结构、联合和枚举的定义等等,它还包含外部变量的定义,函数的定义和说明等。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 基础教程 读书笔记