C高级语言程序设计第三章PPT课件
合集下载
C语言程序设计实用教程第3章精品PPT课件
例如:#include<stdio.h>
#include <math.h> 这里的#include是编译预处理命令,其作用是将某个已经存在的文件 包含到程序中来。包含了头文件”stdio.h”才能调用标准输入输出函数; 包含了”math.h”才能调用数学函数。考虑到printf和scanf函数使用频 繁,系统允许使用这两个函数时可不加#include命令。 ② 库函数调用规则
?
6
第三章 顺序结构程序设计
3.1.1 控制语句
if~else~语句 选择分支语句 switch语句
结构化语句
while语句
控制语句
循环语句 do-while语句 for语句
非结构化语句
continue语句 限定转向语句 break语句
return语句
?
C语句
控制语句
if( ) ~ else ~ switch for ( ) ~ while ( ) ~ do ~ while( ) continue
break
goto
return
if (x>y) z=x;
else z=y;
a=3;
表达式语句 由表达式加一个分号构成一个语句。
复合语句
由{ }将一些语句括起来。
重点与难点:
各种数据类型的输入和输出格式控制。
11.10.2020
C语言程序设计
1
第三章 顺序结构程序设计
第三章 顺序程序设计
3.1 C语句概述 3.1.1 控制语句 3.1.2 表达式语句 3.1.3 复合语句
3.2 数据的输入与输出 3.2.1 字符输入输出函数 3.2.2 格式输出函数 3.2.3 格式输入函数
#include <math.h> 这里的#include是编译预处理命令,其作用是将某个已经存在的文件 包含到程序中来。包含了头文件”stdio.h”才能调用标准输入输出函数; 包含了”math.h”才能调用数学函数。考虑到printf和scanf函数使用频 繁,系统允许使用这两个函数时可不加#include命令。 ② 库函数调用规则
?
6
第三章 顺序结构程序设计
3.1.1 控制语句
if~else~语句 选择分支语句 switch语句
结构化语句
while语句
控制语句
循环语句 do-while语句 for语句
非结构化语句
continue语句 限定转向语句 break语句
return语句
?
C语句
控制语句
if( ) ~ else ~ switch for ( ) ~ while ( ) ~ do ~ while( ) continue
break
goto
return
if (x>y) z=x;
else z=y;
a=3;
表达式语句 由表达式加一个分号构成一个语句。
复合语句
由{ }将一些语句括起来。
重点与难点:
各种数据类型的输入和输出格式控制。
11.10.2020
C语言程序设计
1
第三章 顺序结构程序设计
第三章 顺序程序设计
3.1 C语句概述 3.1.1 控制语句 3.1.2 表达式语句 3.1.3 复合语句
3.2 数据的输入与输出 3.2.1 字符输入输出函数 3.2.2 格式输出函数 3.2.3 格式输入函数
高级语言程序设计第三章.ppt
24.03.2019 13
顺序结构
例3-6
任意输入三个数,求由这三个数组成的三 角形的面积。
24.03.2019
14
顺序结构
例3-7
分别输入学生的姓名、性别、年龄、成绩 信息,并将信息显示在窗体上。
24.03.2019
15
顺序结构
MsgBox函数和MsgBox语句
函数形式:
MsgBox(msg [,type][,title])
24.03.2019 21
分支(选择)结构
单分支结构
格式1(行If语句): If 条件 Then 语句序列
条件
N
格式2 (块If结构):
Y
语句 If 条件 Then 语句序列 End If 功能:如果“条件”成立(其值为True)或为非0值, 则执行“语句序列”,否则,直接执行IF语句的下 一条语句。
24.03.2019 33
分支(选择)结构
多分支结构(Select Case多分支结构)
① <表达式1>[,<表达式2>]…… 当“测试表达式”的值与其中之一相同,就执 行该Case子句中的语句序列。例如: Case 2,4, 6 ② <表达式1> To <表达式2> 当“测试表达式”的值落在表达式1和表达式2 之间(含自身),则执行该Case子句中的语句序列。 表达式1<表达式2。 例如: Case 1 To 6 ③ Is <关系表达式> 当“测试表达式”的值满足“关系表达式”指 定条件时,执行该Case子句中的语句序列。 24.03.2019 例如: Case Is>10 34
功能:根据“测试表达式”的值,从多个语句序 列中选择符合条件的一个语句序列执行。
顺序结构
例3-6
任意输入三个数,求由这三个数组成的三 角形的面积。
24.03.2019
14
顺序结构
例3-7
分别输入学生的姓名、性别、年龄、成绩 信息,并将信息显示在窗体上。
24.03.2019
15
顺序结构
MsgBox函数和MsgBox语句
函数形式:
MsgBox(msg [,type][,title])
24.03.2019 21
分支(选择)结构
单分支结构
格式1(行If语句): If 条件 Then 语句序列
条件
N
格式2 (块If结构):
Y
语句 If 条件 Then 语句序列 End If 功能:如果“条件”成立(其值为True)或为非0值, 则执行“语句序列”,否则,直接执行IF语句的下 一条语句。
24.03.2019 33
分支(选择)结构
多分支结构(Select Case多分支结构)
① <表达式1>[,<表达式2>]…… 当“测试表达式”的值与其中之一相同,就执 行该Case子句中的语句序列。例如: Case 2,4, 6 ② <表达式1> To <表达式2> 当“测试表达式”的值落在表达式1和表达式2 之间(含自身),则执行该Case子句中的语句序列。 表达式1<表达式2。 例如: Case 1 To 6 ③ Is <关系表达式> 当“测试表达式”的值满足“关系表达式”指 定条件时,执行该Case子句中的语句序列。 24.03.2019 例如: Case Is>10 34
功能:根据“测试表达式”的值,从多个语句序 列中选择符合条件的一个语句序列执行。
C语言程序设计第三章课件PPT课件
第17页/共51页
赋值语句 (Assignment Statement)
• 三种赋值形式: • Simple——简单赋值 • Multiple——多重赋值 • Shorthand——简写的复合赋值
第18页/共51页
算术混合运算
第19页/共51页
【例3.1】计算并输出一个三位 整数的个位、十位和百位数字之 和关键是如何分离个位、十位和百位数字?
变量x = 变量x 运算符op 表达
式;
这种变形式量看x起来运更直算观符,且o执p行效率=一般也表更达高一式些;
第23页/共51页
3.1.2复合的赋值运算符 (Combined Assignment Operators)
Example:
num = num + 5;
15 + 520
num 1250
Example: num += 5; similar to num = num + 5
}
第37页/共51页
计算圆的周长和面积
#include <stdio.h> #define PI 3.14159; #define R 5.3; main() {
printf("area = %f\n", PI * R * R); printf("circumference = %f\n", 2 * PI * R); }
#include <stdio.h> main()
【例3.5】
{
const double PI = 3.14159;
an integer
result
-2 5 -11
the result is the remainder of -11/5
赋值语句 (Assignment Statement)
• 三种赋值形式: • Simple——简单赋值 • Multiple——多重赋值 • Shorthand——简写的复合赋值
第18页/共51页
算术混合运算
第19页/共51页
【例3.1】计算并输出一个三位 整数的个位、十位和百位数字之 和关键是如何分离个位、十位和百位数字?
变量x = 变量x 运算符op 表达
式;
这种变形式量看x起来运更直算观符,且o执p行效率=一般也表更达高一式些;
第23页/共51页
3.1.2复合的赋值运算符 (Combined Assignment Operators)
Example:
num = num + 5;
15 + 520
num 1250
Example: num += 5; similar to num = num + 5
}
第37页/共51页
计算圆的周长和面积
#include <stdio.h> #define PI 3.14159; #define R 5.3; main() {
printf("area = %f\n", PI * R * R); printf("circumference = %f\n", 2 * PI * R); }
#include <stdio.h> main()
【例3.5】
{
const double PI = 3.14159;
an integer
result
-2 5 -11
the result is the remainder of -11/5
最新《C语言程序设计》课件——第三章课件PPT
21
第三章 数据类型、 运算符和表达式
第四节 算术运算符和算术表达式 Arithmetic Operations and Expressions
4.1 基本算术运算符 4.2 运算符的优先级和结合性 4.3 自增、自减运算符
22
4.1 基本算术运算符
第三章 数据类型、 运算符和表达式
+(加法运算或正号运算符) -(减法运算或负号运算符) * (乘法运算符) /(除法运算符) % (求余运算符,或称模运算符)
int a=0,b=0,c=0; /*指定a,b,c为整型变量,a、b、c的 初值为0*/
19
3.4 实型变量
第三章 数据类型、 运算符和表达式
1、分类
所占位数 取值范围
float
单精度
32
-3.4*10-38 ~3.4*1038
double 双精度
64
-1.7*10-308 ~1.7*10308
基本类型
– 整型 – 字符型 – 实型(浮点型)
• 单精度、双精度
构造类型
– 数组类型 – 结构体类型 – 共用体类型
指针类型
空类型
第三章 数据类型、 运算符和表达式
3
第三章 数ቤተ መጻሕፍቲ ባይዱ类型、 运算符和表达式
第三章 数据类型、 运算符和表达式
第三章 数据类型、 运算符和表达式
第三章 数据类型、 运算符和表达式
long double长双精度
128 -1.2*10-4932 ~1.2*104932
2、变量的定义
float x,y; double z;
/*指定x,y为单精度实型变量*/ /*指定z为双精度实型变量*/
20
C语言程序设计第三章 PPT课件
2020/3/30
顺序结构程序
天津冶金职业技术学院
1
一、C语句概述 二、格式输出和输入 三、字符输出和输入 四、顺序结构程序设计举例
2020/3/30
顺序结构程序
天津冶金职业技术学院
2
3.1.1 C语句的五种类型
1.表达式语句
一般形式为:表达式; 执行语句就是计算表达式 的值 例:i++ 是个自增一表达式
一般形式为:变量=表达式 赋值语句的功能和特点都与赋值表达式相同,使用中应注意以下几点: 1.赋值表达式和赋值语句的区别
表达式可以出现在允许表达式出现的地方,语句则不能 例如:
下述语句是合法的 if((x=y+5)>0) z=x; 语句的功能是:若x=y+5大于0则z=x 下属语句是非法的 if((x=y+5;)>0) z=x; 因为x+y是语句,不能出现在表达式中
顺序结构程5 序
创建图表
天津冶金职业技术学院
2.注意变量初始化和赋值语句的区别
在变量初始化时,不允许连续给多个变量赋初值 比如: int a=b=c=5; 这种写法是错的,必须写为: Int a=5,b=5,c=5;
赋值语句允许连续赋值给变量,赋初值 是变说明的一部分。赋初值后的变量与 其后的其他同类变量之间仍必须用逗号 间隔,而赋值语句必须用分号结尾。
顺序结构程6 序
创建图表
天津冶金职业技术学院
【例3.1】 条件语句中赋值表达式的使用 程序如下:
#include <stdio.h> main() {
int a,b=8,k; if((a=b++)>=0)
k=1; else
顺序结构程序
天津冶金职业技术学院
1
一、C语句概述 二、格式输出和输入 三、字符输出和输入 四、顺序结构程序设计举例
2020/3/30
顺序结构程序
天津冶金职业技术学院
2
3.1.1 C语句的五种类型
1.表达式语句
一般形式为:表达式; 执行语句就是计算表达式 的值 例:i++ 是个自增一表达式
一般形式为:变量=表达式 赋值语句的功能和特点都与赋值表达式相同,使用中应注意以下几点: 1.赋值表达式和赋值语句的区别
表达式可以出现在允许表达式出现的地方,语句则不能 例如:
下述语句是合法的 if((x=y+5)>0) z=x; 语句的功能是:若x=y+5大于0则z=x 下属语句是非法的 if((x=y+5;)>0) z=x; 因为x+y是语句,不能出现在表达式中
顺序结构程5 序
创建图表
天津冶金职业技术学院
2.注意变量初始化和赋值语句的区别
在变量初始化时,不允许连续给多个变量赋初值 比如: int a=b=c=5; 这种写法是错的,必须写为: Int a=5,b=5,c=5;
赋值语句允许连续赋值给变量,赋初值 是变说明的一部分。赋初值后的变量与 其后的其他同类变量之间仍必须用逗号 间隔,而赋值语句必须用分号结尾。
顺序结构程6 序
创建图表
天津冶金职业技术学院
【例3.1】 条件语句中赋值表达式的使用 程序如下:
#include <stdio.h> main() {
int a,b=8,k; if((a=b++)>=0)
k=1; else
C 高级语言程序设计第三课PPT课件
}2020/8/14
北京邮电大学信息与通信工程学院
-20-
3.2 if选择语句
4、if 语句的嵌套 if (表达式1) if (表达式2) 语句1
else 语句2
else if (表达式3) 语句3
else 语句4
2020/8/14
北京邮电大学信息与通信工程学院
-21-
2020/8/14
北京邮电大学信息与通信工程学院
else
cout<<y<<endl;
2020/8/14
北京邮电大学信息与通信工程学院
-15-
例子
任意输入一个4位整数的年份,判断该 年是否是润年?
是指年份能被4整除的那些年,但不包 括能被100整除而不能被400整除的年
2020/8/14
北京邮电大学信息与通信工程学院
-16-
#include <iostream> using namespace std; void main() {
例如:比较x和y的大小,如果x大则输出x的值
if ( x>y ) cout<<x<<endl;
2020/8/14
北京邮电大学信息与通信工程学院
-14-
3.2 if选择语句
2、双分支
if (表达式) 语句1;
else 语句2;
例如:比较x,y的大小,将较大的数输出
if ( x>y )
cout<<x<<endl;
-22-
例子:输出a,b,c中较大的数
#include <iostream>
using namespace std;
C语言程序设计第3章.ppt
例如: putchar('A'); /*输出大写字母A*/ putchar(97); /*输出小写字母a*/ putchar(ch); /*输出字符变量ch的值*/ putchar(\101); /*输出大写字母A */ putchar(‘\n’); /*换行,(执行控制功能,*/
大学计算机基础
网络信息中心教研室
C语言程序是一个由main()体内的若干变量的 声明、赋值等操作以及若干函数组成的,没有编 译过的程序称为源程序。
源程序的某些行称为语句,每个语句的最后有 一个半角分号“;”,用来表示语句的结束。用“;” 隔开的语句,可以写在同一行,也可以写成几行, 但这些语句必须包含在函数体中。
大学计算机基础
网络信息中心教研室
第3章
顺序结构程序设计与编译预处理
网络信息中心教研室
大学计算机基础
主要内容
3.1 C语句概述 3.2 赋值语句 3.3 输入与输出 3.4 常用函数举例 3.5 编译预处理 3.6 顺序结构程序设计举例
网络信息中心教研室
2
3.1 C语句概述
C语言的语句用来向计算机系统发出指令,单 独的一条语句或者是复合语句完成特定的操作, 这些操作的不同组合,用来实现一系列数据处理 功能。
5. 空语句 只有“;”号的语句称为空语句 .
如:
for(i=0;i<32768;i++)
;
/*空语句,注意它的意义*/
大学计算机基础
网络信息中心教研室
7
3.2 赋值语句
赋值语句的构成形式 赋值语句是由赋值表达式再加上“;”构成,其一般形式为:
变量=表达式; 例如:
sum=0; x=y+z; a=b=c=10; 连续赋值与赋值运算符的右结合性
大学计算机基础
网络信息中心教研室
C语言程序是一个由main()体内的若干变量的 声明、赋值等操作以及若干函数组成的,没有编 译过的程序称为源程序。
源程序的某些行称为语句,每个语句的最后有 一个半角分号“;”,用来表示语句的结束。用“;” 隔开的语句,可以写在同一行,也可以写成几行, 但这些语句必须包含在函数体中。
大学计算机基础
网络信息中心教研室
第3章
顺序结构程序设计与编译预处理
网络信息中心教研室
大学计算机基础
主要内容
3.1 C语句概述 3.2 赋值语句 3.3 输入与输出 3.4 常用函数举例 3.5 编译预处理 3.6 顺序结构程序设计举例
网络信息中心教研室
2
3.1 C语句概述
C语言的语句用来向计算机系统发出指令,单 独的一条语句或者是复合语句完成特定的操作, 这些操作的不同组合,用来实现一系列数据处理 功能。
5. 空语句 只有“;”号的语句称为空语句 .
如:
for(i=0;i<32768;i++)
;
/*空语句,注意它的意义*/
大学计算机基础
网络信息中心教研室
7
3.2 赋值语句
赋值语句的构成形式 赋值语句是由赋值表达式再加上“;”构成,其一般形式为:
变量=表达式; 例如:
sum=0; x=y+z; a=b=c=10; 连续赋值与赋值运算符的右结合性
C程序设计课件(第3章)
整理ppt
6
3.2.1 运算符重载概述
(3)不能创建新的运算符,只能重载c++中已 有的运算符。
(4)有些运算符不能进行重载。如:“.”类成 员运算符、“*”类指向运算符、“::”类 作用域运算符、“?:”条件运算符及 “sizeof”求字节数运算符。
整理ppt
7
3.2.2 运算符重载的实现
运算符重载的本质就是函数重载。在实现过程 中,首先把指定的运算表达式转化为对运算符函数 的调用,运算对象转化为运算符函数的实参,然后 根据实参的类型来确定需要调用的函数,这个过程 是在编译过程中完成的。运算符重载形式有两种: 重载为类的成员函数和重载为类的友元函数。
整理ppt
3
3.2.1 运算符重载概述
{ real = r, image = i; } void Print(); private: double real, image; }; void Complex::Print() { if(image<0) cout<<real<<image<<'i'; else cout<<real<<'+'<<image<<'i'; }
在以前的学习中,C++中预定义的运算符的操 作对象只能是基本数据类型如int或float等。实 际上,对于很多用户自定义的类型(如类),也需 要有类似的运算操作。
例如复数类Complex。
class Complex
{
public:
Complex () { real=image=0; }
Complex (double r, double i)
c语言程序设计(三章11.30).ppt
#include <stdio.h> void main( ) { int a,b; scanf(“%d%d”,&a,&b”); if (b= =10) y=a+b; else y=a-b;
if (a= =1)
if (b= =2) y=2*a-b; else y=a+2*b;
printf(“%d”,y);
}
【例】输入2个实数,按由大到小的顺序输出这2个数。 #include<stdio.h> if (a>b) void main( ) { printf(“%f,%f”,a,b);
If (a<b)
float a, b, temp; printf(“Input a, b:”);
scanf(“%f,%f”, &a, &b); if (a<b) { temp = a; //a,b交换 a = b; b = temp; } printf(“%f, %f\n”,a, b);
然后用这个变量的值与要比较的数逐个进行比较在比较时如果发现这个最大小值变量的值比这个要比较的数小大则将这个数存放到最大小值变量中使该变量始终存放着一个所有已比较的数中的最大小值
第三章
控制结构
重点:
1、单分支和双分支if语句的基本用法。 2、If语句的嵌套使用。 3、Switch语句的基本用法。 4、while、do-while语句的基本用法。 5、for 语句的使用。
例:
int a, b, c, d,sum; a = b+c*d; c ++;
sum =a+b++;
3)函数调用语句 通常函数调用语句作为表达式语句的一部分,因此函数调用语 句可并入表达式语句. 例: a=max(a,b,c); printf(“%d%o\n”,x , y+8); 4)空语句 只有一个;的语句叫空语句,是表达式语句的特例,该语句不 做任何事情。
if (a= =1)
if (b= =2) y=2*a-b; else y=a+2*b;
printf(“%d”,y);
}
【例】输入2个实数,按由大到小的顺序输出这2个数。 #include<stdio.h> if (a>b) void main( ) { printf(“%f,%f”,a,b);
If (a<b)
float a, b, temp; printf(“Input a, b:”);
scanf(“%f,%f”, &a, &b); if (a<b) { temp = a; //a,b交换 a = b; b = temp; } printf(“%f, %f\n”,a, b);
然后用这个变量的值与要比较的数逐个进行比较在比较时如果发现这个最大小值变量的值比这个要比较的数小大则将这个数存放到最大小值变量中使该变量始终存放着一个所有已比较的数中的最大小值
第三章
控制结构
重点:
1、单分支和双分支if语句的基本用法。 2、If语句的嵌套使用。 3、Switch语句的基本用法。 4、while、do-while语句的基本用法。 5、for 语句的使用。
例:
int a, b, c, d,sum; a = b+c*d; c ++;
sum =a+b++;
3)函数调用语句 通常函数调用语句作为表达式语句的一部分,因此函数调用语 句可并入表达式语句. 例: a=max(a,b,c); printf(“%d%o\n”,x , y+8); 4)空语句 只有一个;的语句叫空语句,是表达式语句的特例,该语句不 做任何事情。
C语言程序设计第三章课件
⑦continue
(结束本次循环语句)
⑧goto
(转向语句)
⑨return
(返回语句)
2019/12/3
佳木斯大学
4
3-1 C语句概述
第3章
3.1 3.2
C语言的语句可以分为5类
3Hale Waihona Puke 3(2)函数调用语句,由函数调用加一个分号
3.4
构成一个语句。
其一般形式为:
函数名(实际参数表);
例如:printf(“C Program”); 调用库函数,输出字符串。
3.1 3.2
【例3-4】输入一个字符,然后输出。
3.3
#include<stdio.h>
3.4
main()
/* 此程序可修改 */
{ char c;
#include<stdio.h>
c=getchar(); main()
putchar(c);
{putchar(getchar());
}
} 运行输入: A
运行结果: A
2019/12/3
佳木斯大学
15
3-3-2 getchar()函数
第3章
3.1 【例3-5】输入一个大写字母,变成小
3.2 3.3
写字母输出。
3.4 #include<stdio.h>
main()
{ char c;
c= getchar();
putchar(c+32);
} 运行时输入A则输出a
(3)表达式语句,由一个表达式加一个分号 构成。
其一般形式为:
表达式;
2019/12/3
佳木斯大学
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
形式描述
• 流程图表示 以流程图符号表示程序的执行流程
2021/4/6
-7-
第7页/共68页
欧几里得算法描述举例
辗转相除法求两个自然数m和n的最大公约数,假定m≥n
• 伪代码描述:
流程图描述:
开始
1. input m,n 2. r=m%n; 3. while (r!=0)
3.1 m=n; 3.2 n=r; 3.3 r=m%n; 4. output n;
int sum=0,i=0; whil(i<=10) {
sum+=i; i++; } cout<<sum<<endl; }
55
2021/4/6
-34-
第34页/共68页
例3:打印可视字符
#include<iostream> using namespace std; void main() {
unsigned char ch=32; while(ch<128) {
• 3、多分支
2021/4/6
if (表达式1) 语句1;
else if (表达式2) 语句2;
else if (表达式3) 语句3; …
else 语句n;
-15-
第15页/共68页
2021/4/6
-16-
第16页/共68页
例子:输出学生的成绩
#include <iostream> using namespace std; void main() {
3.3 switch选择语句
2021/4/6
-22-
第22页/共68页
3.3 switch选择语句
switch (表达式)
{
case 常量表达式1:
语句1 break;
跳出switch语句
case 常量表达式2:
语句2
break;
┇
case 常量表达式n:
语句n
2021/4/6
-23-
第23页/共68页
• 伪码
采用类似计算机语言的分句格式,以自然语言描述算法。
2021/4/6
-3-
第3页/共68页
3.1 算法的基本控制结构
• 流程图
开始/结束 执行
判断 联系
2021/4/6
-4-
第4页/共68页
3.1 算法的基本控制结构
• 程序的三种基本控制结构 (1)顺序结构 (2)选择结构 (3)循环结构
int x; cin>>x; if(x>=90)
cout<<“优秀”<<endl; else if(x>=80)
cout<<“良好”<<endl; else if(x>=60)
cout<<“合格”<<endl; else
cout<<“不及格”<<endl; }
2021/4/6
-17-
第17页/共68页
}
2021/4/6
-39-
第39页/共68页
3.4 循环语句
• for循环语句
for (表达式1; 表达式2; 表达式3) 循环体;
• 循环结构
1、表达式1 循环变量初始化; 2、表达式2 循环控制条件; 3、表达式3 循环变量的变化;
2021/4/6
-40-
第40页/共68页
例1:编程循环输出1-9这9个数字?
cout<<i<<endl; i++; } cout<<“循环结束”<<endl; }
运行结果: 1 2 3 4 5 6 7 8 9 循环结束
2021/4/6
-33-
第33页/共68页
例2:编程计算1+2+3+….+10的值
#include <iostream> using namespace std; void main() {
int year; cin>>year; if ((year % 4==0) &&
!((year %100 == 0) && (year % 400!=0))) cout<<"润年"<<endl;
else cout<<"不是润年"<<endl;
}
2021/4/6
-14-
第14页/共68页
3.2 if选择语句
2021/4/6
-5-
第5页/共68页
3.1 算法的基本控制结构
• 流程控制语句 选择语句:if..else、switch
循环语句:while、for 、do..while 转向语句:break、continue
2021/4/6
-6-
第6页/共68页
3.1 算法的基本控制结构
• 算法及其表示
• 伪代码表示 类似于计算机语言的分句格式,以少量关键词和自然语言
2021/4/6
-24-
第24页/共68页
例子:输出学生的成绩
int x; cin>>x; switch(x/10) {
case 10: case 9:cout<<“优秀”<<endl;
break; case 8: cout<<“良好”<<endl;
break; case 7: case 6: cout<<“合格”<<endl;
束条件。 -31第31页/共68页
3.4 循环语句
• while循环语句
while(表达式) 循环体语句;
2021/4/6
-32-
第32页/共68页
例1:编程循环输出1-9这9个数字?
#include <iostream> using namespace std; void main() {
int i=1; while (i<9) {
using namespace std;
void main(){
cout<< (a>b?(a>c?a:c):(b>c?b:c ) );
int a,b,c;
cin>>a>>b>>c;
if (a>b)
{
if (a>c) cout<<a<<endl;
else cout<<c<<endl;
}
else
{
if (b>c) cout<<第b2<0<页e/共n6d8l页;
输入m和n
r=m%n
r=0? Y N
m=n n=r
输出n
结束
2021/4/6
-8-
第8页/共68页
3.2 if选择语句
2021/4/6
-9-
第9页/共68页
3.2 if选择语句
• if_else
1、没有else分支 2、双分支 3、多分支 4、if 语句的嵌套
2021/4/6
-10-
第10页/共68页
2021/4/6
-37-
第37页/共68页
#include <iostream> #include <iomanip> using namespace std; void main() {
int i=2; cout<<setfill('*'); while(i<=8) {
* ** *** **** ***** ****** *******
{
int k=1,sum=0,n;
cout<<"input n(n>0):";
cin>>n;
while(k<=n)
{do {sum=sum+k*k;
k++; sum=sum+k*k; } k++; if}(nw>0h) ile(k<=conut)<;<sum/n<<endl;
else cout<<"n不能<=0"<<endl;
#include <iostream> using namespace std; void main() {
for (int i=1;i<10;i++) cout<<i<<endl;
cin>>n;
while(k<=n)
{
sum=sum+k*k;
k++;
}
if(n>0)
cout<<sum/n<<endl;
else cout<<"n不能<=0"<<endl;
}
2021/4/6
-36-
第36页/共68页
3.4 循环语句
• do..while循环语句
do {
循环体语句; } while(表达式);
-20-
3.2 if选择语句
• 注意:二义性
int x=-1;
{if (x>0) }
if (x<50)
cout<<“x is <50”endl;
els最e 近if的和ief匹lse配的。对应关系,else总是与离它
• 流程图表示 以流程图符号表示程序的执行流程
2021/4/6
-7-
第7页/共68页
欧几里得算法描述举例
辗转相除法求两个自然数m和n的最大公约数,假定m≥n
• 伪代码描述:
流程图描述:
开始
1. input m,n 2. r=m%n; 3. while (r!=0)
3.1 m=n; 3.2 n=r; 3.3 r=m%n; 4. output n;
int sum=0,i=0; whil(i<=10) {
sum+=i; i++; } cout<<sum<<endl; }
55
2021/4/6
-34-
第34页/共68页
例3:打印可视字符
#include<iostream> using namespace std; void main() {
unsigned char ch=32; while(ch<128) {
• 3、多分支
2021/4/6
if (表达式1) 语句1;
else if (表达式2) 语句2;
else if (表达式3) 语句3; …
else 语句n;
-15-
第15页/共68页
2021/4/6
-16-
第16页/共68页
例子:输出学生的成绩
#include <iostream> using namespace std; void main() {
3.3 switch选择语句
2021/4/6
-22-
第22页/共68页
3.3 switch选择语句
switch (表达式)
{
case 常量表达式1:
语句1 break;
跳出switch语句
case 常量表达式2:
语句2
break;
┇
case 常量表达式n:
语句n
2021/4/6
-23-
第23页/共68页
• 伪码
采用类似计算机语言的分句格式,以自然语言描述算法。
2021/4/6
-3-
第3页/共68页
3.1 算法的基本控制结构
• 流程图
开始/结束 执行
判断 联系
2021/4/6
-4-
第4页/共68页
3.1 算法的基本控制结构
• 程序的三种基本控制结构 (1)顺序结构 (2)选择结构 (3)循环结构
int x; cin>>x; if(x>=90)
cout<<“优秀”<<endl; else if(x>=80)
cout<<“良好”<<endl; else if(x>=60)
cout<<“合格”<<endl; else
cout<<“不及格”<<endl; }
2021/4/6
-17-
第17页/共68页
}
2021/4/6
-39-
第39页/共68页
3.4 循环语句
• for循环语句
for (表达式1; 表达式2; 表达式3) 循环体;
• 循环结构
1、表达式1 循环变量初始化; 2、表达式2 循环控制条件; 3、表达式3 循环变量的变化;
2021/4/6
-40-
第40页/共68页
例1:编程循环输出1-9这9个数字?
cout<<i<<endl; i++; } cout<<“循环结束”<<endl; }
运行结果: 1 2 3 4 5 6 7 8 9 循环结束
2021/4/6
-33-
第33页/共68页
例2:编程计算1+2+3+….+10的值
#include <iostream> using namespace std; void main() {
int year; cin>>year; if ((year % 4==0) &&
!((year %100 == 0) && (year % 400!=0))) cout<<"润年"<<endl;
else cout<<"不是润年"<<endl;
}
2021/4/6
-14-
第14页/共68页
3.2 if选择语句
2021/4/6
-5-
第5页/共68页
3.1 算法的基本控制结构
• 流程控制语句 选择语句:if..else、switch
循环语句:while、for 、do..while 转向语句:break、continue
2021/4/6
-6-
第6页/共68页
3.1 算法的基本控制结构
• 算法及其表示
• 伪代码表示 类似于计算机语言的分句格式,以少量关键词和自然语言
2021/4/6
-24-
第24页/共68页
例子:输出学生的成绩
int x; cin>>x; switch(x/10) {
case 10: case 9:cout<<“优秀”<<endl;
break; case 8: cout<<“良好”<<endl;
break; case 7: case 6: cout<<“合格”<<endl;
束条件。 -31第31页/共68页
3.4 循环语句
• while循环语句
while(表达式) 循环体语句;
2021/4/6
-32-
第32页/共68页
例1:编程循环输出1-9这9个数字?
#include <iostream> using namespace std; void main() {
int i=1; while (i<9) {
using namespace std;
void main(){
cout<< (a>b?(a>c?a:c):(b>c?b:c ) );
int a,b,c;
cin>>a>>b>>c;
if (a>b)
{
if (a>c) cout<<a<<endl;
else cout<<c<<endl;
}
else
{
if (b>c) cout<<第b2<0<页e/共n6d8l页;
输入m和n
r=m%n
r=0? Y N
m=n n=r
输出n
结束
2021/4/6
-8-
第8页/共68页
3.2 if选择语句
2021/4/6
-9-
第9页/共68页
3.2 if选择语句
• if_else
1、没有else分支 2、双分支 3、多分支 4、if 语句的嵌套
2021/4/6
-10-
第10页/共68页
2021/4/6
-37-
第37页/共68页
#include <iostream> #include <iomanip> using namespace std; void main() {
int i=2; cout<<setfill('*'); while(i<=8) {
* ** *** **** ***** ****** *******
{
int k=1,sum=0,n;
cout<<"input n(n>0):";
cin>>n;
while(k<=n)
{do {sum=sum+k*k;
k++; sum=sum+k*k; } k++; if}(nw>0h) ile(k<=conut)<;<sum/n<<endl;
else cout<<"n不能<=0"<<endl;
#include <iostream> using namespace std; void main() {
for (int i=1;i<10;i++) cout<<i<<endl;
cin>>n;
while(k<=n)
{
sum=sum+k*k;
k++;
}
if(n>0)
cout<<sum/n<<endl;
else cout<<"n不能<=0"<<endl;
}
2021/4/6
-36-
第36页/共68页
3.4 循环语句
• do..while循环语句
do {
循环体语句; } while(表达式);
-20-
3.2 if选择语句
• 注意:二义性
int x=-1;
{if (x>0) }
if (x<50)
cout<<“x is <50”endl;
els最e 近if的和ief匹lse配的。对应关系,else总是与离它