大学计算机C语言 (2)

上传人:xuex****hao 文档编号:247935077 上传时间:2024-10-21 格式:PPT 页数:46 大小:252KB
返回 下载 相关 举报
大学计算机C语言 (2)_第1页
第1页 / 共46页
大学计算机C语言 (2)_第2页
第2页 / 共46页
大学计算机C语言 (2)_第3页
第3页 / 共46页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,正文,*,-,*,-,第2章 数据类型与表达式,数据类型与表达式,第2章,本 章 内 容,1.,C语言的数据类型,2.,常量和变量,3.,整型数据,4.,实型数据,5.,字符型数据,6.,系统函数,7.,C运算符概述,8.,算术运算符,9.,关系运算符和逻辑运算符,10.,位运算符与长度运算符,11.,赋值运算符和赋值表达式,12.,逗号运算符和逗号表达式,13.,运算符的优先级与表达式的分类,2.1 C语言的数据类型,数据类型是一个值的集合和定义在这个值集上的一组操作的总称。,数据类型明显或隐含地规定了在程序执行期间变量或表达式所有可能的取值范围,以及在这些值上允许进行的操作。,C语言的各种数据类型:,基本类型,数据类型,字符型,整型,实型,双精度实型,枚举类型,构造类型,指针类型,空类型,数组类型,结构体类型,共用体类型,2.2 常量和变量,常量和符号常量,1常量,在程序运行过程中,其值不能被改变的量称为常量,又叫常数。,常量区分为不同的类型,如100,0,-8为整型常量,25.32,0.142为实型常量,A,B是字符型常量。,常量不需要事先定义,只在程序中需要的地方直接写出即可。常量的类型也不需要事先说明,它们的类型是由书写方式自动默认的。,2符号常量,用一个符号(标识符)代表一个常量,例如:,#define MAXNUM 1000,#define TRUE 1,#define FALSE 0,符号常量的定义格式如下:,#define 符号常量 常量,2.2 常量和变量,标识符与变量,1标识符,在C 语言中,标识符是对变量、符号常量、函数、数组、文件等用户定义对象的命名。,标识符可以是一个或多个字符。标识符的第一个字符必须是英文字母或下画线,随后的字符必须是字母、数字或下画线。不能以数字打头。,下面是一些正确或错误标识符命名的示例。,正确标识符 错误标识符,weight 2x,length a|#b,color2 red!color,save _$123,2.2 常量和变量,2变量,在程序运行过程中,其值可以改变的量称为变量。,在C语言中,要求对所有用到的变量“先定义,后使用”。,例如:,定义两个整型变量a、b和三个实型变量x、y、z。,int a,b;,float x,y,z;,C语言有五种基本数据类型:字符型、整型、实型、双精度实型、,和空类型。定义这五种类型的变量时须使用的类型说明符分别为,char、int、float、double和void。,2.3 整型数据,整型常量,1不同进制数的使用,十进制整数的表示与通常在算术中的表示一样,例如:321,+321。,八进制整数必须以数字0开头,例如:0123表示(123),8,。,十六进制整数必须以0 x开头,例如0 x123 表示(123),16,。,2.3 整型数据,整型变量,1整型数据在内存中的存放形式,在计算机中,数是用二进制表示的,把一个数连同其符号在计算机中加以数值化,这样的数称为机器数,机器数可以用不同的码制(原码、补码)表示。,2整型变量的分类,根据数值的范围将整型变量分为以下六种类型:,有符号基本整型:signed int。,有符号短整型:signed short int。,有符号长整型:signed long int。,无符号基本整型:unsigned int。,无符号短整型:unsigned short int。,无符号长整型:unsigned long int。,2.3 整型数据,类 型,占 字 节 数,取 值 范 围,int,2字节,-3276832767,short,2字节,-3276832767,long,4字节,-21474836482147483647,unsigned int,2字节,065535,unsigned short,2字节,065535,unsigned long,4字节,04294967295,ANSI标准定义的整数类型,2.3 整型数据,3.不同类型的整型常量赋值给整形变量,整型变量可分为int、short int、long int、unsigned int、unsigned short、unsigned long等类别,将整型常量赋值给上述类别的整型变量时如何做到类型匹配?,一个整型常数,若值在,-32768,+32767,范围内,可将它赋值给,int,型和,long,int,型变量。,一个整型常数,若值在,-2147483648,+2147483647,范围内,可以赋值给一个,long,int,型变量。,常量无,unsigned,型。但一个非负值的整数可以赋值给,unsigned,int,型变量,只要它的范围在,0,65535,范围内,。,在一个整常数后面加一个小写字母,l,或大写字母,L,,,则认为是,long,型常量。例如,,-123l,、,123L,、,0L,、,0775L,、,0 x9EL,等。,2.3 整型数据,3.整型变量的定义,对变量的定义,一般是放在一个函数的开头的声明部分。,【例2-1】,main(),int a;,unsigned int b;,long c;,unsigned long d;,a=-100;,b=60000;,c=-2123456789;,d=4123456789;,printf(a=%d,b=%u,c=%ld,d=%lu,a,b,c,d);,运行结果为,a=-100,b=60000,c=-2123456789,d=4123456789,2.4 实型数据,实型常量的表示方法,实型常数也称为浮点数,在C语言中实型常数只使用十进制数表示,它的书写方式有两种:,小数形式。,它是由整数、小数点、小数三部分组成,最多只能省略其中的整数或小数部分,但不能二者都省略,也不能省略小数点。例如:123.,-.123,1.23,-1.23,12.0,0.,.0,0.0都是合法的十进制小数形式。,指数形式。,它是由尾数、字母e或E、指数三部分组成。尾数可以是一个十进制小数形式,也可以是一个整数形式,,如123e-3或123E-3都代表12310-3的值。,注意:,字母e(或E)之前必须有数字,且后面指数必须为整数,如-0.32E-2,2E4,-.23E-2,.0E3,0.E-5,0E0等都是合法的指数形式,而E-5,.E2,却是非法的指数形式。,2.4 实型数据,实型变量,1实型数据在内存中的存放形式,实型数据是按指数形式存储的。系统把一个实型数据分成尾数部分和指数部分分别存放。实型数据在内存中小数点位置不是固定的,或者说是浮动的,故这种表示法称为浮点表示法。,2实型变量的定义,对每一个实型变量都应在使用前加以定义。如,float x,y;,3实型数据的舍入误差,由于实型变量是由有限的存储单元组成的,因此能提供的有效数字总是有限的。在有效范围以外的数字将被舍去。由此可能会产生一些误差。请分析下面的程序:,【例2-3】分析实型数据的舍入误差。,main(),float a;,a=12345.6789;,printf(n%f,a);,printf(n%e,a);,在Turbo C中程序运行结果为:,12345.678711,1.234568e+002,2.4 实型数据,双精度型数据,1双精度常数,双精度常数的书写方式与实型常数的书写方式相同,有十进制小数形式和指数形式两种,比实型数据的范围广、精度高。,2双精度数据在内存中的表示形式,ANSI并未具体规定每种类型数据的长度、精度和数值范围。,微机上常用的C编译系统(如Turbo C、MS C、Borland C)实型数据:,3双精度变量的定义,双精度类型标识符double前还可加修饰符long,long double 比double型的精度更高,表示的数值范围更大。,类 型,二进制位数,有 效 数 字,数 值 范 围,float,32,67,10,-37,10,38,double,64,1516,10,-307,10,308,long double,128,1819,10,-4931,10,4932,2.5 字符型数据,字符常量,字符常量是用单引号()括起来的单个字符。例如A、!、#、a、*等。,除字符常量外,将“”开头的特定字符串称为“转义字符”,意思是将反斜杠后面的字符串转换成另外的意义。,转义字符,含 义,ASCII代码(十进制),n,换行,将当前位置移到下一行开头,10,t,水平制表(跳到下一个Tab位置),9,b,退格,将当前位置移到前一格,8,r,回车,将当前位置移到本行开头,13,反斜杠字符“”,92,单引号字符,39,双引号字符,34,ddd,一到三位八进制数ddd代表的字符,ddd(八进制),xhh,一到两位十六进制数hh代表的字符,hh(十六进制),ASCII,码,键盘,ASCII,码,键盘,ASCII,码,键盘,ASCII,码,键盘,27,ESC,32,SPACE,33,!,34,35,#,36,$,37,%,38,&,39,40,(,41,),42,*,43,+,44,45,-,46,.,47,/,48,0,49,1,50,2,51,3,52,4,53,5,54,6,55,7,56,8,57,9,58,:,59,;,60,63,?,64,65,A,66,B,67,C,68,D,69,E,70,F,71,G,72,H,73,I,74,J,75,K,76,L,77,M,78,N,79,O,80,P,81,Q,82,R,83,S,84,T,85,U,86,V,87,W,88,X,89,Y,90,Z,91,92,93,94,95,_,96,97,a,98,b,99,c,100,d,101,e,102,f,103,g,104,h,105,i,106,j,107,k,108,l,109,m,110,n,111,o,112,p,113,q,114,r,115,s,116,t,117,u,118,v,119,w,120,x,121,y,122,z,123,124,|,125,126,2.5 字符型数据,【例2-4】,下面程序中使用了几种转义字符。,main(),printf(abxbcdtefghtijkln);,printf(xxxxxxxxrmnoptqrstuvwxn);,程序运行时在显示屏上得到以下结果:,abcd efgh ijkl,mnopqrst uvwx,2.5 字符型数据,字符变量,字符变量用来存放字符常量,一个字符变量只能放一个字符。,字符变量的定义形式:,char 变量名表列;,例如:,char c1,c2;,c1=A;,c2=B;,C语言编译系统规定用一个字节来存放一个字符,将一个字符常量赋值给一个变量,实际上是将该字符的ASCII代码放到存储单元中。,【例2-5】,将字符数据以不同的方式输出。,main(),char c1,c2;,c1=A;,c2=B;,printf(%c,%cn,c1,c2);,printf(%d,%d,c1,c2);,A,B,65,66,【例2-6】,大小写字母的转换。,main(),char c1,c2,c3,c4;,c1=A;,c2=B;,c3=c1+32;,c4=c2+32;,printf(%c,%c,c3,c4);,a,b,2.5 字符型数据,字符串常量,定义:字符串就是用两个双引号(“)括起来的若干个字符。,例如,China、88383872、AJ200,存储:,每个字符串尾自动加一个 0 作为字符串结束标志,例如:,字 符串“CHINA”,在内存中,字符串的长度:字符串中所有字符的个数,其中每个转义字符当作一个字符。,例如,字符串“China”,、ABCD、“101102x43x44”的长度分别为5、4、6、4。,字符常量与字符串常量不同,没有字符串变量,用字符数组存放,C H I N A 0,a,a 0,例,a,“a”,例:char ch;,ch=A;,2.6 系统函数,简例,【例2-7】,假设根据自变
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!