程序设计离不开各种控制语句,这篇文章将重点介绍一些控制语句
C语言的控制语句主要有:for, while,if,switch,break, goto…
先来一个程序
#include <stdio.h>
int main (void)
{
char ch;
printf ("外面是否下雨,下雨输入Y,不下雨输入N\n");
scanf ("%c", &ch);
if (ch == 'Y' || ch == 'N'){
if (ch == 'Y')
{
printf ("外面下雨记得带伞");
}
if (ch == 'N')
{
printf ("阳光明媚,玩的开心");
}
}
else
{
printf ("还不知道外面的天气哦");
}
return 0;
}
上述就是if语句的基本用法,一个典型的判断语句。先做第一步判断,是否输入正确的字符(检查错误)。在输入正确的字符之后,再判断输入字符是什么,按照程序设计的进行下去。
要注意:else 总是与其最近的一个没有配对的if相配对。
同样的,将上述程序也能改为switch语句。
#include <stdio.h>
int main(void)
{
char ch;
printf ("外面是否下雨,下雨输入Y,不下雨输入N\n");
scanf ("%c", &ch);
switch(ch)
{
case 'Y':printf ("外面下雨记得带伞");break;
case 'N':printf ("阳光明媚,玩的开心");break;
default :printf ("还不知道外面的天气哦");break;
}
}
在用switch时,不要忘记case语句后面加上break。break语句(间断语句)的作用是跳出case语句的执行。如果漏用了break,就会出现向下不终止的继续执行。例如,上述程序中,省略三个break,在输入“Y”,则三行内容都会输出。这是需要注意的。
下面是一些if语句与switch语句的一些程序,方便练手。
1、输入两个两位数a,b,其中a不大于31,b最大不超过三位数,重新组成一个数c,a在左,b在右。
例:a = 23 , b = 30; c = 2330。
#include <stdio.h>
int main (void)
{
int a, b, c, k;
printf ("请输入两个数:\n");
scanf ("%d%d", &a, &b);
if (a < 0 && b < 0 && a > 99 && b > 99)
{
c = -1;
printf ("输入的数据有误");
}
else
{
if(b < 10)
k = 10;
else if (b < 100)
k = 100;
else if (b < 1000)
k = 1000;
c = a * k + b;
}
printf ("a = %2d, b = %3d, c = %5d", a, b, c);
}
2、输入三个数,输出其中最大的数。
#include <stdio.h>
int main (void)
{
int x, y, z;
pritnf ("请输入三个数\n");
scanf ("%d%d%d", &x, &y, &z);
if (x > y)
if (x > z)
printf ("最大的数为%d\n", x);
else
printf ("最大的数为%d\n", y);
else
if (y > z)
printf ("最大的数为%d\n");
else
printf ("最大的数是为%n");
}
3、输入一个月份,输出一个那个月的天数
#include <stdio.h>
int main (void)
{
int m, d;
printf ("请输入平年的月份:\n");
scanf ("%d", &m);
switch (m)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:d = 31;break;
case 4;
case 6:
case 9:
case 11:d = 30;break;
case 2:d = 28;break;
default :d = -1;break;
}
if (d == -1)
printf ("输入月份错误!\n");
else
printf ("平年%d的月份有%d天!\n", m, d);
}
4、输入月份,输出季节。
#include <stdio.h>
int main (void)
{
int n;
printf ("请输入月份:\n");
scanf ("%d", &n);
switch (n)
{
case 0:printf ("%d的月份是春季!\n");break;
case 1:printf ("%d的月份是春季!\n");break;
case 2:printf ("%d的月份是春季!\n");break;
case 3:printf ("%d的月份是春季!\n");break;
case 4:printf ("%d的月份是春季!\n");break;
default :printf ("您输入的月份有误!!!\n");break;
}
}