《C语言程序设计方案》教案(清华谭浩强)(2)

2019-04-04 22:46

型。

(C语言的数据结构是以数据类型形式出现的) 1.数据类型分类: 整型 int

基本类型 字符型 单精度型 float 实型(浮点型)

枚举类型 双精度型 double 数据类型 数组类型

构造类型 结构体类型 struct 共用体(联合)类型 union 指针类型* 空类型void

说明:在程序中对用到的所有数据都必须指定其数据类型。 2.C语言中的常量和变量

常量:——在程序运行过程中,其值不能被改变的量。 变量:——在程序运行过程中,其值可以改变的量。 说明:1)常量和变量,都要有一个名字表示它; 习惯上,符号常量(别名)名用大写,变量用小写。 符号常量的定义为: #define P 30

其它常量:直接用数据表示 例: 23 45.5 ‘e’ 3e+2 2)在C语言中,对变量要先定义,后使用。

3)如果一个变量被指定为一确定类型后,在C语言编译时,就能为其分配相应的存储单元。 a 变量名 存储地址)2000 3 变量值 存储单元 地址的概念

3.常用的基本数据类型 (1)整型

1)整型常量:十进制整数 123,-11,0 非0开头 八进制整型 0123,-011 0开头

十六进制整型 0x11 0x20 0x0D 0XFF 0x4e0x/0X开头

说明:在一个整常量后面加一个字母:l或L,是长整型常量。22L0733L 0xae4l

2)整型变量:

定义 存储字节 数的范围

基本型 int x (2字节) -32768~32767

短整型 short int x (2字节) -32768~32767

长整型 long int x (4字节)-2,147,483,648~2,147,483,647 无符号型 unsigned int x (2字节) 0~65535 unsigned short x(2字节) 0~65535

unsigned long x (4字节) 0~4,294,967,295 注: 数据在内存中是以:二进制形式存放 如:9 为 00001001

例: x=13。 x=015 。 x=0xD 存储结构 见P44 图3.5 注:数据超过数据范围,会发生数据溢出 例3.2、3.3 (2)实型(浮点数)

1)实型常量: 十进制整数 1.23 .0123 指数形式 1.23e3,1.00e-3 2)实型变量:数的表示范围P46表3.2

单精度 float x(4字节)3.4x10-38~3.4x1038 TC默认 双精度 double x (8字节)1.7x10-308~1.7x10308 说明:实型常量不分float和double,只有十进制表达方式

有的C编译系统64位存储方式,如尾加f或F可表示32位:324.567f 例:x=1.23。 x=123e3P47例3.4(存储精度) (3)字符型

1)字符常量:

a) 用单引号括起来的一个字符 ‘a’‘A’

b) 转义字符(由“\\专用字母” ) 书P48表3.3 例3.5 \\0字符串结束符 \\n换行 \\t水平制表 \\ddd八进制数 \\xdd十六进制数 2)字符变量: char c(1字节)

说明:一个字符变量,只能放一个字符常量。实际是把该常量的ASCII值,送入字符变量中。即:‘B’(66) c (字符变量)

书P374ASCII表 p50例3.6-7 c=‘B’c的内容为66

故:字符数据可以进行算术运算;即:c=‘B’+2 为68 字符数据在内存中的存储方式 书P50

unsigned char 0-255 char -128-127有符号数在TC中是用补码表示的

127(0x7f) 0111 1111 128(0x80) 1000 0000 复习:补码的规定:

正数:其原码、反码、补码相同

负数:最高位为1,其余各位为原码的反码(原码的相应位取反),然后对整个数加1。

140(0x8c) 1000 1100→1111 0011 + 1(取反加1)→1111 0100→-0x74 -0x74 1000 1011 + 1(取反加1) → 1000 1100 → 0x8c (0x80为负数-74 高位为1) 3)字符串常量

用双引号括起来的字符 “a” ,“ABFD”“a”=“a\\0” <> ‘A’

说明:C规定,在每一个字符串的结尾应加一个“字符串结束标志”(\\0),

以便系统判断字符串是否结束。

4.各类数值间的混合运算

1)整型、字符型、单精度型、双精度型数据——可以混合运算 2)字符型、整型——可以通用 规则:高double float long unsigned

低int char,short

例如 10+’a’+1.5-8765.1234*’b’-858873.593200 (TC默认6位小数) 10+97+1.5-8765.1234*98 二.运算符和表达式

C表达式:由变量、常量、函数等运算对象和运算符组成的式子 C运算符作用:

