常量变量运算符和表达式

上传人:宝路 文档编号:48077496 上传时间:2018-07-09 格式:PPT 页数:58 大小:360.07KB
返回 下载 相关 举报
常量变量运算符和表达式_第1页
第1页 / 共58页
常量变量运算符和表达式_第2页
第2页 / 共58页
常量变量运算符和表达式_第3页
第3页 / 共58页
常量变量运算符和表达式_第4页
第4页 / 共58页
常量变量运算符和表达式_第5页
第5页 / 共58页
点击查看更多>>
资源描述

《常量变量运算符和表达式》由会员分享,可在线阅读,更多相关《常量变量运算符和表达式(58页珍藏版)》请在金锄头文库上搜索。

1、第二章 常量、变量、运算符和表达式1知识回顾 C语言有什么特点 如何书写编译并运行C程序 printf()函数内容摘要 C语言的数据类型 常量介绍 如何使用变量来存储信息 如何声明和初始化变量 运算符与表达式 类型转换3C语言的数据类型 数据类型是我们对数据的描述 例如 数字 整数:5,123,-9 实数:23.56,6.78,-0.12 字符 a,f等等4C语言的数据类型5数据类型描述 类类型关键键字字节数值值范围围字符char1-128127短整型short int (略为 short)2-3276732767整型int4-21474836472147438647长整型long int (

2、略为 long)4-21474836472147438647无符号字符unsigned char10255无符号短整型unsigned short2065535无符号整型unsigned int 404294967295无符号长整型unsigned long404294967295单精度浮点数float41.2E-383.4E381双精度浮点数double82.2E-381.8E30821大概范围,精度为7位2大概范围,精度为19位6数据类型说明 windows为32位计算机环境上表给出的是以此为例的各数据类型占用的内存空间字 节数和表示的数值范围 可以利用sizeof()函数获得内存空间字节

3、数 #include “stdio.h” void main() int a; /char a; short a;printf(“%d”,sizeof(a); 7常量介绍 不同类型的数据需要采用不同的方式来 存储 C语言中有两种存储数值的方式 变量 常量 值不能被改变的量被称为常量 字面常量 符号常量8常量介绍 字面常量 字面常量是指在源代码中直接输入的值 例如: int age=25;/整型常量 float score=85.5;/浮点数常量 char sex=f;/字符常量 char name10=”lucy”;/字符串常量 其中25、85.5、f、 ”lucy”是字面常量9常量介绍 整型

4、常量的表示方式 首位不为0的常量被视为10进制整数 十进制常量可以包含数字09,并可以在最前面加上正号或负号(正 号可省略) 以0打头的常量被视为八进制整数 八进制常量可以包含数字07,并可以在前面加上正号或负号 以0x或OX打头的常量被视为十六进制整数 十六进制常量可以包含数字09和字母AF,并可以在前面加上正 号或负号10常量介绍 符号常量 在程序中用一个符号来表示一个常量 这个符号就被称为符号常量 例如: 圆周率的值(3.14) C语言中使用预编译处理命令#define来定义符号常量 #define PI 3.14 /注意:#define语句不以分号结尾 则可以这样计算圆的面积:area

5、=PI*r*r 常量不能修改,程序中写 PI=3.1415 这样会引发错误 11变量介绍 变量的概念 程序运行中,其值可以被改变的量是变量 变量是计算机内存中一个被命名的数据存储位 置 使用变量名时实际上用的是存储在这里的数据 的值12变量介绍 变量的类型与数据类型是对应的 不同数值需要内存空间不同,需要不同变量类型 例如: 小型整数(如6、250和-18)需要的内存较少计算机整数运算速度非常快 大型整数和浮点数(如5000000000、或0.000000871256)需要较多存 储空间,执行数学运算所需时间更长 使用合适的变量类型,可确保程序运行效率提高13变量示例#include void

