项目二 简易计算器frz

上传人:今*** 文档编号:112991963 上传时间:2019-11-07 格式:PPT 页数:54 大小:1.21MB
返回 下载 相关 举报
项目二 简易计算器frz_第1页
第1页 / 共54页
项目二 简易计算器frz_第2页
第2页 / 共54页
项目二 简易计算器frz_第3页
第3页 / 共54页
项目二 简易计算器frz_第4页
第4页 / 共54页
项目二 简易计算器frz_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《项目二 简易计算器frz》由会员分享,可在线阅读,更多相关《项目二 简易计算器frz(54页珍藏版)》请在金锄头文库上搜索。

1、项目二 简易计算器,C语言程序设计,1、数值型变量的使用。 2、编写简单的C语言程序实现数学计算。,1、C语言的数据类型。 2、C语言的运算符和表达式。,教学目标和技能要求,项目情景,1,简易计数器,程序要做三件事: 输入数据 处理数据 输出结果,相关知识,2,C语言的数据类型,一般用大写字母 是宏定义预处理命令,不是C语句 直接常量: 整型常量 实型常量 字符常量 字符串常量,如 #define PRICE 30,分类: 符号常量:用标识符代表常量 定义格式: #define 符号常量 常量,例 符号常量举例 #define PRICE 30 main() int num,total; nu

2、m=10; total=num*PRICE; printf(“total=%d“,total); ,运行结果:total=300,常量程序运行时其值不能改变的量,键盘上敲入的字符(数字、字母、特殊符号等) 如:a,b,4, n,常量,概念: 每个变量有一个名字:用标识符表示。 每个变量有一个存储空间(存储单元),该单元中的状态所表示的数为此时变量的值。,变量初始化:定义时可以赋初值,合法标识符,变量的使用:先定义,后使用,变量定义的一般格式: 数据类型 变量1,变量2,变量n;,如:int a,b,c; float x,y;,变量程序运行时其值可以改变的量,如:int a=1,b,c; flo

3、at x,y=1.2;,数据在内存中始终是以二进制形式存放的。,数据在内存中是以什么形式存放的?,按照ASCII形式存储的,键盘上敲入的字符(数字、字母、特殊符号等),C语言的数据类型,数据类型决定: 1. 数据占内存字节数 2. 数据取值范围 3. 其上可进行的操作,变量程序运行时其值可以改变的量,0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0,1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1,例: int a=2,b,c=4; float data=3.67; char ch=A; int x=1,y=1,z=1; int x=y=z=1;,例2 float

4、a,b,c; c=a%b; /Illegal use of floating point in function main,变量定义位置:一般放在函数开头,main() int a,b=2; a=1; float data; data=(a+b)*1.2; printf(“data=%fn”,data); ,例1 int student; stadent=19; /Undefined symbol statent in function main,#include void main() int x,y; /定义了两个整型变量x,y x=10; /x的值为10 y=x*x; / *就是乘号,y

5、的值等于x乘以x printf(”%d的平方是:%dn”,x,y); x=15; /x的值改为15 y=x*x; /y的值也变化了 printf(”%d的平方是:%dn”,x,y); ,例2.1 变量应用实例,13类,算术运算符 :(+ - * / % + - ),赋值运算符 :(= 及其扩展),逗号运算符 :(,),C语言的运算符,所谓表达式 : 用运算符和括号将运算对象连接起来的、符合C语法规则的式子,称为 C语言表达式 。 这里运算对象包括 : 常量、变量、函数等,例如 : x+3 , x+y , x*y+3 , x/y+10%5 , x+sin(x) , sqrt(x).,C语言表达式

6、,运算符功能,与运算量关系,运算符优先级别,结果的类型,结合方向,13种类型的运算符号,常量、变量、表达式,要求: 运算量个数 运算量类型,左结合性 右结合性,表2-4,为了使算术表达式能按正确的法则运算,C规定了运算符的优先级和结合性。 在表达式求值时,先按运算符的优先级别高低次序执行,如果优先级相同,再按结合方向处理。,C语言的运算符与表达式,算术运算符和算术表达式,% :模运算符 (求余运算符),一元运算符: - + - 结合方向:从右向左 二元运算符: + - * / % 结合方向:从左向右 优先级: - + - - * / % - + - 说明: 两整数相除,结果为整数 %要求两侧均

7、为整型数据,算术运算符和算术表达式,算术表达式: 用算术运算符和括号将运算对象(也称操作数)连接起来的、符合语法规则的式子,称为算术表达式。运算对象包括常量、变量、函数等。 例如: *.5a 是一个合法的表达式,算术运算符和算术表达式,(4) 自增、自减运算符 作用是使变量的值增或减,如: , , 等价于i = i+1 / i = i-1, i+与+i的区别:,+i/ -i是先执行i=i+1/i=i-1后,再使用i的值; i+/ i-是先使用i的值后,再执行i=i+1/i=i-1 。,算术运算符和算术表达式,n = 3 ; m = n+ ; 结果是m为3 , n为4 即n 值先赋给变量m, 然

