- 1、本文档共56页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第五章 循环结构人民邮电 管银枝主篇 好
第五章 循环结构 在前面的章节中,我们学习了顺序结构和选择结构,而在编制程序解决一个较大问题的时候,往往会遇到这样的情况:多次反复执行同一段程序。例如,让计算机连续地输出100个随机数以检查产生的随机性是否好,累加求和,密码验证等等。类似这样的问题,有些可以利用简单的顺序结构语句来编写(如,可用100个printf输出随机数),但编写出来的程序往往很长,效率较低。这时,就需要使用循环结构程序设计。通过循环才能真正发挥计算机的运行速度快的优势,这样只需编写一个较短的程序,而让计算机循环运行多条语句,完成较大问题的运算。 本章除了介绍while、do-while和for三种循环语句外,还将介绍break和continue语句和流程转向goto语句以及循环嵌套语句。 5.1 while语句 前面条件结构选择中的我们做过这样两个案例:第一,编写一个程序,实现学生信息管理系统的登录验证,即从键盘输入用户的用户名和密码,判断用户输入的用户名和密码是否均正确。根据输入的用户名和密码是否均正确,从而显示“登录成功”或者“登 录失败”。第二,编写一个程序,完成学生信息管理系统主菜单选项的功能。包含6个选项: 那么现在要求:此时的密码要能与实现中的密码一样,能显示星号***;当输入的用户名和密码均正确后,能进入学生信息管理系统主菜单,进行菜单选择,且要求进入一个菜单完成一定功能后(此时只要能提示相应的功能信息即可,具体实用功能将在函数那章完成)能返回到主菜单,供用户再次选择;若用户在选择菜单时不是选择0~5之间的数,将提示用户重新选择。 同前面第4章节中一样,要判断输入的用户名和密码是否均正确,从而显示“登录成功”或者“登录失败”这一问题,仍需要用到选择结构中的if…else语句。 从键盘输入用户名和密码,然后利用字符串比较函数strcmp()实现判断从键盘输入的用户名和初始用户名是否相等,从键盘输入的用户密码和初始用户密码是否相等。 程序清单如下: #include stdio.h #include conio.h #includestring.h main() { char temp; char username[11]; /* 用户名*/ char userpass[9]; /* 用户密码*/ char initname[]={eileen}; /* 初始用户名*/ char initpass[]={888888}; /* 初始用户密码*/ int select,i; /* select表示用户输入的选择菜单的数字,如0-5数字 */ textbackground(BLUE); /* 设置背景色为蓝色,注意BLUE必须大写,颜色可更改*/ textcolor(WHITE); /* 设置前景色为白色*/ clrscr(); /* 清屏,使设置生效*/ gotoxy(23,8);printf(*******欢迎进入学生信息管理系统*******); gotoxy(30,10);printf(请输入用户名:); scanf(%s,username); /*从键盘输入用户名*/ gotoxy(30,12);printf(请输入密码:); /*scanf(%s,userpass); 这是以前不能显示***的密码输入方法 */ i=0; /*从键盘输入用户密码*/ while((temp=getch())!=13) { userpass[i++]=temp; putchar(*); } userpass[i]=\0; if (strcmp(username,initname)==0strcmp(userpass,initpass)==0) /* 用户名和密码正确 */ { gotoxy(30,14); printf(用户名和密码正确,登录成功); } else { gotoxy(30,14); printf(登录失败!); /*system(pause);*/ exit(1); } textbackground(BLUE); /* 设置背景色为蓝色,注意BLUE必须大写,颜色可更改*/ textcolor(WHITE); /* 设置前景色为白色*/ while(1) { clrscr(); /* 清屏,使设置生效*/ label:/*此处由于没学
文档评论(0)