1)能把一些基本运算模块用单一的运算符处理 2)使用丰富的运算符,构成多种表达式

C运算符有优先级,优先级高的先执行,同级的由结合规则决定其处理规则

C运算符有两种结合规则:

1)从左到右的结合运算顺序;即:a=5+x-10;运算对象与左边运算符结合

2)从右到左的结合运算顺序;即:x=y=7;运算对象与右边运算符结合

C运算符分类 书P55 1.基本运算符(算术运算符) C语言有7个基本运算符

1)单目运算符:(表示符号) 正号“+” 负号“-”

2)双目运算符:+、- 、*、/、%(模运算,求余运算,两侧为整数) 说明:

a)运算顺序的结合方向从左到右

b)求余(取模)运算符是对两个整数相除的余数,计算结果的符号与第

一个数的符号相同。即:-5%3 值为-2、 -5%-3 值为-2、 5%-3 值为2 2.自增、自减运算符(优先级高于算术,右结合) 作用:——使变量的值增1或减1

++i(--i)——在使用i之前,先使i的值加1(减1),然后再使用i。

i++(i--)——先使用i的值,然后再使i加1(减1)。 例:i =4。

j=++i。 i 值为5,值为5; j=i++。 i 值为5,j值为4

说明:1)自增、自减运算符++(--),只能用于变量,不能用于常量或表达式

即:5++ 、 (a+b)++ —— 不合法 2)运算顺序的结合方向从右到左 例 例: main(){

int i=3 z,x,y。 z=(i++)+(i++)+(i++)

x=y=3。

//结果:z值为9 i值为6 z=x+++y。

//变量x右结合运算符++(不是3+4+5=12) printf(\。 }

输出结果:z=6 x=4 y=3

如果:z= -x+++y。 输出结果:z=0 x=4 y=3 x先为-4,然后+y,最后x++

3.赋值运算符和赋值表达式(优先级低于算术,右结合) (1)“=”——赋值运算符

作用:将一个数据赋给一个变量即:x=21

注意: 如果赋值运算符两侧的类型不一致,在赋值时,要进行类型转换。P61例3.9

即:float f 。 f=23 f值为23.0000符号位扩展 (2)复合的赋值运算符

“+=、-=、*=、/=、%=”—— 在赋值符“=”之前加上其它运算符 称复合运算符(也称为自反运算符) 例:a+=3 等价于 a=a+3 x*=y+8 等价于 x=x*(y+8) y/=4 等价于 y=y/4 m%=3 等价于 m=m%3

说明:

C语言采用这种复合运算符:

为了简化程序,使程序精练;提高编译效率。 (3)赋值表达式

格式:变量=表达式 表达式:

可以是 1)常量、变量、算术表达式; 2)赋值表达式

即:a=(b=5) 或 a=b=5 (运算顺序的结合方向从右到左) 例:

a=b=c=6 。 a=5+(c=6) (结果a=11 c=6)

如果:a=3。 求:a+=a-=a*a。 [有:1] a*a。 9 2)a= a-(a*a)。 -6 3) a+=-6 ] -6+-6 a为:-12 结果值为:-12

4.逗号运算符和逗号表达式(优先级最低,左结合) 用“,”将两个表达式连接起来。

格式:表达式1,表达式2 即: 3+5,6*9; 例: 3+5,6*9; 值为54

(先求解表达式1,再求解表达式2,最后逗号表达式的值为表达式2的值)

a=2*5,a*3; a值为10 结果值为:30(先求:a=2*5,后求:a*3) x=(a=2*5,a*3),a+4 a值为10 x值为30 结果值为:14 说明:

使用逗号表达式的目的,只是为了得到各个表达式的值(常用于循环语句)

解表达式1的结果可能影响解表达式2的值

5.强制类型转换运算符(优先级高于算术,右结合) 在要转换的数据前,用小括号括上要转换的数据类型 即: (int)x; (int)(a+b)(int)x+y 格式:(类型名)表达式

C一般会自动进行数据类型转换P56例3.8,用于不能自动转换的地方x%3(float f)

6.关系运算符和关系表达式(书P87)(优先级低于算术,左结合,高于赋值)

(1)6种关系运算符

< <= > >= (优先级高) = = !=(优先级低) (2)关系表达式

表达式 关系运算符 表达式

即:a>b a+b>=b+c (a=4)<(b=8) ‘x’= = ‘y’


《C语言程序设计方案》教案(清华谭浩强)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:西安交通大学计算机程序设计指针实验

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: