




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第二章基本数据类型和表达式,数据类型基本数据类型整型整型整型实型(浮点型)浮点型双字符字符构造数据类型数组、结构、并集、枚举指针型null型操作运算符和数据表达式,第二章基本数据类型和表达式,常量和变量整型实数型字符型表达式数据存储和类型转换,2.1常量和变量, 2.1.1常数常数(constant):数据123(integer type)4.56(real type)a(character type)符号常数:由标识符表示的常数数据:PI :EPS通常使用大写字母,示例21,计算球的表面积和体积,#包括void main scanf(%f,s=4.0 * 3.14159 * r * r v=
2、4.0/3.0 * 3.14159 * r * r * r;示例22符号常量,# definepi3.14 #包括void main () float r,s,v;Scanf (%f,#定义pi 3.14159,2.1.2变量,c语言中的数量常量(常量):数据符号常量:由标识符表示的常量数据,其值在程序运行期间不能更改。变量:存储数据的工作单元,它的值在程序运行时可以改变,变量定义,变量定义的一般形式,类型名变量表;变量名:小写字母,由名字可知。类型名:整型整型整型(浮点型)浮点双字符字符,变量定义,整型I,j,k;(I、j和k被定义为整数变量);(c被定义为字符变量)浮点x,y;双倍面积,长
3、度;变量名表示存储器中存储变量值的存储位置。内存位置的大小由变量的数据类型决定。对于变量的定义和使用,变量必须在使用前定义。#包括void main() int x,y;x=3;y=x * xprintf(%d ,y);变量名只能定义一次。变量通常是在程序的头上定义的,而不是在程序的中间或后面。使用变量,首先定义变量:然后首先赋值,然后引用# include void main() int x,y;x=3;y=x * xprintf(%d ,y);变量赋值:定义变量时,赋值int a=5,b=3;赋值表达式:int a,b。a=5;b=3;输入函数:sanf (%d% d ,2.2整数类型,2
4、.2.1整数常量(整数)有三种形式:十进制整数:正负符号,09,第一位不是0大小写:10,123八进制整数:正负符号,07,第一位是0大小写:010 0X示例:0 x10,0 x123,123=1111011 (B)二进制=173 (O)八进制=7B (X)十六进制整数int j=0 x7bint k=123示例:16 0200x1010 0120xa,2.2.2整数变量,int ai,bi,ci,di=0。ai=1;bi=-27;ci=012整数变量的值是一个整数,它的取值范围是有限的。最小值范围是32768,32767,2.2.3整数数据的输入和输出,printf(格式控制,输出参数1,输
5、出参数n);Scanf(格式控制,输入参数1,输入参数n);格式控制规范% %d:十进制形式的输入和输出整数%o:八进制形式的输入和输出整数%x:十六进制形式的输入和输出整数,示例2-3,# include void main () printf (%d,% o,% xn,10,10,10);printf(%d,%d,%dn,10,010,0 X10);printf(%d,%xn,012,012);运行结果为:10,12,a 10,8,16 10,a,例2-4,# include void main() int a,b;Scanf(%o%d,输入:17 17,运行结果:15 17 f,17,2
6、.3实数据,2.3.1实常数(实数)浮点表示:0.123 123.4 1。科学计数方法:123e4 0.2e-1 2.3.2实变单精度浮点双精度浮点双u、v、w;4字节存储和8字节存储,数据精度和值范围,数据精度值域单精度七位有效数字(10-38 1038)双精度十六位有效数字(10308 10308),数据精度和值范围是两个不同的概念:浮点x=1.23456789浮动y=123456789虽然它在数据表示的范围内,但不能精确地表示。浮点z=1.2e55 z的精度要求不高,但数据表示范围超出范围。并非所有的实数都能在计算机中精确表达。实常数的类型是double,x=1.234568y=1.23
7、4567e8,2.3.3实数据的输入和输出,以及输出printf() float和double使用相同的格式来控制描述%f:输出十进制形式的浮点数,并保留6位小数。%e:以指数形式输出位整数。5位十进制指数,示例2-5输出实数据,# include void main()float f=123.45;双d=3.1415926printf(%f,% n,f,f);printf(%f,% n,d,d);printf(%5.3f、%5.2f、% .2fn、d、d、d);总共有5位数字,包括3位小数和1位小数。运行结果为:123.450000、1.23450E02 3.141593、3.14159E0
8、0 3.142、3.14、3.14和示例2-6。假设浮点数的精度为7位,双精度为16位。双d1,D2;f=1234567890123.123456d1=1234567890123.123456d2=1234567890123.12printf(f=%f n d1=%f n d2=%f n,f,d1,D2);运行结果是:f=123456795432.000000 D1=1234567890121.123540 D2=1234567890121.120120,实数据的输入,Scanf()浮点和双精度使用不同格式的控制描述。%f和%e相同。%f :以十进制或指数形式输入单精度浮点数。%e %lf:以
9、十进制或指数形式输入双精度浮点数。%le,示例2-7,#包括void main()float f1;双D1;Scanf(%f%lf),输入:12 1234567.12345,运行结果:f1=12.000000d1=1234567.123450,2.4字符类型,2.4.1字符常量A 9 $ ASCII字符集:列出所有可用字符,每个字符:唯一顺序值(ASCII码)0-9 A-Z a-z,2.4.1字符常量,字符存储在内存中,每个字符占用一个字节,ASCII码,2.4.2字符变量,字符c1,c2,C3;C1=2;C2=#;C3=A;或c3=65。int I;i=65或I=A;整数变量和字符变量的定义
10、和赋值可以互换ASCII码范围,2.4.3字符数据的输入和输出,scanf()和printf() %c字符ch;Scanf(%c,输入和输出一个字符,示例2-9,#包括void main () charch1,CH2ch1=getchar();CH2=getchar();put char(ch1);put char(#);put char(CH2);运行结果是:A#b,输入:Ab,例2-10,# include void main () charch1,CH2,CH3扫描函数(%c%c%c),运行结果1是:A#b#C,输入1: ABC,运行结果2是:A# #b,输入2: a BC,输入数据包括
11、字符和数值的混合#包括void main()int I;char c;浮动x;Scanf(%d%c%f,输入:3a1.2,输出:3 a 1.200000,数据不能用空格分隔,并且不需要单引号。例2-11,众所周知,B的ASCII码是98 # include void main () printf (%c,% dn,B,B);printf(%c,%dn,98,98);printf(%c,%dn,97,b-1);运行结果为:b,98 b,98 a,97a,97b,# include void main()char ch=b;printf(%c,%dn,ch,ch);printf b% c putc
12、har 98% d 142% o 62% x,scanf b% c getchar 98% d 142% o 62% x,scanf (%c),字符操作,大小写英文字母转换b-a=B-A z-a=Z-A m,数字字符和数字9-0=9-0 9=9 08 8 8,a-a-a,0,M-A=M-A=M,8-0=8 80=8,2.4.4转义字符,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,M-A=M-A=M-A=M,0%取模(余数)整数数据565,941,10040/整数除以整数得到整数1/20,9/42。双目运算符两侧的操作数应该具有相同的类型,算术运算符的优先级和组合应该
13、是从右到左的单目-双目*/%双目。-5 3% 2=(-5)(3% 2)=-4 3 * 5% 3=(3 * 5)% 3=0-1,-(1),算术表达式,示例2-15数学表达式- C表达式s (s-a) (s-b) (s 2.5.2赋值表达式,赋值运算符=赋值表达式变量表达式计算赋值运算符右侧的表达式的值,将赋值运算符右侧的表达式的值赋给左侧的变量,并将赋值运算符左侧的变量值作为表达式值n=n1;赋值运算符的优先级和组合的优先级较低,从右到左x=y=3;x=(y=3),例如,转换大写字母和小写字母,输入小写字母并输出相应的大写字母。#包括void main()char ch;Scanf(%c,2.5
14、.3逗号表达式,表达式1,表达式2,表达式n首先计算表达式,然后计算表达式,最后计算表达式n的值,并将表达式n的值作为逗号表达式的值。逗号运算符具有最低的优先级,从左到右,A=(3 5,4 * 6) A=3 5,4 * 6。自增自减运算符- int n,n n n-n(仅适用于变量运算)将变量值增加或减少1n n=n 1-n n n-n=n-1将变量值作为表达式n: n=n 1的值。取n值作为表达式n的值:取n值作为表达式n的值;N=n 1,自增运算和自减运算,int i,k;I=2;k=I;I=2;k=I;I=3,I=3,k=3,k=2,k=1,I=1,k=1,示例2-17,#包括空隙总管()内部a,b,c;b=5。c=5;a=b c-;printf(%d,%d,%dn,a,b,c);a=b - c。printf(%d,%d,%dn,a,b,c);a=-b c;printf(%d,%d,%dn,a,b,c);b=b 1,a=b c,c=c-1,a=b-c,b=b-1,a=-(b) c,a=-b c,b=b 1,复合算术赋值运算符,赋值运算符简单赋值运算符=复合(算术)赋值运算符=-=*=/=%=赋值表达式变量赋值运算符表达式x=exp,x=x (exp),示例2-18,# in
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 预应力混凝土工程教学课件
- 汽车配套产业基地项目数字化方案(参考模板)
- 2025年年健康服务项目建议书
- 2025年低功率气动阀岛用控制阀项目合作计划书
- 2025年达美航空合作协议书
- 现代能源行业发展条件分析
- 2025年转基因耐贮藏番茄项目发展计划
- 西师大版三年级数学上册全册单元知识点
- 2025年氟炭漆项目合作计划书
- 2025年智能分拣系统项目合作计划书
- 2025中国数字营销行业人工智能应用趋势研究报告
- 湖北省八校联考2024-2025学年高一下学期6月期末物理试卷(含答案)
- 管理学基础期末考试试题及答案
- 2025至2030中国覆铜板行业项目调研及市场前景预测评估报告
- 护理静脉留置针课件
- 2025年上海市中考语文试卷真题(含答案及解析)
- 2025至2030年中国地热能开发利用行业市场运营态势及未来趋势研判报告
- (网络收集版)2025年新课标全国一卷数学高考真题含答案
- 2025包头轻工职业技术学院工作人员招聘考试真题
- GB/T 8097-2025收获机械联合收割机测试程序和性能评价
- 2025年供应链管理与运作考试题及答案分享
评论
0/150
提交评论