这章主要讲的是循环if、for、switch、while
if语句表达式为:
if(条件表达式)
{执行代码};
else if(条件表达式)
{执行代码};
else
{执行代码}
如果第一个if()语句表达式为真,则执行{}里的代码;
否则判断下一个else if(),如果为真则执行{}里的代码;
如果为假则执行else{}的代码
int age=20;
if(age<18)
printf("未成年\n");
else if(age>=18&&age<23)
printf("青年\n");
else if(age>=23&&age<50)
printf("壮年\n");
else if(age>=50&&age<90)
printf("老年\n");
else
printf("老顽童\n");
悬空else
没有与该if匹配的else,不输出
就近原则,else跟最近的if匹配
//悬空else
int a=0;
int b=2;
if(a==1)//没有与该if匹配的else,不输出
if(b==2)
printf("hehe\n");
else//就近原则,else跟上面的if匹配
printf("haha\n");
赋值语句,非0即真,可以输出
int num=4;
if(num=5)
{
printf("呵呵\n");
}
判断一个数是否为奇数
int c;
scanf("%d",&c);//不加\n,记得取址符号&
if(c%2==1)
printf("是奇数\n");
else
printf("不是奇数\n");
for循环语句格式:
for(单次表达式;条件表达式;末尾循环体)
{
中间循环体;
}
其中,表示式皆可以省略,但分号不可省略,因为“;”可以代表一个空语句,省略了之后语句减少,即为语句格式发生变化,则编译器不能识别而无法进行编译。
输出1-100之间的奇数
int d;
for(d=1;d<=100;d++)
{
if(d%2==1)
printf("%d\n",d);
}
switch语句格式:
switch(表达式) {
case 值1:
语句体1;
break;
case 值2:
语句体2;
break;
…
default:
语句体n+1;
break;
}
switch()语句括号的变量必须是整型,
同样case后面的数字也必须是整型,不能写1.0
int e;
scanf("%d",&e);
switch(e)//括号的变量必须是整型
{
case 1://同样case后面的数字也必须是整型,不能写1.0
printf("星期一");
break;
case 2:
printf("星期二");
break;
case 3:
printf("星期三");
break;
case 4:
printf("星期四");
break;
case 5:
printf("星期五");
break;
case 6:
printf("星期六");
break;
case 7:
printf("星期天");
break;
default://每个switch语句只能出现一个default
printf("输错了吧");
break;
/*case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日");
break;
case 6:
case 7:
printf("休息日");
break;
这样也是一种switch的写法,将相同的输出合并起来
*/
switch语句可以嵌套使用
int f=1;
int g=2;
switch(f)
{
case 1:g++;
case 2:f++;
case 3:
switch(f)
{
case 1:f++;
case 2:g++;f++;break;
}
case 4:g++;
break;
default:
break;
}
printf("g=%d,f=%d\n",g,f);
while语句用法
基本格式:
while(条件判断语)
{
循环体语句;
}
int h=1;
while(h<=10)
{
if(h==5)
break;//循环遇到break会跳出循环,并不会把5打印出来
//continue; 循环遇到continue会跳上去重新进行循环判断,于是便会一直循环
printf("%d\n",h);
h++;
}
getchar是输入,跟scanf一样
putchar是输出,跟printf一样
int ch=getchar();
putchar(ch);
printf("%c\n",ch);
EOF–end of file(文件结束标志)-> -1
int cg;
//EOF--end of file(文件结束标志)-> -1
while((cg=getchar())!=EOF)//按ctrl+z才能停下来
{
putchar(cg);
}
return 0;