(完整)C语言谭浩强学习笔记

上传人:山外****雨 文档编号:139928907 上传时间:2020-07-25 格式:PDF 页数:50 大小:2.08MB
返回 下载 相关 举报
(完整)C语言谭浩强学习笔记_第1页
第1页 / 共50页
(完整)C语言谭浩强学习笔记_第2页
第2页 / 共50页
(完整)C语言谭浩强学习笔记_第3页
第3页 / 共50页
(完整)C语言谭浩强学习笔记_第4页
第4页 / 共50页
(完整)C语言谭浩强学习笔记_第5页
第5页 / 共50页
点击查看更多>>
资源描述

《(完整)C语言谭浩强学习笔记》由会员分享,可在线阅读,更多相关《(完整)C语言谭浩强学习笔记(50页珍藏版)》请在金锄头文库上搜索。

1、天不造人上人 , 亦不造人下人福泽谕吉 1 C 语言谭浩强版笔记 第一章 程序设计和 C语言 1、计算机能直接识别和接受的二进制代码称为机器指令 ,机器指令 的集合就是该计算机的 机器语言。 2、语言的发展历史:机器语言符号语言高级语言 3、高级语言的发展:非结构化语言结构化语言面向对象的语 言 4、C语言的祖先是 BCPL语言 5、在字符串中的 / 和/* 都不作为注释的开始。而是作为字符串的一 部分。 【但是在 vc+6.0 中/ 显示编译错误】 6、不要以为在 max函数中求出最大值z 后就会自动地作为函数值返 回调用处,必须用return语句指定将哪个值作为函数值。也不要不 加分析地在

2、所有函数后面都写上return 0 7、一个程序由一个或多个源程序文件组成 8、全局声明:即在函数之外进行的数据声明,在函数外面声明的变 量称为全局变量。例如把int a,b,sum;放到 main 函数的前面 9、函数是 C程序的主要组成部分,编写C程序的工作主要就是编写 一个个函数 10、一个 C语言程序是由一个或多个函数组成的,其中必须有且只有 一个 main 函数 11、一个小程序只包含一个源程序文件,在一个源程序文件中包含若 天不造人上人 , 亦不造人下人福泽谕吉 2 干个函数(其中一个为main 函数) ,若程序规模太大,可以使一个程 序包含若干个源程序文件, 每个源程序文件又包含

3、若干个函数【一个 源程序文件就是一个程序模块,一个程序分成若干个程序模块】 12、在进行编译时是以源程序文件为对象进行的【分别对各源程序文 件进行编译得到相应的目标程序, 然后再将这些目标程序连接成为一 个统一的二进制可执行程序】 13、C语言的这种特点使得容易实现程序的模块化 14、一个函数名后面必须跟一对圆括号,括号内写函数的参数名及其 类型。如果函数没有参数, 可以写 void 或空括号【如 int main(void) 或 int main()】 15、void dump()它是一个空函数,但是是合法的 16、程序总是从 mian 函数开始执行的,不管位置在哪儿 17、程序中对计算机的

4、操作是由函数中的C语句完成的 18、二进制目标程序在visual C+ 中的后缀为 .obj 19、可执行程序在 visual C+ 中的后缀为 .exe 20、 一个源程序经过编译后得到的目标程序要经过连接阶段与函数库 进行连接才能生成可执行文件 21、程序设计的任务: 问题分析设计算法编写程序对源程序 进行编辑、编译和连接运行程序,分析结果编写程序文档 第二章 算法 1、对数据的描述:在程序中要指定用到哪些数据类型以及这些数据 天不造人上人 , 亦不造人下人福泽谕吉 3 类型和数据的组织形式,这就是数据结构 。 2、对操作的描述:即要求计算机进行操作的步骤,也就是算法。 3、算法 +数据结

5、构 =程序 4、算法是灵魂,数据结构是加工对象,语言是工具,编程需要采用 合适的方法。 5、算法的概念:为解决一个问题而采取的方法和步骤。 6、计算机算法可分为两大类:数值运算算法和非数值运算算法【数 值运算用于求数值解,非数值运算用于事务管理领域】 7、算法的特性:有穷性确定性有零个或多个输入有一个或 多个输出有效性 8、怎样表示一个算法: 自然语言、传统流程图、 结构化流程图、 伪代 码等 9、连接点就是将画在不同地方的流程图连起来,流程图别忘记画箭 头。 基本结构的特点: 只有一个入口只有一个出口结构内的每一部 分都有机会被执行到结构内不存在死循环 10、区分当型和直到型:前者先判断条件

6、成不成立,再执行下一步, 后者先执行,再判断条件 11、用 N-S图表示的算法都是结构化的算法,如果一个算法不能分解 为若干个基本结构,则它必然不是一个结构化的算法【N-S图又称盒 图】 12、结构化设计方法的基本思路:把一个复杂问题的求解过程分阶段 天不造人上人 , 亦不造人下人福泽谕吉 4 进行,每个阶段处理的问题都控制在人们容易理解和处理的范围内。 13、方法:自顶向下逐步细化模块化设计结构化编码 14、程序中的子模块一般不超过50 行 15、模块的独立性:使用一个模块完成一项功能,耦合性越少越好 16、 结构化程序设计方法用来解决人脑思维能力的局限性和被处理问 题的复杂性之间的矛盾 第

7、三章 最简单的 C程序设计 1、vc+把所有实数都作为双精度数处理。因此提醒用户:把双精度 常量赋给 float型变量会造成精度损失,知道怎么回事就行了 2、数据有两种表现形式:常量和变量 3、常量分为:整型常量(1000) 实型常量(十进制小数形式和指数形式 【12.34E3,E后面必须是整 数】 ) 字符常量(普通字符、转义字符) 字符串常量 符号常量 (#define PI 3.1416) 4、基本字符集中的每个字符必须用一个字节表示,空字符也占一个 字节,它的所有二进制位都是0 5、一个 tab 位置为 8 列 6、 101代表八进制数101 的 ASCII 字符 , 即A ( 十进制

8、 65), x 41代表十六进制数41 的 ASCII 字符, 也是A, 0 天不造人上人 , 亦不造人下人福泽谕吉 5 或者 000是代表 ASCII 码为 0 的控制字符 , 即空操作字符 7、单撇号内只能包含一个字符, 双撇号内可以包含一个字符串 8、符号常量不占内存,只是一个临时符号,在预编译后这个符号就 不存在了,故不能对符号常量赋以新值 9、变量必须先定义后使用 10、常变量 const int a = 3,表示 a 被定义为一个整型变量,指定 其值为 3,而且在变量存在期间其值不能改变,常变量不能出现在赋 值号的左边。例如上面一行不能写成: const int a; a=3; 可

9、以用表达式对常变量初始化,如 const int b=3+6, c=3*cos(1.5); 天不造人上人 , 亦不造人下人福泽谕吉 6 11、标识符只能由字母、数字和下划线组成,且第一个字符必须是字 母或下划线 12、基本类型和枚举类型变量的值都是数值,统称为算数类型 算数类型和指针类型统称为纯量类型(因为其变量的值是以数字来 表示的) 枚举类型是程序中用户定义的整数类型 数组类型和结构体类型统称为组合类型(共用体类型不属于组合类 型,因为在同一时间内只有一个成员具有值 13、TC2.0 为每个整型数据分配2 个字节( 16 个二进位);VC+ 为每 个整型数据分配 4 个字节( 32 位)

10、14、求负数的补码的方法:先将此数的绝对值写成二进制形式,然后 对其后面所有各二进位按位取反,再加1 15、取值范围 天不造人上人 , 亦不造人下人福泽谕吉 7 16、如果既未指定为 signed 也未指定为 unsigned 类型,默认为有符 号类型 17、 只有整型(包括字符型)数据可以加 signed 或 unsigned 修饰符, 实型数据不能加 18、实型数据取值范围: 19、在一个整数末尾加大写字母L 或小写字母 l ,表示它是长整型 20、浮点型常量(小数或指数)在内存中都以指数形式储存 21、C程序中的实型常量都是双精度浮点型常量 float a = 3.14159; 在进行编

11、译时,对float变量分配4 个字节,但对于浮点型常量 3.14159,则按照双精度处理,分配8 个字符 22、如果除数或被除数中有一个是负值,则舍入的方向不固定,一般 采取“向零取整”的方法,即-5/3=-1 23、% 运算符要求参加运算的对象是整数,除% 以外的运算符的操作数 都可以是任何算数类型 24、+i 是先执行 i=i+1 后,再使用 i 的值;而 i+ 是先使用 i 的值 后,再执行 i=i+1 。 天不造人上人 , 亦不造人下人福泽谕吉 8 设已作声明: int i=6,a; 25、算数表达式和运算符的优先级与结合性 天不造人上人 , 亦不造人下人福泽谕吉 9 26、不同类型数

12、据间的混合运算规律为: (取精度较高的) +,*,/ 运算的两个数中有一个为float或 double 型,结果是 double 型,因为系统将所有float型数据都先转换为double 型,然 后进行运算。 如果 int型与 float或 double 型数据进行运算,先把int型和 float型数据转换为 double 型,然后进行运算,结果是double 型。 字符(char)型数据与整型数据进行运算,就是把字符的ASCII 代 码与整型数据进行运算。 字符型可以直接与整型数据进行运算。如果 字符型数据与实型数据进行运算,则将字符的ASCII 代码转换为 double 型数据,然后进行运

13、算。 27、强制类型转换:一般形式为(类型名) (表达式),在强制类型转 换时,得到一个所需类型的中间数据,而原来的变量的类型未发生变 化 28、左值都可以作为右值,但算数表达式(a+b)或常量不能为左值 29、a=(a=b)=3*4;/ 报错,左侧的操作数必须是左值 天不造人上人 , 亦不造人下人福泽谕吉 10 30、C语言的截断 i=289 0000 0001 0010 0001 c=33 0010 0001 31、在 if条件中可以包含赋值表达式,但不能包含赋值语句 32、一般变量初始化不是在编译阶段完成的【只有在静态储存变量和 外部变量的初始化是在编译阶段完成的】 ,而是在程序运行时执

14、行本 函数时赋予初值的,相当于执行一个赋值语句。 33、在 scanf 函数中,输入的数字可以用空格分开 34、在 printf函数中,例如%7.2f 代表在输出时, 指定数据占 7 列, 其中小数占 2 列 35、C语言本身不提供输入输出语句 (printf和 scanf 不是 C语言的 关键字。而只是库函数的名字) 36、如果在源程序中有printf函数,在编译时并不把它翻译成目标 指令,而是在连接阶段与系统函数库相连接后,在执行阶段中调用库 函数中的 printf函数 37、头文件 称为标准模式, ”编译系统先在用户的当前目录查找 38、由于 printf是函数,因此,“格式控制字符串”

15、和“输出表列” 实际上都是函数的参数 39、float型数据的存储单元只能保证6 位有效数字, double 是 15 天不造人上人 , 亦不造人下人福泽谕吉 11 位 40、%-m.nf,输出的数据向左对齐 41、e 格式符是以指数形式输出实数,默认小数部分6 位,指数部分 5 列 42、格式字符含义(注意大小写) : 43、m.n中的 n 对实数表示输出n 位小数,对字符串表示截取的字符 个数 44、如果想输出字符 % ,在“”中用连续2 个% 表示: (经检测只输一个不显示) 45、在 scanf 函数中,如果两个 %f间有 2 个空格,在输入时,两个数 天不造人上人 , 亦不造人下人福

16、泽谕吉 12 据之间应有 2 个或更多的空格 46、 用%c格式声明输入字符时, 空格字符和转义字符中的字符都作为 有效字符输入 47、 putchar 函数是输出字符的函数, 而不是整数,例如 putchar(66) 输出字符 B,putchar 可以是字符常量,字符变量,整型常量,整型 变量( ASCII 码范围内) 48、putchar (getchar () ) ;将接收到的字符输出 49、printf( “%c ” ,getchar () ) ;先从键盘输入一个字符, 然后用 %c 的格式输出 第四章 选择结构程序设计 1、if 复合语句应当用花括号括起来 2、所谓关系运算就是比较运算 3、关系运算符中等于与不等于优先级最低 4、算术高于关系高于赋值,关系表达式的值是一个逻辑值,真或假 【d=ab;如果 a 大于 b 为真,则 ab的值为 1,所以 d 为 1】 5、逻辑运算符中,非运算符(! )和单目的算术运算符同级,高于双 目的算术运算符,优先于关系运算符

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号