C语言中的基本结构有三种:顺序结构,选择结构,循环结构。
顺序结构既按代码的顺序从上到下直接执行。
如:
#include<stdio.h>
void main()
{
intia,ib,ic;
ia=1;
ib=2;
ic=ia+ib;
printf("和为%d\n",ic);
}
其执行的顺序就是按照从上到下一条一条的顺序执行。
其实现的功能是算出已定义的ia,ib两个变量的和。
选择结构是在执行到某一步的时候在判断一定的条件,然后在一定条件下有选择的执行下面的语句。
选择结构由以下语句实现:ifelse函数,Switch case函数。
如:
输入求两个数的四则运算,最后输出结果。用两个函数分别实现如下。
If else函数:
void main()
{
floatfa,fb,fs;
charcc;
scanf("%f%c%f",&fa,&cc,&fb);
if(cc=='+')
fs=fa+fb;
elseif(cc=='-')
fs=fa-fb;
elseif(cc=='*')
fs=fa*fb;
elseif(cc=='/')
fs=fa/fb;
else
printf("inputerror\n");
printf("%6.4f\n",fs);
}
Switch case函数:
#include<stdio.h>
void main()
{
float fa,fb;
charcc;
printf("input expression:a,+(-,*,/),b:");
scanf("%f%c%f",&fa,&cc,&fb);
swtich(cc)
{
case'+':printf("%6.4f\n",fa+fb);break;
case'-':printf("%6.4f\n",fa-fb);break;
case'*':printf("%6.4f\n",fs*fb);break;
case'/':printf("%6.4f\n",fs/fb);break;
default:printf("input error\n");
}
}
其中,if else函数中可以只有if,还可以多个if else套用。
而Switch case函数中要注意的是case中的判断条件不能为表达式,如(a+b>c),必须为确定的数值和符号。在本个功能中case每句后的break不能省略。但是在不同的条件下实现不同功能时可以按需求考虑添加和省略。
循环结构是不断执行某一个重复的动作,这在处理重复的语句时可以减少编写代码人员的工作量。
循环结构可以由如下的语句实现:for语句,while语句,do while语句,goto语句。
如:
计算由1加到100,并输出结果。由四种语句实现分别如下。
For语句
#include<stdio.h>
void main()
{
int is,ii;
is=0;
for(ii=1;ii<=100;ii++)
is=is+ii;
printf("The sum is %d\n",is);
}
While语句
#include<stdio.h>
void main()
{
int is,ii;
is=0;
ii=1;
while(ii<=100)
{
is=is+ii;
ii++;
}
printf("The sum is %d\n",is);
}
Do while语句
#include<stdio.h>
void main()
{
int is,ii;
is=0;
ii=1;
do
{
is=is+ii;
ii++;
}
while(ii<=100);
printf("The sum is %d\n",is);
}
注解:与while的区别,do..while在while的后面必须加分号。
Goto语句
#include<stdio.h>
void main()
{
int is,ii;
ii=1;
is=0;
next:
{
is=is+ii;
ii++;
if(ii>100)
goto result;
goto next;
}
result :
printf("%d\n", is);
}
这里要注意的是goto语句是模拟循环,注意这不是真正的循环,只有在c语言的循环(while, for, do..while)中才能使用跳出指令break。