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 是否还有不完善之处?
文件名
尽信书,则不如无书
算法在程序中的重要性
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语言谭浩强完整课件
2020/12/15
1.3 C语言的发展及其特点
➢C语言是国际上广泛流行的计算机高级
语言。 ➢C语言的发展:
具有多种数据类型
BCPL语言
B语言
C语言
2020/12/15
精练、接近硬件,但 过于简单, 无数据类型
1.3 C语言的发展及其特点
• 最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。
2020/12/15
函数体
1.4.1 最简单的C语言程序举 例
#include <stdio.h>
int main( )
{
printf (”This is a C program.\n”);
return 0;
输出函数
}
2020/12/15
输出语句
1.4.1 最简单的C语言程序举 例
#include <stdio.h> int main( ) {
2020/12/15
1.3 C语言的发展及其特点
• C语言主要特点: • 运算符丰富。 • 有34种运算符 • 把括号、赋值、强制类型转换等都作为运算符处理 • 表达式类型多样化
2020/12/15
1.3 C语言的发展及其特点
• C语言主要特点: • 数据类型丰富。 • 包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型 • C99又扩充了复数浮点类型、超长整型(long long)、布尔类型(bool) • 指针类型数据,能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。
会自动地、有条不紊地进行工作 ➢计算机的一切操作都是由程序控制的,
离开程序,计算机将一事无成
2020/12/15
1.3 C语言的发展及其特点
➢C语言是国际上广泛流行的计算机高级
语言。 ➢C语言的发展:
具有多种数据类型
BCPL语言
B语言
C语言
2020/12/15
精练、接近硬件,但 过于简单, 无数据类型
1.3 C语言的发展及其特点
• 最初的C语言只是为描述和实现UNIX操作系统提供一种工作语言而设计的。
2020/12/15
函数体
1.4.1 最简单的C语言程序举 例
#include <stdio.h>
int main( )
{
printf (”This is a C program.\n”);
return 0;
输出函数
}
2020/12/15
输出语句
1.4.1 最简单的C语言程序举 例
#include <stdio.h> int main( ) {
2020/12/15
1.3 C语言的发展及其特点
• C语言主要特点: • 运算符丰富。 • 有34种运算符 • 把括号、赋值、强制类型转换等都作为运算符处理 • 表达式类型多样化
2020/12/15
1.3 C语言的发展及其特点
• C语言主要特点: • 数据类型丰富。 • 包括:整型、浮点型、字符型、数组类型、指针类型、结构体类型、共用体类型 • C99又扩充了复数浮点类型、超长整型(long long)、布尔类型(bool) • 指针类型数据,能用来实现各种复杂的数据结构(如链表、树、栈等)的运算。
会自动地、有条不紊地进行工作 ➢计算机的一切操作都是由程序控制的,
离开程序,计算机将一事无成
2020/12/15
第1章-程序设计和C语言-谭浩强第五版PPT课件
2021
32
32
例1.3求两个整数中的较大者。
➢解题思路: 用一个函数实现求两个整数中的较大者 在主函数中调用此函数并输出结果
2021
#include <stdio.h>
int main( )
33
{
int max(int x,int y);
int a,b,c;
scanf(”%d,%d”,&a,&b);
2021
1.3 C语言的发展及其特点 12
12
C语言主要特点:
4、具有结构化的控制语句 如if…else语句、while语句、do…while语 句、switch语句、for语句 用函数作为程序的模块单位,便于实现程序的 模块化 C语言是完全模块化和结构化的语言
2021
1.3 C语言的发展及其特点 13
40
#include <stdio.h>
int main( )
40
{
int max(int x,int y);
2021
1.3 C语言的发展及其特点 8
8
C语言是一种用途广泛、功能强大、使用灵活的过程 性(procedural)编程语言,既可用于编写应用软件, 又能用于编写系统软件。因此C语言问世以后得到迅 速推广。
2021
1.3 C语言的发展及其特点 9
9
C语言主要特点: 1、语言简洁、紧凑,使用方便、灵活。 只有37个关键字、9种控制语句 程序书写形式自由,源程序短
C语言主要特点: 8、生成目标代码质量高,程序执行效率高。
2021
1.4最简单的C语言程序
17
17
1.4.1 最简单的C语言程序举例 1.4.2 C语言程序的结构
32
32
例1.3求两个整数中的较大者。
➢解题思路: 用一个函数实现求两个整数中的较大者 在主函数中调用此函数并输出结果
2021
#include <stdio.h>
int main( )
33
{
int max(int x,int y);
int a,b,c;
scanf(”%d,%d”,&a,&b);
2021
1.3 C语言的发展及其特点 12
12
C语言主要特点:
4、具有结构化的控制语句 如if…else语句、while语句、do…while语 句、switch语句、for语句 用函数作为程序的模块单位,便于实现程序的 模块化 C语言是完全模块化和结构化的语言
2021
1.3 C语言的发展及其特点 13
40
#include <stdio.h>
int main( )
40
{
int max(int x,int y);
2021
1.3 C语言的发展及其特点 8
8
C语言是一种用途广泛、功能强大、使用灵活的过程 性(procedural)编程语言,既可用于编写应用软件, 又能用于编写系统软件。因此C语言问世以后得到迅 速推广。
2021
1.3 C语言的发展及其特点 9
9
C语言主要特点: 1、语言简洁、紧凑,使用方便、灵活。 只有37个关键字、9种控制语句 程序书写形式自由,源程序短
C语言主要特点: 8、生成目标代码质量高,程序执行效率高。
2021
1.4最简单的C语言程序
17
17
1.4.1 最简单的C语言程序举例 1.4.2 C语言程序的结构
C语言程序设计第五版谭浩强 ppt课件
运行结果: sum=34
C语言程序设计
第一章 C语言概述
例1.3 从键盘输入两个整数,输出其中较大的数
#include <stdio.h> void main() 声明部分,定义变量 { int max(int x,int y)
输入:10,20 输出:max = 20
int a,b,c;
scanf(“%d,%d”,&a,&b);
第6章 循环控制
第8章 函数
第7章 数组
第9章 预处理命令
第10章 指针
第11章 结构体与共用体
第12章 位运算
第13章 文件
C语言程序设计
第1章 C语言概述
C语言发展历史 C语言的特点 简单的C程序介绍 C程序的上机步骤
第一章 C语言概述
C语言程序设计
§1.1 C语言发展历史
程序设计语言的发展
<
第一章 C语言概述
9种控制语句: if( )~else~ for( )~ while( )~ do~while( ) continue break switch goto return
C语言程序设计
第一章 C语言概述
表1.1 C语言与Pascal语言比较
C语言 {} if(e) S; int i; int a[10];
不产生编译代码
❖编译预处理命令
非法
<>
例: /*This is the main /* of example1.1*/ */
C语言程序设计
§1.4 C程序的上机步骤
C程序开发步骤
编辑
开始
第一章 C语言概述
程序代码的录入, 生成源程序*.c
《C程序设计》清华大学出版社 PPT教程 第1章
1)启动Visual C++,选择“文件”菜单中的“新建” 命令,选择“文件”标签中的“C++ Source File” 选项。
2)选择源程序存放的目录和输入源程序名,单击 “确定”。 3)在编辑器中编写源程序。
4)单击F7或“编译”中的“重建全部”编译源程 序,若编译通过,单击“执行”,在DOS屏上看 结果,任按一键返回编辑器。 35
• 目标程序:
• 也称为"结果程序",是源程序通过翻译程序 加工以后所生成的程序。
• 翻译程序:
• 是指一个把源程序翻译成等价的目标程序的 程序。
15
基本术语
——三种不同类型的翻译程序
• 汇编程序:
其任务是把用汇编语言写成的源程序,翻译成机器语言形式 的目标程序。
• 编译程序:
若源程序是用高级程序设计语言所写,经翻译程序加工生成 目标程序,那么,该翻译程序就称为“编译程序”。
5
C高级语言程序设计
课程目标
• 掌握C语言的语法规则 • 掌握程序设计的基本思想和方法,养成良 好的程序设计习惯。 • 会运用编程工具进行程序的设计与实现。 • 会读、会编、会调试C程序
6
第一章
7
主要内容
计算机语言的发展
程序开发过程 C语言概述
8
计算机语言的发展
运算器 控制器 存储器 输入设备 输出设备
常用的有Turbo C 2.0、Turbo C++ 3.0、Visual C++6.0、Dev5.0等。
Turbo C++ 3.0:是一个集成环境,它具有方便、直观 和易用的界面,虽然它也是DOS环境下的集成环境,但 是可以把启动Turbo C++ 3.0 集成环境的DOS执行文件 tc.exe生成快捷方式,也可以用鼠标操作。
C语言程序设计第四版谭浩强-PPT课件
printf("%d",a);
}
字符型数据(character) 字符常量
一对单引号(即撇号' )括起的一个字符 用八进制或十六进制数(ASCII码)表示 的字符,如'\101'和'\x41' (P.40) 以 \ 开头的控制字符(P.40表3.1)
字符型数据(character) 字符变量
上周实验题讲解
P.6例1.1 P15习题5 教材例1.3
——增加输入提示,便于用户操作 ——也可以不用函数 ——多次运行,测试各种顺序的组合 P15习题6 ——三个数比较:用max函数比较两次
第3章 顺序程序设计
3.1 最简单的程序结构——顺序结构
数据输入
运算处理 结果输出
顺序结构流程
短整型 short [int]
signed
长整型 long [int]
无符号整型 unsigned …
int在不同编译系统中分配存储字节数各不 相同,可用sizeof函数测试
例: printf("%d",sizeof(int));
浮点型数据(Floating point,即实型) 浮点型常量
步骤1 步骤2 步骤3
阅读顺序结构实例
P.37-38例3.1 为什么要写 5.0/9 而不是 5/9? f 的值可否由用户输入? 本章要点:
数据的类型及运算 输入与输出
3.2 C语言的数据及运算
数据有类型(type),有具体的值(value)。 不同类型的数据存储格式不同,能够进行 的运算也不同。 数据的形式有常量,变量,表达式。
字符串(string)——概念
一对双引号(")括起的字符序列 字符串长度:字符串中字符的个数 空串:长度为0的字符串(即一个 字符都没有的字符串)表示为 ""
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 数组的大小是否指定全无影响。 通常会定义一个整型的参数,接收实参数组 的大小。
第3章谭浩强版C程序设计 教学PPT
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
有一个,称为活动窗口,它所对应的任务称为前台任务
后台任务:除前台任务外,所有其它任务均为后台任务 前台任务与后台任务的区别:
前台任务对应的窗口(活动窗口)位于其它窗口的前面 活动窗口的标题栏比非活动窗口颜色更深(深蓝色)
前台任务与后台任务的共同点:都在计算机中运行 前台任务与后台任务的切换:
显示初始界面
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二.
实型数据
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
k; p, l; short n,
变量定义后,只是在内 存中申请了相应的空间 ,此时存储空间中并没 有有意义的数据,即变 量没有确定的值。
3、常量:
在程序运行过程中,其值不能被改变的量称为常量。 算术型运算常量:123,3.1415926 常量类型: 字符型常量:’a’, “hello” 符号常量: #define 符号常量名 常量
【例】计算圆的面积和周长。
#include "stdio.h" #define PI 3.1415926 main( ) { float radius; /* radius圆的半径 */ float area,length; /* area圆的面积 */ printf ("Please input radius:"); scanf ("%f",&radius); /* 输入圆的半径 */ area = 3.1415926 *radius*radius; /* 计算圆的面积 */ PI length = 2* 3.1415926 *radius; /* 计算圆的周长*/ PI printf (“area=%f,length=%f",area,length); }
标识符分类
关键字标识符:代表固定含义,不能另作它用。 预定义标识符:代表特定含义(一般是库函数名和预编 译处理命令名),一般不另作它用。 用户标识符:
定义用户标识符时注意:
大小写有区分。 如book,BOOK, Book 。
标识符做到“见名知意”。如average, sum, length等。
关键字不能作为标识符。如do , int, if 等。
实型数据存储方式:规范化的指数形式 指其尾数部分为纯小数,即小数点前整数 部分小于1,小数点后的第1位大于0
二进制数据0.00000011101011的存储形式 假设机器字长为32位,其指数(即阶码)部分占8位,尾数占24 位,则如图所示。
31 30 24 23 22 1 0 1 1 1 1 1 0 1 0 0 1 1 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
第2章 C语言基础
2.1 数据类型 2.2 标识符、常量和变量 2.3 基本类型数据 2.4 运算符及表达式
2.1 数据类型
标准类型
基本类型 (简单) 数 据 类 型
整型 实型 字符型 用户自定义类型: 枚举类型 数组类型 单精度型 双精度型
构造类型
结构体类型
共用体类型 指针类型
空类型
2.2 标识符、常量与变量
a
4、变量:
程序执行过程中,其值可以被改变的量
6
(1)变量名:既代表某存储空间,又代表该空间存储的数据。
标识符
(2)变量的值:存放在存储单元中的数据(存储单元内容)。 (3)变量的数据类型 (内存中占据内存空间的大小和变量的取 值范围) C要求: 变量必须先声明后使用,指明其数据类型
变量定义格式: 数据类型标识符
长整型:类型标识符为1ong int或1ong。
无符号型:表示不带符号的整数。又可分为以下三种: 无符号整型:类型标识符为unsigned int。
无符号短整型:类型标识符为unsigned short
无符号长整型,类型标识符为usigned 1ong。
表2.1 各种整型数据所占内存字节数和取值范围 类型名称 占用的字 数值范围 节数
1、字符集 C语言字符集由以下几部分组成:
① 字母:~9共10个
③ 空白符:空格符、制表符、换行符等统称为空白
符共3个。
④ 标点和特殊字符:+
> & | ( ) [ ] 等25个。
{
*
}
/
;
%
? :
_
’
.
”
=
!
<
#
2、标识符:
标识符是指用来标识变量名、符号常量名、函数名、 文件名以及一些具有专门含义的有效字符序列。 ①以字母或下划线(_)开头,由字母、数字、下划线组 成的字符序列。 如:num,a8,no_1 3d,no 1,xk#1 ② 大写字母和小写字母视为两个不同的字符。 ③ 标识符的长度一般规定取前面8个字符,多余的不 被识别。例如student_name和student_num被认为是相 同的标识符student_。
如: int a , b , c;
变量名表
float d;
(4) 变量的地址:即变量所占内存空间的首字节的编号。
2.3 一.整型数据
基本类型数据
1.整型数据类型标识符
整型数据有基本型、短整型、长整型和无符号型四种。 基本整型(简称整型):类型标识符为int。 短整型:类型标识符为short int或short。