谭浩强版经典课件 C语言的经典课件_第1页
谭浩强版经典课件 C语言的经典课件_第2页
谭浩强版经典课件 C语言的经典课件_第3页
谭浩强版经典课件 C语言的经典课件_第4页
谭浩强版经典课件 C语言的经典课件_第5页
已阅读5页,还剩67页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2000级招聘,2008级招聘,主要包括:樊广军,第三章结构化程序的开发,1 .了解解决问题的基本方法,2 .学习制定简单程序的算法,3 .选择结构(if/else ),4 .循环结构(while ),5 .自我增减的3.1 C程序结构和语句,1,c程序结构各源文件由预编译指令和多个函数构成(分别编译并连接各文件),一般来说,c程序由多个源文件构成,各函数也可以由说明部分和句子部分构成c程序、源文件1、源文件I、源文件n、预编译指令、函数1、函数n、说明部分、执行部分(语句)、函数调用语句:例如: printf (); 二、c程序语句、1 .式语句、代入语句:例: i=i 1; I; x y;

2、 空文:什么也不做。 c程序语句可以分为五个类别:2 .控制语句改变语句的执行顺序,if () else (条件)、for () (循环)、while () (循环)、do while (循环)、switch (多分支选择),()表示continue (结束这次循环)、break (中止整个循环) return (函数返回)、3 .限定返回(无条件返回)语句、5 .程序执行语句结束、4 .无条件迁移语句、goto、exit、6 .复合语句(文体)所围起来的一系列语句。 z=x y; t=z/100; 从printf (%f,t ),三,结构化程序设计的概念,结构化程序设计的观点来看,程序有三种

3、结构:顺序结构,选择结构,循环结构,1 .顺序结构,显示,先执行a,接着执行b,2 .选择结构,存在某个条件p,p为真另一种选择项结构的多分支结构.3.循环结构有(1)型结构在p条件成立时(t ),反复执行a,停止循环直到p成为“假”,两种结构:型和至型,到(2)型为止,先执行a,判断p,到t时执行a 直到p成为f .为止,由:以上三种结构构成的程序都证明能解决所有问题,所以任何高级语言都具备上述三种结构。 3.2算法,1 .按照指定的句子和顺序解决问题的过程称为算法。 2 .算法的两个重要方面:程序、语句、3 .算法的图形表示:流程图、4 .流程图符号:椭圆、矩形、判断框、小圆:代表程序执行

4、的动作、代表程序的分支、代表程序的连接、所有流程图构成程序流程(程序)的3.3 if选择结构条件判断、1、if三种形式,功能:在公式值不为0时执行文体a,否则不执行文体a。 形式1 if (式),文体a,例如: if (xy ); x=x%2; printf(%d,x ),其流程图:形式2 if (式),功能:式非0,执行文体a式0,执行文体b、els else printf(%d,y )、形式3 if (式1 )、else if (式2 )、else if (式3 )、else if (式n )、else、文体1、文体2、文体3、文体n、文体n 1、流程:表现1、表现2、表现3、表现n、文体

5、2、文体3、文体3 、0,=0,0,0,0, if (3) princ (o.k )等; if (a )、1 .式也可以是逻辑式、关系式、还有算术式。 2 .句子必须以分号结束。 3 .如果有多个句子,必须包括在内。 外面有分号,二,注意事项:#include main () float a,b,t; scanf (%f,%f,情况1输入两个实数,按照世代数从小到大的顺序输出。 3.6、3.23.20、3.60,运行情况如下:例2输入三个个数,按大小顺序输出。包含主()浮点a、b、c、t; scanf(“ %f,%f,%f,%f,%f,%f”,执行情况是:3,7,11.00,3.00,if语句

6、的嵌套,if (式1 ),内联if,else,内联,注意: else和最近的if的对.一般形式另外,由于if (式2 )语句1、if (式3 )语句3、else语句2、else语句4、例: if ()、if 有以下写法,请判断哪个是正确的,程序2 :将程序1的if语句:/*exp52.c*/#include main () int x,y; 扫描(d,程序1:/* exp 51.c */#包括主() intx,y; 扫描(d,程序4 :将程序1的if语句设为:/*exp54.c*/#include main() int x,y; 扫描(% d,程序3 :将程序1的if语句转换为/*exp53.

7、c*/#include main() int x,y; scanf(%d,1 .程序1和程序2是正确的。 这些表示的函数是:2,2 .程序3和程序4错了。 这些代表性函数为:结论:思考练习:程序流程图,4,条件运算符,c语言提供了简单的条件赋值语句或表达式。 问题:判定条件无论是“真”还是“假”都被分配给相同变量的情况。 简化条件语句运算符的书写方法:是三目的运算符。 功能:首先判定表达式1,如果不为0,则是表达式2的值,否则是表达式3的值。 一般形式:式1? 式2:式3,max=ab? a:b; ab. max a .否则,maxb的: 1 .条件运算符优先于赋值运算符。 例: max=(a

