C语言程序设计谭浩强.ppt

合集下载

c语言程序设计第6章(谭浩强)PPT版本

c语言程序设计第6章(谭浩强)PPT版本

for(i=1;i<10;i++) for(j=1;j<10;j++) printf((j==9)?"%4d\n":"%4d",i*j);
i=1 假(0) i<10 真(非0)
外循环
j=1 j<10 假(0)
内循环
真(非0) printf j++
i++
6.6 辅助控制语句
break语句
功能:在循环语句和switch语句中,终止并跳出循 环体或开关体 说明: break只能终止并跳出最近一层的结构 break不能用于循环语句和switch语句之外的 任何其它语句之中
goto语句及用goto构成循环
6.2 goto语句构成循环
goto语句一般格式:
goto 语句标号; ….….. 标号:语句; 功能:无条件转移语句 说明: 不能用整数作标号 只能出现在goto所在函数内,且唯一 只能加在可执行语句前面 限制使用goto语句
例 用if 和goto语句构成循环,求
…... } …... }while( ); ……. } …… while() { …… } …... 内循环
}
例 循环嵌套,输出九九表
Ch5_5.c
i
j /*ch5_5.c*/ #include2<stdio.h> 4 1 3 5 6 7 8 9 main() 1 2 3 4 5 6 7 8 9 { int i,j; 2 4 6 8 10 12 14 16 18 for(i=1;i<10;i++) 3 6 9 12 15 18 21 24 27 printf("%4d",i); …………….. printf("\n---------------------------------------\n"); for(i=1;i<10;i++) 9 18 27 36 45 54 63 72 81 for(j=1;j<10;j++) printf((j==9)?"%4d\n":"%4d",i*j); }

C语言程序设计(第四版) 谭浩强 课件 PPT 完整版

C语言程序设计(第四版) 谭浩强 课件 PPT 完整版

语句
printf语句中的“\n‖是换行

<
>
C语言程序设计
第/* example1.1 calculate the sum of a and b*/ #include <stdio.h> 预处理命令 /* This is the main program */ void main() 注释 { int a,b,sum; /*定义变量*/ 函数 a=10; b=24; 语句 sum=add(a,b); printf(”sum= %d\n",sum); } printf语句中的“ %d ‖是表
C语言程序设计
第一章 C语言概述
C语言结构特点
函数与主函数
程序由一个或多个函数组成 必须有且只能有一个主函数main(),可以放在程序中任一 位臵 程序执行从main开始,在main中结束,其它函数通过嵌 套调用得以执行。
程序语句
C程序由语句组成 用‚;‛作为语句终止符
注释
C语言程序设计
第一章 C语言概述
Turbo C集成开发环境
配臵要求
UNIX,PC-DOS,MS-DOS,UCDOS操作系统 硬盘容量约2M,448K RAM运行空间
安装Turbo C
创建子目录 Install 若不是可安装盘,将文件拷贝到对应的目录下
TC
*.* *.*
INCLUDE SYS
Alt +x Alt+F ,Q
帮助Help
F1 Ctrl+F1
<
>
C语言程序设计
第一章 C语言概述
常用热键 基本操作:
F10-----调用主菜单 F2------存盘 F3------打开 F1------帮助信息 Alt+F9------Compile Ctrl+F9------Run Alt+F5------User Screen Alt+X ------退出Tc

c程序设计谭浩强.ppt

c程序设计谭浩强.ppt

二.
实型数据
1. 实型数据类型标识符 实型数据有单精度型和双精度型两种。 单精度型:类型标识符为float。 双精度型:类型标识符为double。
类型 float double
占用字节数 4 8
有效数字 6-7 15-16
数值范围 3.4*10-383.4*1038 1.7*10-3081.7*10308
m;
unsigned
3、整型常量
C语言中整型常量可以用3种形式表示:
① 十进制数,如+123,-234,0,23;
② 八进制数,如 0234,0777; ③ 十六进制数,如0x234,0x9A。 整型数又分为基本整型、短整型、长整型(后加l或L) 和无符 号整型数(后加u或U) 。 前缀、后缀可同时使用以表示不同类型不同进制的整型数。 如03456LU表示八进制无符号长整型数。
int
short int long int unsigned int unsigned short unsigned long
2
2 4 2 2 4
-32768(-215)~32767(215-1)
-32768(-215)~32767(215-1)
-2147483648(231)~2147483647(231-1)
阶 符
指数部分
数 符
尾数部分
2. 实型变量的定义
float f,f1; double d; /* 定义f、f1为单精度实型变量 */ /* 定义d为双精度实型变量 */
0~65535(216-1) 0~65535(216-1) 0~4294967295(232-1)
任何一种数据类型都有常量和变量之分
2、整型变量的定义
例如:int long

