首页 > 其他分享 >C语言-2.结构学习

C语言-2.结构学习

时间:2023-10-31 23:11:33浏览次数:36  
标签:case 运算符 优先级 等于 C语言 学习 && 3.1 结构

结构

1.1顺序~

2.1选择~

3.1.1关系运算符

类型 类型 优先级
小于< 小于等于<= 优先级相同(高)
大于> 大于等于>= 优先级相同(高)
等于== 不等于!= 优先级相同 (低)

tips:将数值放前,可以判断该字符是否为前面已经运用的变量。

如3 = a ,若前面a已经被赋值,则会出现语法错误

3.1.2逻辑运算符/逻辑值

运算符 运算 结果
! 非(取反) 0变1
1变0
&& 与(and) 两个操作数都非零,结果为真;否则结果为假。
|| 或(or) 其中任何一个操作数非零,结果为真;否则结果为0

0 False假 1 True真

非0即为真

3.1.3优先级

运算符 结构类型 关联性
() 圆括号 左-右
[] 方括号 左-右
-> 指向结构体成员 左-右
++、-- 后缀自增/减
! 逻辑非
~ 按位取反
+、- 正负
(type) 强制类型转换
* 乘法
/,% 除、模操作
+、- 加、减运算
<<、>> 移位操作
<、<=、> 比较
==、!= 相等比较
& 按位与
^ 按位异或
| 按位或
&& 逻辑与
|| 逻辑或
?: 三目运算符 右-左
= 赋值
+=、-= 加等于、减等于
*=、/= 乘等于、除等于
<<=、>>= 左移等于、右移等于

正确使用括号是保证程序逻辑正确性的关键。

一般单目优先级高于双目

image-20231024105447218

3.1.4关系运算符及表达式

表达式值为逻辑值——“真”或“假”

值1代表“真” ,值0代表 “假” --非0即为真

表达式值为真或假,用1或0存储

逻辑运算的真值表

a b a && b a || b ! a

tips:如果有多个逻辑条件,需要用&&或||进行连接

禁止使用:10<=age<=18这类语句-先运算了10<=10,得出结果是0或1的逻辑值再进行判断

3.1.5条件运算符 (三目运算符) __ ? __ : __

条件运算符中 3 个子表达式的作用

三目运算符(x < 0) ? (y = 10) : (Z = 20); 等价于 转换为if语句

if (x < 0) {
    y = 10;
} else {
    z = 20;
}

条件表达式 (x < 0) ? (y = 10) : (Z = 20);

3.1.6 IF句

//语法格式:
if (表达式){
    语句1
}else
    语句2
//给定一个年份,判断是否是闰年
//普通年能被4整除且不能被100整除的为闰年,否则为平年
#include <stdio.h>
int main()
{
    scanf_s("请输入一个整数:%d",&n)
    //判断该数字能被3和5整除
    if (n % 3 == 0 && n % 5 == 0){
    	printf("该数字能被3和5整除");
    }else
    	printf("该数字不能被3和5整除");
}

3.1.7 switch语句

