《顺序结构设计》PPT课件.ppt

上传人:小飞机 文档编号:5620211 上传时间:2023-08-03 格式:PPT 页数:25 大小:272.50KB
返回 下载 相关 举报
《顺序结构设计》PPT课件.ppt_第1页
第1页 / 共25页
《顺序结构设计》PPT课件.ppt_第2页
第2页 / 共25页
《顺序结构设计》PPT课件.ppt_第3页
第3页 / 共25页
《顺序结构设计》PPT课件.ppt_第4页
第4页 / 共25页
《顺序结构设计》PPT课件.ppt_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《《顺序结构设计》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《顺序结构设计》PPT课件.ppt(25页珍藏版)》请在三一办公上搜索。

1、内容提要:C语句概述 赋值语句 基本的数据输入/输出函数 简单的C程序设计,第4章 最简单的C 程序设计 顺序程序设计,1.语句 是用来对数据进行加工,完成一定操作任务的;是构成程序的基本单位。通常一个C程序由若干个函数组成,每一函数由若干条语句组成。每条语句总是以“;”结束2.C语句的分类 可分为三大类:简单语句、复合语句、空语句(1)简单语句 表达式语句:由一个表达式后跟“;”组成 赋值语句:赋值表达式加一个“;”如:s=3.14159*r*r;i+;函数调用语句:函数调用表达式加一个“;”如:printf(“Hello,worldn”);结构控制语句:控制程序流程 选择语句:ifelse

2、、switch 循环语句:for、while、dowhile 转向语句:continue、break、return、goto,4.1 C语句概述,2.C语句的分类(1)简单语句(2)复合语句:将一组语句括在一对 中 如:while(i100)sum+=i;/*赋值语句,相当于sum=sum+i*/i+;/*赋值语句,相当于i=i+1*/说明:复合语句的之后不能有“;”;复合语句中可以是简单语句,复合语句,空语句(3)空语句:;/*仅有一个“;”*/空语句什么也不做。有时用作被转向点,或为循环语句提供空体 如:for(i=0;i10;i+);,C语句概述(续),赋值表达式后面加一“;”构成要区分

3、赋值表达式与赋值语句如:if(a=b)0)t=a;表达式 语句注意:赋值表达式可以包含在其它表达式之中,而赋值语句不行。赋值语句只能作为一条单独的语句,或放在复合语句中。赋值语句用途很广。,4.2 赋值语句,输入和输出是以计算机主机为主体而言。输出指外部设备:显示屏,打印机,输入设备:键盘,鼠标,扫描仪等。默认输入设备是键盘,输出设备是显示器C 语言不提供输入输出语句,输入输出操作是由函数来完成的。如前面提到的printf和scanf。它们是函数名不是C 语言的关键字。sizeof是关键字 a=sizeof(int)是编译系统提供的要用预编译命令将库函数文件包括到用户源文件中。如:#inclu

4、de“stdio.h”#include“math.h”#include“string.h”在Turbo C 2.0中,只有printf和scanf例外。,4.3 数据输入输出的概念及在C语言中的实现,C语言没有输入/输出语句,输入/输出操作通过调用系统函数实现。在程序的开头要有:#include“stdio.h”或#include 默认的输入设备:键盘 默认的输出设备:显示器1.字符输出函数putchar 形式:putchar(c);作用:向显示器上输出一个字符(将C的值输出到显示器上),C可 以是字符型的常量,变量表达式,例4.1#include void main()char c1,c2;

5、c1=b;c2=98;putchar(c1);putchar(c2);putchar(b);putchar(98);,例4.2 输出控制字符、转义字符#include main()putchar(“101”);putchar(“n”);putchar(“”);,bbbb,A,4.4 字符数据的输入输出,2.字符输入函数getchar()格式:getchar()作用:从键盘缓冲区读入一个字符注意:当输入多个字符时,多余字符作废(按回车后才开始接收字符)用getchar()得到的字符可以赋给字 符型变量、整型变量、或作为表达式 的一部分.如:c=getchar()+32;putchar(c);若输

