C语言部分介绍整合

C语言初期学习感悟

学习C语言初期,我感受到了它的简洁和高效。尽管有些语法规则和概念对我来说比较陌生,但通过不断的练习和实践,我逐渐理解了其中的原理和应用。我发现C语言的结构化编程使得程序更加清晰和易于维护,而且它的底层特性让我可以更深入地理解计算机的工作原理。虽然学习过程中遇到了一些困难,但坚持下来后我感到很有成就感,也为未来深入学习编程打下了坚实的基础。

C语言的发展过程

语言诞生于20世纪70年代,由贝尔实验室的Dennis Ritchie开发。在那个时候,贝尔实验室正在开发一个新的操作系统,这个操作系统后来被称为UNIX。为了方便开发和移植UNIX系统,Ritchie创造了C语言。

在此之前,贝尔实验室使用的主要编程语言是汇编语言,但它比较低级且与硬件相关,导致编写和维护大型软件非常困难。因此,Ritchie决定设计一种更高级、更可移植的语言。

他在设计C语言时参考了早期的编程语言(如ALGOL、BCPL),并将其与汇编语言的灵活性相结合。这样,C语言就成为一种介于高级语言和低级语言之间的语言,可以同时实现高效的程序控制和方便的软件开发。

1972年,Dennis Ritchie发布了第一个C语言编译器,称为"CC"(C Compiler),并开始用C语言重写UNIX操作系统。这使得UNIX系统能够在不同的硬件平台上移植和运行,极大地促进了UNIX的普及和发展。

随着时间的推移,C语言逐渐成为最流行的编程语言之一。它在系统软件、嵌入式系统、游戏开发等领域得到广泛应用,影响了后来其他编程语言的设计和发展,如C++、Java等。

总的来说,C语言的诞生源于对操作系统开发和编程效率的需求,它的简洁性、可移植性和灵活性使其成为广泛使用的编程语言,并对计算机科学产生了深远的影响。在这里插入代码片

C语言跟世界打的招呼

#include <stdio.h>
int main()
{
	printf("hello world");

	return 0;
}
``

```c
在这里插入代码片

这就是计算机跟人类打的第一声招呼,从此C语言的故事一直在延续。

C语言的基础知识

使用linux虚拟机

进入家目录

在的味道味道带娃 带娃带娃味道味道味道这里插入图片描述 打开虚拟机后绝大部分的操作都是在家目录下进行的
首先要 cd ~ cd(choose directory)~代表加目录;cd ~ 则代表进入到家目录下,命令在家目录下进行操作

在此d这里插入图片vimvim描述
vim 一个1.c的文件,此时进入到文件内部进行编译。

在这里插入图片描述进入到文件内部进行代码书写,上图代码可以代表一个万能框架。写C语言内容之前可以先将框架写出来
写完之后 ctrl shift + n 可以打开另一个同类型的窗口 此时gcc 1.c 提取文件
./a.out对本文件进行执行
在这里插入图片描述
计算机识别了你所写的语言 并进行了输出。

C语言有难度的地方

指针 数组

初看标题可能觉得他们很绕口,不过慢慢习惯之后也就能大致理解他们的意思
指针 定义式为: int *p = NULL;
数组 定义式为: int arr[5] = {0}; 这个数组共包含五个元素。当其中的五个元素都初始化为零。

指针数组 和 数组指针

指针数组:本质还是一个数组,不过数组里面存放的元素是指针,指针存放的是地址。定义式 int * arr[5] arr数组里面有五个元素,每个元素里面都存放着一个地址。

在这里插入图片描述
数组指针: 是指还是指针,指针指向数组
定义式: int (*p)[5] = ;
定义了一个数组指针p,该指针指向一个拥有5个int类型元素的一维数组
(该指针可以保存一个拥有5个int类型元素的一维数组的地址)

p先和谁结合:本质就是谁
p先和结合:定义的本质就是指针
p先和[]结合:定义的本质就是数组
注意:[ ]的优先级高于

const的作用

不能直接修改a的值;
未const之前 a的值可以通过地址的改变而间接改变,也可以通过修改a的值而直接修改;但是被const修饰之后,变量a的值只能在固定的地方且不能被修改
在这里插入图片描述

main函数传参

1.不带参数的形式:int main(void)
这种形式表示main函数没有接受任何参数,可以直接使用。

  1. 带参数的形式:int main(int argc, char *argv[])
    这种形式表示main函数接受两个参数,分别是整数类型的argc和字符指针数组类型的argv。其中,argc表示命令行参数的个数,包括程序名称本身。argv是一个指针数组,每个元素指向一个字符串,表示相应的命令行参数。
#include <stdio.h>

int main(int argc, char *argv[]) {
    printf("命令行参数个数:%d\n", argc);

    for (int i = 0; i < argc; i++) {
        printf("参数 %d: %s\n", i, argv[i]);
    }

    return 0;
}

未完待续

10天的C语言学习暂时告一段落,初接触的陌生到现在的熟悉,但是还并未完全掌握。前面的课程还需要在复习复习整合整合。这个梳理会一直写下去的,今天先更新到这里…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值