【项目任务】
从键盘上输入学生的成绩(理论50%+操作50%),要求判断并输出该学生成绩的等级(A:大于等于85;B:小于85,大于等于70;C:小于70,大于等于60;D:60以下)。
【设计思路】
该程序须定义三个变量a、b、grade,将理论和操作成绩相加(grade =a+b),然后判断grade成绩属于哪个范围内,85~100为A;70~84为B;60~69为C;<60为D。整个过程通过条件语句来实现,流程图如图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
【知识拓展】
1.C语言提供6种关系运算符:<、<=、>、>=、= =、!=,前4种关系运算符的优先级相同,后两种关系运算符的优先级相同。
2.关系运算符的优先级低于算术运算符,高于赋值运算符。
【项目任务】
输入三角形的三个边长a、b、c,判断是否成构成三角形。
【设计思路】
三角形的构成条件是:任意两边之和大于第三边。在程序设计过程中,先将三个边长分别定义为三个变量a、b、c,将任意两边相加,再看两边之和是否大于第三条边(即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能够成三角形!
【知识拓展】
1.C语言提供三种逻辑运算符:&&(逻辑与)、||(逻辑或)、!(逻辑非),其中,&&和||是二元运算符,要求有两个操作数。
2.逻辑表达式的值应该是一个逻辑量“真”或“假”。C语言中,真用1表示,假用0表示。当把一个数值看作逻辑量时,非0表示真,0表示假。
【项目任务】
输入一个字母,如果是大写字母,则将其转换成对应的小写字母输出。
【设计思路】
首先判断输入的字符是否为小写,如果不是才要进行转换。所以,首先用条件运算符或者是条件判断语句进行判断。a的ASCII码值为97,而A的ASCII码值为65,从ASCII代码表中可以看出,每个小写字母比相应的大写字母的ASCII码值大32。C语言允许字符数据与整数直接进行算术运算,即A+32会得到整数97,a-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。