C语言-4

目录

——if语句

——计算薪水

——判断成绩

——嵌套的if-else

——比较三个数的大小

——嵌套的判断

——级联的if-else if

——多路分支(switch-case)

——break

——循环

——while循环

——看程序运行结果

——验证

——调试


——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来输出变量的内容。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值