【C语言】入门基础概念


一、什么是C语言

C语言是一门面向过程的、抽象化的通用程序设计语言广泛应用于底层开发,C语言能以简易的方式编译、处理低级存储器,C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。

C语言最初是作为Unix系统的开发工具而发明的,请看下面C语言发展历程。
在这里插入图片描述

二、编译与链接

C语⾔是⼀⻔编译型的计算机语⾔,需要依赖编译器将计算机语⾔转换成机器能够执⾏的机器指令。C语⾔源代码都是⽂本⽂件,⽂本⽂件本⾝⽆法执⾏,必须通过编译器翻译和链接器的链接,⽣成⼆进制的可执⾏⽂件,可执⾏⽂件才能执⾏。
C语言代码是放在.c为后缀的文件中的,要得到最终运行的可执行程序,中间要经过编译和链接两给过程。
其中:常见的编译器有msvc、clang、gcc等。

一个工程一般会有多个源文件组成,为了跟直观的理解源程序经过编译器和链接器的处理过程,看图例:
在这里插入图片描述
注:
1.每个源⽂件(.c)单独经过编译器处理⽣成对应的⽬标⽂件(.obj为后缀的⽂件)
2.多个⽬标⽂件和库⽂件经过链接器处理⽣成对应的可执⾏程序(.exe⽂件)

三、main函数

每个 C 语⾔程序不管有多少⾏代码,都是从 main 函数开始执⾏的, main 函数是程序的⼊⼝,
main 函数也被叫做:主函数。 main 前⾯的 int 表⽰ main 函数执⾏结束的时候返回⼀个整型类型的值。所以在 main 函数的最后写 return 0; 正好前后呼应。

  • main函数是程序的⼊⼝。
  • main函数有且仅有⼀个。
  • 即使⼀个项⽬中有多个.c⽂件,但是只能有⼀个main函数(因为程序的⼊⼝只能有⼀个)。

四、关键字介绍

C语言中有一批保留名字的符号,被称为关键字或者保留字。

1. 关键字都有特殊的意义,是保留给C语言使用的。
2. 程序员自己在创建标识符的时候是不能和关键字重复的
3. 关键字也不能自己创建。

C语言中的32个关键字意义

auto :声明自动变量
break:跳出当前循环
case:开关语句分支
char :声明字符型变量或函数返回值类型
const:声明只读变量
continue:结束当前循环,开始下一轮循环
default:开关语句中的“默认”分支
do :循环语句的循环体
double :声明双精度浮点型变量或函数返回值类型
else :条件语句否定分支(与 if 连用)
enum :声明枚举类型
extern:声明变量或函数是在其它文件或本文件的其他位置定义
float:声明浮点型变量或函数返回值类型 for:一种循环语句
goto:无条件跳转语句
if:条件语句
int:声明整型变量或函数
long :声明长整型变量或函数返回值类型
register:声明寄存器变量
return :子程序返回语句(可以带参数,也可不带参数)
short :声明短整型变量或函数
signed:声明有符号类型变量或函数
sizeof:计算数据类型或变量长度(即所占字节数)
static :声明静态变量
struct:声明结构体类型
switch :用于开关语句
typedef:用以给数据类型取别名
unsigned:声明无符号类型变量或函数
union:声明共用体类型
void :声明函数无返回值或无参数,声明无类型指针
volatile:说明变量在程序执行中可被隐含地改变
while :循环语句的循环条件

注:在C99的标准中,加入了inline、restrict、_Bool、_Compoloex、_Imaginary等。
上述展示的关键字,是使用对多的,如果想了解其他关键字,可以通过下面链接,进一步了解。
C语言关键字的全部介绍

五、字符和ASCII编码

字符

在语言中字符是使用单引号括起来的,如’A’、’&’、’@'等。

编码

编码就是将某东西编成数字,但由于不同的人,可能会导致不同的编码,为了了⽅便⼤家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准 ASCII 编码,C语言中的字符就遵循了ASCII编码的方式。

那什么是ASCII编码呢,ASCII是AmericanStandardCodeforInformationInterchange的缩写,用来制订计算机中每个符号对应的代码,这也叫做计算机的内码 (code)。
下面通过ASCII表来认识一下:
在这里插入图片描述
除此外,还可以参考ASCII表
但为了我们方便,可以记住机组特殊的ASCII表的值:
• 字符A~Z的ASCII码值从65 ~ 90
• 字符a~z的ASCII码值从97 ~ 122
• 对应的⼤⼩写字符(a和A)的ASCII码值的差值是32
• 数字字符0~9的ASCII码值从48 ~ 57
• 换⾏ \n 的ASCII值是:10

六、字符串和结束符\0

字符串:使用双引号括起来的一串字符被称为字符串,字符串使用占位符%s来打印。
结束符\0:是一个特殊的字符,对于字符串"abcdf", 虽然只有5个字符,但在实际的末尾,存在\0转义字符,是代表字符串结束的标志。

七、转义字符的用法

转义字符:是字符中,一组特殊意的转义字符,是可以转变原来的意思。
这里对比较重要的几个进行介绍:
在这里插入图片描述
注:
其余请参考:转义字符

八、注释

为什么要写注释,注释是给自己和其他程序员看的,好的注释可以帮助我们更好的理解代码。
C语言的注释有两种表示方法。

  1. /**/ 的形式
    这种注释方法,一般用于多行注释,如果只使用了/*,忘了跟上*/,那么后面的代码也不能执行,导致错误,其次/**/,的注释也不支持嵌套, /* 开始注释后,遇到第⼀个 */ 就认为注释结束了。
  2. // 的形式
    第⼆种写法是将注释放在双斜杠 // 后⾯,从双斜杠到⾏尾都属于注释。这种注释只能是单⾏,可以,放在⾏⾸,也可以放在⼀⾏语句的结尾。这是 C99 标准新增的语法。

补充

编译时,注释会被替换成⼀个空格,所以 min/* 这⾥是注释*/Value 会变成 min Value ,⽽不是 minValue 。


以上是我对于,C语言学习的中的一些,基础知识总结,欢迎小伙伴们参考借阅。
如果觉得不错,也可以给我点个赞以资鼓励。~~~~

  • 10
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 9
    评论
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

懒-洋洋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值