控制程序流程是C语言中非常重要的一个方面,主要通过条件语句、循环语句以及函数调用来实现。下面我将详细讲解。
条件语句
条件语句用于根据条件来执行不同的代码块。C语言中,最常用的条件语句为if...else
语句和switch
语句。
if...else语句
if...else
语句用于在满足特定条件时执行代码块。如果条件为真,则执行if
代码块,否则执行else
代码块。一般的if...else
语句形式如下:
if (condition){
//执行if代码块
} else {
//执行else代码块
}
示例1:判断用户输入的数字是否为偶数并输出结果。
#include <stdio.h>
int main(){
int num;
printf("请输入一个整数:");
scanf("%d", &num);
if (num % 2 == 0){
printf("%d是偶数。\n", num);
} else {
printf("%d是奇数。\n", num);
}
return 0;
}
switch语句
switch
语句用于在满足多个条件时执行不同的代码块。一般的switch
语句形式如下:
switch (expression){
case constant1:
//执行语句序列1
break;
case constant2:
//执行语句序列2
break;
...
default:
//执行语句序列n
break;
}
示例2:根据用户输入的菜单选项执行不同的代码块。
#include <stdio.h>
int main(){
int option;
printf("请选择菜单:\n");
printf("1.显示当前时间\n");
printf("2.显示当前日期\n");
printf("3.退出程序\n");
scanf("%d", &option);
switch (option){
case 1:
printf("当前时间:XX:XX:XX\n");
break;
case 2:
printf("当前日期:XXXX年XX月XX日\n");
break;
case 3:
printf("程序已经退出。\n");
break;
default:
printf("您的输入无效。\n");
break;
}
return 0;
}
循环语句
循环语句用于重复执行代码块,主要包括for
循环、while
循环和do...while
循环。
for循环
for
循环用于执行一定次数的循环,一般形式如下:
for (initialization; condition; increment){
//执行循环体内的代码块
}
示例3:输出1~10之间的所有奇数。
#include <stdio.h>
int main(){
int i;
for (i = 1; i <= 10; i++){
if (i % 2 != 0){
printf("%d ", i);
}
}
return 0;
}
while循环
while
循环在满足特定条件时重复执行代码块,一般形式如下:
while (condition){
//执行循环体内的代码块
}
示例4:计算1~100之间所有整数的和。
#include <stdio.h>
int main(){
int i = 1;
int sum = 0;
while (i <= 100){
sum += i;
i++;
}
printf("1~100之间所有整数的和为:%d", sum);
return 0;
}
do...while循环
do...while
循环与while
循环类似,唯一的区别在于do...while
循环会先执行一次循环体,再判断条件是否成立,如果成立则重复执行循环体,否则结束循环。一般形式如下:
do {
//执行循环体内的代码块
} while (condition);
示例5:从键盘上输入数字,判断是否为正数,如果不是正数则重新输入。
#include <stdio.h>
int main(){
int num;
do {
printf("请输入一个正整数:");
scanf("%d", &num);
} while (num <= 0);
printf("您输入的正整数为:%d", num);
return 0;
}
函数调用
函数是一段完成特定任务的代码,函数调用是指程序执行到函数调用语句时,将跳转到函数体,并执行相关代码。函数返回后,程序将返回到函数调用语句的下一条指令继续执行。C语言中,函数调用时通过函数名进行指定。
示例6:自定义函数max
,用于比较两个整数并返回较大值。
#include <stdio.h>
int max(int x, int y);
int main(){
int a = 10, b = 20, c;
c = max(a, b);
printf("较大的数为:%d\n", c);
return 0;
}
int max(int x, int y){
if (x > y){
return x;
} else {
return y;
}
}
以上就是C语言中控制程序流程的攻略,希望对您有所帮助。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言中如何控制程序流程? - Python技术站