6、入是:A 则输出是:a,例4.3#include void main()int c;printf(“Enter a character:”);c=getchar();printf(“%c:%dn”,c,c);,Enter a character:aa:97,例4.4#include void main()putchar(getchar();,aa,字符数据的输入输出(续),1.格式输出函数printf作用:向终端输出若干个类型任意的数据形式:printf(格式控制符,输出项列表),双引号括起来的字符串,要输出的内容(常量、变量、表达式等),例4.5#includevoid main()int

7、i=5;float f=32.345;printf(“i=%3d f=%5.1fn”,i,f);printf(“End.n”);,引导符,宽度,小数位数精度,类型符,i=5 f=32.3 End,4.5 格式输入输出,格式控制字符串:i=%3d f=%5.1f%5.1 f,格式控制符完整的格式:%0 m.n l/h 格式字符,格式说明的引导符号,指定左对齐输出,指定输出的数据类型,输出长度的修正,指定输出域宽及精度,指定空位填0,格式输入输出(续),%0 m.n l/h 格式字符说明:(1)格式字符 指定输出项的数据类型和输出的格式 d 十进制整数 如:x=123;printf(”%dn”,x

8、);o 无符号八进制数 x 无符号十六进制数 u 无符号的十进制整数,例 4.6#include void main()unsigned int a=65535;int b=-2;printf(“a=%d,%o,%x,%un”,a,a,a,a);printf(“b=%d,%o,%x,%un”,b,b,b,b);,解释:1111 1111 1111 1111 a=655351111 1111 1111 1110 b=-2,a=-1,177777,ffff,65535b=-2,177776,fffe,65534,有符号的整型数b可以用%u输出无符号的整型数a可以用%d输出,格式输入输出(续),(1

9、)格式字符 指定输出项的数据类型和输出的格式 C 输出一个字符 S 输出一个字符串 e 以指数的形式输出实型数 f 以小数的形式输出实型数 g 自动决定输出格式为e和f中 较短的一种。不打印无效的0。(了解)%输出%,例 4.7#include void main()float a,b;char c=a;int i=97;a=222222.222;b=111111.111;printf(“%f,%7.4fn”,a+b,a-b);printf(“%c,%dn”,c,c);printf(“%c,%dn”,i,i);printf(“%s,%n”,“china”);,333333.328125,111

10、111.1094a,97a,97china,%,注意:对于单精度数,使用%f格式符输出时,仅前7位是有效数字,小数6位;对于双精度数,使用%f格式符输出时,前16位是有效数字,小数6位,格式输入输出(续),%0 m.n l/h 格式字符说明:(1)格式字符(2)长度修正符:l/h l:对于整型指长整型long 例:%ld、%lx、%lo、%lu 对于实型指双精度 例:%lf h:只用于整型的格式字符,修正为short 例:%hd、%hx、%ho、%hu(3)域宽及精度的描述:m.n m:域宽,即对应的输出项在输出设备上所占的字符数,若实际数据宽度 m,按实际数据宽度输出 若实际数据宽度 m,左

11、边补空 n:精度,说明输出的实型数的小数位数,格式输入输出(续),几点说明:编译程序只是检查printf函数的调用格式,不分析格式控制字符串,如果格式字符与输出项的类型不匹配,不进行类型转换。格式字符要用小写字母格式控制字符串中可以包含转义字符格式控制字符串中的普通字符原样输出输出项的参数除了常数、变量外,还可以是表达式、函数调用 如:printf(“max=%dt i=%d n”,imax(a,b),i+);,例4.8#includevoid main()int i=321;float f=123.456;printf(“%5d:%5.2f n”,i,i);printf(“%5d:%5.2f

12、 n”,f,f);,321:4030221778.21 0:123.46,格式输入输出(续),23,2.格式输入函数scanf 格式:scanf(格式控制符,变量地址列表)作用:按格式控制符的要求将数据从终端传送到变量地址所指定的内存空间,例4.11#include void main()int a;float b;scanf(“%d%f”,12.345,分配内存空间,&a(得到两个字节空间的首地址)&b(得到四个字节空间的首地址),格式输入输出(续),(1)变量地址:变量的地址通过对变量名“求地址”运算得到 形式:&变量名,2.格式输入函数scanf(1)变量地址(2)格式控制符 格式说明项

