判断结构要求指定一个或多个要评估或测试的条件,以及条件为真时要执行的语句(必需的)和条件为假时要执行的语句(可选的)。C语言把任何非零和非空的值假定为true,把零或null假定为false。
判断语句C语言提供了以下类型的判断语句。一起来看每个语句的细节。
?:运算符(三元运算符)我们已经在前面的章节中讲解了条件运算符?:,可以用来替代if...else语句。它的一般形式如下:
Exp1?Exp2:Exp3;
其中,Exp1、Exp2和Exp3是表达式。请注意,冒号的使用和位置。
?表达式的值是由Exp1决定的。如果Exp1为真,则计算Exp2的值,结果即为整个表达式的值。如果Exp1为假,则计算Exp3的值,结果即为整个表达式的值。
来看例子呀!
#includestdio.hintmain()
{
intnum;printf("输入一个数字:");
scanf("%d",num);
(num%2==0)?printf("偶数"):printf("奇数");
}
有的时候,我们可能需要多次执行同一块代码。一般情况下,语句是按顺序执行的:函数中的第一个语句先执行,接着是第二个语句,依此类推。
编程语言提供了更为复杂执行路径的多种控制结构。循环语句允许我们多次执行一个语句或语句组。
循环类型C语言提供了以下几种循环类型。
循环类型描述while循环当给定条件为真时,重复语句或语句组。它会在执行循环主体之前测试条件。for循环多次执行一个语句序列,简化管理循环变量的代码。do...while循环除了它是在循环主体结尾测试条件外,其他与while语句类似。嵌套循环您可以在while、for或do..while循环内使用一个或多个循环。循环控制语句循环控制语句改变你代码的执行顺序。通过它你可以实现代码的跳转。C提供了下列的循环控制语句。
如果条件永远不为假,则循环将变成无限循环。for循环在传统意义上可用于实现无限循环。由于构成循环的三个表达式中任何一个都不是必需的,您可以将某些条件表达式留空来构成一个无限循环。无限循环#includestdio.hintmain()
{
for(;;){printf("该循环会永远执行下去!\n");
}
return0;
}
当条件表达式不存在时,它被假设为真。您也可以设置一个初始值和增量表达式,但是一般情况下,C程序员偏向于使用for(;;)结构来表示一个无限循环。
注意:您可以按Ctrl+C键终止一个无限循环。
我们看一个简单的列子,求以内的素数。
#includestdio.h
#includemath.h
intmain()
{
inti,j;printf("以内的素数有:\n");for(i=2;i;i++){for(j=2;jsqrt(i);j++){if(i%j==0){break;}}if(jsqrt(i)){printf("%d,\t",i);}}
}
第一个循环里面。i遍历从2到以内的所有数字,第二个循环是在2到sqrt(n)之间看看是不是可以整除i。可以整除则不是素数,相反不可以整除,则是素数。
判断和循环需要多多练练哦!!!
扫码