C语言培训_005

来源:互联网 发布:linux timekeeper 编辑:程序博客网 时间:2024/05/17 02:51

循环语句

while(){}

  特点:先判断括号中的值(或者说是判断括号中的条件),值为0,则不执行,非0则循环。到下一次再开始判断。
#include"windows.h"#include"stdio.h"int main(){int num;int temp;temp=scanf("%d",&num);printf("输入整数开始循环,输入字母停止循环。");while(temp==1){printf("*****输入的数字为%d\n",num);temp=scanf("%d",&num);}system("pause");return 0;}
将上述代码简化一下:
#include"windows.h"#include"stdio.h"int main(){int num; while(scanf("%d",&num)){printf("****输入的数字为%d\n",num);}system("pause");return 0;}

do{}while();

注意这里有分号,特点是,先做一次,再看while()条件。

来看看下面程序,说说他们执行了几次,特点是什么。

#include"windows.h"#include"stdio.h"int main(){int i=0;int sum=0;do{i++;sum+=i;}while(i<100);int j=0;int soo=0;while(j<5){soo=soo+j;}int a=0;int m=0;do{a++;m=m+1;}while(a<0);printf("%d\n",sum);system("pause");return 0;}

for( *1号位置* ; *2号位置* ; *3号位置* )

特点:先执行一次1号位置代码,以后1号位置则不再执行,再判断2号位置的条件成立则执行主体的花括号代码。最后执行3号位置代码。然后再进入2号位置判断,再进入花括号,再进入3号位置……
#include"windows.h"#include"stdio.h"int main(){int sum=0;for(int i=0;i<-5;i++){sum++;}printf("%d\n",sum);system("pause");return 0;}


运算符

a++;先用后加。

++a;先加后用。

break和continue与goto

break,终止本层循环。
continue,跳过本层循环的一次
goto,跳到指定位置。(一般可以用其它来替换它)
#include"windows.h"#include"stdio.h"int main(){for(int i=0;i<10;i++){if(i%2==0){continue;//当可以被2整除,直接跳到下一次循环。}printf("%d\n",i);}printf("******************************");for(int i=0;i<10;i++){if(i%2==0){break;//当可以被2整除,终止整个循环。}printf("%d\n",i);}system("pause");return 0;}
来看一下goto:

#include"windows.h"#include"stdio.h"int main(){int x=0;while(x++!=20){printf("本次循环变量为%d\n",x);if(x==10){goto loopA;}}loopB:goto loopD;loopA:printf("跳转后的第一行代码\n");loopC:goto loopB;loopD:printf("loopD\n");system("pause");return 0;}



嵌套

循环里面还有循环,就是循环的嵌套。可以嵌套很多层的。
#include"windows.h"#include"stdio.h"int main(){for(int i=1;i<11;i++){int j=1;while(j<11){printf("%d\t",j++);}printf("\n");}system("pause");return 0;}

输出乘法表:

#include"windows.h"#include"stdio.h"int main(){for(int i=1;i<11;i++){for(int j=1;j<=i;j++){printf("%2d*%2d=%2d  ",j,i,i*j);}printf("\n");}system("pause");return 0;}


if() else if() else 的初步学习

  这是一种选择结构。
  先判断 if() ,再判断 else if() ,其中else if 可能有很多,最后判断 else 遇到第一个判断成立的则进入其中,进入之后其他后来的都不再判断不再执行。
例子:
#include"windows.h"#include"stdio.h"int main(){int temp;scanf("%d",&temp);if(temp>0){if(temp%2==0){ printf("正偶数\n");}else{printf("正奇数\n");} }else if(temp==0){printf("0\n");}else if(temp==-1){printf("-1\n");}else{printf("不等于-1的负整数"); }system("pause");return 0;}

判断闰年:

#include"windows.h"#include"stdio.h"int main(){int year;scanf("%d",&year);if(year%4==0&&(year%100!=0||year%400==0)){printf("闰年\n");}else{printf("不是闰年");}system("pause");return 0;}


0 0
原创粉丝点击