由浅到深认识C语言(1):C语言概论

该文章Github地址:https://github.com/AntonyCheng/c-notes

在此介绍一下作者开源的SpringBoot项目初始化模板(Github仓库地址:https://github.com/AntonyCheng/spring-boot-init-template & CSDN文章地址:https://blog.csdn.net/AntonyCheng/article/details/136555245),该模板集成了最常见的开发组件,同时基于修改配置文件实现组件的装载,除了这些,模板中还有非常丰富的整合示例,同时单体架构也非常适合SpringBoot框架入门,如果觉得有意义或者有帮助,欢迎Star & Issues & PR!

1.C语言概论

1.1.写C语言的过程

  • 编写:程序员写代码的过程,在记事本,vs code,VS studio等等;
  • 编译:查看代码语法错误,生成汇编语言;
  • 汇编:将生成好的汇编语言生成为二进制语言(目标文件);
  • 连接:将生成好的二进制语言 + 用到的库 + 启动代码 生成可执行文件

1.2.完整的C代码分析

  • 先写一个hello world

    c 复制代码
    // 这是注释行
    #include<stdio.h>
    int main(int argc, char* argv[])
    {
    	printf("hello world\n");
    	return 0;
    }
  • 注释:

    c 复制代码
    "//"   这是行注释;
    "/**/"   这是块注释,且不能嵌套;
  • 头文件标识:

    c 复制代码
    #include<stdio.h>   

    stdio.hstd表示标准、i表示输入、o表示输出、h表示头文件,连起来就是标准的输入输出文件。

  • 输出:

    printf是将""中的字符串输出出来,这是由头部文件所决定的,能够进行标准的输出和输入。

  • 主函数:

    main是主函数,是一个程序的入口,是一个执行代码的开始,所以主函数有且仅有一个。

    main左边的int表示该函数返回的是一个int值。

    main右边的小括号内是该函数的形式参数,简称"形参"。

  • 大括号:

    {}是函数体,函数的功能都在大括号里面实现,每条记着缩进。

  • 分号:

    ;是C语言的语句结束标记,每一行代码必须得有。

  • 总结代码如下:

    c 复制代码
    //行注释:
    #include<stdio.h>//std 标准 i输入 o输出(标准的输入输出头文件)
    /* 块注释 不能嵌套
    main 是程序的入口 有且仅有一个
    main左边的int 代表的是函数的返回值类型
    ()里面函数的形参(函数外部将数据传递到函数内部的桥梁)
    */
    int main(int argc,char *argv[])
    {//函数的功能都在{}里面实现
    //使用任何东西 必先存在
    //printf:将""中的字符串 输出到 终端上
    printf("hello iot\n");//来至系统库文件
    //;c语言的语句结束标记
    //如果你的代码 一闪而过 可以用带阻塞的代码
    getchar();
    return 0;
    }
    //int char return 都是后面要讲的关键字

1.3.例一:求圆的面积

  • 分析所求例子过程:

    • 如果我们要求一个圆的面积,需要以下条件:

      半径R,算法S=pi*R*R

    • 半径R可以通过提前声明,或者用户输入;

    • 算法需要定义一个面积变量:area=pi*R*R;

    • 最后将该area变量输出出来;

  • 示例如下:

    c 复制代码
    #include<stdio.h>
    #define PI 3.14 //定义一个宏,建议大写,和普通变量区分
    
    int main(int argc, char* argv[])
    {
    	float R = 0.0f;
    	float area = 0.0f;
    
    	printf("请输入一个半径R;");
    	scanf_s("%f", &R);
    	printf("R = %f\n", R);
    	area = PI * R * R;
    	printf("area = %.2f\n", area);
    
    	return 0;
    }
  • 代码的解释:

    c 复制代码
    #include<stdio.h>
    //定义一个宏 建议大写 和普通变量区分开
    #define PI 3.14
    int main(int argc,char *argv[])
    {
    float r=0.0f;//定义一个r变量 系统给r开辟4字节空间
    float area = 0.0f;//定义一个面积变量
    //获得半径 从键盘获得scanf
    printf("请输入圆的半径r:");
    scanf("%f", &r);//带阻塞
    //算法:计算面积area = 3.14 * r * r
    area = PI*r*r;
    //将面积输出%.2f中的.2表示小数部分保留两位
    printf("area = %.2f\n",area);
    return 0;
    }

1.4.例二:函数的调用

  1. 定义两个变量data1 data2 获取键盘输入;

  2. 定义一个函数去计算上面两个变量data1,data2的和,在函数的内部计算(怎么将数据传递到函数内部呢?)需要用形参将data1,data2传递到函数内部

  3. 得到函数内部的计算结果(怎么得到呢?)通过函数的返回值得到函数的计算结果

    示例如下:

    c 复制代码
    #include<stdio.h>
    int add_fun(int a, int b)
    {
    	return a + b;
    }
    int main(int argc,char *argv[])
    {
    	int data1 = 0, data2 = 0;
    	int ret = 0;
    	printf("请输入两个int变量:");
    	scanf_s("%d %d", &data1, &data2);
    	ret = add_fun(data1, data2);
    	printf("ret = %d", ret);
    	return 0;
    }

    代码解释:

    c 复制代码
    #include<stdio.h>
    int add_fun(int a, int b)
    {
    	return a + b;
    }
    
    int main(int argc, char* argv[])
    {
    	//定义两个变量 获取键盘输入
    	//int data1 = 0;
    	//int data2 = 0;
    	int data1 = 0, data2 = 0;
    	int ret = 0;//存放函数的结果
    	printf("请输入两个int变量:");
    	scanf_s("%d %d", &data1, &data2);
    	//函数的调用
    	ret = add_fun(data1, data2);//a = data1 b = data2
    	//输出ret的结果
    	printf("ret = %d\n", ret);
    	return 0;
    }

下一章:由浅到深认识C语言(2):C语言的类型及语句

相关推荐
炸膛坦客8 小时前
单片机/C/C++八股:(二十六)IIC 专题(I²C)---- 上集
c语言·c++·单片机
灯澜忆梦8 小时前
GO_并发编程---定时器
开发语言·后端·golang
-银雾鸢尾-8 小时前
C#中的StringBuilder相关方法
开发语言·c#
-银雾鸢尾-9 小时前
C#中结构体与类的区别;抽象类与接口的区别
开发语言·c#
大模型码小白9 小时前
【Python零基础教程】继承、多态与魔法函数:面向对象编程三大核心特性详解
java·大数据·开发语言·人工智能·python·ai编程
段一凡-华北理工大学11 小时前
向量数据库实战:选型、调优与落地~系列文章12:文本分块策略实战:chunk_size 怎么选?重叠多少?
开发语言·数据库·后端·oracle·rust·工业智能体·高炉智能化
Ljwuhe12 小时前
C++——多态
开发语言·c++
遇乐的果园12 小时前
前端学习笔记-vue加载渲染优化
前端·笔记·学习
心平气和量大福大12 小时前
C#-WPF-Window主窗体
开发语言·c#·wpf
遇乐的果园13 小时前
前端学习笔记-vue状态管理优化
前端·笔记·学习