C语言数据类型与基本输入输出.ppt
第二章第二章 数据类型与基本输入输出数据类型与基本输入输出第一节第一节 C的数据类型的数据类型第二节第二节 常量常量第三节第三节 变量变量第四节第四节 数据的输入输出数据的输入输出第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材第一节第一节 C的数据类型的数据类型 第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材数据类型基本数据类型基本数据类型构造类型构造类型指针类型指针类型空类(void)整型整型字符型字符型实型实型枚举型单精度单精度双精度双精度数组类型数组类型结构体类型共用体类型第二节第二节 常量常量u什么是常量?有几类?什么是常量?有几类?常量常量是指在程序过程中不可以改变的量不可以改变的量(1)可以分为:字面常量:字面常量:是从该常量本身就可以知道该量的大小及类型。如 3.14159,3,“123”,。符号常量:符号常量:是用一个字符一个字符来表示一个常量一个常量#define PI 3.14159(2)根据数据类型也可分:整型常量、实型常量、字符常量和字符串常量。(3)标识符第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材整型常量整型常量 整型常量有整型常量有三种三种表示:表示:(1)十进制十进制表示法表示法:如如 23,127,-256,35535(2)八进制八进制表示法表示法 如如 0123,020,-054等等(3)十六进制十六进制表示法表示法 如如 0 x10,0 xff,0 x1000,0 xffff,-0 xab注意事项注意事项1、在以前数学里,一个数前面加零对结果没有影响,但、在以前数学里,一个数前面加零对结果没有影响,但C语言中,语言中,前面加零与不加零完全不一样。前面加零与不加零完全不一样。如如012,12是二个不同的数。是二个不同的数。2、如、如093是一个非法的数是一个非法的数第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材实型常量实型常量 二种二种表示方法表示方法:(1)小数小数表示:如表示:如123.34(2)指数指数表示:尾数用表示:尾数用e表示指数表示指数 如如-1.32e3(规范化的指数形式)规范化的指数形式)23.4e-2(非规范化的指数形式)非规范化的指数形式)第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材(3)实型)实型常量的类型常量的类型(必须知道必须知道)u实型常量不定义常量不定义类型,系统按照双精度处理双精度处理。f=2.45678*4523.65 若在数的后面加f,如1.65f,按单精度处理。u实型常量可赋给可赋给float,double,long double变量。第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材字符常量字符常量(1)普通字符常量)普通字符常量 就是用就是用单撇号单撇号括起来的括起来的一个字符一个字符或者其或者其ASCII码。码。(2)转义字符常量)转义字符常量 该字符代表的意义不能直接从字符的表面看该字符代表的意义不能直接从字符的表面看得出来。有其另外的意义。得出来。有其另外的意义。第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材如如 A,a,1,*等等也可以用也可以用ASCII码表示码表示 65,97,49转义字符常量(转义字符常量(P24)()(掌握)掌握)第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材字符形式字符形式 含含 义义 ASCII代码代码(P324表)表)n它是一个字符,代表换行它是一个字符,代表换行 10t跳到该行下一个跳到该行下一个8的倍数位置的倍数位置 9b删格,删除前面一个字符删格,删除前面一个字符 8r回车,不换行回车,不换行 13f换页,将当前位置换到下页开头换页,将当前位置换到下页开头 12反斜杠符号反斜杠符号 92单引号单引号 39”双引号双引号 ”34ddd1到到3位位8进制数代表的字符进制数代表的字符xhh1到到2位位16进制数代表的字符进制数代表的字符字符常量使用举例字符常量使用举例 main()printf(“HinnNice to meet youn”);printf(“HibbNice to meet youn”);printf(“hitNicettotmeettyoun”);printf(“to be deletedrLeaning C is a wonderful experiencen”);printf(“x41101”);输出结果:第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材输出结果:输出结果:第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材字符串常量的表示(字符串常量的表示(掌握掌握)(1)用)用双引号括起来双引号括起来表示字符串常量表示字符串常量 如如“nice”,“Learning C is a wonderful exeperience for me”(2)引号里面可以是普通字符常量和转义)引号里面可以是普通字符常量和转义字符常量字符常量第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材(3)字符串常量在)字符串常量在内存的存放内存的存放方式方式v占据内存中的占据内存中的连续一片空间连续一片空间,其,其实际内实际内存单元是字符个数加存单元是字符个数加1,额外额外多多一个是用一个是用来存放来存放0,这是一个非常特殊的字这是一个非常特殊的字符,其实不存在该字符,所有用它来表符,其实不存在该字符,所有用它来表示字符串的结束,所以示字符串的结束,所以0是字符串是字符串的结束符的结束符。0-ASCII码为码为0的字符的字符。v如:如:“Hello”第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材Hello0标识符标识符一、标识符:一、标识符:用来定义对象名称1、标识符的有效长度:1-32字符。一般不超过8个。2、标识符的第一个第一个字符必须是字符必须是26个个字母和下划线。后继字符可以是字母和下划线。后继字符可以是26个个字符字符,10个个数字数字和和下划线下划线3、选择标识符时尽量做到:见名知、选择标识符时尽量做到:见名知意。意。第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材第三节第三节 变量(变量(重要)重要)(1)变量:变量:其值在程序过程中其值在程序过程中可以发生变化可以发生变化的量。的量。(2)有关变量的几点说明:)有关变量的几点说明:v每个变量每个变量只能属一个类型只能属一个类型v每个变量都每个变量都先说明,后使用先说明,后使用v每个变量都分配给一个内存单元,因此每个变量都分配给一个内存单元,因此每个每个变量都有地址。变量都有地址。(3)变量的)变量的取名规则取名规则(同标识符)(同标识符)v规则规则1:只能用以下字符来取变量名:只能用以下字符来取变量名 26个个字符字符,10个个数字数字和和下划线下划线v规则规则2:第一个第一个字符必须是字符必须是26个字母和下划线个字母和下划线v规则规则3:不能不能与一些与一些关键字关键字同名同名v原则:见名知意(原则:见名知意(例子例子)第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材基本数据类型的变量分类(基本数据类型的变量分类(重点重点)u整型变量整型变量u实型变量实型变量u字符型变量字符型变量第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材整型变量整型变量(1)整型数据在内存中以)整型数据在内存中以补码补码形式存放形式存放。(了解)。(了解)(2)每一个整型变量在内存中)每一个整型变量在内存中占占2个字节个字节,例如:int i;i=10;十进制10(2)若i=-10;负数的补码负数的补码为该数的绝对值的二进制按位按位取反取反再加加1。第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0二进制1010,存放情况:整型变量的分类整型变量的分类-整型类型(整型类型(掌握掌握)vTC中short 2,int 2,long 4v带符号和不带符号:可以在int short,long之前加unsigned和signed表示不带符号和带符号。v取值范围不同(可参考P19)v不指定符号不指定符号,则默认signed。第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材整型整型 类型类型内存占用内存占用(位)(位)取值范围取值范围int(基本整型)基本整型)2个字节个字节16位位32768+32767Short(短)(短)2个字节个字节 long (长)(长)4个字节个字节32位位-231+231-1整型变量的定义和使用整型变量的定义和使用:(变量使用前必须先定义):(变量使用前必须先定义)例题2-4main()int a,b,c,d;unsigned u;a=12;b=-24;u=10;c=a+u;d=b+u;printf(“a+u=%,b+u=%dn”,c,d);第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材/*将变量将变量u定义为定义为无符号无符号整型数据整型数据*/*不同类型数据混合运算不同类型数据混合运算*/不同类型数据间的混合运算规则不同类型数据间的混合运算规则(1)各类)各类数值型数据数值型数据可以混合运算可以混合运算。(2)不同类型数据运算是)不同类型数据运算是要进行类型转换:要进行类型转换:转换的转换的原则是原则是按运算次序按运算次序从低类型到高从低类型到高类型,类型,同类型直接进行运算。同类型直接进行运算。第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材doublefloatLong unsingedintchar,short高高低低整形数据的溢出整形数据的溢出 例题2-7 main()int a,b;a=32767;b=a+2;printf(“%d,%dn”a,b);第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材实型变量(实型变量(掌握掌握)(1)实型变量在内存中的)实型变量在内存中的存放存放形式:形式:一个实型数据在内存中一个实型数据在内存中占占4个字节个字节,通常,通常24位表示位表示小小数数,8位表示位表示指数指数,小数部分位愈多,精度愈高。,小数部分位愈多,精度愈高。,指数部分愈多,表示数值范围愈大。指数部分愈多,表示数值范围愈大。(2)实型变量的分类:)实型变量的分类:第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材 实型类型实型类型内存占用内存占用有效数字有效数字取值范围取值范围float(单精度)单精度)4个字节个字节 67位位10-37 1038 (指数指数8位位)double(双)(双)8个字节个字节 1516位位10-307 10308(11位位)long double(长双)(长双)10个字节个字节 1819位位10-4931 1049321(15位位)实型变量的定义和使用实型变量的定义和使用:(变量使用前必须先定义):(变量使用前必须先定义)例题2-8 main()float a,b;a=3.142;b=1.414;printf(“a+b=%fn”,a+b);printf(“a-b=%fn”,a-b);第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材字符变量(字符变量(掌握掌握)(1)在内存中占)在内存中占1个字节。个字节。(2)其中)其中每个变量可以存放一个字符每个变量可以存放一个字符 (只能是一个字符只能是一个字符)。(3)字符在内存中)字符在内存中以以 ASCII的二进制形式存放的。的二进制形式存放的。(4)字符变量的定义:)字符变量的定义:char x1,x2;(5)字符变量的赋值:)字符变量的赋值:x1=a;x2=b;第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材Char是字符变量类型说明符是字符变量类型说明符C语言中语言中字符类型字符类型的的特殊特殊之处之处(1)字符与整型数相似,)字符与整型数相似,可以可以与数值型的与数值型的数进行数进行加减乘除加减乘除运算。运算。(2)字符)字符可以可以以以整数整数形式形式输出输出其其ASCII码码(3)在)在C语言语言字符型与整数型的区别字符型与整数型的区别不严不严格格第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材字符数据和整型数据的通用字符数据和整型数据的通用(1)字符数据以字符形式输出:字符数据以字符形式输出:将存储单元中将存储单元中的的ASCII码转换成字符,再输出。占码转换成字符,再输出。占1个字节个字节(2)字符数据以整型数据形式输出,字符数据以整型数据形式输出,直接将直接将ASCII码以整型数据输出。占码以整型数据输出。占29个字节个字节(3)例题)例题第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材例题例题2-9 amain()char c1,c2;c1=97;c2=98;printf(“%c%cn,c1,c2);printf(“%d%dn,c1,c2);第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材例题例题2.9bmain()char c1,c2;c1=a;c2=b;c1=c1-32;c2=c2-32;printf(“%c%cn,c1,c2);以字符的以字符的格式输出格式输出以十进制整数的格式输出以十进制整数的格式输出整数整数赋给赋给字符型变量字符型变量字符字符赋给赋给字符型变量字符型变量大小写字母大小写字母转换转换字符串变量字符串变量要用数组来实现,在数组那一章讲第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材第四节第四节 数据的基本输入与输出数据的基本输入与输出基本输入输出分三类:基本输入输出分三类:单字符输入与输出:单字符输入与输出:格式输入与输出:格式输入与输出:字符串输入与输出:字符串输入与输出:第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材单字符数据的输入和输出单字符数据的输入和输出(1)putchar()字符输出函数:向终端输出1个字符(2)getchar()字符输入函数:从终端输入一个字符第第三三章章 顺顺序序结结构构 C语语言言程程序序设设计计高职教材高职教材#include main()char a,b,c;a=O;b=K;c=!;putchar(a);putchar(b);putchar(c);例题2-10#include main()char c;c=getchar();putchar(c);例题2-11向终端输出变量向终端输出变量a的值的值输入字符并输入字符并将它赋给变量将它赋给变量c格式输入和输出格式输入和输出1、格式输出函数:printf()函数 一般格式:printf(格式控制,格式控制,输出列表输出列表);如:如:printf(“max=%dn”,max);v说明v输出列表可以没有,但格式控制不能没有。输出列表可以没有,但格式控制不能没有。v输出列表是要输出的内容输出列表是要输出的内容,要用逗号分隔开,可以是变量、常量、表达式和函数等都可 float a=23;printf(“%f%f%f%fn”,a,23,a*b+12,sqrt(4)v格式控制用双引号括起来。格式控制用双引号括起来。第第三三章章 顺顺序序结结构构 C语语言言程程序序设设计计高职教材高职教材 格式控制格式控制v用控制输出格式,其目的目的是为了好看和实用。v它有二部分它有二部分普通字符(包括转义字符)与格式控制符普通字符是按原样输出,不进行任何改变处理的。printf(“max=%d n”,max);格式控制符是输出内容按一定格式输出并进行相应的转换。第第三三章章 顺顺序序结结构构 C语语言言程程序序设设计计高职教材高职教材max=是普通字符是普通字符。n也是普通字符也是普通字符。%d 是格式控制符,把是格式控制符,把max里的值按整数输出里的值按整数输出。格式控制符格式控制符v%d按整数输出v%c按字符输出v%f 按浮点数串输出v%s按字符串输出 P53v%e按指数输出v%o按八进制输出v%x 按十六进制输出v%u按不带符号数输出第第三三章章 顺顺序序结结构构 C语语言言程程序序设设计计高职教材高职教材%d 格式符格式符%d:按整型数据的实际长度输出。%md:m指定的输出字段的长度,如果数据小于m,左端补空格。大于则按实际位数输出。%ld:输出长整型数据。%mld:指定输出长度m。例题2-12 main()int a=1234,b=12;long int c=123456;printf(“%d,%3d,%ldn”,a,b,c);第第三三章章 顺顺序序结结构构 C语语言言程程序序设设计计高职教材高职教材%s 格式符:格式符:%ms:输出的字符串占 m列,如字符串本身长度大于大于m,则突破m的限制,将字符串全部输全部输出出,若串长小于小于 m,则左补空格左补空格。%-ms:若串长小于 m,则在m列范围内,字符串向左靠,右补空格右补空格。%m.ns:输出占m列,但只取取字符串中左端左端n个字符,并输出在输出在m列的右侧右侧,左补左补空格。%-m.ns:输出占m列,但只取取字符串中左端左端n个字符,并输出在输出在m列的左侧左侧,右补右补空格。第第三三章章 顺顺序序结结构构 C语语言言程程序序设设计计高职教材高职教材例题例题2-18main()printf(“%3s,%7.2s,%.4s,%5.3sn”,”CHINA”,”CHINA”,”CHINA”,”CHINA”);输出结果:P53第第三三章章 顺顺序序结结构构 C语语言言程程序序设设计计高职教材高职教材%f 格式符格式符%f:不指定宽度,全部输出全部输出。一般6位小数%m.nf:指定输出输出的数据占m列列,其中有n位小数位小数,若数值长度小于m,则左端补空格。%-m.nf:与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格。P19 例题2-13、2-14第第三三章章 顺顺序序结结构构 C语语言言程程序序设设计计高职教材高职教材2、格式输入函数:scanf()函数 一般形式:scanf(“格式控制“,输入项地址列表);例子2-20 第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材 main()int a,b,c,d,e,f;scanf(“%d%d%d”,&a,&b,&c);scanf(“%d,%d,%d”,&d,&e,&f);printf(“%d%d%d%d%d%dn”,a,b,c,d,e,f);&取地址符号取地址符号。格式说明1、scanf(“%3d%3d”,&a,&b);2、scanf(“%2d%*3d%2d”,&a,&b);3、scanf(“%d:%d”,&a,&b);另外:其他一些说明,见教材P23-24第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材%md指定宽度,系统自动截取指定宽度,系统自动截取*跳过跳过有字符:则输入相应的字符有字符:则输入相应的字符第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材2.6 变量赋初值(变量赋初值(掌握掌握)v变量赋初值又叫做变量赋初值又叫做初始化初始化,表示该变量,表示该变量在开始时的值。是指在定义变量的同时,在开始时的值。是指在定义变量的同时,给变量赋值。如给变量赋值。如 int a=3;float f=13.323;char x=Z;v不合法不合法:int a=b=c=3;v在运行时执行在运行时执行第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材2.7 各类数值型数据间的混合运算各类数值型数据间的混合运算(1)各类)各类数值型数据数值型数据可以混合运算可以混合运算。(2)不同类型数据运算是)不同类型数据运算是要进行类型转换:要进行类型转换:转换的转换的原则是原则是按运算次序按运算次序从低类型到高从低类型到高类型,类型,同类型直接进行运算。同类型直接进行运算。第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材doublefloatLong unsingedintchar,short高高低低类型转换例子类型转换例子(1)int i;float f,double d;long e;10+a+i*f-d/e(2)float sum;int a=1,b=3;sum=1.0*a/b+1.0*a/b+1.0*a/b;(3)转换是自动进行的转换是自动进行的第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材2.8算术运算符与算术表达式(算术运算符与算术表达式(重点重点)基本运算符介绍:基本运算符介绍:P325 有以下几类:有以下几类:(1)算术算术运算符:运算符:+,-,*,/(2)关系关系运算符:运算符:,=,=,=,!,!=(3)逻辑逻辑运算符:运算符:&,|,!(4)位运算符:)位运算符:,&,|,(5)赋值赋值运算:运算:=第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材(6)条件运算:?,:)条件运算:?,:(7)逗号运算符:,)逗号运算符:,(8)指针指针运算符:运算符:*,&(9)求字节数运算符:)求字节数运算符:sizeof(10)强制类型转换运算符:)强制类型转换运算符:(类型)(类型)(11)分量运算符:分量运算符:.,-(指向结构体成员)(指向结构体成员)(12)下标运算符:)下标运算符:(13)其他:函数调用运算符()其他:函数调用运算符()第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材2.8.2 算术运算符与算术表达式算术运算符与算术表达式(1)基本运算符号)基本运算符号v+加加 -减减 *乘乘 /除除%(求余求余,只对整型数据,只对整型数据,如如7%4的值为的值为3,可以,可以用来判断用来判断2数是否整除,数是否整除,if(a%b=0;)v其他:其他:sqrt,An=pow(A,n),Sin,cos,Exp,Logv运算符存在优先级运算符存在优先级v运算规则:从左到右,先高后低。运算规则:从左到右,先高后低。第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材(2)运算符的结合性)运算符的结合性 当一个运算对象的两侧的运算符的当一个运算对象的两侧的运算符的优先级相同,到底先算左边的还先优先级相同,到底先算左边的还先算右边的,因此决定的结合方向,算右边的,因此决定的结合方向,如果先左后右的,称为如果先左后右的,称为左结合性,左结合性,从右到左的称从右到左的称右给合性。右给合性。一般算术一般算术运算符是左结合性,从左到右的。运算符是左结合性,从左到右的。第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材(3)强制类型转换)强制类型转换v在数值或变量前加一个类型符,可以把该在数值或变量前加一个类型符,可以把该数从一个变量变成另一个变量。数从一个变量变成另一个变量。例例float sum;int a=1,b=3;sum=1.0*a/b+1.0*a/b+1.0*a/b;也可以:也可以:sum=(float)a/b+(float)a/b+(float)a/b第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材(4)自增)自增(+)与自减与自减(-)运算运算(重点掌握重点掌握)v +i,-i;v(在使用(在使用i之前,先使之前,先使i的值增(减)的值增(减)1)v i-,i+;v(在使用(在使用i之前,先使之前,先使i的值增(减)的值增(减)1)v意义:意义:i+(或或+i)都代表都代表 i=i+1,它的意义它的意义即为该变量即为该变量i里面的内容增加里面的内容增加1;i-(或或-i)都代表都代表 i=i-1,它的意义即为该变量它的意义即为该变量i里面里面的内容减的内容减1.第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材使用条件使用条件v自加与自减自加与自减只用整型变量只用整型变量上,即排除以上,即排除以下三种情况:非整型变量。下三种情况:非整型变量。如如float f1=2;f1+;v表达式上表达式上不能用不能用。int a=3,b=5;(a+b)+;v常量上常量上不能用不能用 3+;第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材举例举例main()int a=3,b=3,i,j;i=+a;j=b+;printf(“a=%d i=%d n”,a,i);printf(“b=%d j=%dn”,b,j);第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材a=a+1;i=a;j=b;b=b+1;结果:结果:第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材2.9 赋值运算符与赋值表达式赋值运算符与赋值表达式(掌握)(掌握)赋值运算符赋值运算符(1)赋值运算符:)赋值运算符:=(2)功能:把右边的值赋给左边。)功能:把右边的值赋给左边。(3)一般形式:)一般形式:变量变量=表达式表达式;(或或*内存地址内存地址=表达式表达式),(4)运算次序:先算)运算次序:先算=号右边表达式,再赋值给号右边表达式,再赋值给左边的变量。左边的变量。不能不能:(3+a)=b*4;a=b=c=23;a=(b=(c=23);第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材类型转换类型转换(赋值表达式自动类型转换)(赋值表达式自动类型转换)(1)实型数据赋给整型变量,舍弃小数部分。)实型数据赋给整型变量,舍弃小数部分。(2)整型数赋给实型变量,数值不变,但以浮点)整型数赋给实型变量,数值不变,但以浮点数形式存储到变量中。数形式存储到变量中。(3)将)将double型数赋给型数赋给float型变量,取前型变量,取前7位有位有效数。效数。(4)字符型数()字符型数(1字节)赋给整型变量(字节)赋给整型变量(2字节)字节),放入低,放入低8位。位。P38第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材复合赋值运算符复合赋值运算符va=a+b a+=bva=a-b a-=bva=a/b a/=b;va=a*b a*=bva=a%b a%=bv运算次序从右到左运算次序从右到左v例例a=12 a+=(a=a-a*a);-132第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材赋值表达式赋值表达式(1)形式)形式:变量变量 表达式表达式称为赋值表达式。将整个式子的值,赋给变量。称为赋值表达式。将整个式子的值,赋给变量。(2)例如:)例如:a=b=c=5(不能:不能:int a=b=c=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材2.10 逗号运算符与逗号表达式逗号运算符与逗号表达式(需知)(需知)(1)在)在C语言中,语言中,逗号也是一个运算符逗号也是一个运算符。(2)一般形式:一般形式:表达式表达式1,表达式表达式2,.,表达,表达式式n,(3)运算次序运算次序:先左后右,从左到右。:先左后右,从左到右。(4)整个表达式的值整个表达式的值:是:是最后最后的表达式的值。的表达式的值。如:如:d=a=3,b=5,c=23;整个表达式的值:整个表达式的值:23(5)逗号)逗号运算级别运算级别最低最低第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材习题和作业P42书面:2.6 2.9 2.10 2.12上机:2.7 2.10第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材变量取名例子变量取名例子1.判断变量名的合法性:Sum,average,_total,Class,day,month,M.D.John,Studen_name,tan,#33,3D64,ab lotus_1_2_2,$123 2.变量名长度:看系统情况。通常不超过32个字节。第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材关键字关键字(P325)变量取名不能与关键字相同,共变量取名不能与关键字相同,共32个。个。vint,float,double,char,long,signed,short,unsigned,void,vdo,for,while,switch,if,else,case,sizeof,breakvauto,const,continue,default,exten,regist,returnvunion,volatile,typedef,enum,static,struct,goto第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材补码求法补码求法:(了解)(了解)(1)正数的补码正数的补码和其原码的形式相同(2)负数的补码负数的补码为该数的绝对值的二进制按位取反再加1。例如-10的补码。10取反加1得-10的补码第第二二章章 数数据据类类型型 C语语言言程程序序设设计计高职教材高职教材0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 01 1 1 1 1 1 1 1 1 1 1 1 0 1 0 11 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0