浙江大学C颜晖原版课件c2_第1页
浙江大学C颜晖原版课件c2_第2页
浙江大学C颜晖原版课件c2_第3页
浙江大学C颜晖原版课件c2_第4页
浙江大学C颜晖原版课件c2_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Chap2基本数据类型和表达式、数据类型基本数据类型整数int实数(浮点)floatdouble字符char配置数据类型数组、结构、关联、枚举指针类型null类型数据的操作-运算符和表达式、Chap2基本数据类型和表达式、常量和变量整数类型实数类型字符类型表达式数据的存储和Scanf(%f ,s=4.0 * 3.14159 * r * rv=4.0/3.0 * 3.14159 * r * r;示例2-2符号常量,# define pi 3.14 # include voidmain() floatr,s,v;scanf(“% f”,“”,# define pi 3.14159,2.1.2变量,c语言中的数量常量:数据符号常量:标记为标识符的常量数据在程序运行时不能更改值。存储数据的工作单元的值可以在程序执行过程中更改。变量定义,变量定义的通用格式类型名称变量表;变量名:小写,名称识别类型名称请参阅:整数int实数(浮点)floatdouble字符类型char,变量定义,inti,j,k;(I,j,k是整数变量)charc(将c定义为文字变量)floatx,y;Doublearea,length变量名表示内存中一个存储单位用于存放变量的值。存储单位的大小由变量的数据类型决定,变量的定义和使用必须先定义变量,然后再使用。#includevoidmain()intx,y;x=3;Y=x * xprintf(“% d”,y);、和变量名称只能定义一次。变量通常在程序的头部定义,不能在程序的中间或后面定义。使用变量,先定义变量:然后使用值,最后使用#includevoidmain()intx,y;x=3;Y=x * xprintf(“% d”,y);,指定给变数,指定初始值:定义变数时,inta=5,b=3;赋值表达式:inta,b;a=5;b=3;函数: scanf(“% d % d”,2.2整数类型,2.2.1整数常量(整数)的三种表示形式十进制整数:正数、负数符号、0-9,第一个不是0示例:10,123八进制整数Intj=0 x7bIntk=123例如:160200x1010xa,2.2.2整数变量,intai,bi,ci,di=0;ai=1;bi=-27;Ci=012整数变量值为限制范围内的最小值范围-32768,32767、2.2.3整数数据的输入输出、printf(格式控制,输出参数1、输出参数n);Scanf(格式控制,输入参数1,输入参数n);格式控制说明%.% d:输入为十进制数,输出整数%o:输入为八进制数,输出整数%x:输入为十六进制数,输出整数,示例2-3,# include voidmain() printf( % )printf(“%d,% d,% d n”,10,010,0x 10);printf(“% d,%xn”,012,012);,运行结果:10,12、a10,8,1610、a、示例2-4、#includevoidmain()inta,b;Scanf(%o%d ,),输入:1717,1517f,17,2.3实际数据,2.3.1实际常量(实数)浮点表示法:0.123123.41。科学计数法:123e40.2e-12.3.2实际变量单精度浮点类型floatx,y,z;双精度浮点双精度、v、w;4字节存储8字节存储,数据精度和值范围,数据精度范围单精度7位有效数字(10-38-1038)双精度16位有效数字(10308-10308),数据精度和值范围是两个不同的概念floatx=1.23456789Floaty=123456789在数据表示范围内,但不能准确表示。Floatz=1.2e55z的精度要求不高,但表明数据超出了范围。不是所有的错误都可以在电脑上准确地表达。实际常量的类型包括double、x=1.2345678y=1.23567e8、2.3.3实际数据的输入和输出、输出printf()float和double,它们将相同的格式控制说明%f:将浮点数字输出为小数,并保留6位小数。%e: 1位整数。5位小数E3位指数,示例2-5实际数据的输出,# include void main() floatf=123.45;Doubled=3.1415926Printf(%f,%en ,f,f);printf(“% f,%en”,d,d);printf(“% 5.3f,% 5.2f,% .2f n”,d,d);共5个字符,3个小数,1个小数,运行结果为123.450000,1.23450 e023.141593,3.14159e003.142,3.14,3.14,示例2-6,FLLDoubled1、D2;F=1234567890123.123456D1=1234567890123.123456D2=1234567890123.12;Printf (f=% f nd1=% f nd2=% f n ,f,d1,D2);,f=1234567954432 . 00000 D1=1234567890123 . 123540 D2=1234567890123 . 120120,实际数据输入,Scanf()float和双精度是不同的Doubled1Scanf(%f%lf ,),输入:12234567.12345,运行结果:f1=12.000000d1=1234567.12345,2.4字符类型,2.4.1唯一顺序值(ascii代码)0-9A-Za-z,2.4.1字符常量,每个字符占用一个字节的内存中存储的字符,存储该字符的ASCII代码字符ASCII代码内存a 6501000001b 660010字符的数字特性字符可以用作整数,ASCII代码A 1,2.4.2文字变量,charc1,c2,C3;C1=2;C2=#;C3=A;或c3=65,intiI=65或I=A;整数变量和字符变量的定义和分配包括:ASCII代码范围、基于2.4.3字符的数据输入输出、scanf()和printf()arch;scan f(“% c”,示例2-9,# includevoidmain () charch1,CH2ch1=getchar();CH2=getchar();put char(ch1);put char(#)put char(CH2);,运行结果:A#b,输入:Ab,示例2-10,# includevoidmain () charch1,CH2,CH3Scanf (%c% c ,),运行结果1为A#b#C,1: ABC,运行结果2为A#b,输入2: ABC,输入数据中混合了字母和数字值的# include vevCharcFloatxScanf(%d%c%f ,),输入:3a1.2输出:3a1.20000,数据之间不能有空格,不需要单引号,示例2-11,如果已知:b的ASCII代码98printf(“% c,%dn”,98,98);printf(“% c,%dn”,97,B- 1);,运行结果:b、98b、98a、97、# include void main() charch=b;Printf(%c,%dn ,ch,ch);,printfb% c putchar 982% o62% x,scanfb% c getchar 982% o62% x,scanf (%c ,文字运算,大小写字母.z-a=z-AMM,数字字母和数字9-0=9-09=9088,a-aa-a,0,m-a=mm-a=m,8-0=n101x41A可以用转义符表示任何字符。请参见2.5表达式、2.5.1算术运算符单目-*/%!%模式(重复)整数数据5% 6=5、9% 4=1、100% 4=0/整数除法整数1/2=0、9/4=2双目运算符两侧的操作数类型相同、 (x 2) * exp (2 * x),2.5.2分配表达式,分配运算符=分配表达式变量=表达式计算分配运算符右侧表达式中值左侧的变量分配运算符右侧表达式中值左侧的变量的值n=2; n=n 1;“指定”操作符的优先级和组合优先级较低,从右到左x=y=3;x=(y=3),是大小写转换,输入一个小写字母以输出相应的大写字母。# includevoidmain() charch;Scanf(%c ,2.5.3逗号表达式,表达式1,表达式2,表达式n首先计算表达式1,然后计算表达式2,计算表达式n的值,并将表达式n的值用作逗号表达式的值。逗号运算符的优先级最低,从左到右依次为:a=(3 5,4 * 6) a=3,4 * 6,a=24a=8,自增长运算符和自减运算符,自增长运算符和自减少运算符- intn,n nn - n使用n值作为表达式n的值使用n: n值作为表达式n的值;N=n 1,自我增加和自我减少,inti,k;I=2;k=I;I=2;k=I;I=3、I=3、k=3、k=2、k=ii=I 1、I=I 1k=I、示例2-17、# includevoidmain()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-)z=(x=7)(y=3);printf(“%d,% d,%dn”,x,y,z);x=y=z=x 2;printf(“%d,% d,%dn”,x,y,z);x *=y-3;printf(“%d,% d,%dn”,x,y,z);,x=7,y=3,z=x y,z=x 2,y=z,x=z * (y-3),2.6数据的存储和类型转换,2.6.1数据的存储整数数据存储整数为2字节11.32767的补码0111111111111111111111111111(215-1)负-1原码100000001逆码1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111.1000000000000

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论