目录:
*if-else语句
*if-else if语句
*while循环
*do-while循环
*for循环
if-else语句
一个基本的if语句由一个关键字if开头,跟上在括号里的一个表示条件的逻辑表达式下,然后是一对大括号“{}”之间的若干条语句。如果表示条件的逻辑表达式的结果不是零,那么就执行后面跟着的这对大括号中的语句,否则就跳过这些语句不执行,而继续下面的其他语句。
例如:
#include<stdio.h>
int main()
{
const int PASS=60;
int score;
printf("请输入成绩:");
scanf("%d",&score);
printf("你输入的成绩是%d.\n",score);
if(score<PASS)
printf("很遗憾,这个成绩没有及格。");
else
printf("祝贺你,这个成绩及格了。");
printf("再见\n");
return 0;
}
if-else的嵌套式
嵌套的判断
.当if条件满足或者不满足的时候要执行的语句也可以是一条if或if-else语句,这就是嵌套的if语句
if(code==READY)
if(count<20)
printf("一切正常\n");
else
printf("继续等待\n");
#include<stdio.h>
int main()
{
const int READY=24;
int code=0;
int count=0;
scanf("%d %d",&code,&count);
if(code==READY)
if(count<20)
printf("一切正常\n");
else
printf("继续等待\n");
return 0;
}
while循环
·如果我们把while翻译作“当”,那么一个while循环的意思就是:当条件满足时,不断地重复循环体内的语句。
·循环执行之前判断是否继续循环,所以有可能循环一次也可能没有被执行。
数位数的算法
1.用户输入x;
2.初始化n为0;
3.x=x/10,去掉个位;
4.n++;
5.如果x>0,回到3;
6.否则n就是结果。
#include<stdio.h>
int main()
{
int x;
int n=0;
scanf("%d",&x);
n++;
x/=10;
while(x>0){
n++;
x/=10;
}
printf("%d\n",n);
return 0;
}
do-while循环
·在进行循环的时候不做检查,而是在执行完一轮循环体的代码之后,再来检查循环的条件是否满足,如果满足则继续下一轮循环,不满足则结束循环
do
{
<循环体语句>
}while(<循环条件>);
#include<stdio.h>
int main()
{
int x;
scanf("%d",&x);
int n=0;
do
{
x/=10;
n++;
}while(x>0);
printf("%d",n);
return 0;
}
for循环
for循环像一个计数循环:设定一个计数器,初始化它,然后再计数器达到某值之前,重复执行循环体,而每执行一轮循环,计数器以一定步进进行调整,比如加1或者减1
for(i=0;i<5;i=i+1){
printf("%d",i);
}
for=对于
·for(count=10;count>0;count--)
·就读成:“对于一开始的count=10,当count>0时,重复做循环体,每一轮循环在做完循环体内语句后,使得count--。”
阶乘
·n!=1×2×3×4×...×n
·写一个程序,让用户输入n,然后计算输出n!
·变量:
·显然读用户的输入需要一个int的n,然后计算的结果需要用一个变量保存,可以是int的factor,在计算中需要有一个变量不断地从1递增到n,那可以是int的i
#include<stdio.h>
int main()
{
int n;
scanf("%d",&n);
int fact=1;
int i=1;
while(i<=n){
fact*=i;
i++;
}
printf("%d!=%d\n",n,fact);
return 0;
}