c语言课后题——第四章选择结构


知识点

提示:这里可以添加本文要记录的大概内容:

选择结构的表现形式

  • 流程图——是分支结构
  • 伪代码——用if-else结构,switch结构
  • N-S图——用两个对立的三角形

关系运算符和表达式
逻辑运算符和表达式
条件运算符和表达式
switch表达式
选择结构的嵌套


提示:以下是本篇文章正文内容,下面案例可供参考

一、知识点

1.关系运算符和表达式

  • 含有比较的运算符或者表达式。e.g:>、<、=等。
  • 优先次序:算术>关系>赋值运算符(先搞定计算,然后协调关系,最后赋值)
  • 其中==和!=运算优先级比较低(先比较大小,再说等于不等于)

2.逻辑运算符和表达式

  • 定义:判断条件的语句。e.g:如果-就-
  • 运算符:&&、||、!。与或非
  • 优先顺序:非 > 与 > 或
  • 整体优先级:非 > 算术运算符 > 关系 > && > || >赋值(先判断是否,再运算,后判断关系,后与非判断逻辑、最后赋值)

3.条件运算符和表达式

  • 定义:三元条件表达式:表达式1?表达式2:表达式3;
  • 表达式1为真,执行表达式2,否则执行表达式3

4.选择结构的嵌套

  • 就是else与上面最近的if为一个结构

4.switch选择结构

  • 多分支选择结构
  • break是终止整个循环
  • continue是跳出本次循环,且不能在switch里出现
  `switch(表达式){
       case  常量1 : 语句 1
       case  常量2 : 语句 2
       default:    语句n+1
}`

二、课后题

1.a、b、c三个数由键盘输入输出最大的数

代码如下:

main() {
	int a, b, c;
	scanf("%d,%d,%d", &a,&b,&c);
	if (a < b) {
		if ( b< c) {
			printf("最大数为:%d", c);
		}
		else
		{
			printf("最大数为:%d", b);
		}
	}
	else if (a < c) {
		printf("最大数为:%d", c);
		}
	else {
		printf("最大数为:%d",a);
		}
		
}

2.输出平方根

要求:
输入小于1000的整数,输出平方根(整数部分)

#include<stdio.h>
#include<stdlib.h>
#include<math.h>
int main() {  //输出平方根
	int i,p;
	printf("请输入小于1000的整数");
	scanf ("%d", & i);
	if (i>1000) {
		printf("请重新输入小于1000的整数");
		scanf("%d", &i);
	}
	p = (int)sqrt(i);
	printf("平方根的值为:%d", p);
	return 0;
}

3.根据函数输出相应的值

#include<stdio.h>
#include<math.h>
main() {
	int x, y;
	printf("请输入x值");
	scanf("%d", &x);
	if (x < 1) {
		y = x;
	}
	else if (x >= 10) {
		y = 3 * x - 11;
	}
	else {
		y = 2 * x - 1;
	}
	printf("函数结果为:%d", y);

}

4.求成绩

要求:
输出相应的分数等级

int main() { //输出成绩等级
	int n;
	printf("请输入成绩:");
	scanf("%d", &n);
	if (n > 90) {
		printf("成绩等级为:A");
	}
	else if(80<=n<=89)
	{
		printf("成绩等级为:B");
	}
	else if (70 <= n <= 79)
	{
		printf("成绩等级为:C");
	}
	else if (n <= 60)
	{
		printf("成绩等级为:E");
	}
	else
	{

	printf("成绩等级为:D");
	}

	return 0;
}

总结

提示:这里对文章进行总结:

写代码的时候注意逐层分析,然后各个功能块的分析,注意if-else的顺序,不要搞错。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值