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

    C语言基本数据类型.ppt

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

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

    C语言基本数据类型.ppt

    1第第2 2章章 基本数据类型、运算符和表达基本数据类型、运算符和表达式式本章要点本章要点l掌握c语言中的数据类型l掌握常用的表达式形式,以及运算符的优先级和结合性。 X+y/3 X=Y=3成绩、工资、平均体重、价格类型?范围?精度?内存结构?运算?2第第2 2章章 基本数据类型、运算符和表达式基本数据类型、运算符和表达式l2. 12. 1变变量和常量量和常量 l2 22 2 基本基本数数据据类类型型l2 23 3 整型整型l2 24 4 实实型型 l2 25 5 字符型字符型 l2 26 6 运运算符和表算符和表达达式式 l2 27 7 基本的基本的输输入入输输出函出函数数l2 28 8总结与总结与提高提高 l 预备知识预备知识3计算机中数的表示及进制转换计算机中数的表示及进制转换l数码、基与权数码:表示数的符号基:数码的个数权:每一位所具有的值l数制预备知识3126912457810119-5=49+7=16=(4)124l各种进制之间的转换二进制、八进制、十六进制转换成十进制l方法:按权相加10012345259212120212121111011)()(例10012894868381136)()(例1001231679781610162161516121)()(例AF5l各种进制之间的转换(整数)二进制、八进制、十六进制转换成十进制l方法:按权相加十进制转换成二进制、八进制、十六进制l原理:的余数是2)2.22(222.22).(00012110011112011NaaaaaaaaaaaaaNnnnnnnnnnnl方法:连续除以基,从低到高记录余数,直至商为0例 把十进制数59转换成二进制数5922921427232120(59)10=(111011)21101111 1 1 0 1 1余余余余余余例 把十进制数159转换成八进制数1598198280(159)10=(237)82 3 7 余 7余 3余 2例 把十进制数459转换成十六进制数4591628161160(459)10=(1CB)161 C B 余11余12余 16二进制与八进制之间的转换l二进制转换成八进制:从右向左,每3位一组(不足3位左补0),转换成八进制l八进制转换成二进制:用3位二进制数代替每一位八进制数例 (1101001)2=(001,101,001)2=(151)8例 (246)8=(010,100,110)2=(10100110)2000 0001 1010 2011 3100 4101 5110 6111 77二进制与十六进制之间的转换l二进制转换成十六进制:从右向左,每4位一组(不足4位左补0),转换成十六进制l十六进制转换成二进制:用4位二进制数代替每一位十六进制数例 (11010101111101)2=(0011,0101,0111,1101)2=(357D)16例 (4B9E)16=(0100,1011,1001,1110)2=(100101110011110)20000 00001 10010 20011 30100 40101 50110 60111 71000 81001 91010 A1011 B1100 C1101 D1110 E1111 F8字节和位l内存以字节为单元组成l每个字节有一个地址l一个字节一般由8个二进制位组成l每个二进位的值是0或101234567012345678910.76432519数值的表示方法数值的表示方法原码、反码和补码原码、反码和补码l原码:最高位为符号位,其余各位为数值本身的绝对值l反码:正数:反码与原码相同负数:符号位为1,其余位对原码取反l补码:正数:原码、反码、补码相同负数:最高位为1,其余位为原码取反,再对整个数加110原码反码补码+7000001110000011100000111-7100001111111100011111001+0000000000000000000000000-0100000001111111100000000数的范围0111111111111111(-127+127)0111111110000000(-127+127)0111111110000000(-128+127)(用一字节表示数)l负数补码转换成十进制数:最高位不动,其余位取反加1例 补码:11111001 取反:10000110 加1: 10000111=-7112.1变量和常量变量l数学中的变量变量是指其值可以变化的量,程序中的变量是指可多次赋值的量。l变量有三个要素,变量类型、变量名和变量地址。 例2-1 变量的使用main() int x, y, sum; printf(“nplease input two integers:); scanf(%d%d, &x, &y); /*输入两个整数*/ sum=x+y; /*两个整数求和*/ printf( nThe sum is %d, sum); /*将和输出*/ 12l2.1 常量与变量标识符l定义:用来标识变量、常量、函数等的字符序列l组成:只能由字母、数字、下划线组成,且第一个字母必须是字母或下划线大小写敏感不能使用关键字l长度:最长32个字符,一般不超过16个l命名原则:见名知意不宜混淆 如l与I, o与0例:判断下列标识符号合法性sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123M.D.John3days#33char$123ab132.1变量和常量变量lC语言中的关键字有(共32个): auto、break、case、char、const、continue、default、do、double、else、enum、extern、float、for、goto、if、int、long、register、return、short、signed、sizeof、static、struct、switch、typedef、union、unsigned、void、volatile、while。 142.1变量和常量变量l例如:下列是合法的变量名: l下列是不合法的变量名:SUM,_total,_ch1,employee_name,p_1M.D.John, $876,3D67,ab,int152.1变量和常量常量l相对变量的概念就是常量常量,也称为常数。在程序运行过程中,其值不能被改变的量称为常量。具体来说有两类: 普通常量符号常量3,7.56,a,”I love beijing”,#difine PI 3.1416l一般用大写字母l是宏定义预处理命令,不是C语句直接常量:l整型常量 l实型常量 l字符常量 l字符串常量如 #define PRICE 30常量常量l定义:程序运行时其值不能改变的量(即常数)l分类:符号常量:用标识符代表常量l定义格式: #define 符号常量 常量例 符号常量举例(ch2_1.c)#define PRICE 30main() int num,total; num=10; total=num*PRICE; printf(total=%d,total);运行结果:total=300172.1变量和常量常量例2-2 符号常量的例子#define PI 3.14main()float r, area; printf(“nPlease input the radius:); scanf(%f, &r); /*输入某圆的半径*/ PI=3.1415926; area=PI*r*r; /*计算该圆的面积*/ printf(nThe area of the circle is:%f, area); /*输出该圆的面积*/ /* *此句此句错误错误,不能通,不能通过编译过编译,因,因为为PIPI是符是符号号常量,不能重新常量,不能重新赋值赋值。* */ /182.1变量和常量常量l问题:使用符号常量有什么好处?192 22 2 基本数据类型基本数据类型 lC语言数据类型C数据类型基本类型构造类型指针类型空类型void定义类型typedef字符类型char枚举类型enum整 型实型单精度型float双精度型double数组结构体struct共用体union短整型short长整型long整型int数据类型决定:1. 数据占内存字节数2. 数据取值范围3. 其上可进行的操作20基本数据类型类型符号关键字数的表示范围所占位数整型字符型实型有无(signed)int16-3276832767(signed)short16-3276832767(signed)long32-2147483648214748364716unsigned int0655353204294967295unsigned longunsigned short16065535有float323.4e-383.4e38有double641.7e-3081.7e308有char8-128127无unsigned char80255说明:数据类型所占字节数随机器硬件不同而不同,上表以IBM PC机为例:212 23 3 整型整型整型常量整型常量 l在语言中,使用的整型常量有十进制、八进制和十六进制三种,用不同的前缀来标识不同进制的整型常量,用不同的后缀来标识不同类型的整型常量。l(1)十进制整常量:其各位数为09,但最高位不能为0(除了0这个数字外)。例如,22,0,-56等是合法的十进制整常数;而01、726C不是十进制整常数。l(2)八进制整常量:八进制整常量必须以数字0开头,即以0作为八进制数的前缀。各位数取值为07。 222 23 3 整型整型整型常量整型常量l以下各数是合法的八进制数:-01 (十进制为1)、0101(十进制为65)、0177777(十进制为65535);l以下各数不是八进制数(Why):-25、07C2。 (3)十六进制整常量:十六进制整常量的前缀为0X或0 x。十六进制需要十六个字符来表示各位可能出现的数符,这些字符规定为09,AF或af。 232 23 3 整型整型整型常量整型常量l以下各数是合法的十六进制整常量:-0X4B(十进制为75)、0X10 (十进制为16)、0XFFFF (十进制为65535);l以下各数不是十六进制整常量:-5A (无前缀0X)、0X5H (含有非十六进制数码)。 242 23 3 整型整型整型常量整型常量l(4)整型常量的后缀:在16位字长的机器上,基本整型的长度为16位,因此表示的数的范围也是有限定的。l注意:八进制整型常量和十六进制整型常量都只能表示正整数,因此16位取值范围是0+65535,而十进制整型常量可以是负数,取值范围为-32768+32767。如果使用的数超过了上述范围,则要用相应的后缀来标明。 252 23 3 整型整型整型常量整型常量l超范围的数用长整型数来表示(关于整型数据类型,参考本章2.3.2节)。长整型数是用后缀“L”或“l”来表示的。 例如: 十进制长整型常数:例如32L (十进制为32)、1234567L (十进制为1234567); 八进制长整型常数:例如040L (十进制为32)、0300000L (十进制为98304); 十六进制长整型常数:例如0X20L (十进制为32)、0XFFFFL (十进制为65535)。 注意注意:整数32L和基本整常数32在数值上并无区别但是在内存中,32L占用4个字节空间,而32只占用2个字节的空间,因此是不相同的。 262 23 3 整型整型整型常量整型常量l如果要表示一个无符号数,整型常数的后缀为“U”或“u”。例如:-358u,0 x38Au,235Lu均为无符号数。l前缀和后缀可同时使用以表示各种类型的数。如0XB7CLu表示十六进制无符号长整数B7C,其十进制数为2940。 2 23 3 整型整型整型常量整型常量272 23 3 整型整型整型常量整型常量例2-3各进制整数的输出。main() int i; i=167; printf(ni=167); printf(nThe decimal form is %d, i); /*以十进制格式显示*/ printf(nthe octonary form is %o, i); /*以八进制格式显示*/ printf(nthe hexadecimal form is %x, i); /*以十六进制格式显示*/ i=0167; 282 23 3 整型整型整型常量整型常量 printf(ni=0167); printf(nThe decimal form is %d, i); printf(nthe octonary form is %o, i); printf(nthe hexadecimal form is %x, i); i=0 x167; printf(ni=0 x167); printf(nThe decimal form is %d, i); printf(nthe octonary form is %o, i); printf(nthe hexadecimal form is %x, i);292 23 3 整型整型整型常量整型常量l运行该程序后,其结果为: i=167The decimal form is 167The octonary form is 247The hexadecimal form is a7i=0167The decimal form is 119The octonary form is 167The hexadecimal form is 77i=0 x167the decimal form is 359the octonary form is 547the hexadecimal form is 167302 23 3 整型整型整型变量整型变量l整型变量分类。l短整型基本整型长整型。在16位字长的机器中,基本整型变量占2个字节。 有无符号位有符号整型无符号整型有无符号位短整型长整型基本整型2*3=6类312 23 3 整型整型整型变量整型变量l1整数的机内表示 如果声明一个整型变量:int i;i=876;因为876292826252322,所以在机内二进制的表示形式如图2-2所示(共占16位): 图22 876在内存中的表示0 0 0 0 0 0 1 1 0 1 1 0 1 1 0 0322 23 3 整型整型整型变量整型变量l无符号整型将所有的位均表示为数据,因此只有正数形式。有符号的整型将最高位用做符号位,最高位为“1”表示负数,为“0”表示正数。 332 23 3 整型整型整型变量整型变量l2整型变量的类型 数据类型类型说明符字节数表示范围无符号短整型unsigned short int2065535有符号短整型signed Short int2-3276832767无符号整型unsigned int2065535有符号整型signed int2-3276832767无符号长整型unsigned long int404294967295有符号长整型signed long int4-21474836482147483647342 23 3 整型整型整型变量整型变量l3整型变量的声明和赋值 l声明变量的格式为: 变量类型变量类型 变量名;变量名;l下面是声明整型变量的例子: short int x; 声明了一个短整型的变量x。而 unsigned int y; 则声明了一个无符号的基本整型变量y。352 23 3 整型整型整型变量整型变量l声明变量的时候要注意三点: (1)允许一行声明多个同类型变量,各变量名间用“,”(逗号)隔开;(2)变量必须先声明,然后才能使用 ;(3)在一个语句块中,程序中所有的变量应当一 起声明在开始处,不能重复声明。 362 23 3 整型整型整型变量整型变量例2-4整型变量的运用main() int a, b, c, d;/* 在程序段开始处一起声明变量*/ unsigned u; a=12; b=-24; u=10;/*用常量为变量赋值*/ c=a+u; d=b+u; /* 用一个表达式为变量赋值*/ printf(na+u=%d,b+u=%d, c, d); 372 23 3 整型整型整型变量整型变量例2-5一个不正确的例子main() int x, y; y=x; printf(ny=%d, y);我错在那?呜呜呜382 23 3 整型整型整型变量整型变量l给整型变量赋值有很多方式 (1)声明时立即赋值,称为初始化。例如:int x=3;int y=4, z=5;(2)先声明后赋值。 int x; x=3; (3)通过格式化函数scanf从标准输入设备输入。 int x; scanf(“%d”, &x); 392 23 3 整型整型整型变量整型变量l4整型值的输出。 也可以将整型常量或变量的值以十进制、八进制或十六进制的格式输出,例23说明了这一点。 重要提示:数学上的整数可以无限大,但程序设计中整数在机内存储所占的内存有限,因此整型数据表示的范围有限,在平时的编程中,要特别注意不能把一个超过范围的数值赋值给一个整型变量。如果这样做了,那么这个整型变量事实上接受的不是预想中的值,称为“溢出”。 402 23 3 整型整型整型变量整型变量例2-6整型数据的溢出。main() int a, b; a=32767; b=a+1; printf(%d,%dn, a, b); 运行后,其结果为:32767,-32768412 23 3 整型整型整型变量整型变量l为什么会出错?0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1a=32767: 图25 整数溢出0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1+11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0-32768422 24 4 实型实型实型常量实型常量 在C语言中,实数只采用十进制。基本的形式为:整数部分整数部分. .小数部分小数部分但有两种表达方式: (1)小数方式:由09和小数点组成。例如:035,167,6736,728.3 等。(2)指数方式:由十进制实数,加阶码标志“e”或“E”以及阶码(只能为整常量,可以带符号)组成。其一般形式为: aEn或aen(a为十进制数,n为十进制整数表示的阶码)其值为a10n。 432 24 4 实型实型实型常量实型常量l实型常量的例子l使用实型常量要注意以下几点: (1)整数部分和小数部分可以省略其中的一个,例如,.36和200.都是合法的实型常量。(2)用指数方式时,E或e两边都要有数字,但都只能是常量。(3)实型分为单精度实型和双精度实型,但是实型常数不分单、双精度,都按双精度double型处理。036e2,表示0.36102;12.56E12,表示12.561012;3.89e3,表示3.89103。442 24 4 实型实型实型变量实型变量l1实型数据的机内表示 实型数据一般占4个字节(32位)内存空间,按指数形式存储。比如实数3.14159在内存中的存放形式 : +.3141591数符小数部分阶符阶数 小数部分占的位数愈多,数的有效数字愈多,精度愈高。 指数部分占的位数愈多,则能表示的数值范围愈大。 452 24 4 实型实型实型变量实型变量l2实型变量的类型类型类型说明符比特数(字节数)有效数字表示范围单精度实型float32(4)67-3.410-373.41038 双精度实型double64(8)1516-1.710-3071.710308 长双精度实型long double 128(16)1819 -1.210-49311.2104932 462 24 4 实型实型实型变量实型变量l3实型变量的声明和赋值 实型变量定义的格式和书写规则与整型相同。例如: float x, y; (x,y为单精度实型量) double a, b, c; (a,b,c为双精度实型量) 472 24 4 实型实型实型变量实型变量实型变量赋值方式与整型变量类似,但是要注意的是从键盘输入时scanf()函数的类型说明符为“%f”:float x;x=scanf(“%f”, &x);从键盘输入实数时可以用小数的形式或指数的形式输入。 482 24 4 实型实型实型变量实型变量l4实型值的输出 若用printf()函数输出,格式输出符是“%f”,细节请参看本章2.7节。 492 24 4 实型实型实型变量实型变量l5实型数据的舍入误差例2-7 实型数据的舍入误差。main() float a, b; a=123456.789e5; b=a+20; printf(na=%f,b=%f,a,b);该程序的运行结果是:a=12345678848.000000,b=12345678848.000000502 25 5 字符型字符型字符常量字符常量 l字符常量是用单引号括起来的单个字符或转义字符。例如:a、c、=、+、?都是合法字符常量。注意,a和A是不同的字符常量。l在语言中,字符常量有以下特点:(1)字符常量只能用单引号括起来,不能用双引号或其它括号。(2)字符常量只能是单个字符,不能是字符串。(3)有些字符有特殊含义,如单引号“”、双引号“”等,还有一些字符不能或不方便直接从键盘输入,比如回车换行符、退格符等。这时可使用转义字符来表示。 512 25 5 字符型字符型字符常量字符常量转义字符转义字符的意义ASCII代码n回车换行10t横向跳到下一制表位置9b退格8r回车13f走纸换页12反斜线符92单引号符39”双引号符34a鸣铃7ddd13位八进制数所代表的字符xhh12位十六进制数所代表的字符522 25 5 字符型字符型字符常量字符常量 广义地讲,语言字符集中的任何一个字符均可用转义字符来表示。 表中的ddd和xhh正是为此而提出的。ddd和hh分别为八进制和十六进制的ASCII代码(ASCII表见附录1)。 如101(十进制为65)表示字母A ,012(十进制为10)代表换行,376代表图形字符“”,XOA表示换行等。特别注意0或000是代表ASCII码为0的控制字符,即“空操作”。要注意的是,015表示回车,不换行,使得输出的当前位置移到本行开头,而n表示回车换行,使得输出的当前位置跳到了下一行的行首。 532 25 5 字符型字符型字符常量字符常量例2-8 转义字符的使用。main() printf( ab ctderf012); printf( hi 101x61); 运行后其结果如下(表示空格,本章其它地方出现这个符号,不作特别说明的话也代表空格):fabcdehi”Aa542 25 5 字符型字符型字符变量字符变量l1字符数据的机内表示01111000 每个字符变量被分配一个字节的内存空间,因此只能存放一个字符。字符值是以ASCII码的形式存放在变量的内存单元之中。 如x的十进制ASCII码是120,y的十进制ASCII码是121。对字符变量a,b赋予x和y值: a=x; b=y; 实际上是在a,b两个单元内存放120和121的二进制代码,如图2-7所示: a: b:01111001552 25 5 字符型字符型字符变量字符变量例2-9 把整数赋给字符变量。main() char a, b; a=x; /*将字符常量赋值给字符变量*/ b=120; /*将整型常量赋值给字符变量*/ printf(%c,%dn, a, a); printf(%c,%dn, b, b);运行后其结果是:x,120 x,120562 25 5 字符型字符型字符变量字符变量例2-10大小写转换main() char a, b; a=a; b=B; printf(n%c, %dn%c, %d, a, a, b, b); a=a-32; b=b+32; printf(n%c, %dn%c, %d, a, a, b, b);运行后,其结果是:a,97B,66A,65b,98572 25 5 字符型字符型字符变量字符变量l2字符变量的声明和赋值字符变量的声明格式为:char 变量名;例如:char x ,y;该语句声明了两个字符变量x和y。字符变量声明后就可以赋值,对于声明的变量x可以这样赋值:x=x;注意,在该语句中,左边的x是变量,而右边的x是字符常量。582 25 5 字符型字符型字符变量字符变量 字符变量也可用转义字符赋值:x=b;该语句将退格符赋值给了x。也可以从标准输入设备输入字符给字符变量,如:scanf(“%c”,&x)。因为scanf函数可以指定输入数据的类型,也称做格式化输入函数。592 25 5 字符型字符型字符串常量字符串常量l在C语言中,没有为字符串定义变量类型,也就是说,没有字符串变量这个概念。但是有字符串常量的概念。日常生活中的人名、书名等,都要用字符串来描述。字符串可以存储在后面将要学到的数组或指针类型变量中。l字符串常量是由一对“”括起的字符序列。例如: “CHINA”,“C program”,“$12.5” 等都是合法的字符串常量。l如果要将双引号“”作为字符串的一部分,那么就需要使用转义字符。例如:“the number ”5”,该字符串就是平时理解的the number “5”。602 25 5 字符型字符型字符串常量字符串常量l字符串常量和字符常量是不同的量。它们之间主要有以下区别:(1)从书写格式上看,字符常量由单引号括起来,字符串常量由双引号括起来。(2)从形式上看,字符常量只能是单个字符,字符串常量则可以含一个或多个字符。(3)从赋值方式上看,可以把一个字符常量赋值给一个字符变量,但不能把一个字符串常量赋值一个字符变量。在语言中没有相应的字符串变量,但是可以用一个字符数组或字符指针变量来存放一个字符串常量。在数组一章内予以介绍。612 25 5 字符型字符型字符串常量字符串常量(4)从内存格式上看,字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符“0” (ASCII码为0)。这是字符串结束的标志。例如:字符串 “C program” 在内存中所占的字节为如图2-8所示。CprOgram0622 25 5 字符型字符型字符串常量字符串常量l字符常量a和字符串常量“a”虽然都只有一个字符,但在内存中的情况是不同的。 l思考:语句“printf(“I like 0 c”)”执行的结果是什么?63l一般用大写字母l是宏定义预处理命令,不是C语句直接常量:l整型常量 l实型常量 l字符常量 l字符串常量如 #define PRICE 30l定义:程序运行时其值不能改变的量(即常数)l分类:符号常量:用标识符代表常量l定义格式: #define 符号常量 常量例 符号常量举例(ch2_1.c)#define PRICE 30main() int num,total; num=10; total=num*PRICE; printf(total=%d,total);运行结果:total=300常常 量量64&整型常量(整常数)l三种形式:十进制整数:由数字09和正负号表示.如 123,-456,0八进制整数:由数字0开头,后跟数字07表示.如0123,011十六进制整数:由0 x开头,后跟09,af,AF表示. 如0 x123,0Xff例 12 与 12L例 30000 为int型 65536 为long int 型l整型常量的类型根据其值所在范围确定其数据类型在整常量后加字母l或L,认为它是long int 型常量问题:0123 = ( )100 x123 = ( )100Xff = ( )1083291255问题:0123 = ( )100 x123 = ( )100Xff = ( )1065&实型常量(实数或浮点数)l表示形式:十进制数形式:(必须有小数点) 如0.123, .123, 123.0, 0.0, 123.指数形式:(e或E之前必须有数字;指数必须为整数)如12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5 l实型常量的类型默认double型在实型常量后加字母f或F,认为它是float 型66aaa&字符常量l定义:用单引号括起来的单个普通字符或转义字符. l字符常量的值:该字符的ASCII码值转义字符及其含义:转义字符含义nvradddtbf“xhh转义字符含义换行垂直制表回车响铃单引号3位8进制数代表的字符水平制表退格换页反斜线双引号2位16进制数代表的字符如 101 -A 012 -n 376 - x61 -a 60 -0 483 -()例:A-101-x41-65如 A65, a97, 048 , n10如 a A ? n 101l转义字符:反斜线后面跟一个字符或一个代码值表示例 转义字符举例(ch2_001.c,ch2_004.c) main() printf(101 x42 Cn); printf(I say:How are you?n); printf(C Programn); printf(Turbo C);运行结果:(屏幕显示)A B CIsay:”How are you?”C ProgramTurbo C例 main() printf(“Yb=n”); 运行结果:屏幕显示:=打印机输出:67l字符常量与字符串常量不同&字符串常量l定义:用双引号(“”)括起来的字符序列l存储:每个字符串尾自动加一个 0 作为字符串结束标志h e l l o 0例 字符串“hello”在内存中a a 0例 a“a”例 空串 “”0例: char ch; ch=“A”; 例: char ch; ch=A; 68编译程序根据变量定义为其分配指定字节的内存单元.地址int a=1, b=-3,c;abc2字节2字节2字节地址地址.内存1-3随机数l概念:其值可以改变的量l变量名与变量值l变量定义的一般格式: 数据类型 变量1,变量2,变量n;l变量初始化:定义时赋初值 例: int a,b,c; float data;决定分配字节数和数的表示范围合法标识符例: int a=2,b,c=4; float data=3.67; char ch=A; int x=1,y=1,z=1; int x=y=z=1;l变量的使用:先定义,后使用例1 int student; stadent=19; /Undefined symbol statent in function main 例2 float a,b,c; c=a%b; /Illegal use of floating point in function main l变量定义位置:一般放在函数开头main() int a,b=2; float data; a=1; data=(a+b)*1.2; printf(“data=%fn”,data);变量定义可执行语句main() int a,b=2; a=1; float data; data=(a+b)*1.2; printf(“data=%fn”,data);Ch2_005.c变变 量量69&整型变量l占字节数随机器不同而不同,一般占一个机器字lshortintlongl可用sizeof(类型标识符)测量例 float a;a=111111.111; /* a=111111.1*/double b;b=111111.111; /* b=111111.111*/Ch2_006.c&实型变量lfloat:占4字节,提供7位有效数字ldouble:占8字节,提供1516位有效数字&字符型变量l字符变量存放字符ASCII码lchar与int数据间可进行算术运算例 a=D; /* a=68; */ x=A+5; /* x=65+5; */ s=!+G /* s=33+71; */没有字符串变量,用字符数组存放70例 /*ch2_003.c*/ #define PRICE 12.5 main() int num=3; float total; char ch1,ch2=D; total=num*PRICE; ch1=ch2-A+a; printf(“total=%f,ch1=%cn”,total,ch1); 宏定义变量定义输出结果运行结果:total=37.500000, ch1=d712 26 6 运算符和表达式运算符和表达式运算符简介运算符简介 l算术运算符:用于各类数值运算。包括加(+)、减(-)、乘(*)、除(/)、求余(或称模运算, %)、自增(+)、自减(-)、强制类型转换共八种。l关系运算符:用于比较运算。包括大于()、小于(=)、小于等于(=)和不等于(!=)六种。l逻辑运算符:用于逻辑运算。包括与(&)、或(|)、非(!)三种。l位操作运算符:参与运算的量按二进制位逐位进行运算。包括按位与(&)、按位或(|)、按位非()、按位异或()、左移()六种。 722 26 6 运算符和表达式运算符和表达式运算符简介运算符简介l赋值运算符:用于赋值运算,分为简单赋值(=)、复合算术赋值(+=,-=,*=,/=,%=)和复合位运算赋值(&=,|=,=,=,=)三类共十一种。l条件运算符:这是一个三目运算符,用于条件求值(?:)。l逗号运算符:用于把若干表达式组合成一个表达式(,)。l指针运算符:用于取内容(*)和取地址(&)二种运算。l求字节数运算符:用于计算数据类型所占的字节数(sizeof)。l特殊运算符:有括号(),下标,成员(,.)等几种。 73学习运算符应注意:学习运算符应注意:l运算符功能l与运算量关系要求运算量个数要求运算量类型l运算符优先级别l结合方向l结果的类型742 26 6 运算符和表达式运算符和表达式算术运算符和算算术运算符和算术表达式术表达式 l1基本的算术运算符l加法运算符“+”:加法运算符为双目运算符,即应有两个量参与加法运算。如a+b,4+8等。l减法运算符“-”:减法运算符为双目运算符。但“-”也可作负值运算符,此时为单目运算。l乘法运算符“*”:双目运算符。l除法运算符“/”:双目运算符。参与运算的量均为整型时,结果为舍去小数整型数;如果运算量中有一个是实型,则结果为双精度实型数。l求余运算符(也称模运算符)“%”:双目运算符。要求参与运算的量均为整型。求余运算的结果等于两数相除后的余数。 752 26 6 运算符和表达式运算符和表达式算术运算符和算算术运算符和算术表达式术表达式例2-11两数相除。main() printf(n%d, %d, 20/7, -20/7); printf(n%f, %f, 20.0/7, -20.0/7);该程序的运行结果为:2,-22.857143,-2.857143“/”两个操作数如果都为整形,结果为整形,如果有一个为实型,结果即为实型。762 26 6 运算符和表达式运算符和表达式算术运算符和算算术运算符和算术表达式术表达式例2-12除法与求余。main() printf(n%d, %d, 100/3, 100%3);该程序运行后的输出为:33,1 772 26 6 运算符和表达式运算符和表达式算术运算符和算算术运算符和算术表达式术表达式l2算术表达式和运算符的优先级和结合性l表达式表达式是由常量、变量、函数和运算符组合起来的式子。表达式有相应类型的值,它们等于计算表达式所得结果。表达式求值按运算符的优先级优先级和结合性结合性规定的顺序进行。单个的常量、变量、函数可以看作是表达式的特例。 782 26 6 运算符和表达式运算符和表达式算术运算符和算算术运算符和算术表达式术表达式l算术表达式:算术表达式:用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子,例如(a+b)*3+c/2。 例2-13表达式的值main() int a, b; a=5; b=7; printf(n(a*2)/b=%d, (a*2)/b);其运行结果为:(a*2)/b=1792 26 6 运算符和表达式运算符和表达式算术运算符和算算

    注意事项

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

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




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

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

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

    收起
    展开