顺序结构程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
}
3. 1 顺序程序设计举例
例3.2 有人用温度计测量出用华氏法表示的温度为 64F,今要 求把它转换为以摄氏法表示的温度。
分析: 编程思想:
c 5 ( f 32) 9
故求解本问题的关键在于: (1)如何把该公式输入到计算机? (2)如何将计算的结果在屏幕上显示?
3. 1 顺序程序设计举例
c 5 ( f 32) 9
int main ( ) {
输出表达式
printf(“c=%f\n”, (5.0/9)*(64-32));
return 0;
普通字符
}
原样输出
格式转换说明符 将表达式的结果按实数形式输出
3. 1 顺序程序设计举例
最简单的计算程序的模式:
#include “stdio.h” int main( ) 设定输出计格算式表达式 {
3.2.1 常量与变量 整型常量
如1000,12345,0,-345
长整型数的表示: 在整型常量的后面加一个字母l或L。 如:345L
无符号整型数的表示: 在整型常量的后面加一个字母U。 如:234u
3.2.1 常量与变量
整型常量在内存中存储时(VC++6.0中)的处理规则:
⑴ 若数值在-2147483648~2147483647范围内,认为是int型的, 自动分配4字节存储空间;
ASCII码 12 92
8
\a
发出铃声
7
9
\ddd
1~3位八进制数所代表 的ASCII码字符
39
\xhh
1~2位十六进制数所代 表的ASCII码字符
34
3.2.1 常量与变量
【例3.5】
例 转义字符举例
#include “stdio.h”
运行结果:(屏幕显示)
int main()
ABC
{
I say:”How are you?”
第三讲
第3章
顺序结构程序设计
3.1 顺序程序设计举例 3.2 数据的表示形式及其运算 3.3 C语句 3.4 数据的输入输出
3. 1 顺序程序设计举例
例3.1 在屏幕上显示“Hello ,C program!”信息。
算法:在主函数中调用printf函数原样输出以上信息即可。
#include “stdio.h” int main( )
1. 数据占短内整型存s字ho节rt 数
2整. 型数据取长值整型范l围ong
基本类型
3. 其上可进行的操作
字符型char
单精度型float
浮点
C
双精度型double
数 据
枚举类型enum
类 空类型void
型
数组
结构体struct
派生类型
共用体union 指针类型(*)
函数类型
3.2.2 C语言中的数据类型
3.2.2 C语言中的数据类型
整型数据在内存中二进制补码形式存放
十进制 +73 -73
二进制(真值)
原码
+1001001 -1001001
0 100 1001 1 100 1001
补码 0 100 1001 1 011 0111
3.2.2 C语言中的数据类型
数据类型—字符型
• 占用的空间
一个字节的存储空间。
例如: 123.456可以表示为:
123.456e0, 12.3456e1, 1.23456e2, 0.123456e3, 0.0123456e4, 0.00123456e
数符
小数部分
指数
+
.123456
3
3.2.1 常量与变量
1 常量 在程序执行过程中其值不能被改变的量。
常量可分为不同类型,常用的有以下四种: ● 整型常量 ● 实型常量 ● 字符型常量 ● 字符串常量
#include “stdio.h”
int main()
{
float a,b,h,s; printf(“please input a,b and h:”);
scanf(“%f%f%f”,&a,&b,&h);
s=(a + b)*h*0.5;
利用赋值运算符
printf(“the area=%5.2f\n”,s); “=”将计算结果
符号常量 使用专门的符号来代表一个常量。
– 符号常量的定义 #define <标识符> <常量>
符号常量定义举例 #define PI 3.1415926 #define STAR ‘*’
说明:符号常量 一般使用大写英 文字母表示,以 区别一般用小写 字母表示的变量
注意:符号常量不能赋值!
STAR = ‘#’
例3.3:编写C程序,运行时输入梯形的底和高,计算梯 形的面积,并将计算结果在屏幕上进行显示。
算法:
(1)定义3个变量a、b、h,分别存放梯形的上底、下底和高; (2)调用scanf()函数输入a、b、h的值; (3)通过公式S=(a + b)×h/2计算梯形的面积; (4)调用printf()函数输出结果。
⑵ 若超过了上述范围,而在long long范围内,则认为是long long型的,分配8字节存储空间;
⑶ 若在一个整型常量后面加上字母L或l,则认为是long int型常 量,自动分配4字节存储空间;如:123L、432L、0l等。
3.2.1 常量与变量 实型常量
⑴ 十进制பைடு நூலகம்数形式
必须要有
包括符号“+”与“-”,0~9以及小数点“.”。如12.7、-12.7 ⑵ 指数形式(科学记数法)
用一对双引号括起来的一个字符序列,如: “How do you do?”、“China”、“a”、“$123.45”等
存储:系统自动为字符串常量后面加上“\0”作为字符串 结束标志,使所占内存单元多一个,但字符串常量的 长度不变。
例 ‘a’a
“a” a \0
3.2.1 常量与变量
字面常量(直接常量) 从其字面即可判断其值。
printf(“……”, ……); return 0; } 注意表达式的输出格式,如采用 “%f”,则按实数形式输出 计算表达式的结果,如果把f换成其他字符,输出的结果则不同;
实际上,此程序模式中,表达式的正确书写是求解问题的关键。
3. 1 顺序程序设计举例
例3.3:编写C程序,运行时输入梯形的底和高,计算梯 形的面积,并将计算结果在屏幕上进行显示。
未指明字符型数据的类型,各编译系统默认情况不同。
3.2.2 C语言中的数据类型
数据类型—浮点型
• 浮点型数据的子类型 单精度(float型) 双精度(double型) 长双精度型(long double)
• 存储形式 二进制指数形式存储
3.2.1 常量与变量
规范化的指数形式
• 字母e之前的小数中,小数点前的数字为0,小数点 后第一位数字不为0的表示形式
换转行义符号
{ printf(“Hello, C programV由!is系u\na统l”C)自;++动6.0加在上输的出运一行行结信果息之后。, return 0;
}
3. 1 顺序程序设计举例
最简单的输出文本信息的程序模式:
#include “stdio.h”
int main( ) {
输出信息放 在这里
3. 1 顺序程序设计举例
计算的结果直接从屏幕上进行输出
#include “stdio.h”
内存
int main() {
类系型 统说保明留格符字式,控制符
a
b
h
3.5 4.2 2.8
float a,b,h指; 定从键盘定读入义数3个据地浮的址点格表型式变量
printf(“please input a,b and h:”);
• 存储形式
存储字符相应的二进制ASCII值。
例• :系存统储保字留符字‘d’
‘dc’har
(100)10
(1100100)2
01100100
3.2.2 C语言中的数据类型
数据类型—字符型
• 字符型数据的子类型 有符号字符型 signed char 无符号字符型 unsigned char
对ch于ar有c=符1号30字; 符型数据,允许存储的值为-128~127,但字符的 代pr码int不f(“可c=能%为d\负n”值,c,); 所以在存储字符时,实际只使用0~127这一 部分。
3.2.1 常量与变量 字符型常量
普通字符:用单引号括起来的一个字符,如: ‘a ’、‘A ’等
转义字符:一个以字符‘\’开头的字符序列
转义字符及其作用
字符形式
含义
\n
换行
\r
回车
\b
退格
\t
水平制表
\'
单引号(单撇号)
\"
双引号(双撇号)
ASCII码 10 13
字符形式
含义
\f
走纸换页
\\
反斜杠字符
分析:
假设梯形的底和高已知,利用公式S=(a + b)×h/2就可计算其面积。 故求解本问题的关键在于:
(1)如何在程序运行时输入梯形的底和高? 输入函数 scanf( ) (2)输入的底和高存放在哪里? 定义变量 (3)计算结果怎样进行显示? 可直接从屏幕上输出,也可定义
存储空间存放后再输出
3. 1 顺序程序设计举例
包括符号“+”与“-”,0~9,小数点“.”以及e(或E)。如12.3e2
注意
指数形式实型常量
① 在符号e(或E)的前面必须要有数字12。.3e3 ,123E2, 1.23e4 , e-5 ,
② e(或E)的后面的指数必须为整1数.2。E-3.5 , .e3
3.浮点型数据的舍入误差
由于计算机系统分配给一个数据的存储空间是有限的。一般来 说,一个实型常量无法转换成与之等值的有限位的二进制数据, 其有限位以后的数字将被舍去,由此就会产生舍入误差。
数据类型—整型
整型
基本整型
signed (signed) int
(短sig整ne型d) short (int )
(长sig整ne型d) long (int)
unsigned unsigned int
unsigned short (int)
unsigned long (int)
• 不同平台,不同编译器,可能会迥然不同 • 凡是需要字节数的地方,一律用sizeof获得
输出提示信息
scanf(“%f%f%f”,&a,&b,&h);指定数据的宽度
输入函数 printf(“the are&a符=%号5(.2附f\n在”读, (a取+的b每)*个h*变0.量5)上; )用于指明变量
return 0;
在内存中的位置
}
运行结果:
12
3. 1 顺序程序设计举例
预 思先考定:义该存程储序空能间求,出再任输意出一计个算梯结形果的面积,原因?
printf("\101 \x42 C\n"); printf("I say:\"How are you?\"\n");
\C Program\ Turbo ‘C’
printf("\\C Program\\\n");
printf("Turbo \'C\'");
return 0;
}
3.2.1 常量与变量 字符串常量
【例3.4】 浮点型数据的舍入误差。
#include <stdio.h>
运行结果:
int main( ) { float a;
a=3.14159265;
a=3.141593
四舍五入
printf(“a=%f\n”,a); float型数据能得到7位有效数据
return 0; }
double型数据能得到15位有效数据
printf(“……”);
return 0; }
思考:在屏幕上显示:
Hello ,C I Will be an excellent programmer!
#include <stdio.h> int main( ) {
prpinritnf(tf“(H““Heelllo”o ,,)C; \nn”I )W; ill be an excellent programmer!\n”); prirnetuf(r“nI0W;ill be an excellent programmer! \n”); } return 0;
(1)如何把该公式输入到计算机? 在C语言中,利用表达式来描述数学公式,其对应的C语 言描 述是C=5/ 9*(f-32);
(2)如何将计算的结果在屏幕上显示? 计算结果的输出需要使用printf()函数的格式输出: printf(格式控制,输出项列表)
3. 1 顺序程序设计举例
#include <stdio.h>
return 0;
存储在变量中
}
3. 1 顺序程序设计举例
顺序结构程序的通用模式:
#include “stdio.h” int main( ) {
若干变量定义语句; 输入语句; 若干计算和赋值语句; 若干输出语句; return 0; }
3.2.2 C语言中的数据类型
数据类型基决本定整:型int
3.2.1 常量与变量
【例3.6】 在程序中使用符号常量。
#include”stdio.h” #define PRICE 30 int main() {
int num,total; num=10; total=num*PRICE; printf("total=%d",total); return 0; }
3. 1 顺序程序设计举例
例3.2 有人用温度计测量出用华氏法表示的温度为 64F,今要 求把它转换为以摄氏法表示的温度。
分析: 编程思想:
c 5 ( f 32) 9
故求解本问题的关键在于: (1)如何把该公式输入到计算机? (2)如何将计算的结果在屏幕上显示?
3. 1 顺序程序设计举例
c 5 ( f 32) 9
int main ( ) {
输出表达式
printf(“c=%f\n”, (5.0/9)*(64-32));
return 0;
普通字符
}
原样输出
格式转换说明符 将表达式的结果按实数形式输出
3. 1 顺序程序设计举例
最简单的计算程序的模式:
#include “stdio.h” int main( ) 设定输出计格算式表达式 {
3.2.1 常量与变量 整型常量
如1000,12345,0,-345
长整型数的表示: 在整型常量的后面加一个字母l或L。 如:345L
无符号整型数的表示: 在整型常量的后面加一个字母U。 如:234u
3.2.1 常量与变量
整型常量在内存中存储时(VC++6.0中)的处理规则:
⑴ 若数值在-2147483648~2147483647范围内,认为是int型的, 自动分配4字节存储空间;
ASCII码 12 92
8
\a
发出铃声
7
9
\ddd
1~3位八进制数所代表 的ASCII码字符
39
\xhh
1~2位十六进制数所代 表的ASCII码字符
34
3.2.1 常量与变量
【例3.5】
例 转义字符举例
#include “stdio.h”
运行结果:(屏幕显示)
int main()
ABC
{
I say:”How are you?”
第三讲
第3章
顺序结构程序设计
3.1 顺序程序设计举例 3.2 数据的表示形式及其运算 3.3 C语句 3.4 数据的输入输出
3. 1 顺序程序设计举例
例3.1 在屏幕上显示“Hello ,C program!”信息。
算法:在主函数中调用printf函数原样输出以上信息即可。
#include “stdio.h” int main( )
1. 数据占短内整型存s字ho节rt 数
2整. 型数据取长值整型范l围ong
基本类型
3. 其上可进行的操作
字符型char
单精度型float
浮点
C
双精度型double
数 据
枚举类型enum
类 空类型void
型
数组
结构体struct
派生类型
共用体union 指针类型(*)
函数类型
3.2.2 C语言中的数据类型
3.2.2 C语言中的数据类型
整型数据在内存中二进制补码形式存放
十进制 +73 -73
二进制(真值)
原码
+1001001 -1001001
0 100 1001 1 100 1001
补码 0 100 1001 1 011 0111
3.2.2 C语言中的数据类型
数据类型—字符型
• 占用的空间
一个字节的存储空间。
例如: 123.456可以表示为:
123.456e0, 12.3456e1, 1.23456e2, 0.123456e3, 0.0123456e4, 0.00123456e
数符
小数部分
指数
+
.123456
3
3.2.1 常量与变量
1 常量 在程序执行过程中其值不能被改变的量。
常量可分为不同类型,常用的有以下四种: ● 整型常量 ● 实型常量 ● 字符型常量 ● 字符串常量
#include “stdio.h”
int main()
{
float a,b,h,s; printf(“please input a,b and h:”);
scanf(“%f%f%f”,&a,&b,&h);
s=(a + b)*h*0.5;
利用赋值运算符
printf(“the area=%5.2f\n”,s); “=”将计算结果
符号常量 使用专门的符号来代表一个常量。
– 符号常量的定义 #define <标识符> <常量>
符号常量定义举例 #define PI 3.1415926 #define STAR ‘*’
说明:符号常量 一般使用大写英 文字母表示,以 区别一般用小写 字母表示的变量
注意:符号常量不能赋值!
STAR = ‘#’
例3.3:编写C程序,运行时输入梯形的底和高,计算梯 形的面积,并将计算结果在屏幕上进行显示。
算法:
(1)定义3个变量a、b、h,分别存放梯形的上底、下底和高; (2)调用scanf()函数输入a、b、h的值; (3)通过公式S=(a + b)×h/2计算梯形的面积; (4)调用printf()函数输出结果。
⑵ 若超过了上述范围,而在long long范围内,则认为是long long型的,分配8字节存储空间;
⑶ 若在一个整型常量后面加上字母L或l,则认为是long int型常 量,自动分配4字节存储空间;如:123L、432L、0l等。
3.2.1 常量与变量 实型常量
⑴ 十进制பைடு நூலகம்数形式
必须要有
包括符号“+”与“-”,0~9以及小数点“.”。如12.7、-12.7 ⑵ 指数形式(科学记数法)
用一对双引号括起来的一个字符序列,如: “How do you do?”、“China”、“a”、“$123.45”等
存储:系统自动为字符串常量后面加上“\0”作为字符串 结束标志,使所占内存单元多一个,但字符串常量的 长度不变。
例 ‘a’a
“a” a \0
3.2.1 常量与变量
字面常量(直接常量) 从其字面即可判断其值。
printf(“……”, ……); return 0; } 注意表达式的输出格式,如采用 “%f”,则按实数形式输出 计算表达式的结果,如果把f换成其他字符,输出的结果则不同;
实际上,此程序模式中,表达式的正确书写是求解问题的关键。
3. 1 顺序程序设计举例
例3.3:编写C程序,运行时输入梯形的底和高,计算梯 形的面积,并将计算结果在屏幕上进行显示。
未指明字符型数据的类型,各编译系统默认情况不同。
3.2.2 C语言中的数据类型
数据类型—浮点型
• 浮点型数据的子类型 单精度(float型) 双精度(double型) 长双精度型(long double)
• 存储形式 二进制指数形式存储
3.2.1 常量与变量
规范化的指数形式
• 字母e之前的小数中,小数点前的数字为0,小数点 后第一位数字不为0的表示形式
换转行义符号
{ printf(“Hello, C programV由!is系u\na统l”C)自;++动6.0加在上输的出运一行行结信果息之后。, return 0;
}
3. 1 顺序程序设计举例
最简单的输出文本信息的程序模式:
#include “stdio.h”
int main( ) {
输出信息放 在这里
3. 1 顺序程序设计举例
计算的结果直接从屏幕上进行输出
#include “stdio.h”
内存
int main() {
类系型 统说保明留格符字式,控制符
a
b
h
3.5 4.2 2.8
float a,b,h指; 定从键盘定读入义数3个据地浮的址点格表型式变量
printf(“please input a,b and h:”);
• 存储形式
存储字符相应的二进制ASCII值。
例• :系存统储保字留符字‘d’
‘dc’har
(100)10
(1100100)2
01100100
3.2.2 C语言中的数据类型
数据类型—字符型
• 字符型数据的子类型 有符号字符型 signed char 无符号字符型 unsigned char
对ch于ar有c=符1号30字; 符型数据,允许存储的值为-128~127,但字符的 代pr码int不f(“可c=能%为d\负n”值,c,); 所以在存储字符时,实际只使用0~127这一 部分。
3.2.1 常量与变量 字符型常量
普通字符:用单引号括起来的一个字符,如: ‘a ’、‘A ’等
转义字符:一个以字符‘\’开头的字符序列
转义字符及其作用
字符形式
含义
\n
换行
\r
回车
\b
退格
\t
水平制表
\'
单引号(单撇号)
\"
双引号(双撇号)
ASCII码 10 13
字符形式
含义
\f
走纸换页
\\
反斜杠字符
分析:
假设梯形的底和高已知,利用公式S=(a + b)×h/2就可计算其面积。 故求解本问题的关键在于:
(1)如何在程序运行时输入梯形的底和高? 输入函数 scanf( ) (2)输入的底和高存放在哪里? 定义变量 (3)计算结果怎样进行显示? 可直接从屏幕上输出,也可定义
存储空间存放后再输出
3. 1 顺序程序设计举例
包括符号“+”与“-”,0~9,小数点“.”以及e(或E)。如12.3e2
注意
指数形式实型常量
① 在符号e(或E)的前面必须要有数字12。.3e3 ,123E2, 1.23e4 , e-5 ,
② e(或E)的后面的指数必须为整1数.2。E-3.5 , .e3
3.浮点型数据的舍入误差
由于计算机系统分配给一个数据的存储空间是有限的。一般来 说,一个实型常量无法转换成与之等值的有限位的二进制数据, 其有限位以后的数字将被舍去,由此就会产生舍入误差。
数据类型—整型
整型
基本整型
signed (signed) int
(短sig整ne型d) short (int )
(长sig整ne型d) long (int)
unsigned unsigned int
unsigned short (int)
unsigned long (int)
• 不同平台,不同编译器,可能会迥然不同 • 凡是需要字节数的地方,一律用sizeof获得
输出提示信息
scanf(“%f%f%f”,&a,&b,&h);指定数据的宽度
输入函数 printf(“the are&a符=%号5(.2附f\n在”读, (a取+的b每)*个h*变0.量5)上; )用于指明变量
return 0;
在内存中的位置
}
运行结果:
12
3. 1 顺序程序设计举例
预 思先考定:义该存程储序空能间求,出再任输意出一计个算梯结形果的面积,原因?
printf("\101 \x42 C\n"); printf("I say:\"How are you?\"\n");
\C Program\ Turbo ‘C’
printf("\\C Program\\\n");
printf("Turbo \'C\'");
return 0;
}
3.2.1 常量与变量 字符串常量
【例3.4】 浮点型数据的舍入误差。
#include <stdio.h>
运行结果:
int main( ) { float a;
a=3.14159265;
a=3.141593
四舍五入
printf(“a=%f\n”,a); float型数据能得到7位有效数据
return 0; }
double型数据能得到15位有效数据
printf(“……”);
return 0; }
思考:在屏幕上显示:
Hello ,C I Will be an excellent programmer!
#include <stdio.h> int main( ) {
prpinritnf(tf“(H““Heelllo”o ,,)C; \nn”I )W; ill be an excellent programmer!\n”); prirnetuf(r“nI0W;ill be an excellent programmer! \n”); } return 0;
(1)如何把该公式输入到计算机? 在C语言中,利用表达式来描述数学公式,其对应的C语 言描 述是C=5/ 9*(f-32);
(2)如何将计算的结果在屏幕上显示? 计算结果的输出需要使用printf()函数的格式输出: printf(格式控制,输出项列表)
3. 1 顺序程序设计举例
#include <stdio.h>
return 0;
存储在变量中
}
3. 1 顺序程序设计举例
顺序结构程序的通用模式:
#include “stdio.h” int main( ) {
若干变量定义语句; 输入语句; 若干计算和赋值语句; 若干输出语句; return 0; }
3.2.2 C语言中的数据类型
数据类型基决本定整:型int
3.2.1 常量与变量
【例3.6】 在程序中使用符号常量。
#include”stdio.h” #define PRICE 30 int main() {
int num,total; num=10; total=num*PRICE; printf("total=%d",total); return 0; }