C语言是结构化的程序设计设计语言,结构有顺序结构,选择结构,循环结构,C语言是能实现这种结构的,其实我们如果仔细分析,我们⽇常所⻅的事情都可以拆分为这三种结构或者这三种结构的组合,由此,我们不得不佩服发明C语言的人,仅仅用三种结构就囊括了所有内容。
1.选择结构: if和switch语句
对于初学者来说,分支语句经常由if和switch实现,其中if语句通常搭配else或者if else来实现分支中包含多条语句;switch则搭配case,break等来实现分支结构,在某些情况下,switch语句的使用比if更为简洁明了。
⽐如:要求输⼊⼀个整数,判断输⼊的整数是0,还是正数或者负数。请看如下代码:
#include <stdio.h>
int main()
{
int num = 0;
scanf("%d", &num);
if(num == 0)
printf("输⼊的数字是0\n");
else if(num > 0) //这⾥的if 相当于嵌套在els语句中,形成了嵌套结构
printf("输⼊的数字是正数\n");
else
printf("输⼊的数字是负数\n");
return 0;
}
比如:要求输入一个数字,判断是星期几。代码如下:
#include <stdio.h>
int main()
{
int day = 0;
scanf("%d", &day);
switch (day)
{
default:
printf("输入错误,请输入1~7的数字\n");
break;
case 1:
case 2:
case 3:
case 4:
case 5:
printf("工作日\n");
break;
case 6:
case 7:
printf("休息日\n");
break;
}
return 0;
}
2.循环语句
2.1 while 循环
代码练习:在屏幕上打印1~10的值。代码如下:
#include <stdio.h>
int main()
{
int i = 1;
while(i<=10)
{
printf("%d ", i);
i = i+1;
}
return 0;
}
2.2 for循环
在程序中for循环往往比其它两种循环使用的更多。
代码练习:在屏幕上打印1~10的值。代码如下:
#include <stdio.h>
int main()
{
int i = 0;
for(i=1; i<=10; i++)
{
printf("%d ", i);
}
return 0;
}
相比while循环,for循环的初始化,判断,调整都集中在一部分,便于代码的维护。
2.3 do-while循环
代码练习:输入一个正整数,计算这是几位数。代码如下:
#include<stdio.h>
int main()
{
int i=0;
scanf("%d",&i);
int j=0;
do
{
j++;
i=i/10;
}
while(i)
printf("%d",j);
}
这⾥并⾮必须使⽤ do while 语句,但是这个代码就⽐较适合使⽤ do while 循环,因为n即使是
0,也是1位数,要统计位数的。