C语言程序设计谭浩强.ppt
合集下载
c语言程序设计第6章(谭浩强)PPT版本
![c语言程序设计第6章(谭浩强)PPT版本](https://img.taocdn.com/s3/m/0b5c19030740be1e650e9a5b.png)
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 完整版](https://img.taocdn.com/s3/m/c8ffd0667fd5360cba1adb73.png)
语句
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](https://img.taocdn.com/s3/m/b4b0120710661ed9ad51f3d5.png)
二.
实型数据
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 谭浩强](https://img.taocdn.com/s3/m/896a68fe915f804d2a16c17b.png)
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 是否还有不完善之处?
文件名
尽信书,则不如无书
算法在程序中的重要性
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-谭浩强](https://img.taocdn.com/s3/m/a8ad2d5677c66137ee06eff9aef8941ea76e4be6.png)
文件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课件](https://img.taocdn.com/s3/m/f7eac633c5da50e2524d7fef.png)
例: 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'
浮点型数据(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](https://img.taocdn.com/s3/m/03c305e0360cba1aa811daed.png)
人工输入
自动识别输入
键盘输入 联机手写输入 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课件](https://img.taocdn.com/s3/m/86374cda4a7302768f99399d.png)
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) 指针类型数据,能用来实现各种复杂的数据结构(如 链表、树、栈等)的运算。
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 谭浩强](https://img.taocdn.com/s3/m/d5e23bf5f90f76c661371a38.png)
第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课件](https://img.taocdn.com/s3/m/8935c60d83d049649b6658a9.png)
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操作系统 下可以直接阅读。 ➢ 二进制文件
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](https://img.taocdn.com/s3/m/89f39069caaedd3383c4d385.png)
OS屏蔽了计算机中几 乎所有物理设备的技术 细节,为使用、开发和 运行其他软件提供了一 个高效、可靠的平台。
虚拟计算机
计算机硬件
OS非常庞大和复杂, 它由许多程序模块组成
24
3.1 计算机软件概述
为什么需要操作系统?
分配系统中 的资源
管理存储器 空间
控制基本的输入 /输出操作
监测计算机 运行和故障
“单任务处理”与“多任务处理”
单任务处理:前一个任务完成后才能启动后一个任务的运行,任 务是顺序执行的
多任务处理(Multitasking):允许计算机同时执行多个任务,任 务是并发执行的 编辑PPT讲稿 + 播放音乐 + 收发邮件
多任务处理举例:
多任务处理的优点:
大大提高了用户的工作效率
① 用于完成某一确定的信息处理任务
② 使用某种计算机语言描述如何完成该任务
③ 预先存储在计算机中,启动运行后才能完成任务
7
3.1 计算机软件概述
程序与数据的关系
程序所处理的对象和处
程序
理后得到的结果统称为
输入数据
计算机
输出数据
数据(分别称为输入数 据和输出数据)
程序必须处理合理的输
2,5,人,8,3
有一个,称为活动窗口,它所对应的任务称为前台任务
后台任务:除前台任务外,所有其它任务均为后台任务 前台任务与后台任务的区别:
前台任务对应的窗口(活动窗口)位于其它窗口的前面 活动窗口的标题栏比非活动窗口颜色更深(深蓝色)
前台任务与后台任务的共同点:都在计算机中运行 前台任务与后台任务的切换:
显示初始界面
虚拟计算机
计算机硬件
OS非常庞大和复杂, 它由许多程序模块组成
24
3.1 计算机软件概述
为什么需要操作系统?
分配系统中 的资源
管理存储器 空间
控制基本的输入 /输出操作
监测计算机 运行和故障
“单任务处理”与“多任务处理”
单任务处理:前一个任务完成后才能启动后一个任务的运行,任 务是顺序执行的
多任务处理(Multitasking):允许计算机同时执行多个任务,任 务是并发执行的 编辑PPT讲稿 + 播放音乐 + 收发邮件
多任务处理举例:
多任务处理的优点:
大大提高了用户的工作效率
① 用于完成某一确定的信息处理任务
② 使用某种计算机语言描述如何完成该任务
③ 预先存储在计算机中,启动运行后才能完成任务
7
3.1 计算机软件概述
程序与数据的关系
程序所处理的对象和处
程序
理后得到的结果统称为
输入数据
计算机
输出数据
数据(分别称为输入数 据和输出数据)
程序必须处理合理的输
2,5,人,8,3
有一个,称为活动窗口,它所对应的任务称为前台任务
后台任务:除前台任务外,所有其它任务均为后台任务 前台任务与后台任务的区别:
前台任务对应的窗口(活动窗口)位于其它窗口的前面 活动窗口的标题栏比非活动窗口颜色更深(深蓝色)
前台任务与后台任务的共同点:都在计算机中运行 前台任务与后台任务的切换:
显示初始界面
C语言谭浩强完整课件
![C语言谭浩强完整课件](https://img.taocdn.com/s3/m/b2c2c97e9b6648d7c1c74629.png)
这种双重性,使它既是成功的系统描述 语言,又是通用的程序设计语言
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.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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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结构化编码。
“自顶向下,逐步细化”是一种系统分解的方法。根据 需要解决的问题,对问题根据功能进行系统的分类。将 一个大的复杂的系统解成若干子系统,每一个子系统完 成原系统的某一项或多项功能。同时每一子系统又可划 分若干子系统,就像树根,逐步细化,进入第二层,第 三层……设计。