//基本语句
switch (expression) {
  case value1:
    // code block
    break;
  case value2:
     // code block
    break;
  default:
    // code block
//示例
#include <iostream>
using namespace std;

int main()
{
    int month;
    cout << "请输入1-12之间的整数代表月份:" << endl;
    cin >> month;

    switch (month)
    {
        case 3:
        case 4:
        case 5:
            cout << "春季" << endl;
            break; // 终止此case分支的执行
        case 6:
        case 7:
        case 8:
            cout << "夏季" << endl;
            break;
        case 9:
        case 10:
        case 11:
            cout << "秋季" << endl;
            break;
        case 12:
        case 1:
        case 2:
            cout << "冬季" << endl;
            break;
        default: // 如果上面所有的case分支都不符合,则会走到这里的default分支
            cout << "输入有误,请重新输入!" << endl;
            break;
    }

    return 0;
}

注意:
m++ > 8

-- m>8

-- m = m + 1

标签:case,运算符,优先级,等于,C语言,学习,&&,3.1,结构
From: https://www.cnblogs.com/cherry5277/p/17801931.html

相关文章

  • [学习笔记]TypeScript查缺补漏(一):类
    @目录基础知识创建类型类的初始化类型和值JSDoc注释字段私有字段可选和非可选字段字段类型约束Getter/Setter静态成员函数重载构造函数参数属性类的实例化箭头函数this的作用域全局类和对象方法泛型泛型类泛型接口泛型函数装饰器基础知识创建类型classAbc{}类的初始化co......
  • C++数据结构
    C++数据结构C/C++数组允许定义可存储相同类型数据项的变量,但是结构体是C++中另外一种用户自定义的可用的数据类型,它允许存储不同类型的数据项。结构用于表示一条记录,假设要跟踪图书馆书本的动态,可能需要跟踪每本书的下列属性:TitleAuthorSubjectBookID定义结构体......
  • C语言笔记2
     程序的三种基本结构1.顺序结构:按照语句的顺序书写次序2.选择结构:通过特段特定条件,选择一个分支执行3.循环结构:在给定的条件下,反腐执行循环体,直到条件不满足为止 程序设计的步骤1.分析问题,建立数学模型2.确定数据结构3.确定算法,描述算法4.编制程序,调试程序5.运行结果......
  • ssm学习每日总结-第一天
    第十一天学习今天着手看了一下ssm框架,了解了一下ssm框架的结构,即springmvn,spring,mybatis。主要了解了一下spring的底盘springframework。除此之外,还回顾了一下王建民老师留下的软件分析作业,仔细想想,建民老师的这门课,还是比较抽象的,大部分都是画图啊,理论啊等等,作业呢也是流程图......
  • uboot的Makefile添加c文件复制功能--Apple的学习笔记
    一,前言如何能快速知道哪些c被编译到boot了。通过看编译信息,通过看编译完成后的ouput文件夹中的o文件,能否直接copy这些c文件到某个文件夹中,这样搜索看代码定位比较容易。若makefile自己有全部的c路径,那么我做个脚本后处理下,copy这些路径的c即可,另外,makefile居然有复制o文件,那么我只......
  • 深度学习入门--认识深度学习以及安装工具
    感谢李沐老师的教学视频以及《动手学深度学习》,视频总时长47hhttps://zh-v2.d2l.ai/chapter_preface/index.htmlhttps://www.bilibili.com/video/BV1if4y147hS/?spm_id_from=333.999.0.0&vd_source=0cafd28c011c5492e6d7e39f1fd256d9课程介绍目标介绍深度学习经典和最新模......
  • 实验3 c语言函数应用编程
    task11源代码1#include<stdio.h>2#include<stdlib.h>3#include<time.h>4#include<windows.h>5#defineN8067voidprint_text(intline,intcol,chartext[]);8voidprint_spaces(intn);9voidprint_blank_lines(intn)......
  • openGauss学习笔记-111 openGauss 数据库管理-管理用户及权限-用户权限设置
    openGauss学习笔记-111openGauss数据库管理-管理用户及权限-用户权限设置111.1给用户直接授予某对象的权限给用户直接授予某对象的权限,请使用GRANT。将Schema中的表或者视图对象授权给其他用户或角色时,需要将表或视图所属Schema的USAGE权限同时授予该用户或角色。否则用户或......
  • FFT 学习笔记
    \(FastFuristTransformation\):快速傅立叶变换——快速求两个多项式的乘积多项式的点表示法多项式的性质:用任意\(n+1\)个函数上的不同点均可唯一确定一个多项式。证明:方程组为一个\(Vandermonder\)行列式,矩阵满秩有唯一解。当我们需要多项式\(A\)与多项式\(B\)的积\(C\)......
  • 数据结构-布隆过滤器
    它是一种概率数据结构,用于查找集合中是否存在元素。换句话说,它可以判断一个元素是否可能(而不是绝对)存在于集合中。它具有空间效率,因为它不存储实际元素(如哈希映射)。此外,布隆过滤器可能会给出假阳性结果,但不会出现假阴性。......