c2数据类型.ppt
《c2数据类型.ppt》由会员分享,可在线阅读,更多相关《c2数据类型.ppt(109页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、1C语言程序设计计算机科学学院:杨绪华计算机科学学院:杨绪华E_mail:E_mail:Tel:15882620518Tel:15882620518计算机科学学院2第2章数据类型与基本运算 1 1基本数据类型基本数据类型基本数据类型基本数据类型常量和变量常量和变量常量和变量常量和变量运算符与表达式运算符与表达式运算符与表达式运算符与表达式标识符标识符标识符标识符数据类型转换数据类型转换数据类型转换数据类型转换基本输入和输出基本输入和输出基本输入和输出基本输入和输出 2 2 3 3 4 4 5 5 6 6应用举例应用举例应用举例应用举例 7 7计算机科学学院3回顾v程序是为执行一项任务而编写的有
2、序指令集程序是为执行一项任务而编写的有序指令集v算法是解决问题的具体方法和步骤算法是解决问题的具体方法和步骤v流程图是算法的图形化表现形式流程图是算法的图形化表现形式vC C语言的特点语言的特点vC C程序的编译和运行过程程序的编译和运行过程v编译器将源程序转换成机器能理解的程序编译器将源程序转换成机器能理解的程序v连接器用于连接相关的目标文件以生成可执行程序连接器用于连接相关的目标文件以生成可执行程序计算机科学学院4本章目标v理解变量和常量的含义理解变量和常量的含义v熟悉使用基本数据类型熟悉使用基本数据类型 -int-int、charchar、float float 和和 doubledou
3、blev使用使用各种各种运算符运算符v理解类型转换理解类型转换v熟练使用熟练使用 scanf()scanf()和和 printf()printf()函数函数v熟练使用熟练使用 getchar()getchar()和和 putchar()putchar()函数函数计算机科学学院52.1基本数据类型数据属于不同类别AfricaThe quick brown foxTRUE数据 非数值数值整型非整型9002.129999/12/20032.175123Jackie Chanchar数据类型非数值数值整型intshortintlongintdoublefloat非整型计算机科学学院6整型名称名称全称全
4、称类类型型说说明符明符缩缩写写类类型型说说明符明符位数位数 范范围围整型整型intint16-32768 至至+32767无符号整型无符号整型unsigned intunsigned160 至至 65,535短整型短整型short intshort16-32768 至至+32767无符号短整型无符号短整型unsigned short intunsigned short160 至至 65,535长长整型整型long intlong32-2,147,483,648 至至 2,147,483,647无符号无符号长长整型整型unsigned long intunsigned long320 至至 4,
5、294,967,295计算机科学学院7单精度浮点型float在 C 语言中用于存储单精度浮点数float32位10-38至10+38,7位有效数字计算机科学学院8双精度浮点型内存内存floatdouble213.567143556896764位位取值范围:10-308 至 1030816 位有效数字计算机科学学院9在线保险单在线保险单年龄:_保险总额:_性别:_字符型3-12398340 M int/floatchar计算机科学学院10字符型3-25p$22正确正确正确正确2+2=4值值符号符号值值符号符号值值符号符号0空字符空字符44,9132空格空格45-9233!46.933447/94
6、35#48570995-36$58:9637%59;97122az38&6012541)63?12642*64127DEL(Delete键键)43+6590AZ计算机科学学院11字符型3-3占 8 位内存signed或unsignedSigned-128至+127unsigned0至255计算机科学学院122.2标识符v标识符标识符:是给程序中的实体是给程序中的实体(变量、常量、函数、变量、常量、函数、数组、结构体以及文件数组、结构体以及文件等等)所起的名字。所起的名字。系统定义标识符系统定义标识符C C语言中的标识符语言中的标识符用户定义标识符用户定义标识符计算机科学学院13系统定义标识符系
7、统定义标识符系统定义标识符:是指具有固定名字和特定含义的标是指具有固定名字和特定含义的标识符,如识符,如intint、forfor、breakbreak等。等。关键字关键字系统定义标识符系统定义标识符 预定义标识符预定义标识符关键字关键字:又称保留字,是又称保留字,是C C语言规定的具有特定含语言规定的具有特定含义的标识符。关键字必须用小写字母。义的标识符。关键字必须用小写字母。计算机科学学院14系统定义标识符-关键字数据类型数据类型存储类别存储类别语句命令字语句命令字运算符运算符intlongshortcharfloatdoublesignedunsignedautostaticregist
8、erexterngotoreturnbreakcontinueif,else whiledoforsizeof计算机科学学院15系统定义标识符-预定义标识符12编译编译编译编译预处理预处理预处理预处理命令命令命令命令标准标准标准标准库函数库函数库函数库函数数学函数:数学函数:数学函数:数学函数:sqrtsqrt,fabsfabs,sinsin,coscos,powpow等。等。输入输出函数:输入输出函数:输入输出函数:输入输出函数:scanfscanf,printfprintf,getchargetchar,putcharputchar,getsgets,putsputs等。等。defined
9、efine,endefendef,includeinclude,ifdefifdef,ifndefifndef,endifendif,lineline,if if,elseelse等等等等计算机科学学院16用户定义标识符1以字母或下划线开头,由字母、数以字母或下划线开头,由字母、数字和下划线三种字符组成。字和下划线三种字符组成。2语言中有语言中有3232个关键字,每个关键个关键字,每个关键字都代表着某一固定含义。用户不字都代表着某一固定含义。用户不应采用与它们同名的标识符。应采用与它们同名的标识符。计算机科学学院172.3常量和变量常量常量变量变量符号常量符号常量直接常量直接常量计算机科学学院
10、18程序程序指令指令C语言中的基本元素标识符标识符关键字关键字常量常量运算符运算符分隔符分隔符等等常量是在程序中保持不变的量常量用于定义具有如下特点的数据:在程序中保持不变在程序内部频繁使用需要用比较简单的方式替代某些值变量变量计算机科学学院19变量是在程序运行过程中可以被改变或者可以被赋予新的值变量的名变量的名变量的值变量的值计算机科学学院20变量命名在 C 语言中,变量命名需要遵循一定的规则有效名称有效名称principalcost_pricemarks_3lastnamecity无效名称无效名称123ratecurrency$discount%zip codev变量变量名名的命名规则:的
11、命名规则:变量名可以由变量名可以由字母、数字和字母、数字和 _ _(下划线)(下划线)组合组合而成而成变量名不能包含除变量名不能包含除 _ _ 以外的任何特殊字符,以外的任何特殊字符,如:如:%、#、逗号、空格等、逗号、空格等变量名必须以变量名必须以字母或字母或 _ _(下划线)(下划线)开头开头变量名不能包含变量名不能包含空白字符空白字符(换行符、空格和制(换行符、空格和制表符称为空白字符)表符称为空白字符)C C 语言中的某些词(例如语言中的某些词(例如 int int 和和 float float 等)等)称为保留字,具有特殊意义,不能用作变量名称为保留字,具有特殊意义,不能用作变量名C
12、 C 语言语言区分大小写区分大小写,因此变量,因此变量 price price 与变量与变量 PRICE PRICE 是两个不同的变量是两个不同的变量计算机科学学院21变量程序内存编写程序时,常常需要将数据存储在内存中,方便后面使用这个数据或者修改这个数据的值。通常使用变量来存储数据。使用变量可以引用存储在内存中的数据,并随时根据需要显示数据或执行数据操纵。存储 RateRate*5%将值存储为DiscAmtRate-DiscAmt100.5将值存储为Result9.5计算机科学学院22声明和使用变量v声明变量:声明变量:DatatypeDatatype variablename;variab
13、lename;v定义时初始化变量:定义时初始化变量:DatatypeDatatype variablename=value;variablename=value;v定义后初始化变量:定义后初始化变量:variablename=value;variablename=value;给变量赋值,除了给一个直接的值以外,还可以通过计算获得。注意:变量必须先定义后使用注意:变量必须先定义后使用计算机科学学院23使用整型变量v声明:声明:intint page_number;page_number;long int long int population;population;unsigned int un
14、signed int age;age;v可按如下方式初始化:可按如下方式初始化:page_numberpage_number0;0;intint max_marks=100;max_marks=100;在同一语句中可以声明多个类型相同的变量:intpage_number,copies,paper_width;使用单精度浮点数使用单精度浮点数计算机科学学院24v声明:声明:floatfloat selling_price;selling_price;v初始化:初始化:floatfloat selling_price=11.3;selling_price=11.3;selling_price=65
15、.90;selling_price=65.90;使用双精度浮点数使用双精度浮点数计算机科学学院25v声明:声明:doubledouble pressure_level;pressure_level;v初始化:初始化:pressure_level=213.5671435568967;pressure_level=213.5671435568967;doubledouble dvalue=35.4;dvalue=35.4;使用字符型数据使用字符型数据计算机科学学院26chargender;gender=m;chargender=m;2.4运算符与表达式计算机科学学院27算术运算符和表达式赋值运算符
16、和表达式关系运算符和表达式逻辑运算符和逻辑表达式条件运算符和条件表达式逗号运算符和逗号表达式其他运算符运算符运算符运算符运算符单目运算目运算符符双目运算双目运算符符三目运算三目运算符符计算机科学学院281 基本算术运算符基本算术运算符算术运算符和算术表达式3-1+加法运算符,如2+3,x+y。-减法运算符,如3-2,x-y*乘法运算符,如4*6,x*y/除法运算符,如5/3,x/y%求余运算符,如11%3,x%y若若/两边是整型数据,两边是整型数据,则结果是整型数据则结果是整型数据(向零取整向零取整),否则),否则为实型数据为实型数据要求两边必须要求两边必须是整型数据是整型数据2自增(“+”)
17、自减(“-”)运算符p都是单目运算符,而且运算对象必须是变量,不能是常量。p结合方向都是“自右至左”,它们的作用是使运算对象的值加1或减1。p可以作前置运算符(如+x和-x),也可以作后置运算符。p不考虑表达式值的情况下,前缀运算和后缀运算的效果完全相同算术运算符和算术表达式3-2【程序源代码】main()inti,x,y;i=5;x=i+;printf(i=%d,x=%dn,i,x);i=5;y=+i;printf(i=%d,y=%dn,i,y);【例2-6】分析下列程序的输出结果。后缀运算,先把后缀运算,先把i的值的值赋给赋给x,然后,然后i的值加的值加1前缀运算,先使前缀运算,先使i的值
18、加的值加1,然后将,然后将i的值赋给的值赋给y【程序运行结果程序运行结果】i=6,x=5i=6,y=6分析程序【例2-7】分析下列程序的输出结果。main()inta=3,b=5,c;c=(+a)*b;printf(a=%d,c=%dn,a,c);a=3;b=5;c=(a+)*b;printf(a=%d,c=%dn,a,c);a的值先加的值先加1,a的值变成了的值变成了4,然后,然后再将此值与再将此值与b相乘,即相乘,即c=4*5;a的值先与的值先与b相乘相乘,即即c=3*5,然后然后a的值加的值加1变成了变成了4。【程序运行结果】a=4,c=20 a=4,c=15分析程序用算术运算符或圆括号
19、将运算对象(常量、变量和函数)连接起来的式子。例如:x*y%c-0.9+A,a*b/c+8.2都是合法的算术表达式。算术运算符和算术表达式3-3进行算术运算时,应注意:u算术运算符的优先级别是先乘除后加减;u当运算符的优先级别相同时,应按照运算符的结合方向处理,算术运算符的结合方向为“自左至右”。程序分析例如:计算下列两个表达式的值:(1)2*3+6(2)2*(3+6)【例2-8】分析下列程序的输出结果,注意其中的算术表达式。main()inta,b,c;a=6;b=6;c=6;a=+b-+c;printf(%d,%d,%dn,a,b,c);a=+b+c+;printf(%d,%d,%dn,a
20、,b,c);a=b-+-c;printf(%d,%d,%dn,a,b,c);【程序运行结果程序运行结果】0,7,715,8,815,7,7分析程序a=(+b)-(+c)a=(+b)+(c+)a=(b-)+(-c)复习:第二次课重点内容复习:第二次课重点内容计算机科学学院361、变量类型说明符变量名2、算术运算符重点注意:自增(“+”)自减(“-”)运算符“/”和“”结合性1赋值运算符“=”作用:将一个数据赋给一个变量。在赋值运算符“=”之前加上其他运算符,就构成了复合赋值运算符。赋值运算符和赋值表达式2-1C语言中总共有10种复合赋值运算符:+=,加赋值运算符-=,减赋值运算符*=,乘赋值运算
21、符/=,除赋值运算符%=,取余赋值运算符&=,位与赋值运算符|=,位或赋值运算符=,异或赋值运算符=,右移赋值运算符2赋值表达式由赋值运算符“=”将一个变量和表达式连接起来的式子。一般格式为:变量=表达式;赋值运算符和赋值表达式2-2注意:(1)赋值运算符左边必须是变量。被赋值变量的值就是赋值表达式的值。(2)当赋值表达式中左边变量与右边表达式的数据类型不同时,需要进行类型转换。转换规则是:右边表达式的值被转换成左边变量的数据类型,然后再赋值给变量。【例2-9】分析下列程序的输出结果。#includestdio.hmain()floata,b=1;a=3/2;b+=b;printf(a=%fn
22、,a);printf(“b=%fn,b);【程序运行结果】a=1.000000分析程序相当于相当于b=b+b;计算机科学学院40【例2-10】分析下列程序的输出结果。#includestdio.hmain()inta=10;a=a*=a;printf(a=%dn,a);【程序运行结果】a=200a=a*aa=a+a注意变量注意变量a值的变化值的变化1关系运算符关系运算符用于比较两个运算对象的大小。C语言提供的关系运算符,如下所示:关系运算符和关系表达式,小于运算符,大于运算符=,大于等于运算符=,等于运算符!=,不等于运算符使用关系运算符,应注意优先级:关系运算符和关系表达式p前4个运算符(,
23、=,关系赋值2关系表达式关系表达式就是用关系运算符将两个或两个以上运算对象连接起来的式子。其中运算对象可以是常量、变量或表达式。关系运算符和关系表达式关系表达式的运算结果有两种:“真”或“假”。在C语言中用1表示“真”,用0表示“假”。【例例2-11】若有定义如下:若有定义如下:char c=d;int m=2,n=5;求下列各表达式的值。求下列各表达式的值。(1)c+1=e(2)c+A-a!=D(3)m-2*n=n+9(4)m=2b)&(y=ba)的值及变量x和y的值。【分析】求表达式“(x=ab)&(y=ba)”的值,先求表达式“(x=ab)”的值。ab为假,变量x的值为0,表达式“(x=
24、ab)”的值为假。对于运算符“&”,左边的运算对象为0,则右边的表达式“(y=ba)”不再进行求解,表达式“(x=ab)&(y=ba)”的值为0,变量y的值不变。【结果】x=0y=7逻辑运算符示例严格执行严格执行“短路计算短路计算”程序分析【例2-13】分析下列程序的输出结果,注意其中的逻辑表达式。main()inta,b,c;a=b=c=1;+a&-b&+c;printf(%d,%d,%dn,a,b,c);a=b=c=1;-a|+b|+c;printf(%d,%d,%dn,a,b,c);a=b=c=-1;+a&+b|+c;printf(%d,%d,%dn,a,b,c);a=b=c=0;+a|
25、-b&-c;printf(%d,%d,%dn,a,b,c);【程序运行结果】2,0,10,2,10,-1,01,0,0严格执行短路计算严格执行短路计算C语言程序设计第二章数据类型、运算符和表达式SCS-SWPU50例:例:用逻辑表达式来表示闰年的条件用逻辑表达式来表示闰年的条件能被能被4整除,但不能被整除,但不能被100整除。整除。能被能被400整除。整除。(year%4=0&year%100!=0)|year%400=0值为真值为真(1)是闰年,否则为非闰年。是闰年,否则为非闰年。逻辑运算符的实际应用逻辑运算符的实际应用C语言程序设计第二章数据类型、运算符和表达式SCS-SWPU51例:能且
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- c2 数据类型
限制150内