3第三章顺序结构程序设计_第1页
3第三章顺序结构程序设计_第2页
3第三章顺序结构程序设计_第3页
3第三章顺序结构程序设计_第4页
3第三章顺序结构程序设计_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计第3章顺序结构程序设计3.1将英里转换为公里3.2C语句3.3数据的输出3.4数据的输入3.1将英里转换为公里任务描述暑假游玩地图必不可少,我们发现一些以公里标注距离的地图和一些以英里标注距离的地图。你和你的伙伴们想使用公制计量单位来处理,因此需要编写一个程序来执行必要的转换工作。问题分析:公里与英里之间的关系

3.1将英里转换为公里数据需求1、问题输入:miles/*存放用英里表示的距离*/2、问题输出:kms/*存放用公里表示的距离*/3、相关公式:1英里=1.609公里

3.1将英里转换为公里算法1、读取英里数。2、将距离转换成公里。(英里距离是公里距离的1.609倍)3、用公里显示距离。

3.1将英里转换为公里流程图

开始英里距离是公里距离的1.609倍键盘输入英里距离输出公里表示的距离结束3.1将英里转换为公里功能实现#include<stdio.h> #defineKMS_PER_MILE1.609main(){doublemiles,kms;printf("请输入用英里表示的距离:");scanf("%lf",&miles); kms=KMS_PER_MILE*miles;printf("等同%f公里。\n",kms); }

广义上讲,算法是解决某一问题的方法和步骤。算法的概念算法的特性(1)有穷性(2)确定性(3)可行性(4)有零个或多个输入(5)有一个或多个输出3.1将英里转换为公里顺序结构:

BAAB两个框是顺序执行的:

按图中所画的框的顺序,先执行A操作,再执行B操作。三种基本结构按照书写顺序,自上而下的逐条执行语句。3.1将英里转换为公里选择结构也称为分支结构。此结构包括一个选择框,框中写有一个条件,根据给定的条件是否成立,从而选择执行A框还是B框。例如:条件可以是A≤B条件PAB成立不成立条件PA成立不成立B操作为空时,画成直线三种基本结构3.1将英里转换为公里循环结构(当型---while型)1)当给定的条件成立时,执行A框中的操作;2)执行完A操作后,判条件P是否成立;3)如果仍成立,继续执行A操作;4)如此反复执行A框中的操作,直到条件P不成立为止。条件PA成立不成立三种基本结构循环结构是指多次重复执行同一组命令的结构3.1将英里转换为公里循环结构(直到型---until型)条件PA成立不成立1)先执行A框中的操作;2)执行完A操作后,判条件P是否成立;3)如果成立,继续执行A操作;4)如此反复执行A框中的操作,直到条件P不成立为止。三种基本结构3.1将英里转换为公里

算法的描述方法有很多种,最常用的有自然语言、伪代码、流程图、N-S图、PAD图和计算机语言等。3.1将英里转换为公里【例】有两个数a,b,按大小顺序打印它们。①

定义两个变量a和b,输入两个值分别赋值a和b;

②如果a≥b,则先打印a,再打印b;

否则,先打印b,再打印a;算法结束。用自然语言描述对输入的两个数按大小顺序输出的算法。自然语言3.1将英里转换为公里流程图流程图是一种传统的算法表示方法,用一些图框表示各种操作,用流程线表示操作的执行顺序。3.1将英里转换为公里真假开始a≥b结束输出b,a的值输入a,b的值输出a,b的值实例分析有两个数a,b,按大小顺序打印它们。3.1将英里转换为公里N-S图

N-S图是由I.Nassi和B.Shneiderman于1973年共同提出的一种结构化描述方法。在这种流图图中,去掉了所有的流程线,算法写在一个矩形框内,在该矩形框内还可以包括其他的矩形框。3.1将英里转换为公里学习目标熟练掌握C语言中的基本语句3.2C语句语句构成3.2.1表达式语句表达式语句是由表达式加上分号组成。其形式如下:

表达式;如:x=y+z;//赋值表达式语句y+z;

//加法运算语句,但计算结果不能保留无意义i++;

//自增1语句,即i的值增1注意事项

使用赋值语句时需要注意以下几点。

(1)在赋值符“=”右边的表达式也可以是一个赋值表达式。例如:a=b=c=5;

(2)注意赋值表达式和赋值语句的区别。