8、后n自增1,n = 3 ; m = +n ; 结果是m为4 , n为4 即n值先自增1,然后赋给变量m,例:,算术运算符和算术表达式,注意 : (1)自增、自减运算符只能用于变量,不能用于常量或表达式。 例如 : 5+ , (x + y) + 不允许 (2)自增+、自减 -运算符是自右至左结合的。 例如 : -n+ 表示 -(n+) , 不允许 (-n )+,如果有语句 : n=3;m=-n+; printf(“%d“, -n+) ; printf(“%d“, m) ; printf(“%d“, n) ; 若 n值为 3,则先输出 -3,然后 n加 1 .,算术运算符和算术表达式,语言中有的运

9、算符为一个字符,有的运算符由两个字符组成,为避免误解,最好采取大家都能理解的写法。 例如: 不要写成i+j的形式,而应写成(i+)+j的形式,算术运算符和算术表达式,在调用函数时,实参数的求值顺序,标准并无统 一规定。 例如:的初值为,如果有下面的函数调用: printf(,i+) 在有的系统中,从左至右求值,输出“3,3”。在多数系统中对函数参数的求值顺序是自右而左,输出的是“4,3”。以上这种写法不提倡,最好改写成 j = i+; printf(“%d, %d“, j,i),不要写出别人看不懂的也不知道系统会怎样执行程序,算术运算符和算术表达式,1. 赋值运算符 赋值号 “=” 就是赋值运

10、算符。 它的作用是将一个数据或表达式的值赋给一个变量 。 如 : x = 1 ; x = a+b ;,注意类型转换:把右边的数据类型转换为左边的变量类型后,再赋值。,赋值运算符和赋值表达式,(2) 整型 赋给实型 (单,双精度型) 变量时,值不变,但以浮点数 形式存入变量中。 如 : float f ; f = 23 ; 则 f 的值为 23.000000,(1) 实型赋给整型变量时,取实型的整数部分 如 : int i ; i = 3 . 56 ; 则 i 的值为 3,具体有以下几种情况 :,赋值运算符和赋值表达式,(3) 双精度浮点数赋给单精度浮点数 float f ; double d

11、=123.456789e100 ; f = d ; 有效位取7位。,(4)字符型数据赋给整型变量时,由于字符只占一个字节, 而整型占二个字节,因此, 字符数据放到整型变量的低 8 位中。 int i ; char c = a ; i = c ;,赋值运算符和赋值表达式,0 1 1 0 0 0 0 1,0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 1,i,c,若字符型数据定义为 signed char,当最高位为1时,则前8位全补1。,例如: signed char c=376; int i; i=c ;,1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0,1 1 1

12、1 1 1 1 0,c,i,赋值运算符和赋值表达式,376代表8进制的376 3*8*8+7*8+6=254D=1111 1110B i=-2,(6) 如果 long int 赋给 int ,则取 long int 中的低 16 位给 int 变量 int a ; int a ; long b= 8 ; long b = 65536 ; a = b ; a = b ;,(5) 如果 int 型数据赋给 long int 型变量,则 long int 中低16位放 int 数据,高 16 位如果是正数(+)则全补0,如果是负数(-)则全补1。 int a = 3; int a = -3 ; lo

13、ng b ; long b ; b = a ; b = a;,赋值运算符和赋值表达式,(7) 将 unsigned int 数据赋给 long int 时,long int 高位补0 ;如果将 unsigned int 数据赋给同长度的 int 变量时,将 unsigned 型变量的内容原样赋给非unsigned 变量,但如果数据超出 非 unsigned 的范围,则出错。 unsigned int a=65535 ; int b ; b=a ; /* b= -1 */ (8) 如果将 非unsigned 数据赋给等长 unsigned 型变量,则原样照赋 (包括符号位)。,赋值运算符和赋值表

14、达式,void main( ) unsigned a ; int b = -1 ; a = b ; printf(“a = %u“, a) ; /* 结果为 65535 */ ,有符号数据赋给无符号变量。,例:,赋值运算符和赋值表达式,2. 赋值组合运算符 在赋值运算符之前加上其它运算符可以构成复合运算符。 例如 : 在 = 之前加上 + 则构成 += a += 3 相当于 a = a+3 如果表达式是由多项构成,则相当于有括号 a = a+(表达式) 例如 : a += 5*3 ; 相当于 a = a + (5*3) ;,凡是二元(二目)运算符都可以与“=”一起组成赋值组合运算。,赋值运算符

15、和赋值表达式,3. 赋值运算符结合性 赋值表达式由(单一或组合)赋值运算符将一个变量和一个表达式连接起来的式子。 赋值表达式的求解过程是 : (1)对表达式求值 ; (2)将该值赋给运算符左边的变量。 赋值运算符是自右至左结合,如 : a=(b=5) 等价于 a=b=5 运行顺序 :( 1 ) b=5 ( 2 ) a=b,赋值运算符和赋值表达式,表达式为 a + = a - = a*a 如 a=12 运行次序: (1) a = a - a*a = -132 (2) a = a+a = -264,例:,赋值运算符和赋值表达式,关系运算符和关系表达式,1.关系运算符及其优先次序 1) (大于) 4)= (大于或等于) 5)= (等于) 6)!= (不等于),说明: 关系运算符的优先级低于算术运算符 关系运算

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号