• 001.第一个C语言项目


    之前只学过python,在这里我的本意是想学C++,但是没有C语言的基础,听起来比较吃力,所以就快速过一下C语言。这是一个零基础入门的笔记,高手可以绕过。

    0.Visual studio2022的使用

    创建第一个C语言项目和源文件
    https://blog.csdn.net/qq_45037165/article/details/124520286

    1.第一个C语言项目

    #include
    int main() {
    	printf("Hello World");
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5

    运行结果:
    在这里插入图片描述

    在这里插入图片描述

    • 第一行为库函数,提供例如屏幕打印的调用服务。
    • 第二行为主函数,int为主函数返回类型,main()为函数头,每个程序都只有一个main函数,并且为程序的入口。其中大括号{}里面的内容为函数体,里面包含具体程序段。
    • 第三行为屏幕打印函数,改行代码的意义是在屏幕中打印双引号里面的内容。
    • 第四行为函数返回值,由于main函数返回值为int型,因此一定要有一个返回值。

    注意:每行代码结束要用英文状态下的分号;结束。

    2.数据类型

    在这里插入图片描述

    为什么出现这么多的类型?

    因为编程是来解决生活中的问题,生活中就有这么多类型。

    每种类型的大小是多少?

    我们注释掉之前写的代码,注释快捷键是:Ctrl+shift+/ 重新写一段代码看看:
    在这里插入图片描述
    单位为字节。
    在这里插入图片描述
    计算机的世界是二进制,我们生活的世界是十进制

    8个bit比特位 = 1个byte字节
    其他都是1024倍
    在这里插入图片描述
    当我们知道了这个之后,上面的代码就很好算了
    在这里插入图片描述
    在这里插入图片描述

    3.变量

    变量的自定和使用

    int main() {
    	int myNum = 15;
    	printf("%d", myNum);  //格式说明符 %d 或 %i 用双引号括起来
    	return 0;
    
    • 1
    • 2
    • 3
    • 4

    举例:求和

    int main()
    {
    	int num1 = 0;
    	int num2 = 0;
    
    	//请输入两个整数:
    	scanf_s("%d" "%d", &num1, &num2);
    
    	//求和,写求和表达式的同时定义sum变量
    	int sum = num1 + num2;
    
    	//输出结果
    	printf("%d\n", sum);
    
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    修改变量

    int main()
    {
    	int a = 10;
    	a = 20;   //修改变量
    	printf("%d\n", a); //20
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    4.常量

    const修饰的常变量,不允许被修改

    int main()
    {
    	const int a = 10;  //加了const就不允许倍改
    	a = 20;   //如果修改,则程序报错
    	printf("%d\n", a); //报错
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    define 定义的标识符常量

    #define MAX 100
    int main()
    {
    	printf("%d\n", MAX);//100
    	int a = MAX;
    	printf("%d\n", a);//100
    	MAX = 200//报错
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    5.运算符

    C 将运算符分为以下几组:

    • 算术运算符
    • 赋值运算符
    • 比较运算符
    • 逻辑运算符
    • 位运算符

    在这里插入图片描述
    举例:求和

    int main()
    {
    	int sum1 = 100 + 50;        // 150 (100 + 50)
    	int sum2 = sum1 + 250;      // 400 (150 + 250)
    	int sum3 = sum2 + sum2;     // 800 (400 + 400)
    
    	printf("%d\n", sum1);//150
    	printf("%d\n", sum2);//400
    	printf("%d\n", sum3);//800
    
    	return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    赋值运算符

    赋值运算符用于为变量赋值。
    在下面的示例中,我们使用 assignment 运算符 (=) 将值 10 分配给 一个名为 x 的变量:

    #include 
    
    int main() {
      int x = 10;
      x += 5;
      printf("%d", x);//15
      return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    逻辑运算符
    逻辑运算符用于确定变量或值之间的逻辑:
    在这里插入图片描述

    #include 
    
    int main() {
      int x = 5;
      int y = 3;
      
      printf("%d", x > 3 && x < 10);//1,即可true
      return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    6.条件判断

    If … Else 条件语句

    C 支持数学中的常见逻辑条件:

    小于:a < b
    小于或等于:a <= b
    大于:a > b
    大于或等于:a >= b
    等于 a == b
    不等于:a != b
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    您可以使用这些条件为不同的决策执行不同的操作。

    C 有以下条件语句:

    使用if指定要执行的代码块,如果指定条件为真
    使用else指定要执行的代码块,如果相同条件为假
    如果第一个条件为假,则使用 else if 指定要测试的新条件
    使用 switch 指定要执行的许多替代代码块

    #include 
    
    int main() {
      if (20 > 18) {
        printf("20大于18");
      }  
      return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    也可以测试变量

    #include 
    
    int main() {
      int x = 20;
      int y = 18;
      if (x > y) {
        printf("x is greater than y");
      }  
      return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    else 语句

    #include 
    
    int main() {
      int time = 20;
      if (time < 18) {
        printf("Good day.");
      } else {
        printf("Good evening.");
      }
      return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    在上面的例子中,时间(20)大于18,所以条件是false。 因此,我们转到 else 条件并打印到屏幕"Good evening"。 如果时间小于 18,程序将打印"Good day"。

    else if 语句

    如果第一个条件为 false,则使用 else if 语句指定新条件。

    #include 
    
    int main() {
      int time = 22;
      if (time < 10) {
        printf("Good morning.");
      } else if (time < 20) {
        printf("Good day.");
      } else {
        printf("Good evening.");
      }
      return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    在上面的例子中,时间 (22) 大于 10,所以 第一个条件 是 false。 else if 语句中的下一个条件也是 false,所以我们继续进行 else 条件,因为 condition1 和 condition2 都是 false - 并打印到屏幕上"Good evening"。

    但是,如果时间是 14 点,我们的程序会打印"Good day"。

    Switch 语句

    #include 
    
    int main() {
      int day = 4;
      
      switch (day) {
        case 1:
          printf("Monday");
          break;
        case 2:
          printf("Tuesday");
          break;
        case 3:
          printf("Wednesday");
          break;
        case 4:
          printf("Thursday");
          break;
        case 5:
          printf("Friday");
          break;
        case 6:
          printf("Saturday");
          break;
        case 7:
          printf("Sunday");
          break;
      }
        
      return 0;
    }
    
    • 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
    • 27
    • 28
    • 29
    • 30
    • 31

    break 关键字

    当 C 到达 break 关键字时,它会跳出 switch 块。
    这将停止块内更多代码和案例测试的执行。
    找到匹配项并完成工作后,就该休息一下了。 无需进行更多测试。

    default 默认关键字

    #include 
    
    int main() {
      int day = 4;
      
      switch (day) {
      case 6:
        printf("Today is Saturday");
        break;
      case 7:
        printf("Today is Sunday");
        break;
      default:
        printf("Looking forward to the Weekend");
      }
      
      return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    循环语句

    While 循环

    #include 
    
    int main() {
      int i = 0;
      
      while (i < 5) {
        printf("%d\n", i);
        i++;
      }
      
      return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    Do/While 循环

    #include 
    
    int main() {
      int i = 0;
      
      do {
        printf("%d\n", i);
        i++;
      }
      while (i < 5);
      
      return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

    For循环

    实例1:将打印数字 0 到 4:

    #include 
    
    int main() {
      int i;
    
      for (i = 0; i < 5; i++) {
        printf("%d\n", i);
      }
      
      return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    实例2:打印 0 到 10 之间的偶数

    for (i = 0; i <= 10; i = i + 2) {
      printf("%d\n", i);
    }
    
    • 1
    • 2
    • 3

    Break 和 Continue 语句

    break 跳出整个循环。

    #include 
    
    int main() {
      int i;
      
      for (i = 0; i < 10; i++) {
        if (i == 4) {
          break;
        }
        printf("%d\n", i);
      }
       
      return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14

    Continue 跳过其中1次循环。如果指定条件发生,continue 语句会中断一次迭代(循环中),并继续循环中的下一次迭代。

    #include 
    
    int main() {
      int i;
      
      for (i = 0; i < 10; i++) {
        if (i == 4) {
          continue;
        }
        printf("%d\n", i);
      }   
      
      return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
  • 相关阅读:
    (WebFlux)003、多数据源R2dbc事务失效分析
    ChatGPT与日本首相交流核废水事件-精准Prompt...
    Text embedding 模型总结
    ubuntu 查询流量使用
    【641. 设计循环双端队列】
    VGG论文
    iOS经典面试题之深入解析objc对象的内存空间、数据结构以及isa指针的理解
    Windows/Linux双系统卸载Ubuntu
    UNPV2 学习:System V IPC 章节学习问题记录
    MODB:软体动物线粒体基因组数据库
  • 原文地址:https://blog.csdn.net/annita2019/article/details/133939573