赋值表达式是一种表达式,它可以出现在任何允许表达式出现的地方,而赋值语句则不能。3.2.1表达式语句语句构成3.2.2函数调用语句函数是C程序的基本组成单位,一个函数的执行是通过在程序中调用这个函数来实现的。一般形式如下:

函数名(参数表);例“printf("hello!");”就是一个函数调用语句。3.2.3控制语句语句种类语句形式功能说明选择分支控制语句if()…else…分支语句switch(){…}多分支语句循环控制语句for()循环语句while()循环语句do…while()循环语句结束控制语句break终止循环语句的执行continue结束本次循环语句转向控制语句goto转向语句return返回语句语句构成3.2.4空语句

仅由分号“;”组成的语句称为空语句。空语句是不执行任何操作的语句。例如,

while(getchar()!='\n')

{

;//循环体为空语句

}空语句通常起到占位的作用,在程序没有完全开发完成前,可用空语句占位,以便后续开发填充代码。语句构成3.2.5复合语句把多个语句用大括号括起来组成的语句称为复合语句。在语法上,复合语句相当于单条语句,而不是多条语句。其一般形式为:

{

语句1;

……

语句n;

}

复合语句可以放在能够使用语句的任何地方,它建立一个新的作用域或块。复合语句是C语言中唯一不用分号“;”结尾的语句。{a=2;b=3;b*=a;printf("b=%d\n",b);}学习目标3.3数据的输出掌握格式化输出函数的基本用法注意事项

C语言的输入输出操作都是通过调用C标准库函数来实现的。C语言提供的输入输出标准库函数有getchar()、putchar()、scanf()和printf()等。引用C语言标准库函数时,必须程序的开始写一行命令

#include<stdio.h>或者#include”stdio.h”

3.3数据的输出作用向终端(或系统默认的输出设备)输出一个字符。举例#include<stdio.h>void

main(){charc1,c2,c3;c1='Y';c2='O';c3='U';putchar(c1);putchar(c2);putchar(c3);}显示器格式?AYOU输出intputchar(charch);注:

ch可以是一个字符型(整型)变量、常量等;3.3数据的输出printf()

函数调用的一般形式为:

printf("格式控制",输出列表);

功能:按照"格式控制"要求,向终端输出“输出列表”中各个输

出项的值。3.3数据的输出格式printf("格式控制"

,输出列表);说明1、"格式控制字符串"是用双撇号引起来的字符串,包括三种信息:(1)格式说明符:由%和格式字符组成。

(如%d%f%c)(2)普通字符:需要按原样输出的字符。(3)转义字符:

(如\t、\n、\b、\r等)2、"输出列表"是需要输出的一些数据,可以是表达式。

printf(“ok”);printf(“%d”,a);printf(“sum=%d\n”,a);

printf(“sum=%d\n”,a+b);指定数据的输出格式。作用向终端(或系统默认的输出设备)输出若干个任意类型的数据。3.3数据的输出常用格式说明符:%格式字符#include<stdio.h>voidmain(){inta,b;a=3;b=4;printf("输出结果为:");

printf("%d%d\n",a,b);printf("a=%d,b=%d\n",a,b);printf("a+b=%d",a+b);}输出结果为:34a=3,b=4a+b=7printf("sum=%d\n

%c",x,ch);普通字符格式说明转义字符如果x=100,ch='A',那么下面的输出语句将输出什么结果?输出列表输出sum=100A输出【例】【例】格式输出——printf函数格式说明必须以%开始,以格式字符结束。一般形式如下:

%[标志][宽度][.精度][l][格式字符]--nmd/f/c/s等长整型整数输出数据向左靠拢输出数据最小宽度对实数:输出小数点位数;对字符串:截取字符的个数常用的附加格式说明:%[标识][宽度][.精度][l]格式字符(如%d)标识:-:左对齐输出,

+或缺省:为右对齐输出。printf()3.3数据的输出%[标识][宽度][.精度]格式字符(如%d)宽度:指定输出宽度

1)指定宽度>实际宽度,补空格。

