C语言程序设计VisualC环境电子实用教案

上传人:hs****ma 文档编号:591928217 上传时间:2024-09-18 格式:PPT 页数:33 大小:1.89MB
返回 下载 相关 举报
C语言程序设计VisualC环境电子实用教案_第1页
第1页 / 共33页
C语言程序设计VisualC环境电子实用教案_第2页
第2页 / 共33页
C语言程序设计VisualC环境电子实用教案_第3页
第3页 / 共33页
C语言程序设计VisualC环境电子实用教案_第4页
第4页 / 共33页
C语言程序设计VisualC环境电子实用教案_第5页
第5页 / 共33页
点击查看更多>>
资源描述

《C语言程序设计VisualC环境电子实用教案》由会员分享,可在线阅读,更多相关《C语言程序设计VisualC环境电子实用教案(33页珍藏版)》请在金锄头文库上搜索。

1、 C CC语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C CC+ + + + + 6 6 6. . .0 0 0环环环境境境)返回本章返回本章(bn zhn)(bn zhn)目录目录2.1C2.1C语言各种语言各种语言各种语言各种(zhn)(zhn)运算符和表运算符和表运算符和表运算符和表达式的应用达式的应用达式的应用达式的应用2. C程序实例程序实例(2)1. C程序实例程序实例(1)第1页/共32页第一页,共33页。【例2.1

2、】关于常量、变量及数据类型说明的程序实例(shl)。程序名为l2_1.cpp。 #includestdio.hmain() int a=3;/*定义整型变量a并赋予常量值3 */ short r=6; /*定义短整型变量r并赋予常量值6*/ char c=a; /*定义字符变量c并赋予字符常量值a */ float pi=3.14; /*定义单精度实型变量pi并赋予实型常量值3.14 */ double s; /*定义双精度实型变量s */ s=pi*r*r; /*将pi*r*r值赋给s */ printf(int:%d,short:%d,char:%d,float:%d,double:%dn

3、,sizeof(a), sizeof(r),sizeof(c),sizeof(pi),sizeof(s); /*输出各变量占内存的字节数 */ printf(a=%d,r=%d,c=%c,pi=%f,s=%lfn,a,r,c,pi,s);/*输出各变量的值 */ 2.1.1C2.1.1C程序程序程序程序(chngx)(chngx)实例实例实例实例(1 1) C C语语言言程程序序设设计计( (c ch h n n x x s sh h j j ) ) ( (V Vi is su ua al l C C+ + + 6 6. .0 0环环境境)返回本节目录返回本节目录1.C程序实例1程序结果程序结

4、果第2页/共32页第二页,共33页。 例例例例2.12.1程序程序程序程序(chngx)(chngx)结果及分析结果及分析结果及分析结果及分析返回返回(fnhu)(fnhu)例题例题返回返回(fnhu(fnhu ) )本节目录本节目录结果分析:变量可以被定义成不同的数据类型并赋值,不同类型的数据在内存中所占的字节数不同,通过sizeof()求得数据宽度。短整型、整型、字符型、单精度实型、双精度实型在内存中分别占2字节、4字节、1字节、4字节和8字节。同时,这些数据在输出时所使用的输出格式控制符也不相同,分别为%d、%d、%c、%f和%lf形式。由此可见,数据表现为常量或变量,数据又具有不同的数

5、据类型,不同数据类型的数据存储格式不同,数据的输出格式控制也不相同。注意:在Trubo C环境下,整型数据存储时在内存中占2字节。 第3页/共32页第三页,共33页。2.1.1C2.1.1C程序程序程序程序(chngx)(chngx)实实实实例(例(例(例(2 2) C CC语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C CC+ + + + + 6 6 6. . .0 0 0环环环境境境)2.C程序(chngx)实例2【例2.2】

6、关于运算符和表达式的程序实例。/*程序名为l2_2.cpp。*/ #includestdio.h main() int i=3,a=5,b=7,c,d;/*定义变量并赋初值 */ printf(i=%dn,i+); /*输出i+的值 */ printf(i=%dn,i); /*输出i的值 */ c=ab?a:b; /*计算表达式c=ab?a:b */ printf(c=%dn,c); /*输出c的值 */ d=a=b&i; /*计算表达式d=ab?a:b;语句中包括了关系运算符“”、条件运算符“?:”、赋值运算符“=”,经过各种运算处理后c的值为7。d=a=b&i; 语句中包括了关系运算符“=

7、”、逻辑运算符“&”、赋值运算符“=”,经过各种运算处理后d的值为1。d=(c,d=c); 语句中包括了赋值运算符“=” 、逗号运算符“,”,经过各种运算处理后d的值为7。第5页/共32页第五页,共33页。2.2C2.2C语言的数据类型语言的数据类型语言的数据类型语言的数据类型 C C语语言言程程序序设设计计( (c ch h n n x x s sh h j j ) ) ( (V Vi is su ua al l C C+ + + 6 6. .0 0环环境境)返回返回(fnhu(fnhu ) )本节目录本节目录单精度实型 (float)双精度(jn d)实型 (double)整型 (int)

8、字符型 (char)枚举类型数组类型结构体类型共用体类型实型基本类型构造类型空类型 (void)指针类型数据类型第6页/共32页第六页,共33页。2.2C2.2C语言的数据类型语言的数据类型语言的数据类型语言的数据类型 C C C语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C C C+ + + + + 6 6 6. . .0 0 0环环环境境境)2.2.1 基本(jbn)数据类型2.2.2 常量(chngling)2.2.3 变量

9、及其类型定义返回本节目录返回本节目录第7页/共32页第七页,共33页。2.2.12.2.1基本基本基本基本(jbn)(jbn)数据类型数据类型数据类型数据类型 C CC语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C CC+ + + + + 6 6 6. . .0 0 0环环环境境境)返回返回(fnhu(fnhu ) )本节目录本节目录1.整型数据2.实型数据3.字符型数据第8页/共32页第八页,共33页。2.2.12.2.1基本基

10、本基本基本(jbn)(jbn)数据类型数据类型数据类型数据类型(一)(一)(一)(一) C CC语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C CC+ + + + + 6 6 6. . .0 0 0环环环境境境)1. 整型数据 整型数据分为(fn wi)一般整型(int)、短整型(short)和长整型(long),并且每一种类型又分为(fn wi)带符号(signed)和无符号(unsigned)两种类型 。整型数据的特性见下表:

11、 返回本节目录返回本节目录数据类型名说明Visual C+ 6.0环境Turbo C2.0环境字节取值范围字节取值范围short int短整型2-32768327672-3276832767signed short int带符号短整型2-32768327672-3276832767unsigned short int无符号短整型20655352065535int整型4-214748364821474836472-3276832767signed int带符号整型4-214748364821474836472-3276832767unsigned int无符号整型4042949672952065

12、535long int长整型4-214748364821474836474-21474836482147483647signed long int带符号长整型4-214748364821474836474-21474836482147483647unsigned long int无符号长整型404294967295404294967295返返 回回第9页/共32页第九页,共33页。2.2.12.2.1基本基本基本基本(jbn)(jbn)数据类型数据类型数据类型数据类型(二)(二)(二)(二) C CC语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s

13、 s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C CC+ + + + + 6 6 6. . .0 0 0环环环境境境)2. 实型数据(shj) 实型数据(shj)分为单精度实型(float)、双精度实型(double)和长双精度实型(long double)。具体情况见下表所示 : 数据类型名说明Visual C+ 6.0环境Turbo C2.0环境字节取值范围有效数字字节取值范围有效数字float单精度实型4-3.410383.41038674-3.410383.4103867double双精度实型8-1.7103081.

14、71030815168-1.7103081.7103081516long double长双精度实型16-1.21049321.2104932181910-1.21049321.21049321819返返 回回返回本节目录返回本节目录第10页/共32页第十页,共33页。2.2.12.2.1基本基本基本基本(jbn)(jbn)数据类型数据类型数据类型数据类型(三)(三)(三)(三) C C C语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l

15、 C C C+ + + + + 6 6 6. . .0 0 0环环环境境境)3. 字符型数据 字符型数据分为一般字符型(char)、带符号(fho)字符型(signed char)和无符号(fho)字符型(unsigned char)三种类型。具体情况见下表所示 : 数据类型名说明字节取值范围char字符型1-128127signed char带符号字符型1-128127unsigned char无符号字符型10255返返 回回返回本节目录返回本节目录第11页/共32页第十一页,共33页。2.2.22.2.2常量常量常量常量(chngling)(chngling) C CC语语语言言言程程程序

16、序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C CC+ + + + + 6 6 6. . .0 0 0环环环境境境)1. 整型常量(chngling) 2.实型常量3.字符型常量4.字符串常量 返回本节目录返回本节目录第12页/共32页第十二页,共33页。2.2.22.2.2常量常量常量常量(chngling)(chngling)(一)(一)(一)(一) C CC语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x

17、x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C CC+ + + + + 6 6 6. . .0 0 0环环环境境境)1. 整型常量(chngling) (1)十进制整型常量:以数字19开头,其他位以数字09构成十进制整型常量。如12,-38等。 (2)八进制整型常量:以数字0开头,其他位以数字07构成八进制整型常如012,-037等。 在C语言中,整型常量有十进制、八进制、十六进制三种进制表示方法,并且各种数制均可有正(+)负(-)之分,正数的“+”可省略。 (3)十六进制整型常量:以0X或0x开头(数字0和大写或小

18、写字母x),其他位以数字09或字母af或AF构成十六进制整型常量。如0x12,-0Xa9等。 如果在整型常量加上后缀L或l表示该常量为长整型常量,加上后缀U或u表示无符号整型常量。 返返 回回返回本节目录返回本节目录第13页/共32页第十三页,共33页。2.2.22.2.2常量常量常量常量(chngling)(chngling)(二)(二)(二)(二) C C C语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C C C+ + + +

19、 + 6 6 6. . .0 0 0环环环境境境)2. 实型常量(chngling) (1)小数表示法 :它是由数的符号、数字和小数点组成的实型常量(注意:必须有小数点)。如-2.5、3.0、4.、.34等都是合法的实型小数形式。 (2)科学计数法 :科学计数法也称指数法。它是由数的符号、尾数(整数或小数)、阶码标示(E或e)、阶符和整数阶码组成的实型常量。尾数不可缺省,阶码必须为整数。如-2.5E-3、3e5、34E-3等都是合法的指数形式。如-2.5E-3表示-2.510-3。 实型常量又称浮型常量。实型常量由整数部分和小数部分组成,有两种表示形式:小数表示法和科学计数法。它只能用十进制表

20、示。 实型常量分为单精度、双精度和长双精度三种类型。实型常量如果没有任何说明,则表示为双精度常量,实型常量后加上F或f则表示单精度常量,实型常量后加上L或l则表示长双精度常量。 返返 回回返回本节目录返回本节目录第14页/共32页第十四页,共33页。2.2.22.2.2常量常量常量常量(chngling)(chngling)(三)(三)(三)(三) C C语语言言程程序序设设计计( (c ch h n n x x s sh h j j ) ) ( (V Vi is su ua al l C C+ + + 6 6. .0 0环环境境)3. 字符(z f)型常量 (1)一般字符常量 :一般字符常量

21、是用单引号括起来的一个普通字符,其值为该字符的ASCII代码值。ASCII编码表见附录1。如a、A、0、?等都是一般字符常量,但是a和A是不同的字符常量,a的值为97,而A的值为65。 字符型常量是由一对单引号括起来的一个字符。它分为一般字符常量和转义字符。一个字符常量在计算机的存储中占据一个字节。 (2)转义字符 :C语言允许用一种特殊形式的字符常量,它是以反斜杠()开头的特定字符序列,表示ASCII字符集中控制字符、某些用于功能定义的字符和其他字符。如n表示回车换行符,表示字符“”。常用的转义字符见1.4.1中所叙。 如果在整型常量加上后缀L或l表示该常量为长整型常量,加上后缀U或u表示无

22、符号整型常量。 返返 回回返回本节目录返回本节目录第15页/共32页第十五页,共33页。(4)存放的变量不同。字符常量(chngling)可存放在字符变量或整型变量中,而字符串常量(chngling)需要存放在字符数组中。字符变量和字符数组后续介绍。 2.2.22.2.2常量常量常量常量(chngling)(chngling)(四)(四)(四)(四) C C C语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C C C+ + + +

23、+ 6 6 6. . .0 0 0环环环境境境)4. 字符串常量 字符串常量也称字符串,由一对双引号括起来(“”)的字符序列。字符序列中的字符个数称字符串长度,没有字符的字符串称为空串。如“a”、“12+3”等都是合法的字符串常量。字符串常量中的字符是连续存储的,并在最后自动加上字符0(空字符,该字符在ASCII码值为0,也称NULL字符)作为字符串结束标志。如字符串“a”在计算机内存中占两个连续单元,存储内容为字符a和0对于字符串常量和字符常量的区别是十分显著的,主要表现在以下4个方面: (1)表示形式不同。字符常量以单引号表示,而字符串常量以双引号表示。 (2)存储所占的内存空间不同。字符

24、常量在内存中只用1个字节存放该字符的ASCII码值。字符串常量在内存中,除了存储串中的有效字符的ASCII码值外,系统还自动在串后加上1个字节,存放字符串结束标志0。 返返 回回(3)允许的操作不同。字符常量允许在一定范围内与整数进行加法或减法运算,如a-32合法。字符串常量不允许上述运算,如“a”-32非法的。 返回本节目录返回本节目录第16页/共32页第十六页,共33页。(1)数据类型:C语言的合法数据类型。如例中的int、short、char、float、double等。 (2)变量名表:变量名是C语言合法的标识符。变量名表可以包含多个变量名,彼此之间使用逗号分开,表示同时定义若干个具有

25、相同数据类型的变量,如: float a,b;(3)变量定义语句(yj)可以出现在变量使用之前的任何位置。程序设计时不违背“先定义,后使用”的原则即可。 2.2.32.2.3变量变量变量变量(binling)(binling)及类及类及类及类型定义型定义型定义型定义 C C C语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C C C+ + + + + 6 6 6. . .0 0 0环环环境境境)返回本节目录返回本节目录1. 变量定义

26、变量定义一般格式: 数据类型 变量名表;如:int a; 对变量定义说明如下: 变量是指在程序执行过程中其值可以被改变的量。变量有三个基本要素:变量名、变量数据类型和变量的值。在C语言中,任何一个变量在使用之前都必须首先定义它的名字,并说明它的数据类型。也就是说,变量使用前必须先定义,即指定变量名,说明变量数据类型。变量定义的实质是按照变量说明的数据类型为变量分配相应空间的存储单元,在该存储单元中存放变量的值。 C语言中,变量使用时遵循“先定义,后使用”的原则。 第17页/共32页第十七页,共33页。2.2.32.2.3变量变量变量变量(binling)(binling)及及及及类型定义类型定

27、义类型定义类型定义 C C C语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C C C+ + + + + 6 6 6. . .0 0 0环环环境境境)返回返回(fnhu(fnhu ) )本节目录本节目录2. 变量初始化及赋值 在【例2.1】中“s=pi*r*r;”语句是通过赋值运算符“=”将“pi*r*r”的值赋给变量s,即该语句实现了给变量s的赋值。所以,变量值可以通过初始化取得,也可以在定义后,通过给变量赋值的方法取得。 在【例

28、2.1】中“int a=3;short r=6; char c=a; float pi=3.14; ”的“=”是赋值运算符,用来给变量赋值。所以,以上四条语句都是在定义变量的同时给变量赋了值,称为变量的初始化。变量初始化是指定义变量同时,给变量一个初始值。 第18页/共32页第十八页,共33页。 C CC语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C CC+ + + + + 6 6 6. . .0 0 0环环环境境境)2.3.2

29、算术(sunsh)运算符及算术(sunsh)表达式 2.3.1 运算符和表达式 2.32.3运算符及表达式运算符及表达式运算符及表达式运算符及表达式 返回本章返回本章(bn zhn)(bn zhn)目录目录2.3.3 关系运算符及关系表达式 2.3.4 逻辑运算符及逻辑表达式 2.3.5 条件运算符及条件表达式 2.3.6 赋值运算符及赋值表达式 2.3.7 逗号运算符及逗号表达式 2.3.8 求字节运算符2.3.9 类型转换 第19页/共32页第十九页,共33页。分类名称运算符算术运算符+、-、*、/、%、+、-关系运算符、=、=、!=逻辑运算符&、|、!位运算符、|、&赋值运算符=及其扩展

30、赋值运算符条件运算符? :逗号运算符,指针运算符*、&求字节数运算符sizeof强制类型转换运算符(类型)分量运算符. 、-下标运算符 其他函数运算符( )2.3.12.3.1运算符和表达式运算符和表达式运算符和表达式运算符和表达式 C CC语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C CC+ + + + + 6 6 6. . .0 0 0环环环境境境)这里介绍运算符和表达式的概念以及(yj)运算符的优先级和结合性问题。1.运算

31、符返回返回(fnhu(fnhu ) )本节目录本节目录 C语言提供了13类,共计34种运算符。据运算符的运算对象的个数,C语言的运算符分为单目运算符、双目运算符和三目运算符,如单目+,双目b?a:b;”语句中运算符按优先级由高到低排列顺序为“” 、“?:” 、“=”。 当一个运算对象的两侧的运算符的优先级相同时,运算的结合方向称为结合性。运算符的结合性分为左结合和右结合两种。在C语言中,运算对象先与左面的运算符结合称左结合,如+、-、*、/的结合方向为自左向右;运算对象先与右面的运算符结合称右结合,如单目运算符+、-的结合方向是自右向左。 第21页/共32页第二十一页,共33页。2.3.22.

32、3.2算术算术算术算术(sunsh)(sunsh)运算符及运算符及运算符及运算符及算术算术算术算术(sunsh)(sunsh)表达式表达式表达式表达式 C CC语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C CC+ + + + + 6 6 6. . .0 0 0环环环境境境) 算术(sunsh)运算符分基本算术(sunsh)运算符和自增、自减运算符。1.基本算术(sunsh)运算符 基本算术运算符包括加法(+)、减法(-)、乘法(

33、*)、除法(/)和求余(%)。后三种运算符优先级高于前两种,它们都是左结合性。对于运算符/和%有如下说明: (1)若除法运算符的运算对象均为整型数据,则结果为其商的整数部分,舍去小数部分。如13/7的结果为1。若运算对象中有一个为负值,则舍入的方向是不固定的。如, -13/7在有的机器上得到结果是-1,有的机器上得到结果是-2,但多数机器采取“向零取整”方法,即13/7=1,-13/7=-1,取整后向零靠拢。 返回本节目录返回本节目录(2)求余运算符的运算对象必须是整型数据,运算结果的符号与被除数的符号相同,如,-13%7运算结果为-6, 13%-7运算结果为6 , -13%-7运算结果为-6

34、 。 第22页/共32页第二十二页,共33页。2.3.22.3.2算术算术算术算术(sunsh)(sunsh)运算符及运算符及运算符及运算符及算术算术算术算术(sunsh)(sunsh)表达式表达式表达式表达式 C CC语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C CC+ + + + + 6 6 6. . .0 0 0环环环境境境)2.自增、自减运算符 自增(+)和自减(-)运算符是单目运算符,其功能是使运算对象(变量)的值增1

35、或减1。它们既可以作前缀运算符(位于运算对象的前面),如+i,-i;也可以作后缀运算符(位于运算对象的后面),如i +,i -。前缀和后缀运算的数据处理方法有明显的差异。对于前缀形式表示在用该表达式之前(zhqin)先使变量值增(减)1;对于后缀形式表示在用该表达式的值之后使n的值增(减)1。+j,-j 在使用j之前(zhqin),先使j的值加(减)1。j+,j 在使用j之后,使j的值加(减)1。 在【例2.2】中“int i=3;printf(i=%dn,i+);”,i+是后缀形式,则先计算表达式的值,其值为当前i值,因此,输出i=3,然后使i自增1,i值为4。所以,语句“printf(i=

36、%dn,i);”输出的结果是i=4。 返回本节目录返回本节目录 自增或自减运算符在使用时,需要注意以下几点:(1)运算符的操作对象,只能是变量,而不能作用于常量或表达式。运算符的优先级高于基本算术运算符,结合性是“自右向左”右结合。(2)i+,遵照右结合原则,它相当于-( i +),而不相当于(-i)+形式。 第23页/共32页第二十三页,共33页。2.3.32.3.3关系关系关系关系(gunx)(gunx)运算符及运算符及运算符及运算符及关系关系关系关系(gunx)(gunx)表达式表达式表达式表达式 C C语语言言程程序序设设计计( (c ch h n n x x s sh h j j )

37、 ) ( (V Vi is su ua al l C C+ + + 6 6. .0 0环环境境) 关系运算符是对两个操作对象进行大小比较的运算符,是逻辑运算的一种简单形式。用关系运算符将两个表达式连接起来的符合C语法规则的式子称为关系表达式。关系表达式的运算结果(ji gu)是一个逻辑值,即“真”或“假”。在C语言中关系运算结果(ji gu)为真,以整数“1”表示,结果(ji gu)为假,以整数“0”表示。 C语言中的关系运算符共有六种,它们是: = = = b?a:b; d=ab值为0,a=b值为1。返回本节目录返回本节目录第24页/共32页第二十四页,共33页。2.3.42.3.4逻辑逻辑

38、逻辑逻辑(luj)(luj)运算符及逻运算符及逻运算符及逻运算符及逻辑辑辑辑(luj)(luj)表达式表达式表达式表达式 C C语语言言程程序序设设计计( (c ch h n n x x s sh h j j ) ) ( (V Vi is su ua al l C C+ + + 6 6. .0 0环环境境)返回返回(fnhu(fnhu ) )本节目录本节目录 参与逻辑运算的逻辑量“真”或“假”的判断原则是:以0代表“假”,以非0代表“真”。即将一个非零的数值认作“真”,将零值认作“假”。逻辑运算的结果逻辑值只有两个,“真”和“假”,它们分别用“1”和“0”表示。 C语言中提供的三种逻辑运算符及

39、运算法则见下表所示: 逻辑运算符中“&”和“|”低于关系运算符,“!”高于算术运算符。 在【例2.2】程序实例中“d=a=b&i;”先计算“a0?b:-b;相当于y=( b0?b:-b),功能是将b的绝对值赋给a。 (2)条件运算符结合性是右结合。如b0?1:b0?1:(bb?a:b”,先计算ab值为假,则条件表达式值取b的值为7。因此,c值为7。返回本节目录返回本节目录第27页/共32页第二十七页,共33页。 C语言允许在赋值运算符“=”之前加上其他运算符,构成(guchng)复合运算符。在“=”之前加上算术运算符,则构成(guchng)算术复合赋值运算符;在“=”之前加上位运算符,则构成(

40、guchng)位复合赋值运算符。象+=、-=、*=等。使用如,a+=b-c等价于a=a+(b-c),a%=b-c等价于a=a%(b-c)。 2.3.62.3.6赋值运算符及赋值表达赋值运算符及赋值表达赋值运算符及赋值表达赋值运算符及赋值表达式式式式 C C语语言言程程序序设设计计( (c ch h n n x x s sh h j j ) ) ( (V Vi is su ua al l C C+ + + 6 6. .0 0环环境境) 赋值运算符包括简单赋值运算符和复合赋值运算符,复合赋值运算符又包括算术复合赋值运算和位复合赋值运算符(位运算在第8章介绍)。由赋值运算符将操作对象连接起来符合C语

41、法规则(guz)的式子称为赋值表达式。 1.简单赋值运算符及其表达式 2.简单赋值运算符及其表达式 赋值运算符是“=”,其作用是将赋值运算符右侧的表达式的值赋给其左侧的变量。在【例2.2】程序实例中“i=3,a=5,b=7;c=ab?a:b;d=ab?a:b;相当于a=(b=(c=(ab?a:b); 值得注意的是:赋值运算符运算对象中的左侧对象一定是变量。如:a=b-c=5;相当于a=(b-c)=5);,由于表达式中出现将数值5赋给b-c表达式,因此,该表达式是非法的。 返回本节目录返回本节目录第28页/共32页第二十八页,共33页。2.3.72.3.7逗号逗号逗号逗号(duho)(duho)

42、运算符及运算符及运算符及运算符及逗号逗号逗号逗号(duho)(duho)表达式表达式表达式表达式 C CC语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C CC+ + + + + 6 6 6. . .0 0 0环环环境境境) 逗号运算符是“,”,它的优先级低于赋值运算符,是左结合(jih)性。用逗号运算符将若干个表达式连接成一个逗号表达式。一般形式如下: 表达式1,表达式2,表达式n 逗号表达式的操作过程是:先计算表达式1,再计算表

43、达式2,最后再计算机表达式n,而逗号表达式的值为最右边表达式n的值。 如: a=4.5,b=6.4,34.5-20.1,a-b 该逗号运算表达式,它由四个表达式结合而成,从左向右依次计算,逗号表达式的值为a-b的值,即-1.9。 在【例2.2】程序实例中“d=(c,d=c);”是将逗号表达式c,d=c的值赋给变量d。 值得注意的是,逗号运算符是C语言所有运算符中优先级最低。如:a=10,20;不同于a=(10,20);,前者a的值为10,表达式的值为20,后者a的值为20,表达式的值也为20。 返回本节目录返回本节目录第29页/共32页第二十九页,共33页。2.3.82.3.8求字节求字节求字

44、节求字节(zji)(zji)运算符运算符运算符运算符 C C语语言言程程序序设设计计( (c ch h n n x x s sh h j j ) ) ( (V Vi is su ua al l C C+ + + 6 6. .0 0环环境境) C求字节运算符是sizeof,它用于计算变量或某种类型(lixng)的量在内存中所占的字节数。用法有两种: 1.sizeof 表达式 2.sizeof(类型(lixng)名) 功能是计算出表达式计算结果所占用内存的字节数。如:在【例2.1】程序实例中“printf(”int:%d,short:%d,char:%d,float:%d,double:%dn“,

45、sizeof(a), sizeof(r),sizeof(c),sizeof(pi),sizeof(s); ”就是输出变量a,r,c,pi,s所占的内存字节数。 功能是计算出某种类型的量存储时所占用内存的字节数。如: sizeof(float)计算单精度实型数据在内存中所占的字节数,结果为4。 返回本节目录返回本节目录第30页/共32页第三十页,共33页。 强制类型转换是指通过强制类型转换运算符,将表达式的类型强制转换为所指定的类型。强制类型转换的一般形式为: (数据类型)操作数 或 数据类型(操作数) 功能是将操作数的值强制转换成指定的数据类型。如:int(120.4*7)是将120.4*7值

46、转换成int型数据,表达式的值为842。 值得注意的是,数据类型转换是对操作数的值进行转换,并不改变(gibin)操作数中变量本身的数据类型。 2.3.92.3.9类型转换类型转换类型转换类型转换 C C C语语语言言言程程程序序序设设设计计计( ( (c c ch h h n n n x x x s s sh h h j j j ) ) ) ( ( (V V Vi i is s su u ua a al l l C C C+ + + + + 6 6 6. . .0 0 0环环环境境境) 整型、单精度、双精度及字符型数据可以进行(jnxng)混合运算。当表达式中的数据类型不一致时,首先转换为同

47、一类型,然后再进行(jnxng)运算。C语言有两种方法实现类型转换:一是自动类型转换,另一是强制类型转换。 1.自动类型转换 2.强制类型转换 C编译系统自动完成,转换方向见右图所示。返回本节目录返回本节目录char,shortfloatintunsignedunsigned longlongdoublelong double低 高 类型转换过程中,当数据类型由低向高转换时,数据精度不会受到损失;而数据类型由高到低的转换,此时,数据精度会受到损失。第31页/共32页第三十一页,共33页。感谢您的欣赏(xnshng)!第32页/共32页第三十二页,共33页。内容(nirng)总结 C语言程序设计 (Visual C+ 6.0环境)。#includestdio.h。char c=a。(2)科学计数法 :科学计数法也称指数法。实型常量分为单精度、双精度和长双精度三种类型。一个字符常量在计算机的存储中占据一个字节(z ji)。字符串常量也称字符串,由一对双引号括起来(“”)的字符序列。(2)在进行逻辑运算时,逻辑表达式运算到其值完全确定时为止。感谢您的欣赏第三十三页,共33页。

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

最新文档


当前位置:首页 > 高等教育 > 研究生课件

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