设计简单计算器.

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
字符串数据
C语言除了允许使用字符常量外,还允许使用字 符串常量。字符串常量是一对双引号括起来的字符 序列。如: “How do you do.”, “China”, “a” 可以输出一个字符串,如: printf(“How do you do”);
C规定: 在每一个字符串的结尾加一个“字符串 结束标志”,以便系统据此判断字符串 是否结束。C语言以字符‘\0’作为字符 串结束标志。
任务2 选择数据类型
2.2.2 整型数据类型 整型常量 (1)十进制整数 由+或-后跟数字串组成,开头不能为0 后缀u或U:无符号整数 后缀l或L:长整数 后缀ul或UL:无符号长整数 (2)八进制整数: 以0字头,后跟0~7组成的数字串 后缀u(U)、l(L)、ul(UL)
任务2 选择数据类型
任务1 确定变量标识符
2.1.4 常量
• 定义:程序运行时其值不能改变的量(即常数) • 分类: –符号常量:用标识符代表常量
• 定义格式: #define 符号常量 • 一般用大写字母 • 是宏定义预处理命令,不是C语句 常量
–普通常量:
• 数值型常量,如:-2.5、5.8E9 • 字符常量,如:’a’、’$’、’\n’ • 字符串常量,”a”、”Good morning!”
取值范围 -215~(215 -1) -215~(215 -1) -231~(231 -1) 0~(216 -1) 0~(216 -1) 0~(232 -1)
试一试
问题2.2 学生数据包括年龄、学号,定 义变量来存放这些信息。
问题2.3 求出所使用环境中整型所占的字 节数。 【程序代码】 #include"stdio.h" void main() { int b; b=sizeof(int); printf("整型数所占字节=%d\n", b); }
3、字符变量
字符变量用来存放一个字符,其定义格式如下: char ch; /*定义一个字符变量ch*/
常用的转义字符及其含义
字符格 式 \0 \f \t \b ASCI I码 值 0 12 9 8 换页 横向跳格 退格 回车,将当前 位置移至本行 开头 换行,将当前 位置移至下一 行开头 字符格 式 \a \\ \’ \” ASCI I码 值 7 92 39 34 报警 反斜杠字符 单引号字符 双引号字符 ASCII码为1-3 位8进制数ddd 的字符 ASCII码为1-2 位16进制数hh 的字符
含义
空操作
含义
\r
13
\ddd
\n
10
\xhh
任务2 选择数据类型
练习下面代码观察输出的结果。 #include "stdio.h" void main() { printf("h\ti\b\bj k"); }
试一试
问题2.7 定义字符变量,并赋值字符和整型数据 【程序代码】 #include "stdio.h" void main() { char c1 , c2 ; c1=’a’ ; c2=’b’ ; printf("%c %c %d %d ", c1, c2, c1, c2) ; c1=97 ; c2=98; printf("%c %c %d %d ", c1, c2, c1, c2) ; }
union
void
volatile
while
任务1 确定变量标识符
指出下面哪些是非法的标识符?
a a.ss
f-2
f6 total
int
m+n main
m+n
x4b
4af int
as_d
month
关键字:main 非法字符:f-2 开头非法:4af
a.ss
任务1 确定变量标识符
2.1.3 变量 • 概念:其值可以改变的量 int a,b; • 变量名与变量值 char c1,c2; • 变量定义的一般格式: 数据类型 变量1[,变量2,…,变量n];
• 变量初始化:定义时赋初值
X=8 8
x
x是变量名,方框表示某个存储单元,单元中的数据8是变量x的值
• 变量定义位置:一般放在函数开头
1、变量名最好要做到“见名知义”。 2、变量必须“先定义、后使用”。 3、声明变量需要有数据类型,目的是告知编 译系统所声明的变量需要占用的存储单元数 目,以便编译系统为变量分配存储单元,因 为不同类型的数据在内存中所占用的存储单 元大小不同的。 4、使用变量时要注意变量的三要素:数据类 型、变量名和当前值。 5、变量中保存了数据后还可以重新赋值,重 新赋值后,新数据就取代了原来的数据。
2.1.1 命名数据对象
在程序中使用标识符来命名数据对象,为了 保存数据对象的信息,将数据对象的值存放 在变量中,简单计算器中涉及的变量名如下: oper1 /*操作数1*/ oper2 /*操作数2*/ sum /*和*/ sub /*差*/ mul /*乘积*/ div /*商*/
任务1 确定变量标识符
任务2 选择数据类型
2.2.4 字符型数据
1、字符常量
C语言中的字符常量有两种: (1) 单引号括起来的普通字符。如:’a’,’s’等都是字符常量。
(2) 单引号括起来的转义字符。如:’\n’表示换行,常用转义字符
2、字符串常量
字符串常量是用双引号括起来的一串字符序列。 例如:”as”,”a”,””(空串)。
C 数 据 类 型
构造类型
指针类型
空类型void 定义类型typedef
任务2 选择数据类型
随机器各异 2.2.2 整型数据类型 不同整型数据所占存储空间及取值范围
数据类型 int short long
unsigned int unsigned short unsigned long
占用字节数 2(16位) 2(16位) 4(32位) 2(16位) 2(16位) 4(32位)
本项目由4个任务组成。 任务1:使用合适的标识符命名数据对 象; 任务2:为每个变量确定合适的数据类 型; 任务3:实现人机交互; 任务4:使用C语言的运算符和表达式实 现计算器的加减乘除运算。
任务1 确定变量标识符
任务分析:
简单计算器在实现两个数的加减乘 除运算时,涉及到三个数据:操作数1、 操作数2、结果值,这些数据必须保存 在变量中,否则就会丢失。 任务1将确定使用哪些变量标识符来 保存这些数据,以及如何给这些变量标 识符命名。
8E2
分别把十进制、八进制和十六进制值赋值给int 和long型变量
任务2 选择数据类型
2.2.3 实型数据
浮点常数 实数 双精度型常数
1、实型常量的表示
浮点常数有两种书写形式:
(1)定点格式,即由正负号、整数部分、十进制小数点和小数部分
组成。例如,123.45,-256.701等。
(2)指数格式,即在定点表示的基础上,后面再加上一个e或E后
auto break case char const continue default do
double
else
enum
extern
float
for
goto
if
int
long
register
return
short
signed
sizeof
static
struct
switch
typedef
unsigned
跟一个l~3位整数。如-1.234E18,2.74e-2,2.71828e0,86e-3等
任务2 选择数据类型
2、实型变量的表示
(1)实型变量的分类
单精度浮点型 — float
双精度浮点型 — double
(2)各种实型变量所占的字节数、有效数字及取值范围
数据类型
float double
占用字节数
2.1.2 标识符 程序设计者为自定义的变量、函数、类型 所起的名字
可由1~31个字符组成(当然有些长度只允许8 个,这是因系统不同而异) 只能由字母、数字、下划线组成,且第一个字 母必须是字母或下划线 不能与关键字同名,尽量“见名知义” 区分大小写
任务1 确定变量标识符
2.1.1 关键字 关键字又称保留字,是程序设计语言中规定的、 有固定含义的单词符号。(32个)
4 8
有效数字
6-7 15-16
取值范围
10-37-1038 10-307-10308
long double
10 18-19 10-4931-10-4932 不同实型数据所占存储空间及取值范围
任务2 选择数据类型
练习1、学生数据包括成绩等,定义变量名来存放这 些信息。
练习2、下面代码输出的结果。 #include "stdio.h" void main() { double a = 112121.123; printf("%14.4f\n", a); }
#define PI 3.14159 void main() { int r=5, area; area=PI*r*r; printf("area=%d", area); }
任务2 选择数据类型
任务分析:
C语言中所有变量必须指定数据类型,变量 的数据类型决定了该变量只能保存指定类型的 数据,也决定了该变量只能执行该数据类型允 许的操作 。 C语言的基本数据类型包括整型、实型、字 符型。没有小数部分的数就是整型类型,而加 了小数点的数则是实型(也称为浮点类型), 单个字母或符号更广泛地说是字符类型。
/*操作数1*/ /*操作数2*/ /*和*/ /*差*/ /*积*/ /*商*/
任务2 选择数据类型
整 基本类型 型 短整型 short 整型 int 长整型 long 单精度型 float 实 型 双精度型 double 字符类型 char 数组 结构体 struct 数据类型决定: 共用体 union 枚举类型 enum 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作
2.3.1 整型数据
整型常量 (3)十六进制整数 以数字0和字母x(或X)开头,后跟0~9、 a~f(A~F)组成的数字字母串。 后缀u(U)、l(L)、ul(UL)
任务2 选择数据类型
指出下面数据哪些是非法的整型常量?
-12
-028
练习
012
+025U
0x3F
0X30
12L
3f
0x8e2
0Xa
问题: 试说明字符串常量和字符常量的区别 。
任务3 实现人机对话
设计简单计算器,需要输入操作数1和 操作数2的值,程序需要提供人机交互 的途径,以便用户输入数据,计算或处 理完输入数据之后,再把结果告诉用户。
2.2.5 变量的初始化
一、变量初始化 变量的初始化就是在定义变量的同时, 给变量赋一个值。这个值是变量产生后 第一次被赋值,所以叫赋初值。 如:int a=3; float x=5.56; char c1=’a’; 只要在定义的时候用赋值运算符赋给该 变量一个值就行。
语 言 程 序 设 计
C
项目二 设计简单计算器
项目要点: 各种主要数据类型以及相应的存储格式 各种运算符的含义和使用方法 各种表达式的结果和计算过程 类型转换及其转换规则
学习目标: 掌握各种数据类型的使用方法,熟悉相应的注意事项 熟练地对各种表达式进行求值 熟悉每种类型转换的规则和使用场景
任务2 选择数据类型
练习下面代码观察输出的结果。 #include "stdio.h" void main() { char c1 ,c2 ; c1=’a’ ; c2=’b’ ; c1=c1-32; c2= c2-32; printf("%c %c %d }
%d ",c1,c2,c1,c2) ;
任务2 选择数据类型
语 言 程 序 设 计
C
工作任务导入
ຫໍສະໝຸດ Baidu工作任务
在日常生活中,我们经常用到计算器的功 能。Windows操作系统提供了一个图形界面的 计算器供用户使用。现在我们用C语言开发一 个字符界面的计算器,能够实现两个数的加减 乘除运算。如图所示。
引导问题
存放操作数的变量该如何定义,标识符命名 规则是什么? 所给数字是常量还是变量,按常量存储还是 按变量存储? 运算符该如何选择?运算符该如何表示? 如何实现换行? 如何判断所给数据是整型、浮点型还是字符 型等?不同类型的数据该如何转换? 变量和赋值运算有什么关系?
2.2.1 定义变量
任务1确定了一组变量名,在变量名确 定后,还要确定变量的数据类型,即定 义变量。由于简单计算器处理的是整数 或实数,所以该项目中的变量定义成int 型(整型)和double型(实型),定义 变量的数据类型如下:
int oper1; int oper2; int sum; int sub; int mul; double div ;
相关文档
最新文档