C语言顺序结构详解概述课件_第1页
C语言顺序结构详解概述课件_第2页
C语言顺序结构详解概述课件_第3页
C语言顺序结构详解概述课件_第4页
C语言顺序结构详解概述课件_第5页
已阅读5页,还剩52页未读 继续免费阅读

下载本文档

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

文档简介

1、2022/7/231顺序程序设计2022/7/232结构化程序设计目标:将学习三种结构的程序设计方法顺序结构程序设计选择结构程序设计循环结构程序设计。2022/7/233三种控制结构顺序结构选择结构循环结构ABBAPyesnonoPAyes2022/7/23 4C语句概述实现顺序结构的语句实现选择结构的语句实现循环结构的语句赋值语句函数调用语句复合语句if 语句switch 语句while语句do - while语句for语句2022/7/235实现顺序结构的语句顺序结构的程序中的语句是按照从上到下的顺序逐行排列的;程序的执行顺序是按语句的排列顺序进行的。完成顺序程序设计的语句包括:赋值语句函

2、数调用语句复合语句2022/7/236赋值语句赋值语句由赋值表达式加上一个分号构成,作用是将一个确定的值赋给一个变量。 语句格式:例:;=ysin(x)+ cos(x)变量名 = 表达式;2022/7/237赋值语句的作用:将“=”右侧表达式的值送到“=”左侧的变量所对应的单元中。赋值语句中的“=”是赋值号而不是数学意义上的等号;它代表的是一种操作赋值操作;赋值号两侧的内容不能调换;A = B;和B = A;具有不同的含义;A = B;B = A;意味着将B的值送给A;意味着将A的值送给B;2022/7/23 8赋值的意义:在计算机内部,一个变量对应一块内存存储空间;具有一个名字。赋值的过程:

3、就是将指定的值送入指定的存储空间的过程。赋值的结果:指定的变量所对应的存储空间具有了指定的值。xX=10102022/7/239例:顺序执行以下三个赋值语句,结果如何?a = 0;b = 10;a = b;ab1. a = 0;2. b = 10;3. a = b;010102022/7/2310复合语句由一组语句组成,并放在一对花括号“ ”中间。 语句格式: 说明部分; 执行部分; 复合语句复合语句是一个整体,在语法结构上与一个单一语句相同。2022/7/2311函数调用语句C 程序中,需要使用很多复杂的功能,例如,输入数据、输出数据、数学公式的使用(sinx、cosx、ex 等)。这些功能

4、的使用是通过函数调用来实现的。系统把一些独立的功能编制成标准函数,提供给使用者调用的格式。下面我们先介绍两个最常用的标准函数:格式输出函数和格式输入函数2022/7/2312格式输出函数2022/7/2313格式输出函数语句格式:printf( 格式控制 ,输出变量列表);函数名参数表#include 输出的变量名列表功能: printf 函数可以将任意类型的多个数据,按指定格式输出到标准输出设备上(一般为显示器)。2022/7/2314由双引号括起来的字符串;形式: 控制字符由“ % ”和格式字符组成,它的作用是将对应的变量按照指定的类型输出。需要原样输出的字符用于控制输出普通字符格式说明转

5、义字符格式控制printf( 格式控制 ,输出变量列表);2022/7/2315格式说明符:由 % 和格式字符组成,作用是将输出的数据按照指定的格式输出。2022/7/2316指数形式输出单、双精度实数 % e输出十六进制 无符号整数 % x小数形式输出单、双精度实数 % f输出一个字符 % c输出十进制 无符号整数 % u输出一个字符串 % s当指数小于 -4或大于指定精度使用 %e格式,否则用 %f格式 % g 输出八进制无符号整数 % o输出十进制 带符号整数 %d含义格式字符2022/7/2317附加格式说明字符含义 L输出长整型,可用在格式符d、o、x、u, f的前面 整数 输出数据

6、的最小宽度 .整数对实数表示输出的小数位数;对字符串表示截取的字符个数-输出数字或字符在域内向左靠齐例:% ld% lf对应长整型数据的输入输出格式描述对应double型数据的输入输出格式描述2022/7/2318附加格式说明字符含义 L输出长整型,可用在格式符d、o、x、u, f的前面 整数 输出数据的最小宽度 .整数对实数表示输出的小数位数;对字符串表示截取的字符个数-输出数字或字符在域内向左靠齐例:% 5d% 8.3f对应的整型数据的输入输出宽度为5对应float型数据的输出; 输出的数据宽度为8个字符,小数点后保留3位。2022/7/2319main( ) int a,b; float

