【C语言】c语言基础 + 选择结构

断点调试

  • 设置断点
  • 点击调试
  • 按Fn + F7运行下一行

交换两个变量

  • 用第三个变量交换
  • 不用第三个变量
a = a + b;

b = a - b; // a + b - b → a

a = a - b; // a + b - a → b

运算符

算术运算符
+ - * /

注意 / 的结果看两边操作数的精度,最终运算结果的精度会跟最高精度的数据类型相同
eg: 
    3 / 2 = 1;
    3.0 / 2 = 1.5;
    

逻辑运算符
&&  ||  !
与  或   非

if(n % 5 == 0 && n % 3 == 0)......
if(n % 5 == 0 || n % 3 == 0) ......

if(!(n % 5 == 0)) n不能被五整除

&& 优先级 要比 ||&& || &&
(||) && (||) 
短路原则
A && B && C 前面出现false, 整个式子就为false, 就不会往后看了

A || B || C 前面出现true, 整个式子就为false, 就不会往后看了


简写

if(A)  ~  if(A != 0)
if(!A) ~  if(A == 0)

0 表示假, false0 表示真  true


自增运算符
n++;
++n;

n++(整体) = n  先使用后自增
++n(整体) = n + 1 先自增后使用
    int n = 100;
    int m = n++; // ++ n
    
    //n++
    m = n;
    n = n + 1;
    
    //++n
    n = n + 1;
    m = n;

位移运算符
<< >> 

三目运算符

a ? b : c

if(a) 
{
    b;
}
else c;

int gcd(int a, int b)
{
    return !b ? a : gcd(b, a % b); 
}


局部变量与全局变量

局部变量: 在main函数里面定义的,定义在栈中,如果不初始化,没有默认值
全局变量: 在main函数外面定义的,定义在堆中, 初始值默认为0
局部变量优先

常量

常量: 值不能改变

e → 10的多少次方, 1e5 → 1 * 10^ 5,它是一个浮点数

  • 定义常量的方法
    • const 修饰
      • const 类型 变量名 = 值;
        • const int n = 100;
        const int N = 3e6 + 10;
        int q[N];//数组的大小必须是常数
        
    • #define 宏定义
      • #define 变量名 数值
        • #define n 100
      • #define 可以用来定义函数,但是一定要把每一部分就加一个括号

选择结构

  • if-else
单纯出现一个else, 取对立
出现else if 分更细的情况

判断闰年

如果它能整除100, 能否整除400
如果不能整除100, 能否整除4

if(n % 100 == 0 && n % 400 == 0)
    yes
else if(!(n % 100 == 0) && n % 4 == 0)
    yes
else no


    简单一些的写法
    if(n % 4 == 0 && n % 100 != 0 || n % 400 == 0)
    {
        printf("Yes");
    }
    else printf("No");
    闰年👉
        xx00 👉 % 400 == 0
        xxxx 👉 % 100 != 0 && % 4 == 0



if()
else if()
else if()
else 


if()
{
    if()
    {
        1;
        2;
    }
    else if();
    else
    {
        ;
    }
}
  • switch case
    switch(n)
    {
    case '+':
        1;
        2;
        3;
        
    case '-': break;
    case '*':
        5;
        6;
        break;
    default:
    }

    n可以是任何类型, case 后面的常量只要与n的类型对应即可

    case 类似 else if()
    default 类似 else

    case 里的语句不需要用花括号括起来,但if里面的语句如果超过两条一定要用花括号括起来
    
    case 相当于一个入口, 但是break 是设置一个出口,如果不加break,会一直往下滑,一直到break跳出来

    好习惯: 给defalut以外的每一个case都加一个break;


    
int n = 3;
    switch(n)
    {
    case 5:
        printf("aaa");
        printf("bbb");
        break;
    case 2:
        printf("ccc");
        break;
    case 1:
        printf("ddd");
        break;
    default:
        printf("abs");
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值