c语言是一种结构化的程序设计语言,这里所谓的结构指的是顺序结构,选择结构和循环结构。顺序结构我们不需要额外用什么东西就可以实现,而选择结构和循环结构则需要用到一些c语言中规定的代码来实现他的功能。
一. 选择结构
我们可以使用if语句和switch语句来实现选择结构的功能
1.if语句的语法形式如下:
if(表达式)
语句
表达式成立则语句执行,表达式不成立则语句不执行。在c语言中0表示表达式不成立,非0表示表达式成立。
例子:输入一个数判断是否是偶数
int main()
{
int a = 0;
scanf("%d", &a);
if (a % 2 == 0)
{
printf("%d是偶数", a);
}
return 0;
}
2.else语句的实现与说明:else语句是if语句的转折,类似于中文的不是...就是...的语句,if...else...语句可以让我们完整的实现选择结构的功能,如果条件成立执行if语句;条件不成立则执行else语句。让我们还是上面例子将其改良一下用来实现。
例子:输入一个数判断他的奇偶
int main()
{
int a = 0;
scanf("%d", &a);
if (a % 2 == 0)
{
printf("%d是偶数", a);
}
else {
printf("%d是奇数", a);
}
return 0;
}
3.嵌套if...else...语句:
嵌套语句是在本语句的基础上继续使用if else 进行下一次的选择判断,能将完成更多逻辑复杂的判断。我们还是将上面的例子进行改良,让其进行多次选择判断。
例子:输入一个数判断他的奇偶,如果是负数则输出非正数
int main()
{
int a = 0;
scanf("%d", &a);
if (a % 2 == 0)
{
printf("%d是偶数", a);
}
else if(a % 2 ==1){
printf("%d是奇数", a);
}
else {
printf("%d是非正数", a);
}
return 0;
}
例子虽然简单,但是其中很好的阐述了if else语句对于选择判断的实现。
注意:如果有多个if else,else总是与它最近的一个if相对应的。
4.switch语句:
switch语句是一种特殊的if else结构,用于判断条件有多个结果的情况。他是一种比多重的if else可读性更高的语句。switch的一般表达式可以写成这样:
switch(expression)
{
case 1:statment
case 2:statment
default:statment
}
上述代码将会根据expression不同的值而执行不同的分支,如果找不到对应的分支将会执行default语句。
5.switch中break的使用
break代表结束本次代码的执行,在switch中break的使用让分支运行完毕不会继续执行代码,导致输出无效内容,让代码的可读性提高了。
二.循环结构
c语言提供三种循环语句供我们使用,它们分别是while循环,do while循环和for循环。接下来让我一一为大家介绍这三种循环语句。
1.while循环语句:
while循环的通用形式为:
while(表达式)
语句
while循环与if语句十分相似,它们最大的区别是while循环可以实现循环效果而if语句不行。
while循环的执行流程是:⾸先上来就是执⾏判断表达式,表达式的值为0,循环直接结束;表达式的值不为0,则执⾏循环语句,语句执行完再继续判断是否进行下一次循环。让我们写一个例子来体会一下这个循环的实现吧。
例子:循环打印数字1~10
int main() {
int a = 1;
while (a <= 10)
{
printf("%d ", a);
a++;
}
return 0;
}
这个例子可以让我们更加明确的了解while循环的使用。
2.for循环语句:
for循环是我们在c语言循环语句中使用得最多,最为频繁的语句。它的通用表达式为:
for(表达式1;表达式2;表达式3)
语句;
其中,表达式1用于循环变量的初始化;表达式2用于循环结束条件的判断;表达式3用于循环变量的调整。
我们依然用上面的例子进行实践:
int main() {
int a = 1;
for (a = 1; a <= 10; a++)
{
printf("%d ", a);
}
return 0;
}
这是用for循环进行数字1~10的循环打印。
3.do while循环语句
do while循环是c语言中使用最少的一种循环,它的通用形式为:
do
语句;
while(表达式);
int main() {
int a = 1;
do {
printf("%d ", a);
a++;
} while (a <= 10);
return 0;
}
这是我对c语言中分支和循环的简单阐述,更加详细的期待下次叙述。