c语言程序设计-第三章

上传人:san****019 文档编号:70798400 上传时间:2019-01-18 格式:PPT 页数:23 大小:205.01KB
返回 下载 相关 举报
c语言程序设计-第三章_第1页
第1页 / 共23页
c语言程序设计-第三章_第2页
第2页 / 共23页
c语言程序设计-第三章_第3页
第3页 / 共23页
c语言程序设计-第三章_第4页
第4页 / 共23页
c语言程序设计-第三章_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《c语言程序设计-第三章》由会员分享,可在线阅读,更多相关《c语言程序设计-第三章(23页珍藏版)》请在金锄头文库上搜索。

1、第三章,数据类型、运算符、表达式,3.1 数据类型,3.2 常量与变量,常量其值不能被改变的量。如2,1.3,A等 符号常量:将程序中的常量定义为一个标识符 一般使用大写英文字母表示 使用前必须先定义, 定义的形式是: #define 符号常量名 常量 例如: #define PI 3.1415926,#define PRICE 30 #include void main() int num,total; num=10; total=num*PRICE; printf(“total=%dn“,total); ,变量其值可以被改变的量。每个变量有一个名字。 变量名命名原则: 1) 只能由字母、数

2、字、下划线组成,且第一个字符必须为字母或下划线。 2) 前八个字符。 3) 区分大小写,经常用小写字母。 4) 用实际意义的单词或汉语拼音表示 要求: 1) 对所有变量必须先定义后使用 2) 凡未被事先定义的,不作为变量名 每个变量被指定为一个确定的类型,3.3 整型数据,3.3.1 整型常量 三种数制的表示 1) 十进制:123,0,-12345 2) 八进制:以0开头的数,如012,-0123,-019(错) 3) 十六进制:以0X开头的数,如0X12,0X1AB 3.3.2 整型变量 一、整型变量的分类,整型变量的定义及使用,#include main() int a,b,c,d; un

3、signed u; a=12;b=-24;u=10; c=a+u;d=b+u; printf(“a+u=%d,b+u=%dn“,c,d); 输出结果a+u=22,b+u=-14,整型数据的溢出 main() int a,b; a=32767; b=a+1; printf(“%d,%dn“,a,b); -32768032767,注意,1) 一个常量的后面加上U(u)为无符号常量,如-12345U对应于53191(65536-12345=53191) 2)一个常量的后面加上L(l)为长整型。加上H(h)为短整型。,3.4 实型数据,3.4.1 实型常量的表示 1) 小数形式:123.56,-785

4、.65 2) 指数形式:1.23E3。要求E(e)的前后必须有数字,且E(e)的后面只能是整数。 3.4.2 实型变量 一、分类,二、舍入误差,例3.4 main() float a,b; a=123456.789e5; b=a+20; printf(“a=%f,b=%fn“,a,b); ,理论上b=12345678920,但是实际上a=b=12345678848.000000。原因是一个单精度实型只能保证7位有效数字。因此要避免一个很大的数和一个很小的数直接加减。如果把类型改为double,输出格式用lf则,结果正确。,三、实型常量的类型,C编译系统将实型常量当作双精度数处理。,3.5 字符

5、型数据,3.5.1 字符型常量 字符型常量一对单引号括起来的一个字符。如a,1 字符串常量一对双引号括起来的多个字符。如”abc”,”a” 常用转义字符及含义,字符变量,用来存放字符,只能存放一个字符 字符变量的定义形式如下: char c1, c2; 它表示c1和c2为字符变量,各放一个字符。因此可以用下面语句对c1、c2赋值: c1 = a; c2 = b;,#include void main() char c1,c2; c1=97; c2=98; printf(“%d %d“,c1,c2); printf(“%c %c“,c1,c2); 因为 a和b的ASCII码为97和98。第4行将

6、输出两个字符。“%c“是输出字符的格式。程序输出: RUN 97 98 a b,main() char c1,c2; c1=a; c2=b; c1 = c1 - 32; c2 =c2 - 32; printf(“%c %c“,c1,c2); 运行结果为 A B,3.6 变量赋初值,在定义变量的同时赋予初值。如 int a=3; float b=3.56; char c=a; int a,b,c=5; 给部分变量赋予初值。 int a=3,b=3,c=3;不能写成int a=b=c=3; int a; a=3;,3.7 数据混合运算,小类型转换为大类型,结果为所涉及类型中的最大类型 char(s

7、hort)intunsignedlong(float) doublelong double,3.8 算术运算符和算术表达式,3.8.1 算术运算符 1、基本运算 + 加法运算、正值运算 - 减法运算、负值运算 * 乘法运算 / 除法运算(注意,如果除号左右两边都是整数,则为整除) % 求余运算(必须是整数) 如:3/2=1,3%2=1,-3/2=-1,-3%2=-1,3/-2=-1,3%-2=1,-3/-2=1,-3%-2=-1,强制类型转换,例3.8.1 main() float x; int i; x=3.6; i=(int)x; printf(“x=%f,i=%dn“,x,i); ,强制

8、类型的一般格式:(类型名)(表达式) 注意,上例中X的值没有变化,也就是强制类型转换不改变本身表达式的值,只是产生一个中间结果而已。,自增、自减运算,y=+k k=k+1; y=k; y=k+ y=k; k=k+1; 前缀+,先加,后缀+,后加 前缀-,先减,后缀-,后减,#include void main() int i,j,m,n; i=8;j=10; m=+i;n=j+; printf(“%d,%d,%d,%dn“,i,j,m,n); ,9,11,9,10,赋值运算和赋值表达式,1、类型转换 1) 实型赋给整型,舍弃小数部分 2) 整型赋给实型,值不变,后面加0 3) 双精度赋给单精度

9、,截取前7位有效数字,但应该注意数值范围,不要溢出。如: float f; double d=123.456789e100;f=d;错误 float f; double d=123.456789e20;f=d;则f=123.457e20 4) 字符型和整型在ASCII码内可以直接赋值 2、赋值表达式 扩展的赋值表达式:,#include main() int a, b, c, x, y, z; a=1; b=2; c=3; x=a; y=b; z=c; printf(“x=%d, y=%d, z=%dn“, x,y,z); x=y=z=c; z+=3; printf(“x=%d, y=%d, z=%dn“, x,y,z); ,x=1,y=2,z=3 x=3,y=3,z=6,逗号运算,逗号表达式的求解:从左到右依次运算,结果为最后一个表达式n的值。 表达式1,表达式2,表达式n a=3*5,a*4,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

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