当前位置: 首页 > news >正文

C语言学习笔记(三): 选择结构程序设计

if语句

if(){}

if (a=1){printf("hehe");}  //单独一个if

if(){}else{}

int a = 1, b = 2;if (a == b) {printf("haha");    //if else}else{printf("hehe");}

if(){}else if(){}

int a = 1, b = 2;if (a == b) {printf("haha");}else if (a != b)  //else if{printf("hehe");}

switch语句

定义

switch语句是一种选择语句,它允许根据变量的不同值来执行不同的语句

switch(表达式)    //表达式的值应为整数类型(包括字符型)
{
case	常量1 : 语句1;break
case	常量2 : 语句2;break⋮	    ⋮		⋮
case	常量n : 语句n;break
default :	    语句n+1  //可以没有default标号,若没有与switch表达式相匹配的case常量,则不执行任何语句
}

使用实例

要求按照考试成绩的等级输出百分制分数段,A等为85分以上,B等为70~84分,C等为60~69分,D等为 60分以下。成绩的等级由键盘输入。

include <stdio.h>
int main()
{char grade;scanf("%c",&grade);printf("Your score:");switch(grade){case 'A': printf("85~100\n");break;  //break表示使流程转到switch末尾case 'B': printf("70~84\n");break;case 'C': printf("60~69\n");break;case 'D': printf("<60\n");break;    default:  printf("enter data error!\n");  //上面语句都不执行,则执行default}return 0;
}

关系运算符和表达式

关系运算符优先级

image-20211210200942181


关系表达式

关系表达式是比较两个值的大小关系的表达式

  • 关系表达式的值是一个逻辑值,即“真”或“假”
  • 在C的逻辑运算中,以“1”代表“真”,以“0”代表“假”
int main(){int a = 3, b = 2, c = 1;//因为“>”运算符是自左至右的结合方向,先执行“a>b”得值为1,再执行关系运算“1>c”,得值0,赋给f,所以f的值为0int f = a > b> c ; printf("%d", f);  //输出0
}

逻辑运算符

运算符举例说明
!!a如果a为假,则!a为真;如果a为真,则!a为假
&&a && b如果a和b都为真,则结果为真,否则为假
``
  • “&&”和“‖”是双目运算符,要求有两个运算对象(操作数); “!”是单目运算符,只要有一个运算对象
  • 优先次序:!>&&=, 即!为三者中最高的
  • 逻辑运算符两侧的数据类型可以是整型、字符型、浮点型

条件运算符

条件运算符由?:两个符号组成, 它也被称为三目运算符, 因为要求由三个表达式, 也是C语言中唯一的三目运算符

使用语法如下所示, 若expression1 的值为真(非0),则表达式的结果为 expression2 的值; 如果 expression1 的值为假(0),则表达式的结果为 expression3 的值

expression1 ? expression2 : expression3

下图突出了条件运算符的使用效果

image-20211210205244902

http://www.lryc.cn/news/3571.html

相关文章:

  • 图----无向图
  • 【C++1】函数重载,类和对象,引用,/string类,vector容器,类继承和多态,/socket,进程信号
  • JetpackCompose从入门到实战学习笔记8—ConstraintLayout的简单使用
  • Spring Boot 快速入门(绝对经典)
  • golang context上下文
  • Linux---Linux是什么
  • C语言(Tgmath.h库(C99),exit和atexit)
  • LeetCode 刷题系列 -- 739. 每日温度
  • 如何生成毕业论文的目录和创建模板
  • 新来的23岁软件测试员上来秀了波操作,把几个老员工看傻了
  • Window10开放某个端口
  • 进阶7 分页查询
  • 利用升序定时器链表处理非活动连接
  • MySQL 开发规范
  • 【C语言进阶】预处理与程序环境
  • 【Docker知识】将环境变量传递到容器
  • Allegro如何更改铜皮显示密度操作指导
  • ThinkPHP5酒店预订管理系统
  • 【MySQL】MyCat分库分表分片规则配置详解与实战(MySQL专栏启动)
  • OpenWrt路由器设置域名动态解析手把手教程
  • java流浪动物救助系统(毕业设计)
  • 阿里代码规范插件中,Apache Beanutils为什么被禁止使用?
  • NFC enable NFC使能流程
  • Redis实例绑定CPU物理核优化Redis性能
  • STC15中断系统介绍
  • 力扣HOT100 11-15
  • 深入浅出单调栈与单调队列
  • 深入C语言——实现可变参数函数
  • 41-Dockerfile-Dockerfile简介
  • 【408】操作系统 - 刻骨铭心自测题1(上)