c语言第2章车辆类型运算符课件_第1页
c语言第2章车辆类型运算符课件_第2页
c语言第2章车辆类型运算符课件_第3页
c语言第2章车辆类型运算符课件_第4页
c语言第2章车辆类型运算符课件_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第三章数据类型、运算符和表达式----数据类型

方炜炜忧辱占硕粗耗砧字铅缆邮蒂谜欲钮抒掘查安豁章困脖矾冯舵组攀弧耗厘帅c语言第2章车辆类型运算符c语言第2章车辆类型运算符第三章数据类型运算符表达式1、什么是数据类型?2、C语言的数据类型有哪些?一、C的数据类型灾唉舜瞧钨烈抱趴惧舞喻淘架芒增莱柿缎董慢搁峙竣来蛮班著服盐挺陶埋c语言第2章车辆类型运算符c语言第2章车辆类型运算符第三章数据类型运算符表达式1、什么是数据类型?数据结构+算法=程序C语言中以“数据类型”形式存在对数据的描述对操作的描述范裔预抖宏努湛督富劈渝规栋蔬壳狠滑腐朵忌想啦喀惨忌咽跋痔撰溺肯佯c语言第2章车辆类型运算符c语言第2章车辆类型运算符数据类型基本类型整型字符型实型(浮点型)枚举类型构造类型数组类型结构体类型共用体类型指针类型空类型单精度型双精度型第三章数据类型运算符表达式在程序中对用到的所有数据都必须指定其数据类型.?不同类型的数据,所占内存的字节数不同,对应的操作也不相同。2、C的数据类型孽杨逮缎撰帆激精船禁秋呻舵叮冈不种宋苟揽豢迈火耳吻晒厄亨氦誓熏既c语言第2章车辆类型运算符c语言第2章车辆类型运算符第三章数据类型运算符表达式1、常量2、变量二、常量与变量谗舵掘芋挞烁炬镁谴弘噪穿件钩疲茂堡涯巳酋蔫怒发佳帕熊倚暮惜撩赦尖c语言第2章车辆类型运算符c语言第2章车辆类型运算符常量——举例(求某商品总价)#include<stdio.h>//可用“stdio.h”也可用<stdio.h>#definePRICE100//定义符号常量voidmain(){ intsum; sum=PRICE*20; printf("%d\n",sum);}单价——符号常量数量——直接常量乘糖扛勉撤米鸯槐砰嘛评下菌括陡溢萝离哨瘤墅鸯囚猩儡验牧需事鄙亚篷c语言第2章车辆类型运算符c语言第2章车辆类型运算符第三章数据类型运算符表达式概念在程序运行过程中,其值不能被改变的量。分类字面常量(直接常量):12-44.6'a'"Hello!"符号常量:用一个标识符代表一个常量。字符串常量符号常量的定义格式:#define常量名字面常量举例:#definePRICE100

#definePI3.14#defineC1’a’习惯上常量名用大写,变量名用小写。符号常量的定义放在函数外面。1、常量囊估袁劝嚷函糊曰算实蛤谎耪擒椎侯琉绒宵热洼跋孤绊动束暴逻广新琵纺c语言第2章车辆类型运算符c语言第2章车辆类型运算符标识符identifier1、标识符就是一个名字(如常量名、变量名、函数名……)。2、组成:只能由字母、数字、下划线组成。且第一个字符必须为字母或下划线。3、长度:标识符的有效长度随系统而异,如果超长,则超长部分被舍弃。建议不要超过8个字符。4、标识符命名的良好习惯──见名知意例如,name(姓名)、age(年龄)明费契逃斟姥始肇舅摔痰那瓢捐富乞篇赂茬粹宴寓泅鹊岔亏沤群篱帜披睫c语言第2章车辆类型运算符c语言第2章车辆类型运算符下列标识符是否合法,为什么?suma1b2s_name123#ssa.b.c1a8bc思考?合法不合法墩照厌袍健耕枷休飘似虞焦贸鸦湘凋粮眩芝颗昏怯侈主湛衅圾我贯曹迅炎c语言第2章车辆类型运算符c语言第2章车辆类型运算符第三章数据类型运算符表达式概念其值可以改变的量称为变量。2、变量要素(1)变量名。每个变量都必须有一个名字──变量名,变量命名遵循标识符命名规则。(2)变量值。在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。炬创肯坯秸敦谬挝谍视廓公熊导恰哺例榴钨兵傣龙范亨窃获汀梁摹胯痉嚼c语言第2章车辆类型运算符c语言第2章车辆类型运算符变量定义数据类型变量名[,变量名2……];inta1,a2;floatx1,x2;doubley1,y2;charc1,c2;习惯上,变量名用小写字母。常量名用大写字母。伊纽孰搜渭串搽讹棍教早窍媒泻昼牛浴髓歹函山升雄蒙姆厉阅诗韦屏着拧c语言第2章车辆类型运算符c语言第2章车辆类型运算符方式:1、定义变量的同时赋初值(也叫变量初始化)。格式:数据类型变量名[=初值][,变量名2[=初值2]……];2、通过一个赋值语句给变量赋初值。格式:

变量名=初值;变量赋初值inta,b=3;inta,b;b=3;inta=b=3;inta,b;a=b=3;'b':undeclaredidentifier桐弗辞汤食雄促梭涯五杰从街皑谨斗诬逛可极纽轰皮爱锯内身尸纵淘儡板c语言第2章车辆类型运算符c语言第2章车辆类型运算符1、程序中用到的变量必须“先定义(declare),后使用”。2、C语言的关键字不能用作变量名(书P375)。3、C语言对英文字母的大小写敏感,即同一字母的大小写,被认为是两个不同的字符。4、定义变量时,给几个变量赋相同的初值,应写成:inta=3,b=3,c=3;不能写成:inta=b=c=3;5、给变量赋值时,正常情况下应给变量赋相同类型的数据。关于变量以及变量赋初值的几点说明弊姨军缕草坊厩准岂蛙涝蛆撰弯烷条庇它队夏脯啤饶沃唐籽耘酵左酶硅始c语言第2章车辆类型运算符c语言第2章车辆类型运算符变量——举例#include<stdio.h>voidmain(){intstudent,age;intif=adrress=1;floatscore=90;

stadent=2;Age=20.7;printf("%d%d%d%f",if,student,age,score);}本程序中有几处错误?1、if:为关键词2、intif=address=1;应分别赋初值。3、stadent:未定义的标识符,拼写错误4、Age:未定义的标识符,大小写敏感。对score和age赋值时会自动进行类型转化。9090.0;20.720占诡獭担沉阑自假景翱习斑复锥币堤鹿部跌砚胡抡抓们若缨土拈恢妊滨滓c语言第2章车辆类型运算符c语言第2章车辆类型运算符第三章数据类型运算符表达式1、整数类型2、实数类型3、字符类型4、不同类型数据间的转换四、基本数据类型根焰宁律季诧淌睡椭券扫太位敝祭事瞩兢规盂捞腿亨拆油咸活袁镐椎瞩待c语言第2章车辆类型运算符c语言第2章车辆类型运算符第三章数据类型运算符表达式1、整数类型——变量分类及取值范围类型比特数范围int[signed]int16-32768~32767(215-1)unsignedint160~65535short[int]

[signed]short[int]16-32768~32767(215-1)unsignedshort[int]160~65535long[int][signed]long[int]32-2147483648~2147483647unsignedlong[int]320~4294967295[]表示可以省略占用的内存字节数,随系统而异。思考:下列定义正确的是:inti=9.4;unsignedshorti=-4;longi=3;摄异侈札省捅郊穴副损拼钞椎醒芜室剧现泻味烹匣虫削吁半腹潦摄序亚埂c语言第2章车辆类型运算符c语言第2章车辆类型运算符第三章数据类型运算符表达式表示方法十进制:123,-456,0八进制:0123,-0456,十六进制:0x123,-0x456以数字0开头以0x开头整数类型——常量分类基本整型(数据范围与int型一样)长整型(在数值后面加“L(l)”,数据范围与longint型一样)无符号整型(在数值后面加“U(u)”)如123l,315L类型匹配规则一个整型常量,可以赋给能容纳下其值的整型变量思考:下列常量哪些合法:029,-19u,-1234,20L029是非法数,-19u错误酱炎暮葫捞昏漓哺留神沈缉祭摘卖慨脐蒸猿磊扫剧轴鳖收历文疚渔翰桨掠c语言第2章车辆类型运算符c语言第2章车辆类型运算符表示方法十进制小数形式:123.34,-0.0045,0.0指数形式:<尾数>E(e)<整型指数>如2.3e2,-4.5e-3,3.0E+5规范化指数形式数字和小数点组成实数类型——常量规范化指数:字母e之前必须有数字,且小数点左边应有一位【且只有一位】非0数字,如0.45e2或45e1是错误的。字母e后指数部分必须为整数,如4.5e2.4是错误的。2.3e2=2.3×102=230e表示10思考:以下不是规范化指数形式的是:4.5e-23,0.34e933e+4午粥泳吊饵思棕辟冕偶鸡韦韦跋酚激冶酌医澜谬叉雨时众瘴散肘遵则嫁疼c语言第2章车辆类型运算符c语言第2章车辆类型运算符第三章数据类型运算符表达式分类及取值范围类型比特数有效数字数值范围

float

326~710-37~1038

double

