(1.)if语句
c语言是一门结构化的程序设计语言,其中支持三种结构,这三种结构就是顺序结构,旋转结构,循环结构。
首先我们要讲的if语句就是一个选择结构,if在英语中的意思是如果,那么我们就可以利用if语句来写一些选择语句。
首先if语句的语法形式是这样的
if(表达式)
语句
表达式为真则语句执行,若为假,则语句不执行,在c语言中0为假而不为0则为真,由此可以写出一个判断奇数与偶数的代码:
#include <stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
if(a % 2 == 0)
{
printf("为偶数");
}
else
{
printf("为奇数");
}
}
最后的执行结果如下:
很清楚的看到利用if语句我们实现了奇数与偶数的判断,if是如果,那么else就是除if以外所有的情况。但是要注意单一的if语句只能执行一条语句,若要执行多条语句则要用{}来将语句包括起来
(2.)if的循环嵌套
说完了if语句,那么我们可能会有一点疑问,如果遇到多重判断怎么办,那么这个时候if的循环嵌套便派上了用场,在if else语句中,else可以与另一个if语句连用,构成多重判断。通过一个题目来体现:输入一个整数,判断输入的整数是0或正数或负数
#include <stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
if (a == 0)
{
printf("是0");
}
else if (a > 0)
{
printf("为正数");
}
else
{
printf("为负数");
}
return 0;
}
在上述程序中我便用到了if的循环嵌套,在a的判断中利用if与else if来进行多重判断。
(3.)switch语句
除了if语句以外,c语言还提供了switch语句来实现分支结构,通俗来讲switch语句更像是一种特殊的if else 结构,用于判断条件有多种结构的情况。它把多重的else if 改成了更易用、可读性更好的形式,它的结构是:
switch(expression)
{
case value1: starement
case value2: starement
default : statement
}
expression表示不同的值,但是值得注意的是switch后的expression必须是整型表达式,case之后的值也必须是整形常量表达式。
#include<stdio.h>
int main()
{
int a = 0;
scanf("%d", &a);
a = a % 2;
switch (a)
{
case 1: printf("为奇数");
case 0: printf("为偶数");
}
return 0;
}
这段代码就将奇数与偶数的判断进行了简化,从而节省运行时间并且更加方便的进行编辑。
(4.)while循环
c语言中提供了三种循环语句,while就是其中一种,其实while语句的语法结构和if语句非常相似。
它的结构是如下这样:
while(表达式)
语句;
接下来我用while循环来打印1~100的数字
#include<stdio.h>
int main()
{
int i = 0;
while (i < 100)
{
i++;
printf("%5d", i);
}
return 0;
}
可以很清晰的看到1~100内的数字被打印了出来,这就是while循环。
(5.)for循环
for循环是三种循环中使用最多的,for循环的语法形式如下:
for(表达式1;表达式2;表达式3)
语句
表达式1用来循环变量的初始化,表达式2用于循环结束条件的判断,表达式3用于循环变量的调整。这样说可能会有人不懂,那么还是老样子用一个题目来讲解for循环:
#include<stdio.h>
int main()
{
for (int a = 0; a <= 100; a++)
{
printf("%5d", a);
}
return 0;
}
这段代码还是在屏幕上打印1~100的值,这段程序甚至较while更加精简,是的,它的变量直接在for之后进行初始化,不需要提前初始化,这就导致程序更加精简与具有可读性,那么我们来看看结果是否是打印1 ~100的数字
结果显而易见。在分析代码的时候不免发现,每一个循环都是一次一次进行的,而不是一次全部进行完全,也就是说,程序运行时先分析a的值,为1小于100则执行打印程序,直到101时没有满足小于等于100的条件则程序运行结束,最后打印出1~100之间的数字。
(6.)do while循环
在循环语句中do while 循环语句使用的最少,它的语法如下:
do
语句;
while(表达式);
还是上面的题目,这次我们用do while循环来执行:
#include<stdio.h>
int main()
{
int a = 0;
do
{
printf("%5d", a);
a++;
} while (a <= 100);
return 0;
}
相比之下,do while循环结构就显得复杂一些,所以在一般情况下do while循环的使用率就不如上述几个循环。