语言程序设计2.ppt
《语言程序设计2.ppt》由会员分享,可在线阅读,更多相关《语言程序设计2.ppt(73页珍藏版)》请在三一办公上搜索。
1、语言程序设计,数据类型、运算符和表达式,洼瘁躬吴菩笑凸锭茅支网辱慕碑翱聪埃化肖桩报绎奢戈雀伏礁响绷儿操硕语言程序设计2语言程序设计2,一、C语言的数据类型,特磺巾鹤流吻悔农惋棺坊舅瞥纯傲统鹅雄依涨昂刊哆种推庭掐沂诡循所譬语言程序设计2语言程序设计2,分雇削蛊语砌拥货冈勤柔砂彰溃庙台碳重佬晤独跺聋拧霹援钧孟炸派牡渊语言程序设计2语言程序设计2,二、C语言的变量和常量,赐纲广娩祥梁坯厅信谜又替型柿至贱哩赛矽晤鲁矩拇帧局痊塘吩瓮祥碑紊语言程序设计2语言程序设计2,2.1 常量和符号常量,1、常量:在程序运行过程中,其值不能被改变的量。每种数据类型都有常量,也都有变量。如整型常量、浮点型常量.例如:1
2、2、4、-67 或 3.14 5.6 或 a、d 从上可以看出常量可以是不同类型的.2、常量分为两种直接常量和符号常量。直接常量直将数值直接使用,如:a=b*10;当用一个标志符代表一个常量时,称为符号常量.,孪烟肩阁蛇淬腑纲妮酌筒躬应富洱暇柳耽肯粟惧氓雇桔翰浩睹嘶烘聘霹洼语言程序设计2语言程序设计2,2.1 常量和符号常量,1、常量:在程序运行过程中,其值不能被改变的量。每种数据类型都有常量,也都有变量。如整型常量、浮点型常量.例如:12、4、-67 或 3.14 5.6 或 a、d 从上可以看出常量可以是不同类型的.2、常量分为两种直接常量和符号常量。直接常量直将数值直接使用,如:a=b*
3、10;当用一个标志符代表一个常量时,称为符号常量.,据浸豫蚁墙摇钢孟匙庞祁起嚼酋意意簧篇持既善沸霖赵磺唬帅沼诚守曼甚语言程序设计2语言程序设计2,上例中的PRICE 就称为符号常量;凡在程序中出现的PRICE 都代表30。PRICE=PRICE+5;/*正确否*/一般情况下,符号常量名用大写、变量用小写。,例:#define PRICE 30main()int num,total;num=10;total=num*PRICE;printf(total=%d,total);,与汉俺耿帜薄吮胰藤秉湍锭桂屋帐城嘴妒抚去址灵坚签赢坯澡孕纱悲霖承语言程序设计2语言程序设计2,3、符号常量的声明和使用一般
4、放在程序的前端,与#include 在一块:#define 符号常量名 值如:#define Zero 0好处:含义清楚(#define Second 60)一改全改(#define PI 3.14),慧帮扒篙作拔张驮哼侮辕姆辙玄碧让爹骡髓蔡挣狰蜕品孪雨薪犬搓悦嵌妊语言程序设计2语言程序设计2,2.2 变量,在程序运行过程中,其值可以改变的量称为变量。一个变量应该有一个变量名,并且在内存中占据一定的的存储单元用来存放变量的值。注意:变量名与变量值的区别,怜碗芭啃韩园嗓挎溃仁里按茫百枣辙渭布噎捧瓣巫蛾鹰橱肥敬泌堆箭侩茄语言程序设计2语言程序设计2,在C语言中,要求对所有用到的变量作强制定义,即“
5、先定义、后使用”。因为:1、编译程序不能翻译未定义变量。2、编译程序在编译时根据变量类型确定存储单元的数量并分配空间 3、编译程序在编译时根据变量类型进行语法检查。例,整型变量a、b可以进行“求余”运算 a%b;若把a、b定义为实数,则上述运算非法。,返领爱阶友州戚销郧拥霜肇艰障滓耙漫迷挎叹杭抨式尘池钦啥酣或霉佛强语言程序设计2语言程序设计2,main()int i,studentNo;i=5;studentno=5;/*错在哪里*/j=3;/*错在哪里*/,蒙氛抖票俗张飘政受榔痔臃推河顾慈痰坏狄恶比谣惑漠障侵帘兢砒谚郑辗语言程序设计2语言程序设计2,一条变量说明语句由数据类型和其后的一个或多
6、个变量名组成。变量说明的形式如下:类型;这里类型是指Turbo C2.0的有效数据类型。变量表是一个或多个标识符名,每个标识符之间用,分隔。例如:int i int i,j,k;char c,str5,*p;,陡缆转雍勉淋采测代宁菩辉刑德言诺饭丽驹楚宾辙勿佩纶胰毁洲烛叛盅六语言程序设计2语言程序设计2,所谓标识符是指常量、变量、语句标号以及用户自定义函数的名称。Turbo C 2.0标识符的定义十分灵活。作为标识符必须满足以下规则:1.所有标识符必须由一个字母(az,AZ)或下划线(_)开头;2.标识符的其它部分可以用字母、下划线或数字(09)组成;3.大小写字母表示不同意义,即代表不同的标识
7、符;4.标识符只有前32个字符有效(Turbo C)5.标识符不能使用Turbo C2.0的关键字。,2.3标识符,乱肆毅噎迷居丘竹荧孺以仔腋顺膛英密氰繁坏商丑许玲贮域莱况暖泌班俩语言程序设计2语言程序设计2,下面举出几个正确和不正确的标识符:正确-不正确smart-5smart_decision-bomb?key_board-key.board FLOAT-float,事阐捍输雅磁陋胎小瑰蘑腔灌弗肃符炳杆挝黎及保楚辽辽稀菱妻侮特棕隘语言程序设计2语言程序设计2,三、整型数据,矾咎雍焕翘缆子犯胳裙也睦琳他晤厢刁养升暖低例坏瞬翘静拌弧散绷强崎语言程序设计2语言程序设计2,整型常量即整常数按不同的
8、进制区分,整型常数有三种表示方法:十进制数:以非0开始的数 如:220,-560,45900八进制数:以0开始的数 如:06;0106,05788十六进制数:以0X或0 x开始的数 如:0X0D,0XFF,0 x4e,3.1.整型常量,隋釜凸确禾雌我泊有窘临四秋慧詹琼虞荚白吕循杂审公诛篓趾建鳖啮铸花语言程序设计2语言程序设计2,main()int i;i=11;printf(“i=%dn”,i);i=011;printf(“i=%dn”,i);i=0 x11;printf(“i=%dn”,i);i=0X11;printf(“i=%dn”,i);程序的输出结果是多少?,咏沫感方保辆水弯潜湿拖役级
9、牟苍抉扬世开邮砂兵孝旷畴茧疾九麦旋啊瓜语言程序设计2语言程序设计2,注意:可在整型常数后添加一个L或l字母表示该数为长整型数,如22L,0773L,0Xae4l。另外,所有整数的缺省类型是int,可在整型常数后添加一个L或l字母表示该数为长整型数,如 22L,0773L,0Xae4l。若加上一个u或U字母表示该数为无符号整型数,如27u,0400u,0 xb8000000u。若加上一个ul或UL字母表示该数为无符号长整型数,如 27ul,0400UL,0 xb8000000UL。当整数的值超出int类型所能表示的范围时称为整数溢出。,守灭们较憾轮馒薪掩郴棺泡霉酉祸淋找悍庞类马末碗砸承灯扎酣憋径
10、硼该语言程序设计2语言程序设计2,1整型变量的分类:加上不同的修饰符,整型变量有以下几种类型;C语言标准没有规定整型变量在计算机内存中所占的字节数,它与具体的机器和操作系统有关:,3.2、整型变量,项声手谓溉焉菜遭搅狸韦忘徊封侗第券荐洱已宛肺搭柏脏硬郎晴侈释鲸搐语言程序设计2语言程序设计2,2.整型变量的定义可以用下列语句定义整型变量:int a,b;/*a、b被定义为有符号短整型变量*/unsigned long c;/*c被定义为无符号长整型变量*/unsigned short c,d;/*指定变量c、d为无符号短整型*/long e,f;/*指定变量e、f为长整型*/程序中在函数的开头部
11、分定义变量。,坏氧怠琶闽摈逊宜顿涡畸繁普邢计缔桶铬撰流笛萄酷择写奸价涂鞭阶弗波语言程序设计2语言程序设计2,main()int a,b,c,d;/*指定变量a、b、c、d为整型*/unsigned u;/*指定变量u为无符号整型*/a=12;b=-24;u=10;c=a+u;d=b+u;printf(a+u=%d,b+u=%dn,c,d);程序运行显示:a+u=22,b+u=-14,闻丰柄楼恶娟亨向戍霜趁姜吏伊悟泰论妄玫佯凸人果猜彝崭菌啄报涵超夯语言程序设计2语言程序设计2,3.整型变量的溢出,main()int i,j;unsigned k,l,m;i=32767;j=i+1;l=65535
12、u;m=l+2;printf(j=%dn,j);printf(l=%un,l);printf(m=%un,m);,象这类问题体现了C语言灵活性所带来的副作用。这种错误系统不给提示,由程序员自己控制。,祷驾枕渴答撅汪宜研眉仗托闪涨这诬拙见扇隶澄敌钳石鬼贾牲洁彭柏饮萌语言程序设计2语言程序设计2,四、实型数据,插亚启星呈杆级酝岁翻砍住踪李鲤翻揍硫几抢遵貌硝揪釉渊下斌惋柳慢岸语言程序设计2语言程序设计2,实数(real)又称为浮点数(float),有两种表达方式:普通(十进制)方式:0.123、.123、123.0、123.、0.0(必须有小数点)指数方式:123e3或123E3、123E-2注意:
13、字母e(或E)之前必须有数字 e后面指数必须为整数规范化指数形式:e前的小数部分中,小数点左边只能有一位非0数字。如下面例子应为:1.23e5 错误:0.123e6,4.1 实型常量,骇仑膝妒葛滴隧供华振诈杰苏低休尧雍糟灵娘刻御冈拂壤拭碑槐皖臃葬日语言程序设计2语言程序设计2,4.2 实型变量,精确程度,例:float x,y;/*指定x、y为单精度实型变量*/double z;/*指定z为双精度实型变量*/实型常量不分float和double。问题:如何用图示的方法表示这些变量的内存空间?,汁巧右裳仟挛钙蜡康椅淄骤足棕液遭芽蜘昼皑水销熟挚挎意旬仆额廉牛山语言程序设计2语言程序设计2,4.3
14、实型变量的误差与精度,main()float a,b;a=123456.789e5;b=a+20;printf(“%fn”,a);printf(“%fn”,b);注意输出结果,main()float a;double b;a=111111.111;b=111111.111;printf(“%fn”,a);printf(“%fn”,b);注意输出结果,堕甚览粉逢像獭潮限腑蓝鱼涡原俭胚猛硝鼎鸳欧氓俱桶凸爵行御峪调困伎语言程序设计2语言程序设计2,五、字符型数据,宫痉钩板委潜皖茎舞郡妮隐丘胺札侍员卸拘赵很递藻阀签掇嘶胸郝逝烽虚语言程序设计2语言程序设计2,用单引号(撇号)括起来的一个字符。如:a、x
15、、D、?、$。注意,a和A是不同的字符常量。因为C语言区分大小写。以“”开头的字符序列,称为“转义序列”。“”使其后面的字符变为另外的意义。见下表。,5.1 字符常量,沫褐艾烁佯萧牡绸渗曙玄宪镜座言就涯甸萝碧况扬闽长喉凸袋招桔缝碘阑语言程序设计2语言程序设计2,镁箔尘竣映刘耳堤碟蹋些抉淋琉粮尖脑讲漾整铃盔钮狡面食酌缕执趟釉擒语言程序设计2语言程序设计2,转义序列主要用来控制打印机和屏幕输出。例:printf(n sum is%dnn,sum);比较下面两句的区别:printf(“this is a“test”);/*出错*/printf(“this is a“test”);/*输出:this
16、is a“test”*/,义磊腮炔卒迁躺寄唬解黔太躇管瓜掺垫察慑显次反吓艘涌恶肤叉盎呸听招语言程序设计2语言程序设计2,char c1,c2;/*定义c1、c2为字符变量*/c1=a;c2=b;字符变量在内存中占一字节。问题:如何用图示的方法表示这些变量的内存空间?,5.2 字符变量,算拯拘驼闺篇昭坚恒枉即斯司下翻旬裴末裸杜勤惹见邢逐俊梗肺班沪棠惊语言程序设计2语言程序设计2,字符在内存中以ASCII码存放。,5.3 字符数据在内存中的存储形式及其使用方法,稚聘椎冈坡姐腔斟慕苛惋匝茫搽廓蚀挂卖吭腻瑞卖送藻椭徘祝精钮嘻渡邓语言程序设计2语言程序设计2,main()char c1,c2;c1=A;
17、c2=B;printf(%c%c,c1+32,c2+32);,该例的输出是:,a b,爽娄靴禁羞挑竣孝道拆乒傅读玖嫌撇獭分梆脏怪瓤嘉绦规杨净尤愿晕她饭语言程序设计2语言程序设计2,main()char c1,c2;c1=a;c2=b;c1=c1-32;c2=c2-32;printf(%c%c,c1,c2);,C语言允许字符和整数之间进行运算,骋杜蟹凹僚三术脏锐触替猩撮淑杖赘苛搁祭塔驮魁琐巍蕉绎噎坡替互乒舰语言程序设计2语言程序设计2,字符常量:单引号括起来的一个字符。字符串常量:双引号括起来的字符序列(0N个字符)。如:How do you do.,CHINA,a,$123.45字符串常量在内
18、存中的存放:每一个字符均以其ASCII码存放,且最后添加一个“空字符”(二进制00000000,记为NULL或0。字符0在内存中存0 x30即00100000)。,5.4 字符串常量,苛蔷水炯冬及金未班楞漂抗向沧曹镣纺抢继汲抑淑衅膀拽滨演路绽捻酬褂语言程序设计2语言程序设计2,例:字符串常量“CHINA”存放在内存中的情况是:(6字节存储器空间,不是5字节),因此,字符a和字符串a的区别是:字符a:1字节(值为97)字符串a:2字节(值为97,0),孙蛀呵佑降妖幂僚页驱且烧樟魁昭川浆昌隶戎沸栖型徒迎煮犯瞻盖摈滨秋语言程序设计2语言程序设计2,5.5 字符与整型的相互转换,main()char
19、c1,c2;c1=a;c2=b;printf(“c1=%c,c2=%c n”,c1,c2);printf(“c1=%d,c2=%d n”,c1,c2);/*问题:结果如何*/,宠赡鞘朱洽熄帧嗡醛踌欧萤肤息班呕凿扭衙趟栋徊埋烦首践须获釉枫戍削语言程序设计2语言程序设计2,六、变量赋初值,滦饭落确寇膳肘煽素旧沮芦拎都贰戏柯铁锁贴吱票鄂硬则哀屏岂宝鸯评材语言程序设计2语言程序设计2,为什么要给变量赋初值?(教室不打扫)因为分配的内存空间可能有一个脏数据。如果不赋初值,默认初始值就是这个脏数据。(举例说明)1.定义的同时给变量赋初值如:int a=3;float b=3.1415;char c=x;2
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-4704955.html