C语言程序设计第四版PPT 谭浩强

C语言程序设计第四版PPT 谭浩强
case '9' : y="A";
case '8' : y="B"; case '7' : y="C"; case '6' : y="D"; default : y="E"; } printf("Level:%c\n",y);
注意: 同前;case后的数据类型; 每个case后的break语句; 使用相同语句的分支合并。
printf("It's a positive number\n");
else
printf("less than zero\n");
关系运算符
< <= == !=
> >= 优先级高 优先级低
关系运算符
算术运算→关系运算→赋值运算






例:P.92 L.8
关系表达式
➢用关系运算符连接算术表达式(或 字符/关系/逻辑/赋值表达式)形成
选择结构(分支结构)流程
Y
语句组1
条件
N
语句组2
循环结构流程
条件
N
Y
语句组
第4章 选择结构
选择结构(分支结构)流程YΒιβλιοθήκη 语句组1条件N
语句组2
选择结构实例
P.66 例3.5 一元二次方程 程序存在的问题:用户输入的数据必 须保证b2-4ac≥0,否则调用sqrt函数 会出错。 改进:P.86 例4.1 是否还有不完善之处?
文件名
尽信书,则不如无书
算法在程序中的重要性

C语言程序设计第四版PPT-谭浩强

C语言程序设计第四版PPT-谭浩强

文件f2的 文件信息区
文件f3的 文件信息区
文件的基本知识——文件的操作 写文件:打开-写-关闭 读文件:打开-读-关闭
文件的打开
功能:为文件建立相应的信息区(存放 文件信息)和文件缓冲区(暂时存放输入 输出的数据) 函数: fopen(文件名,使用文件方式); 例: fopen("a1.dat","r");
第10章 文件
本章内容
10.1 文件的基本知识 10.2 打开与关闭文件 10.3 顺序读写数据文件 10.4 随机读写数据文件 10.5 文件读写的出错检测
文件的基本知识——输入输出
之前各章中处理的数据 ➢输入:键盘->内存 ➢输出:内存->显示器 实际上也可能是 ➢输入:外部设备->内存(读文件) ➢输出:内存->外部设备(写文件) 操作系统把各种设备都统一作为文件处理
文件
顺序文件的读写——读写字符串
例10.3 从键盘输入3个字符串,排序,把排
序后的字符串写入文件(P.342-343) 读上面写好的文件(P.344)
顺序文件的读写——格式化读写
fprintf(文件指针,格式字符串,输出表列); fscanf (文件指针,格式字符串,输入表列);
例: fprintf (fp,"%d,%6.2f",i,f); fscanf (fp,"%d,%f",&i,&f);
用文件扩展名”
文件的基本知识——流式文件
C语言把文件看作是字符(或字 节)的序列。
文件以“流”的形式在程序与操 作系统间流动。
文件的基本知识——数据的形式
根据数据的组织形式,数据文件可分为 ASCII文件:数据逐个字符的ASCII码 输出到外存,也称文本文件 二进制文件:内存中二进制形式的数据 直接输出到外存

C语言程序设计第四版谭浩强-PPT课件

