本节内容我们将会详细介绍C语言中的三种基本结构,即顺序结构,选择结构,循环结构。
一,顺序结构
C语⾔的程序是顺序执⾏,即先执⾏前⾯的语句,再执⾏后⾯的语句。会按照 书写的顺序从上往下依次执⾏程序中的每⼀⾏代码。
#include<stdio.h>
int main()
{
int a;
printf("%d",a);
return 0;
}
二,选择结构
根据条件选择执⾏语句 根据对应的条件是否成⽴,进⾏判断来决定是否要执⾏,不执⾏就跳过该语句。
1,纯 If 语句
选择结构:到某个节点后,会根据一次判断的结果来决定之后向哪一个分支方向执行;
其结构为:
if(bool值)
{
代码段
}
2,If else语句
if(bool值)
{
代码段1;
}
else
{
代码段2;
}
//如果代码段一不满足条件就执行代码段2的内容。
3,if else if else语句
if(bool值)
{
代码段1;
}
else if(bool值)
{
代码段2;
}
.
.
.
else if(bool值)
{
代码段n;
}
else
{
代码段n+1;
}
//如果代码段一不满足条件就继续判断代码段2到代码段n之间的语句,如果中间有满足的条件,就跳出整个选择语句。如果都不满足就执行代码段n+1。
4,switch语句
switch选择结构 是⼀种特殊的if...else结构,对if...else进⾏了补充,提供了多路选 择,把if...else的多路分⽀改成更加易⽤,可读性更好。
switch(表达式)
{
case 常量表达式1:
语句1;
break; //通常会在语句结束后加上break用于跳出本次语句,如果不加。就会导致后面的语句也会一直运直到整条代码运行结束。
case 常量表达式2:
语句2;
case 常量表达式3:
语句3;
....
case 常量表达式n:
语句n;
default://通常在case之后一般都会有default,虽然语法上允许没有default,但是建议写代码时一定要写;
语句n+1;
break;
}
例句:
#include<stdio.h>
int main()
{
int year,month,day,sum;
printf("请输入你要查询的日期!\n");
scanf("%d %d %d", &year, &month, &day);
switch (month)
{
case 1:
sum = day;
break;
case 2:
sum = 31 + day;
break;
case 3:
sum = 31 + 28 + day;
break;
case 4:
sum = 31 + 28 + 31 + day;
break;
case 5:
sum = 31 + 28 + 31 + 30 + day;
case 6:
sum = 31 + 28 + 31 + 30 + 31 + day;
break;
case 7:
sum = 31 + 28 + 31 + 30 + 31 + 31 + day;
break;
case 8:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31+day;
break;
case 9:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + day;
break;
case 10:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + day;
break;
case 11:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + day;
break;
case 12:
sum = 31 + 28 + 31 + 30 + 31 + 30 + 31 + 31 + 30 + 31 + 30 + day;
break;
default:
printf("你的输入有误\n");
break;
if (month > 2 && ((year % 4 == 0 || year % 100 != 0) && (year % 400 == 0)))
{
sum += 1;
}
}
printf("%d %d %d 这是一年中的第%d 天\n", year, month, day, sum);
return 0;
}
三,循环结构
循环结构:循环结构有一个循环体,循环体里是一段代码。对于循环结构来说,关键在于根据判断的结果,来决定循环体执行多少次。
1,for循环语句
格式说明:
for (初始化表达式;循环条件表达式;循环后的操作表达式)
{
循环体;
}
/*
初始化表达式:⽤于初始化循环变量,整个循环只会执⾏⼀次。
初始化表达式:循环条件表达式;循环后的操作表达式。
循环后的操作表达式:循环变量的处理表达式,使得每⼀次循环循环变量都进⾏改变,每⼀轮循环体执⾏完后执⾏。
循环执行步骤:第一,先进行循环控制变量初始化;
第二,执行循环条件表达式,如果判断结果为真,则进入第三步;如果为假则循环终止并退出;
第三,执行循环体;
第四,执行循环后的操作表达式,转入第二步;
*/
举例说明:
#include<stdio.h>
int main()
{
int a,b,c,d;//a 代表需要打印的行 b代表需要打印的列 c代表需要打印的行 d代表需要打印的列
printf("请输入i您需要打印的行和列\n:");
scanf("%d %d",&a,&b);
for(c=0;c<a;c++)
{
for(d=0;d<b;d++)
{
printf("*");
}
printf("\n");
}
return 0;
}
2,while循环语句
while(循环终止条件)
{
循环体
循环控制变量增量
}
/*
循环执行步骤:第一,先进行循环控制变量初始化(在while之前);
第二,判断循环终止条件,如果判断结果为真,则进入第三步;如果为假则不执行循环体;
第三,执行循环体;
第四,执行循环控制变量增量,转入第二步;
*/
举例说明:
//输出0-100之间能整除7的数。
#include<stdio.h>
int main()
{
int a;
while (0<=a&&a<=100)
{
if(a%7==0)
{
printf("%d \n",a);
}
a++;
}
}