资源描述:
《数据类型运算符表达式1》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章基本数据类型、运算符与表达式主要内容2.1C语言的数据类型2.2变量赋初值2.3各类数值型数据之间的混合运算2.4C语言的运算符与表达式2.5运算符的优先级和结合性§2.1C语言数据类型2.1.1C语言的数据类型简介著名计算机科学家沃思提出:程序=数据结构+算法所以,存放数据的方式直接反映了一种语言的数据表达能力。数据的存储方式又称之为:数据类型。举一个例子:以考生各科成绩及总分排队问题为列。成绩的存放–––以数组形式排队方法––––算法2.1.1C语言的数据类型简介数据有常量、变量之分,均为其中
2、一种类型。本章先学习基本类型。基本类型构造类型指针类型空类型整型字符型实型单精度双精度数组结构体共用体枚举C数据类型丰富,分为:2.1.1C语言的数据类型简介§2.1.2常量与变量1标识符可用来命名变量,及作为常量名、函数名、数组名、类型名、文件名等的有效字符序列命名规则:(1)由字母、数字、下划线组成且由字母或下划线开头,且一个程序内不得有重复名。如:_sum,sum,student_name,price等(2)区分大小写。习惯上,变量名、函数名等用小写字母表示。常量名用大写字母表示(以增加可读性)。(3)
3、标识符不能是关键字。另:需注意标识符长度,视不同系统而定。设允许8个字符。则:student_name,student_number为同一名字。2常量和符号常量常量程序运行过程中不能被改变的量。一般的数据显式写法均表示常量。如程序中:20整型常量15.8实型常量'a'字符常量2常量一般用大写字母是宏定义预处理命令,不是C语句直接常量:整型常量:用数字表示,不带小数点实型常量:用小数点的数表示字符常量字符串常量如#definePRICE30定义:程序运行时其值不能改变的量(即常数)分类:符号常量:用标
4、识符代表常量定义格式:#define符号常量常量例符号常量举例(ch2_1.c)#definePRICE30main(){intnum,total;num=10;total=num*PRICE;printf("total=%d",total);}运行结果:total=300整型常量(整常数)三种形式:十进制整数:由数字0~9和正负号表示.如123,-456,0八进制整数:由数字0开头,后跟数字0~7表示.如0123,011十六进制整数:由0x开头,后跟0~9,a~f,A~F表示.如0x123,0Xff例12与
5、12L例30000为int型65536为longint型整型常量的类型根据其值所在范围确定其数据类型在整常量后加字母l或L,认为它是longint型常量在C程序中,只有十进制数可以是负数,而八进制和十六进制数只能是正数问题:0123=()100x123=()100Xff=()1083291255问题:0123=()100x123=()100Xff=()10实型常量(实数或浮点数)表示形式:十进制数形式:(必须有小数点)如0.123,.123,123.0,0.0,123.指数形式:(e或E之前必须有数字;指数必
6、须为整数)如12.3e3,123E2,1.23e4,e-5,1.2E-3.5实型常量的类型默认double型在实型常量后加字母f或F,认为它是float型在实型常量后加字母l或L,认为它是longdouble型例:#definePRICE30main(){intnum,total;num=10;total=num*PRICE;printf("total=%d",total);}还可用一个符号表示一个常量符号常量符号常量(一般用大写,以区分变量)再如:=3.1415629#definePAI3.141562
7、9#definePRICE30符号常量必须在使用前定义,采用预处理命令define。注意:用预处理命令定义符号常量不是语句,最后不写分号为什么使用符号常量?提高程序可读性2.提高程序可维护性3变量程序执行中可以改变的量称为变量。变量包括变量名和变量值。变量名用标识符命名,对应一定数量的内存存贮单元,其单元数视变量类型而定。C语言中,变量须先定义,后使用如:intstudent;student=30;则若写成student=30,则未定义,编译时出错。一旦变量被定义,即可在编译时为其分配相应数量的单元,其类
8、型便确定。则可检查其运算的合法性。如:a%b表示a整除以b的余,则a,b必须为整型量。变量中存放的只能是数据,且只能是一个数据。操作:赋值可以对同一个变量多次赋值,但变量的值是最后一次存放的数据。§2.1.3整型数据1整型常量整型常量整型常数C语言提供了三种形式:十进制如:256,308,-120等八进制以数字0开头表示的整数(无符号)例:0235,0146等.0235=2×82+3×8+5=