C 语言程序设计 主讲人:王 英.

Slides:



Advertisements
Similar presentations
比一比,谁算得又快又准? 8+16 = =21 3×25 =75 比一比,谁算得又快又准? 9×9+7 = =482 注意: 先乘除,后加减.
Advertisements

1 第 3 章 C++ 中的条件与循环 第 3 次见面! acm.nefu.edu.cn/C++_03.ppt.
While 迴圈 - 不知重複執行次數
CSIM, PU C Language Introduction to the C Programming Language 重覆敘述 (for,while,break,continue) 適合重複性的計算或判斷.
1、什么是预算会计? 2、预算会计的组成体系? 3、预算会计的要素和会计等式? 4、预算会计的特点?
第4章 條件判斷與迴圈 Java 2 程式設計入門與應用.
迴圈 迴圈基本觀念 while迴圈 do 迴圈 for迴圈 巢狀迴圈 迴圈設計注意事項 其他控制指令 迴圈與選擇的組合.
“八皇后”问题 崔萌萌 吕金华.
第六章 循环控制.
C语言实验 第二课.
C语言实验 第一课 标题:学号+姓名.
数学建模与MATLAB 第五讲:循环结构(1) 2017/9/12.
第3章 While循环程序设计.
C语言程序设计教程 (第4版) 第5章 循环结构 李丽娟 2013年2月.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
第三章 控制结构.
C#程序设计基础 $5 流程控制.
循环结构又称为重复结构:用来处理需要重复处理的问题,它是程序中一种很重要的结构。
Class 2 流程控制-選擇敘述與迴圈.
C程序设计.
第 四 章 循环结构 while语句 do {} while 语句 break和continue语句
EBNF 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
循环结构 NEAU ACM-ICPC TEAM 主讲人:NEAU_ACM_Team.
第3章 C语言的基本语句 和程序结构设计.
走进编程 程序的顺序结构(二).
Introduction to the C Programming Language
第六章 循环结构程序设计 概述 while 语句 do-while 语句 for 语句 循环的嵌套 几种循环的比较
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第五讲 四则运算计算器(一) 精品教程《C#程序设计与应用(第2版)清华大学出版社 谭恒松 主编
第五章 循环结构的C程序设计 5.1 while循环语句 5.2 do-while循环语句 5.3 for循环语句 5.4 多重循环
第二章 Java语言基础.
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
計數式重複敘述 for 迴圈 P
第六章 循环控制.
授课老师:龚涛 信息科学与技术学院 2016年3月 教材:《Visual C++程序员成长攻略》 《C++ Builder程序员成长攻略》
第4讲 C++程序控制结构(二) 4.1 循环结构 4.2 转向控制 4.3 综合案例分析.
第4章 PHP流程控制语句.
程序的三种基本结构 if条件分支语句 switch多路开关语句 循环语句 循环嵌套 break,continue和goto语句
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
C语言概述 第一章.
程式結構&語法.
第三章 C++的语句和简单的程序设计 主要内容:
C++语言程序设计 C++语言程序设计 第三章 控制语句 第十一组 C++语言程序设计.
C 语言程序设计 程序的循环结构 电大崇信县工作站 梁海亮.
第2章 算法与C语言程序 程序 (1)数据的描述:数据的类型和组织形式(数据结构) (2)操作的描述:操作步骤(算法) 沃思指出:
函式庫補充資料.
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
成绩是怎么算出来的? 16级第一学期半期考试成绩 班级 姓名 语文 数学 英语 政治 历史 地理 物理 化学 生物 总分 1 张三1 115
第4章 Excel电子表格制作软件 4.4 函数(一).
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
第九节 赋值运算符和赋值表达式.
College of Computer Science & Technology
1.2基本算法语句 1.2.3循环语句.
输入语句 输出语句 赋值语句 条件语句 循环语句
多层循环 Private Sub Command1_Click() Dim i As Integer, j As Integer
隨機數 (亂數) 10後,取餘數 n = rand(); 利用 Code::Block 驗證一下 n = rand() %10; 998
程序设计基础.
第二章 Java基本语法 讲师:复凡.
第五章 逻辑运算和判断选取控制 §5.1 关系运算符和关系表达式
Do While 迴圈 東海大學物理系‧資訊教育 施奇廷.
講題 :課程發展委員會的組織與運作機制 主講人:臺北市立明倫高中 教務主任王文珠.
五 循环结构程序设计 厦大附中信息技术.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
任课教师:戴开宇 TA:时均帅、谭肖、王安华 程序设计B班 :20-16:50(90分钟)
第六讲 酒店客房管理系统(二) 教育部“十二五”职业教育国家规划教材
顺序结构程序设计 ——关于“字符串”和数值.
考察点:switch\while\for System.in\Scanner char vs int
第二章 Java基本语法 讲师:复凡.
函式庫補充資料 1.
隨機函數.
Presentation transcript:

