一,if和else
- if语句,基础表达if(条件){操作}。其实简单,if语句就是如果满足括号里面的条件,那么就会运行括号里面的语句。
- else,接着if咯。Else对应的条件就是 if括号里面的条件的补集,除了if条件外的所有情况都满足else。
- 例子
#include "stdio.h"
int main()
{
int a,b,c;
scanf("%d %d %d",&a,&b,&c);
int t;
if (a>=b)
{t=a*c+(a-b)*2c;
//一定要加上;不然不算完整语句
}else{t=a*c;
//就是这里,else的使用规范,更方便看
}
printf("%d",t);
return 0;
}
二,Switch
- 用表达式与一系列的值进行比较。
对比if走程序一个个走下去,switch配对效率高得多。
2,例子
#include "stdio.h"
int main()
{ int p;
scanf("%d",&p);
switch(p)
//用p的赋值与每一个case的值对比,快速匹配
case 1:
printf("good");
break;
case 2:
printf("nice");
break;
default:
printf("what");
break;
}
return 0;
}
3,case,break和default
Case后跟一个常量,为与p(赋值)配对,break语句用以为破开循环,去往下一步,default应对的是p值与case后常值无法配对的情况,除了可配对值外所有的值对应的就是default后对应的程序。
三,循环
- For:最基础的格式(前置条件(如i=1);条件:i++){}
#include
int main(void)
{
int n;
int fac(int n);
scanf("%d",&n);
printf("%d",fac(n));
return 0;
}
int fac(int n)
{
int t=1,a;
for (a = 1;t < a; a++)
{t=t*a;
}
return t;
}
- While:格式:while(条件){每一个语句都要加分号}
#include
int main(void)
{
int n;
int fac(int n);
scanf("%d",&n);
printf("%d",fac(n));
return 0;
}
int fac(int n)
{
int t=0,a;
a = 0;
while (t<=a)
{t++;
t=t*a;
}
return t;
}
- do while:格式:do{}while()
#include
int main(void)
{
printf("number");
int a,b=0;
scanf("%d",&a);
do
{a=a/10;
b++;
}while (a>0);
printf("%d",b);
return 0;
}
四,三者的区别
For和while语句就初学者而言基本没有区别,do while和while的区别主要体现在条件设置的前与后。由图可见:
四,一些练习
- 检验素数
#include
int main()
{
printf("输入一个大于2的数");
int a=2,b,c=13,d;
scanf("%d",&c);
while(a if (c%a==0){ d=1; break; }else{ d=0; a++; } } if(d==1){ printf("非"); } if(d==0){ printf("素数"); } return 0; } #include int main() { int d[40],a,b,c,i; //斐波那契数列 a=0,b=1; printf("%d %d",a,b); for(i=2;i<=40;i++){ c=a+b; d[i]=c; c=b; b=a; printf(" %d",d[i]); } return 0; } 五,结束 1,这周的学习相较上周,难度有了不小的提升,尤其是循环的嵌套,常让人眼花连乱,我感觉自己还需多加练习,再接再厉吧。



