C语言的基础知识点

1.编译器的选择(vs2022)

1.1编译和链接

c语言其实是一门计算机语言,c语言源代码都是文本文件(文本信息),文件自身是无法执行的,必须通过编译器翻译和链接器的链接,生成二进制的可以执行的文件,可执行文件才可以执行。

注意:c语言的代码是放在.c为后缀的文件中的,要得到最终的执行程序,中间要有编译和链接中两个过程。

一个工程一般都会有多个源文件组成。如下图所示,演示了源程序经过编译器和链接器处理的大概过程

1.2 编译器的对比

c语言是一门编译型的计算机语言,需要依赖编译器将计算机语言转换位机器语言才能够执行的机器指令。

常见的c语言编译器:msvc、clang、gcc就是一些常见的编译器,当然也有一些集成开发环境如:vs2019、xcodw、CodeBlocks、DevC++、Clion、C-Free5等。

补充:集成开发环境(IDE)是用于提供程序开发环境的应用程序,一般包括代码编译器、编译器、测试器和图形用户界面等工具。集成了代码编写功能、分析功能、编译功能等一体化的开发软件服务于一身。

对比

VS2019集成了MSVC(苹果报包较大一些,安装简单,无需多余配置,使用起来非常方便)

Xcode集成了clang(苹果电脑上的开发工具)

CodeBlocks集成了gcc(这个工具比较小众,需要配置环境,不太推荐)

DevC++(小巧,但过于简单,对于代码风格的养成不太友好,一些竞赛会使用)

Clion是默认使用CMake,编译器是可以配置的(收费,初期不建议使用)

2.第一个c语言程序

这演示的是在编译器中创建项目和编写C代码的过程,并运行出的结果

3.main函数

每个c语言程序不管有多少行代码,都是从mian函数开始执行的,main函数是程序的入口,main函数也被叫做:主函数。main函数前面的int表示的是main函数执行结束的时候返回一个整型类型的值。所有在main函数的最后写return 0;正好前后呼应。

总结main函数是程序的人口,程序是从main函数的第一行开始执行的;

         main函数有且有一个;

        即使一个项目中有多个.c文件,但是只能有一个main函数(因为程序的入口只能有一个)

       main函数可以写在任何地方(int main ());

第一次写代码,会遇到的一些常见的错误总结:

1.main被写成了mian;

2.main后面的()漏掉了

3.代码中不能使用中文符号,比如括号和分号

4.一条语句结束后要有分号

5.每句语句的结尾分号一定要把该打上的都打上,有的语句不用打(后面会讲到)

4.printf和库函数

代码中使用了printf函数,实现了在屏幕上的信息的打印。

这是简单的介绍一下printf,printf是一个库函数,它的功能是在标准输出设备进行的信息打印。上面的代码是使用peintf函数打印字符串。只要把想要打印的一串字符放在双引导中并传递printf函数就可以打印。

printf函数也可以用来打印其他类型的数据,比如:

注意:%d打印的是整数;%c打印的是字符;%f打印的是浮动数;

这里的%d,%c等都是占位符

注:在使用库函数的时候,是需要包含头文件的,比如:printf函数使用时就要包含stdio.h这个头文件。

具体使用

库函数是什么呢?

库函数是为了不再重复实现常见的代码,让程序员提升开发效率的c语言标准规定了一组函数,这些函数不再由自己实现,只要拿出来用就行。

5.关键字介绍

C语言中有一批保留的名字的符号,比如:int、if、return、这些符号被称为保留字或者关键字

关键字都有特色的意义,是保留给c语言使用的

程序员自己在创建标识符的时候是不能和关键字重复的

关键字有是不能自己创建的

C语言的关键字很多,如:

6.字符和ASCII编码

在键盘上可以敲出各种字符,如:a,q,$,@等,这些符号都被称为字符,C语言中的字符是用单引号括起来的,如:'a','q','@'......

我们知道在计算机中所有的数据都是以二进制的形式存储的,那这些字符在内存中分别以什么样的二进制存储的呢?如果我们每个人自己给这些字符中的每个字符编一个二进制序列,这个叫做编码,为了方便大家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了一个标准ASCI编码,C语言中的字符就遵循了 ASCII 编码的方式

ASCII表

注:字符A--Z的ASCII码值是从65--90

        字符a--z的ASCII码值是从97--122

        对应的大小写字符的ASCII码值相差32(大+32=小)

        数字字符0--9的ASCII码值从48--57

        换行符\n 的ASCII码值是10

        这些字符中ASCII码值从0--31这个字符是不可以打印的字符,无法打印在屏幕上打印32--127的ASCII码值

7.字符串和\0

C语言中如何表示字符串呢?(使用双引号括起来的一串字符就被称为字符串),如:”abcdef“,就是一个字符串。

注:字符串的打印可以使用%s来指定,如下;

注意:c语言字符串一个特殊的知识,就是在字符串的末尾隐藏放着一个\0字符,这个\0字符是字符串的结束标志

如:对于字符串”abcdef",实际上我们看到了6个字符:a,b,c,d,e,f,但是实际上末尾还有一个\0的转义字符,\0是字符串结束的标志。所有我们在使用库函数printf()打印字符串或者strlen()计算字符串长度的时候,遇到\0的时候就会自动停止了。

 

可以看到打印arr1时出现了一些不知道的东西,因为这个arr1数组里面没有\0,导致打印字符串无法结束。

今天的学习就这些希望可以帮助到大家,谢谢!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值