C 语言程序设计 主讲人:王 英

项目五:循环控制——加减法练习 任务一:程序的界面设计及循环语句概述 任务二:使用while语句实现加法练习 任务三:使用do_while语句实现加法练习 任务四:使用for语句实现加减法练习 任务五:对用户的计算结果进行判断,给出成绩 任务六:完善程序,实现重复练习 主讲人:王英

任务一:程序的界面设计及循环语句概述 程序的总体设计 本项目是供用户进行加减法练习的系统。系统随机给出加减法题,用户输入答案,系统给出结果的判断,并给出成绩,用户可以重复练习。 根据以上分析可以得到程序流程图如下: 主讲人:王英

任务一:程序的界面设计及循环语句概述 1 3 2 Y N 程序流程图 开始 显示欢迎信息 提示用户下一步操作 获得用户输入 加法题 减法题 退出 统计并显示成绩 结束 再来一次 1 2 3 N Y 程序流程图 主讲人:王英

任务一:程序的界面设计及循环语句概述 goto while for do-while 程序设计中的循环(简称循环)是指在程序设计中,从某处开始有规律地反复执行某一操作块(或程序块)。如果循环永远不会终止,这样的循环就称为死循环。 for goto while do-while C中常使用的循环语句

注意:一般很少使用,goto语句只有在不得已时使用。 任务一:程序的界面设计及循环语句概述 goto语句(无条件转向语句) 一般格式: goto 语句标号; 如: loop:if(i<=100) { sum=sum+i; i++; goto loop; } 注意:一般很少使用,goto语句只有在不得已时使用。 主讲人:王英

while语句用来实现“当型”循环结构。 循环体 ; 格式中的循环体,可以是单个语句、空语句,也可以是复合语句。 主讲人:王英

