第二章C语言的基本知识.ppt

上传人:本田雅阁 文档编号:2569534 上传时间:2019-04-10 格式:PPT 页数:15 大小:505.51KB
返回 下载 相关 举报
第二章C语言的基本知识.ppt_第1页
第1页 / 共15页
第二章C语言的基本知识.ppt_第2页
第2页 / 共15页
第二章C语言的基本知识.ppt_第3页
第3页 / 共15页
第二章C语言的基本知识.ppt_第4页
第4页 / 共15页
第二章C语言的基本知识.ppt_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《第二章C语言的基本知识.ppt》由会员分享,可在线阅读,更多相关《第二章C语言的基本知识.ppt(15页珍藏版)》请在三一文库上搜索。

1、第二章 C语言的基本知识,目的: 了解C的数据类型,掌握三种基本数据及其使用方法,了解c程序的组成及特点 授课内容 第一节 C语言的数据类型 第二节 三种基本数据类型 第三节 数据的基本运算 第四节 语句的表示 第五节 程序的组成 要点、要求及作业,2.1 C语言的数据类型,一、数据类型 数据结构+算法=程序 在C中,数据结构以数据类型的概念出现。,二、常量与变量 1、常量:3、-4、1.2、A、? 符号常量:用特定的符号代表某一常量 格式:#define 符号常量 常量 例: #define PI 3.1415926,area=PI*3*3 2、变量:其值可以改变 命名:用标识符表示。 标识

2、符:由字母、数字、下划线组成,且第一个字符为字母或下划线 例:sum a4 _class1 (对) 4a a 4 a.4 -class(错) 注意:长度一般不超过8个字符 不能与保留字重名 注意“见名思意”的原则 使用: 变量必须“先定义,后使用”。,2.2 三种基本数据类型,一、整型数据 1、整型常量(三种形式) 十进制形式:以非0数字开头(123) 八进制形式:以0开头(0123) 十六进制形式:以0x开头(0x123) 2、整型变量 分类 int 2个字节 -3276832767 short(int) 2个字节 -3276832767 long(int) 4个字节 -231(231-1)

3、 unsigned(int) 2个 065535 unsigned long 4个 0(232-1) unsigned short 2个 065535,在内存中,整型数据以其补码的形式存放。最高位为符号位,0表示正数,1表示负数。 正数的补码就是它自己,而负数的补码: 先求此数绝对值的二进制形式; 各位取反; 末位加1。 例如:5 - 0000 0000 0000 0101 -5 - 1111 1111 1111 1011 显然所有负数的最高位为1 对于int和short类型,只有15位用 来表示数值,其最大值是32767; 对于unsigned int,16位全用来表示数值,其最大值为655

