版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据描述与基本操作,数据类型 一、数值的定点表示形式与浮点表示形式: 二、字符类型数据的表示和存储形式: 1、声明与赋值: 声明:在说明部分 char ch 赋值: ch=a; ch=3; ch=? (以单引号括起来的一个字符) 2、存储形式: 空间:1个字符 8位 存储形式:字符类型的数据在内存中以相应的ASCII代码存放。 a9701100001(B),3、字符数据与整数的关系: (字符数据可以等价为与其相应的ASCII码的整数。) 例:main() char ch1,ch2; ch2=65; /*整数可以给字符型变量赋值*/ int i; ch1=A; A65,a97 ch1=ch1+3
2、2; /*字符型可以作为整数参加运算*/ i=ch1; printf(“%d is %c n”,i,ch1); /*%d-以整数形式输出*/ printf(“%d is %c n”,ch1,ch1); /*%c-以整数形式输出*/ printf(“%d is %c n”,i,i); ,注: 1、字符型可以作为整数参加运算 2、一个字符型数可以给整型变量赋值 3、一个整数也可以给字符型变量赋值 3、字符型可以以整数形式输出 4、整型数也可以以字符型输出 %c输出字符的格式码 字符型数据和整型数据在一定范围内是互相通用的 (在字符的ASCII码范围内),三、数据的存储空间长度及取值范围 C语言对不
3、同类型的数据分配不同长度的存储空间,字符型占1个字符(8位) 1、整型: short int:短整型2个字节 int:普通整型 (24不等) long int:长整型 4个字节 2、实型: float:单精度实型4个字节六位精度 double:双精度实型8个字节十六位精度,四、带符号的数据类型与无符号的数据类型 1、内存中整数的存储中,最高位表示数的符号,以0表示正,以1表示负。(数值是以补码形式存放的) 2、整型、实型均为带符号的数 整型:unsigned无符号 (unsigned int只能存放正数) signed 有符号 (signed int=int) 实型没有 无符号数 3、size
4、of(类型标识符) 测定某一种类型数据所占存储空间长度的运算符。 例如: sizeof(int),常量与变量,常量:是指在程序执行期间不能发生变化,具有固定值的量。 变量:则是其值可以变化的量,实际上变量命名了的内存中指定的存储单元。 一、直接常量和符号常量: 1、直接常量:1.2,3,a,分别为实型,整型,字符型常量。 2、符号常量:则是在一个程序中指定的用名字代表的常量,从字面上不能直接看出其类型和值。 3、符号常量的定义: # define PI3.14159,二、直接常量的书写格式: 1、整型常量: 1)书写形式: 十进制数:137 -276 八进制数:0117 (以0开头) 十六进制
5、数:0 xA7(以0 x开头) 2)存储方式与取值范围 按以上写法书写的常量,均保存在2个字节长度的存储空间中。 十进制的范围:-3276832767 八进制:只表示正数,00177777 十六进制:只表示正数,0 x00 xFFFF 3)长整型: 整型数后加l或L为长整型 例如: 十进制:137L -276L 八进制:0177L 十六进制:0 xA7L,注:12与12L数值大小没有区别,只是存储空间发生 变化,加L的数存储占用4个字节的存储空间。,2、实型常量: 表示方法: 小数形式:34.5,345. .345,3.1415 指数形式:1e2 1.5e-3 可赋给 float或double
6、均可,只是有效位数和存储空间不同。 3、字符常量: 表示方法:a,A,?,# 用一对单撇号括起来的一个字符,单撇号只是字符与其它部分的分隔符,或者说是字符常量的定界符,不是字符常量的一部分。 注:, 均为非法字符常量。 4、转义字符: 1)用反斜杠跟字母:控制字符 如:n,t,v,b,r,f 2)表示字符原本含义: ” ” ”等 3)表示不能直接从键盘上输入的字符常量 ooo,xhh 不加前缀的三位八进制数加前缀x,两位十六进制,5、字符串常数: 1)表示形式:”world”,”x”,” ”等, 用一对双撇号括起来的零个或多个字符序列称为字符串常量。 2)存储方式: 字符串常数在机器内存储时,
7、系统自动在字符串的末尾加一个“字符串结束标志”,即转义字符“0”, 即: 注:A与”A”的区别: 1)前为字符常量,后为字符串常量 2)存储时,前占一个字节,后占两个字节 “ ”在内存中占一个字节,二、变量和对变量的赋值 1、变量与变量名 在程序中,数据连同其存储空间被抽象为变量。 每个变量都有一个名字,这个名字成为变量名。 它代表了某个存储空间及其所存储的数据。 例如:double a; 含义:1)a代表了8个连续的存储单元 2)此空间中所存储的数据,成为该变量的值。 3)这个存储空间的首地址就称为该变量的地址。 (,四、变量的声明: int i1,i2; shout s1,s2; char
8、 ch1,ch2; float f1,f1; double d1,d2; 意义:1)不同类型的数据在内存中占据不同长度的存储区,且采用不同的表示方法。 (在编译时就会根据指定的类型分配存储空间。) 2)一种数据类型对应着一定的取值范围。(超出则出错) 3)一种数据类型对应着一组允许的操作。,五、标示符 标示符是给程序中的实体(变量,常量,函数,数组等)所起的名字。 1、标示符命名规则: 1)以字母或下划线开头,由字母,数字或下划线组成的字符序列。(尽量不要以下划线开头,以防冲突) 2)C语言有32个关键字,它们已经有专门含义,用户不应采用与它们同名的标志符。 3)不要过长,且区分大小写。,C语
9、言的关键字,2、在定义标示符时,建议遵循下面原则: 1)“见名知义”,增加程序的可读性 2)变量名、函数名用小写,符号常量用大写 3)注意混淆 0oO 1Il,运算符与表达式,运算符,算数运算符:+、-、*、/、%、,关系运算符:、=、=、!=,逻辑运算符: c=b;,3、自加和自减运算 i=i+1 i+=1 i+ 或 +i i=i-1 i-=1 i- 或 -i 后缀形式,先使用后加1;前缀形式,先加1后使用。 例:1)单独使用 int i=0; int i=0; i+; +i; t=i; t=i; 2)在表达式中 int i=0; int i=0; t=i+; t=+i; (t=0,i=1)
10、 (t=1,i=1) 3)多加号相结合: x=i+j; x=(i+)+j c语言编译器总是从左至右尽量多的将若干个字符组成一个运算符。 注:运算对象只能是整型变量,而不能是表达式或常量。 5+(x+y)+,4、正负号运算:单目运算符(一元运算符) +(正号)、-(负号) 优先级别高于*、/ 例如:-a*b 5、赋值类运算符的副作用及限制: 如:x=i+j; 1)将费解处分解:x=i+j; i+; 2)加一些不必要的括号:x=(i+)+j; 3)加注释说明 如:j=3; i=(k=j+1)+(j=5); 先算优先级高的,后按结合方向计算。 k=j+1与j=5 同级,看机器先算哪个,得出不同结果。
11、,二、关系运算,逻辑运算与条件运算 1、关系运算: = x+1 6 9 0 = 9 z=1 按优先级顺序依次计算: z=1,注:1)c语言中的表达式a260说明c中的含义。 3)关系表达式的值是整型数0或1,故是一种整型表达式; int x=5,y=7,a; a=2+(xb;a=97;,2、逻辑运算: else 例:x在区间a,b x=a printf(“%d%d”,x,y); (2)又可作运算符,如 表达式1,表达式2,表达式n /*逗号表达式*/ (逗号作为运算符使用时,是将若干个独立的表达式连接在一起,组成逗号表达式。) (3)结合方式: 由左向右一次运算每个表达式。 (4)逗号表达式的
12、值和类型: 由最后一个表达式的值决定。 如: a=2,b=3,c=1.5; x=(a=2,b=3,c=1.5);,5、位运算 是指进行二进制位的运算。 位运算符: 其中格式化字符串包括两部分内容: 一部分是正常字符, 这些字符将按原样输出; 另一部分是格式化规定字符, 以%开始, 后跟一个或几个规定字符, 用来确定输出内容格式。 参量表是需要输出的一系列参数, 其个数必须与格式化字符串所说明的输出 参数个数一样多, 各参数之间用,分开, 且顺序一一对应, 否则将会出现意想不到的错误。,数值数据的输入与输出,格式化规定符 C提供的格式化规定符如下: %d 十进制有符号整数 %u 十进制无符号整数
13、 %f 浮点数 %s 字符串 %c 单个字符 %p 指针的值 %e 指数形式的浮点数 %x, %X 无符号以十六进制表示的整数 %0 无符号以八进制表示的整数 %g 自动选择合适的表示法 说明: (1) 可以在“%”和字母之间插进数字表示最大场宽。 例如: %3d 表示输出3位整型数, 不够3位右对齐。 %9.2f 表示输出场宽为9的浮点数, 其中小数位为2, 整数位为6, 小数点占一位, 不够9位右对齐。,例1. #include main() int a=1234; float f=3.141592653589; printf(a=%dn, a); /*结果输出十进制整数a=1234*/
14、printf(a=%6dn, a); /*结果输出6位十进制数a= 1234*/ printf(a=%06dn, a);/*结果输出6位十进制数a=001234*/ printf(a=%2dn, a); /*a超过2位, 按实际值输出a=1234*/ printf(f =%fn, f); /*输出浮点数f=3.141593*/ printf(“f =6.4fn”, f); /*输出6位其中小数点后4位的浮点数 */ ,1.5.2 格式化输入函数scanf() scanf()函数是格式化输入函数, 它从标准输入设备(键盘) 读取输入的信息。 其调用格式为: scanf(, ); 格式化字符串包括
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年小学数学百分数应用问题考点归纳考试及答案
- 创伤后心理护理的药物治疗策略
- 保洁工作跨文化交流
- 低血压症状护理中的安全注意事项
- 物业管理市场监管规范培训试题及答案
- 乡村振兴防返贫监测规范考核试题及答案
- 消化内科三基三严考试题库及答案
- 校园后勤管理三基三严考试题库及答案
- 校园周边涉险区域安全防护联席会议制度
- 2025-2026学年亡羊补牢教案幼儿中班
- 2026年甘肃事业单位联考笔试易考易错模拟试题(共500题)试卷后附参考答案
- 《化工HSE与清洁生产》课件-项目6 危险化学品
- 2026年六安职业技术学院单招职业适应性考试题库含答案详解(考试直接用)
- 七下综合世界真奇妙-共享“地球村”
- 文化产业经济学 焦斌龙课件第二章 文化产业沿革
- GB/T 6188-2017螺栓和螺钉用内六角花形
- 商业插画设计全套精美课件
- 大学英语2 UNIT6课件
- 《分数、百分数应用题复习》课件
- HACCP计划的制定与实施课件
- 宠物店创业计划书PPT模板
评论
0/150
提交评论