




免费预览已结束,剩余38页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章数据类型、运算符与表达式,C语言大学实用教程,内容提要,基本数据类型;常量和变量;标识符命名;常用运算符和表达式;运算符的优先级与结合性,一个简单的C程序例子,#include/*函数功能:计算两个整数相加之和入口参数:整型数据a和b返回值:整型数a和b之和*/intAdd(inta,intb)return(a+b);/*主函数*/main()intx,y,sum=0;printf(Inputtwointegers:);scanf(%d%d,/*输出x和y相加之和*/,C程序常见符号分类,关键字(Keyword)又称为保留字,C语言中预先规定的具有固定含义的一些单词标识符(Identifier)系统预定义标识符用户自定义标识符运算符(Operator)34种,详见附录D分隔符(Separator)空格、回车/换行、逗号等其它符号大花括号“”和“”通常用于标识函数体或者一个语句块“/*”和“*/”是程序注释所需的定界符数据(Data)变量(Variable)常量(Constant),数据类型(DataType),数据为什么要区分类型?不同类型的数据代表不同的数据表示形式合法的取值范围占用内存空间大小可参与的运算种类从基本数据类型到抽象数据类型无数据类型基本数据类型构造数据类型抽象数据类型,数据类型(DataType),标识符命名,变量名函数名由英文字母、数字和下划线组成,但不可以是数字开头,大小写敏感直观,见名知意,便于记忆和阅读最好使用英文单词或其组合切忌使用汉语拼音下划线和大小写通常用来增强可读性variablenamevariable_nameVariableName,variableName不允许使用关键字作为标识符的名字int,float,for,while,if等某些功能的变量采用习惯命名如:for语句所采用的循环变量习惯用i,j,k,Windows风格,UNIX风格,b,B,KB,MB,GB,TB,Megabyte(MB),中文叫法:兆Kilobyte(KB),中文叫法:KByte,中文叫法:字节bit,中文叫法:位Gigabyte(GB),中文叫法:GTerabyte(TB),中文叫法:T,1TB=1,024GB,1GB=1,024MB,1MB=1,024KB,1KB=1,024B,1B=8b,b,B,KB,MB,GB,TB,一个位有多大?只能是“0”或者“1”,这叫二进制一个字节有多大?保存一个字符(英文字母、数字、符号)ASCII(美国标准信息交换码)编码两个字节保存一个汉字GB编码可以表示数字0255,基本数据类型,int整数,在目前绝大多数机器上占4个字节。float单精度浮点数,一般是4个字节长。double双精度浮点数,一般是8个字节长。char字符,一般是1个字节长。用来表示256个ASCII字符,或者0255的整数。,数据类型修饰符,shortshortint,短整数,一般2个字节长。通常简写为shortlonglongint,长整数,一般是4个字节长。通常简写为longlongdouble,长双精度(高精度)浮点数,一般是10个字节长。signed用来修饰char、int、short和long,说明他们是有符号的整数(正整数、0和负整数)。一般缺省都是有符号的,所以这个修饰符通常省略unsigned用来修饰char、int、short和long,说明他们是无符号的整数(正整数和0),使用变量要注意,区分变量名和变量值的概念不要对变量所占的内存空间字节数想当然用sizeof获得变量或者数据类型的长度,注意!,#includemain()printf(DatatypeNumberofbytesn);printf(-n);printf(char%dn,sizeof(char);printf(int%dn,sizeof(int);printf(shortint%dn,sizeof(short);printf(longint%dn,sizeof(long);printf(float%dn,sizeof(float);printf(double%dn,sizeof(double);,变量声明,使用变量的基本原则变量必须先定义,后使用所有变量必须在第一条可执行语句前定义声明的顺序无关紧要一条声明语句可声明若干个同类型的变量声明变量,是初始化变量的最好时机不被初始化的变量,其值为危险的随机数charesc=a;inti=1;intsum=0;floateps=1.0e-5;,实型数据提供的有效数字位数,float型数据提供7位有效数字double型数据提供16位有效数字使用不当导致舍入误差,#includemain()floata;doubleb;a=123456.789e4;b=123456.789e4;printf(%fn%fn,a,b);,数据在内存中的存储格式,整型字符型实型,char型与int型之间的关系,小写字母转换为大写字母,#includemain()charch=b;ch=b-32;printf(%c,%dn,ch,ch);,#includemain()charch=b;ch=b-(a-A);printf(%c,%dn,ch,ch);,常数(Constant),整型常数18、-31长整型常量123l、123L、123456l、123456L无符号型常量123u、123U浮点常数十进制小数形式123.45、456.78指数形式1e-2、4.5e3单精度实型常量123.45f、456.78F、1e-2f、4.5e3F长双精度型常量123.45l、456.78L、1e-2l、4.5e3L,八进制与十六进制常数,以数字“0”开始的整型常数是八进制数022、-037010和10大小不一样因为八进制并不常用,所以此种表示法比较少见以“0 x”或者“0X”开始的整型常数是十六进制AF和af用来表示十进制的1015十六进制的形式比较常用,尤其在进行位一级的控制的时候0 x12、-0 x1F,-0 x1f,字符(Character)常数,字符常数的表示方法a,A,5,%,$单引号内只能有一个字符,除非用“”开头就是一个普通整数,也可以参与各种数学运算每个字符具有一个0255之间的数值,可从ASCII表查出注意:5和整数5的区别字符的数学运算在密码学内用得比较多,字符常数,转义字符一些特殊字符(无法从键盘输入或者另有它用)用转义字符表示,字符串(String)常数,用双引号括住的由0个或多个字符组成的字符序列Iamastring表示空字符串转义字符也可以在字符串中使用引号只作为字符串开始和结束的标志C语言内部用0表示字符串的结束除注释外,是唯一可以出现中文的地方x和x是不同的里定义了一系列专门的字符串处理函数,枚举(Enumeration)常量,一个被遗忘的角色从程序来窥其一斑enumweeksMON,TUE,WED,THU,FRI,SAT,SUN;enumweekstoday;enumresponseno,yes,none;enumresponseanswer;today=TUE;answer=yes;if(answer=yes)printf(TodayisTuesday.n);elseprintf(TodayisNOTTuesday.n);,宏常量,宏常量也称符号常量一般采用大写字母表示#define标识符字符串不是语句,而是一种编译预处理命令宏替换(MacroSubstitulition),#include#definePI3.14159#defineR5.3main()printf(area=%fn,PI*R*R);printf(circumference=%fn,2*PI*R);,#include#definePI3.14159#defineR5.3main()printf(PI*R*R=%fn,PI*R*R);printf(2*PI*R=%fn,2*PI*R);,const常量,用const修饰定义的为常量constfloatpi=3.1425926;常量只能在定义时赋值,然后不能再改变其值常数、const常量、宏常量和枚举常量,都可以用来表示一个永远不会改变的数前者不建议直接使用,而用后三者代替,算术运算符,+,-,*,/加、减、乘、除运算先乘除,后加减,按从左向右的顺序计算,左结合两个整数相除时,商为整数%求余运算,两个操作数必须全为整数,关系运算符,,=,、ib)z=a;elsez=b;z=(ab)?a:b;条件表达式的一般形式:表达式1?表达式2:表达式3条件运算符的优先级仅高于赋值运算符和逗号运算符,并且结合性为自右向左。此种表达式切忌用得过于繁杂,优先级,()-.!+-+-*可以通过“(类型)表达式”的方式把表达式的值转为任意类型强转时,你必须知道你在做什么强转与指针,并称C语言两大神器,用好了可以呼风唤雨,用坏了就损兵折将,#includemain()intm=5;printf(m/2=%dn,m/2);printf(float)(m/2)=%fn,(float)(m/2);printf(float)m/2=%fn,(float)m/2)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 红酒评鉴考试题及答案
- 荔城市工匠评选活动方案
- 自助洗衣活动方案
- 海洋经济考试题及答案
- 贵族分类考试题及答案
- 估算法考试题及答案
- 幼儿园教学教案设计:安全过斑马线
- 钢琴作品考试题及答案
- 市场营销活动效果评估分析框架
- 公益投入参与行为承诺书5篇
- 自动化模具制造行业可行性分析报告
- 房颤心电图课件
- 工地拌和站试验室培训课件建筑土木工程
- 2024年卫生院“健康促进医院”创建工作总结样本(3篇)
- 副总经理招聘面试题与参考回答(某大型集团公司)2025年
- 餐饮4D管理培训资料
- 国庆节磨豆腐活动方案
- 七年级上册生命、生态、安全教案全册
- 峥嵘岁月 课件-2024-2025学年高中音乐人音版(2019) 必修 音乐鉴赏
- 《用户体验设计导论》
- 税务法律服务行业分析报告及未来三年行业发展报告
评论
0/150
提交评论