第三章C++简单程序设计课件
合集下载
c语言第三章ppt课件
§3.3 赋值语句
“=“是一个运算符 注意赋值表达式与赋值语句的区别
§3.4 输入输出在c中的实现
输入输出是以计算机主机为主体而言 输入输出是由函数来实现的
库函数:由厂商预先编写好,并编译成目标文件 使用库函数时,用预编译命令“#include”将有
关的“头文件”包含到用户源文件中。
#include <stdio.h> printf,scanf可不加#include命令
%m.ne和%-m.ne ,n指小数部分的小数位数 printf(“%e%10e%10.2e%.2e%-10.2e”,f,f,f, f,f); 设f=123.456,输出结果为
1.23456e+02 1.23456e+02 1.2e+02 1.2e+02 1.2e+02 ❖g格式符,用来输出实数,根据数值的大小,自动选
printf(“%f %10f %10.2f %.2f %-10.2f \n”,f,f,f,f,f) ;
运} 行结果:
123.456001 123.456001 123.46 123.46 123.46
❖e格式符:以指数形式输出实数 %e ,不指定输出数据所占宽度和数字部分的小数位数。 数值按规范化指数形式输出。 如:printf(“%e”,123.456);输出结果为1.23456e+02
❖格式控制:包含两种信息 格式说明: %格式字符 ,用于指定输出格式
普通字符或转义序列:原样输出
❖输出表列:要输出的数据(可以没有,也可以是表达 式,多个时以“,”分隔
printf(参数1,参数2,参数3……参数n )
格式字符
❖d格式符:输出十进制整数 %d ,按整型数据的实际长度输出 %md,m为指定的输出字段的宽度。如果数据的位数 小于m,则左端补空格,否则按实际位数输出 例:printf(“%4d,%4d”,a,b); 若a=123,b=12345,则输出结果为▂123,12345 %ld,输出长整型数据 例:long a=135790;printf(“%ld”,a); 也可以指定字段宽度,如%8ld
第3章 最简单的C程序设计 谭浩强版
3.1顺序程序设计举例
例3.2 计算存款利息。有1000元,想 存一年。有三种方法可选: (1)活期,年利率为r1 (2)一年期定期,年利率为r2 (3)存两次半年定期,年利率为r3 请分别计算出一年后按三种方法所得到 的本息和。
3.1顺序程序设计举例
解题思路:确定计算本息和的公式。
从数学知识可知:若存款额为p0,则: 活期存款一年后本息和为: p1=p0(1+r1) 一年期定期存款,一年后本息和为: p2=p0(1+r2) 两次半年定期存款,一年后本息和为:
sum Sum M.D.John day Date 3days 变量名和函数名中的英文字母一般用小写,以增加可读性 student_name #33 lotus_1_2_3 见名知意 不宜混淆 如l与l, o与0 $123 char a>b _above a>b
3.2.1 常量和变量
1.常量:在程序运行过程中,其值不能被改变的量 整型常量:如1000,12345,0,-345
3.1顺序程序设计举例
例3.1 有人用温度计测量出用华氏法表 示的温度(如 F,今要求把它转换为以 摄氏法表示的温度(如 C) 。 算法:
输入f的值
5 c ( f 32 ) 9
输出c的值
N-S图
5 ( f 32 ) 9
3.1顺序程序设计举例
#include <stdio.h> int main ( ) { float f,c; 定义f和c为单精度浮点型变量 f=64.0; 指定f的值 c=(5.0/9)*(f-32); 计算c的值 printf("f=%f\nc=%f\n",f,c); return 0; 输出f和c的值 }
C语言程序设计第3章课件
【例3-2】产生10~100间的随机整数,并输出。 #include <stdio.h>
#include <math.h> #include <time.h> main()
{
int a,b;
srand( time( 0 ) ) ; / * 时 间 作 为 随 便 数 种 子 , 每 运 行 一 次 , 随 机 值均不同*/
v宏定义
在C源程序中允许用一个标识符来表示一个字 符串, 称为“宏”。
在C语言中, “宏”分为有参数和无参数两种。 下面分别讨论这两种“宏”的定义和调用。
大学计算机基础
网络信息中心教研室
26
3.6 编译预处理
1 不带参数的宏定义
不带参数的宏的一般定义方式为: #define 标识符 字符串
说明:
(1) “#define”为宏定义的关键字, “标识符”表示定义 的宏名, “标识符”用大写字母,以便区分于变量名或 函数名,也可以用小写字母;
第3章
顺序结构程序设计与编译预处理
网络信息中心教研室
主要内容
3.1 C语句概述 3.2 赋值语句 3.3 输入与输出 3.4 常用函数举例 3.5 编译预处理 3.6 顺序结构程序设计举例
大学计算机基础
网络信息中心教研室
2
3.1 C语句概述
C语言的语句用来向计算机系统发出指令, 单 独的一条语句或者是复合语句完成特定的操作, 这些操作的不同组合,用来实现一系列数据处理 功能。
4. 复合语句 把多个语句用{语句1;语句2;...语句n}这种形式
构成一个比较复杂的语句称为复合语句,又称为 语句块。
如两个变量之间数据的交换。此时,应把复合语句 看成一个单条语句。例如:
#include <math.h> #include <time.h> main()
{
int a,b;
srand( time( 0 ) ) ; / * 时 间 作 为 随 便 数 种 子 , 每 运 行 一 次 , 随 机 值均不同*/
v宏定义
在C源程序中允许用一个标识符来表示一个字 符串, 称为“宏”。
在C语言中, “宏”分为有参数和无参数两种。 下面分别讨论这两种“宏”的定义和调用。
大学计算机基础
网络信息中心教研室
26
3.6 编译预处理
1 不带参数的宏定义
不带参数的宏的一般定义方式为: #define 标识符 字符串
说明:
(1) “#define”为宏定义的关键字, “标识符”表示定义 的宏名, “标识符”用大写字母,以便区分于变量名或 函数名,也可以用小写字母;
第3章
顺序结构程序设计与编译预处理
网络信息中心教研室
主要内容
3.1 C语句概述 3.2 赋值语句 3.3 输入与输出 3.4 常用函数举例 3.5 编译预处理 3.6 顺序结构程序设计举例
大学计算机基础
网络信息中心教研室
2
3.1 C语句概述
C语言的语句用来向计算机系统发出指令, 单 独的一条语句或者是复合语句完成特定的操作, 这些操作的不同组合,用来实现一系列数据处理 功能。
4. 复合语句 把多个语句用{语句1;语句2;...语句n}这种形式
构成一个比较复杂的语句称为复合语句,又称为 语句块。
如两个变量之间数据的交换。此时,应把复合语句 看成一个单条语句。例如:
第3章简单的C程序设计ppt课件
问题5:限定用户输入数据为以下格式为
12↙
34↙
同时要求程序输出结果为a = "12", b = "34"
C语言大学实用教程课件 制作人苏小红
24
输入数据的格式控制——例3.10
#include <stdio.h> main() {
int a, b;
ssccaannff(("%"d%d%%d*"c,%&da",, &&b)a;, &b);
问题4:限定用户输入数据为以下格式为 1234↙
同时要求程序输出结果为a = 12, b = 34
C语言大学实用教程课件 制作人苏小红
23
输入数据的格式控制——例3.10
#include <stdio.h> main() {
int a, b;
scanf("%d%%dd"",,&&aa,,&&bb));; printf("a = %\d",%db\"=, %bd\=n"\,"%ad,\"b\)n;", a, b); }
int data1, data2, sum; char op;
printf("Please enter the expression
data1 + data2\n");
scanf("%d%c%d",&data1, &op, &data2);
printf("%d%c%d = %d\n", data1, op, data2, data1+data2);
《C语言程序设计》第3章简单的C程序设计-PPT课件
3.3.2 数据格式输出——printf()函数
printf()功能:按控制字符串规定的格式,向 输出设备输出各输出项 基本格式为: printf(“控制字符串”,输出项列表) printf(“s=%d\n”, s);
控制字符串由格 式说明和普通字 符两部分组成。 输出项可以是常量、变量、 表达式,其类型与个数必 须与控制字符串中格式字 符的类型、个数一致、各 项之间用逗号分隔。
• 一个大型C程序的结构
C语句分为以下五类:
1.控制语句 控制语句用于控制程序的流程,以实现程 序的各种结构方式。 分三类: ① 条件判断语句:if语句、switch语句。 ② 循环执行语句:for语句、do while语 句、while语句。 ③ 转向语句:break语句、goto语句、 continue语句、return语句。
3.3 数据格式输入/输出
3.3.1 数据输入/输出的概念
• 数据输入/输出是相对计算机内存
在C语言中所有的数据输入/输出都是由库 函数完成的。 因此都是函数语句。 使用库函数时,要使用预编译命令 : #include “stdio.h” 或 #include <stdio.h> 注:printf() 和 scanf()函数不需要头包含文 件。
说明:
1. 赋值符“=” 右边的表达式可以又是一个赋 值表达式 例如:a=b=c=5; 相当于 c=5; b=c; a=b; 2. 注意变量说明中给变量赋初值和赋值语句的 区别。 int a=3,b=4,c=5; 相当于 int a,b,c; a=3;b=4;c=5; 3. 在变量说明中,不允许连续给多个变量赋初 值。 如下述说明是错误的:in表达式;
功能:将赋值运算符右侧“表达式”的值赋给 左侧的变量。例如,以下均为赋值表达式: x=3 (x的值为3) y=z=-1(等价于y=(z=-1),y和z的值都为-1) a=(b=10)/(a=2) (b的值为10,a的值为5) y=(7+6)%5/3 (y的值为1) 若在赋值表达式后面加上“;”,则构成赋值 语句.
C语言程序设计-第三章-简单程序设计PPT课件
例如: 圆周率π的近似值3.142 , 自然对数底e的近似值2.7183 等。
常量可以直接书写在程序中,称为字面常量。
程序
#include <stdio.h> void main() {
printf(“%f\n”, 2.7183); }
打印出2.7183
C程序设计 第三章 简单程序设计主讲:高利军
3
第三章 简单程序设计
本章介绍最简单的C程序,包括
• 变量 • 表达式 • 赋值 • 输入输出
第1
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
3.1 常量及常量定义
在程序执行期间不变的数据称为常量 。
按上述语法规则,一个变量声明的形式如下: T id , id =初值, ... , id ;
C程序设计 第三章 简单程序设计主讲:高利军
7
其中: 1. 每个 id 是一个标识符,是由该变量声明引进的变量。
也是相应变量的名字;也可以直接给变量赋初值。
2. T 是类型,可以是任何一种类型符,包括已经学过的: 各种浮点类型、 各种整数类型、 字符类型、 布尔类型、 枚举类型,
c:
PS
C程序设计 第三章 简单程序设计主讲:高利军
10
3.2.4 变量地址
在C程序中,经常使用一个变量的存储区及其地址。因此 C 给出一个运算符
& 该运算符是一个单目运算符,把它缀在一个变量前,求相应 变量的内存地址。例如对于本节开始的变量 v 而言,运算
&v 将得到 v 的地址 0F000 。
声明:
i、j、k、t 为 int 型变量; c 为 char 型变量; amount、total为float型变量; flag 为 bool 型变量; color 为一个枚举型变量。
常量可以直接书写在程序中,称为字面常量。
程序
#include <stdio.h> void main() {
printf(“%f\n”, 2.7183); }
打印出2.7183
C程序设计 第三章 简单程序设计主讲:高利军
3
第三章 简单程序设计
本章介绍最简单的C程序,包括
• 变量 • 表达式 • 赋值 • 输入输出
第1
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
3.1 常量及常量定义
在程序执行期间不变的数据称为常量 。
按上述语法规则,一个变量声明的形式如下: T id , id =初值, ... , id ;
C程序设计 第三章 简单程序设计主讲:高利军
7
其中: 1. 每个 id 是一个标识符,是由该变量声明引进的变量。
也是相应变量的名字;也可以直接给变量赋初值。
2. T 是类型,可以是任何一种类型符,包括已经学过的: 各种浮点类型、 各种整数类型、 字符类型、 布尔类型、 枚举类型,
c:
PS
C程序设计 第三章 简单程序设计主讲:高利军
10
3.2.4 变量地址
在C程序中,经常使用一个变量的存储区及其地址。因此 C 给出一个运算符
& 该运算符是一个单目运算符,把它缀在一个变量前,求相应 变量的内存地址。例如对于本节开始的变量 v 而言,运算
&v 将得到 v 的地址 0F000 。
声明:
i、j、k、t 为 int 型变量; c 为 char 型变量; amount、total为float型变量; flag 为 bool 型变量; color 为一个枚举型变量。
C语言程序设计第三章课件PPT课件
an integer
result
-2 5 -11
the result is the remainder of -11/5
-10
remainder
-1
an integer
第10页/共51页
求余(Modulus)
11 Example: % -5 = 1
an integer
result
-2 -5 11
10
similar to
j = i – 2; i = i + 1;
i 56 j ?3?
第30页/共51页
后缀(Postfix)增1和减1运算 符
int a=3; printf("%d", -a++);
similar to
printf("%d", -a); a = a + 1;
a 34
第31页/共51页
• 当算术表达式包含两个或两个以上的算术 运算符时 ◘ 首先要确定运算顺序 ◘ 所有的运算符都有一个优先级 ( Order of Precedence )
第13页/共51页
算术表达式 (Arithmetic Expression)
优先级(Order of Precedence)
High: Low: + -
an integer
the result is a float
第7页/共51页
求余(Modulus)
• It returns the remainder that occurs after performing the division of 2 operands
• Rule:
• Operands must be integers
《C语言程序设计》第3章最简单的C程序设计
20
3.2.1 常量和变量
3.常变量: 在定义变量时,如果加上关键字const,则变量 的值在程序运行期间不能改变。 定义形式: const 类型 常量标识符 = 常量值
例:
const int a=3; const double PI = 3.14159;
21
3.2.1 常量和变量
4.标识符:一个对象的名字 大小写字母是不同的字符 C语言规定标识符只能由字母、数字和下划线3 种字符组成,且第一个字符必须为字母或下划线
4
3.1顺序程序设计举例
#include <stdio.h> int main ( ) 输出 { float f,c; scanf("%f",&f); c=(5.0/9)*(f-32); printf("f=%f\nc=%f\n",f,c); return 0; }
5
输入
3.2 数据的表现形式及其运算
3.2.1 常量和变量-练习
下面正确的字符常量是( C)
A) "c" B) "\\"
合法
C) 'W'
D) '\'
'\t'
下面不正确的字符串常量是( A )
A) 'abc ' B) "12'12"
C) "0"
D) " "
14
3.2.1 常量和变量-练习
写出下面C程序的运行结果 #include <stdio.h> int main ( ) {
3.2.1 常量和变量
3.2.2 数据类型
3.2.1 常量和变量
3.常变量: 在定义变量时,如果加上关键字const,则变量 的值在程序运行期间不能改变。 定义形式: const 类型 常量标识符 = 常量值
例:
const int a=3; const double PI = 3.14159;
21
3.2.1 常量和变量
4.标识符:一个对象的名字 大小写字母是不同的字符 C语言规定标识符只能由字母、数字和下划线3 种字符组成,且第一个字符必须为字母或下划线
4
3.1顺序程序设计举例
#include <stdio.h> int main ( ) 输出 { float f,c; scanf("%f",&f); c=(5.0/9)*(f-32); printf("f=%f\nc=%f\n",f,c); return 0; }
5
输入
3.2 数据的表现形式及其运算
3.2.1 常量和变量-练习
下面正确的字符常量是( C)
A) "c" B) "\\"
合法
C) 'W'
D) '\'
'\t'
下面不正确的字符串常量是( A )
A) 'abc ' B) "12'12"
C) "0"
D) " "
14
3.2.1 常量和变量-练习
写出下面C程序的运行结果 #include <stdio.h> int main ( ) {
3.2.1 常量和变量
3.2.2 数据类型
2022年大学计算机专业课程:第3章最简单的C程序设计 教学课件 (共60张PPT).ppt
union
unsigned
void
volatile
while
数据类型
所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的
存储形式。不同的类型分配不同的长度和存储形式。
基本整型 int
短整型 short int
整型类型
长整型 long int
*双长整型 long long int
2
-32768~32767(-215~215-1)
unsigned short [int]
unsigned short
2
0~65535(0~216-1)
[signed ]long [int]
long
4
-2147483648~2147483647(-231~231-1)
unsigned long [int]
字符型 char
数据类型
基本类型
*布尔型 bool
枚举类型 enum
单精度浮点型 float
空类型 void
派生类型
浮点类型
双精度浮点型 double
指针类型 *
复数浮点型 float_complex,double_complex,long long _complex
数组类型 [ ]
结构体类型 union
函数类型
计算机中带符号整型数的表示:补码
正整数的补码就是此数的二进制形式,5的补码:
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
1
负整数的补码是①将此数绝对值的二进制形式;②除最高位符号位外其他数取反;③加1。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
运行结果: Enter the year: 2000 2000 is a leap year Enter the year: 2001 2001 is a leap year
– 形式三: if ( 表达式1 ) 语句1 格式: else if (表达式2 ) 语句2 例:if (num>=90) result=“优”; …... else if (num>=80) else if (表达式n ) 语句n+1 result=“良”; else if (num>=70) else [ 语句n ] result=“中”; else if (num>=60) result=“及格”;; else result=“不及格”;
运行结果: sum=5050
循环控制语句
• do…while语句
do <语句> while (<表达式>);
• for语句
for (<表达式1>;<表达式2>;<表达式3>) <语句>
do…while语句
先执行循环体,后判断条件的情况
例:
输入一个整数,将各位数字反转后输出。
#include <iostream.h> void main(void) { int n, right_digit, newnum = 0; cout << "Enter the number: "; cin >> n; cout << "The number in reverse order is do { right_digit = n % 10; cout << right_digit; n /= 10; } while (n != 0); cout<<endl; } ";
数据的输出
cout是通用重载运算符“<<”执行输出操作,在流 操作中,将“<<”称为插入运算符。 格式:cout <<表达式1 [<<表达式2 <<… <<表达式n]; 功能:系统自动根据表达式类型输出。 设x=3,y=4,若要输出结果为:x=3, y=4 cout<<"x="<<x<<",y="<<y<<endl; 或 cout<<"x="<<x<<",y="<<y<<"\n"; 如何写?
形式三 执行过程:
表达式1
非0
=0 =0
表达式2
非0
=0
表达式3
非0
语句1
语句2
语句3
语句4
输入两个整数,比较两个数的大小。 输入两个整数,比较两个数的大小。
#include<iostream.h> void main( ) { int x,y; cout<<"Enter x and y:"; cin>>x>>y; if (x!=y) if (x>y) cout<<"x>y"<<endl; else cout<<"x<y"<<endl; else cout<<"x=y"<<endl; }
例
求一个数的绝对值
#include <stdio.h> void main() { int x,y; cout<<"Enter an integer:"; cin>>x; if(x<0) y= -x; else y=x; cout<<“x="<<x<<“\ty="<<y<<"\n"; } 运行: Enter an integer:-12↵ X=-12 y=12
switch(op) { case '+': cout<<x<<op<<y<<'='<<x+y<<endl; break; case '-': cout<< x<<op<<y<<'='<<x-y<<endl; break; case '*': cout<< x<<op<<y<<'='<<x*y<<endl; break; case '/': if(y==0.0) cout<<"error\n"; else cout<< x<<op<<y<<'='<<x/y<<endl; } }
sin(30)= 0.5
# include "iostream.h" #include "math.h" #define PI 3.1415926 void main() { float xx, ,yy; ;, y; cin>>x; float x=30 cout<<"input x: "; y=sin(x*PI /180); cin>>x; cout<<"sin("<<x<<")="<<y<<endl; y=sin(x*PI /180); } cout<<"sin("<<x<<")="<<y<<endl; }
使用switch语句应注意的问题
• case分支可包含多个语句,且不用{ }。 • 每个case后面的常量表达式的值必须不同。 • 表达式、判断值都是int型或char型。 • 若干分支执行内容相同可共用一组语句。
条件运算符与条件表达式
• 一般形式:
表达式1?表达式2:表达式3 表达式1 必须是 bool 类型
循环控制语句
• while语句
while (<表达式>) <语句>
假(0) 表达式 真(非 0) 语句 语句 当表达式的值为真(非 0)
(a)
(b)
While 语句 例3-15
求自然数1~100之和 分析:本题需要用累加算法,累加过程 是一个循环过程,可以用while语句实现。
#include<iostream.h> void main( ) { int i=1, sum=0; while(i<=100) { sum+=i; i++; } cout<<"sum="<<sum <<endl; }
二、执行过程 1.计算表达式e的值 2.若与常量表达式ci值一致,则从语句i 开始执行;直到遇到break语句或 switch语句的“}”为止 3.若与任何常量表达式值均不一致时, 则执行default语句,或执行后续语句
例
switch(score) { case 5: cout<<“Very good!”; case 4: cout<<“Good!”; case 3: cout<<“Pass!”; case 2: cout<<“Fail!”; default : cout<<“data error!”; }
算法的基本控制结构
• 顺序结构 • 分支结构 • 循环结构
顺序结构
#include <iostream.h> Void main() { int a,b,t; cin>>a>>b; cout <<“a=“<<a<<“\tb=“<<b<<endl; t=a; a=b; b=t; cout<<“a=“<<a<<“\tb=“<<b<<endl; }
C++简单程序设计
基本语句
• 基本语句是一类简单的语句,包括表达式语句、空语 句、复合语句和控制语句等。 • C++中任何一个表达式加上分号(“ ;”)便是表达式 语句。
– 例如:
a=a+5; x=3,y=5,z=8;
– 这些都是表达式语句。
• 空语句是指只有一个分号(“ ;”)的语句。 • 复合语句是由两条或两条以上的语句组成,并由一对 花括号(“{ }”)括起来的语句。 {a=x; x=y; y=a;}
表达式
=0
语句1
语句2
例:输入一个年份,判断是否闰年。
思路:判断是否为闰年,须符合以下条件之一: 1、能被4整除,但不能被100整除 2、被400整除。 (year % 4 == 0 && year % 100 != 0) ||(year % 400 == 0)
#include <iostream.h> void main(void) { int year; bool IsOK; cout << “Enter the year: “; cin >> year; IsOK = ((year % 4 == 0 && year % 100 != 0)||(year % 400 == 0)); if (IsOK) cout << year << " is a leap year" << endl; else cout << year << " is not a leap year" << endl; }