




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第四部分顺序结构程序相关设计方案一、C语言中的三大流程控制结构1、顺序结构2、选择结构3、循环结构从上往下顺次执行的结构称为顺序结构。如:P1_2。二、基本的二、基本的C语句语句 在C语言中,大多数的操作运算都是通过表达式来实现的。表达式后加一个分号组成表达式语句。C语句有下面的几种类型控制语句函数调用语句表达式语句空语句复合语句等例如:y=sin(x); i+; printf(“Hello world!”);等都是表达式语句。空语句是只有一个分号组成,它没有任何意义,但是合法的C语句。二、基本的二、基本的C语句语句在C语言中,允许把一组C语句放在一对花括号内,作为一个C语句来使用,我们称这一
2、组C语句为复合语句。例如:c=getchar(); putchar(c); 应当注意,在复合语句的后面,不用再写分号。三、数据的输入、输出三、数据的输入、输出一个程序,必须要有输出,通过输出的结果,我们才可以验证该程序是否能够正确地解决相应的问题。在C语言中,数据的输入、输出都是由函数来实现的。C语言提供了多种输入、输出函数,他们功能强大,使用灵活。关于这些函数的原型信息(说明信息)都放在头文件stdio.h中。常用的输出函数有:printf、puts、putchar等。常用的输入函数有:scanf、getchar、gets。(一)(一)printf函数的使用:函数的使用:1、使用格式:pri
3、ntf(格式控制参数,输出项1,输出项2,);格式控制参数以字符串的形式描述,所以也称“格式控制字符串”。它由两部分组成:格式说明和普通字符。普通字符将被简单得复制显示;一个格式说明项将引起一个输出参数项的转换与显示。格式说明项是由“%”和一个类型描述符组成的字符串。其常用格式如:sum=5;printf (“nThe result is:%d。”, sum);它的输出将是:The result is:5。需要注意的是格式说明项的个数与类型要与输出项一一对应。(一)(一)printf函数的使用:函数的使用:2、格式字符有:格式字格式字符符输出形式输出形式举例举例输出结果输出结果d或或i十进制整
4、数十进制整数int a=123; printf(“%d”,a);123x(或(或X)十六进制整数十六进制整数int a=123; printf(“%x”,a);7Bo八进制整数八进制整数int a=123; printf(“%o”,a);173u无符号的十进制整数无符号的十进制整数int a=123; printf(“%u”,a);123c一个字符一个字符char a=E; printf(“%c”,a);Es字符串字符串Char a=”china”; printf(“%s”,a);chinae或(或(E)指数形式的实数数指数形式的实数数float a=123.456; printf(“%d”,
5、a);1.234560e+002f小数形式的实数数小数形式的实数数float a=123.456; printf(“%d”,a);123.456000g(或(或G) e和和f中较短的一种,即忽略无效中较短的一种,即忽略无效0float a=123.456; printf(“%d”,a);123.456%本身本身 printf(“%”);%(一)(一)printf函数的使用:函数的使用:1、输出转换在输出语句中,也会发生隐式转换。如:float f=5.8; printf(“%d”, f ); 则输出5。如果是int a=5.8; printf(“%f”, a); 在编译时不用出错,但不会输出结
6、果。再如:int i = - - 1; printf(“%u”, i ); 则会输出()。1的原码:000000000000001,补码为:111 1111 1111 1111 存储形式为16个1。故当作为无符号数输出时,应输出65535(216-1)。(一)(一)printf函数的使用:函数的使用:例1:编写一个程序,输出下面的内容:Hello world!例2:编写一个程序,输出ASCII码为38的字符。例3:编写一个程序,计算264322的结果。例4:编写一个程序,计算半径为5cm的圆的面积。例5:编写一个程序,计算华氏100度是摄氏多少度。C=5(f-32)/9; 见程序P4_1P4_
7、5(一)(一)printf函数的使用:函数的使用:另外,在%和格式字符之间可有一些可选的附加说明项,其完整格式为: % 0 mn l/h 格式字符3、长度修正符(l/h)l:对整型指long型,对实型指double型。如:%ld、%lx、%lo、%lu、%lf等h:只用于将整型的格式修正为short型。如:%hd、%hx、%ho、%hu等。是否左对齐指定空位是否填0指定输出域宽及精度输出长度修正指定输出类型格式说明的起始符可选项(一)(一)printf函数的使用:函数的使用:4、域宽及精度描述符(mn):m:指域宽。即对应的输出项共占多少位的位置;n:指精度。即小数占多少位。不指定n时,默认的
8、精度是n=6。需要特别指出的是:数据的实际精度并不取决于格式项中的域宽与精度,也不决定于输入的数据精度,而主要取决于数据在机器内的存储精度。上机并思考:1、域宽小于实际宽度时如何处理?2、缺省的精度是多少?3、精度说明大于、小于实际精度时,如何处理?4、float 与double 输出的最大精度是多少?5、符号位如何处理?6、多余的小数是被截断还是舍入?(一)(一)printf函数的使用:函数的使用:5、数字前的空位是否用0填补:(用数0表示)如:float a=1.23; printf(“%08.1f”,a); 输出结果为:000001. .26、负号用以指定输出项是否左对齐输出:如:int
9、 a=3;printf (“|%5d,%-5d. .”,a,a);(一)(一)printf函数的使用:函数的使用:课本P84练习4.4(二)(二)scanf函数的使用函数的使用我们在编写程序时,常需要处理用户随机输入的数据。如上面例4。要编写计算任意一个圆的面积的程序。在运行时,用户随机输入圆的半径,就可运行求得对应的面积。此时,就要需要程序能够从终端读入一个数据,就要用到scanf函数。(二)(二)scanf函数的使用函数的使用 1、scanf函数的使用格式: scanf (格式控制参数,地址1,地址2,);格式控制参数包括普通字符和格式说明项两部分。普通字符在输入数据时要原样输入,格式说明
10、项说明读入的数据要存为什么格式。例如:int a; scanf(“%d”,&a);&:称为地址运算符,用于求一个变量的地址。改写例1例5,增加程序的通用性。例6:编写求圆的面积的程序,圆的半径从键盘输入。例7:编写求圆柱的表面积的程序,圆柱的底面半径和高由键盘随便输入。(见程序P4_6P4_7)(二)(二)scanf函数的使用函数的使用 2、格式控制参数: 除了基本的格式字符外,格式参数还可以包含下面几项: % * m l/h 格式字符赋值抑制符长度修正说明符指定输入类型格式说明的起始符可选项域宽说明符(二)(二)scanf函数的使用函数的使用 3、 输入流数据分隔scanf函
11、数从输入数据流中接受非空的字符,再转换成格式项要求的格式,传送到与格式项对应的地址中去。那么,当操作人员在终端上键入一串字符时,系统怎么知道哪几个字符算作一个数据项呢?有以下几种方法:根据格式字符的含义从输入流中取得数据,当输入流中的数据类型与格式字符要求不符时,就认为这一数据项结束。如上例7:根据域宽分离出数据项:例8:main()int a,b; scanf(“%2d %3d”,&a,&b); printf(“a=%d,b=%d.”,a,b);若输入123456, 则a=12,b=345.(二)(二)scanf函数的使用函数的使用用分隔符分隔例9:main()int a,b
12、; scanf(“%d %d”,&a,&b); printf(“a=%d,a=%d”, a,b);例10:main()int a,b; scanf(“%d,%d”,&a,&b); printf(“a=%d,a=%d”, a,b);例11:main() i n t a , b ; s c a n f ( “ a = % d , b = % d ” , & a , & b ) ; printf(“a=%d,a=%d”, a,b);注意:如果需要连续输入两个字符数据,这两个字符中间要慎用空格、回车符等分隔。(二)(二)scanf函数的使用函数的使用 4
13、、抑制字符*它的作用是按格式说明读入数据后,不送给任何变量。例12: main() int a,b,c; scanf(“%2d%*3d%d”,&a,&b); printf(“na=%d,b=%d.”,a,b);当输入1234567时,a=12, b=67, 读出345没有赋给任何变量。(三)、其他输入输出函数(三)、其他输入输出函数 1、 getchar:从输入设备读入一个字符。 2、 putchar:在输出设备输出一个字符。 用法: getchar(); putchar(ch);(三)、其他输入输出函数(三)、其他输入输出函数 例13: main() char c; c=ge
14、tchar(); putchar (c);练习:练习:1、在scanf函数的格式控制中,格式说明的类型与输入项的类型应该一一对应匹配,如果类型不匹配,系统将()A)不予接受 B)并不给出出错信息,但得不到正确的数据C)能接收到正确的数据D)给出出错信息,不予接收数据2、下面程序的输出结果是()main() int a=4; float b=9.5; printf ( “ na=%d ,b=%4.2f ”,a ,b ); A)4,9.5 B)na=%d, b=%f C)a=4,b=9.50 D)a=4,b=9.5练习:练习:3、下面程序的输出结果是()main() int c1=b, c2=e,
15、 c3=e; printf(“%d,%c”,c2-c1, c3-32);A)2,M B)3,E C)2,E D)不能确定【注】英文字母的ASCII码是连续的,且大写与小写相差32(a-A=32)。即一个大写字母+32即可转换成对应的小写字母;一个小写字母-32即可转换成对应的大写字母。故应该选择B。 同样,数字的ASCII码也是连续的,即8 - 3 =5。4、设有定义:long x=123456L;则能正确输出x的值的语句是()A)printf (“x=%dn”,x); B)printf(“x=%ldn”,x); C)printf (“x=%8dn”,x); D)printf(“x=%Ldn”
16、,x);练习:练习:5、 若变量已正确说明为float类型,要通过下列语句分别给变量a, b, c赋值为10.0,22.0,33.0,则不正确的输入形式是()scanf(“%f%f%f”,&a,&b,&c);A A)10 B)10.0,22.0,33.0回车 C)10.0回车 22回车 22.0 33.0回车 33回车 D)10 22 33回车6、以下对scanf函数的使用,叙述正确的是()A)输入项可以是一个实型常量,如scanf(“%f”,3.5); B)只有格式控制,没有输入项,也能正确输入数据到内存,如scanf(“a=%d,b=%d”); C)当输入一个实型数据时,格式控制部分可以规定小数点后的位数,如:scanf(“%4.2f”,&f); D ) 当 输 入 数 据 时 , 必 须 指
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 摆地摊教学合同协议书
- 竞业合同协议书模板
- 家政代理合同协议书模板
- 运营和老板合作合同协议书
- 2025年中国纳米水滑石项目创业计划书
- 中国3,3-二甲基-1-丁酸项目创业计划书
- 中国境外油田服务项目创业计划书
- 直播游戏运营方案
- 常熟POCT试剂项目商业计划书
- 病人陪护合同协议书范本
- 烟花爆竹劳务合同范本
- 济南出入境检验检疫局国际旅行卫生保健中心
- (全册完整16份)北师大版五年级下册100道口算题大全
- 维修电工求职简历
- 人教版历史八年级上册知识点
- 麻醉药品和精神药品培训试题
- GB/T 799-2020地脚螺栓
- 非小细胞肺癌寡转移灶中立体定向放疗的运用,放射医学论文
- 远足拉练动员大会课件
- 出租房屋安全检查记录
- 夏季养胃知识课件
评论
0/150
提交评论