文档详情

C语言【清华大学出版社】西安交通大学课件第03章.pptx

发布:2025-03-16约4.21千字共53页下载文档
文本预览下载声明

第三章数据类型、运算符和表达式;3.1C语言数据类型;3.2常量与变量;说明:;符号变量的好处;3.2.2变量;在C语言中,变量必须强制定义,其目的:

1、凡未被事先定义的,不作为变量名。

2、每一个变量被指定为一确定的类型,在编译时就能为

其分配相应的存储单元。

3、指定每一个变量为一确定的类型,在编译时据此检查

该变量所进行的运算是否合法。

;3.3整型数据;3.3.2整型变量

整型数据在内存中的存放形式(补码表示法:便于加减运算)

inti;

i=10;

10=(1010)2;2整型变量的分类;11;;整型数据的溢出:

main()

{inta,b;

a=32767;b=a+1;

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

运行结果:32767,-32768

改进:将变量a和b改成long型,并按%ld格式输出。;;3.4实型数据;一个实数可以有多种指数表示形式。

例如123.456可以表示为

123.456e0、12.3456el、1.23456e2、

0.123456e3、0.0123456e4、05等。

把其中的1.23456e2称为“规范化的指数形式”,

即在字母e(或E)之前的小数部分中,小数点左边

应有一位(且只能有一位)非零的数字。例如

2.3478e2、3.0999E5、6.46832e12都属于规范化的指数形式;

而12.908e10、0.4578e3、756e0则不属于规范化的指数形式。

(一个实数在用指数形式输出时,是按规范化的指数形式输出的);一个实型数据一般在内存中占4个字节(32位)。实型数据按

照指数形式存储。系统把一个实型数据分成小数部分和指

数部分,分别存放小数部分采用规范化的指数方式表示。

例如:;;main()

{floata,c;doubleb;

a=123456.789e5;b=123456789111111.789;

c=a+20;

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

}

输出结果:

a=12345678848.000000,b=123456789111111.781000,

c=12345678848.000000

(避免将一个很大的数与一个很小的数相加,,以免出现舍入误差);3.5字符型数据;说明:;判断下列字符串的长度:

“\\\’\054”“\x56\”\\\c\ta”

“\\\n\t\bab”;;3.5.2字符变量;main()

{charc1,c2;

c1=97;c2=98;

printf(“%c%c\n”,c1,c2);

printf(“%d%d\n”,c1,c2);

}

输出结果:

ab

98

但是应注意字符数据只占一个字节,它只能存放0—

255范围内的整数。;3.5.4字符串常量;‘b’与“b”是否相同?;3.6变量赋初值;注意:

???始化不是在编译阶段完成的,而是在程序运行时执行

本函数时赋予初值的,相当于有一个赋值语句。例如:

inta=3;

相当于:

inta;/*指定a为整型变量*/

a=3;/*赋值浯句,将3赋给a*/

又如

inta,b,c=5

相当于:

inta,b,c;/*指定a,b、c为整型变量*/

c=5;/*将5赋给c*/;3.7各类数值型数据间的混合运算;

例:若有:inti;floatf;doubled;

longe;

试判断表达式10+‘a’+i*f-d/e的类型;C语言使用的基本表达式有:

⑴赋值表达式,如:a=3

⑵算数表达式,如:3+4*2

⑶关系表达式,如:32

⑷逻辑表达式,如:35a=b

⑸条件表达式,如:ab?a:b

⑹逗号表达式,如:a=3,b=4,c=5;3.8算术运算符和算术表达式;2、算术表达式和运算符的优先级与结合性;说明:

(1)表达式应用括号括起

例如:(int)(x+y);

如果写成(int)x+y则只将x转换成整型,然后与y相加。

若要得到x/2的小数部分,应写为:

(float)x/2还是(float)(x/2)

(2)在强制类型转换时

显示全部
相似文档