C语言程序设计第四版谭浩强-PPT课件
例: printf("%d",sizeof(int));
浮点型数据(Floating point,即实型) 浮点型常量
两种表示形式 十进制小数:例如 3.14159 指数形式:例如 1.72e3
main( ) { float x; x=23456.789; printf("x=%e",x); }
25string26string字符串结束符占一个字节由系统自动加上源代码中china27字符常量字符串常量定界符非负整数存储要求单个字符的ascii码有效字符和结束标志0的ascii码2829整型intshortlong浮点型floatdoublelongdouble字符型char数据可混合运算运算前先自动转换成同一类型必定转换floatdoublecharint运算对象类型不同时由较低精度向较高精度转换成相同类型精度
常变量
C99新增 存储方式和用法都是变量,但只能在 定义时赋值一次
C语言的数据类型
1.基本类型 整型、浮点型、字符型 2.派生类型 数组,结构体,共用体 3.指针类型 4.空类型 5.枚举型
整型数据(Integer) 整型常量
三种数制的表示形式
十进制(Decimal):例如 八进制(Octal):例如
上周实验题讲解
P.6例1.1 P15习题5 教材例1.3
——增加输入提示,便于用户操作
——也可以不用函数
——多次运行,测试各种顺序的组合
P15习题6
——三个数比较:用max函数比较两次
第3章
顺序程序设计
3.1 最简单的程序结构——顺序结构
数据输入 运算处理
结果输出
顺序结构流程
步骤1 步骤2 步骤3
10 + 'a' – 10.1 * 'b'

谭浩强版C程序设计教学.ppt

谭浩强版C程序设计教学.ppt

人工输入
自动识别输入
键盘输入 联机手写输入 16
•优点:
–自然,流畅 –小型化,适合移动计算
•不足:
–识别速度和正确性还需提高 –书写要求还要降低
5.1 文本与文本处理
文字符号输入计算机的方法
字符信息的输入
人工输入
自动识别输入
键盘输入 联机手写输入 语音输入
•优点:
•自然,方便,适合移动计算
•不足:
ASCII字符集包含96个可打印字符和32个控制字符 采用7个二进位进行编码 计算机中使用1个字节存储1个ASCII 字符
存在问题:
7位代码空间太小(解决方案:8位的扩充ASCII码) 不同国家和地区使用不同的字符集及其编码,互不兼容 东亚地区使用的大字符集无法编码
8
5.1 文本与文本处理
汉字如何编码?
汉字是记录汉语(国语,华语)的文字,属于表意 文字,它用符号直接表达词或词素
汉字的特点
数量大;多个国家和地区使用;字形复杂,同音字 多,异体字多
如何编码?
确定收入多少字、哪些字? 汉字在字符集中的排序方式 确定使用的代码结构和代码空间
9
5.1 文本与文本处理
文本由一系列 “字符”(character)组成,每个字符均使用二 进制编码表示
文本在计算机中的处理过程是:
(3)
文本处理
文本准备
(文字与图 表
的输入)
文本编辑
(文本处理软件)
与排版
电子 (文本编辑器)格式化的 文本存储
文本
电子文本 与传输
文本 展现
(文本阅读器)
(1)
(2)
(4)
(5)

第1章-程序设计和C语言-谭浩强第五版PPT课件