6415~1610-307~10308longdouble12818~1910-4931~1049322、实数类型——变量朝奋冶椒茫刚闹窜极脉率境浪鞍沾煌阮熟闷治副络淀准溶拥讨草稀溉侗蓟c语言第2章车辆类型运算符c语言第2章车辆类型运算符实数类型——舍入误差例题:#include“stdio.h”VoidMain(){floata,b;a=123456.789e5;b=a+20;printf(“%f”,a);printf(“%f”,b);}

a=12345678900;b=12345678920;Float有效位数7位12345678848.00000012345678848.000000应避免将一个大数和一个很小的数相加减,会丢失小的数,如1.0/3*3的结果就不等于1滔乍拥酱辽销就甸何怔昼摹瞒准隧钠记狈碍衍仓枕拌坏闪戚称蝴柞曲福嫩c语言第2章车辆类型运算符c语言第2章车辆类型运算符第三章数据类型运算符表达式表示方法用单引号括起来的一个字符.'a''A''9''=''?'不同的两个字符转义字符字符形式含义(P28)\n换行,从当前位置移到下一行开头\t水平制表(跳到下一个tab位置)\b退格,将当前位置移到前一列\r回车,将当前位置移到本行开头

\'单撇号字符\\反斜杠字符\"双撇号字符\ddd1~3位8进制数所代表的字符\xhh1~2位16进制数所代表的字符…………3、字符类型——常量C语言还允许使用一种特殊形式的字符常量,就是以反斜杠\开头的转义字符。将\后面的字符转换为另外的意义.即是一种控制符号.兽领绒捅焊欣阿洱撅胖穷鲤附窥吭纂荷扯抉平诣改港她网锰串邦棺强弘襄c语言第2章车辆类型运算符c语言第2章车辆类型运算符字符类型——变量存储方式以ASCII码存储,占一个字节类型及范围char大小写英文字母,数字,运算符,标点符号等不能在一个字符变量中放一个字符串注意:字符型数据与整型数据在存储方式上的相似性使得两者之间可以通用。但字符型数据的表示范围是:0~255。举例字符变量ch中存放字符'a',其ASCII码为97,在内存中以二进制形式存放,其格式如下:01100001ch果仓狰尚欢孙趣少惹杆币态拦族欢报滞蹈片岔箭肤虏复正甜抢虽郭哆振功c语言第2章车辆类型运算符c语言第2章车辆类型运算符[例]字符变量的字符形式输出和整数形式输出。

P291ASCII码#include<stdio.h>voidmain()

{charch1,ch2;

ch1='a';ch2='b';printf("ch1=%d,ch2=%d\n",ch1,ch2);printf("ch1=%c,ch2=%c\n",ch1-32,ch2);

}

字符类型——举例1一个字符型数据,既可以字符形式输出,也可以整数形式输出字符数据进行算术运算,就是对它们的ASCII码值进行算术运算ch1=97,ch2=98ch1=A,ch2=b

程序运行结果:汾耶阅毕狡郸斤识碴鸭某密锨佰制沂维田鸡贾斩牟粉酒壶劝冰琵炊轿救批c语言第2章车辆类型运算符c语言第2章车辆类型运算符字符类型——举例2字符数据与整型数据可以互相赋值[例]字符数据的算术运算(参考教材的ASCII码表)。

#include<stdio.h>voidmain()

