• C 基础语法1 —— 数据类型、运算符与表达式


    数据类型

    在这里插入图片描述

    1. 常量与变量

    #include  // 引用头文件
    #define PI 3 // 符号常量,不可以赋值
    int main()
    {
        int a = 3; // a是一个变量
        a = 5;
        printf("%d\n", PI);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    2. scanf使用

    //scanf读取标准输入
    #define _CRT_SECURE_NO_WARNINGS //解决scanf编译报错问题
    #include 
    
    int main()
    {
        int a,b;
        scanf("%d%d", &a,&b); //一定要在变量前加&符号
        printf("a = %d, b = %d", a,b);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    3. 进制变换

    #define _CRT_SECURE_NO_WARNINGS //解决scanf编译报错问题
    #include 
    
    int main()
    {
        //int i = 23;
        int i = 0x7b;//16进制
        printf("%d\n", i);//%d是以十进制方式输出某个整形数
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    4. 浮点型和字符型

    #include 
    
    int main()
    {
        float f = 1.234;//浮点型占用4个字节的空间
        printf("%f\n", f);//%f是浮点形式输出数据
        char c = 'a';//定义一个字符型变量,并赋值为'a',一个字符型变量占用1个字节大小的空间
        printf("%c\n", c);//%c是字符型
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    5. 字符型大小写转换

    #include
    
    int main()
    {
        char c = 'a';//现在是小写字母a,要变成大写字母A
        c = c - 32;
        printf("%c\n", c);//以字符形式输出A
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    6. 混合运算

    #include
    
    int main()
    {
        int i = 5;
        float j = i / 2;//j输出2
        float k = (float)i / 2;//输出2.5
        printf("j = %f,k = %f\n",j,k);//%f是个浮点数,%c是单一的字符
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    7. scanf读取标准输入缓冲区原理

    #define _CRT_SECURE_NO_WARNINGS //解决scanf编译报错问题
    #include 
    
    //原理对于初试不重要的,机试很重要
    //缓冲区为空的时候,scanf才会卡住(阻塞)
    int main()
    {
        int i,j;
        char c;
        float f;
        scanf("%d,%c", &i,&c);
        printf("i = %d\n", i);
        printf("c = %c\n", c);
        scanf("%d", &j);
        printf("j = %d\n", j);
        scanf("%f", &f);
        printf("f = %f\n", f);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    8. scanf读取两个整数

    #define _CRT_SECURE_NO_WARNINGS //解决scanf编译报错问题
    #include 
    
    int main()
    {
        int a, b;
        scanf("%d %d", &a, &b);
        printf("%d\n", a + b);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    9. 判断闰年

    #define _CRT_SECURE_NO_WARNINGS //解决scanf编译报错问题
    #include 
    
    int main()
    {
        int year;
        scanf("%d", &year);
        if (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0))
        {
            printf("yes\n");
        }
        else
        {
            printf("no\n");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    10. scanf循环读数

    #define _CRT_SECURE_NO_WARNINGS //解决scanf编译报错问题
    #include 
    
    //EOF表示-1
    //清空缓冲区,VS2012 fflush(stdin)
    //stdin是标准输入
    //VS2013-VS2019清空标准输入缓冲区,用rewind
    //行首输入ctrl+z回车
    int main()
    {
        int i,ret;
        while (rewind(stdin),(ret = scanf("%d", &i)!=EOF))//while实现循环,最后要有小括号
        {
            printf("i = %d\n", i);
        }
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    11. 循环读取字符

    #define _CRT_SECURE_NO_WARNINGS //解决scanf编译报错问题
    #include 
    
    int main()
    {
        char c;
        while (scanf("%c", &c) != EOF)
        {
            if (c != '\n')
            {
                printf("%c", c - 32);
            }
            else
            {
                printf("\n");
            }
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    12. scanf混合输入

    #define _CRT_SECURE_NO_WARNINGS //解决scanf编译报错问题
    #include 
    
    //一个scanf读多种类型的数据
    //混合输入时每次在%c之前需要加入一个空格
    int main()
    {
        int i;
        char c;
        float f;
        scanf("%d %c %f", &i, &c, &f);
        printf("i = %d,c = %c,f = %f\n", i, c, f);
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    13. printf使用

    #include
    
    //printf控制输出格式
    int main()
    {
        printf("name = %s,age = %3d,sex = %c,score = %4.1f\n","longge",34,'m',98.5);
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    14. 算术运算

    #define _CRT_SECURE_NO_WARNINGS //解决scanf编译报错问题
    #include 
    
    int main()
    {
        int a = 4 + 5 * 2 - 6 / 3 + 11 % 4;
        printf("%d\n", a);
        scanf("%d", &a);
        printf("a = %d\n", a);
        //如果输入的是1234,想输出4321
        while (a != 0)//当a不等于零就可以进入循环
        {
            printf("%d", a % 10);
            a = a / 10;
        }
        printf("\n");
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    15. 关系运算

    #define _CRT_SECURE_NO_WARNINGS //解决scanf编译报错问题
    #include 
    
    //关系运算符和逻辑运算符
    int main()
    {
        int a = 8;
        if (3 < a && a < 10)
        {
            printf("a is right\n");
        }
        else
        {
            printf("a is wrong");
        }
        //判断两个浮点数是否相等,必须用下面的方法
        float f = 234.56;
        if (f - 234.56 > -0.0001 && f - 234.56 < 0.0001)
        {
            printf("yes\n");
        }
        else
        {
            printf("no\n");
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26

    16. 自增自减运算

    #define _CRT_SECURE_NO_WARNINGS //解决scanf编译报错问题
    #include 
    
    //++i直接按照优先级进行正常运算即可
    int main()
    {
        int i = -1;
        int j;
        j = i++ > -1; //代表的是i = i + 1,j = i>-1,再++
        printf("i = %d,j = %d\n", i,j);
        printf("i的字节数 = %d\n", sizeof(i));
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    17. day3作业

    #define _CRT_SECURE_NO_WARNINGS //解决scanf编译报错问题
    #include
    
    int main()
    {
        int a;//不能使用char,会使得变量
        scanf("%d", &a);
        printf("%c\n", a);//整型数在0~128之间可以用%c输出
    }
    //当操作的空间,超出变量本身占用的大小空间时
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
  • 相关阅读:
    Springboot 实践(12)RabbitMq server 安装调试(Windows环境)
    Java版分布式微服务云开发架构 Spring Cloud+Spring Boot+Mybatis 电子招标采购系统功能清单
    【设计模式】Java设计模式 - 模板模式
    acwing算法基础之基础算法--区间合并算法
    图形验证码+短信验证码实战
    中文编程工具开发软件实际案例:酒店饭店餐饮点餐管理系统软件编程实例
    csp-202203(在更)
    如何看待越来越多人报名参加软考?
    手写Spring——bean的扫描、加载和实例化
    BLE架构与开源协议栈
  • 原文地址:https://blog.csdn.net/qq_42731062/article/details/126186736