6、 main() int a,b,c,sum; /声明四个整型变量,分别存放三个数及它们的和 printf(“Enter three numbersn“); /提示用户的信息 scanf(“%d%d%d“, /分别读取三个整型数,每一个都要用 一个%d sum=a+b+c; /=做赋值,求和 printf(“n sum=%dn“,sum); /打印输出结果 14变量的定义及初始化 变量定义 任何变量都必须遵守先定义后使用的原则 变量定义的一般形式 存储类别 数据类型 变量名1,变量名2; 存储类别不是必须要求声明的部分,后面章节中将讲到这个概念 int num1,num2; /定义num1,nu

7、m2为整型变量 float avg; /定义avg为实型变量 char ch1,ch2; /定义ch1,ch2为字符型变量15变量的定义及初始化 变量定义的位置 定义在哪里是至关重要的 在哪里定义决定着这个变量在哪些范围内有效 现学习阶段,可将所有变量声明放在一起,并放置于 main()函数的主体语句中的前面16变量的定义及初始化 变量的初始化 定义变量时指示计算机为变量留出存储空间 变量值并没有指定,可能为随机值 使用变量前,一定要将其初始化为一个确定的 值17变量的定义及初始化 变量初始化方法 定义变量的同时进行赋初值的操作 定义变量后,使用赋值语句来初始化变量 int num1=34,n

8、um2; num2=67; 定义了num1和num2两个整型变量 定义的同时初始化num1为34 使用了等号“=” 赋值运算符将67赋给变量num218变量的定义及初始化 初始化注意事项 不要将变量初始化为该变量数据类型所表达的 值域允许范围之外的值 short int weight=100000;/错误 C编译器也许不会发现这种错误,因此程序将被编译和 链接,但当程序运行时,结果将可能与预期的不同19变量的定义及初始化 初始化原则 了解不同类型变量占用的字节数,不要试图将 超出变量取值范围的值赋给变量 声明变量时,应尽可能对它进行初始化 存储整型数据时,尽量不要使用float或double变

9、 量,会降低效率 不要将负值赋给unsigned变量20变量的定义及初始化 特殊的char数据类型 C语言使用char数据类型来存储字符。 例如5,*,#, 都是字符计算机内存中,所有数据都以数值方式存储 人们为每个字符进行了相对应的数值编码 称为ASCII字符集(ASCII表示美国信息交换标准码) 例如:字母a的ASCII码为97。那么,当在char变量中存储字符a时, 实际存储的是9721变量的定义及初始化 char变量处理 使用char变量之前必须声明;也可以在声明的同 时对它进行初始化 char ch,ch1,b=f; char code=3; 函数printf()可用于打印字符和数字

10、 格式字符串%c指示printf()打印一个字符,而%d 指示它打印一个十进制整数22变量的定义及初始化#include “stdio.h“ void main() char ch1=a;char ch2=90;printf(“作为一个字符ch1=%c“, ch1);printf(“n作为一个数字ch1=%d“, ch1);printf(“n作为一个字符ch2=%c“, ch2);printf(“n作为一个数字ch2=%dn“, ch2); 23问题 上半讲结束,提出问题: 如何编写程序定义并输出我们的班号与拼音姓 名?24运算符与表达式 什么是运算符? 运算符是一个命令编译器对一个或多个操作

11、数 执行某种运算的符号 类似于“+”、“-”等操作数是运算符对其执行操作的东西 类似于“1”、“a”等 例如:a+1中,“+”为运算符, “a”、“1”为操作 数25运算符与表达式 什么是表达式? 表达式可以是任何计算结果为数值的东西 有各种复杂程度不同的表达式 最简单的表达式只包含一项:一个简单变量、字面常量 或符号常量 例如:PI:程序中定义的符号常量 复杂表达式由多个简单的表达式组成 表达式之间用运算符连接 例如:3*9、a=4+9等赋值语句26运算符与表达式 赋值运算符 赋值运算符是一个等号() 编程中的用途与数学中的“相等”是不同的例如下面的语句: int a =3,b; b = a

12、; 指的是将a的值“3” 赋给b,而不是说a等于b27运算符与表达式 赋值运算符的格式 变量=表达式 赋值语句的右边可以是任何表达式(expression)但左边必须是一个变量名 例如: int a=2,b=3,c; c=a*2+b; 该句被执行时,将计算表达式a*2+b的值,并将结果7赋 给变量c28运算符与表达式 算术运算符 算术运算符是执行诸如加、减等数学运算的 2种单目算术运算符 5种双目算术运算符 注:“目”就是代表参与运算的操作成员数量29运算符与表达式 单目算术运算符 单目数学运算符是指完成此类运算只需要一个 操作数运算符符 号操 作范 例递增+将操作数加1+x、x+递减-将操作

13、数减1-x、x-30运算符与表达式 递增与递减运算符 只能用于变量,而不能用于常量 分别将操作数加1和减1 +a; 等价于 a=a+1; -b; 等价于 b=b-1; 这两个运算符放在操作数的前面(前缀模式),和放在 操作数的后面(后缀模式)时,效果却不等价 采用前缀模式时,先执行递增或递减运算,再计算表达式的值 采用后缀模式时,先计算表达式的值,然后再执行递增或递减操作31运算符与表达式#include “stdio.h“ void main() int a=8,b;b=a+; /先取a的值做赋值给b,再执行a=a+1 printf(“a=%d,b=%dn“,a,b); 32运算符与表达式#

14、include “stdio.h“ void main() int a=8,b;b= +a; /先执行a=a+1,再取a的值做赋值给b printf(“a=%d,b=%dn“,a,b); 33运算符与表达式 双目算术运算符 双目运算符需要两个操作数运算符符号操 作范例加法+将两个数相加a+b减法-将第1个操作数减去第2个操作数a-b乘法*将两个操作数相乘a*b除法/将第1个操作数除以第2个操作数a/b求模%第1个操作数除以第2个操作数得到的余数a%b34运算符与表达式 “+”、“-”、“*”、“/”大家都很熟悉 求模(取余)运算 返回第一个操作数除以第二个操作数后得到的 余数 该运算符要求两边

15、的操作数都是整型 例如: 10%3=1 (商为3,余数为1) 25%5=0 (商为5,余数为0) 2%7=2 (商为0,余数为2)35运算符与表达式 求模运算符应用广泛 要求用户输入一个三位数的整数,倒序输出,478变874 #include “stdio.h“ void main() int a,b,c,d; printf(“请输入三位数的整数“); scanf(“%d”, /假设输入了456赋给变量a printf(“输入的数字是:%dn“,a); b=a%10; /利用%符号得到了个位数字6,将该值赋给变量b a=a/10; /除号的两边都是整数时,做整除,456被10整除变成了45 c=a%10; /45%10 后得到了个位数字5,将该值赋给变量c a=a/10; /a再次做整除,4

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

当前位置:首页 > 中学教育 > 教学课件

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