c语言第2章车辆类型运算符

上传人:san****019 文档编号:71603967 上传时间:2019-01-21 格式:PPT 页数:40 大小:588.81KB
返回 下载 相关 举报
c语言第2章车辆类型运算符_第1页
第1页 / 共40页
c语言第2章车辆类型运算符_第2页
第2页 / 共40页
c语言第2章车辆类型运算符_第3页
第3页 / 共40页
c语言第2章车辆类型运算符_第4页
第4页 / 共40页
c语言第2章车辆类型运算符_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《c语言第2章车辆类型运算符》由会员分享,可在线阅读,更多相关《c语言第2章车辆类型运算符(40页珍藏版)》请在金锄头文库上搜索。

1、第三章 数据类型、运算符和表达式,数据类型,方炜炜,第三章 数据类型 运算符 表达式,1、什么是数据类型? 2、C语言的数据类型有哪些?,一、C的数据类型,第三章 数据类型 运算符 表达式,1、什么是数据类型?,数据结构+算法=程序,C语言中以 “数据类型”形式存在,对数据的描述,对操作的描述,第三章 数据类型 运算符 表达式,在程序中对用到的 所有数据都必须指 定其数据类型.,?,不同类型的数据,所占 内存的字节数不同, 对 应的操作也不相同。,2、C的数据类型,第三章 数据类型 运算符 表达式,1、 常 量 2、 变 量,二、常量与变量,常量举例(求某商品总价),#include /可用“

2、stdio.h”也可用 #define PRICE 100 /定义符号常量 void main() int sum; sum=PRICE*20; printf(“%dn“,sum); ,单价符号常量,数量直接常量,第三章 数据类型 运算符 表达式,概念,在程序运行过程中,其值不能被改变的量。,分类,字面常量(直接常量): 12 -44.6 a “Hello! “ 符号常量:用一个标识符代表一个常量。,字符串常量,符号常量的定义,格式:#define 常量名 字面常量 举例:#define PRICE 100 #define PI 3.14 #define C1 a,习惯上常量名用大写, 变量名

3、用小写。,符号常量的定义放在 函数外面。,1、常量,标识符 identifier,1、标识符就是一个名字(如常量名、变量名、函数名)。 2、组成:只能由字母、数字、下划线组成。且第一个字符必须为字母或下划线。 3、长度:标识符的有效长度随系统而异,如果超长,则超长部分被舍弃。建议不要超过8个字符。 4、标识符命名的良好习惯见名知意,例如,name(姓名)、age(年龄),下列标识符是否合法,为什么? sum a1 b2 s_name 123 #ss a.b.c 1a8bc,思 考 ?,合法,不合法,第三章 数据类型 运算符 表达式,概念,其值可以改变的量称为变量。,2、变量,要素,(1)变量名

4、。每个变量都必须有一个名字变量名,变量命名遵循标识符命名规则。 (2)变量值。在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值。,变量定义,数据类型 变量名, 变量名2;,习惯上,变量名用小写字母。 常量名用大写字母。,方式: 1、定义变量的同时赋初值(也叫变量初始化)。 格式: 数据类型 变量名=初值, 变量名2=初值2; 2、通过一个赋值语句给变量赋初值。 格式 : 变量名=初值;,变量赋初值,int a,b=3;,int a,b; b=3;,int a,b; ab=3;,b : undeclared identifier,1、程序中用到的变量必须“先定义(decl

5、are),后使用”。 2、C语言的关键字不能用作变量名(书P375)。 3、C语言对英文字母的大小写敏感,即同一字母的大小写,被认为是两个不同的字符。 4、定义变量时,给几个变量赋相同的初值, 应写成 : int a=3,b=3,c=3; 不能写成: int a=b=c=3; 5、给变量赋值时,正常情况下应给变量赋相同类型的数据。,关于变量以及变量赋初值的几点说明,变量举例,include void main() int student,age; int if=adrress=1; float score=90; stadent=2; Age=20.7; printf(“%d %d %d %f

6、“,if,student,age,score); ,本程序中有几处错误?,1、if:为关键词 2、int if=address=1;应分别赋初值。 3、stadent:未定义的标识符,拼写错误 4、Age:未定义的标识符,大小写敏感。 对score和age赋值时会自动进行类型转化。9090.0;20.720,第三章 数据类型 运算符 表达式,1、整数类型 2、实数类型 3、字符类型 4、不同类型数据间的转换,四、基本数据类型,第三章 数据类型 运算符 表达式,1、整数类型变量,分类及取值范围,表示可以省略,占用的内存字节数,随系统而异。,思考:下列定义正确的是: int i=9.4; unsi

7、gned short i=-4; long i=3;,第三章 数据类型 运算符 表达式,表示方法,十进制: 123, -456, 0 八进制: 0123, -0456, 十六进制: 0x123, -0x456,以数字0开头,以0x开头,整数类型常量,分类,基本整型(数据范围与int型一样) 长整型 (在数值后面加“L(l)”, 数据范围与long int型一样) 无符号整型(在数值后面加“U(u)”),如123l,315L,类型匹配规则,一个整型常量,可以赋给能容纳下其值的整型变量,思考:下列常量哪些合法: 029,19u, -1234, 20L,029是非法数,19u错误,表示方法,十进制小

