数据类型表达式.docx

上传人:b****5 文档编号:30747547 上传时间:2023-08-20 格式:DOCX 页数:12 大小:19.63KB
下载 相关 举报
数据类型表达式.docx_第1页
第1页 / 共12页
数据类型表达式.docx_第2页
第2页 / 共12页
数据类型表达式.docx_第3页
第3页 / 共12页
数据类型表达式.docx_第4页
第4页 / 共12页
数据类型表达式.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

数据类型表达式.docx

《数据类型表达式.docx》由会员分享,可在线阅读,更多相关《数据类型表达式.docx(12页珍藏版)》请在冰豆网上搜索。

数据类型表达式.docx

数据类型表达式

数据类型、运算符和表达式

一、数据类型

P37

二、常量(在程序运行过程中,其值不可以改变的数据)

1.符号常量

必须首先进行说明,格式:

#definePI3.14159(实例)

标准格式:

#define符号常量名具体取值

【解释】其中“符号常量名”的命名规则同“用户标识符”,习惯上大写。

2.普通常量(靠书写来确定其类型和值)

(1)整型常量

●普通整型范围-32768~+32767

占2B

●长整型占4B

书写长整型常量时,必须在其后加上l或L。

否则只当成普通整型常量。

(2)浮点型常量

单精度(float)型,有效位一般7位,

双精度(double)型,有效位一般16位。

除带小数点的写法外,还有一种e指数格式:

aEb

其中a是一个合法的整数或实数,

b必须是一个整数。

含义是a×10b

(3)字符型常量(占1B)

用单引号括起来的单个字符。

例如:

'A'、'!

'、'\n'、'\0'(后两个称为转义字符,特征是以反斜杠开头)

'\n'表示换行符

'\0'表示空字符(其ASCII码值为0)

*字符型数据在C中以ASCII码值(8个0、1序列)存放的。

【结论】字符型数据与一定范围内的整型数据可以相通使用。

(比如:

0~127……)

(4)字符串型常量(没有变量形式)

用双引号括起来的多个字符。

例如:

"Hello"、""(空串)、"A"……总是以'\0'作为结束标志(系统自动加入)。

所以"A"占2B。

三、变量(在程序运行过程中,其值可以改变的数据)

变量必须先定义(说明),后使用!

1.普通整型变量(2B)

int变量系列;

若有多个变量,之间用逗号分隔。

变量命名同用户自定义标示符。

例如:

inta,b,c;

等价于

inta;

intb;

intc;

2.长整型变量(4B)

longint变量系列;或

long变量系列;

3.单精度浮点型变量(4B)

float变量系列;

4.双精度浮点型变量(8B)

double变量系列;

5.字符型变量(1B)

char变量系列;

四、算术运算符与算数表达式

1.算术运算符

正号通常省略、-(负号):

单目运算符

*(乘号,不可以省略)、/(除号)

%(整除求余)

+、-(以上5个是双目运算符)

(1)说明

①在C语言中,凡是一个算术表达式中的运算对象的类型相同,则运算结果也为该类型。

【注意】C系统对小数自动取整时,直接去掉小数部分。

②在C语言中,凡是一个算术表达式中的运算对象的类型不相同时,按教材P54图3-10统一类型,再进行计算,运行结果为统一后的类型。

“就高不就低”。

(2)%使用注意事项

①%左右两侧的数据类型必须是整型。

②假设a和b是两个整数,则a%b的结果是,a除以b产生的余数。

③%的一个重要应用:

可以用来判断“两个整数a、b,若a能够被b整除”,则可以表达成“a%b==0”(3)强制类型转换

【格式】

(类型名)转换对象

【说明】

1其中“类型名”为int、float、char、double等

2“转换对象”可以是单个常量或变量,也可以是任意表达式,此时必须用()将该表达式括住。

例如:

7.5%5×

(int)7.5%5√

(int)(7.5%5)×

(int)(7.5)%5√与第二个式子等价

2.举例:

例1、3/5+1/2结果为0

例2、9.8+3/5结果为9.8

例3、9.8+3/5.0结果为10.4

9.8+3.0/5.09.8+0.610.4

例4、((1/2*(3+3.5)-4)+6)/2.0结果为1.0

((1/2*6.5-4)+6)/2.0((0*6.5-4)+6)/2.0((-4.0)+6)/2.02.0/2.01.0

例5、((1/(2*(1+1.5))-4)+6)/2.0结果为

((1/(2*2.5)-4)+6)/2.0((1/5.0-4)+6)/2.0((0.2-4)+6)/2.0(-3.8+6)/2.02.2/2.01.1

例6、'A'%8结果为1

65%8

五、赋值运算符和赋值表达式

=

【功能】给变量赋值(让变量获得值)。

【使用格式】变量=表达式

【说明】

(1)赋值号左边只能是变量,不能是常量或由运算符构成的表达式。

(2)右边可以是常量、有值的变量或是可以计算出结果的表达式。

(3)应用:

可以加上分号,成为独立应用的赋值语句。

(4)给变量初始化(在定义变量的同时给变量赋值,才叫初始化)。

inta=8,b;/*对a初始化*/

b=29;/*赋值语句*/

其中,/*……*/之间可以加说明内容,只是给“人”看的,机器看不懂,也不看(不参加编译)。

专门用来注释。

【注意】当某变量定义后,没有被以任何方式赋值,该变量就没有合法的值,但其被分配的内存中有一个原有的值,

通常称该值为不确定值或未知值(事先不知道该值的大小)。

新赋的值总是将前一个值冲走。

(5)当赋值号右边的类型与左边不一致,右边服从左边。

但左右必须兼容,否则,报错。

(6)自反赋值号

例如:

+=、-=、*=、/=、%=

inta;

a=9;

a*=a-6;

/*此句等价于a=a*(a-6);*/

【注意】右边是一个整体,通常在改写后要加()。

(7)赋值号是右结合性,但是不可以在定义时出现连赋值的形式,只可以在定义后出现。

例如:

inta,b;

a=b=6;√

inta=b=6;×

应该改成:

inta=6,b=6;√

六、格式输出函数printf

1.格式

(1)printf("格式控制字符串",输出列表);/*通常加分号构成输出语句用*/

(2)printf(字符串常量);

/*专门用来一个字符串常量*/

2.说明

(1)第二种格式只能输出一个字符串常量,而第一种格式可以一次输出多个任意的常量、变量、表达式的值。

(2)第二大参数“输出列表”,可以是一个或多个输出对象,两两之间加上逗号。

(3)第一大参数“格式控制字符串”,

若输出对象为int型,则对应格式符%d

若输出对象为long型,则对应格式符%ld

若输出对象为float型,则对应格式符%f

若输出对象为double型,则对应格式符%lf

若输出对象为char型,则对应格式符%c

若输出对象为字符串型,则对应格式符%s

格式符的个数最好与输出对象的个数一致。

(4)在各个格式符之间通常应该加合适的分隔符,比如:

逗号、换行符等。

(5)在第一大参数中,除%开头的格式符是对应输出对象的值以外,其他符号原样输出。

例1、求半径为10的圆的周长、面积,对应球的体积。

#definePI3.14159/*书写在函数体外*/

#include/*头文件*/

main()

{floatc,s,v,r;

r=10;

c=2*PI*r;

s=PI*r*r;

v=4.0/3*PI*pow(r,3);

printf(“c=%f\ns=%f\nv=%f\n”,c,s,v);

}

七、格式输入函数scanf

1.功能

接受从键盘输入的数据,(存放到)赋值给相应的变量。

2.格式

scanf("格式控制字符串",变量的地址表);

3.说明

(1)“变量的地址表”即欲获得值的变量的地址系列,之间用逗号隔开,各变量的地址表示法:

&变量名。

&即为“取地址符”(单目运算符)