7、 x; char c; a =123; b = - 1; x = 3.14;c = A; printf( %d,%6dn,a,a); printf(%d,%x,%o,%un“, b, b, b, b); printf( %c,%dn,c,c); printf( %f,%6.1fn,x,x); 写出程序运行结果2022/7/2320 printf( %d, %6dn,a,a);1111111111111111 - 1 在内存中的存放运行结果 a = 123; b = - 1; x = 3.14;c = A;printf( %d,%x,%o,%un,b,b,b,b); printf( % c, %

8、dn,c,c);123, 123 - 1,ffff,177777,65535A,65 printf( %f, %6.1fn,x,x); 3.140000, 3.12022/7/2321转义字符转义字符是一组以“”开头的特殊字符序列,用单引号括起来。用来表示任何可以输出的字母字符、专用字符、控制字符、图形字符。在printf的格式控制串中,控制输出格式。常用的有:b、 f、 n、 r、 t、 ooo、 xhh、 0;2022/7/2322课上练习:写出以下程序段的运行结果#includevoid main() char c1=a,c2=b, c3=c, c4=101,c5=116; printf

9、(“a%c b%ctc%ctabcn”,c1,c2,c3 ); printf(“tbc%c %cn”,c4,c5 );2022/7/23 23用实验来学习和验证2022/7/23 24#include void main() /*没有n时 */printf(this is one program in c );printf(this is one program in c);/*在格式控制串尾有n时 */printf(this is one program in cn );printf(this is one program in c);/*在格式控制串首有n时 */printf(this i

10、s one program in c );printf(nthis is one program in c);思考题:转义字符n在格式控制中的作用是什么?2022/7/23 25/*转义字符/b 在控制串中的作用*/#include void main() /* 在控制串中不使用转义字符/b*/printf(this is one program in c);printf(this is one program in cn);/* 在控制串中使用转义字符/b*/printf(this is one program in c);printf(bbthis is one program in c

11、n);思考题:转义字符b在格式控制中的作用是什么?2022/7/23 26/*转义字符/r 在控制串中的作用*/#include void main() /* 在控制串中不使用转义字符/r*/printf(this is one program in c);printf(this is one program in cn);/* 在控制串中使用转义字符/r*/printf(this is one program in c);printf(rthis is one program in c n);思考题:转义字符r在格式控制中的作用是什么?2022/7/23 27/*转义字符/t 在控制串中的作

12、用*/#include void main() /* 在控制串中不使用转义字符/t*/printf(this is one program in c);printf(this is one program in cn);/* 在控制串中使用转义字符/t*/printf(this is one program in c ); printf(tsecond program n);思考题:转义字符t在格式控制中的作用是什么?2022/7/23 28/*转义字符/ooo和/xhh 在控制串中的作用*/#include void main() printf(this is one program in

13、c ); printf(101 this is the second program n);printf(x1a this is second program n);思考题:转义字符 ooo和/xhh在格式控制中的作用各是什么?2022/7/23 29普通字符在printf的格式控制串中,除了以上的特殊字符(%+格式符、转义字符)以外的字符,都是需要原样输出的字符,称为普通字符。例: printf(x1a this is second program n);在一个printf语句的格式控制串中,首先将处理特殊字符(转义字符控制输出的状态、格式控制符(%+d等)控制对应位置的变量的值的显示格式)

14、,控制串中的其它字符都将按原样输出。2022/7/23 30同理,学习和验证每一个格式控制符的作用2022/7/23 31标准格式输入函数2022/7/23 32格式输入函数格式:scanf (格式控制,地址表列);与 printf 中的含义相同函数名将输入的数据放入此变量中2022/7/23 33标准格式输入函数的功能:scanf 函数可以从标准输入设备输入任意类型的多个数据(一般为键盘),存入指定的变量单元中。例:scanf(“%d,%f”,&a,&b);意味着从键盘读入两个数据,分别存入变量a和b中。%d:按十进制整数格式读入;%f:按实数格式读入;2022/7/23 34格式输入函数s

15、canf 中格式控制串的格式应与地址表列中变量的顺序相一致;scanf 中格式控制串的格式应与输入数据的格式相一致;当语句格式如下时:scanf( “%d,%f”,&a,&b);输入数据的格式应为:12,3.14如果语句写成:scanf(“%d%f”,&a,&b);输入数据的格式应为:12 3.142022/7/23 35怎样保证输入数据的正确性?在对数据进行输入时,需要解决两方面的问题:输入语句格式的正确;输入数据格式的正确;虽然说,在输入语句中的格式控制串与在输出中的意义一样,但在使用时,还是有很多不同点的。2022/7/23 36格式控制串的意义:%d等:控制对应于该控制符的变量的数据的

16、类型转义字符:用于控制输入时的状态控制意义和输出时一致;普通字符:在输入语句中的普通字符在输入数据是必须原样写的;思考:当输入数据的类型与格式说明符不一致时会出现什么现象?如果在输入数据时,不写输入语句中的普通字符会如何?2022/7/23 37用隐含的分隔符。语句格式为:scanf(“%d%d”, &a , &b);输入数据时,在输入数据中用空格或换行符分隔数据。 输入数据的格式应为:3 4 或 : 3 4 使用显示分隔符。语句格式为:scanf( %d,%d, &a , &b);如果在格式控制串中有其它字符,在输入数据时在相应位置应输入与这些字符相同的字符。例: 输入语句的几种格式:输入结

