目录
——if语句
一个基本的 if 语句由一个关键字 if 开头,跟上在括号里的一个表示条件的逻辑表达式,然后是一对大括号“{}"之间的若干条语句。如果表示条件的逻辑表达式的结果不是零,那么就执行后面跟着的这对大括号中的语句,否则就跳过这些语句不执行,而继续下面的其他语句。
if ( total > amount )
total += amount + 10;
注:if语句这一行结束的时候并没有表示语句结束的“;”,而后面的赋值语句写在if的下一行,并且缩进了,在这一行结束的时候有一个表示语句结束的“;”。这表明这条赋值语句是if语句的一部分,if语句拥有和控制这条赋值语句,决定它是否要被执行。
——计算薪水
#include <stdio.h>
int main()
{
const double RATE = 8.25;
const int STANDARD = 40;
double pay = 0.0;
int hours;
printf("请输入工作的小时数:");
scanf("%d", &hours);
printf("\n");
if (hours > STANDARD)
pay = STANDARD * RATE +
(hours-STANDARD) * (RATE * 1.5);
else
pay = hours * RATE;
printf("应付工资:%f\n", pay);
return 0;
}
——判断成绩
#include <stdio.h>
int main()
{
const int PASS=60;
int score;
printf("请输入成绩:");
scanf("%d", &score);
printf("你输入的成绩是%d.\n", score);
if ( score < PASS )
printf("很遗憾,这个成绩没有及格。");
else
printf("祝贺你,这个成绩及格了。");
printf("再见\n");
return 0;
}
——嵌套的if-else
——比较三个数的大小
#include <stdio.h>
int main()
{
int a,b,c;
scanf("%d %d %d", &a, &b, &c);
int max = 0;
if ( a>b ){
if ( a>c ){
max = a;
} else {
max = c;
}
} else {
if ( b>c ) {
max = b;
} else {
max = c;
}
}
printf("The max is %d\n",max);
return 0;
}
——嵌套的判断
嵌套的if语句:当if的条件满足或不满足的时候要执行的语句也可以是一条if或if-else语句。
if ( code == READY )
if ( count < 20 )
printf("一切正常\n");
else
printf("继续等待\n");
注:在if或else后总用{}
——级联的if-else if
if( exp1 )
st1;
else if ( exp2 )
st2;
else
st3;
注:else对齐
——多路分支(switch-case)
switch ( type ){
case 1:
printf("你好");
break;
case 2:
printf("早上好");
break;
case 3:
printf("晚上好");
break;
case 4:
printf("再见");
break;
default:
printf("啊,什么啊?");
}
switch ( 控制表达式 ){
case 常量:
语句
......
case 常量:
语句
......
default:
语句
......
}
注:1、控制表达式只能是整数型的结果。
2、常量可以是常数,也可以是常数计算的表达式。
——break
switch 语句可以看作是一种基于计算的跳转,计算控制表达式的值后,程序会跳转到相匹配的 case (分支标号)处。分支标号只是说明 switch 内部位置的路标,在执行完分支中的最后一条语句后,如果后面没有 break ,就会顺序执行到下面的 case 里去,直到遇到一个 break ,或者 switch 结束为止。
——循环
#include <stdio.h>
int main()
{
int x;
int n =0;
scanf("%d", &x);
n++;
x /= 10;
while ( x > 0 ){
n++;
x /= 10;
}
printf("%d\n", n);
return 0;
}
——while循环
while ( x > 0 ) {
x /= 10;
n++;
}
while循环:当条件满足时,不断地重复循环体内的语句。
注:1、循环执行之前判断是否继续循环,所以有可能循环一次也没有被执行。
2、条件成立是循环继续的条件。
3、循环体内要有改变条件的机会。
——看程序运行结果
人脑模拟计算机的运行,在纸上列出所有的变量,随着程序的进展不断重新计算变量的值。当程序运行结束时,留在表格最下面的就是程序的最终结果。
——验证
测试程序常使用边界数据,如有效范围两端的数据、特殊的倍数等。
——调试
int x;
int n = 0;
scanf("%d", &x);
n++;
x /= 10;
while ( x > 0 ) {
printf("x=%d, n=%d\n", x, n);
n++;
x /= 10;
}
printf("%d\n", n);
在程序适当的地方插入printf来输出变量的内容。