8、b? a:b )可以删除() 2 .条件运算符低于关系运算符和算术运算符。 3 .条件运算符的耦合性从右到左。 例如: max=ab? a:b 1 max=ab? a:(b 1)是不是max=(ab )? a : b ) 1, ab等? a:cd? c:d相当于PS吗? a : (光盘? c:d )、4 .表达式不能取代普通的if语句,只能在if的两条分支被分配给同一变量时,写为else printf (%d,b ),取代if (ab) printf(%d,a )。 a:b; 例如:5 .式1、式2、式3的类型可能不同。#include main () char ch; scanf (%c,示

9、例4输入判别是否是大写的字符,否则转换为小写。 输出最后得到的文字。 执行结果为a,3.4 while循环结构,1 .形式: while文体,2 .执行过程:先判断公式的值。 0 .则执行后续文体,否则执行while。 特别的当类型循环文件while文件,3 .流程图:例如int n=0; while (n=10) n=n 1; 语句中表达式=0的语句。 发生无限循环死亡循环。 如果while后面的语句是复合语句,则语句可能一次也不执行。 注意:另一方面,强制类型转换,类型: (类型名称) (表达式),例如: (双) a将a转换为双,(int) (x y )将xry转换为int,(float)

10、 (5%3)将5%3转换为float,3.5数据:(int)(xry ),否则: intx解释为变量intx .只将x转换为整数。 (int)x y,2 .转换类型的数据由系统分配中间变量并存储,原变量的类型不变。 的双曲馀弦值。 x本身保持实数型,(int)x以中间变量(整数)存储x的整数部分。 有的话:浮x; (PS ) x; 例如#include,main (),int a=15,b=20,c; 浮点x=16.82,y=2.74,z;z=(float)(a b )、c=(int)(x y )、printf(z=%f,c=%d,z,c )、执行结果: z=35.0000,c=19,二、系统

11、自动转换,c语言能够进行双精度、单精度、整数和字符数据之间的混合运算。 但是,在规则:被转换为相同类型之后计算。 double float、高低、“”表示一定要转换。 像a b一样,首先转换成PS。 结果是PS。另外,变换方法:long,unsigned,int char,short,也可以使用相同的类型进行变换。 图中的“”:表示行,在高数据运算时变换为高数据。 另外,例如:aifd/e、 I float d双倍长、10a:int、int、双倍、结果双倍、双倍、d/e :双倍,则运算时间333 另外,2 .整数数据被赋予给实变量,数值不变,但以实形式被保存,1 .在整数变量被赋予实数据(不管

12、单数、倍精度)时,截断小数.进行代入时,在两侧类型不一致时,则为:4,intlong int :符号扩展,低16位long的低16位。 5.longint以前16位截断。 3 .如果字符类型数据被赋予整数变量,则为:(2)如果字符是有符号整数变量,则字符被扩展到上位。 (1)字符中无符号整数变量在低位8比特、高位8比特中补零。将unsigned int型long int的高位追加到0中。 为位数相同的部分分配unsignedintunsignedlongunsignedshorshorshort,并以原始值传递,但数据大小没有价值。 int b,如:不一致的int a=32768; b=a;

13、b的值超出范围,被给予另一个值。 a和b取值的对应关系:从7.unsigned型转换为相同长度的unsigned型数据,直接传输(包括符号比特)、例:/* exp7. c */# include main () float,y; int m,n; x=3.6; m=36; n=x; y=m; printf(x=%f,y=%f,m=%d,n=%dn,x,y,m,n ),执行结果: x=3.600000,y=36.000000,m=36,n=3,汇总:数据类型转换有两种方法。强制类型转换运算优先于算术运算子,2 .系统是自动的,如果:x为浮点,x%3无效。 但是,(PS ) x % 3可以解决。

14、1 .强制、一、复合代入运算符:在编号前加上另一个运算符。 c语言规定:所有目的运算符都可以构成复合运算符。 例: a=3; 相当于相当于a=a 3 x=y 8的x=x (y 8) x%=3的x=x%3,相当于一般形式:二、复合代入式,例如: x=10在代入式中有代入式。 另外,例子: x=(y=10 )中,相当于y=10的x=y是代入号码为右键,因此,() 可省略,即,x=y=10; 例如, a=a=aa (假设为a 12 ), a=5 (c=6) c=6,a=11 a=(b=4) b=4,c=6,a=10 a=(b=10)/(c=2)b=10,c=2,a=5, 使用复合赋值运算符,步骤: aa 144.a=a=a=12144=132a=a (132 )=264,3.7逗号运算符和逗号表达式,一般形式:式1,式2,其计算规则:首先计算式1,然后计算式2 例如:安培、b; a=35,a 4; b=(3*5,a*4),结果: a=15 b=60, b=(a=35,a 4 ),a 5 ),扩展形式:式1,式2,式n,结果b=20 (作为逗号式的值),a 5b即20b .3 5=15a,a 4=60 (此时a 、x=a=3,6a逗号表达式,x值3 .逗号表达式主要在某些语句需要同时计算多个表达式的值时使用。 就像环路文一样。 思考:如果有: PS; 如果a=(3*5,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论