- 2
- 0
- 约2.64千字
- 约 6页
- 2017-12-09 发布于河南
- 举报
c语言初学者入门讲座 第八讲 转移语句
c语言初学者入门讲座 第八讲 转移语句
(加入日期:2005-1-25)
程序中的语句通常总是按顺序方向, 或按语句功能所定义的方向执行的。如果需要改变程序的正常流向, 可以使用本小节介绍的转移语句。在C语言中提供了4种转移语句: goto,break, continue和return。 其中的return语句只能出现在被调函数中, 用于返回主调函数,我们将在函数一章中具体介绍。 本小节介绍前三种转移语句。 1.goto语句 goto语句也称为无条件转移语句,其一般格式如下: goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。 如: label: i++; loop: while(x7); C语言不限制程序中使用标号的次数,但各标号不得重名。goto语句的语义是改变程序流向, 转去执行语句标号所标识的语句。 goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。 但是,在结构化程序设计中一般不主张使用goto语句, 以免造成程序流程的混乱,使理解和调试程序都产生困难。 统计从键盘输入一行字符的个数。#includestdio.hvoid main(){ int n=0; printf(input a string\n); loop: if(getchar()!=\n) { n++; goto loop; } printf(%d,n);} int n=0;printf(input a string\n);loop: if(getchar()!=\n){ n++; goto loop;}printf(%d,n);?? 本例用if语句和goto语句构成循环结构。当输入字符不为\n时即执行n++进行计数,然后转移至if语句循环执行。直至输入字符为\n才停止循环。 break语句 break语句只能用在switch 语句或循环语句中, 其作用是跳出switch语句或跳出本层循环,转去执行后面的程序。由于break语句的转移方向是明确的,所以不需要语句标号与之配合。break语句的一般形式为: break; 上面例题中分别在switch语句和for语句中使用了break 语句作为跳转。使用break语句可以使循环语句有多个出口,在一些场合下使编程更加灵活、方便。 continue语句 continue语句只能用在循环体中,其一般格式是:continue; 其语义是:结束本次循环,即不再执行循环体中continue 语句之后的语句,转入下一次循环条件的判断与执行。应注意的是, 本语句只结束本层本次的循环,并不跳出循环。void main(){ int n; for(n=7;n=100;n++) { if (n%7!=0) continue; printf(%d ,n); }} 输出100以内能被7整除的数。 int n;for(n=7;n=100;n++){ if (n%7!=0) continue; printf(%d ,n);} 本例中,对7~100的每一个数进行测试,如该数不能被7整除,即模运算不为0,则由continus语句转去下一次循环。只有模运算为0时,才能执行后面的printf语句,输出能被7整除的数。#includestdio.hvoid main(){ char a,b; printf(input a string:\n); b=getchar(); while((a=getchar())!=\n){ if(a==b){ printf(same character\n); break; }b=a; }} 检查输入的一行中有无相邻两字符相同。char a,b;printf(input a string:\n);b=getchar();while((a=getchar())!=\n){ if(a==b){ printf(same character\n); break; }b=a;} 本例程序中,把第一个读入的字符送入b。然后进入循环,把下一字符读入a,比较a,b是否相等,若相等则输出提示串并中止循环,若不相等则把a中的字符赋予b,输入下一次循环。 输出100以内的素数。素数是只能被1 和本身整除的数。可用穷举法来判断一个数是否是素数。void main(){ int n,i;
您可能关注的文档
- 第十二章 生命体征的评估与护理115.doc
- 第十二章肌肉骨骼系统与结缔组织疾病病人的护理练习题doc.doc
- KEB变频器在J5注塑机上的应用与故障诊断.ppt
- 第七章 孔口、管嘴出流与有压管流.doc
- 常见休克的特点与治疗-权大荣.ppt
- 第2讲_医学伦理学的主要观点与基本理论(杨勇).ppt
- 第五章 泌尿与男性生殖系统疾病.doc
- 第05章维生素与无机盐.ppt
- 第一章教案_马克思主义中国化的历史进程与理论成果.doc
- 肺部术后并发症的诊断与治疗-1.ppt
- 2025-2026学年天津市和平区高三(上)期末数学试卷(含解析).pdf
- 2025-2026学年云南省楚雄州高三(上)期末数学试卷(含答案).pdf
- 2025-2026学年甘肃省天水市张家川实验中学高三(上)期末数学试卷(含答案).docx
- 2025-2026学年福建省厦门市松柏中学高二(上)期末数学试卷(含答案).docx
- 2025-2026学年广西钦州市高一(上)期末物理试卷(含答案).docx
- 2025-2026学年河北省邯郸市临漳县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省石家庄二十三中七年级(上)期末历史试卷(含答案).docx
- 2025-2026学年海南省五指山市九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省唐山市玉田县九年级(上)期末化学试卷(含答案).docx
- 2025-2026学年河北省邢台市市区九年级(上)期末化学试卷(含答案).docx
最近下载
- 原调正谱G小小蝴蝶la farfalletta钢琴伴奏高清打印版.pdf VIP
- 上海大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(B卷)附参考答案.pdf
- 广发证券-交通银行-601328-零售转型提速,定增落地夯实资本根基.pdf
- 上海大学2024-2025学年第1学期《高等数学(上)》期末考试试卷(A卷)附参考答案.pdf
- 循环系统护理小讲课.pptx
- 建筑屋面西瓦专项施工方案(范本).doc VIP
- 2024年山东铝业职业学院单招综合素质考试题库及答案1套.docx VIP
- 探究TIPS术后支架堵塞的影响因素及抗凝治疗的必要性:基于多维度分析与临床实践.docx
- 成品仓库出货明细表.pdf VIP
- 贵州省黔西南州2025年中考数学试卷及答案.pdf VIP
原创力文档

文档评论(0)