0
点赞
收藏
分享

微信扫一扫

C语言学习记录--分支和循环(1)

分支语句

  • if
  • switch

循环语句

  • whlie
  • for
  • do while

goto 语句

if语句

语法结构:

if(表达式)

语句;

if(表达式1)

语句1;

else

语句2;

if(表达式1)

语句1;

else if(表达式2);

语句2;

else

语句3;

int main()
{
int age;

age = 25;
if (age < 13)
{
printf("幼年\n");
}

else if (age >= 13 && age < 18)
{

printf("青年\n");
}
else
{
printf("成年\n");
}
return 0;
}

一对{}及为一个代码块

int main()
{
int a = 0;
int b = 2;
if (a == 1)
if (b == 2)
printf("hehe\n");
else
printf("haha\n");

return 0;
}

C语言学习记录--分支和循环(1)_嵌套

else和最近的未匹配的if匹配,上述情况else语句未执行

if(condition){
return x;
}
else
return y;

结果为:成立返回x,否则返回y

可读性不强,改进后

if(condition){
return x;
}
else
{
return y;
}

在写判断语句中可以将语句反着写避免出现‘==’写成‘=’的情况

if(num =5)if (num==5)
if (5== mun)

判断一个数是否为奇数

int main() { int num; int b; scanf("%d", &num); b = num % 2; if (0 == b) { printf("%d为偶数\n", num); } else { printf("%d为奇数\n",num); } return 0; }

输出1-100之间的奇数

int main(){
int num = 1;
int b;

while (num<101)
{
b = num % 2;

if(0!=b)
{
printf("%d\n", num);
num++;

}
}
return 0;
}

  • 注:scanf()使用时,接收数据不要使用换行号,否则在输入数据时无法识别\n

switch语句(多分支)

int main()
{
int week = 0;
scanf_s("%d", &week);

switch (week)
{
case 1:
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;
}
return 0;
}

case 后边表达式要为整型;

int main(){
int week = 0;
scanf_s("%d", &week);

switch (week)
{
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日");
break;
case 6:
case 7:
printf("休息日");
break;
default:
printf("输入错误");
break;
}
return 0;
}

defualt默认,可以在swtich语句中的任何位置,但是推荐放在最后;

int main(){
int n = 1;
int m = 2;
switch (n)
{
case 1:m++;
case 2:n++;
case 3:
switch (n)//switch 允许嵌套使用
{
case 1:n++;
case 2:m++; n++;
break;
}
case 4:m++;
break;
default:
break;
}
printf("%d\n%d\n", m, n);
return 0;
}

输出结果为m=5,n=3;

switch允许嵌套使用

要注意的是,内部的switch中的break只是跳出内部的break,并未结束外部判断,所以继续运行case4。

while 语句 语法结构

while(表达式)

循环语句:

int main(){
int i = 1;
while (i <= 10)
{
if (5 == i)
{
continue;
}
printf("%d\n", i);
i++;
}
return 0;
}

break :跳出循环,永久终止循环

continue:终止本次循环的从continue之后的语句不在执行,再次跳转到while语句的判断部分

getchar()等价于scanf("%c",&a);

putchar() 等价于printf(“%c”,a);

int main(){
int a;
while ((a=getchar()) != EOF )
{
putchar(a);
}
putchar(a);

return 0;
}

该程序输入EOF并不能跳出循环,因为他是分别接收E、O、F再分别输出的,结束程序应使用(Ctrl+C);

举报

相关推荐

0 条评论