A05C语言程序设计教学辅导2

上传人:平*** 文档编号:14300068 上传时间:2017-10-29 格式:DOC 页数:8 大小:103.16KB
返回 下载 相关 举报
A05C语言程序设计教学辅导2_第1页
第1页 / 共8页
A05C语言程序设计教学辅导2_第2页
第2页 / 共8页
A05C语言程序设计教学辅导2_第3页
第3页 / 共8页
A05C语言程序设计教学辅导2_第4页
第4页 / 共8页
A05C语言程序设计教学辅导2_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《A05C语言程序设计教学辅导2》由会员分享,可在线阅读,更多相关《A05C语言程序设计教学辅导2(8页珍藏版)》请在金锄头文库上搜索。

1、1C 语言程序设计教学辅导(二)-第 2 章 数据类型和表达式主要内容:一、数据类型二、常量三、变量四、运算符五、表达式六、一些系统函数的使用一、数据类型1. C 语言程序中使用的每个数据都要归属于一种数据类型如使用的人的年龄:int;姓名:字符串;体重:带小数的实数(单、双) 。2. 数据类型有简单和复杂之分如描述人的单个属性的数据就是简单数据,属于简单数据类型,描述一个人的完整信息就需要把若个个简单数据组合起来,构成复杂(组合)数据,描述这种数据的类型属于复杂(组合)数据类型。3. 数据类型有系统定义和用户定义之分一般来说,简单类型有由系统定义好的,组合类型需要用户根据实际情况进行具体定义

2、。例如整数型(int)、字符型(char)、实数型(float,double)等都是 C 语言系统已经定义的,用户可以直接使用;职工记录类型需要用户自己定义。4. 系统定义的数据类型分类C 语言数据类型:广义整数型、实数型、引申型、组合型、空类型广义整数型:一般整数型、字符型、枚举型一般整数型:标准整数型、短整数型、长整数型标准整数型(int):每个数据占有 4 个字节的存储单元,即二进制的 32 位,可表示-2 31+231-1 之间的带符号的十进制整数,或者表示 0+232-1 之间(0-4294967295)的无符号(正)的十进制正数。短整数型和长整数型可进行类似分析。字符型(char)

3、:每个 ASCII 码字符数据占有 1 个字节,即二进制的 8 位,可表示 ASCII 代码表中的一个字符,每个字符对应的整数值在 0+127 之间。字符型还可以作为一个字节的整数看待,当规定为带符号字符型时,则表示-128+127 之间的整数,当规定为无符号字符型时,则表示 0255 之间的整数。枚举型(enum):是用户自定义的一种简单的数据类型,该类型中的每个值需要在定义时具体罗列出来。例如:对三种颜色所定义的枚举类型:enum colorred, yellow, blue;其中 color 为该类型的标识符,后面花括号内的 3 个标识符 red、yellow和 blue 为枚举值常量,

4、分别对应红色、黄色和蓝色,对应的整数值分别为0、1 和 2。2利用 color 类型标识符就可以定义一个变量,如“enum color x=blue;”语句就定义了 x 为 color 枚举类型的一个变量,并把一个枚举值 blue 赋给 x,使 x 的值等于 2。实数类型:又分为单精度实数型(float)和双精度实数型(double)两种。单精度实数型(float):占用 4 个字节(即 32 位) ,其中用大约 3 个字节表示一个浮点数(定点数是一种特定表示)的尾数,用大约一个字节表示指数。如对于-0.1835910 5,则用 3 个字节存储尾数-0.18359,用一个字节存储指数5。双精度

5、实数型(double):占用 8 个字节(即 64 位) ,其中用大约 7 个字节表示一个浮点数的尾数,用大约一个字节表示指数。如对于-0.1835910 5,则用 7 个字节存储尾数-0.18359,用一个字节存储指数 5。两种实数类型的区别:由于双精度型数据占用的存储空间大于单精度型数据,所以双精度型能够表示更多的数字位数,通常单精度型只能表示 7 位有效数字,而双精度型能够表示 16 位有效数字。如 3.2345671.2345 的结果为 12位有效数字,则必须用双精度型变量来存储。空类型(void):即无类型,通常用来定义函数的返回类型。当一个函数不需要返回任何值时,就把该函数定义为

6、void 类型。空类型也作为指针所指向的一种类型,待第 5 章介绍。引申类型和组合类型:引申类型包括数组类型和指针类型,组合类型有结构类型(struct)和联合类型(union) ,在以后的相关章节中介绍。一种数据类型对应一个类型标识符:若是系统定义的数据类型,则类型标识符就是一个保留字,若是用户定义的数据类型,则是用户对该数据类型所起的名字。字符(char) 、标准整型(int) 、无符号标准整型(unsigned int) 、单精度实数型(float) 、双精度实数型(double) 、空类型(void)等。使用一种数据类型就是使用它的类型标识符。二、常量C 语言中的运算对象包括常量、变量

7、、函数、表达式四种类别,而函数和表达式也是对常量和变量进行运算而得到的,所以说,最基本的运算对象是常量和变量。1常量的表现形式常量又分为字面常量和标识符(符号)常量两种表现形式。字面常量的值就是字面本身,如 25 是一个字面整数常量,它的值就是 25;标识符常量的值与字面本身不同,定义时需要为它赋值。如在 C 语言系统内定义有标识符常量NULL,它的值为 0。2字面常量字面常量又分为整数常量、实数常量和字符常量三种。 整数常量:有 3 种进制表示:十、八、十六进制十进制:第一个数字非 0 的正整数或负整数。如 1、25、-100、3270八进制:第一个字符为 0、第二个及以后为八进制数字 0-

8、7 的整数。如023、074 等,它们对应的十进制数分别为 19 和 60。八进制数不带符号位,隐3含为正数。十六进制:前两个字符为 0x 或 0X,后为 0-9, af 或 AF 的整数,其中af 或 AF 依次表示十进制数 1015,如 0x23、0Xa5 等,它们对应的十进制整数分别为 35 和 165。十六进制数不带符号位,隐含为正数。整数常量的类型:被系统认为是标准整型(int) ,若要后缀字母 u 则认为是无符号整型,若后缀字母 l 或 L 则认为是长整型。如 25、25u、25L 分别表示 int、unsigned int、long int。 实数常量:只有十进制表示,又分为定点

9、和浮点两种表示。定点表示:带小数点不带指数的常数表示。如 12.0、-3.56、0.06 等。浮点表示:既带尾数又带指数的常数表示,指数的底数 10 用字母 e 表示。如 2.45e3、-30E-4、4.2e12 等,它门在数学中称为科学记数法,分别对应为 2.45103、-3.010 -3和 4.21012。规范化的浮点表示:若在尾数部分的小数点前只有一位不为 0 的数字,则为规范化的浮点表示。如 3.05E-8、-6.3e4 为规范的,而 32.5e6 为不规范的,若改写为 3.25e7 则变为规范的。实数常量的类型:实数又分为双精度型(double)和单精度型(float),默认为双精度

10、型。若在其实数后面加上字符标记 f 或 F 则为单精度型。如2.54 为双精度型,则 2.54f 则为单精度型。 字符常量:字符常量就是用单引号括起来的字符。字符有一般字符和转义字符之分,如a 、5 、+等属于一般字符,而 n、0、 075等属于转义字符,因为它们是以反斜线开始的。转义字符通常用来表示无法用字面表示的控制字符或特殊字符,如n表示换行符,对于的ASCII 码为 10,0表示 ASCII 码为 0 的字符。3标识符常量用户可以通过 3 种方式定义标识符(符号)常量:(1)使用#define 预处理定义命令如: #define PI 3.14159 就把 PI 定义为标识符常量,该常

11、量值为3.14159。#define END -100 把 END 定义为标识符常量,其值为-100。(2)使用 const 常量定义语句如:const int M=10; /该语句定义 M 为一个标识符整型常量,其值为10。const double PI=3.14159; /该语句定义 PI 为一个标识符双精度型常量,/其值为 3.14159。注意:使用 const 语句定义的标识符常量带有数据类型,比使用#define预处理命令要强,所以要尽量使用 const 语句定义常量,当然在有些地方只允许使用通过#define 预处理命令定义的标识符常量,如数组的长度。(3)在枚举类型中定义的每个枚

12、举值都是标识符常量如:枚举类型定义:enum colorred, yellow, blue; 其中的枚举值red、yellow 和 blue 都是枚举常量,又称标识符常量,其常量值分别为 0、1和 2。4三、变量1变量的概念在程序设计中,允许其值被改变的量叫做变量。如在一个程序中需要根据一个人的月收入来计算税金,每个人的月收入不同,因而其税金也不同,所以应当把月收入和税金分别设置为变量,当给月收入变量输入一个新值时,通过计算把对应的纳税额保存到税金变量中。在 C 语言中需要用一个标识符来表示变量,该变量应通过变量定义语句来定义,通过输入或赋值语句设置或改变它的值。2变量定义语句=,;在使用变量

13、之前必须先进行定义。如要用变量 r 表示圆的半径,用 s 表示圆的面积,它们都应该是实数变量,假定采用双精度型,则对应的变量定义语句为double r,s; 若需要把一个整数变量 i 赋初值为 0,给另一个整数变量 p 赋初值为 1,则使用的变量定义语句为int i=0, p=1;下面在看一些变量定义和赋值的例子。int x, y, z; /定义 x,y 和 z 为整型变量x=5; y=8; /给 x 和 y 分别赋值为 5 和 8z=x+y; /把 x+y 的值即 13 赋给整型变量 zy=x+10; /把 x+10 的值 15 重新赋给 y,当前 y 的值为 153在一个模块或复合语句内,

14、变量定义语句在前访问该变量在后在程序中的一个摸块或复合语句内,所有变量定义语句必须在前面,后面是使用它们的表达式或语句,两者不能交叉。4标识符常量定义语句const =, ;实际上是在变量定义语句的前面加上 const 保留字,并必须给每个常量赋初值。如:const int M1=10, M2=50;就定义了 M1 和 M2 这两个常量,其值分别为 10 和 50。5使用变量和常量的程序举例#include#define M -1 /符号常量中的字母通常采用大写const int N=10; /把整型标识符常量 N 定义为 10void main()int x,y;5printf(请输入一个整

15、数:); /字符串中不含格式符,原样输出scanf(%d,&x); /从键盘输入一个整数到 xif(x=N,计算 y 为(x+M)x-3printf(x=%d, y=%dn,x,y);/串中含有原样输出和格式信息程序运行后若从键盘上输入数值 5,则得到的输出结果为:x=5, y=-4若从键盘上输入的数值为 20,则得到的输出结果为:x=20, y=377四、运算符1运算符的概念就是对数据进行运算的符号。如要把两个数值数据加起来,就有加法运算符。这和数学上的运算符概念是相通的,但表示符号有的相同有的不同。2运算对象运算对象就是参与运算的数据。例如 3+5,3 和 5 为运算对象,加号(+)为运算

16、符。根据运算符所要求的运算对象的个数的不同,可以把运算符分类为单目、双目和三目运算符 3 种。一个运算对象叫单目,。如-5、x+6、a=(xy?x:y)。3根据运算对象的类型分类算术运算符:+、-、*、/、%比较运算符:、=、!=逻辑运算符:&、|、!赋值运算符:=、+=、-=地址运算符:&、*等等。4运算符的优先级当一个算式中出现多个运算符时,谁先谁后,按什么次序进行,这就是运算符的优先级问题。运算符优先级高的先被计算,低的后被计算。C 语言中的所有运算符,被划分为 15 个优先级,在教材第 2 章的表 2-3 中已明确列出,优先级编号越小表示优先级越高。如*、/运算符的优先级为 3,而+、-运算符的优先级为 4,所以加减运算的优

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

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

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