(2)在第一大参数中,除%开头的格式符是对应输入对象以外,其它符号最好不加,否则,其它字符将必须原样输入。

(3)当在第一大参数中只含有%控制符时,若输入对象为多个且为数值型时,输入的各数据之间可以以①回车键②空格做分隔符。

输入彻底结束时,按回车键。

例如:

inta,b;

scanf(“%d%d”,&a,&b);

则正确的输入是:

(a获值7,b8)

78<回车>

7

8

(4)当在第一大参数中只含有%控制符时,若输入对象为多个且为字符型时,输入的各数据之间不能有任何分隔符,否则,该分隔符将被相应变量以合法字符获值。

charc1,c2;

scanf(“%c%c”,&c1,&c2);

使c1获值‘?

’,c2‘!

’,则

正确输入为

?

!

(5)通常有人喜欢用逗号等简单常用的分隔符作为%控制符之间的符号,若

若输入对象为多个时,各输入数据之间就用该符号分隔(即原样输入)。

八、关系运算符和关系表达式

1.关系运算符

>、>=、<、<=、==、!

=

2.关系表达式的运算结果应该是逻辑型

C语言没有逻辑量,C用数值形容逻辑值。

用1形容逻辑真,用0形容逻辑假;

用户给所谓的逻辑值给C时,给非0都理解成逻辑真;给0才理解成逻辑假。

3.数学中出现的连不等式通常在C中要以逻辑表达式书写。

例如:

数学中5≥4≥3,在C若写成:

5>=4>=3,则结果为0;应该写成:

5>=4&&4>=3

九、逻辑运算符和逻辑表达式

!

逻辑非(逻辑否定)

&&逻辑与(乘)

||逻辑或(加)

【说明】在一个(连)逻辑与的表达式中,若左侧的值已为0,则右侧不做处理;在一个(连)逻辑或的表达式中,若左侧的值已为非0,则右侧不做处理。

例如:

inta,b,c,d;

a=b=9;

c=d=7;

(a=a

printf(“%d,%d\n”,a,b);

输出结果是0,9

若改成:

inta,b,c,d;

a=b=9;

c=d=7;

(a=a>c)&&(b=18);

printf(“%d,%d\n”,a,b);

输出结果是1,18

十、条件表达式

1.条件运算符(右结合性)

(三目运算符)

2.格式

表达式1?

表达式2:

表达式3

3.含义

当表达式1的值为非0时(为真),就以表达式2作为整个式子的结果用;当表达式1的值为0时(为假),就以表达式3作为整个式子的结果用。

inta;

a=3>5?

3:

5;

printf(“%d\n”,a);

十一、逗号表达式

1.格式

表达式1,表达式2,……,表达式n

2.表达式的结果

是最后一个表达式分量即表达式n的结果。

3.执行情况

从左到右依次执行每一个表达式

十二、自加、自减运算符

++、--(单目运算符)

【使用格式】

格式一:

变量++

变量--

格式二:

++变量

--变量

【说明】

1.变量的类型可以是int、long、char、float、double型。

一般用于整型居多。

2.格式一和格式二都可以改写成:

变量=变量+1(++)

变量=变量-1(--)

3.当两种格式独立使用时,二者完全等价。

否则,格式一是取变量的原值先用,然后立即增1(减1);格式二先增1(减1),然后是取变量现值(增1后的值)用。

例1:

inta,b;

a=b=7;

a++;/*独立构成语句*/

++b;/*独立构成语句*/

printf(“%d,%d\n”,a,b);

输出结果是8,8

例2.

inta,b,x,y;

a=b=7;

x=a++;

y=++b;

printf(“a=%d,b=%d\n”,a,b);

printf(“x=%d,y=%d\n”,x,y);

输出结果是:

a=8,b=8

x=7,y=8

【C函数调用的特点】先处理右边的参数,后处理左边的参数!

例如:

inta;

a=7;

printf(“%d,%d\n”,a,++a);

输出结果是:

8,8

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 党团工作 > 党团建设

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1