任务二:使用while语句实现加法练习 代码如下: srand(time(0)); while(i<10) { a=rand(); 想一想:怎样能产生100以内的随机数 while(i<10) { a=rand(); b=rand(); result=a+b; printf(“%d+%d= ”,a,b); } srand(time(0)); 主讲人:王英

含义:产生一个随机整数。范围在0至RAND_MAX之 间。RAND_MAX定义在stdlib.h中,其值为2147483647。 任务二:使用while语句实现加法练习 rand()函数 含义:产生一个随机整数。范围在0至RAND_MAX之 间。RAND_MAX定义在stdlib.h中,其值为2147483647。 说明: 使用该函数必须引入头文件“stdlib.h”; rand()产生的随机数是通过确定的方法计算出来的,称伪随机数 。 产生多个不同随机数需要使用srand()函数。 主讲人:王英

任务二:使用while语句实现加法练习 srand()函数 rand()函数在计算时需要有一个初始值,这个值称为种子,使用srand()函数可以设定一个种子; srand()函数中的参数必须为一个整数,如果设定为一个常数,则使用rand()多次执行得到的值仍然为相同的值;如果希望每次执行得到不同的值,则可以使用time(0)作为参数;例如:srand(time(0)); 使用该函数必须使用引入头文件time.h 系统时间函数 主讲人:王英

任务三:使用do-while语句实现加法练习 循环体 while(表达式) ; do-while语句与while语句的区别: while先判断,再执行; do-while语句先执行,再判断 ,所以该语句至少执行一次; 主讲人:王英

任务三:使用do-while语句实现加法练习 代码如下: srand(time(0)); do { a=rand(); b=rand(); result=a+b; printf(“%d+%d= ”,a,b); } while(i<10) 主讲人:王英

for语句可以用于循环次数已经确定的情况,还可用于循环次数不确定而只给出循环结束条件的情况。 循环体 主讲人:王英

for(int i=0;i<10;i++) { a=rand(); b=rand(); result=a+b; 代码如下: srand(time(0)); for(int i=0;i<10;i++) { a=rand(); b=rand(); result=a+b; printf(“%d+%d= ”,a,b); } srand(time(0)); for(int i=0;i<10;i++) { a=rand(); b=rand(); result=a-b; printf(“%d+%d= ”,a,b); } 主讲人:王英

if(result==c) { printf("正确\n"); num++; } 任务五:对用户的结果进行判断,给出成绩 以for语句为例,代码如下: //实现加法练习,并对结果进行判断 srand(time(0)); for(int i=0;i<10;i++) { a=rand()%100; b=rand()%100; result=a+b; printf(“%d+%d= ”,a,b); scanf("%d",&c); if(result==c) printf("正确\n"); else printf("错误\n"); } printf(“您做对%d个题”,num); if(result==c) { printf("正确\n"); num++; } 主讲人:王英

已知循环变量初始值和终止值时,三种语句可以相互代替 任务五:对用户的结果进行判断,给出成绩 三种循环语句的比较: 执行次数 for和while先判断后执行,所以可能一次也不执行; do-while是先执行后判断,所以至少执行一次; 循环变量初始值 do-while和while必须在该语句之前赋初值; for一般在表达式1中赋初值; 循环次数 次数确定:使用for语句 次数不确定:使用while 和 do-while 已知循环变量初始值和终止值时,三种语句可以相互代替 主讲人:王英

循环语句是可以相互嵌套的,最多允许16层。例如: 任务五:对用户的结果进行判断,给出成绩 循环语句是可以相互嵌套的,最多允许16层。例如: for(int i=1;i<10;i++) { int j=1; for(;j<=i;j++) printf(“%d*%d=%d”,i,j,i*j); } 该函数的功能输出九九乘法表 主讲人:王英

任务六:完善程序,实现重复练习 实现重复练习的代码如下: } char again=‘y’; while(again==‘y’||again==‘Y’) { //界面设计 …… if(choice==1) …..//加法练习 if(choice==2) ……//减法练习 if(choice==3) exit(0);//退出程序 fflush(stdin); //清除缓冲区,stdin标准输入 printf(“ 你想再输入一次吗?(Y/N)\n”); scanf(“%c”,&again); system(“cls”); //清除屏幕上的内容 } 主讲人:王英

知识扩展 任务六:完善程序,实现重复练习 break语句 作用是结束循环体;在switch语句中用来跳出switch语句。 continue语句 作用是结束本次循环,忽略continue后面的语句,执行下一次循环判定。 主讲人:王英

知识扩展 任务六:完善程序,实现重复练习 break语句 作用是结束循环体;在switch语句中用来跳出switch语句。 continue语句 作用是结束本次循环,忽略continue后面的语句,执行下一次循环判定。 主讲人:王英

函数的功能是:从键盘循环输入字符,每当输入Enter键时,输出刚才输入的字符个数,再次输入重复统计,直到按下Esc键结束程序。 任务六:完善程序,实现重复练习 国家二级历年真题 main() { int i=0; char c; while(1) { c=‘\0’; while(c!=13&&c!=27) { c=getchar(); printf(“%c\n”,c); } if(c==27) break; i++; printf(“输入字符的个数是:%d\n”,i); printf(“The end”); 13—回车键 27—ESC键 函数的功能是:从键盘循环输入字符,每当输入Enter键时,输出刚才输入的字符个数,再次输入重复统计,直到按下Esc键结束程序。 主讲人:王英

任务六:完善程序,实现重复练习 国家二级历年真题 #include "stdio.h“ main() { int i,n=0; for(i=2;i<5;i++) do { if(i%3) continue; n++; }while(!i); } printf("n=%d\n",n); 当i%3==1时执行下一次for循环 主讲人:王英

提示:可以使用contiue语句 任务六:完善程序,实现重复练习 除法运算中除数为零时的处理方法 想一想:如果将加减法练习系统改为算术运算练习系统,即改为能够进行加减乘除运算,怎么修改程序? 除法运算中除数为零时的处理方法 提示:可以使用contiue语句 主讲人:王英

任务六:完善程序,实现重复练习 作业: P91-8 P92-11 P93-18 主讲人:王英

Thank You !