这是c语言程序设计第三版谭浩强ppt,包括了C语言的特点,C程序的结构,在计算机上运行C程序的方法,C语言出现的历史背景,程序的灵魂--算法,C的数据类型,常量与变量,整型数据,浮点型数据运行,字符型数据等内容,欢迎点击下载。
c语言程序设计第三版谭浩强ppt是由红软PPT免费下载网推荐的一款课件PPT类型的PowerPoint.
§1-1 C语言出现的历史背景 §1-1C语言出现的历史背景 §1-1C语言出现的历史背景 §1-1C语言出现的历史背景 §1-2 C语言的特点 §1-2 C语言的特点 §1-2 C语言的特点 §1-3 简单的C语言程序介绍 例1.2 求两数之和#include void main( ) /*求两数之和*/{ int a,b,sum; /*声明,定义变量为整型*/ /*以下3行为C语句 */ a=123; b=456; sum=a+b; printf(″sum is %d\n″,sum);} 例1.3 求3个数中较大者。#include void main( ) /* 主函数*/{ int max(int x,int y); / 对被调用函数max的声明 */ int a, b, c; /*定义变量a、b、c */ scanf(″%d,%d″,&a,&b); /*输入变量a和b的值*/ c=max(a,b); /*调用max函数,将得到的值赋给c */ printf(″max=%d\\n″,c); /*输出c的值*/} §1-3 简单的C语言程序介绍 §1-3 简单的C语言程序介绍 §1-3 简单的C语言程序介绍 §1-4 运行C程序的步骤和方法 §1-4 运行C程序的步骤和方法 第二章 本章要点 算法的概念 算法的表示 结构化程序设计方法 主要内容 2.1 算法的概念 2.2 简单算法举例 2.3 算法的特性 2.4 怎样表示一个算法 2.5 化程序设计方法 §2.1 算法的概念 §2.1 算法的概念 §2.2 简单算法举例 §2.3 算法的特性 §2.4 算法的表示 §2.4.1 用自然语言表示算法 §2.4.2 用流程图表示算法 小结: 流程图是表示算法的较好的工具。一个流程图包括以下几部分 : (1)表示相应操作的框; (2)带箭头的流程线; (3)框内外必要的文字说明。 §2.4.3 三种基本结构和改进的流程图 小结: 由三种基本结构顺序组成的算法结构,可以解决任何复杂的问题。由基本结构所构成的算法属于“结构化”的算法,它不存在无规律的转向,只在本基本结构内才允许存在分支和向前或向后的跳转。 扩展: 只要具有上述四个特点的都可以作为基本结构。可以自己定义基本结构,并由这些基本结构组成结构化程序。 §2.4.4 用N--S流程图表示算法 N--S图表示算法的优点 比文字描述直观、形象、 易于理解;比传统流程图紧凑易画。尤其是它废除了流程线,整个算法结构是由各个基本结构按顺序组成的,N--S流程图中的上下顺序就是执行时的顺序。用N--S图表示的算法都是结构化的算法,因为它不可能出现流程无规律的跳转,而只能自上而下地顺序执行。 小结: 一个结构化的算法是由一些基本结构顺序组成的。在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本结构范围之内(如循环中流程的跳转);一 个非结构化的算法可以用一个等价的结构化算法代替,其功能不变 。如果一个算法不能分解为若干个基本结构,则它必然不是一个结构化的算法。 §2.4.5 用位代码表示算法 §2.4.6 用计算机语言表示算法 § 2.5 结构化程序设计方法 § 2.5 结构化程序设计方法 第三章 本章要点 数据的描述规则 数据的操作规则 主要内容 3.1 C的数据类型 3.2 常量与变量 3.3 整型数据 3.4 浮点型数据运行 3.5 字符型数据 主要内容 § 3.1 C的数据类型 §3.2 常量与变量 例3.1 符号常量的使用#define PRICE 30?#include void main ( )? {? int num, total;? num=10;? total=num * PRICE;? printf(″total=%d\n″,total);? }? §3.2 常量与变量 §3.2 常量与变量 §3.2 常量与变量 §3.3 整型数据 §3.3 整型数据 §3.3 整型数据 §3.3 整型数据 §3.3 整型数据 §3.3 整型数据 例3.2 整型变量的定义与使用#include void main() {int a,b,c,d; /*?指定a、b、c、d为整型变量?*/ unsigned u; /*?指定u为无符号整型变量?*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf(″a+u=%d,b+u=%d\n″,c,d); } 例3.3 整型数据的溢出#include void main(){int a,b; a=32767; b=a+1; printf(“%d,%d\n”,a,b);} §3.3 整型数据 §3.3 整型数据 §3.3 整型数据 §3.3 整型数据 §3.4 浮点型数据 §3.4 浮点型数据 §3.4 浮点型数据 §3.4 浮点型数据 例3.4 浮点型数据的舍入误差#include void main(){float a,b; a = 123456.789e5; b = a + 20 ; printf(“%f\n”,b); } §3.4 浮点型数据 §3.5字符型数据 §3.5字符型数据 例3.5 转义字符的使用#include void main() {printf(″ ab c\t de\rf\tg\n″); printf(″h\ti\b\bj k\n″);} §3.5字符型数据 §3.5字符型数据 例3.6 向字符变量赋以整数。 #include void main() {char c1,c2; c1=97; c2=98; printf(“%c %c\n”,c1,c2); printf(“%d %d\n”,c1,c2); } 例3.7 大小写字母的转换 #include void main() {char c1,c2; c1=’a’; c2=’b’;c1=c1-32;c2=c2-32; printf(“%c %c″,c1,c2); } §3.5字符型数据 §3.5字符型数据 §3.5字符型数据 §3.5字符型数据 §3.6变量赋初值 §3.6变量赋初值 §3.7各类数值型数据间的混合运算 §3.8 算术运算符和算术表达式 §3.8 算术运算符和算术表达式 §3.8 算术运算符和算术表达式 §3.8 算术运算符和算术表达式 §3.2 常量与变量 §3.8 算术运算符和算术表达式 例3.8 强制类型转换。 #include voidmain() {float x; int i; x=3.6; i=(int)x; printf("x=%f, i=%d\n",x,i);} §3.8 算术运算符和算术表达式 §3.8 算术运算符和算术表达式 §3.8 算术运算符和算术表达式 §3.8 算术运算符和算术表达式 §3.8 算术运算符和算术表达式 §3.8 算术运算符和算术表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 例3.9 有符号数据传送给无符号变量。 #include void main() {unsigned a; int b=-1; a=b; printf(″%u\n″,a);} §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.9 赋值运算符和赋值表达式 §3.10 逗号运算符和逗号表达式 §3.10 逗号运算符和逗号表达式 §3.10 逗号运算符和逗号表达式 §3.10 逗号运算符和逗号表达式 第四章 主要内容 4.1 C语句概述 4.2 赋值语句 4.3 数据输入输出的概念及在c语言中的实现 4.4 字符数据的输入输出 4.5 格式输入与输出 4.6 顺序结构程序设计举例 § 4.1 C语句概述 § 4.1 C语句概述(续) § 4.1 C语句概述(续) § 4.1 C语句概述(续) § 4.1 C语句概述(续) § 4.1 C语句概述(续) § 4.2 赋值语句 § 4.2 赋值语句(续) § 4.3 数据输入输出的概念及在C语言中的实现 (一).所谓输入输出是以计算机主机为主体而言的 输出:从计算机向外部输出设备(显示器,打印机) 输出数据 输入:从输入设备(键盘,鼠标,扫描仪)向计算机 输入数据. § 4.3 数据输入输出的概念及在C语言中的实现 (二).C语言本身不提供输入输出语句,输入和输出操作是由C函数库中的函数来实现的 例如: 字符输入函数: getchar 字符输出函数:putchar 格式输入函数: scanf 格式输出函数: printf 字符串输入函数:gets 字数穿输出函数:puts § 4.3 数据输入输出的概念及在C语言中的实现 (三).在使用系统库函数时,要用预编译命令“#include”将有关的“头文件”包括到用户源文件中. 例如:在调用标准输入输出库函数时,文件开头应该有: #include “stdio.h” 或: #include § 4.4 字符数据的输入输出 (一).字符输出函数 一般形式:putchar(c) 函数作用:向终端输出一个字符 § 4.4 字符数据的输入输出(续) § 4.4 字符数据的输入输出(续) (二).字符输入函数 一般形式:getchar() 函数作用:从终端(或系统隐含指定的输入设备)输入一个字符。 函数值: 从输入设备得到的字符。 § 4.4 字符数据的输入输出(续) § 4.5 格式输入与输出 (一).格式输出函数 函数作用:向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据。 一般格式:printf(格式控制,输出表列) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) 说明: 除了X,E,G外,其他各式字符必须用小写。 可以在printf函数中的“格式控制”字符串中包含转义字符。 一个格式说明必须以“%”开头,以9个格式字符之一为结束,中间可以插入附加格式字符。 想输出%,则应该在格式控制字符串中用连续两个%表示 § 4.5 格式输入与输出(续) (一).格式输入函数 函数作用:按照变量在内存的地址将变量值存 进去。 一般格式:scanf(格式控制,地址表列) § 4.5 格式输入与输出(续) § 4.5 格式输入与输出(续) 说明: 对unsigned型变量所需要的数据,可以用%u,%d或%o,%x格式输入。 可以指定输入数据所占的列数,系统自动按它截取所需数据。 如果在%后有一个“*”附加说明符,表示跳过它指定的列数。 输入数据时不能规定精度。 § 4.5 格式输入与输出(续) § 4.6 顺序结构程序设计举例 § 4.6 顺序结构程序设计举例(续) § 4.6 顺序结构程序设计举例(续) § 4.6 顺序结构程序设计举例(续) § 4.6 顺序结构程序设计举例(续) 第五章 本章要点 关系表达式 逻辑表达式 选择结构程序设计 主要内容 5.1 关系运算符和关系表达式 5.2 逻辑运算符和逻辑表达式 5.3 if语句 5.4 switch语句 5.5 程序举例 §5.1 关系运算符和关系表达式 §5.1 关系运算符和关系表达式(续) §5.2 逻辑运算符和逻辑表达式 §5.2 逻辑运算符和逻辑表达式(续) §5.2 逻辑运算符和逻辑表达式(续) §5.2 逻辑运算符和逻辑表达式(续) §5.2 逻辑运算符和逻辑表达式(续) §5.3 if语句 §5.3 if语句(续) §5.3 if语句(续) §5.3 if语句(续) §5.3 if语句(续) §5.3 if语句(续) §5.3 if语句(续) §5.3 if语句(续) §5.3 if语句(续) §5.3 if语句(续) §5.3 if语句(续) §5.3 if语句(续) §5.3 if语句(续) §5.3 if语句(续) §5.3 if语句(续) §5.3 if语句(续) §5.3 if语句(续) §5.4 switch语句 §5.4 switch语句(续) §5.4 switch语句(续) §5.4 switch语句(续) §5.5 程序举例 §5.5 程序举例(续) §5.5 程序举例(续) §5.5 程序举例(续) §5.5 程序举例(续) 第六章 本章要点 循环的基本概念 不同形式的循环控制 多重循环问题 主要内容 6.1 概述 6.2 goto语句以及用goto语句构成循环 6.3 用while语句实现循环 6.4 用do-while语句实现循环 6.5 用for 语句实现循环 6.6 循环的嵌套 6.7 几种循环的比较 6.8 break语句continue和语句 6.9 程 序 举 例 §6.1 概述 §6.2 goto语句以及用goto语句构成循环1 §6.2 goto语句以及用goto语句构成循环 例6.1 用if语句和goto语句构成循环,求1到100的和void main( ) { int i, sum=0; i=1;loop: if(i<=100) { sum=sum+i; i++; goto loop; } printf("%d\\n″,sum); } §6.3 用while语句实现循环 例6.2 求1到100的和#include void main() {int i,sum=0; i=1; while (i<=100) { sum=sum+i; i++; } printf(″%d\\n″,sum); } §6.3 用while语句实现循环 §6.4 用do-while语句实现循环 例6.3 求1到100的和#include void main() { int i,sum=0; i=1; do {sum=sum+i; i++; } while(i<=100); printf("%d\\n″,sum); } §6.4 用do-while语句实现循环 例6.4 while和do-while循环的比较 (1) #include (2) #include void main ( ) void main( ) {int sum=0,i; {int sum=0,i; scanf(“%d″,&i); scanf(”%d″,&i); while (i<=10) do {sum=sum+I; { sum=sum+i;i++; i++; } while (i<=10);printf(“sum=%d\\n″ ,sum); } printf(“sum=%d\\n”,sum); } § 6.5 用for 语句实现循环 § 6.5 用for 语句实现循环 § 6.5 用for 语句实现循环 § 6.5 用for 语句实现循环 § 6.5 用for 语句实现循环 § 6.5 用for 语句实现循环 § 6.5 用for 语句实现循环 § 6.5 用for 语句实现循环 § 6.5 用for 语句实现循环 § 6.5 用for 语句实现循环 § 6.5 用for 语句实现循环 § 6.5 用for 语句实现循环 § 6.5 用for 语句实现循环 § 6.5 用for 语句实现循环 § 6.5 用for 语句实现循环 § 6.5 用for 语句实现循环 §6.6循环的嵌套 §6.6循环的嵌套 §6.6循环的嵌套 §6.7几种循环的比较 §6.7几种循环的比较 §6.7几种循环的比较 §6.8 break语句和continue语句 §6.8 break语句和continue语句 §6.8 break语句和continue语句 §6.8 break语句和continue语句 §6.8 break语句和continue语句 例6.5 把100~200之间的不能被3整除的数输出。 #include void main() {int n; for (n=100;n<=200;n++) {if (n%3==0)continue; printf("%d ″,n); }} §6.9 程 序 举 例 例6.6 求pi的近似值 #include #includevoid main(){ int s;float n,t,pi; t=1;pi=0;n=1.0;s=1; while(fabs(t)>1e-6) {pi=pi+t;n=n+2;s=-s;t=s/n;} pi=pi*4; printf(″pi=%10.6f\n″,pi);} §6.9 程 序 举 例 例6.7求Fibonacci数列前40个数。 #include void main() { long int f1,f2; int i; f1=1;f2=1; for(i=1; i<=20; i++) { printf(″%12ld %12ld ″,f1,f2); if(i%2==0) printf(″\n″); f1=f1+f2; f2=f2+f1;} } §6.9 程 序 举 例 例6.8判断m是否素数。 #include #include void main() {int m,i,k; scanf(″%d″,&m);k=sqrt(m); for (i=2;i<=k;i++) if(m%i==0) break; if(i>k) printf("%d is a prime number\n″,m);else printf("%d is not a prime number\n″,m);} 例6.9 求100~200间的全部素数。#include # include void main() {int m,k,i,n=0; for(m=101;m<=200;m=m+2) { k=sqrt(m); for (i=2;i<=k;i++)if (m%i==0) break;if (i>=k+1){printf("%d ″,m);n=n+1;}if(n%10==0) printf(″\n″); }printf ("\n");} §6.9 程 序 举 例 例6.10输入一行字符,要求输出其相应的密码include void main() {char c; while((c=getchar())!=′\n′) {if((c>=′a′ && c<=′z′) || (c>=′A′ && c<=′Z′)) { c=c+4; if(c>′Z′ && c<=′Z′+4 || c>′z′) c=c-26; } printf(″%c\n″,c); }} 第七章 本章要点 掌握一维、二维数组的定义和引用方法、存储结构和初始化方法。 掌握有关一维数组的有关算法。 掌握数组的运算。 主要内容 7.1 一维数组的定义和引用 7.2 二维数组的定义和引用 7.3 字符数组 §7-1 一维数组的定义和引用 §7-2 二维数组的定义和引用 § 7.2.1二维数组的定义 § 7.2.1二维数组的定义 § 7.2.2二维数组的引用 §7-3 字符数组 第八章 §8.1概述 第九章 本章要点 预处理的概念 C语言处理系统的预处理功能 预处理命令的使用 主要内容 9.1 宏定义 9.2“文件包含”处理 9.3 条件编译 基本概念 基本概念 §9.1 宏定义 9.1.2 带参数的宏定义 对带参的宏定义是这样展开置换的: §9.3 条件编译 第十章 §10.1地址和指针的概念 §10.2 变量的指针和指向变量的指针变量 第十一章 本章要点 结构体的概念 结构体的定义和引用 结构体数组 主要内容 11.1 概述 11.2 定义结构体类型变量的方法 11.3 结构体变量的引用 11.4 结构体变量的初始化 11.5 结构体数组 11.6指向结构体类型数据的指针 11.7 用指针处理链表 11.8 共用体 11.9 枚举类型 11.10 用typedef定义类型 第十二章 主要内容 12.1位运算符和位运算 12.2位运算举例 12.3位段 概念 位运算是指按二进制位进行的运算。因为在系统软件中,常要处理二进制位的问题。 例如:将一个存储单元中的各二进制位左移或右移一位,两个数按位相加等。 C语言提供位运算的功能,与其他高级语言(如PASCAL)相比,具有很大的优越性。 §12.1 位运算符和位运算 12.1.1“按位与”运算符(&) 按位与的用途: 12.1.2 “按位或”运算符(|) 12.1.3“异或”运算符(∧) 12.1.4 “取反”运算符(~) L6 L8 12.1.5 左移运算符(<<) 12.1.5 左移运算符(<<) 12.1.6 右移运算符(>>) 12.1.8 不同长度的数据进行位运算 §12.2 位运算举例 §12.3 位段 第十三章 本章要点 文件的基本概念 文件的基本函数 文件的顺序读写 文件的随机读写 文件简单应用 主要内容 13.1 C文件概述 13.2 文件类型指针 13.3 文件的打开与关闭 13.4 文件的读写 13.5 文件的定位 13.6 出错的检测 13.7 文件输入输出小结 §13.1 C文件概述 第十四章 主要内容 14.1 常见错误分析 14.2 程序调试 §14.1常见错误分析 §14.1常见错误分析 §14.1常见错误分析 §14.1常见错误分析 §14.1常见错误分析 §14.2 程序调试 3kr红软基地