好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

常量变量运算符和表达式.ppt

58页
  • 卖家[上传人]:宝路
  • 文档编号:48077496
  • 上传时间:2018-07-09
  • 文档格式:PPT
  • 文档大小:360.07KB
  • / 58 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 第二章 常量、变量、运算符和表达式1知识回顾• C语言有什么特点 • 如何书写编译并运行C程序 • printf()函数内容摘要• C语言的数据类型• 常量介绍 • 如何使用变量来存储信息 • 如何声明和初始化变量 • 运算符与表达式 • 类型转换3C语言的数据类型• 数据类型是我们对数据的描述 • 例如 –数字 •整数:5,123,-9 •实数:23.56,6.78,-0.12 –字符 •‘a’,’f’等等4C语言的数据类型5数据类型描述 类类型关键键字字节数值值范围围字符char1-128~127短整型short int (略为 short)2-32767~32767整型int4-2147483647~2147438647长整型long int (略为 long)4-2147483647~2147438647无符号字符unsigned char10~255无符号短整型unsigned short20~65535无符号整型unsigned int 40~4294967295无符号长整型unsigned long40~4294967295单精度浮点数float41.2E-38~3.4E381双精度浮点数double82.2E-38~1.8E30821大概范围,精度为7位2大概范围,精度为19位6数据类型说明• windows为32位计算机环境–上表给出的是以此为例的各数据类型占用的内存空间字 节数和表示的数值范围 –可以利用sizeof()函数获得内存空间字节数 #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 name[10]=”lucy”;//字符串常量 •其中25、85.5、’f’、 ”lucy”是字面常量9常量介绍• 整型常量的表示方式 –首位不为0的常量被视为10进制整数 •十进制常量可以包含数字0~9,并可以在最前面加上正号或负号(正 号可省略) –以0打头的常量被视为八进制整数 •八进制常量可以包含数字0~7,并可以在前面加上正号或负号 –以0x或OX打头的常量被视为十六进制整数 •十六进制常量可以包含数字0~9和字母A~F,并可以在前面加上正 号或负号10常量介绍• 符号常量 –在程序中用一个符号来表示一个常量 –这个符号就被称为符号常量 –例如: •圆周率π的值(3.14) •C语言中使用预编译处理命令#define来定义符号常量 •#define PI 3.14 //注意:#define语句不以分号结尾 •则可以这样计算圆的面积:area=PI*r*r •常量不能修改,程序中写 PI=3.1415 这样会引发错误 11变量介绍• 变量的概念 –程序运行中,其值可以被改变的量是变量 –变量是计算机内存中一个被命名的数据存储位 置 –使用变量名时实际上用的是存储在这里的数据 的值12变量介绍• 变量的类型与数据类型是对应的 •不同数值需要内存空间不同,需要不同变量类型 •例如: –小型整数(如6、250和-18)需要的内存较少–计算机整数运算速度非常快 –大型整数和浮点数(如5000000000、或0.000000871256)需要较多存 储空间,执行数学运算所需时间更长 –使用合适的变量类型,可确保程序运行效率提高13变量示例#include void main() { int a,b,c,sum; //声明四个整型变量,分别存放三个数及它们的和 printf(“Enter three numbers\n“); //提示用户的信息 scanf(“%d%d%d“, //分别读取三个整型数,每一个都要用 一个%d sum=a+b+c; //=做赋值,求和 printf(“\n sum=%d\n“,sum); //打印输出结果 }14变量的定义及初始化• 变量定义 –任何变量都必须遵守先定义后使用的原则 –变量定义的一般形式 •[存储类别] 数据类型 变量名1,变量名2…; –存储类别不是必须要求声明的部分,后面章节中将讲到这个概念 –int num1,num2; //定义num1,num2为整型变量 –float avg; //定义avg为实型变量 –char ch1,ch2; //定义ch1,ch2为字符型变量15变量的定义及初始化• 变量定义的位置 •定义在哪里是至关重要的 •在哪里定义决定着这个变量在哪些范围内有效 •现学习阶段,可将所有变量声明放在一起,并放置于 main()函数的主体语句中的前面16变量的定义及初始化• 变量的初始化 –定义变量时指示计算机为变量留出存储空间 –变量值并没有指定,可能为随机值 –使用变量前,一定要将其初始化为一个确定的 值17变量的定义及初始化• 变量初始化方法 –定义变量的同时进行赋初值的操作 –定义变量后,使用赋值语句来初始化变量 •int num1=34,num2; •num2=67; •定义了num1和num2两个整型变量 •定义的同时初始化num1为34 •使用了等号“=” 赋值运算符将67赋给变量num218变量的定义及初始化• 初始化注意事项 –不要将变量初始化为该变量数据类型所表达的 值域允许范围之外的值 •short int weight=100000;//错误 •C编译器也许不会发现这种错误,因此程序将被编译和 链接,但当程序运行时,结果将可能与预期的不同19变量的定义及初始化• 初始化原则 –了解不同类型变量占用的字节数,不要试图将 超出变量取值范围的值赋给变量 –声明变量时,应尽可能对它进行初始化 –存储整型数据时,尽量不要使用float或double变 量,会降低效率 –不要将负值赋给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()可用于打印字符和数字 –格式字符串%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=%d\n“, ch2); }23问题• 上半讲结束,提出问题: –如何编写程序定义并输出我们的班号与拼音姓 名?24运算符与表达式• 什么是运算符? –运算符是一个命令编译器对一个或多个操作数 执行某种运算的符号 –类似于“+”、“-”等–操作数是运算符对其执行操作的东西 –类似于“1”、“a”等 –例如:a+1中,“+”为运算符, “a”、“1”为操作 数25运算符与表达式• 什么是表达式? –表达式可以是任何计算结果为数值的东西 –有各种复杂程度不同的表达式 •最简单的表达式只包含一项:一个简单变量、字面常量 或符号常量 –例如:PI:程序中定义的符号常量 •复杂表达式由多个简单的表达式组成 –表达式之间用运算符连接 –例如:3*9、a=4+9等赋值语句26运算符与表达式• 赋值运算符 –赋值运算符是一个等号(=) –编程中的用途与数学中的“相等”是不同的–例如下面的语句: •int a =3,b; •b = a; •指的是将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++递减--将操作数减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=%d\n“,a,b); }32运算符与表达式#include “stdio.h“ void main() {int a=8,b;b= ++a; //先执行a=a+1,再取a的值做赋值给b printf(“a=%d,b=%d\n“,a,b); }33运算符与表达式• 双目算术运算符 –双目运算符需要两个操作数运算符符号操 作范例加法+将两个数相加a+b减法-将第1个操作数减去第2个操作数a-b乘法*将两个操作数相乘a*b除法/将第1个操作数除以第2个操作数a/b求模%第1个操作数除以第2个操作数得到的余数a%b34运算符与表达式• “+”、“-”、“*”、“/”大家都很熟悉 • 求模(取余)运算 –返回第一个操作数除以第二个操作数后得到的 余数 –该运算符要求两边的操作数都是整型 –例如: •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(“输入的数字是:%d\n“,a); • b=a%10; //利用%符号得到了个位数字6,将该值赋给变量b • a=a/10; //除号的两边都是整数时,做整除,456被10整除变成了45 • c=a%10; //45%10 后得到了个位数字5,将该值赋给变量c • a=a/10; //a再次做整除,4。

      点击阅读更多内容
      相关文档
      精彩瞬间课件 2024——2025学年人教版(2024)初中美术七年级下册.pptx 【课件】垂线—.垂线段与点到直线的距离 课件湘教版数学七年级下册.pptx 【公开课】《数轴、相反数和绝对值》+第2课时++相反数课件沪科版数学七年级上册.pptx 2024—2025学年统编版高一语文写作素材整理:议论文写作素材+.pptx 2024秋新华师大版数学7年级上册教学课件 4.1 相交线 4.1.1 对顶角.pptx 2024秋新华师大版数学7年级上册课件 2.3 整式 2.3.3 升幂排列和降幂排列.pptx 2024秋新北师大版数学7年级上册教学课件 2 有理数的加减运算 第5课时 有理数的加减混合运算的应用.pptx 2024秋新北师大版数学7年级上册课件 3 1元1次方程的应用 第2课时 盈不足问题.pptx 2024秋新北师大版数学7年级上册教学课件 3.1 第2课时 代数式.pptx 2024秋新华师大版数学7年级上册教学课件 4.2 平行线 4.2.1 平行线.pptx 2024秋新北师大版数学7年级上册课件 3 多边形和圆的初步认识.pptx 2024秋新北师大版数学7年级上册课件 2 1元1次方程的解法 第4课时 1元1次方程的解法——去分母.pptx 2024秋新北师大版数学7年级上册课件 2 有理数的加减运算 第1课时 有理数的加法法则.pptx 2024秋新外研版英语1年级上册教学课件 Module 5 Unit 1.pptx 2024秋新北师大版物理8年级上册课件 第5章 透镜及其应用 整理与复习.pptx 2024秋新华师大版数学7年级上册课件 1.10 有理数的除法.pptx 2024秋新北师大版数学7年级上册课件 2 1元1次方程的解法 第3课时 1元1次方程的解法——去括号.pptx 2024秋新北师大版生物7年级上册课件 3.1 细胞的基本结构和功能(第1课时 光学显微镜的使用).pptx 2024秋新华师大版数学7年级上册课件 1.4 绝对值.pptx 2024秋新华师大版数学7年级上册课件 3.1 生活中的立体图形.pptx
      猜您喜欢
      云南省昆明黄冈实验学校2017_2018学年度高二历史下学期第一次月考试题理.doc 云南省昆明黄冈实验学校2017-2018学年高一生物下学期第一次月考试题.doc 云南省昆明黄冈实验学校2017_2018学年度高二生物下学期第一次月考试题理无答案.doc 云南省中央民大附中芒市国际学校2017-2018学年高一语文下学期期中试题(理科班).doc 上海市金山中学2016_2017学年度高二生物下学期期中试题等级.doc 云南省民族大学附属中学2017_2018学年度高一政治下学期第一次月考试题.doc 云南省民族大学附属中学2017_2018学年度高二政治下学期第一次月考试题.doc 云南省楚雄州元谋县一中2017_2018学年度高二物理下学期期中试题无答案.doc 常见网络故障案例解析.ppt 云南省民族大学附属中学2017_2018学年度高二语文下学期第一次月考试题.doc 云南省昆明黄冈实验学校2017-2018学年高一语文下学期第一次月考试题.doc 朗臣蛋白质粉营销整合传播方案.ppt 云南省民族大学附属中学2017_2018学年度高二生物下学期第一次月考试题.doc 云南省昆明黄冈实验学校2017-2018学年高一化学下学期第一次月考试题.doc 德尔格 Evita 4 呼吸机临床实用培训讲义(医院版).ppt 云南省民族大学附属中学2017-2018学年高一生物下学期第一次月考试题.doc 云南省玉溪市2018年高三英语适应性训练试题.doc 云南省昆明黄冈实验学校2017_2018学年度高二化学下学期第一次月考试题文无答案.doc 云南省民族大学附属中学2017-2018学年高二历史下学期第一次月考试题.doc 云南省昆明黄冈实验学校2017_2018学年度高一化学下学期第一次月考试题.doc
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.