8、数形式: 123. 34,-0.0045, 0.0 指数形式: E(e) 如2.3e2 ,-4.5e-3, 3.0+5,规范化指数形式,数字和小数点组成,实数类型常量,规范化指数: 字母e之前必须有数字,且小数点左边应有一位【且只有一位】非0数字,如0.45e2或45e1是错误的。 字母e后指数部分必须为整数,如4.5e2.4是错误的。,2.3e2=2.3102=230 e表示10,思考:以下不是规范化指数形式的是: 4.5e-23 , 0.34e9 33e+4,第三章 数据类型 运算符 表达式,分类及取值范围,2、实数类型变量,实数类型舍入误差,例题: #include “stdio.h”

9、Void Main() float a,b; a=123456.789e5; b=a+20; printf(“%f”,a); printf(“%f”,b); ,a=12345678900; b=12345678920; Float有效位数7位,12345678848.000000 12345678848.000000,应避免将一个大数和一个很小的数相加减,会丢失小的数,如1.0 / 3 * 3 的结果就不等于1,第三章 数据类型 运算符 表达式,表示方法,用单引号括起来的一个字符. a A 9 = ? ,不同的两个字符,转义字符,3、字符类型常量,语言还允许使用一种特殊形式的字符常量,就是以反

10、斜杠 开头的转义字符。,将后面的字符转换 为另外的意义.即是 一种控制符号.,字符类型变量,存储方式,以ASCII码 存储,占一个字节,类型及范围,char 大小写英文字母,数字,运算符,标点符号等 不能在一个字符变量中放一个字符串,注意:字符型数据与整型数据在存储方式上的相似性使得两者之间可以通用。但字符型数据的表示范围是:0255。,举例,字符变量ch中存放字符a,其ASCII码为97,在内存中以二进制形式存放,其格式如下:,0 1 1 0 0 0 0 1,ch,例 字符变量的字符形式输出和整数形式输出。 P291 ASCII码 #include void main() char ch1,

11、ch2; ch1=a; ch2=b; printf(“ch1=%d,ch2=%dn“,ch1,ch2); printf(“ch1=%c,ch2=%cn“,ch1 -32,ch2); ,字符类型举例1,一个字符型数据,既可以字符形式输出,也可以整数形式输出 字符数据进行算术运算,就是对它们的ASCII码值进行算术运算,ch1=97,ch2=98 ch1=A,ch2=b,程序运行结果:,字符类型举例2,字符数据与整型数据可以互相赋值,例字符数据的算术运算(参考教材 的ASCII码表)。 #include void main() char ch1; int i; i=a; ch1 =97; prin

12、tf(“ch1=%c,ch1=%dn“,ch1, ch1); printf(“i=%c,i=%dn“,i, i); ,ch1=a,ch1=97 i=a,i=97,程序运行结果:,概念,字符串常量,用一对双引号“ “括起来的若干字符序列,字符串长度,字符串中字符的个数。长度为0的字符串(即一个字符都没有的字符串)称为空串,表示为“ (一对紧连的双引号)。,字符串“CHINA“在内存中的实际存储形式是怎样的?占用多少个字节的内存空间?,占用字节而非字节内存空间,存储方式,C语言规定:在存储字符串常量时,由系统在字符串的末尾自动加一个0作为字符串的结束标志。( 以便系统判断字符串是否结束),注意:

13、1、a是字符, “a“是字符串。 2、 不能把一个字符串赋给一个字符变 量。如c=“a“、c=“Hello! “都是错误的。 3、C语言中没有字符串变量,可以用字符数组来表示。,c=a占内存1字节,“a”占2字节,总结:字符与字符串的区别有哪些?,定界符不同:字符常量使用单引号,而字符串常量使用双引号; 长度不同:字符常量的长度固定为1,而字符串常量的长度,可以是0,也可以是某个整数; 存储要求不同:字符常量存储的是字符的ASCII码值,而字符串常量,除了要存储有效的字符外,还要存储一个结束标志0。,数据类型 常量 变量定义 注意事项 整型 45 int a; 小于32767 实型 4.5 f

14、loat b; 输出保留小数点6位 字符 a char c; c=a;c=65;对 c=“a”错误 字符串 “a” 用数组 所占存储空间 长度1,第三章 数据类型、运算符和表达式,运算符和表达式 方炜炜,运算符与表达式,第三章 数据类型 运算符 表达式,(1)算术运算符和算术表达式 (2)赋值运算符和赋值表达式 (3)逗号运算符和逗号表达式,(1)、算术运算符和算术表达式,第三章 数据类型 运算符 表达式,基本算术运算符,+ - * / %,例1,5/3=1 -5/3=-1 5%3=2,模运算符或求余运算符,算术表达式,用算术运算符和括号将运算对象(也称操作数)连接起来的、符合C语法规则的式子

15、。,优先级和结合性,先乘除、后加减,有括号先算括号。 自左至右,两个整数求/ 的结果为整数,向0取整 两边必整数,常量、变量等,举例:已知三角形的边长a、b、c,求三角形周长的一半。,#include void main() float a,b,c,s; a=3;b=4;c=5; s=1/2 * (a+b+c); printf(“s=%8.2f“,s); ,s= 0.00,程序运行结果:,?,s= 6.00,程序运行结果:,改为:1.0/2 (1/2.0),(1)、算术运算符和算术表达式,第三章 数据类型 运算符 表达式,自增、自减运算符,作用:使变量的值增1或减1。 格式: +i , -i (先使i的值加1(减)1 ,再使用i) i+ , i- (在使用i之后,使i的值加1(减)1),例3,i=3; A) j=+i; B) j=i+;,i=i+1,i=i-1,? j,i,A) j=4 i=4 B) j=3 i=4,(1)、算术运算

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号