详解C语言 三大循环 四大跳转 和判断语句
三大循环forwhile和do{}while;
四大跳转:
无条件跳转语句goto;
跳出循环语句break;
继续跳出循环语句continue;
返回值语句return
判断语句if,ifelse,ifelseifelseif...else
ifelse组合
if(0==x) if(0==y)error(); else{ //programcode }
else到底与那个if配对C语言有这样的规定:
else始终与同一括号内最近的未匹配的if语句结合。
if语句后面的分号
if(NULL!=p); fun();
这里的fun()函数并不是在NULL!=p的时候被调用,而是任何时候都会被调用。问题就出
在if语句后面的分号上。在C语言中,分号预示着一条语句的结尾,但是并不是每条C语言
语句都需要分号作为结束标志。if语句的后面并不需要分号,但如果你不小心写了个分号,
编译器并不会提示出错。因为编译器会把这个分号解析成一条空语句。也就是上面的代码实
际等效于:
if(NULL!=p) { ; } fun();
switch、case组合
if、else一般表示两个分支或是嵌套表示少量的分支,但如果分支很多的话……还是用
switch、case组合。
基本格式为:
switch(variable) { casevalue1; //code; break; casevalue2; //code; break; casevalue3; //code; break; casevalue4; //code; break; default: break; }
1、case语句后面不要忘记加break;
2、最后必须使用default分支。即使程序真的不需要default处理,也应该保留
语句:
default:
break;
这样做并非画蛇添足,可以避免让人误以为你忘了default处理应该得要。
case后面必须是整型或字符型的常量或常量表达式。
do、while、for关键字
C语言中循环语句有三种:while循环、do-while循环、for循环。
while循环:先判断while后面括号里的值,如果为真则执行其后面的代码;否则不执
行。while(1)表示死循环。死循环有没有用呢?看下面例子:
比如你开发一个系统要日夜不停的运行,但是只有操作员输入某个特定的字符‘#'才
可以停下来。
while(1) { if(‘#'==GetInputChar()) { break; } }
break与continue的区别
break关键字很重要,表示终止本层循环。现在这个例子只有一层循环,当代码执行到
break时,循环便终止。
#include<stdio.h> intmain() { flaotarea,pi=3.1415926; intr; for(r=0;r<100;r++) { area=pi*r*r; if(area>100)//当area>100时就跳出for循环 break; } printf("area=%d\n",area); }
continue表示终止本次(本轮)循环。当代码执行到continue时,本轮循环终止,进入下一轮循环。具有过滤功能。
#include<stdio.h> intmain() { inti=0,sum=0; for(i=0;i<10;i++) { if(i%3==0)//当i%3==0时就continue;继续下一次循环把0~10中3的整数倍滤除掉 { printf("i=%d",i); continue; } sum=sum+i; } printf("sum=%d\n",sum); }
do-while循环:先执行do后面的代码,然后再判断while后面括号里的值,如果为真,
循环开始;否则,循环不开始。其用法与while循环没有区别,但相对较少用。
for循环:for循环可以很容易的控制循环次数,多用于事先知道循环次数的情况下
循环语句的注意点
长循环在最内层,效率高
for(col=0;col<5;col++) { for(row=0;row<100;row++) { sum=sum+a[row][col]; } }
长循环在最外层,效率低
for(row=0;row<100;row++) { for(col=0;col<5;col++) { sum=sum+a[row][col]; } }
循环要尽可能的短,要使代码清晰,一目了然
For循环举个例子9*9乘法表
#include<stdio.h> intmain() { inti,j,sum=0; printf("输出9*9乘法表:\n"); for(i=1;i<10;i++) { for(j=1;j<=i;j++) { sum=i*j; printf("%d*%d=%d",j,i,sum); } printf("\n"); } return0; }
打印出:
输出9*9乘法表:
1*1=1 1*2=22*2=4 1*3=32*3=63*3=9 1*4=42*4=83*4=124*4=16 1*5=52*5=103*5=154*5=205*5=25 1*6=62*6=123*6=184*6=245*6=306*6=36 1*7=72*7=143*7=214*7=285*7=356*7=427*7=49 1*8=82*8=163*8=244*8=325*8=406*8=487*8=568*8=64 1*9=92*9=183*9=274*9=365*9=456*9=547*9=638*9=729*9=81
记得开始学c语言时对于这些打印感觉很难,其实就是不会用for,没有好的程序理解能力,也就不会想到这些算法,现在慢慢有了基础,对于这些小程序也就运用好的很娴熟了。
return用来终止一个函数并返回其后面跟着的值。
return(Val);//此括号可以省略。但一般不省略,尤其在返回一个表达式的值时。
以上所述是小编给大家介绍的详解C语言三大循环四大跳转和判断语句,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!