小秘籍----基本运算总结

本文详细介绍了C语言中的控制结构,包括关系运算、逻辑运算、三目运算符、选择控制语句(如if和switch)及循环结构(如while和do-while)。通过实例解析了各种语句的应用场景和特点。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关系运算:
是什么:

“==” “>” “<” “>=” “<=” “!=”

作用:

对数据进行比较

怎么用:

把运算符号放在两个比较重要的数据中间就可以

特点:

关系运算符的运算结果是一个int值 0或者1

优先级:
>,<,>=,<=优先级相等  大于==和!=  ==和!=优先级相等

优先级相同的两个运算先后顺序看结合律 关系运算符结合律是从左到右
#include <stdio.h>
int main(){
int a=1==2;
printf("%d\n",a);
return 0;
}
a=0;
逻辑运算:
是什么:

“||”或 “&&”且 “!”非

作用:

对多个表达式进行并列 判断真假

用法:

“||” 有真为真 左边为真 右边

“&&”有假为假

“!”真假调换

什么时候用:

当需要对多个表达式进行并列真假判读时使用

特点:

所有数据都有真假 0为假 其他数都为真 结合律规定 从左往右执行

优先级顺序:

小括号()>符号(-)>!>算数运算符>关系运算符>&&>||

#include <stdio.h>
int main(){
int a=1+2<3||-3<4&&5>0;
printf("a=%d",a);
return 0;
}
上列函数等效于(1+2)<3||((!(-3))<4&&(5>0))
三目运算符:

有三个部分参加运算 叫做三目运算符

(真假判断表达式1)?(表达式2):(表达式3);

真假判断1 如果为真 表达2 如果为假 表达3

什么用:

根据条件成与否执行不同的表达式 返回不同的值 简化代码

什么时候用:

当需要根据条件执行不同的表达式时使用

特点:

1,有三个部分参与运算

2,和if(){} else {}; 等价

3,三个位置为表达式 不仅仅是数值 但必须有运算结果 不能定义变量

#include <stdio.h>
int main(){
int a=2>1?3+4:4+5;
printf("a=%d",a);
return 0;
}
优先级和结合律:

()小括号>-()>!>算数运算符>关系运算符>&&>||

ASCII码表

在计算机的世界中 所有字符都是二进制 如果不统一 A电脑上的字符在B上就会说另一个二进制

这样无法正常的通信 为了避免这种情况 就需要一种统一的标准 让所有的电脑上的字符代表的二进制表示形式都是一样的

这样 信息传递时才会是正确的

ASCII只用一个字节表示字符 有256种变化 对英文世界时够用的 但是中文是不够的

所以在中国主要有以下两种字节:

GBK2312:两个字节 16位 有6w多种可能

UTF-8:三个字节 24位 2^24种可能性

字符在运算是 会自动转换为ASCII值

int a=1+’a’;
printf(“a=%d”,a);
return 0;
输出值为97 a的ASCII码表对应值为96

选择控制语句if的用法:
1:顺序结构:
⬇️

代码1

⬇️

代码2

顺序结构
2:选择结构

指编程中用来判断给定的条件是否满足 根据判断的结果(真或假) 决定执行两种操作之一

有什么作用:

可以根据条件执行不同的操作

怎么用:
1:if(){}

2:if(){}else{}

3:if(){}else if(){}

4:if(){}else if(){}else {}

5:if();
什么时候用:

根据条件执行不同的操作

特点:
1:一次if语句只能执行给出的所有操作的一个

#include <stdio.h>

//一次if语句只能执行给出的所有操作中的一个

//例如下列语句只会输出a>1

//a++不会执行

int main(){

   int a=5;

   if (a>1) {

       printf("a>1\n");

   }

   else if (a++) {

       printf("a>2\n");

   }

   else if (a>3) {

       printf("a>3\n");

   }

   else if (a>4) {

       printf("a>4\n");

   }

   else if (a>5) {

       printf("a>5\n");

   }

   else if (a>6) {

       printf("a>6\n");



   }   else {

       printf("都不满足\n");

   }

   return 0;

}
2:if();这种用法 只有紧跟在后边的一句有效 (读到: 结束) 且不能定义变量
#include <stdio.h>
int main(){
    int a=2;
    if (a>1)
        printf("a\n");//满足则打印这行
    printf("b\n");//打印
    return 0;
}
3:除了if(); 其他所有if()与{}之间不能有;
4:if(条件){}里边的条件判断如果是与常量的等于判断 则常量写在前边
选择控制语句:
是什么:

指编程中用来判断所给定的条件是否满足 根据判定的结果 (真或假) 决定给出的具体操作

有什么用:

可以根据不同的int值匹配不同的操作

怎么用:

switch(表达式){case常量表达式1:语句1;break;…case…;defaulf:语句n;}

什么时候用:

当是判断int值匹配不同的值执行对应的操作时可以用 可以简化代码结构

有什么特点:
1:条件结果只能是整数 二case只能是整型常量 注意case’a’;
2:break可有可无 有则执行完跳出 没有则继续执行 知道遇到下一个break或执行完
#include <stdio.h>
int main(){
    //如果执行完遇到没有break 则继续执行  不用判断 直到遇到下一个break
    int a=3;
    switch (a) {
        case 1:
            printf("a=1\n");
            break;
        case 2:
            printf("a=2\n");
            break;
        case 3:
            printf("a=3\n");
//            break;
        case 4:
            printf("a=4\n");
//            break;
        case 5:
            printf("a=5\n");
            break;
        default:
            printf("没有满足的\n");
            break;
    }return 0;
}
3:default可有可无 有则如果条件都不满足 会执行这句 无则直接结束
#include <stdio.h>
int main(){
    //如果没有default 则直接执行结束
    int a=3;
    switch (a) {
        case 1:
            printf("a=1\n");
            break;
        case 2:
            printf("a=2\n");
            break;
        case 3:
            printf("a=3\n");
            break;
        case 4:
            printf("a=4\n");
            break;
        case 5:
            printf("a=5\n");
            break;
//        default:
            printf("没有满足的\n");
            break;
    }return 0;
}
4:case下面要定义变量必须假{}.且case之后的常量值不能重复
#include <stdio.h>
int main(){
    int a=3;
    switch (a) {
        case 1:
            printf("a=1\n");
            break;
        case 2:
            printf("a=1\n");//报错  重复条件
            break;
        case 3:
            printf("a=3\n");
            break;
        case 4:
            printf("a=4\n");
            break;
        case 5:
            printf("a=5\n");
            break;
           default:
            printf("没有满足的\n");
            break;
    }return 0;
}
5:swith语句可以全部用if语句代替 单if不能全用switch替代
6:case下定义变量 必须加{}
循环结构while和do while :
是什么:

指编程循环语句 当满足条件是进入循环 循环判断直到不满足条件跳出循环

有什么用:

可以根据条件反复执行一段代码

怎么用:

while(条件) {循环语句}

do{循环语句} while(条件)

特点:
1:只有满足条件循环才会执行
#include <stdio.h>
int main(){
    /*while的用法
    while (条件) {
        需要反复执行的代码
    }*/
    int a=0;
    while (a<10) {
        a++;
        printf("我打印了%d次\n",a);

    }return 0;
}

/*打印结果
我打印了1次
我打印了2次
我打印了3次
我打印了4次
我打印了5次
我打印了6次
我打印了7次
我打印了8次
我打印了9次
我打印了10次*/
//循环结构do while 的用法

#include <stdio.h>
int main(){
    /*
     do while的用法
     do{需要反复执行的代码}
     while(条件)
     */
int a=0;
do{a++;
    printf("我打印了第%d次\n",a);}
while (a<10);
return 0;
}
2:注意死循环的出现 会一直循环下去 出发程序强制退出
3:如果continue 则跳出本次循环 继续下一次判断 如果条件成立则继续执行循环
#include <stdio.h>
int main(){
    int a=0;
    while (a<10) {
//如果碰到continue 则跳出本次循环 继续下一次判断  如果条件成立继续循环
        a++;
        if (6==a){
            continue;
        }
        printf("我打印了%d次\n",a);

    }return 0;
}
/*
 打印结果  跳过了a=6的循环
 我打印了1次
 我打印了2次
 我打印了3次
 我打印了4次
 我打印了5次
 我打印了7次
 我打印了8次
 我打印了9次
 我打印了10次
 */
4:如果碰到break 无论条件满足与否 循环立刻接受
#include <stdio.h>
int main(){
    int a=0;
    while (a<10) {
        //如果碰到break 无论条件是否满足 则立刻跳出循环  循环结束
        a++;
        if (6==a){
            break;
        }
        printf("我打印了%d次\n",a);

    }return 0;
}
/*
 打印结果  到第六次直接跳出  没有继续循环
 我打印了1次
 我打印了2次
 我打印了3次
 我打印了4次
 我打印了5次
 */
5:continue和break都是跳出当前循环域 如果有外出循环 不受影响
#include <stdio.h>
int main(){
//内循环的continuebreak 不会影响外循环
    int b=0;
    while (b<4){
        b++;
        printf("我打印了第%d次b\n",b);
        int a=0;
    while (a<5) {
        a++;

        if (3==a){
            continue;
        }
        if (4==a){
            break;
        }
        printf("我打印了第%d次a\n",a);

    }
    }        return 0;
}
6:do while至少执行一次 而while不一定

最近才开始往github上放东西 在公司写的又不能放= = 大家姑且看看吧

github地址: https://github.com/FuThD

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值