C语言程序设计谭浩强(第四版)期末复习重点
- 格式:doc
- 大小:247.50 KB
- 文档页数:37
C语言最重要的知识点总体上必须清楚的:1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。
2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节 = 八个位.概念常考到的:1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、define PI 3.1415926; 这个写法是错误的,一定不能出现分号。
3、每个C语言程序中main函数是有且只有一个。
4、在函数中不可以再定义函数。
5、算法:可以没有输入,但是一定要有输出。
6、break可用于循环结构和switch语句。
7、逗号运算符的级别最低,赋值的级别倒数第二。
第一章 C语言的基础知识第一节、对C语言的基础认识1、C语言编写的程序称为源程序,又称为编译单位。
2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。
3、一个C语言程序有且只有一个main函数,是程序运行的起点。
第二节、熟悉vc++1、VC是软件,用来运行写的C语言程序。
2、每个C语言程序写完后,都是先编译,后链接,最后运行。
(.c---✍.obj---✍.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe 文件才可以运行。
(常考!)第三节、标识符1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了2、标识符分为关键字、预定义标识符、用户标识符。
关键字:不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
一、关键字和标识符关键字:int for if标识符:char str[30];int a; double b; str,a,b是标识符标识符命名规则:字母、数字、下划线、且数字不能开头3test 否tes_3 是u&54 否二、运算符优先级数学运算:+ - * / &关系运算:< > <= >= 低于数学运算逻辑运算:&& || !低于关系运算三、数据类型int char double float表示范围(有类型所占空间长度决定)类型转换:1)隐式转换:赋值时转换int a = 3.2;float b = 3; //a为3 b为3.0运算时转换任何数与float或double类型运算,都转为double2)强制转换:float a =3.2; int b = (int)a; //b为3四、面向过程编程:顺序结构:从上到下依次执行选择结构:if if...else if...else if...else switch分支结构:while() for() do...while();五、模块化编程(函数)函数的定义:返回类型函数名(参数列表)void myPrint(char s[]);int max(int a,int b);函数的调用:1、直接调用max(3,5);2、作为参数调用:printf("%d",max(3,5));3、作为条件调用:if(max(3,5)>2)eg://应用场合:给一个字符串,求数字个数helloChina5AAA6BBB'\n'while(scanf("%c",&tmp)==1 && tmp != '\n'){if('0'<=tmp && tmp<='9')cnt++;}或者:scanf("%s",str)//char str[50];int len = strlen(str);for(int i=0;i<len;i++){if('0'<=str[i] && str[i]<='9')cnt++;}形式参数和实际参数:函数头中的参数就是形式参数,用来点位;实际被处理的是实参局部变量和全局变量局部变量:定义中代码块{ }中的变量;可能在函数中,可能在if、while、for中只在局部有效,出代码块,消失全局变量:定义在代码块{ }之外,全局可用,一直存在。
C语言程序设计谭浩强期末复习重点一、C语言基础知识1.C语言概述:C语言的起源和发展,C语言的特点和应用领域。
2.程序的基本组成:程序、进程和线程的概念,C语言程序的基本结构。
3.常量和变量:数据类型的概念和分类,常量和变量的定义和声明,变量的作用域和生存期。
4.表达式和运算符:表达式的定义和分类,运算符的分类和优先级,表达式的求值和类型转换。
5.输入输出函数:标准输入输出库函数的使用,格式化输入输出的实现,文件的读写操作。
6.控制语句:条件语句、循环语句和跳转语句的使用,多重选择语句的嵌套和应用。
二、数组和字符串1.数组的概念和定义:一维数组和二维数组的定义,静态数组和动态数组的区别。
2.数组的输入和输出:数组的初始化和遍历,数组作为函数参数的传递,数组作为函数返回值的应用。
3.字符串的定义和操作:字符串的输入和输出,字符串的存储和长度,字符串的比较和拼接。
4. 字符串函数的使用:字符串函数库的介绍,字符串函数的功能和使用方法,如strlen、strcpy、strcat等。
三、函数和指针1.函数的定义和调用:函数的定义和声明,函数的参数传递和返回值,函数的重载和递归。
2.函数指针的概念和应用:函数指针的定义和声明,函数指针作为参数和返回值的使用。
3.指针的概念和运算:指针的定义和初始化,指针的运算和比较,指针和数组的关系。
4. 动态内存分配和释放:内存的动态分配和释放的方法,malloc、calloc和realloc函数的使用。
5.指针的应用:指针和函数的结合,指针和字符串的处理,指针数组和指向指针的指针的应用。
四、结构和文件1.结构体的定义和使用:结构体成员的定义和访问,结构体数组和指针的应用。
2.文件的读写和操作:文件的打开和关闭,文件的读写操作,文件指针的定位和偏移。
3.文件的管理和处理:文件的目录结构和存储方式,文件的读写权限和错误处理。
4.顺序文件和随机文件:顺序文件的读写方法,随机文件的读写方法,文件的打包和压缩。
C语言最重要的知识点总体上必须清楚的:1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。
2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节 = 八个位.概念常考到的:1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、define PI 3.1415926; 这个写法是错误的,一定不能出现分号。
3、每个C语言程序中main函数是有且只有一个。
4、在函数中不可以再定义函数。
5、算法:可以没有输入,但是一定要有输出。
6、break可用于循环结构和switch语句。
7、逗号运算符的级别最低,赋值的级别倒数第二。
第一章 C语言的基础知识第一节、对C语言的基础认识1、C语言编写的程序称为源程序,又称为编译单位。
2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。
3、一个C语言程序有且只有一个main函数,是程序运行的起点。
第二节、熟悉vc++1、VC是软件,用来运行写的C语言程序。
2、每个C语言程序写完后,都是先编译,后链接,最后运行。
(.c---→.obj---→.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。
(常考!)第三节、标识符1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了2、标识符分为关键字、预定义标识符、用户标识符。
关键字:不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
c程序设计第四版复习C程序设计第四版是计算机科学领域的经典教材,由Brian W. Kernighan和Dennis M. Ritchie共同撰写,通常被称为K&R C。
这本书不仅介绍了C语言的基本语法和编程技巧,还涵盖了高级编程概念和实践。
以下是对C程序设计第四版的复习要点:1. C语言基础- 变量和数据类型:理解整型、浮点型、字符型等基本数据类型及其使用。
- 运算符:熟悉算术运算符、关系运算符、逻辑运算符、位运算符等。
- 控制语句:掌握if语句、switch语句、while循环、for循环和do-while循环的使用。
2. 函数- 定义和调用:理解函数的定义方式和如何调用函数。
- 参数传递:了解值传递和引用传递的区别。
- 递归:学习如何使用递归解决复杂问题。
3. 数组- 一维数组:掌握数组的声明、初始化和访问。
- 多维数组:了解二维数组的声明和使用。
- 指针和数组:理解指针与数组的关系,以及如何使用指针操作数组。
4. 指针- 指针基础:理解指针的概念和指针变量的声明。
- 指针和函数:学习如何通过指针传递函数参数。
- 指针数组和函数指针:掌握指针数组的使用和函数指针的概念。
5. 结构体和联合体- 结构体:理解结构体的声明、初始化和成员访问。
- 联合体:了解联合体的概念和使用场景。
- 结构体和指针:掌握如何使用指针访问结构体成员。
6. 预处理器- 宏定义:学习如何使用#define进行宏定义。
- 文件包含:了解如何使用#include包含其他文件。
7. 输入和输出- 标准库函数:熟悉printf和scanf等标准输入输出函数。
- 格式化输入输出:掌握如何使用格式化字符串进行输入输出。
8. 动态内存分配- malloc和free:学习如何使用malloc进行动态内存分配和使用free释放内存。
9. 文件操作- 文件指针:理解文件指针的概念。
- 打开和关闭文件:掌握如何使用fopen和fclose操作文件。
C语言程序设计(第四版)复习资料C语言程序设计(第四版)复习资料C语言程序设计是计算机科学与技术专业中非常重要的一门课程,通过学习C语言,可以培养同学们良好的编程思维和解决问题的能力。
为了帮助同学们更好地复习和掌握C语言程序设计知识,提供一份详细的复习资料是非常有必要的。
本文将针对教材《C语言程序设计(第四版)》进行复习资料的整理,帮助同学们系统地复习重点知识点和考点。
一、概述C语言是一种通用的、面向过程的高级计算机编程语言,它具有语法简洁、功能强大、性能高效等特点。
本教材分为六个部分:基本类型和函数、选择结构、循环结构、数组与指针、字符串和结构、高级特性。
通过学习这些内容,同学们可以初步掌握C语言的基本知识和编程技巧。
二、基本类型和函数在C语言中,有一些基本类型和函数是我们必须要了解和掌握的。
首先,我们需要了解整型、浮点型、字符型等基本数据类型的特点和使用方法。
其次,掌握C语言常用的输入输出函数,如printf()和scanf()函数,这是进行数据输入和输出的基础。
此外,还需要理解C语言中的运算符和表达式,并能正确地使用它们进行计算和逻辑运算。
三、选择结构选择结构是C语言中非常重要的一部分,通过选择结构可以实现根据不同条件执行不同的代码块。
在《C语言程序设计(第四版)》中,详细介绍了if语句、switch语句等选择结构的使用方法和注意事项。
在复习选择结构时,同学们需要理解条件表达式的含义和使用方法,并能灵活地运用选择结构解决实际问题。
四、循环结构循环结构是C语言中常用的一种结构,通过循环结构可以重复执行一段代码,直到满足退出条件为止。
在本教材中,详细介绍了while循环、do-while循环和for循环的使用方法和注意事项。
复习循环结构时,同学们需了解循环的基本原理,掌握循环控制变量的更新和循环体的编写技巧。
五、数组与指针数组和指针是C语言中非常重要的概念,同时也是较难理解和掌握的部分。
在《C语言程序设计(第四版)》中,详细介绍了数组的概念、数组的声明和使用方法,以及指针的概念、指针的声明和使用方法。
第一章程序设计和C语言1.1.什么是计算机程序:一组计算机能识别和执行的指令。
只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工程序..作计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成。
1.2什么是计算机语言计算机语言:人和计算机交流信息的、计算机和人都能识别的语言。
计算机语言发展阶段:机器语言(由0和1组成的指令)符号语言(用英文字母和数字表示指令)高级语言(接近于人的自然语言和数学语言)面向过程的语言(非结构化的语言、结构化语言);面向对象的语言1.3C语言的发展及其特点C语言是一种用途广泛、功能强大、使用灵活的过程性编程语言,既可用于编写应用软件,又能用于编写系统软件。
因此C语言问世以后得到迅速推广。
C语言主要特点:语言简洁、紧凑,使用方便、灵活。
(只有37个关键字、9种控制语句;程序书写形式自由,源程序短)运算符丰富。
(34种运算符;把括号、赋值、强制类型转换等都作为运算符处理;表达式类型多样化)数据类型丰富。
(包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型;C99又扩充了复数浮点类型、超长整型、布尔类型;指针类型数据,能用来实现各种复杂的数据结构的运算。
)具有结构化的控制语句。
(如if…else语句、while语句、do…while语句、switch语句、for语句用函数作为程序的模块单位,便于实现程序的模块化;C语言是完全模块化和结构化的语言)语法限制不太严格,程序设计自由度大。
(对数组下标越界不做检查;对变量的类型使用比较灵活,例如,整型量与字符型数据可以通用;C语言允许程序编写者有较大的自由度,因此放宽了语法检查)允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作。
(C语言具有高级语言的功能和低级语言的许多功能,可用来编写系统软件;这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言)用C语言编写的程序可移植性好。
c语言第四版谭浩强著期末复习答案选择题1.一个C程序的执行是从 a 。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序的main函数开始,到本程序文件的最后一个函数结束 D) 本程序文件的第一个函数开始,到本程序main函数结束 2.以下叙述正确的是 c 。
A) 在C程序中,main函数必须位于程序的最前面B) C程序的每行中只能写一条语句C) C语言本身没有输入输出语句D) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 3.以下叙述不正确的是 d 。
A) 一个C源程序可由一个或多个函数组成B) 一个C源程序必须包含一个main函数C) C程序的基本组成单位是函数D) 在C程序中,注释说明只能位于一条语句的后面 4.C语言规定:在一个源程序中,main函数的位置 c 。
A) 必须在最开始 B) 必须在系统调用的库函数的后面 C) 可以任意 D) 必须在最后 5.一个C语言程序是由 b 。
A) 一个主程序和若干子程序组成 B) 函数组成C) 若干过程组成 D) 若干子程序组成 6.C语言中的语句需要 b 符号作为结尾。
A) : B) ; C) 。
D) //7. C 语言程序中可以对程序进行注释,注释部分用符号_c _括起来。
A)‘{‘ 和’}’ B)‘[‘和’]’ C)“/*”和”*/” D)“*/”和”/*” 8.C语言中注释的位置 c 。
A) 必须在程序的最开始 B) 必须在程序的结尾 C) 可以在程序的任何位置 D) 不可以写到main函数里面 9.C语言程序能够在不同的操作系统下面运行,这说明c语言具有很好的 c 。
A) 适应性 B)移植性 C)兼容性 D) 操作性110.C语言经过编译后生成的文件的后缀是 b 。
A).c B) .cpp C) .exe D) .obj 11.C语言编译程序的首要工作是 a 。
C语言程序设计谭浩强(第四版)期末复习重点第一章程序设计和C语言1.1.什么是计算机程序程序:一组计算机能识别和执行的指令。
只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作..计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成。
1.2什么是计算机语言计算机语言:人和计算机交流信息的、计算机和人都能识别的语言。
计算机语言发展阶段:机器语言(由0和1组成的指令)符号语言(用英文字母和数字表示指令)高级语言(接近于人的自然语言和数学语言)面向过程的语言(非结构化的语言、结构化语言);面向对象的语言1.3C语言的发展及其特点C语言是一种用途广泛、功能强大、使用灵活的过程性编程语言,既可用于编写应用软件,又能用于编写系统软件。
因此C语言问世以后得到迅速推广。
C语言主要特点:语言简洁、紧凑,使用方便、灵活。
(只有37个关键字、9种控制语句;程序书写形式自由,源程序短)运算符丰富。
(34种运算符;把括号、赋值、强制类型转换等都作为运算符处理;表达式类型多样化)数据类型丰富。
(包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型;C99又扩充了复数浮点类型、超长整型、布尔类型;指针类型数据,能用来实现各种复杂的数据结构的运算。
)具有结构化的控制语句。
(如ifele语句、while语句、dowhile语句、witch语句、for语句用函数作为程序的模块单位,便于实现程序的模块化;C语言是完全模块化和结构化的语言)语法限制不太严格,程序设计自由度大。
(对数组下标越界不做检查;对变量的类型使用比较灵活,例如,整型量与字符型数据可以通用;C语言允许程序编写者有较大的自由度,因此放宽了语法检查)允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作。
(C语言具有高级语言的功能和低级语言的许多功能,可用来编写系统软件;这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言)用C语言编写的程序可移植性好。
(完整word版)谭浩强C语言知识点总结、选择结构(分支结构)、循环结构。
2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。
3)计算机的数据在电脑中保存是以二进制的形式、数据存放的位置就是他的地址、4)bit是位是指为0 或者1。
b yte 是指字节, 一个字节 = 八个位、概念常考到的:1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、define PI3、1415926; 这个写法是错误的,一定不能出现分号。
3、每个C语言程序中main函数是有且只有一个。
4、在函数中不可以再定义函数。
5、算法:可以没有输入,但是一定要有输出。
6、break可用于循环结构和switch语句。
7、逗号运算符的级别最低,赋值的级别倒数第二。
第一章 C 语言的基础知识第一节、对C语言的基础认识1、C语言编写的程序称为源程序,又称为编译单位。
2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。
3、一个C语言程序有且只有一个main函数,是程序运行的起点。
第二节、熟悉vc++1、VC是软件,用来运行写的C语言程序。
2、每个C语言程序写完后,都是先编译,后链接,最后运行。
(、c---、obj---、exe)这个过程中注意、c和、obj文件时无法运行的,只有、exe文件才可以运行。
(常考!)第三节、标识符1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了2、标识符分为关键字、预定义标识符、用户标识符。
关键字:不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
预定义标识符:背诵define scanf printf include。
C语言设计学习笔记早晨:06:40 起床07:20——08:20 英语 1小时新概念英语(单词、语法、听读背)大学英语(单词、语法、听读背)上午:08:30——10:30 计算机基础 2小时10:50——11:30 计算机科学技术导论计算机组成原理微机原理及接口技术Intel微处理器结构编程与接口深入理解计算机系统80x86汇编语言程序设计8086-8088宏汇编语言程序设计教程BIOS研发技术剖析自己动手写操作系统操作系统原理Windows操作系统原理Windows内部原理系列Windows程序内部运行原理计算机网络第五版中午:12:00——02:00 午休下午:02:30——04:30 计算机应用及编程Windows用户管理指南、AD配置指南、网络专业指南、Windows即学即会教程Windows下32位汇编语言程序设计、C#编程晚上:05:30——08:00 锻炼、晚餐08:00——09:00 辅导09:00——11:00 专业基础 2小时大学数学、大学物理、电机及拖动、电力电子技术、通信技术11:30 休息目录第一章C语言概述................................................................................................................................. - 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 -第四章最简单的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 二维数组................................................................................................................................... - 7 -7.4 字符串——字符数组............................................................................................................... - 7 -7.5 字符串处理函数#include <string.h> ...................................................................................... - 7 -第八章函数153 ...................................................................................................................................... - 8 -8.1 c程序的结构154 ...................................................................................................................... - 8 -8.2 函数调用参数传递................................................................................................................... - 8 -8.3 函数变量的作用范围............................................................................................................... - 8 -8.4 变量的存储类别....................................................................................................................... - 9 -第九章预处理命令197 ........................................................................................................................ - 10 -9.1 预编译命令作用..................................................................................................................... - 10 -第十章指针211 .................................................................................................................................... - 11 -10.1 变量的访问方式................................................................................................................... - 11 -10.2 指针变量............................................................................................................................... - 11 -第十一章结构体270 ............................................................................................................................ - 12 -11.1 结构体270 ............................................................................................................................ - 12 -11.2 声明结构体类型变量的方法271 ........................................................................................ - 12 -11.3 结构体变量引用273 ............................................................................................................ - 12 -11.4 结构体变量初始化............................................................................................................... - 13 -11.5 结构体数组275 .................................................................................................................... - 13 -11.6 结构体类型指针................................................................................................................... - 13 -11.7 链表283 ................................................................................................................................ - 13 -11.8 共用体297 ........................................................................................................................... - 14 -11.9 枚举类型301 ........................................................................................................................ - 14 -11.10 用typedef定义的类型304 ................................................................................................ - 15 -第十二章位运算308 ............................................................................................................................ - 15 -12.1 位段315............................................................................................................................... - 15 -第十三章文件319 ................................................................................................................................ - 15 -13.1 文件319................................................................................................................................ - 15 -13.2 文件的分类319 .................................................................................................................... - 15 -13.3 C语言对文件的处理方法319 ............................................................................................. - 16 -13.4 文件结构体类型321 ............................................................................................................ - 16 -13.5 文件结构体数组和指针321 ................................................................................................ - 16 -13.6 文件的操作321 .................................................................................................................... - 17 -13.7 文件的定位333 .................................................................................................................... - 18 -13.8 出错检测335 ........................................................................................................................ - 19 -13.9 小结336................................................................................................................................ - 19 -第十四章C++对C的扩充338 ........................................................................................................... - 20 -14.1 C++的特点338 ..................................................................................................................... - 20 -14.2 C++的输入输出339 ............................................................................................................. - 20 -14.3 C++的输出cout ..................................................................................................................... - 20 -14.4 C++的输入cin 341 ............................................................................................................... - 21 -14.4 函数的重载342 .................................................................................................................... - 22 -14.5 带缺省参数的函数344 ........................................................................................................ - 22 -14.6 变量的引用类型345 ............................................................................................................ - 22 -14.7 内置函数348 ....................................................................................................................... - 24 -14.8 作用域运算符349 ................................................................................................................ - 24 -第一章C语言概述1.1 C程序结构特点161、C程序的基本构件——函数。
谭浩强第四版C语言易考,易错,易忘知识点·标识符:第一个字符必须为字母,或者下划线。
·补码形成方式:数字对应二进制数字成为原码,然后原码按位取反,再加1得到补码。
·sizeof是测量类型或变量长度的运算符·int型字节长度为4.范围是-2^31~2^31-1·unsigned int 为无符号整型数据,可存放的正数的范围比一般整型变量中正数的范围扩大一倍。
·%u,为无符号十进制数的格式输出·char型字符存储字节为1个·字符的代码不可能为负值,实际上为0~127·规范化的指数形式为小数点前的数字为0,小数点后的第一个数字不为0,如0.314159*10·float也是分配4个字节,double为8个字节·c语言编译系统把浮点型常量都按双精度处理,分配8个字节·自加自减的运算符只能用于变量·2个等号的赋值方式是从右往左赋值·小写字母的ASCII值比同一个大写字母的ASCII值大32·%运算符要求两侧均为整型量·语句和表达式区别主要在于是否有’;’存在,再判断程序是否出错时候,注意分号的存在·#include <math.h>中常用的有sqrt 求平方根pow(x,y)求x的y次幂·赋值表达式左侧应该是一个可改变值的变量,如a=(a=b)=-a*a 错。
因为a=b这个不是一个可更改的左值·注意变量的值的变化,如a=12(a+=a-=a*a)首先,有a*a=144,然后a-=144就是a=a-144,后a的值更改为-132.又有a+=a,即a=a+a=-132+(-132)=-264·字节多的数据赋值给字节少的数据,容易发生‘截断’,即损失很多数据·if((a=1))即先将1赋值给a,然后判断a是否为0,在进行执行语句·%7.2f,小数点前数字7指的是总的数据占7列,小数点后数字2指的是小数占2列,7叫域宽·算术运算符优先级>关系运算符优先级>赋值运算符即:+-*/大于’<’ or ’>’ or ’<=’ or ’>=’ 大于’=’ or ’!=’·与:&&,即为数学中的交集,一假全假·或:||,为数学中的并集,一真全真·非:!·在逻辑运算符中优先级从高到低顺序为!(非)>&&(与)>||(或)·总体优先级为:!>算术运算符>关系运算符>&&和||>赋值运算符·注意一真则停(在或‘||’运用)一假则停(在与‘&&’中运用)·条件表达式格式:表达式1?表达式2:表达式3含义为:先算出表达式1的值,判断表达式1的真假,如果为真,则执行表达式2,否则执行表达式3例如max=(a>b)?a:b若a=5,b=3 a>b成立则max=a若a=3,b=5 a>b不成立则max=b·在if嵌套里面,else 总是与它上面的最近的未配对的if配对·注意if后边语句如果大于2个要加花括号·当if嵌套中if与else的数目不匹配,要使每一对if else 配对,可以加花括号限定嵌套范围·switch的运用:Swhitch(表达式){Case 常量1:语句1Case 常量2:语句2......Default;}每一个case 常量的值必须互不相同·switch中可以用break语句使流程跳出switch结构·多个case标号可以共用一组执行语句·continue语句可用来终止本次循环,但是不终止总循环·数组赋值最好在定义时赋值,然后就是循环语句赋值,不能单独语句赋值如a[5]=___,这样只是单独赋值给某一个元素,其他元素未进行赋值·定义数组时候元素个数不能为一个变量,但是在运用数组时候可以改变。
计算机考研谭浩强《C程序设计》考研考点复习资料第1章程序设计和C语言1.1 考点复习笔记一、计算机程序1程序就是一组计算机能识别和执行的指令2计算机的一切操作都是由程序控制的二、计算机语言1定义人和计算机交流信息,要解决语言问题。
需要创造一种计算机和人都能识别的语言,这就是计算机语言。
2发展阶段计算机语言经历了几个发展阶段:(1)机器语言(2)符号语言(3)高级语言三、C语言的发展及其特点1概述(1)C语言是国际上广泛流行的计算机高级语言。
(2)C语言的祖先是BCPL语言。
2发展最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的,后来逐步发展为一种高级编程语言,目前C语言使用的标准是1999年修正的C99。
3特点(1)语言简洁、紧凑,使用方便、灵活(2)运算符丰富(3)数据类型丰富(4)具有结构化的控制语句(5)语法限制不太严格,程序设计自由度大(6)C语言允许直接访问物理地址(7)用C语言编写的程序可移植性好(8)生成目标代码质量高,程序执行效率高四、简单的C语言程序(1)一个程序由一个或多个源程序文件组成在一个源程序文件中可以包括3个部分:①预处理指令②全局声明③函数定义(2)函数是C程序的主要组成部分①函数是C程序的基本单位。
②一个C语言程序是由一个或多个函数组成的,有且仅有一个main函数。
③一个小程序只包含一个源程序文件。
④函数既可以是库函数,也可以是用户自定义函数。
(3)函数的两个部分①函数首部函数首部包括函数名、函数类型、函数属性、函数参数(形式参数)名、参数类型。
②函数体即函数首部下面的花括号内的部分。
函数体一般包括两部分:声明部分和执行部分。
(4)程序总是从main函数开始执行的(5)程序中对计算机的操作是由函数中的C语句完成的(6)在每个数据声明和语句的最后必须有一个分号(7)C语言本身不提供输入输出语句(8)程序应当包含注释五、运行C程序的步骤与方法C程序运行步骤图如图1-1所示。
第一章程序设计和C语言1.1.什么是计算机程序程序..:一组计算机能识别和执行的指令。
只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成。
1.2什么是计算机语言计算机语言:人和计算机交流信息的、计算机和人都能识别的语言。
计算机语言发展阶段:机器语言(由0和1组成的指令)符号语言(用英文字母和数字表示指令)高级语言(接近于人的自然语言和数学语言)面向过程的语言(非结构化的语言、结构化语言);面向对象的语言1.3C语言的发展及其特点C语言是一种用途广泛、功能强大、使用灵活的过程性编程语言,既可用于编写应用软件,又能用于编写系统软件。
因此C语言问世以后得到迅速推广。
C语言主要特点:语言简洁、紧凑,使用方便、灵活。
(只有37个关键字、9种控制语句;程序书写形式自由,源程序短)运算符丰富。
(34种运算符;把括号、赋值、强制类型转换等都作为运算符处理;表达式类型多样化)数据类型丰富。
(包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型;C99又扩充了复数浮点类型、超长整型、布尔类型;指针类型数据,能用来实现各种复杂的数据结构的运算。
)具有结构化的控制语句。
(如if…else语句、while语句、do…while语句、switch语句、for语句用函数作为程序的模块单位,便于实现程序的模块化;C语言是完全模块化和结构化的语言)语法限制不太严格,程序设计自由度大。
(对数组下标越界不做检查;对变量的类型使用比较灵活,例如,整型量与字符型数据可以通用;C语言允许程序编写者有较大的自由度,因此放宽了语法检查)允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作。
(C语言具有高级语言的功能和低级语言的许多功能,可用来编写系统软件;这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言)用C语言编写的程序可移植性好。
C语言最重要的知识点总体上必须清楚的:1)程序结构是三种: 顺序结构、选择结构(分支结构)、循环结构。
2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择),有且只有一个main函数。
3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。
byte 是指字节, 一个字节 = 八个位.概念常考到的:1、编译预处理不是C语言的一部分,不占运行时间,不要加分号。
C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。
2、define PI 3.1415926; 这个写法是错误的,一定不能出现分号。
3、每个C语言程序中main函数是有且只有一个。
4、在函数中不可以再定义函数。
5、算法:可以没有输入,但是一定要有输出。
6、break可用于循环结构和switch语句。
7、逗号运算符的级别最低,赋值的级别倒数第二。
第一章 C语言的基础知识第一节、对C语言的基础认识1、C语言编写的程序称为源程序,又称为编译单位。
2、C语言书写格式是自由的,每行可以写多个语句,可以写多行。
3、一个C语言程序有且只有一个main函数,是程序运行的起点。
第二节、熟悉vc++1、VC是软件,用来运行写的C语言程序。
2、每个C语言程序写完后,都是先编译,后链接,最后运行。
(.c---→.obj---→.exe)这个过程中注意.c和.obj文件时无法运行的,只有.exe文件才可以运行。
(常考!)第三节、标识符1、标识符(必考内容):合法的要求是由字母,数字,下划线组成。
有其它元素就错了。
并且第一个必须为字母或则是下划线。
第一个为数字就错了2、标识符分为关键字、预定义标识符、用户标识符。
关键字:不可以作为用户标识符号。
main define scanf printf 都不是关键字。
迷惑你的地方If是可以做为用户标识符。
因为If中的第一个字母大写了,所以不是关键字。
第一章程序设计和C语言1.1.什么是计算机程序程序..:一组计算机能识别和执行的指令。
只要让计算机执行这个程序,计算机就会自动地、有条不紊地进行工作计算机的一切操作都是由程序控制的,离开程序,计算机将一事无成。
1.2什么是计算机语言计算机语言:人和计算机交流信息的、计算机和人都能识别的语言。
计算机语言发展阶段:机器语言(由0和1组成的指令)符号语言(用英文字母和数字表示指令)高级语言(接近于人的自然语言和数学语言)面向过程的语言(非结构化的语言、结构化语言);面向对象的语言1.3C语言的发展及其特点C语言是一种用途广泛、功能强大、使用灵活的过程性编程语言,既可用于编写应用软件,又能用于编写系统软件。
因此C语言问世以后得到迅速推广。
C语言主要特点:语言简洁、紧凑,使用方便、灵活。
(只有37个关键字、9种控制语句;程序书写形式自由,源程序短)运算符丰富。
(34种运算符;把括号、赋值、强制类型转换等都作为运算符处理;表达式类型多样化)数据类型丰富。
(包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型;C99又扩充了复数浮点类型、超长整型、布尔类型;指针类型数据,能用来实现各种复杂的数据结构的运算。
)具有结构化的控制语句。
(如if…else语句、while语句、do…while语句、switch语句、for语句用函数作为程序的模块单位,便于实现程序的模块化;C语言是完全模块化和结构化的语言)语法限制不太严格,程序设计自由度大。
(对数组下标越界不做检查;对变量的类型使用比较灵活,例如,整型量与字符型数据可以通用;C语言允许程序编写者有较大的自由度,因此放宽了语法检查)允许直接访问物理地址,能进行位操作,可以直接对硬件进行操作。
(C语言具有高级语言的功能和低级语言的许多功能,可用来编写系统软件;这种双重性,使它既是成功的系统描述语言,又是通用的程序设计语言)用C语言编写的程序可移植性好。
(C的编译系统简洁,很容易移植到新系统;在新系统上运行时,可直接编译“标准链接库”中的大部分功能,不需要修改源代码;几乎所有计算机系统都可以使用C语言)生成目标代码质量高,程序执行效率高。
1.4.1最简单的C语言程序举例C语言允许用两种注释方式://:单行注释,可单独占一行,可出现在一行中其他内容的右侧。
/*……*/:块式注释,可包含多行。
1.4.2 C语言程序的结构C语言程序的结构特点:1、一个程序由一个或多个源程序文件组成(小程序往往只包括一个源程序文件,一个源程序文件中可以包括三个部分:预处理指令、全局声明、函数定义。
)2、函数是C程序的主要组成部分(一个C程序是由一个或多个函数组成的;必须包含一个main函数(只能有一个);每个函数都用来实现一个或几个特定功能;被调用的函数可以是库函数,也可以是自己编制设计的函数。
)3、一个函数包括两个部分(函数首部、函数体(声明部分、执行部分))4、程序总是从main函数开始执行5、C程序对计算机的操作由C语句完成(C程序书写格式是比较自由的:一行内可以写几个语句;一个语句可以分写在多行上。
)6、数据声明和语句最后必须有分号7、C语言本身不提供输入输出语句8、程序应当包含注释,增加可读性1.6 程序设计的任务1.问题分析2.设计算法3.编写程序4.对源程序进行编辑、编译和连接5.运行程序,分析结6.编写程序文档第二章 算法——程序的灵魂一个程序主要包括以下两方面的信息:(1) 对数据的描述。
在程序中要指定用到哪些数据以及这些数据的类型和数据的组织形式,这就是数据结构。
(2) 对操作的描述。
即要求计算机进行操作的步骤,也就是算法。
数据是操作的对象,操作的目的是对数据进行加工处理,以得到期望的结果。
著名计算机科学家沃思(Nikiklaus Wirth)提出一个公式:算法 + 数据结构 = 程序一个程序除了算法和数据结构这主要要素外,还应当采用结构化程序设计方法进行程序设计,并且用某一种计算机语言表示。
算法、数据结构、程序设计方法和语言工具是一个程序设计人员应具备的知识。
2.1什么是算法广义地说,为解决一个问题而采取的方法和步骤,就称为“算法”。
计算机算法可分为两大类别:数值运算算法(目的是求数值解);非数值运算算法(包括面十分广泛,常见的是用于事务管理领域)2.3 算法的特性一个有效算法应该具有以下特点:(1) 有穷性。
一个算法应包含有限的操作步骤,而不能是无限的。
(2) 确定性。
算法中的每一个步骤都应当是确定的,而不应当是含糊的、模棱两可的。
(3) 有零个或多个输入。
所谓输入是指在执行算法时需要从外界取得必要的信息。
(4) 有一个或多个输出。
算法的目的是为了求解,“解” 就是输出。
没有输出的算法是没有意义的。
(5) 有效性。
算法中的每一个步骤都应当能有效地执行,并得到确定的结果。
流程图是表示算法的较好的工具。
2.4.3 三种基本结构和改进的流程图三种基本结构:(1)顺序结构 (2)选择结构 (3)循环结构 ①当型循环结构 ②直到型循环结构2.4.5用伪代码表示算法伪代码是用介于自然语言和计算机语言之间的文字和符号来描述算法。
用伪代码写算法并无固定的、严格的语法规则,可以用英文,也可以中英文混用。
2.4.6 用计算机语言表示算法要完成一项工作,包括设计算法和实现算法两个部分。
设计算法的目的是为了实现算法。
例2.19 将例2.17表示的算法(求多项式 的值)用C 语言表示。
#include <stdio.h>int main( ){ int sign=1;double deno = 2.0,sum = 1.0, term;while (deno <= 100){ sign = -sign;term = sign/deno;sum = sum+term;deno = deno+1;}printf ("%f\n",sum);return 0;}2.5 结构化程序设计方法采取以下方法保证得到结构化的程序:(1)自顶向下;(2)逐步细化;(3)模块化设计;(4)结构化编码。
10019914131211-++-+-第三章 最简单的C 程序设计3.1 顺序程序设计举例例3.1 有人用温度计测量出用华氏法表示的温度(如 F ,今要求把它转换为以摄氏法表示的温度(如 C) 。
解题思路:找到二者间的转换公式 f 代表华氏温度,c 代表摄氏温度 算法:(N-S 图)#include <stdio.h>int main ( ){float f,c; 定义f 和c 为单精度浮点型变量f=64.0; 指定f 的值c=(5.0/9)*(f-32); 计算c 的值printf("f=%f\nc=%f\n",f,c); 输出f 和c 的值return 0;}例3.2 计算存款利息。
有1000元,想存一年。
有三种方法可选:(1)活期,年利率为r1 (2)一年期定期,年利率为r2 (3)存两次半年定期,年利率为r3,请分别计算出一年后按三种方法所得到的本息和。
解题思路:确定计算本息和的公式。
从数学知识可知:若存款额为p0,则:活期存款一年后本息和为: p1=p0(1+r1);一年期定期存款,一年后本息和为:p2=p0(1+r2);两次半年定期存款,一年后本息和为:p3=p0(1+r3/2)(1+r3/2)算法:#include <stdio.h>int main ( ){float p0=1000, r1=0.0036,r2=0.0225,r3=0.0198, p1, p2, p3;p1 = p0 * (1 + r1);p2 = p0 * (1 + r2);p3 = p0 * (1 + r3/2) * (1 + r3/2);printf(”%f\n%f\n%f\n ”,p1, p2, p3);return 0;}3.2.1 常量与变量1.常量:在程序运行过程中,其值不能被改变的量。
整型常量:如1000,12345,0,-345;实型常量:十进制小数形式:如0.34 -56.79 0.0,指数形式:如12.34e3 (代表12.34103);字符常量:如’?’,转义字符:如’\n ’;字符串常量:如”boy ”;符号常量:#define PI 3.1416)32(95-=f c )32(95-=f c2.变量:在程序运行期间,变量的值是可以改变的。
变量必须先定义,后使用,定义变量时指定该变量的名字和类型。
变量名和变量值是两个不同的概念,变量名实际上是以一个名字代表的一个存储地址。
从变量中取值,实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据。
3.常变量:const int a=3;4.标识符:一个对象的名字。
C语言规定标识符只能由字母、数字和下划线3种字符组成,且第一个字符必须为字母或下划线合法的标识符:如sum,average, _total, Class, day, BASIC, li_ling不合法的标识符:M.D.John,¥123,#33,3D64,a>b3.2.2 数据类型所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式。
不同的类型分配不同的长度和存储形式。
C语言允许使用的数据类型:整型类型:基本整型(int型):占2个或4个字节短整型(short int):VC++6.0中占2个字节长整型(long int):VC++6.0中占4个字节基本类型双长整型(long long int):C99新增的字符型布尔型浮点类型(单精度浮点型、双精度浮点型、复数浮点型)枚举类型空类型派生类型(指针类型、数组类型、结构体类型、共用体类型、函数类型)3.2.3 整型数据整型变量的符号属性:整型变量的值的范围包括负数到正数;可以将变量定义为“无符号”类型;扩充的整形类型:有符号基本整型[signed] int;无符号基本整型unsigned int;有符号短整型[signed] short [int];无符号短整型unsigned short [int];有符号长整型[signed] long [int];无符号长整型unsigned long [int]有符号双长整型[signed] long long [int];无符号双长整型unsigned long long [int]3.2.3 字符数据类型字符是按其代码(整数)形式存储的,C99把字符型数据作为整数类型的一种。
1.字符与字符代码:大多数系统采用ASCII字符集字母:A ~Z,a ~z数字:0~9专门符号:29个:! ” # & ‘ ( ) *等空格符:空格、水平制表符、换行等不能显示的字符:空(null)字符(以‘\0’表示)、警告(以‘\a’表示)、退格(以‘\b’表示)、回车(以‘\r’表示)等字符’1’和整数1是不同的概念:字符’1’只是代表一个形状为’1’的符号,在需要时按原样输出,在内存中以ASCII码形式存储,占1个字节[0 0 1 1 0 0 0 1];整数1是以整数存储方式(二进制补码方式)存储的,占2个或4个字节[0 0 0 0 0 0 0 0 |0 0 0 0 0 0 0 1]2.字符变量:用类型符char定义字符变量3.2.5 浮点型数据浮点型数据是用来表示具有小数点的实数。