




已阅读5页,还剩34页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章 程序设计初步,3.1 面向过程的程序设计和算法 3.4 C+输入和输出的补充 3.5 编写顺序结构的程序 3.7 选择结构和 if 语句 3.9 多分支选择结构和 switch 语句 3.10 编写选择结构的程序 3.11 循环结构和循环语句 3.12 循环的嵌套 3.13 break 语句和 continue 语句 3.14 编写循环结构的程序,3.1 面向过程的程序设计和算法3.1.1 算法的概念,一个面向过程的程序应包括的内容: 对数据的描述 在程序中指定数据的类型和组织方式数据结构 对操作的描述 即操作步骤算法 面向过程的程序可表示为 程序 = 算法 + 数据结构,3.1.2 算法的表示,例1:键盘输入任意两个整数,屏幕输出两数之和。,算法的表示方法 自然语言 流程图 伪代码 程序设计语言,step1: 定义变量a,b存放两个整数,变量sum存放和; step2: 键盘输入a 和 b的值; step3: a+b的值赋予 sum; step4: 输出sum的值;,1.用自然语言表示,2. 流程图表示法,例1:键盘输入任意两个整数,屏幕输出两数之和。,3.1.2 算法的表示,流程图符号:,起止框,输入输出框,处理框,连接点,流程线,判断框,注释框,定义整型变量a,b,sum input a,b sum=a+b output sum,3.用伪代码表示,3.1.2 算法的表示,例1:键盘输入任意两个整数,屏幕输出两数之和。,4.程序设计实现,#include using namespace std; int main( ) int a, b, sum; cin a b; sum=a+b; cout “sum=“ sum; return 0; ,C+的语句,声明语句 如变量定义: int x,y; 执行语句 控制语句 如: if ( ) else (条件语句), for ( ) (循环语句) 函数和流对象调用语句 如:cinab; 表达式语句表达式加分号 如: i=i+1 / 是一个赋值表达式 i=i+1; / 是一个赋值语句,等价于 i+; i+1; / 表达式语句,但没有意义,C+的语句,空语句 只有一个单独的分号: ; 有时用来做为转向点或循理语句的某种特例。 使用空语句时应该加上注释,以便任何读代码的人都知道该语句是有意省略。 复合语句(块) 用一对花括号括起来的语句序列(也可能是空的)。 如: z=x+y; if (z100) z=z-100; cout z; ,常用的输出格式控制符 #include ,3.4.2 在输入流与输出流中使用控制符,例: 输出双精度数。已知:double a=123.456789012345;,3.4.2 在输入流与输出流中使用控制符,例: 输出整数。已知:int b=123456;,3.4.2 在输入流与输出流中使用控制符,例3.1 各行小数点对齐。 #include #include using namespace std; int main( ) double a=123.456, b=3.14159, c= -3214.67; coutsetiosflags(iosfixed)setiosflags(iosright)setprecision(2); coutsetw(10)aendl; coutsetw(10)bendl; coutsetw(10)cendl; return 0; ,3.4.2 在输入流与输出流中使用控制符,123.46 3.14 -3214.67,先统一设置定点形式输出、取两位小数、右对齐。 这些设置对其后的输出均有效(除非重新设置),而setw( )只对其后一个输出项有效,因此必须在输出a,b,c之前都要写setw(10)。,输出结果:,putchar函数 作用是向终端输出一个字符。 例如:putchar(c); /它输出字符变量的值。,3.4.3 putchar字符输出函数,例3.2 输出单个字符。 #include using namespace std; int main( ) char a,b,c; a=B;b=O;c=Y; putchar(a); putchar(b); putchar(c); putchar(n); putchar(66); putchar(79);putchar(89);putchar(10); return 0; 运行结果为 BOY BOY,3.4.3 putchar字符输出函数,getchar函数 作用是从键盘输入一个字符。 如:c=getchar() / 它将键盘输入的一个字符赋予变量c,例3.3 输入单个大写字母。 #include using namespace std; int main( ) char c; c=getchar( ); putchar(c+32); return 0; A a,3.4.3 getchar字符输入函数,此程序实现大写字母转换成小写字母,3.3.4 用scanf和printf函数进行输入和输出,在C语言中用scanf函数进行输入,用printf函数进行输出。C+保留了这一用法。,scanf函数一般格式为,printf函数一般格式为,scanf(格式控制,输入列表),printf (格式控制,输出列表),格式输入与输出,格式输出函数 函数作用:向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据。 一般格式:printf(格式控制,输出表列) 格式控制: %d:以带符号的十进制形式输出整数 %o:以八进制无符号形式输出整数 %x:以十六进制无符号形式输出整数,%u:以无符号十进制形式输出整数 %c:以字符形式输出,只输出一个字符 %s:输出字符串 %f:以小数形式输出单,双精度数,隐含输出六位小数 %e:以指数形式输出实数 %g:选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0,格式输入与输出,o格式符。以十六进制数和八进制数形式输出整数。 同样不会出现负的十六进制数和八进制数。 例: int ; printf(,); 输出结果为: ffffffff,37777777777,,格式输入与输出,格式符,用来输出一个字符。 如:char d; printf(,d); 输出字符. 一个整数,只要它的值在范围内, 可以用“”使之按字符形式输出,在输出前, 系统会将该整数作为ASCII码转换成相应的字符; 一个字符数据也可以用整数形式输出。,格式输入与输出,字符数据的输出。 #include using namespace std; void main() char c=a; int i=97; printf(“%c,%dn”,c,c); printf(“%c,%dn”,i,i); ,格式输入与输出,s格式符 输出字符串. 。例如: printf(,CHINA) 或者 printf(“CHINA”); 输出字符串“CHINA”(不包括双引号)。,格式输入与输出,格式符。用来以小数形式输出实数(包括单双精度) 。不指定字段宽度,由系统自动指定字段宽度, 使整数部分全部输出,并输出位小数。应当注意, 在输出的数字中并非全部数字都是有效数字.,格式输入与输出,输出实数时的有效位数。 #include using namespace std; int main() float x,y;x=111.111;y=222.222; printf(“%f“,x+y); return 0; ,格式输入与输出,运行结果:333.333000,输出双精度数时的有效位数 #include using namespace std; int main( ) double x,y; x=1111111111111.111111111; y=2222222222222.222222222; printf(“%f“,x+y); return 0; ,运行结果: 3333333333333.333000,格式输入与输出,格式符,以指数形式输出实数。 可用以下形式: :不指定输出数据所占的宽度和数字部分的 小数位数. 例: printf(,123.456); 输出: 1.234560e+002 所输出的实数共占13列宽度。 (注:不同系统的规定略有不同),格式输入与输出,格式符,用来输出实数. 它根据数值的大小,自动选格式或格式 (选择输出时占宽度较小的一种),且不输出无 意义的零。 例:若123.468,则 printf( , , , f , f , f); 输出如下: 123.468000, 1.234680e+002, 123.468 10列 13列 7列,格式输入与输出,说明: 除了X,E,G外,其他各式字符必须用小写。 可以在printf函数中的“格式控制”字符串中包含转义字符。 一个格式说明必须以“%”开头,以9个格式字符之一为结束,中间可以插入附加格式字符。 想输出%,则应该在格式控制字符串中用连续两个%表示,格式输入与输出,格式输入函数 函数作用:按照变量在内存的地址将变量值存 进去。 一般格式:scanf(格式控制,地址表列),同printf函数,是由若干个地址组成的表列,可以是变量的地址,或字符串的首地址,格式输入与输出,用scanf函数输入数据。 #include using namespace std; int main() int a,b,c; scanf(“%d%d%d”,a在内存中的地址 &是地址运算符,格式输入与输出,说明: 对unsigned型变量所需要的数据,可以用%u,%d或%o,%x格式输入。 可以指定输入数据所占的列数,系统自动按它截取所需数据。 如果在%后有一个“*”附加说明符,表示跳过它指定的列数。 输入数据时不能规定精度。,格式输入与输出,使用scanf函数时应注意的问题 : (1)scanf函数中的“格式控制”后面应当是 变量地址(例如形式:&a),而不应是变量名。 (2) 如果在“格式控制”字符串中除了格式说明以 外还有其他字符,则在输入数据时在对应位置应 输入与这些字符相同的字符。 (3) 在用“”格式输入字符时,空格字符和 “转义字符”都作为有效字符输入 。,格式输入与输出,(4) 在输入数据时,遇以下情况时认为该数据结束。 遇空格,或按“回车”或“跳格”(Tab)键; 按指定的宽度结束,如“”,只取列; 遇非法输入,格式输入与输出,例3.5 求一元二次方程式ax2+bx+c=0的根。a,b,c的值在运行时由键盘输入,它们的值满足b2-4ac0。 #include #include /包含数学函数 sqrt 的头文件cmath using namespace std; int main( ) float a,b,c,x1,x2; cinabc; x1=(-b+sqrt(b*b-4*a*c)/(2*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大学生职业规划大赛《应用统计学专业》生涯发展展示
- 筑牢安全防线心得体会模版
- 考勤情况管理条例解读
- 幼教法律试题库及答案
- 油田消防知识试题及答案
- 银行面试题目及答案大全
- 医院消防常识考试题库及答案
- 行测公务员试题及答案
- 影视后期制作及海外发行合作协议
- 物流服务质量监控补充协议
- 第7课《溜索》一等奖创新教学设计
- WMO五年级初级测评专项训练
- 班主任节PPT幻灯片课件
- 北师大高中英语必修一 (Celebrations)课件(第8课时)
- 中兴(ZXA10-XPON)高级工程师认证考试题库(含答案)
- 单值-移动极差X-MR控制图-模板
- 建筑水电安装施工专项方案
- 离婚协议书电子版可打印
- 天然气输气管道
- 2023届高三语文模拟试卷及参考答案2023年全国高考(重庆卷)语文试题及答案
- 洁净风管制作安装技术方案
评论
0/150
提交评论