欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c语言程序设计 第2章_基本语句.ppt

    • 资源ID:67248723       资源大小:2.85MB        全文页数:153页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c语言程序设计 第2章_基本语句.ppt

    C语言程序设计教程语言程序设计教程(第(第2版)版)第第2 2章章 基本的程序语句基本的程序语句本章主要内容本章主要内容1.用二进制表示的数2.基本数据类型及取值范围3.标识符、变量和常量4.基本运算符、表达式及运算的优先级5.标准输入/输出函数简介6.程序范例第2章 引言 一、整型数的二进制表示整型数分为有符号的和无符号的两种;有符号的整型数的正负号由字节的最高位来表示:0表示正数,1表示负数。整型数占用的字节数可为8位、16位或者32位。整型数的取值范围:2.1 用二进制表示的数字节数有符号的无符号的最小值最大值最小值最大值1128+1270255232768+3276706553542147483648+214748364704294967295 二、浮点数的二进制表示浮点数分成单精度浮点数和双精度浮点数;单精度浮点数占32位(4个字节),双精度浮点数占64位(8个字节)。浮点型数据的一般表达式:(1)S2em e是实际的阶码值,代表浮点数的取值范围;m是尾数,代表浮点数的精度。2.1 用二进制表示的数(1)单精度浮点型数据的字节分配空间:2.1 用二进制表示的数S代表符号位,占1位。E称为“移码”,占8位。E的取值范围为0255,E=127+e 因此,e的取值范围为127+128);M代表有效位数或称为“小数”,m2=(1.M)2(2)双精度浮点型数据的字节分配空间:2.1 用二进制表示的数S代表符号位,占1位。E称为“移码”,占11位。E的取值范围为02047,E=1023+e 因此,e的取值范围为1023+1024);M代表有效位数或称为“小数”,m2=(1.M)2浮点型数据的取值范围:2.1 用二进制表示的数数据类型字节数(位数)阶码(e)取值范围最小值最大值单精度浮点数4字节(32位)1271285.87747210393.4028241038双精度浮点数8字节(64位)102310241.112537103081.79769310308程序离不开数据,数据是程序的处理对象。程序离不开数据,数据是程序的处理对象。C语言语言中可以使用的数据类型包括:中可以使用的数据类型包括:基本类型、构造类型、指针类型、空值类型基本类型、构造类型、指针类型、空值类型四大类。四大类。1.C语言提供5种基本数据类型。(1)字符型:用char表示。(2)整数型:用int表示。(3)单精度实数型:用float表示。(4)双精度实数型:用double表示。(5)空类型:用void表示。2.2 基本数据类型及取值范围基本数据类型及取值范围基本数据类型构造数据类型指针类型(*)空类型(void)数值类型字符类型(char)枚举类型(enum)整整 型型实型(浮点型)实型(浮点型)单精度型(float)双精度型(double)短整型(短整型(short)长整型(long)整型(int)数组结构体(结构体(struct)共用体(共用体(union)C C数据类型:数据类型:(其它教材一般采用以上分类)数据类型决定了数据的大小、数据可执行的操作以及数据的取值范围。具体如下:2.2 基本数据类型及取值范围基本数据类型及取值范围 实实 现现 环环境境数据类型数据类型字字 节节 长长 度度TurboTurboC CBorlanBorlandC+dC+VisualVisualC+C+DevC+DevC+GCCGCCcharchar(字符型)(字符型)1 11 11 11 11 1shortshortintint(短整型)(短整型)2 22 22 22 22 2intint(整型)(整型)2 22 24 44 44 4longlongintint(长整型)(长整型)4 44 44 44 44 4floatfloat(单精度浮点型)(单精度浮点型)4 44 44 44 44 4doubledouble(双双精精度度浮浮点点型)型)8 88 88 88 88 8 一、标识符一、标识符一、标识符一、标识符 标识符是对变量名、函数名、标号和其他各种用户定义的对象命名。建标识符是对变量名、函数名、标号和其他各种用户定义的对象命名。建议取有实际意义的标识符来命名。议取有实际意义的标识符来命名。标识符的第标识符的第1 1个字符必须是字母或下划线,标识符的长度可以是一个或多个字符必须是字母或下划线,标识符的长度可以是一个或多个字符,最长不允许超过个字符,最长不允许超过3232个字符。例如:个字符。例如:scorescore、number12number12、student_namestudent_name等均为正确的标识符;等均为正确的标识符;8times 8times、price/teaprice/tea、low!valumelow!valume等均不为正确的标识符。等均不为正确的标识符。注意:注意:(1)(1)标识符区分大小写,标识符区分大小写,scorescore、ScoreScore、SCORESCORE代表三个不同的标识符。代表三个不同的标识符。(2)(2)标识符不能和标识符不能和C C语言的关键字相同语言的关键字相同 (3)(3)标识符不能和用户自定义的函数或标识符不能和用户自定义的函数或C C语言库函数同名语言库函数同名 2.3 标识符、变量和常量C C语言中的数据按其特性可分为常量与变量两大类。语言中的数据按其特性可分为常量与变量两大类。语言中的数据按其特性可分为常量与变量两大类。语言中的数据按其特性可分为常量与变量两大类。常量是指在程序运行过程中,其值不能被改变的量。与数据常量是指在程序运行过程中,其值不能被改变的量。与数据常量是指在程序运行过程中,其值不能被改变的量。与数据常量是指在程序运行过程中,其值不能被改变的量。与数据类型结合起来分类,可分为整型常量、浮点型常量、字符常类型结合起来分类,可分为整型常量、浮点型常量、字符常类型结合起来分类,可分为整型常量、浮点型常量、字符常类型结合起来分类,可分为整型常量、浮点型常量、字符常量、枚举常量等。量、枚举常量等。量、枚举常量等。量、枚举常量等。变量是指在程序运行过程中,其值可改变的量。同样的,变量是指在程序运行过程中,其值可改变的量。同样的,变量是指在程序运行过程中,其值可改变的量。同样的,变量是指在程序运行过程中,其值可改变的量。同样的,变量也可分为整型变量、浮点型变量、字符变量、枚举变量变量也可分为整型变量、浮点型变量、字符变量、枚举变量变量也可分为整型变量、浮点型变量、字符变量、枚举变量变量也可分为整型变量、浮点型变量、字符变量、枚举变量等。等。等。等。*常量是可以不经说明而直接引用的,而变量则必须常量是可以不经说明而直接引用的,而变量则必须常量是可以不经说明而直接引用的,而变量则必须常量是可以不经说明而直接引用的,而变量则必须先定义后引用。先定义后引用。先定义后引用。先定义后引用。2.3 标识符、变量和常量 一、常量一、常量常量有两种常量有两种常量有两种常量有两种:直接常量和符号常量。直接常量和符号常量。直接常量和符号常量。直接常量和符号常量。1 1、直接常量(字面常量)、直接常量(字面常量)、直接常量(字面常量)、直接常量(字面常量)直接常量分为发下几种:直接常量分为发下几种:直接常量分为发下几种:直接常量分为发下几种:(1 1)整型常量:)整型常量:)整型常量:)整型常量:1212、0 0、-35-35等等等等(2 2)实型常量(浮点型):)实型常量(浮点型):)实型常量(浮点型):)实型常量(浮点型):45.6345.63、.25.25、8.08.0、8.8.等等等等(3 3)字符常量:)字符常量:)字符常量:)字符常量:aa、bb等。等。等。等。2.3 标识符、变量和常量 (1)整型常量 可采用十进制、八进制、十六进制来表示整型常量。八进制数的前面用数字0开头,十六进制数前面用数字0和字母X开头(0 x或0X)2.3 标识符、变量和常量(2)实型常量实型常量的两种表示法:在在C语言中有两种表示形式:十语言中有两种表示形式:十进制小数形式和指数形式。进制小数形式和指数形式。例如:231.467.36E74.58E50.0945对太大或太小的数,通常是采用指数形式指数形式。如上面的7.36E7、4.58E5。2.3 标识符、变量和常量C程序中实数有两种表示形式:1、十进制小数形式、十进制小数形式.该形式由数码该形式由数码09和小数和小数点组成,即为数学中的小数。点组成,即为数学中的小数。如如123.45、-.123、0.0、.25、32.等。等。2、十进制指数形式、十进制指数形式.该形式由十进制数加阶码该形式由十进制数加阶码标志标志“E”或或“e“及阶码(只能为整数,及阶码(只能为整数,可以带符号)组成。可以带符号)组成。如如123e-3(或或123E-3)(即即12310-3),12.35E3(即即12.35103)。错例:错例:e3、2.1e3.5、.e3等。等。规范化指数形式:小数部分小数点左边规范化指数形式:小数部分小数点左边有且仅有一位非零数字。有且仅有一位非零数字。如如1.2345e5。例4:了解实型常量的两种表示法。/*example2_4.c (浮点计数法,科学计数法)*/#includemain()printf(“123.4456的浮点数表示:%6fn,123.456);printf(“1.23456E2的浮点数表示:%6fn,1.23456e2);printf(“12345.6E-2的浮点数表示:%6fn,12345.6e-2);printf(“12345.6的科学计数法表示:%En,12345.6);2.3 标识符、变量和常量(3)字符常量 字符常量是由一对单引号括起来的单个字符。如:A、S、9、$等均为字符常量。注注1 1:单引号只起定界作用,并不代表字符。注注2 2:单引号()和反斜杠()本身作为字符时要通过转义字符()。如:和 分别代表单个字符单引号()和反斜杠()。2.3 标识符、变量和常量字符型常量的特点:字符常量只能用单引号括起来字符常量只能用单引号括起来,不能用双引不能用双引号或其它字符括起来号或其它字符括起来字符常量只能是单个字符字符常量只能是单个字符,不能是字符串。不能是字符串。单引号内的字符可以为字符集中的任意字单引号内的字符可以为字符集中的任意字符符.在C语言中,字符是按其所对应的ASCII的值来存储的,一个字符占一个字节。部分字符所对应ASCII码值如下:2.3 标识符、变量和常量字符字符0 01 19 9A AB BY YZ Za ab by yz zASCII码值(十进制)484957656689909798121 122字符和与之对应的ASCII详见附录 注意:注意:数字3和字符3的区别:2.3 标识符、变量和常量含义含义表达式表达式值值字节数字节数常量33占2个字节字符351占1个字节字符也可以参与运算:字符也可以参与运算:如:如:A+6;运算结果为71,对应的字符为H。87;运算结果为49,对应的字符为1。y32;运算结果为89,对应的字符为Y。例5:了解字符常量与其顺序值的关系。/*example2_5.c 字符常量与其顺序值的关系*/#includemain()printf(%d-%cn,A,A);printf(%d-%cn,A+5,A+5);printf(%d-%cn,A+70,A+70);2.3 标识符、变量和常量程序运行结果:65-A70-F135-?3 一种特殊的字符常量转义字符转义字符用反斜杠后面跟一个字符或一个八进制或十六进制数表示。如:a,0,n等。代表ASCII字符中不可打印的控制字符和特定功能的字符。表示特殊字符,如:单引号()、双引号()和反斜杠()等。常用的转义字符见表2-12。2.3 标识符、变量和常量注意 转义字符中的字母只能是小写字母,每个转义字符只能看作一个字符。表2-12中的r、v和f对屏幕输出不起作用,但会在控制打印机输出执行时响应其操作。在程序中,使用不可打印字符时,通常用转义字符表示。2.3 标识符、变量和常量常用的转义字符及其含义常用的转义字符及其含义转义字符转义字符转义字符转义字符转义字符的意义转义字符的意义转义字符的意义转义字符的意义ASCIIASCII代码代码代码代码nn回车换行回车换行1010t t横向跳到下一制表位置横向跳到下一制表位置9 9bb退格退格8 8r r回车回车1313f f走纸换页走纸换页1212 反斜线符反斜线符“/”/”9292 单引号符单引号符3939”双引号符双引号符3434aa鸣铃鸣铃7 7 dddddd1313位八进制数所代表的字符位八进制数所代表的字符 xhhxhh1212位十六进制数所代表的字位十六进制数所代表的字符符用数字表示的转义字符ddd-代表代表ASCII码是八进制数码是八进制数ddd(1-3位)的位)的字符。如,字符。如,0-空操作字符、空操作字符、101-A。xhh-代表代表ASCII码是十六进制数码是十六进制数hh(1-2位)的位)的字符。如,字符。如,x41-A。广义来说,广义来说,C语言字符集中的任何一个字符均可用语言字符集中的任何一个字符均可用转义字符来表示。以上的转义字符来表示。以上的ddd和和xhh正是为此而提出的。正是为此而提出的。转义字符的使用举例转义字符的使用举例转义字符的使用举例转义字符的使用举例例:转义字符例:转义字符的使用的使用Main()Main()intint a,b,ca,b,c;a=5;b=6;c=7;a=5;b=6;c=7;printfprintf(“(“ababctderfnctderfn”);”);printf(“hijktLbMnprintf(“hijktLbMn”);”);/*转义字符代表特殊的字符转义字符代表特殊的字符,注意分析其运行结果,注意分析其运行结果*/输出结果为:输出结果为:f ab c de hijk M 2 2、字符串常量、字符串常量 字符串常量是指用一对双引号括起来的一串字符。如:world,TRUE or FLASE,8765431.0037,T 均为字符串常量。注:双引号()和反斜杠()本身作为字符串时要通过转义字符()。如:和 分别代表字符串()和反斜杠()。2.3 标识符、变量和常量注意字符常量与字符串常量的区别:在C语言中,字符串常量在内存中存储时,系统自动在字符串的末尾加一个“串结束标志”:0 该结束标志的ASC码值为0,字符为空NULL。因此,长度为n个字符的字符串常量,在内存中占有n+1个字节的存储空间。如:字符串“World”,共5个字符,需占用6个字节,其存储形式为:2.3 标识符、变量和常量World0 3 3 3 3、符号常量、符号常量、符号常量、符号常量 即用一个标识符来代表一个常量(通常用大写字母表示)。即用一个标识符来代表一个常量(通常用大写字母表示)。即用一个标识符来代表一个常量(通常用大写字母表示)。即用一个标识符来代表一个常量(通常用大写字母表示)。符号常量在使用之前必须先定义,其一般形式为:符号常量在使用之前必须先定义,其一般形式为:符号常量在使用之前必须先定义,其一般形式为:符号常量在使用之前必须先定义,其一般形式为:#define#define标识符标识符标识符标识符常量常量常量常量 其中,其中,其中,其中,#define#define也是一条预处理命令,其功能是把该标识符定也是一条预处理命令,其功能是把该标识符定也是一条预处理命令,其功能是把该标识符定也是一条预处理命令,其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符义为其后的常量值。一经定义,以后在程序中所有出现该标识符义为其后的常量值。一经定义,以后在程序中所有出现该标识符义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方皆用该常量值代之。的地方皆用该常量值代之。的地方皆用该常量值代之。的地方皆用该常量值代之。如:如:#define PI 3.1415926#define PI 3.1415926#define TRUE 1#define TRUE 1#define FALSE 0#define FALSE 0 其中其中PIPI、TRUETRUE、FLASEFLASE均为符号常量;均为符号常量;其值分别为其值分别为3.14159263.1415926,1 1,0 0。2.3 标识符、变量和常量关于符号常量的几点说明:关于符号常量的几点说明:关于符号常量的几点说明:关于符号常量的几点说明:(1 1)为了和变量区别,符号常量标识一般用大写字母,)为了和变量区别,符号常量标识一般用大写字母,)为了和变量区别,符号常量标识一般用大写字母,)为了和变量区别,符号常量标识一般用大写字母,而变量标识符一般用小写字母。而变量标识符一般用小写字母。而变量标识符一般用小写字母。而变量标识符一般用小写字母。(2 2)符号常量与变量不同,它的值在程序运行过程中不)符号常量与变量不同,它的值在程序运行过程中不)符号常量与变量不同,它的值在程序运行过程中不)符号常量与变量不同,它的值在程序运行过程中不能改变,也不能再被赋值。能改变,也不能再被赋值。能改变,也不能再被赋值。能改变,也不能再被赋值。(3 3)使用符号常量的好处:一是含义清楚,二是能做到)使用符号常量的好处:一是含义清楚,二是能做到)使用符号常量的好处:一是含义清楚,二是能做到)使用符号常量的好处:一是含义清楚,二是能做到“一改皆改一改皆改一改皆改一改皆改”从而减少程序在修改时的工作量。从而减少程序在修改时的工作量。从而减少程序在修改时的工作量。从而减少程序在修改时的工作量。例:符号常量的使用例:符号常量的使用例:符号常量的使用例:符号常量的使用#definePI3.14159#definePI3.14159main()main()floatfloatr,circle,arear,circle,area;r=2.3;r=2.3;circle=2*circle=2*PIPI*r;*r;area=area=PIPI*r*r;*r*r;printf(“%f,%fn,circle,areaprintf(“%f,%fn,circle,area););/*在程序的开头定义了一符号常量在程序的开头定义了一符号常量*/*在程序中可多次引用同一个符号常量在程序中可多次引用同一个符号常量*/1 1、该程序中用该程序中用该程序中用该程序中用definedefine命令定义的命令定义的命令定义的命令定义的PIPI即为符号常量,即为符号常量,即为符号常量,即为符号常量,代表代表代表代表3.141593.14159。(definedefine命令详见第六章。)命令详见第六章。)命令详见第六章。)命令详见第六章。)2 2、使用符号常量能改善程序的可读性与可维护性。、使用符号常量能改善程序的可读性与可维护性。、使用符号常量能改善程序的可读性与可维护性。、使用符号常量能改善程序的可读性与可维护性。注意:注意:注意:注意:在函数体中符号常量的值不能被改变。在函数体中符号常量的值不能被改变。在函数体中符号常量的值不能被改变。在函数体中符号常量的值不能被改变。例7:了解符号常量的使用。/*example2_7.c*/#include#define WHO I am a student.#define HOW That is Fine.#define PI 3.1415926main()printf(%sn,WHO);printf(%sn,HOW);printf(%fn,PI);2.3 标识符、变量和常量程序运行结果:I am a student.That is Fine.3.141593 二、二、变量变量变量:变量:变量:变量:是指在程序运行过程中,是指在程序运行过程中,是指在程序运行过程中,是指在程序运行过程中,其值可以改变的量。其值可以改变的量。其值可以改变的量。其值可以改变的量。变量用于在程序中保存数据。变量用于在程序中保存数据。变量用于在程序中保存数据。变量用于在程序中保存数据。变量定义一般形式变量定义一般形式变量定义一般形式变量定义一般形式:类型说明符类型说明符类型说明符类型说明符 变量名标识符变量名标识符变量名标识符变量名标识符 1,1,变量名标识符变量名标识符变量名标识符变量名标识符 2,2,;如如如如:intintintint a,b,ca,b,ca,b,ca,b,c;float float float float x,yx,yx,yx,y;CC语言允许在定义变量的同时给变量赋值,称为变量的语言允许在定义变量的同时给变量赋值,称为变量的语言允许在定义变量的同时给变量赋值,称为变量的语言允许在定义变量的同时给变量赋值,称为变量的初始化。初始化。初始化。初始化。如如如如 intinta=3;a=3;相当于相当于相当于相当于intinta;a=3;a;a=3;floatf=3.56;floatf=3.56;charc=a;charc=a;2.3 标识符、变量和常量注意:注意:C语言中严格区分变量名字母的大小写。语言中严格区分变量名字母的大小写。如如abc与与Abc代表两个不同的变量。代表两个不同的变量。不同版本的不同版本的C语言对标识符长度的规定不同。语言对标识符长度的规定不同。如如TurboC2.0规定不超过规定不超过32个字符。个字符。变量的定义一般放在函数中所有可执行语句之前。变量的定义一般放在函数中所有可执行语句之前。变量的定义一般放在函数中所有可执行语句之前。变量的定义一般放在函数中所有可执行语句之前。如如如如 main()main()intinta;a;a=32767;a=32767;intintb;/*b;/*位置错误位置错误位置错误位置错误*/b=99;b=99;printf(%d,%dn,a,bprintf(%d,%dn,a,b););(4)允许在一个类型说明符后定义多个相同允许在一个类型说明符后定义多个相同类型的变量类型的变量.各变量之间用逗号间隔各变量之间用逗号间隔.(5)类型说明符与变量名之间至少要有一个类型说明符与变量名之间至少要有一个空格分隔空格分隔.(6)最后一个变量名之后必须以最后一个变量名之后必须以”;”结尾结尾.(7)变量定义必须放在变量使用之前变量定义必须放在变量使用之前.一般放一般放在程序开头部分在程序开头部分.(8)(8)用一个类型标识符定义多个变量时要注意书写格式用一个类型标识符定义多个变量时要注意书写格式用一个类型标识符定义多个变量时要注意书写格式用一个类型标识符定义多个变量时要注意书写格式.intint a=3,b=3,c=3;a=3,b=3,c=3;不能写作不能写作不能写作不能写作intinta=b=c=3a=b=c=3;(9 9)一个变量实质上就是一组内存单元。不同类型的变量)一个变量实质上就是一组内存单元。不同类型的变量)一个变量实质上就是一组内存单元。不同类型的变量)一个变量实质上就是一组内存单元。不同类型的变量在内存中占据的存储单元是不一样的在内存中占据的存储单元是不一样的在内存中占据的存储单元是不一样的在内存中占据的存储单元是不一样的.如,如,如,如,intint型变量型变量型变量型变量a a占据占据占据占据2 2个内存单元个内存单元个内存单元个内存单元,而浮点型变量而浮点型变量而浮点型变量而浮点型变量x x则占据则占据则占据则占据4 4个内存单元。个内存单元。个内存单元。个内存单元。(1010)给变量赋值就是将数据存入变量代表的内存单元中。)给变量赋值就是将数据存入变量代表的内存单元中。)给变量赋值就是将数据存入变量代表的内存单元中。)给变量赋值就是将数据存入变量代表的内存单元中。如如如如 a=3a=31 1、整型变量、整型变量整型变量的定义变量定义一般形式整型变量的定义变量定义一般形式整型变量的定义变量定义一般形式整型变量的定义变量定义一般形式:类型说明符类型说明符类型说明符类型说明符 变量名标识符变量名标识符变量名标识符变量名标识符 1,1,变量名标识符变量名标识符变量名标识符变量名标识符 2,2,;整型变量的定义整型变量的定义整型变量的定义整型变量的定义如下如下如下如下:intintintint a,b,ca,b,ca,b,ca,b,c;long long long long x,yx,yx,yx,y;unsigned unsigned unsigned unsigned p,qp,qp,qp,q;前面已述,前面已述,前面已述,前面已述,C C语言允许在定义变量的同时给变量赋值,称语言允许在定义变量的同时给变量赋值,称语言允许在定义变量的同时给变量赋值,称语言允许在定义变量的同时给变量赋值,称为变量的初始化。为变量的初始化。为变量的初始化。为变量的初始化。如如如如 intinta=3;a=3;相当于相当于相当于相当于intinta;a=3;a;a=3;对整数型,有四种修饰:对整数型,有四种修饰:signed signed(有符号)(有符号)unsignedunsigned(无符号)longlong(长型)(长型)shortshort(短型)整型常量的整型常量的整型变量按占用内存长度分为整型变量按占用内存长度分为3种:种:基本整型基本整型基本整型基本整型intint(2字节)字节)短整型短整型shortint(2字节)字节)长整型长整型长整型长整型longlongintint(4字节)字节)2.3 标识符、变量和常量例:整型变量的定义使用举例例:整型变量的定义使用举例例:整型变量的定义使用举例例:整型变量的定义使用举例main()main()intinti;i;longj,m;longj,m;i=32767;j=32768;i=32767;j=32768;m=i*j;m=i*j;printf(%ld,mprintf(%ld,m););/*在程序的中定义了一基本整型变量在程序的中定义了一基本整型变量i*/*在程序的中定义了长整型变量在程序的中定义了长整型变量j、m*/*输出长整型变量输出长整型变量m的值的值*/整型数据的溢出:整型数据的溢出:运算结果超出了数据的取值范围,称为溢出。运算结果超出了数据的取值范围,称为溢出。运算结果超出了数据的取值范围,称为溢出。运算结果超出了数据的取值范围,称为溢出。例:整型数据的溢出例:整型数据的溢出例:整型数据的溢出例:整型数据的溢出 main()main()intinta,b;a,b;a=32767;a=32767;b=a+1;b=a+1;printf(%d,bprintf(%d,b););该程序输出结果为该程序输出结果为该程序输出结果为该程序输出结果为-32768-32768。为什么会得到这个结果呢?为什么会得到这个结果呢?为什么会得到这个结果呢?为什么会得到这个结果呢?这要从变量这要从变量这要从变量这要从变量a a、b b的内部表示来解释。的内部表示来解释。的内部表示来解释。的内部表示来解释。因为因为因为因为a a的内部表示为的内部表示为的内部表示为的内部表示为011111110111111111111111 11111111,因而因而因而因而b b的内部表示为的内部表示为的内部表示为的内部表示为100000001000000000000000 00000000。但由于但由于但由于但由于b b是有符号基本整型变量,故将是有符号基本整型变量,故将是有符号基本整型变量,故将是有符号基本整型变量,故将100000001000000000000000 00000000看作补码形式,转化为十进制数即为看作补码形式,转化为十进制数即为看作补码形式,转化为十进制数即为看作补码形式,转化为十进制数即为-32768-32768。注意:注意:注意:注意:C C语言中对整型数据的溢出并不报错(即需语言中对整型数据的溢出并不报错(即需语言中对整型数据的溢出并不报错(即需语言中对整型数据的溢出并不报错(即需要用户自己检查)。要用户自己检查)。要用户自己检查)。要用户自己检查)。例:整型数据之间的运算举例例:整型数据之间的运算举例例:整型数据之间的运算举例例:整型数据之间的运算举例main()main()intint a,b,c,da,b,c,d;longlongx,yx,y;x=5;x=5;y=6;y=6;a=7;a=7;b=8;b=8;c=c=x+ax+a;d=d=y+by+b;printf(“cprintf(“c=x+ax+a=%=%d,dd,d=y+by+b=%d,=%d,c,dc,d););运行结果:运行结果:运行结果:运行结果:c=c=x+ax+a=12,d=12,d=y+by+b=14=14/*在程序的中定义了基本整型变量在程序的中定义了基本整型变量a、b、c、d*/*在程序的中定义了长整型变量在程序的中定义了长整型变量x、y*/*运算结果虽为长整型,但运算结果虽为长整型,但c和和d是基本是基本整型变量,所以结果为基本整形整型变量,所以结果为基本整形*/2 2、实型变量、实型变量实型变量定义一般形式实型变量定义一般形式实型变量定义一般形式实型变量定义一般形式:类型说明符类型说明符类型说明符类型说明符 变量名标识符变量名标识符变量名标识符变量名标识符 1,1,变量名标识符变量名标识符变量名标识符变量名标识符 2,2,;如如如如:float float float float a,b,ca,b,ca,b,ca,b,c;double double double double x,yx,yx,yx,y;实型数据在内存中的存储形式实型数据在内存中的存储形式实型数据在内存中的存储形式实型数据在内存中的存储形式:实型数据在内存中占实型数据在内存中占实型数据在内存中占实型数据在内存中占4 4个字节个字节个字节个字节(32(32位位位位),),一律为二进制指数形式存储。一律为二进制指数形式存储。一律为二进制指数形式存储。一律为二进制指数形式存储。以以以以floatfloat型数据型数据型数据型数据3.141593.14159在内存中的存储为例在内存中的存储为例在内存中的存储为例在内存中的存储为例,存储形式如存储形式如存储形式如存储形式如下下下下:数符数符小数部分小数部分 指数指数+.314159.3141591 1实型变量的分类实型变量的分类实型变量分为三类:实型变量分为三类:实型变量分为三类:实型变量分为三类:单精度实型单精度实型单精度实型单精度实型floatfloat(4 4字节)字节)字节)字节)数值范围从数值范围从数值范围从数值范围从-3.4e38-3.4e38到到到到3.4e383.4e38。双精度实型双精度实型双精度实型双精度实型doubledouble(8 8字节)字节)字节)字节)数值范围从数值范围从数值范围从数值范围从-1.7e308-1.7e308到到到到1.7e3081.7e308。长双精度实型长双精度实型长双精度实型长双精度实型longdoublelongdouble(1616字节)字节)字节)字节)数值范围从数值范围从数值范围从数值范围从-1.2e4932-1.2e4932到到到到1.2e49321.2e4932。实型数据的舍入误差实型数据的舍入误差实型数据往往存在误差,主要有两个原因:实型数据往往存在误差,主要有两个原因:实型数据往往存在误差,主要有两个原因:实型数据往往存在误差,主要有两个原因:数制转化时有可能产生误差。数制转化时有可能产生误差。数制转化时有可能产生误差。数制转化时有可能产生误差。如,如,如,如,0.8=0.11001100B0.8=0.11001100B。有效数字位数是有限的。有效数字位数是有限的。有效数字位数是有限的。有效数字位数是有限的。如,如,如,如,floata=12345.67890123456789;floata=12345.67890123456789;printf(%f,aprintf(%f,a););结果为结果为结果为结果为12345.67871112345.678711。例例:main()floatx,y;y=2e20+1;x=y-2e20;printf(%fn,x);该程序输出结果为该程序输出结果为4008175468544.000000。3、字符型变量用来存储字符常量,即用来保存一个字符。用来存储字符常量,即用来保存一个字符。用来存储字符常量,即用来保存一个字符。用来存储字符常量,即用来保存一个字符。字符变量定义一般形式字符变量定义一般形式字符变量定义一般形式字符变量定义一般形式:charchar变量名标识符变量名标识符变量名标识符变量名标识符 1,1,变量名标识符变量名标识符变量名标识符变量名标识符 2,2,;如如如如:charc1,c2;:charc1,c2;c1=a;c1=a;c2=b;c2=b;C C语言规定:语言规定:语言规定:语言规定:(1 1)字符型数据在一定范围内可以与整型数据通用。即允)字符型数据在一定范围内可以与整型数据通用。即允)字符型数据在一定范围内可以与整型数据通用。即允)字符型数据在一定范围内可以与整型数据通用。即允许对整型变量赋予字符值,也允许对字符型变量赋予整许对整型变量赋予字符值,也允许对字符型变量赋予整许对整型变量赋予字符值,也允许对字符型变量赋予整许对整型变量赋予字符值,也允许对字符型变量赋予整型值。在输出时,允许将整型数据按字符值输出,也允型值。在输出时,允许将整型数据按字符值输出,也允型值。在输出时,允许将整型数据按字符值输出,也允型值。在输出时,允许将整型数据按字符值输出,也允许将字符型数据按整型值输出。许将字符型数据按整型值输出。许将字符型数据按整型值输出。许将字符型数据按整型值输出。(2 2)因整型数据在内存中占两个字节,而字符型数据在内)因整型数据在内存中占两个字节,而字符型数据在内)因整型数据在内存中占两个字节,而字符型数据在内)因整型数据在内存中占两个字节,而字符型数据在内存中占一个字节,当整型数据按字符数据处理时,只有存中占一个字节,当整型数据按字符数据处理时,只有存中占一个字节,当整型数据按字符数据处理时,只有存中占一个字节,当整型数据按字符数据处理时,只有低低低低8 8位字节的值参与处理。因而上面讲的通用是指在位字节的值参与处理。因而上面讲的通用是指在位字节的值参与处理。因而上面讲的通用是指在位字节的值参与处理。因而上面讲的通用是指在02550255之内,数据按字符型和按整型处理结果相同。之内,数据按字符型和按整型处理结果相同。之内,数据按字符型和按整型处理结果相同。之内,数据按字符型和按整型处理结果相同。字符型数据的使用方法例例字符型变量赋以整数。字符型变量赋以整数。main()charc1,c2;c1=97;c2=98;printf(%c,%cn,c1,c2);printf(%d,%dn,c1,c2);运行结果为:运行结果为:a,b97,98例:例:例:例:大小写字母的转换。大小写字母的转换。大小写字母的转换。大小写字母的转换。main()main()charc1,c2;charc1,c2;c1=A;c1=A;c2=b;c2=b;c1=c1+32;c1=c1+32;c2=c2-32;c2=c2-32;printf(%c,%cn,c1,c2);printf(%c,%cn,c1,c2);运行结果为运行结果为运行结果为运行结果为 a,Ba,B程序中利用字符型数据与整型数据通用的特点,程序中利用字符型数据与整型数据通用的特点,程序中利用字符型数据与整型数据通用的特点,程序中利用字符型数据与整型数据通用的特点,直接将小写字母减去直接将小写字母减去直接将小写字母减去直接将小写字母减去3232,求得对应大写字母的,求得对应大写字母的,求得对应大写字母的,求得对应大写字母的ASCIIASCII码;将大写字母加上码;将大写字母加上码;将大写字母加上码;将大写字母加上3232,求得对应小写字,求得对应小写字,求得对应小写字,求得对应小写字母的母的母的母的ASCIIASCII码。码。码。码。操作数通常由变量或常量表示;操作数通常由变量或常量表示;操作符

    注意事项

    本文(c语言程序设计 第2章_基本语句.ppt)为本站会员(s****8)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

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

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开