第1章-程序设计和C语言-谭浩强第五版PPT课件
2021
1.3 C语言的发展及其特点 15
15
C语言主要特点: 7、用C语言编写的程序可移植性好。 C的编译系统简洁,很容易移植到新系统 在新系统上运行时,可直接编译“标准链接库” 中的大部分功能,不需要修改源代码 几乎所有计算机系统都可以使用C语言
2021
1.3 C语言的发展及其特点 16
16
return 0;
else z = y;
}
return(z);
}
2021
35
#include <stdio.h>
int main( )
35
{
int max(int x,int y);
int a,b,c;
int max(int x,int y)
scanf(”%d,%d”,&a,&b); {
c = max(a,b);
2021
1.3 C语言的发展及其特点 12
12
C语言主要特点:
4、具有结构化的控制语句 如if…else语句、while语句、do…while语 句、switch语句、for语句 用函数作为程序的模块单位,便于实现程序的 模块化 C语言是完全模块化和结构化的语言
2021
1.3 C语言的发展及其特点 13
2021
1.3 C语言的发展及其特点 10
10
C语言主要特点: 2、运算符丰富。 有34种运算符 把括号、赋值、强制类型转换等都作为运算 符处理 表达式类型多样化
2021
1.3 C语言的发展及其特点 11
11
C语言主要特点: 3、数据类型丰富。 包括:整型、浮点型、字符型、数组类型、指针类型、 结构体类型、共用体类型 C99又扩充了复数浮点类型、超长整型(long long)、 布尔类型(bool) 指针类型数据,能用来实现各种复杂的数据结构(如 链表、树、栈等)的运算。

C语言程序设计第四版PPT 谭浩强

C语言程序设计第四版PPT 谭浩强

第9章 用户建立的 数据类型
本章内容
9.1 结构体类型和结构体变量 9.2 结构体数组 9.3 结构体指针 9.4 用指针处理链表 9.5 共用体类型
9.6 枚举类型
9.7 用typedef命名类型
9.1 结构体(Structure)
概念 不同类型的相关数据组合成一个整 体,以便引用。 例:
电话本程序 P.297
9.1 结构体
一个简单的例子
struct Teacher { char id[4]; char name[10]; int age; char course[20]; };
struct Teacher t1={"0324","Li",40,"C Language"}, t2={"1728","Hu",30,"Data Structure"}; printf("%s teaches %s\n",,t1.course); printf("No: %s teaches %s\n",t2.id,t2.course); t1=t2;
9.2 结构体数组
例子修改——结构体类型数组初始化
struct Teacher { char id[4]; char name[10]; int age; char course[20]; } teac[2]={ {"0324","Li",40,"C Language"}, {"1728","Hu",30,"Data Structure"}};
“函数”习题讲解
函数编写应注意的问题——模块划分的原则: P.203功能要单一,相互影响尽量少。例 7.17是个不好的程序。 初学者常见的习惯:输入、输出与数据处理 运算放在一个函数中。 关于数组(的首地址)作为函数的形参: P.195 数组的大小是否指定全无影响。 通常会定义一个整型的参数,接收实参数组 的大小。

谭浩强C语言程序设计PPT课件

谭浩强C语言程序设计PPT课件
1
C 语言程序设计
第13章 文件
烟台大学机电学院 石运序
.
第13章 文件
2
13.1 文件的概念 13.2 文本文件的读写 13.3 二进制文件的读写
.
13.1 文件的概述
3
13.1.1 文件和文件指针
1. 什么是文件
文件:存储在外部存储介质上相关数据的集合。
例如:程序文件中保存着程序,数据文件中保存着数据。
缓冲区cha地r 址和大小f等d; 。 /* File descriptor
*/
FILE在类usnhCso型语irgt是n言ed系中ch统a,r定无hb义os论li的dz;e对;,磁包//**盘含UBnu文g在fefte件scrtcs还dhiazi是reo.i设fh头n备o 文b文uf件*f件/er中*/
}
FFIILLE;E *文件指针变量/名* ;This is the FILE object */
.
13.1 文件的概述
10
4. 标准文件
标准文件是外部设备中的三个特殊的设备文件。它们 的文件指针是系统定义的,并由系统自动打开和关闭。这 三个标准文件分别是:
① 标准输入文件,文件指针为stdin,系统指定为 键盘。 ② 标准输出文件,文件指针为stdout,系统指定为 显示器。 ③ 标准错误输出文件,文件指针为stderr,系统指 定为显示器,输出错误信息。
对外部设备的输入输出就是对设备文件的读写。
.
13.1 文件的概述
5
2. 文件的种类 按文件存储数据的形式
➢ ASCII文件(或称文本文件) ASCII码文件中每个字节存放一个ASCII代码,代表
一个字符,此种存储形式便于输出显示,在DOS操作系统 下可以直接阅读。 ➢ 二进制文件

第3章谭浩强版C程序设计 教学PPT

第3章谭浩强版C程序设计  教学PPT
OS屏蔽了计算机中几 乎所有物理设备的技术 细节,为使用、开发和 运行其他软件提供了一 个高效、可靠的平台。
虚拟计算机
计算机硬件
OS非常庞大和复杂, 它由许多程序模块组成
24
3.1 计算机软件概述
为什么需要操作系统?
分配系统中 的资源
管理存储器 空间
控制基本的输入 /输出操作
监测计算机 运行和故障
“单任务处理”与“多任务处理”

单任务处理:前一个任务完成后才能启动后一个任务的运行,任 务是顺序执行的
多任务处理(Multitasking):允许计算机同时执行多个任务,任 务是并发执行的 编辑PPT讲稿 + 播放音乐 + 收发邮件

多任务处理举例:

多任务处理的优点:


大大提高了用户的工作效率
① 用于完成某一确定的信息处理任务
② 使用某种计算机语言描述如何完成该任务
③ 预先存储在计算机中,启动运行后才能完成任务
7
3.1 计算机软件概述
程序与数据的关系
程序所处理的对象和处
程序
理后得到的结果统称为
输入数据
计算机
输出数据
数据(分别称为输入数 据和输出数据)
程序必须处理合理的输
2,5,人,8,3
有一个,称为活动窗口,它所对应的任务称为前台任务
后台任务:除前台任务外,所有其它任务均为后台任务 前台任务与后台任务的区别:

前台任务对应的窗口(活动窗口)位于其它窗口的前面 活动窗口的标题栏比非活动窗口颜色更深(深蓝色)
前台任务与后台任务的共同点:都在计算机中运行 前台任务与后台任务的切换:
显示初始界面

C语言谭浩强完整课件

C语言谭浩强完整课件
这种双重性,使它既是成功的系统描述 语言,又是通用的程序设计语言
1.3 C语言的发展及其特点
C语言主要特点:
用C语言编写的程序可移植性好。
C的编译系统简洁,很容易移植到新系统
在新系统上运行时,可直接编译“标准链接 库”中的大部分功能,不需要修改源代码
几乎所有计算机系统都可以使用C语言
1.4.1 最简单的C语言程序举例
#include <stdio.h>
int main( )
{ printf (”This is a C program.\n”); return 0; }
当main函数执行结束前 将整数0作为函数值
1.4.1 最简单的C语言程序举例
#include <stdio.h>
#include <stdio.h> int main( ) { int a,b,sum; a = 123; b = 456; 用sum的值替代 sum = a + b; printf(”sum is %d\n”,sum); return 0; 希望输出的字符 }
例1.3求两个整数中的较大者。 解题思路: 用一个函数实现求两个整数中的较大者 在主函数中调用此函数并输出结果
#include <stdio.h> int main( ) { 因max函数的定义在main函数之后,需声明 int max(int x,int y); int max(int x,int y) int a,b,c; scanf(”%d,%d”,&a,&b); { int z; c = max(a,b); printf("max=%d\n",c); if (x > y) z = x; else z = y; return 0; return(z); } }
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

梯形法
抛物线法
2. 非数值算法 包括排序,查找,图形操作等问题。 例如排序问题,N个整数排序。
§2.2 算法举例
1 简单算法
求和:1+2+3……+100 1:S=0 2:i=1 3:S+i的值给S 4:i+1的值给i 5: 判断i<=100,如果i<=100执行3,4,5,否则算
法结束。 6:打印S的值
输入n
1=>i
当i<=n
i=>xi 1+i=>i
B:
B1
将x1去掉( 使x1 =0)
B2
2=>i
当i<=sqrt(n)
B3
如xi未去掉,则将 xi+1到xn间全部是xi
倍数的数去掉
1+i=>i
F: Y xj=0
N
Y N xj能被 xi整除
xj=0
D:
xi=0
Y
N
将xi+1到xn间
D
E 是xi倍数的数
2次扫描 :1 3 7 4 9 5
3次扫描 :1 3 4 7 9 5 4次扫描 :1 3 4 5 9 7 5次扫描 :1 3 4 5 7 9
§2.3 算法的性质
1.有穷性 操作步骤是有限的,不能无限。
2.确定性 算法中每一个步骤都是明确的,不能是模糊的
3.有零个或多个输入 可以从外界输入必要的信息.
(2)单个模块易于编写,查错,调试和修改。
(3)一个模块可以在多个地方供多个程序用, 提高编程效率。
(4)整个程序功能的修改和差错,可局限在某 一模块内进行而不考虑其它模块。
(5)适于“自顶而下”的设计
2.分解模块的原则 (1)简明性(单功能度) 每一模块应简单易懂,易于实现,且模块仅执行一种功能。 (2)独立性
2.三种基本结构
1966年 Bohra Jacopini 提出三种结构: (1)顺序结构 (2)选择结构(选取结构,分支结构) (3)循环结构
A B
顺序结构
p Y
A
N B
选择结构
A
p
Y
N
A
p N
Y
“当型”循 环
While •只有一个入口
“直到型”循 环
Until
•只有一个出口
•结构的每一部分都可能被执行到
4.有一个或多个输出 输出解或结果,没有输出的算法是没有意义的。 5.有效性
每一步能有效执行,并得到确定的结果。
§2.4 算法的表示
2.4.1用自然语言表示算法 2.4.2用流程图表示 1.ANSI表示
起止框
输入输出框 判断框 处理框
↓ → 或
流程线
○ 连接点
[ ----
注释框
特点:直观形象,清晰易懂,易于找错,但必须限制 箭头的滥用
要求各模块相对独立,修改其中某一模块而不影响其它模块,减 少各模块间数据联系。
(3)完整性 每一个模块独立完整,不要求一个模块完成多种功能,也不要求
多个模块完成一个功能。 (4)一进一出原则
单个入口和单个出口。 (5)模块大小
100行左右(2页),分解基本功能即可。
例:将1到1000之间的素数打印出来。
•结构不存在“死”循环
开始
0=>s,1= Байду номын сангаасi
I<=100?
N 输出s
i+1=>i s+i=>s
Y
结束
s=1+2+……+100 算法流程图
2.4.3 N-S流程图
1973年,美国 I,Nassi.B.Shneiderman 提出了一种 新的流程图形式。
1.N-S流程图的流程图符号 ①顺序结构 ②选择结构 ③循环结构
第2章 算 法
烟台大学 机电汽车工程学院
刘鹏
程序=数据结构+算法
数据结构是指数据的类型和数 据的组成形式:诸如线性表, 集合,树,图。
算法是用计算机解决某一问题 的方法步骤。
§2.1算法的概念
算法是解决一个问题而采取的方法和步骤。这里仅限于计算机算 法,用计算机解决某一问题而用的方法和步骤。
2.1.1计算机算法分类 1. 数值运算算法 (《数值分析》《数值方法》) ①例如 数值积分: ②线性方程组的求解: 如果|A|≠0。
去掉
E:
i+1=>j
当j<=n
将能被 xi整除的
xj去掉
F
j+1=>j
C:
G:
1=> i
当i<=n
xi=0
Y
N
把未去掉的xi打印出来
G
1+i=>i
打印xi
例2.3 2.5 2.13 2.14 2.15 将例题吃透
作业:2.4 (3) (6) (8)
(1)问题分析。
算法采用 Eratosthenes(埃拉托色尼)筛法.就将 1-1000间的非素数挖掉。其余是素数。
(2)因此,选择数据结构,可以用数组,或不用数组, 未挖掉数立即打印出来;
(3)C 语言开发平台
(4)采用结构化编程; 算法:进行细化
A
输入1~n
B
把所有的非素数去掉
C
打印全部素数
A:
程序
子程序1
子程序 2 子程序3 子程序4
程序按功能模块划分为若干基本模块(子过程), 每个子过程具有一定的功能,这些过程通过参数传 递数据。数据和过程分离为相对独立的实体。
如下图:
数据1
数据2
过程1
数据3
数据4
过程3
结构化方法
过程2
模块化原则
1.模块化的优点:
(1)对于大型程序系统便于分工编写可缩短编 程时间。
这就是一个简单的算法,i,S各占用一个存储单元。
2 排序问题 将1 4 7 3 9 5从小到大排序
(1)冒泡排序 :从左向右,相邻两个数进 行比较,如果逆序则交换位置 1次扫描 :1 4 3 7 5 9 2次扫描 :1 3 4 5 7 9
(2)选择排序 :从左向右,依次取数与后 面的数进行比较,如果逆序则交换位置 1次扫描 :1 4 7 3 9 5
A B
当P成立
A
YPN AB
A
直到P成立
0=>s
1=>i
当P成立
s=s+i i=1+i
输出s
§2.5结构化程序设计方法
1自顶向下
2逐步细化
3模块化设计
4结构化编码。
“自顶向下,逐步细化”是一种系统分解的方法。根据 需要解决的问题,对问题根据功能进行系统的分类。将 一个大的复杂的系统解成若干子系统,每一个子系统完 成原系统的某一项或多项功能。同时每一子系统又可划 分若干子系统,就像树根,逐步细化,进入第二层,第 三层……设计。
相关文档
最新文档