2)指定宽度≤实际宽度或不指定宽度,按实际输出printf()intmain(){intnum1=123;/*用4种不同格式,输出int型数据num1的值*/printf("num1=%d,num1=%5d,num1=%-5d,num1=%2d\n",num1,num1,num1,num1);return0;} num1=123,num1=123,num1=123,num1=1233.3数据的输出%[标识][宽度][.精度]格式字符(如%d)精度:输出精度指示符。1)对实数,表示小数点后至多输出的数字个数,不足补0,多则舍入处理。2)对字符串,表示最多输出的字符个数,不足补空格,多则丢弃。printf()方括号表示该项可有可无3.3数据的输出floatx=123.456;printf(“%f\n",x);printf("%15f\n",x);printf("%10.2f\n",x);printf("%.2f\n",x);printf("%-15.2f\n",x);123.456001

123.456001

123.46123.46123.46

实数最常用的两种输出格式【例】综合举例3.3数据的输出#include<stdio.h>voidmain(){charc='A';inti=65;

printf("c=%c,%5c,%d\n",c,c,c);printf("i=%d,%c",i,i);}输出c=A,

A,65i=65,A注意

在C语言中,整数可以用字符形式输出,字符数据也可以用整数形式输出。【例】综合举例3.3数据的输出掌握格式化输入函数的基本用法学习目标3.4数据的输入作用接收从终端(或系统默认的输入设备)输入的一个字符,并返回其ASCII码值。#include

<stdio.h>int

main(){

charc1;c1=getchar();putchar(c1);return0;}输入:a

键盘输出格式a_intgetchar();【例】3.4数据的输入格式scanf("格式"

,地址列表);说明1、"格式控制字符串"与printf函数类似。可以包含以下三种类型

的信息:格式说明:与printf类似,以%开始,以一个格式字符结束;普通字符(照原样输入(建议使用逗号和空格))。2、

"地址表列"是由若干个地址组成的列表,各地址之间用逗号分隔。如变量的地址表示为:&变量名。作用按照格式控制的要求,将从终端输入的数据赋值给地址列表中的各个变量。3.4数据的输入格式控制字符串:格式转换说明符功能描述%d输入一个十进制整数%f输入一个单精度实数%lf输入一个双精度实数%c输入一个字符%s输入一个字符串%o输入一个八进制整数%x输入一个十六进制整数%*表示本输入项只是读入,但不赋给相应变量3.4数据的输入charch1,ch2,ch3;scanf("%c%c%c",&ch1,&ch2,&ch3);printf("ch1=%c,ch2=%c,ch3=%c\n",ch1,ch2,ch3);注意使用格式说明符"%c"输入单个字符时,空格和转

义字符均作为有效字符被输入。输入:

a

b

c

ch1=a,ch2=,ch3=b输出:其中:ch2的值为空格。【例】3.4数据的输入#include<stdio.h>intmain(){

inta,b,temp;

printf("Pleaseinputab:\n");

scanf("%d%d",&a,&b);

temp=b;

b=a;

a=temp;

printf("a=%d,b=%d\n",a,b);

return0;}实例分析运行结果如下:Pleaseinputab:2↙3

↙a=3,b=23.4数据的输入输入摄氏温度c的值,计算华氏温度f的值。(计算公式为:f=9*c/5+32)#include<stdio.h>intmain(){

floatc,f;

printf("Pleaseinputc:");

scanf("%f",&c);

f=9*c/5+32;

printf("f=%6.2f\n",f);

return0;}实例分析运行结果如下:Pleaseinputc:28↙f=

82.403.4数据的输入例输入三角形的三边,求三角形的面积。#include<stdio.h>#include<math.h>voidmain(){floata,b,c,s,area;printf("请输入三角形的三边:");

scanf("%f,%f,%f",&a,&b,&c);

s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));printf("s=%7.2f\n",s);}请输入三角形的三边:3,4,5

s=

6.00分析a,b,c:表示三角形的三边。s:中间变量。

s=(a+b+c)/2area:三角形面积。以上变量均为实型。输入a,b,c输出areas=

(a+b+c)/2area=sqrt(p*(p-a)*(p-b)*(p-c))?若输入348-2-39运行情况:3.4数据的输入小型案例任务描述

本地银行储蓄所有很多顾客周期性地将零钱存进自己的账户。请编写一个程序,与银行的顾客交互,从而确定硬币总共是多少钱。

数据需求1、问题输入charfirst,middle,last/*存放顾客姓名的首字母的变量*/intyuan /*存放1元硬币的个数的变量*/intwujiao /*存放5角硬币的个数的变量*/intjiao /*存放1角硬币的个数的变量*/2、问题输出intrmbyuan /*存放元值的变量*/intrmbjiao /*

温馨提示

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

评论

0/150

提交评论