13、%*m l/h 格式字符,格式说明的起始符号,附加说明符(了解),域宽说明符(了解),长度修正说明符(了解),输入的数据类型和格式,格式输入输出(续),2.格式输入函数scanf(1)变量地址(2)格式控制符 格式说明项%*m l/h 格式字符,例4.12#include void main()int a,b,c,d,e,f;scanf(“%d%d”,格式输入输出(续),(2)格式控制符 格式说明项 输入数据的分隔 采用隐含的分隔符:空格、回车键、Tab键 根据格式中指定的域宽分隔 数据项 采用用户指定的分隔符,例4-13:#include void main()int a;float b,c

14、;printf(“input a,b,c:”);scanf(“%d%f%f”,例4-14:#include void main()int a;float b,c;scanf(“%2d%3f%2f”,scanf(“%d,%f,%f”,scanf(“a=%d,b=%f,c=%f”,格式输入输出(续),注意:scanf中不使用u说明符,对unsigned型数据用d,o,x说明符输入 输入数据时不能规定数据的精度 如:scanf(“%4.2f”,输入:a=123,b=23.456%c一次接收一个字符,不需单引号;空格字符是个有效的字符 在输入数据时,遇到以下情况认为该数据结束 遇空格,或按回车或跳格键

15、 按指定的宽度结束,如“%3d”,只取3列 遇非法输入,思考:scanf(“Enter a number:%d”,的输入格式?,格式输入输出(续),例4.15:输入一个小写字母,输出其对应的大写字母及其前导字母与后续字母.分析:小写字母的ASCII码比对应的大写字母大32 前导字母的ASCII码小1,后续字母的ASCII码大1,#include void main()char c;pirntf(“Enter a character:”);c=getchar();printf(“%c,%c,%c”,c,c-1,c+1);printf(“%c,%c,%c”,c-32,c-33,c-31);,可用p

16、utchar()函数代替:putchar(c);putchar(c-1);putchar(c+1);,scanf(“%c”,4.6 程序举例,例4.16:求方程ax2+bx+c=0的根,b2-4ac0。(其中a,b,c的值由键盘输入),输入a,b,c,dt=sqrt(b2-4ac),x1=(-b+dt)/2ax2=(-b-dt)/2a,输出x1,x2,分析:ax2+bx+c=0dt=b2-4ac b dt b dt 2a 2a 2a 2a,x1=,+,x2=,-,P,q,程序举例(续),#include#include void main()float a,b,c,x1,x2,dt,p,q;p

17、rintf(“input a,b,c:”);scanf(“%f%f%f”,程序举例(续),例4.17 鸡兔同笼。已知鸡兔总头数为h,总脚数为f,求鸡兔各多少只?分析:设鸡x只,兔y只。则:x+y=h 解得 x=2h f/2 2x+4y=f y=f/2-h,#include Void main()int x,y,h,f;printf(“input h,f:”);scanf(“%d%d”,程序举例(续),第三章结束,熟练掌握printf和scanf函数的用法,1.正确的赋值语句是:A)a=1,b=2 B)i+;c)a=b=5 d)y=int(x);2.非法的转义字符是:(1)A)t B)018 C

18、)n D)xaa(2)A)B)101 C)D)xaa(3)A)t B)011 C)n D)o17 3.不正确的八进制和十六进制数是:(1)A)0 x16 B)016 C)-16 D)0 xaaaa(2)A)oxcc B)-017 C)-0 x12 D)0 xffff 4.不正确的数值和字符常量是:(1)A)0.0 B)5L C)o13 D)986l(2)A)8.9e1.2 B)1e1 C)0 xFF00 D)0.825e2(3)A)“a”B)C)0 xaa D)50.,思考题,思考题,5.printf(“%dn”,(int)(2.5+3.0)/3);输出结果是:A)有语法错误 B)2 C)1 D)06.main()int a=9;a+=a-=a+a;printf(“%dn”,a);输出结果是:A)18 B)9 C)-18 D)-97.#include main()char c1,c2,c3,c4,c5,c6;scanf(“%c%c%c%c”,若输入为:123 45678则输出:A)1267 B)1256 C)1278 D)1245,

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号