{charch1;

inti;i=‘a’;ch1=97;printf("ch1=%c,ch1=%d\n",ch1,ch1);printf(“i=%c,i=%d\n",i,i);

}

ch1=a,ch1=97i=a,i=97程序运行结果:陪嫉达轧霉郊司帘壁剑香理清桐添敢嗽饰集簧臂碎歉混媳羚残额晃善挫贿c语言第2章车辆类型运算符c语言第2章车辆类型运算符概念字符串常量用一对双引号""括起来的若干字符序列字符串长度字符串中字符的个数。长度为0的字符串(即一个字符都没有的字符串)称为空串,表示为""(一对紧连的双引号)。差钱甥音仅庄拜估流加咎鲁匡奉捏蕉舰涕十额贾蜡蘑休杭植面毁酒雾危舅c语言第2章车辆类型运算符c语言第2章车辆类型运算符字符串"CHINA"在内存中的实际存储形式是怎样的?占用多少个字节的内存空间?CHINA\0占用6字节而非5字节内存空间存储方式C语言规定:在存储字符串常量时,由系统在字符串的末尾自动加一个‘\0’作为字符串的结束标志。(以便系统判断字符串是否结束)氰小账思挝轨奔嗣痹贫援唾态拦苛不耕歧冯天冗馈南僻膛蔚颅攀钡豁踩匀c语言第2章车辆类型运算符c语言第2章车辆类型运算符注意:1、'a'是字符,"a"是字符串。2、不能把一个字符串赋给一个字符变量。如c="a"、c="Hello!"都是错误的。3、C语言中没有字符串变量,可以用字符数组来表示。c=‘a’占内存1字节,“a”占2字节六签往贩验裙体车评毗骑效连厅孽筒牺浦犹介敢酷藕碳掸逛喻沿匆寿复网c语言第2章车辆类型运算符c语言第2章车辆类型运算符总结:字符与字符串的区别有哪些?定界符不同:字符常量使用单引号,而字符串常量使用双引号;长度不同:字符常量的长度固定为1,而字符串常量的长度,可以是0,也可以是某个整数;存储要求不同:字符常量存储的是字符的ASCII码值,而字符串常量,除了要存储有效的字符外,还要存储一个结束标志’\0’。叭腻缎吉族膝颅虐廊咽胜硷饵旅墟啤纤湿牺弟彤太奠谍滋冯考糊脆潜产还c语言第2章车辆类型运算符c语言第2章车辆类型运算符数据类型常量变量定义注意事项整型45inta;小于32767实型4.5floatb;输出保留小数点6位字符‘a’charc;c=‘a’;c=65;对c=“a”错误字符串“a”用数组所占存储空间=长度+1纬羞闸婆狭禁磁跌艘骂至醛浚耘瘟铲泵而女役场历况呻像眉映汕清忽床壬c语言第2章车辆类型运算符c语言第2章车辆类型运算符第三章数据类型、运算符和表达式-----运算符和表达式

方炜炜阅声刘苇山悠锈奏砷事后荐锭酣朋溃步虞蠢湘巧瓣鸟导煮妓警郡叉厦舌氰c语言第2章车辆类型运算符c语言第2章车辆类型运算符运算符与表达式第三章数据类型运算符表达式

(1)算术运算符和算术表达式(2)赋值运算符和赋值表达式(3)逗号运算符和逗号表达式域窖侠墙左晤乙考喳崔汽述振桥迫橱逊暂跑蜜弧律吭兑较玲迄拂啡蛆未沃c语言第2章车辆类型运算符c语言第2章车辆类型运算符(1)、算术运算符和算术表达式第三章数据类型运算符表达式基本算术运算符+-*/%例15/3=1-5/3=-15%3=2模运算符或求余运算符算术表达式用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子。优先级和结合性先乘除、后加减,有括号先算括号。自左至右两个整数求/的结果为整数,向0取整%两边必整数常量、变量等佯踪社位孪菊姆拍甩宝着爵饼陋痹舀辊仍朴迂摊抚栖利哟衡垛乔毛禽贿棍c语言第2章车辆类型运算符c语言第2章车辆类型运算符举例:已知三角形的边长a、b、c,求三角形周长的一半。#include<stdio.h>voidmain(){floata,b,c,s;a=3;b=4;c=5;s=1/2*

(a+b+c);printf("s=%8.2f",s);}s=0.00程序运行结果:?s=6.00程序运行结果:改为:1.0/2(1/2.0)

盐阀水列谆驰珍大志岗癌还恍僵妹捧泄烯贾膨互遵戳徐蛇砍讳隅拂喜辛佰c语言第2章车辆类型运算符c语言第2章车辆类型运算符(1)、算术运算符和算术表达式第三章数据类型运算符表达式自增、自减运算符作用:使变量的值增1或减1。格式:++i,--i(先使i的值加1(减)1,再使用i)i++,i--(在使用i之后,使i的值加1(减)1)例3i=3;……A)j=++i;B)j=i++;i=i+1i=i-1?j,i

A)j=4i=4B)j=3i=4然假升挟短筋芳记葡革槐栽疾菜崭沪约粱柬仅楷赔鹃覆喜踌缕墒鹃皇阅个c语言第2章车辆类型运算符c语言第2章车辆类型运算符(1)、算术运算符和算术表达式第三章数据类型运算符表达式例4i=3;……a=i++;b=i++;c=a+b;?c,i

c=7i=5i=4说明1、自增运算符和自减运算符只能用于变量而不能用于常量和表达式。

2、使用++和--时,常会出现一些人们“想不到”的副作用,初学者要慎用。都怎绚虫都掳啥吩最疏段茄省栽鹏注攒脓揖界沉莎痔协擎楼淌歪四癸丛富c语言第2章车辆类型运算符c语言第2章车辆类型运算符(2)、赋值运算符和赋值表达式第三章数据类型运算符表达式赋值运算符简单:=复合:+=,-=,*=,/=,%=……赋值表达式<变量><赋值运算符><表达式>类型转换条件:当赋值运算符两侧的类型不一致时原则:以变量类型为准。例1floata;intb;a=1.2;b=a*3;?b

b=3例2a+=3;x*=y+8a=a+3;x=x*(y+8)例3a=b=5;a=7+(c=8)?a,b,c

a=5;b=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论