




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章:变量、数据类型和运算符, 理论部分,掌握变量的概念 会使用常用数据类型 会使用赋值运算符和算术运算符 会使用标准输入输出函数 掌握键盘输入,本章目标,内存如何存放数据,电脑使用内存来记忆计算时所使用的数据 内存如何存储数据 内存像旅馆 数据各式各样,要先根据数据的需求(即类型)为它申请一块合适的空间,1、开房间(单人间、双人间、总统套间) 2、入住,为什么要使用变量,1000*(1+5%),1000,1050,变量:一个数据 存储空间的表示,98.76,不同数据存入具有不同 内存地址的空间,相互独立,已经将数据存入内存,但是: 怎么找到存入的数据?,1、在银行存1000元钱,银行一年的
2、利息5%,那一年之后钱变成了多少?,内存地址不好记,怎么办? 通过内存中小房间的别名找到数据存储的位置 通过变量名可以简单快速地找到它存储的数据,房间,房间名字,房间类型,入住的客人,变量,变量名,变量类型,变量值,对应,C语言的数据类型,数据属于不同类别,非洲,The quick brown fox,TRUE,数据,非数值,数值,整型,非整型,9002.12,999,9/12/2003,2.175,123,陈扬,char,非数值,数值,整型,int,short,float,double,非整型,数据类型,基本的数据类型,常见数据类型,整数 int有符号或无符号4字节 long int有符号或
3、无符号4字节 long long int 有符号或无符号8字节 小数 double比单精度更精准的双精度16字节 其他复杂数据类型 指针、共用体、结构体、枚举,衍生的数据类型,变量的命名规则,1、字母 2、下划线_,首字母,不超过255个: 1、数字 2、字母 3、下划线_ 4、$ 符号,其余部分,变 量 名,变量命名规范: 简短且能清楚地表明变量的作用,通常第一个单词的首字母小写,其后单词的 首字母大写。例如:myScore,C语言中,变量命名要符合一定规则 money、score、name、sex,检查下面这些是否是合法的变量名,principal,cost_price,marks_3,$
4、lastname,city,123rate,discount%,zip code,City,int,使用变量的步骤: 第一步:声明变量,即“根据数据类型在内存申请空间” 第二步:赋值,即“将数据存储至对应的内存空间” 第一步和第二步可以合并 第三步:使用变量,即“取出数据使用 ”,数据类型 变量名;,int money;,变量名 = 数值;,money = 1000 ;,数据类型 变量名=数值;,int money = 1000;,使用标准输出函数printf来输出变量,标准输出函数,#include int main(void) int num1=9; int num2=10 printf(
5、“num1 = %d,num2 = %d”,num1,num2); ,变量占位格式符,变量占位格式符,注意变量的排列顺序,%d将变量以整数的方式输出 %ld将变量以长整数的方式输出 %f将变量以单精度浮点数的方式输出 %lf将变量以双精度浮点数的方式输出 %c将变量以字符的方式输出,变量占位格式符的含义,输出规则: 在选择变量输出方式的时候,一般可以无视变量的初始数据类型,但是在数值范 围大数据类型往小的数据类型输出的时候,会造成丢失精度甚至溢出 所以,在输出变量的时候,最好还是按照数据的初始类型来输出,小结,共性问题集中讲解,变量声明的几种常见错误,常见错误1,int main(void)
6、int title; printf( “intp :%d n”,title ); ,int title; /声明变量title title = 10 ; /赋值,int title = 10; /声明变量title并赋值,1,2,先声明变量并赋值, 然后才能使用,代码错误,正确方案,常见错误2,变量名不能以%之类的特殊符号开始,int main(void) int %hour = 18; printf(“%d”,%hour); return 0; ,代码错误,常见错误3,int main(void) float name = 12.00000; float name = 11.00000; ,
7、声明两个同名变量导致编译错误,float name = 12.00000; float Name = 11.00000;,C程序区分大小写,正确方案,赋值运算符,int wangScore = 80; /王浩成绩 int zhangScore; /张萌成绩 zhangScore = wangScore; printf(“张萌成绩是:%dn zhangScore);,赋值运算符,wangScore,zhangScore,80,80,副本,学员王浩的C语言成绩是80分,学员张萌的C语言成绩与王浩的相同,输出张萌的成绩,变量名 = 表达式;,a = ( b + 3 ) + ( b 1 ),表达式,表
8、达式,表达式,赋值运算符,表达式举例,表达式就是符号(如加号、减号)与操作数(如b,3等)的组合,算术运算符,基本的算术运算 学员王浩3门课程成绩是90,72,85,编写程序实现 (1)Java课和SQL课的分数之差 (2)3门课的平均分,教员演示操作过程,代码片段,#include int main(void) int JavaScore=90; int SqlScore=72; int ClgScore=85; int dif; int avgS; ,教员演示操作过程, dif=JavaScore-SqlScore; avgS=(90+72+85)/3; printf(“dif=%dn”,
9、dif); printf(“avg=%fn”,avgS); return 0; ,声明变量表示成绩,并赋值,声明变量表示成绩差值和平均值,接收运算的结果,输出结果,注意输出格式,平均值可以用浮点型输出,int num1 = 5; int num2 = 2; int a = num1 % num2; int b = num1 / num2; printf(“%d % %d=%d”,num1,num2,a); printf(“%d / %d=%d”,num1,num2,b); num1+; num2- -; printf(num1 =%d , num1); printf(num2 =%d , nu
10、m2);,5 % 2= 1 5 / 2 = 2,下面代码片断的输出结果是什么?,输出,%:求余数,/:求商,等价于:num1 = num1 + 1;,等价于:num2 = num2 - 1;,num1 = 6 num2 = 1,输出,商的结果是%d格式 所以不带小数点,1、根据天数(46)计算周数和剩余的天数,2、已知圆的半径radius= 1.5,求其面积,提示: int days = 46; / 天数 int week = days / 7; / 星期 int leftDay = days % 7;/ 剩余的天数,提示: double pi = 3.14159; / 圆周率 double
11、radius = 1.5; / 半径 double area = pi * radius * radius; / 计算圆面积,关键代码,关键代码,教员演示操作过程,规则1:如果一个操作数为double型,则整个表达式可提升为double型 规则2:满足自动类型转换的条件 两种类型要兼容: 数值类型(整型和浮点型)互相兼容 目标类型大于源类型: 例如:double 型大于 int 型,自动类型转换示例,int age = 19; char sex = 女; char result = age + sex;,int a = 10; int b = 10.2; double c = 10; c =
12、a; int d = c;,int 不可以自动转换成char,double不可以自动转化成int,int before = 20; /apple笔记本市场份额 double rise = 9.8; /增长的份额 int now = before + rise; /现在的份额,int now = before + (int)rise;,编译出错:不能完成 自动类型转换,(类型名)表达式,强制类型转换,int b = (int)10.2; double a = 10; int c = (int)a;,强制类型转换,7、去年Apple笔记本所占市场份额是20,今年增长的市场份额是9.8,求今年所占份
13、额?,教员演示操作过程,使用标准输入函数scanf,让变量接收来自键盘输入的值。,标准输入函数,#include int main(void) int num1=0; int num2=0; scanf(“num1 = %d,num2 = %d”, ,变量占位格式符,变量占位格式符,注意啦:使用scanf函数的时候,变量名前面一定要加地址操作符,即“ / 客户会员号(说明:customer-客户) / 每位数字的变量 int gewei = 0; int shiwei = 0; int baiwei = 0; int qianwei = 0;,声明变量时,最好将变量的初始值至为0,2、变量赋值(代码片段),代码片段2,int custNo=0; printf(“input custNO:”);/输出一段提示语句 scanf(“%d”,3、开始运算(代码片段),代码片段3,/ 获得每位数字 gewei = custNo % 10; / 分解获得个位数 shiwei = custNo / 10 % 10; / 分解获得十位数 baiwei = custNo / 100 % 10; / 分解获得百位数 qianwei = custNo / 1000;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 天津市河西区2025年其他事业单位公开招聘工作人员笔试历年典型考题及考点剖析附带答案详解
- bbc国际音标教学课件
- 倡导低碳生活教学课件
- 定量分析的任务王宇96课件
- 天津市红桥区2025年事业单位公开招聘工作人员设定笔试合格分数线及复审笔试历年典型考题及考点剖析附带答案详解
- 停车教学课件图片大全集
- 制作课件的教学工具
- 人物介绍教学课件
- 葡萄酒产区特色与品牌国际化现状:2025年市场分析与策略建议
- 小学生睡眠质量课件图片
- 贵州贵州省建设投资集团有限公司招聘笔试真题2024
- 广西钦州市2024-2025学年高二下学期期末检测英语试题【含答案解析】
- 医药电商区域销售数据特征研究-洞察阐释
- 吊装起重作业安全培训课件
- 特种设备管理台帐(5个台账)
- 广东省推进粤港澳大湾区国际科技创新中心建设重点任务实施方案
- 牛津版沪教版英语八年级(上)Unit-1-Encyclopaedias-词句讲解+练习+答案
- 小学升初中入学测试宁外入学试卷
- 广东省茂名市各县区乡镇行政村村庄村名明细
- 雨露计划职业教育补助-学籍证明-模板-(四川)
- 初中数学北师大七年级上册(2023年修订)综合与实践探寻神奇的幻方教学设计4
评论
0/150
提交评论