




免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
具有丰富的数据类型是C语言的一个特色数据类型丰富意电子教案 1第三章数据类型、运算符与表达式 1、数据类型具有丰富的数据类型是C C语言的一个特色。 数据类型丰富意味着对现实世界的描述能力强。 2?2.1数据类型数据类型总表C C数据类型基本类型构造类型指针类型空类型void定义类型typedef字符类型char枚举类型enum整整型实型单精度型float双精度型double数组结构体struct共用体union短整型short长整型long整型int数据类型决定1.数据占内存字节数2.数据取值范围3.其上可进行的操作 31、基本类型有符号整形int、short int、long int无符号整形:unsigned int、unsigned shortint、unsigned longint字符型char实型单精度float和双精度double枚举类型enum 2、构造类型数组类型结构类型struct共用体union 3、指针类型 4、空类型void4?2.2常量与变量标识符?定义用来标识变量、常量、函数等的字符序列?组成只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线大小写敏感不能使用关键字?长度最长32个字符?命名原则见名知意不宜混淆如l与I,o与0例:判断下列标识符号合法性sum SumM.D.John dayDate3days student_name#33lotus_1_2_3char ab_above-above$123M.D.John3days#33char$123ab-above6?整形常量十进制如 234、- 678、0八进制以0开头如 012、 0123、-013十六进制以0x开头如0x 12、0x2f?实形常量0. 123、. 123、123. 0、123e 3、123E3(注意123e3错)?字符形常量例如a3$*转义字符n表示换行符t表示换跳格符ddd1-3位8进制数所表示的字符xhh1-2位16进制数所表示的字符、b?等等。 7例例1char a;a=?B?;printf(“%c”,a);字符常量的值是该字符的ASCII码值ASCII:American StandardCode forInformation Interchange例如关于ASCII的示例。 8main()int i;char c1,c2;c1=a;c2=b;i=2;printf(%c%c%dn,c1,c2,c1);c1=65;printf(%c%dn,c1,c1);/*A65*/c1=c1+i;printf(%c%dn,c1,c1);/*C67*/9#define PI3.14159(举例)?字符串常量注意字符串的形式。 例如How areyou?的存放格式。 a与a的存储以及采用printf()的输出上的区别。 10?字符常量与字符串常量不同?字符串常量?定义用双引号(“”)括起来的字符序列?存储每个字符串尾自动加一个00作为字符串结束标志h el lo0例字符串“hello”在内存中a a0例a?“a”例例空串“”0例例:char ch;ch=“A”;例例:char ch;ch=?A?; 113、变量的定义在程序中使用的变量先定义后引用。 例如main()float x;/*定义单精度实型变量x*/int i;/*定义整形变量i*/x=3.6;/*引用变量x*/i=3;/*引用变量i*/定义性说明命名、指定类型、分配空间、赋初值(可选)12引用性说明的格式extern类型名变量名;main()int i,j=0;/*列举赋初值上的问题*/extern int k;k=99;intk; 134、C语言中的运算符和表达式1)、运算符(共44个)2)、表达式表达式的定义例如a+b*c、ab、a、a= 10、6算术运算符+、-、*、/、%6/ 5、6/5. 0、-7/ 4、7/- 4、6% 5、5%6-7%4=- 3、7%-4=3符号与被除数的符号相同。 14运算符的优先级和结合规则(参见附录III)强制类型转换运算符int a=4;double x,y;x=(double)a;a=(int)(x+y);/*注意a=(int)x+y不同*/赋值运算符与赋值表达式C语言中常用的赋值运算符“=”,例如a=b是一个赋表达式。 15扩展的赋值运算符+、-例如a+,+a,a-,-a还有+=、-=、*=、/=、%=等等。 例如a*=b+216?自增、自减运算符+-作用使变量值加11或减11种类?前置+i,-i(先执行i i+1或i i-11,再使用i i值)?后置i+,i-(先使用i i值,再执行i i+1或i i-11)例j=3;k=+j;j=3;k=j+;j=3;printf(“%d”,+j);j=3;printf(“%d”,j+);a=3;b=5;c=(+a)*b;a=3;b=5;c=(a+)*b;/k=4,j=4/k=3,j=4/4/3/c=20,a=4/c=15,a=417?自增、自减运算符+-作用使变量值加11或减11种类?前置+i,-i(先执行i i+1或i i-11,再使用i i值)?后置i+,i-(先使用i i值,再执行i i+1或i i-11)说明?+-不能用于常量和表达式,如5+,(a+b)+?+-结合方向自右向左?优先级-+-*/%-+- (2) (3) (4)例-i+?-(i+)i=3;printf(“%d”,-i+);/-33例j+k;(j+)+k;例-i+i=3;printf(“%d”,-i+);18逗号运算符与逗号表达式例如a=3+6,b=a+1,a+b再如b=a=3+6,b=a+1,a+b注意表达式的值、a的值、b的值但b=(a=3+6,b=a+1,a+b)注意a的值、b的值注意表达式有自己的类型,即计算结果的类型。 例如3int a,b;char ch;ch=(a=3+6,b=a+1,a+b,a);19例如4#includestdio.hmain()int a,b,x;x=(a=2+1,b=a+1,a+b);printf(n x=%d,x);x=a=2+1,b=a+1,a+b;printf(n x=%d,x); 205、数据类型的转换 1、类型的自动转换在表达式中,遇到多种类型的混合运算总是将其它类型转换为表达式中宽度最高的那一个类型。 intunsigned intlongunsigned longfloatdouble表达式中的char、short(unsigned short除外)都无条件地转换为int。 赋值类型的自动转换赋值号右边的类型转换为左边的类型。 212、类型的强制转换格式(类型名)(表达式)例如5main()int a,b,x;float f;x=(a=2+1,b=a+1,a+b);printf(n x=%d,x);x=a=2+1,b=a+1,a+b;printf(n x=%d,x);f=x;printf(n f=%f%f%d,(float)x,f,x);printf(“%dn”,(int)f%2);/*对f进
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 水声压电器件制造工岗前考核试卷及答案
- 2025年护士资格证《专业实务》习题及答案
- 锅炉管阀检修工三级安全教育(公司级)考核试卷及答案
- 2025年地质工程师职业考试试卷及答案
- 2025年贵州二建考试真题(附答案)
- 2025年度国家大剧院招聘专业技术人员笔试备考试题及答案详解
- 农发行黄山市屯溪区2025秋招笔试热点题型专练及答案
- 保险保全员专业知识考核试卷及答案
- 电线电缆交联工安全规范考核试卷及答案
- 家畜繁殖员培训考核试卷及答案
- 辐射安全防护技术革新方案
- 2025年大学生人文知识竞赛题库及参考答案
- 高考集合考试题及答案
- 中秋团圆主题班会课件
- 潍坊市辅警考试题库2025
- 飞行服务站2025年无人机培训基地建设与发展报告
- 2025年福建农业行政执法资格考试(专业法律知识)历年参考题库含答案详解
- 新质生产力六大科创中心
- 医疗数据孤岛问题与跨平台安全共享策略-洞察及研究
- 2025年有机食品消费者购买行为与偏好研究报告
- 2025年迎中秋节庆国庆节主题班会课件
评论
0/150
提交评论