由浅到深认识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.h:std表示标准、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语言的类型及语句

相关推荐
一水鉴天2 小时前
映射、哈希表与哈斯图:计算机科学的三种基线 20261003(元宝)
开发语言·人工智能
Frank_refuel2 小时前
C++11之一场名为“搬家”的 C++ 之旅
开发语言·c++
海绵宝宝转agent2 小时前
learn-claude-code第1-5章开源学习笔记分享
人工智能·笔记·python·学习
Wang's Blog3 小时前
Java 项目实战: 外卖平台优化-Nginx配置文件结构与块层级
java·开发语言·nginx
2601_962071573 小时前
类变量和全局变量的查找路径有什么区别?
开发语言·python
\光辉岁月/4 小时前
5.java-数组
java·开发语言
Java后端的Ai之路4 小时前
Python进阶探索29_eval内置函数
开发语言·python·探索·eval·内置函数
谢亮_vipxieliang5 小时前
Spring 事务失效的常见场景
java·开发语言·数据库·spring boot
时间的拾荒人5 小时前
Qt 多线程详解:从 QThread 到实战
开发语言·qt·面试
郑州光合科技余经理5 小时前
海外版外卖加盟:总站与分站配送规则怎么分开管
java·开发语言·前端·后端·uni-app·php·ai编程