17、果:a=3, b=43,42022/7/23 38#include void main() int a, b; scanf(“%d%d“,&a,&b);printf(“a=%d , b=%d n” ,a,b);变量顺序与输入数据顺序对输入结果的影响;输入数据:读入的数据:输出结果:输入数据:读入的数据:输出结果:3 5 5 3 a=3 b=5 a=5 b=3 a=3,b=5 a=5,b=3 2022/7/23 39#include void main() int a;float x; scanf(“%d%f”,&a,&x);printf(“a=%d , x=%f n” ,a , x);格式控制

18、字符对输入结果的影响输入数据:读入的数据:输出结果:输入数据:读入的数据:输出结果:3 5.6 5.6 3 a=3 x=5.6 a=5 x=0.6 a=3,x=5.6 a=5,x=0.6 2022/7/23 40#include void main() int a, b;/*没有显示分格符时 */scanf(“%d%d“,&a,&b);printf(“a=%d , b=%d n” ,a,b);/*有显示分格符时 */scanf(“%d,%d“,&a,&b);printf(“a=%d b=%d n” ,a, b);格式控制字符之间有无显示分隔符对输入的影响输入数据:读入的数据:输出结果:输入数据

19、:读入的数据:输出结果:3 5 3,5 a=3 b=5 a=3 b=5 a=3,b=5 a=3 b=5 3, 5 a=3 b=? a=3,b= ? 3 5 a=3 b= ? a=3 b=?2022/7/23 41#include void main() int a, b;scanf(“%d%d“,&a,&b);printf(“a=%d , b=%d n” ,a,b);scanf(“%2d%3d“,&a,&b);printf(“a=%d , b=%d n” ,a,b);格式控制字符%后面添加域宽与否对输入的影响输入数据:读入的数据:输出结果:输入数据:读入的数据:输出结果:123 512456

20、a=123 b=5a=12 b=456a=123,b=5 a=12,b=456124 56 a=12 b=4a=12,b=42022/7/23 42提示:格式控制符对输入的结果的影响,还有很多,开动脑筋,可以试验出很多结论2022/7/23 43顺序结构程序设计举例2022/7/23 44void main( ) char c1,c2; char c; printf(Please enter a character:n); c = getchar(); c1=c - 1;c2 = c + 1; printf( %c%c%cn,c1,c,c2); 例: 给出一个大写字母,要求按字母顺序打印出 3

21、 个字母,指定的字母是三个字母中间的一个字母。输入的字母不能为 A 或 Z 。求解过程#include stdio.h输入一个字母。求出它的前趋和后继。输出三个字母。2022/7/23 45输入三角形的三边长,求三角形的面积。分析:三角形面积计算公式:area =s(s-a)(s-b)(s-c)s = (a+b+c)/2安排计算步骤:写出完整的程序2022/7/23 46解决问题的步骤:定义变量area =s(s-a)(s-b)(s-c)输入: a,b,c;计算 s;计算 area;输出 area;floata,b,c,s,area;scanf(“%f, %f, %f ” ,&a ,&b ,&

22、c);s=(a+b+c)/2.0;area= sqrt(s *(s-a) *(s-b) *(s-c);printf( “ the area is %fn”,area);2022/7/23 47写出完整程序:#include #include void main() float a,b,c,s,area; scanf(“%f, %f, %f ” ,&a ,&b ,&c); s=(a+b+c)/2.0; area= sqrt(s *(s-a) *(s-b) *(s-c); printf( “ the area is %fn”,area); 2022/7/23 48设1990年我国工业产值是100,

23、如果每年以7.4%的速度增长,求20年后我国的工业产值是多少?分析:计算产值的公式是:安排计算步骤:写出完整的程序p1=p0(1+r)n其中:p1为n年后的产值,p0为初始值,r为增长率,n 为年数。 2022/7/23 49解决问题的步骤:定义变量:输入: p0,n,r;计算 p1;输出 p0,n,r, p1 ;floatp1,p0,r;p1=p0(1+r)n其中:p1为n年后的产值,p0为初始值,r为增长率,n 为年数。 intn;2022/7/23 50写出完整程序:/*功能:计算工业产值*/#include #include void main() int n; float p0 ,

24、p1 , r; scanf(%d,%f,%f,&n , &p0 , &r); p1= p0*pow(1 + r / 100 , n); printf(p1=%10.4fn , p1); 2022/7/23 51例. 求华氏温度 100F 对应的摄氏温度。 摄氏温度 C=(5/9)(F-32) #include int main(void) int celsius, fahr; fahr = 100; celsius = 5 * (fahr - 32) / 9.0; printf(fahr = %d, celsius = %dn, fahr, celsius); return 0;编写程序,输入一个F值,输出对应的C值。scanf(“%f”,&fahr);2022/7/23 52扩展阅读2022/7/23 53常用数学库函数库函数C语言处理系统提供事先编好的函数,供用户在编程时调用。scanf(), printf(), exp()在相应的系统文件(头文件)中定义一些必需的信息。#include命令用户

温馨提示

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

评论

0/150

提交评论