您的位置: 网站首页 > 程序开发 > C语言程序设计案例教程 > 第四章 选择结构程序设计 > 【4.1 运算符和表达式案例】

4.1 运算符和表达式案例

 

4.1  运算符和表达式案例

案例4.1  关系运算符和算术表达式

【项目任务】

从键盘上输入学生的成绩(理论50%+操作50%),要求判断并输出该学生成绩的等级(A:大于等于85B:小于85,大于等于70C:小于70,大于等于60D60以下)。

【设计思路】

该程序须定义三个变量abgrade,将理论和操作成绩相加(grade =a+b),然后判断grade成绩属于哪个范围内,85100A7084B6069C<60D。整个过程通过条件语句来实现,流程图如图4-1所示。

4-1  流程图

【程序代码】

#include <stdio.h>

main()

{

    int a,b,grade;

 

    printf("请输入学生成绩:"); 

    scanf("%d,%d",&a,&b);

    grade=a+b;

    if(grade>=85 && grade<100)  /*&&为逻辑运算符,表示两个条件同时成立*/

        printf("该生成绩为:A\n");

    else if(grade>=70 && grade<85)

              printf("该生成绩为:B\n");

          else if(grade>=60 && grade<70)

                    printf("该生成绩为:C\n");

                else  printf("该生成绩为:D\n");

}

【运行结果】

请输入学生成绩:46,43

该生成绩为:A

【知识拓展】

1C语言提供6种关系运算符:<<=>>== =!=,前4种关系运算符的优先级相同,后两种关系运算符的优先级相同。

2.关系运算符的优先级低于算术运算符,高于赋值运算符。

案例4.2  逻辑运算符和算术表达式

【项目任务】

输入三角形的三个边长abc,判断是否成构成三角形。

【设计思路】

三角形的构成条件是:任意两边之和大于第三边。在程序设计过程中,先将三个边长分别定义为三个变量abc,将任意两边相加,再看两边之和是否大于第三条边(即a+b>c,a+c>b,b+c>a),注意三个表达式之间必须是“与”的关系(即要求同时满足三个条件)。

【程序代码】

#include <stdio.h>

main()

{

    float a,b,c;

 

    printf("请输入三角形的三边a,b,c:"); 

    scanf("%f,%f,%f",&a,&b,&c);

    if(a+b>c && a+c>b && b+c>a)

       printf("%g,%g,%g能够成三角形!",a,b,c);

}

【运行结果】

请输入三角形的三边a,b,c:3,4,5

3,4,5能够成三角形!

【知识拓展】

1C语言提供三种逻辑运算符:&&(逻辑与)、||(逻辑或)、!(逻辑非),其中,&&||是二元运算符,要求有两个操作数。

2.逻辑表达式的值应该是一个逻辑量“真”或“假”。C语言中,真用1表示,假用0表示。当把一个数值看作逻辑量时,非0表示真,0表示假。

案例4.3  条件运算符和条件表达式

【项目任务】

输入一个字母,如果是大写字母,则将其转换成对应的小写字母输出。

【设计思路】

首先判断输入的字符是否为小写,如果不是才要进行转换。所以,首先用条件运算符或者是条件判断语句进行判断。aASCII码值为97,而AASCII码值为65,从ASCII代码表中可以看出,每个小写字母比相应的大写字母的ASCII码值大32C语言允许字符数据与整数直接进行算术运算,即A+32会得到整数97a-32会得到整数65

【程序代码】

#include <stdio.h>

main()

{

    char ch;

 

    printf("请输入一个字母:");

    scanf("%c",&ch);

    ch=(ch>’A’ && ch<=’Z’)?(ch+32):ch;

    printf("%c",ch+32);

}

【运行结果】

请输入一个字母:

A

a

【知识拓展】

条件运算符要求有三个操作对象,称为三元运算符,是C语言中唯一的一个三元运算符,条件表达式的一般形式为表达式1?表达式2:表达式3