您好,欢迎访问三七文档
Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式CC语言程序设计第2章基本数据类型、运算符与表达式Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C2问题:人类的语言书写时,不同国家有不同的要求,基本的如:用字要求格式要求标点要求C语言作为一种计算机语言,在用于编程时,同样也对数据的类型、标识符、运算符都进行了相关的规范和要求。引子Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C本章要点第2章数据类型、运算符和表达式本章难点C语言的基本数据类型变量的定义、赋值、初始化及使用方法基本运算符的运算规则及优先级别表达式的构成规则和计算数据类型转换的意义和实质自增、自减运算符的使用运算符优先级别混合表达式运算类型转换及转换过程中出现的误差Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C2.12.22.32.42.5C语言的数据类型常量与变量整型数据实型数据字符型数据本章主要内容Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C2.62.72.82.92.10算术运算符与算术表达式赋值运算符与赋值表达式逗号运算符与逗号表达式位运算符数据类型转换与计算类型长度运算符本章主要内容Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C6数据类型数据类型基本类型构造类型指针类型空类型void字符类型char枚举类型整型实型单精度型float双精度型double数组结构体struct共用体union短整型short长整型long整型int数据类型决定:1.数据占内存字节数2.数据取值范围2.1C语言的数据类型不可再将其分解成其他类型构造类型数据可以分解成若干个成员或元素,各成员的类型可以相同,也可以不同,可以是基本数据类型,也可以是构造类型。值用来表示某个量在内存储器中的地址函数类型说明了返回值的类型,但有些函数没有返回值,这种函数类型定义为空类型(void)。2字节-215-215-14字节-231-231-1Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C7常量定义:程序运行时其值不能改变的量(即常数)分类:字面常量:又称直接常量整型常量:12、0、−3;实型常量:4.6、−1.23字符常量:'a'、'b'符号常量:2.2常量和变量Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C8标识符定义:就是程序中使用的各种名字,如变量名、数组名、函数名、符号常量名以及一些具有专门含义的名字。分类:关键字、预定义标识符和用户标识符命名原则:由字母、数字、下划线组成的一串符号,但必修以英文字母或下划线开头。标识符区分大小写。不能使用关键字作为用户标识符。见名知意。建议用户标识符不要与预定义标识符相同。长度:VC6.0为255个字符例:判断下列标识符号合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3charab_above$123M.D.John3days#33char$123ab2.2常量与变量由C语言规定的具有固定含义的标识符,也称为保留字。包括类型说明符、存储类别说明和其他。预定义标识符在C语言中有特定的含义,如printf、includeCopyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C9符号常量也称宏常量定义:用一个标识符代表一个常量。由C语言中的宏定义预处理命令来定义。定义格式:#define符号常量标识符常量符号常量应遵循标识符的命名规则。习惯上用大写字母。常量可以是任何类型。符号常量一经定义,凡在源程序中使用该符号常量时,都用其后指定的常量来替换。例2.1符号常量的使用#includestdio.h#definePI3.14159#defineR5.3main(){printf("area=%f\n",PI*R*R);/*输出圆面积*/printf("circumference=%f\n",2*PI*R);/*输出圆周长*/}运行结果:area=88.247263circumference=33.300854如#definePRICE30修改程序方便阅读程序方便Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C10变量功能:用来保存程序运行过程中的输入数据、计算获得的中间结果和最终结果。变量定义的一般格式:类型标识符变量名1,变量名2,…;变量初始化:定义时赋初值变量的使用:先定义,后使用例:inta,b,c;floatdata;类型标识符变量名[=初值];例:inta=2,b,c=4;floatdata=3.67;charch=‘A’;intx=1,y=1,z=1;intx=y=z=1;//×例:intstudent;stadent=19;//Undefinedsymbol‘statent’infunctionmainCopyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C11inta=1,b=-3,c;…...地址abc4字节4字节4字节地址地址…...-3随机数1定义变量,其实就是用变量名对某个存储单元进行命名,对变量的操作就是对其代表的存储单元进行操作。变量名与变量值Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C12三种形式:十进制整数:由数字0~9和正负号表示.(与日常使用的整数写法一样)如:0,-143,87八进制整数:由数字0开头,后面是八进制数字序列,数字取值范围为0~7。如:00、−015、037十六进制整数:以0x或0X开头的十六进制数字序列,数字取值范围为0~9、a~f或A~F。如:0x0、-0xABC、0X9fc2.3整型数据整型常量(整数)非法的八进制数:0539、02A、0−567非法的十六进制数:0xfg、0x-89FCopyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C132.3整型数据整型变量用来存放整数,基本类型为int型VC6.0中整型变量所占的字节数和数值范围整型类型符占用字节数数值范围[signed]int4−2147483648~2147483647即−231~(231−1)[signed]short[int]2−32768~32767即−215~(215−1)[signed]long[int]4−2147483648~2147483647即−231~(231−1)unsigned[int]40~4294967295即0~(232−1)unsignedshort[int]20~65535即0~(216−1)unsignedlong[int]40~4294967295即0~(232−1)Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C14整型变量的定义在定义整型变量时,某些类型修饰符可以省略inta,b,c;/*a,b,c为有符号整型变量*/longx,y;/*x,y为有符号长整型变量*/unsignedp,q;/*p,q为无符号整型变量*/在存储正数时,无符号整型变量的数值范围比有符号整型变量的数值范围扩大一倍,如果能事先确定存储的数是正整数(如年龄、库存量、人数等),则可将变量定义为无符号类型,以充分利用变量的数值范围。Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C15整型数据在内存中的存放形式在内存中数据是以二进制形式存放的有符号整型数无符号整型数0111111111111111signedshort(最大值)unsignedshort(最大值)1111111111111111符号位0123456789101112131415Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C16实际上,整型数据是以补码的形式来存储的。正数的补码负数的补码原码相同将原码的符号位保持不变,数值位逐位取反(变为反码)末位(即最右边的那一位)加1求:-10的补码(1)写出−10的原码(2)数值位取反,得−10的反码(3)末位加1,得−10的补码100000000000000000000000000010101111111111111111111111111111010111111111111111111111111111110110Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C17整型数据的溢出short型变量的最大允许值为32767,如果再加1,会出现什么情况?例2.2整型数据的溢出。#includestdio.hmain(){shorta,b;a=32767;b=a+1;printf(%d,%d,a,b);}a和b的存储格式:a0111111111111111b1000000000000000运行结果为:32767,-32768Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C18整型数据的溢出课后习题:写输出结果。#includestdio.hmain(){unsignedshorta=65536;intb;printf(%d\n,b=a);}65536的存储格式:00000000000000010000000000000000a得到的结果:a0000000000000000b00000000000000000000000000000000运行结果为:0Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C19整型常量的类型整型常量也有基本整型、长整型、有符号和无符号之分在表示无符号整型常量时,需要在数值后添加字母U或u作为后缀。无论是基本整型数还是长整型数,都被识别为有符号整数有符号整数例:148、013、1、0x38Au、358U、0x16int型和long型数据均占4个字节,在−2147483648~2147483647范围内的常量认为是int型。需要明确地指出整数是否属于longint类型,要在整数的末尾要加上字母L或l。Copyright@HenanPolytechnicUniversity语言第2章基本数据类型运算符及表达式C20表示形式:小数形式:数学中常用的实数形式,由数字0~9和小数点组成。(必须有小数点)如:0.0、25.0、5.789、.13、5.0、300.、−267.8230•指数形式:也称为科学记数法,由尾数(可带符号)、阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。(字母e或E的前后必须有数字且之间不能插入空格,e或E后必须为整。)例如:2.1E5(等于2.1×105),3.7E-2(等于3.7×10−2),0.5E7(等于0.5×107),−2.8E-2(等于−2.8×10−2),.1e0(0.1×100),3.e5(3.0×105)2.4实型数据实型常量(浮点型常量、实数或浮点数)错误的:E7−553.-E32.7E阶码标志E之前无数字无阶码标志负号位置不对无阶码Copyright@HenanPolytechnicUniver
本文标题:C语言基础知识综述
链接地址:https://www.777doc.com/doc-5135401 .html