C语言入门:打开编程世界的大门

一.C语言是什么

在我们生活中,我们在交流时候使用的就是语言,在这个世界上有许多的国家、民族,自然也有很多语言如:汉语、英语、法语等等,这种人与人交流使用的语言我们称为自然语言。然而计算机并不能理解我们的语言,这时候就有人发明了如:Python,C++,JAVA等计算机语言。C语言便是其中最具有代表性之一的语言。

二.C语言的历史

这里不需要注意太多内容,只需要知道如下一点:

在C语言的历史上一共有三次比较大的改变,分别为:[C89标准][C99标准]),[C11标准]

三.编译与链接

3.1 编译链接的过程

C语⾔是⼀⻔编译型计算机语⾔,C语⾔源代码都是⽂本⽂件(txt文件),⽂本⽂件本⾝⽆法执⾏,必须通过编译器编译和链接器的链接,⽣成⼆进制的可执⾏⽂件,可执⾏⽂件才能执⾏。

  • 每个源文件经过编译器处理生成对应的目标文件(.obj)
  • 多个目标文件和库文件经过连接器链接后生成可执行程序(.exe)
  • 详细的编译过程,会有一门被称为编译原理的课程专门传授。

我们在这里要知道的是,编译器的作用是:预处理+编译+汇编、链接器的作用是汇编。

这里我们暂时不介绍预处理阶段,然后简单介绍一下编译和汇编阶段。

简而言之,编译是将高级语言变成汇编语言,汇编是将汇编语言变成机器语言。

下面给大家介绍一下高级语言、汇编语言、机器语言。

机器语言、汇编语言和高级语言是计算机编程中的三种不同层次的语言,各自的抽象程度和与硬件的交互方式有所不同。

2. 机器语言(Machine Language)

  • 定义: 机器语言是计算机直接理解和执行的语言,由二进制数(0 和 1)组成。
  • 特点:
    • 完全由二进制指令构成,最底层,难以阅读和编写。
    • 与处理器架构紧密相关,不同硬件有不同的机器语言。
    • 执行效率最高,因为没有中间的翻译步骤。

例子:

              10110000 01100001 (将 97 放入寄存器)

3. 汇编语言(Assembly Language)

  • 定义: 汇编语言是机器语言的低级别抽象,用助记符代替二进制指令,帮助程序员更容易编写和理解代码。
  • 特点:
    • 使用助记符(如 MOVADD)表示指令,较机器语言更具可读性。
    • 需要汇编器将汇编代码翻译成机器语言。
    • 与硬件密切相关,每种处理器都有自己的汇编语言。

例子:

       MOV AL, 61h (将 97 放入 AL 寄存器)

4. 高级语言(High-level Language)

  • 定义: 高级语言是一种抽象程度更高的编程语言,接近自然语言或数学表达式,远离底层硬件。
  • 特点:
    • 易于编写、阅读和维护,面向问题的解决方案,而非硬件。
    • 与平台无关,通常通过编译器或解释器转换为机器语言。
    • 常见的高级语言有 C、C++、Java、Python 等。

例子:

int a = 97; (声明一个整型变量并赋值 97) 

5.总结

  • 机器语言: 最低级别的语言,直接与硬件交互,二进制表示。
  • 汇编语言: 机器语言的符号化抽象,仍然与硬件紧密相关。
  • 高级语言: 更抽象、接近人类语言,易于使用,与硬件无关。

四.集成开发环境

集成开发环境,被称为IDE。

IDE是用于提供程序开发环境的应用。

其一般包括代码编辑器、编译器、调试器和图形化界面。

其中,编辑器是让你编代码的,编译器是用来编译的。

调试器是用来调试的,图形化界面是能让你看到。

这里我建议大家使用vs2022,因为我用的是这个。

五.C语言项目的建立

1.双击vs2022

2.双击创建新项目

3.单击空项目+下一步或者双击空项目

4.在解决方案资源管理器中找到:源文件->添加->新建项

5.选择cpp文件,修改文件后缀为.c

6.点击添加,完成项目创建。

六.你好,世界!

现在我们来打出人生的第一个程序。

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

输出结果:hello world

  1. 每个C语言都是从main函数开始执行的,main函数是程序的入口,main函数也被叫做主函数。
  2. main函数前面的int表示函数的返回值,return表示返回,因此我们最后返回了0.
  3. printf是一个库函数,它可以帮助我们打印语句。
  4. C语言每条语句结束后都要加英文分号(;),表示语句的结束。

下面我们来介绍字符

六.字符和ASCII表

6.1 什么是字符

像‘a’,‘b’,‘c’,‘1’,‘#’ 等由单引号引起来的东东,我们称为字符

ps:重点是单引号,单引号里面只能引一个。

6.2转义字符

而在字符中有一种特殊的字符,比如‘\n’(换行),‘\0’(null),这些特殊的字符,我们称它为转义字符,并且每一个转移字符都有特殊含义。下面是一些常见的转义字符及其含义。

我认为,这一大堆里面我们只需要会用\n、\\以及\'就足够了。

6.3ASCII码

我们知道在计算机中所有的数据都是以⼆进制的形式存储的,那这些a’,‘b’,'@'字符在内存中分别以什么样的⼆进制存储的呢?

所以有人为它们每个字符都编了个二进制序列,这个叫做编码,为了⽅便⼤家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准ASCII编码,C语⾔中的字符就遵循了ASCII编码的⽅式。

  • 字符A-Z的ASCII码是65-90
  • 字符a-z的ASCII码为97-122
  • 对应的大小写字符的ASCII码值的差值是32
  • 数字字符0-9的ASCII码值是48-57
  • ASCII码值从0~31这32个字符是不可打印字符,⽆法打印在屏幕上观察

练习:小写转大写

	printf("%c\n", 'Q');
	printf("%c\n", 81);

展示:打印出全部可打印字符

	for (i = 32; i <= 127; i++)
	{
		printf("%c ", i);
		if (i % 16 == 15)
		{
			printf("\n");
		}
	}

7.1 字符串
 

使⽤双引号括起来的⼀串字符就被称为字符串,如“abcd”,“1234”,但是和字符不同的是,字符串会在结尾默认加个’\0’,作为其结束标志。


	printf("hello world");
	puts("hello world");

\0样例:

printf("zcxv\0sdaf");

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值