本章要点:

if语句
if语句的嵌套
条件运算符
switch语句
选择结构程序设计

助学金是高等院校资助贫困学生的一项重要举措,一般助学金的评定要参考学生的学习成绩。假定助学金的评选规则为:综合平均成绩在90分及以上的同学可获一等助学金;在80分(包括80分)至90分之间的同学可获二等助学金;在60分(包括60分)至80的同学可获三等助学金;60分以下的同学不能获助学金。此图片的alt属性为空;文件名为image-19.png

//引例 如果小于60 输出是No grant!
#include<stdio.h>
main()
{     
	int score;     
	scanf("%d",&score);     
	if (score<60)         
	printf("No grant!\n");
}

if语句,表达式格式if(表达式) 语句1;

功能:值为真1 假为0

1.if表达式必须用括号括起来

2.if表达式仅有一条语句构成 可不加{}

if语句第一种格式流程图

比较两个数,按由大到小输出:

#include<stdio.h>
void main()
{     
	int a,b,x;
	printf("请输入两个数:");
	scanf("a=%d,b=%d",&a,&b);
	if(a<b)
	{
		x=a;
		a=b;
		b=x;
	}             //交换a与b单元内容
	printf("a=%d,b=%d",a,b);       
}

第二种格式:

if(表达式)

语句1;

else

语句2;

输入任意三个整数num1、num2、num3,求证数的最大值:

#include "stdio.h"
void main()
{
	int num1,num2,num3,max;
    printf("请输入三个整数:");
	scanf("%d,%d,%d",&num1,&num2,&num3);
	if(num1>num2)
    max=num1;
	else
	max=num2;
	if(num3>max)
	max=num3;
	printf("三个数字是:%d,%d,%d\n",num1,num2,num3);
	printf("max=%d\n",max);
}

一个人分数判定,如果大于90及以上判定优秀,80及80以上是合格,70及70以上是中等,60及以上及格,60分数以下不合格。

#include "stdio.h"
void main()
{
	int s;
	printf("该同学的成绩为:");
	scanf("%d",&s);
	if(s>=90)
	printf("优秀\n");
	else
	    if(s>=80)
    printf("合格\n");
	else
	    if(s>=70)
	printf("中等\n");
	else
	    if(s>=60)
		printf("及格\n");
	else
		printf("不及格\n");
}

条件运算符:

要求有三个操作对象,称为三目运算符。

表达式一般格式为:表达式1?表达式2:表达式3

如果”表达式1“的值为非0(真),运算结果等于表达式2,否者就等于表达式3。

条件运算符的优先级:高于赋值运算符,但是低于关系运算符和条件运算符。(其结合性:从右到左)”又结合“

//例如:x=a>b?a:b 当a=2,x=1时,x=2
//例如:x=a>b?a:(a>b?c:d)
当a=1,b=2,c=3,d=4时 x=4

switch语句:

switch一般表达式:

switch(表达式)
{
case 常量表达式1:语句1;[break;]
case 常量表达式2:语句2;[break;]
...
case 常量表达式n:语句n;[break;]
[default:语句n+1;[break;]]
}
#include "stdio.h"
void main()
{
	int score;
	printf("请输入你的成绩:");
	scanf("%d",&score);
	switch(score/10)
	{
    case 10:printf("优秀\n");break;
	case 9:printf("优秀\n");break;
	case 8:printf("合格\n");break;
	case 7:printf("中等\n");break;
	case 6:printf("及格\n");break;
	case 5:
	case 4:
	case 3:
	case 2:
	case 1:
	case 0:printf("不及格\n");break;
	default:printf("改成绩不符合程序输入!");
	}
}

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注