第4章 程序设计基本结构
第4章 顺序结构、选择结构和 循环结构的程序设计
4.1结构化程序设计方法 任何算法的算法步骤可用顺序、选择、循环三种基 本控制结构中的一种来描述.
4.2结构化程序的三种基本结构(见图示) 1.顺序结构处理A 处理B
处理A处理B
(a)
(b)
2.选择结构 (1)单分支选择结构expr
=0
非0 statement
(2)双分支选择结构非0 expr statement1 =0
statement2
(3)多分支选择结构
expr1 非0
=0=0 expr2
非0
=0 expr3 非0
statemnt1
statemnt2
statemnt3
statemntn
3.循环结构(1)当循环结构:先判断控制循环的条件,条件成立则执行 一次循环体,直到条件不成立时结束循环. 特点:如果条件不成立,则重复 操作一次也不做.表达式 假
真循环体
(2)直到型循环结构:先执行要重复的循环体一次,然后判断控制 循环的条件.条件成立,则继续上述循环,直 到条件不成立时,结束循环. 特点:重复操作至少执行一次.
(3)次数型循环结构 真
循环体
表达式 假
例:编程序计算半径为10的圆周长、圆面积、 常见顺序执行语句:赋值语句、函数调用语句、表达式 球表面积、球体积. 语句、复合语句. #define PI 3.14159 void main() 1、赋值语句 {float r=10.0,l,s,v_s,v; 格式1:变量=表达式; l=2.0*PI*r; 功能:计算表达式的值,然后赋给变量. s=PI*r*r; 格式2:变量 自反赋值运算符 表达式; v_s=4*s; v=4.0*PI*r*r*r/3.0; 功能:将变量和表达式进行指定的算术或位运算后,将 } 值赋予变量. 归纳:从语句的格式来看,赋值语句就是赋值表达式后 跟一个分号.
2、函数调用语句函数:是实现编写好的一段程序,程序的加工对象称 例:编程序,调用系统函数计算9的平方根、-10的 绝对值、sin(3)、cos(3)的值. 为函数的参数,加工后的结果可以利用函数值返回. 例:修改如下: #include<math.h> 系统函数:是分类存放在扩展名为“h”的磁盘文 #include<math.h> void main() 件中,称为”头函数”或”头文件”. void main() {sqrt(9.0); {float sqrt1,abs1,sin1,cos1; 如:#include <头文件名.h> fabs(-10.0); sqrt1=sqrt(9.0); sin(3.0); 格式:函数名(参数1,参数2,…); abs1=fabs(-10.0); cos(3.0); 功能:调用制定的系统函数或用户自编的函数,对圆括 }sin1=sin(3.0); cos1=cos(3.0); 号中给出的参数进行该函数约定的运算,运算结果可 程序中没有保存值所以计算没有价值,需用赋值 } 语句,将调用后的函数值存放到变量中. 作为函数的返回值. 归纳:函数调用语句就是函数调用后跟一个分号.
3、表达式语句
格式:表达式; 功能:计算表达式的值. 归纳:表达式语句就是表达式后跟一个分号.
例:编程序判断某字符型变量中存放的是否为小写字母. void main() {int yn1,yn2,yn3; char ch1=‘A’,ch2=‘b’,ch3=‘2’; yn1=ch1>=‘a’&&ch1<=‘z’; yn2=ch2>=‘a’&&ch2<=‘z’; yn3=ch3
>=‘a’&&ch3<=‘z’; }
4、复合语句
例:编程序计算半径为10的圆周长、圆面积、 球面面积、球体积. 格式:{语句1; #define PI 3.14159 语句2; #define R 10.0 … void main() 语句k;} {float l,s; 功能:依次执行语句1、语句2、…语句k. l=2.0*PI*R; 注意:(1)复合语句中虽然有多条语句,但整体 s=PI*R*R; 看作一条语句. {float v_s,v; (2)复合语句中的语句若有数据定义语句,要 v_s=4*s; 放在复合语句中其它语句的前面. v=4.0*PI*R*R/3.0; } }
5、字符输入/输出函数 向终端输出一个字符显示(正常显示)
格式:putchar( c ) c是一个字符表达式,可以是字符变量、常量、 控制字符、转义字符和整型变量. #include <stdio.h> main( ) { int c; char a; c=65; a='B'; putchar(c); putchar('\n'); putchar(a); }
运行结果:A B
怎样从输入设备得到一个字符 (键盘)
------输入字符并输入换行 格式: getchar( ) #include <stdio.h> main() { int c; printf("Enter a character:"); 运行结果: Enter a character:A c=getchar(); printf("%c--->hex%x\n",c,c); A--->hex41 }
例
怎样从输入设备得到一个字符 (键盘)
------输入字符不用输入换行
格式:getchar( )
例
#include <stdio.h> 运行结果: Enter a character:A main() A--->hex41 { int c; printf("Enter a character:"); c=getchar(); printf("%c--->hex%x\n",c,c); }
6、格式输入/输出函数(1)格式输出函数 ---printf
printf (“字符 格式控制”, 输出列表) 向终端按指定的格式,输出若干个任意类型的数据. (putchar只能输出一个字符) printf ("max=%d,min=%5d\n", a , b); 说明 :格式控制包含两部分内容: 修饰符: 输出格式的控制; 例: int a=3,b=4; 格式说明: printf("%d %d\n",a,b); 将输出的数据转换为指定的数据格式,总是由 printf("a=%d , b=%d\n",a,b); “%”字符开始的. 输出结果: 3 4 格式字符 % [修饰符] a=3, b=4
printf 格式字符d,i x,X o u c s e,E f g,Gf 和 十进制整数 十六进制整数 八进制无符号整数 无符号十进制整数 单个字符 字符串 指数形式实数
int a=567;printf ("%d",a); int a=255;printf("%x",a); int a=65;printf("%o",a); int a=567;printf("%u",a); char a=65;printf("%c",a); printf("%s", "ABC");
567 ff 101 567 A ABC 5.677890e+002 567.789000 567.789 %
%%
float a=567.789; printf("%e",a); 例:main() float a=567.789; 十进制实数 {unsignedprintf("%f",a); int u=65535; printf("u=%d\n",u); float a=567.789; e格式中宽度较短的一种格式 printf("%g",a); } printf( % 输出结果:u=-1 "%%"); 11 11 11 11 11 11 11 11 65535
修饰符修饰符 功能数据最小宽度.>m,正常输出;<m ,左补空格t. 对实数,表示输出n位小数;对字符串,表示截取的字符个数.
m.n
–0
输出的数值靠左端,右边补空格。小于指定宽度左边补0 对 o 或 x 参数,用 0 或 0x开头.
#l
对于 d,o,x,u转义字符, 按长整数输出. 对于e,f,g转义字符,按
双精度浮点数输出.
…… 此处隐藏:1650字,全部文档内容请下载后查看。喜欢就下载吧 ……相关推荐:
- [外语考试]管理学 第13章 沟通
- [外语考试]07、中高端客户销售流程--分类、筛选讲
- [外语考试]2015-2020年中国高筋饺子粉市场发展现
- [外语考试]“十三五”重点项目-汽车燃油表生产建
- [外语考试]雅培奶粉培乐系列适用年龄及特点
- [外语考试]九三学社入社申请人调查问卷
- [外语考试]等级薪酬体系职等职级表
- [外语考试]货物买卖合同纠纷起诉状(范本一)
- [外语考试]青海省实施消防法办法
- [外语考试]公交车语音自动报站系统的设计第3稿11
- [外语考试]logistic回归模型在ROC分析中的应用
- [外语考试]2017-2021年中国隔膜泵行业发展研究与
- [外语考试]神经内科下半年专科考试及答案
- [外语考试]园林景观设计规范标准
- [外语考试]2018八年级语文下册第一单元4合欢树习
- [外语考试]分布式发电及微网运行控制技术应用
- [外语考试]三人行历史学笔记:中世纪人文主义思想
- [外语考试]2010届高考复习5年高考3年联考精品历史
- [外语考试]挖掘机驾驶员安全生产责任书
- [外语考试]某211高校MBA硕士毕业论文开题报告(范
- 用三层交换机实现大中型企业VLAN方案
- 斯格配套系种猪饲养管理
- 涂层测厚仪厂家直销
- 研究生学校排行榜
- 鄱阳湖湿地景观格局变化及其驱动力分析
- 医学基础知识试题库
- 2010山西省高考历年语文试卷精选考试技
- 脉冲宽度法测量电容
- 谈高职院校ESP教师的角色调整问题
- 低压配电网电力线载波通信相关技术研究
- 余额宝和城市商业银行的转型研究
- 篮球行进间运球教案
- 气候突变的定义和检测方法
- 财经大学基坑开挖应急预案
- 高大支模架培训演示
- 一种改进的稳健自适应波束形成算法
- 2-3-鼎视通核心人员薪酬股权激励管理手
- 我国电阻焊设备和工艺的应用现状与发展
- MTK手机基本功能覆盖测试案例
- 七年级地理教学课件上册第四章第一节