4、35。,2.2 三种基本数据类型,另外,可以用sizeof函数来测定一个变量或数据类型所内存空间。 例如: printf(“%d”,sizeof(int); printf(“%d”,sizeof(a); 定义 int a,b; unsigned long d; 整型常量分类 根据其数值的大小分为:int(short)和long 123L或123l 则为long 赋值时注意其取值范围! 如: int a=50000;(出错),二、实型数据 1、实型常量(两种形式) 十进制形式:123.456 指数形式: 1.23e2 1E-3 2、实型变量 分类 float 4个字节 7位有效数字 double

5、 8个字节 1516位 定义 float a; double b; a=123.12222222; b=123.12222222; 说明:实数不分单、双精度,2.2 三种基本数据表示,三、字符型数据 1、字符常量 以单引号括起来的一个字符。 如:A、?、3 另外:转义字符-n,t(P19表2-1) 2、字符变量(一个字节) char c1,c2; c1=A; c2=n 3、字符型数据在内存的存储 -ASCII码形式 A-65-0100 0001 故:字符型与整型可以通用(0255范围内)。如:,int a; char c; 相互赋值:a=A; c=65; 相互输出: printf(“%c%d”

6、,a,c); 字符可参加算术运算: c=c+32; 4、字符串: 以双引号括起来的字符序列 “How are you?” “123” “A” 字符串结束标志:0 (ASCII码值为0、占1个字节、由系统自动加上) 另外:对 于“I say: ”Goodbye!“” 要写成:“I say:“Goodbye!“” 注意:字符串与字符的区别。,2.3 数据的基本运算,一、算术运算 1、算术运算符: +,-,*,/,% /:整除运算符。两边如都为整型, 则取整,否则为实型 5/2=2 1/2=0 1.0/2=0.5 %:模运算符(求两数相除的余数) 要求:两边都必须为整型 5%2=1 1%2=1 1.

7、0%2(错) (-5)%3=-2 5%(-3)=2 2、算术表达式: 算术符号和括号将运算对象连接起来的符合C语法规则的式子,运算对象常包括常量,变量和函数等。 如:a+15*fabs(x),3、运算符的优先级和结合性 优先级: *,/,%高于+,- 结合性: 左结合 例:x=2.5,y=4.7,a=7,则 x+a%3*(x+y)/4= ? 二、赋值运算 1、赋值运算符:“=” 作用:把右边表达式的值给左边变量 例: a=7; y=x+9; 注:两边类型不一致时会自动转换。 实型整型:截去小数位 int a; a=4.8; 整型实型:数值不变,按浮点数存放。,2.3 数据的基本运算,如:flo

8、at b; b=5; 则: b得5.000000,补足有效位。 2、复合的赋值运算符(共10种) +=,-=,*=,/=,%= 等 例: x+=3 x=x+3 y*=x-7 y=y*(x-7) 3、赋值表达式 格式:变量表达式 求解:先求表达式的值,再赋值 说明: 表达式:可为常量、变量、各类表达式:x=(a=3)+(b=5) 也是运算表达式(有值) 结合性:右结合 a=b=c=3;,可包含复合的赋值运算符 例: a+=a-=a*a 则:a=a-a*a=-6 a=a+(-6)=-12 三、自增自减运算符 +:自增运算符 - :自减运算符 i+/i-: 后置运算,(原值)先参加别的运算,后自增/

9、自减1 +i/-i: 前置运算,先自增/自减1,然后(新值)再参加别的运算. 例如:设i=3 则: j=i+; 结果 j=3,i=4 j=+i; 结果 i=4,j=4,2.3 数据的基本运算,printf(“%d”,i+); 3 printf(“%d”,+i); 4 说明: 仅用于变量,不用于常量或表达式。3+(错) 优先级:比双目运算符高 结合性:右结合 j=-i+;相当于 j=-(i+) 使用时要小心 k=(i+)+(i+)+(i+) 9 i+j 相当于 (i+)+j printf(“%d,%d”,i,i+); 4,3 效率高,但不要滥用(常用于循环语句) for(i=1;i=10;i+)

10、 ,四、逗号运算(,) 格式:表1,表2,表3, 作用:顺序求解各表达式的值 例:a=3,b=4,c=a+b 7 说明:级别最低 逗号表达式有值(最后一个) 并非所有的,都是运算符 printf(“%d,%d”,a,b); (a,b) 五、三种数据的混合运算 此时,数据要进行类型转换(P32),2.3 数据的基本运算,设 int i; float f; double d; long e; 则表达式:10+a+i*f-d/e的运算为: 10+a: a97,相加得:107(int) i*f: fdouble,Idouble,相乘 107+ : 107double,相加 d/e: e double,

11、相除 - :结果为double 说明:上述转换是系统自动转换的。,六、强制类型转换 一般形式: (类型名)(表达式) 例:(float) a (int)(x%3*1.5) 注意: 转换的如为表达式,加括号 并不改变变量的原类型 如:float a=3.6; int b; b=(int)a%2; printf(“%f”,a);,2.3 数据的基本运算,七、关系运算 1、关系运算符(6种) =( 同级,高) = != (同级,低) 优先级:算术关系赋值 结合性:左结合 例:a=bc 等价于 a=(bc) a=bc 等价于 a=(bc) c!=a+b 等价于 c!=(a+b) 2、关系表达式 概念:

12、由关系运算符将两个表达式连接起来的式子。 例:ab 0 a+b!=c+d 1 a=(b=5) 0 (abc 0,其值:逻辑量 在C中,用1代表“真”,0代表“假” 如:若a=1,b=2,c=3,d=4,则看上例 八、逻辑运算 1、逻辑运算符 &: 逻辑与(相当于AND) |: 逻辑或 (相当于 OR ) !: 逻辑非 (相当于NOT),2.3 数据的基本运算,优先级:!&| ! 算术关系&,|赋值 结合性:左结合 例: ab&cd 相当于 (ab)&(cd) !a+1|b!=c 相当于 (!a)+1)|(b!=c) a&b&c 相当于 (a&b)&c 2、逻辑表达式 概念: 由逻辑运算符将关系

13、表达式或逻辑量连接起来的式子(如上) 其值: 是一逻辑量(真-1或假-0) 但判断一个量时,系统以0代表“假”,以非0代表“真”。即只要其值不为0,则为“真”,例:设a=3,b=4,则: !a 0 !b 0 a&b 1 a|b1 其实,逻辑运算符两侧可为各种类型的数据。 如:c&d 1 由于c和d的ASCII码值均不为0,则逻辑值均为“真”。 于是真值表可改为:,2.3 数据的基本运算,例:53&2|83 &2|83 1&2|0 1|0 1 求解特点: 只有在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。 如:a&b&c a|b|c,例:设a=1,b=2,c=3,d=4,m,n

14、的初值为1 则:(m=ab)&(n=cd) 运算后:m=0,n的值仍为1。 说明:可用关系和逻辑运算符表达一个复杂的条件。 例:判别某一年是否闰年。闰年的条件是符合下面二者之一:能被4整除,但不能被100整除。能被4整除,又能被400整除。 可用以下逻辑表达式来表示: (year%4=0&year%100!=0) |year%400=0 可加一个“!”用来判别非闰年,或: (year%4!=0)|(year%100=0& year%400!=0),2.4 语句的表示,一、C语句的分类 1、控制语句(9种): if( )else 2、函数调用语句: printf(“good!”); 3、表达式语

15、句: a=3; i+; z=x+y; 4、空语句: ; 5、复合语句: i f(ab)t=a;a=b;b=t; 注:C只有可执行语句,无非执行语句,二、C语句的特点 1、分号是语句必不可少的组成部分(语句结束符)。 2、一条语句可以不止一行,遇“;”语句结束。 3、多条语句也可以写在同一行。 4、在语句前或中间可以加任意空格。 注意: 一般一行写一个语句,并按一定规律缩进。,2.5 程序的组成,一、C程序的组成 1、程序由函数组成,至少有一个main函数 2、函数的组成 (1)说明部分 (2)函数体 变量定义 执行部分 3、程序的执行:从main开始,以main结束. 注意: C程序习惯于用小写字母 例1: 例2:,二、c程序的设计过程 1、分析问题,抽象出描述问题的数学模型 2、确定解决问题的算法 3、绘制程序流程图或结构图 4、编写程序 5、静态检查 6、上机运行调试,本章要点、要求及作业,要点: 常量与变量 三种基本数据 算术运算、赋值运算及逗号运算 要求: 理解掌握常量与变量的使用 熟练掌握三种基本数据 掌握算术运算和赋值运算,了解逗号运算 作业: 课本第38页习题 实验二,

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

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1