初识C语言

一、什么是C语言

1、就像我们人与人之间沟通一样会使用语言(中文,英文,俄语等),人与计算机沟通也会有语言,C语言,C++,python,java,GO等

2、C语⾔是⼀⻔编译型计算机语⾔,C语⾔源代码都是⽂本⽂件,⽂本⽂件本⾝⽆法执⾏,必须通过编译
器翻译和链接器的链接,⽣成⼆进制的可执⾏⽂件,可执⾏⽂件才能执⾏。
C语⾔代码是放在 .c 为后缀的⽂件中的,要得到最终运⾏的可执⾏程序,中间要经过编译和链接俩个过程,如图所示
注:
1、  每个源⽂件(.c)单独经过编译器处理⽣成对应的⽬标⽂件(.obj为后缀的⽂件)
2、  多个⽬标⽂件和库⽂件经过链接器处理⽣成对应的可执⾏程序(.exe⽂件)

二、C语言的历史

三、编译器的选择

C语⾔是⼀⻔编译型的计算机语⾔,需要依赖编译器将计算机语⾔转换成机器能够执⾏的机器指令。
那我们常⻅的C语⾔编译器都有哪些呢?
⽐如:msvc、clang、gcc 就是⼀些常⻅的编译器,当然也有⼀些集成开发环境如:VS2022、
XCode、CodeBlocks、DevC++、Clion等。

GCC

GCC(GNU Compiler Collection)是一款开源的C语言编译器,支持多种操作系统和平台。

GCC 具有很高的编译速度和良好的代码质量,同时还提供了丰富的编译选项和优化选项,可以生成高效的可执行文件。由于其开源和跨平台的特点,GCC被广泛应用于各种开源项目和跨平台应用程序的开发中。

下载地址: GCC, the GNU Compiler Collection- GNU Project

Clang

Clang 是一款开源的 C语言编译器,由 LLVM 项目开发。Clang 具有很高的编译速度和优秀的代码质量,同时还提供了丰富的编译选项和静态分析工具,可以帮助开发者发现潜在的代码问题。

Clang 还支持多种操作系统和平台,并且可以与其他 LLVM 工具集成使用,如 LLDB 调试器和 Clang-Tidy 代码检查工具等。

下载地址: Clang C Language Family Frontend for LLVM

Visual C++

Visual C++ 是微软公司开发的一款 C++ 编译器,集成于 Visual Studio 开发环境中,支持 Windows 平台。

Visual C++ 具有很高的编译速度和良好的兼容性,同时还提供了丰富的开发工具和调试工具,如 Visual Studio Debugger、IntelliSense 自动完成和代码重构等。由于其专门针对 Windows 平台进行优化,Visual C++ 在 Windows 开发中具有很高的适用性。

下载地址: Visual Studio C/C++ IDE and Compiler for Windows

Turbo C++

Turbo C++ 是一款经典的 C++ 编译器,由 Borland 公司开发,支持 DOS 和 Windows 平台。

Turbo C++ 具有很高的编译速度和优秀的代码质量,同时还提供了易用的开发工具和调试工具,如 Turbo Debugger 和 Turbo Profiler 等。由于其兼容性和易用性,Turbo C++ 曾经是许多程序员的首选编译器之一。

下载地址: http://turboc.codeplex.com/

ICC

ICC(Intel C++ Compiler)是一款由英特尔公司开发的 C++ 编译器,支持多种操作系统和平台。

ICC 具有很高的编译速度和优秀的代码质量,可以生成针对英特尔 CPU 优化的可执行代码,同时还提供了丰富的编译选项和优化选项,如 SIMD 指令优化、多线程并行编译和向量化等。由于其针对英特尔 CPU 的优化特点,ICC 在科学计算、高性能计算和机器学习等领域具有很高的适用性。

下载地址: Compile Cross-Architecture: Intel® oneAPI DPC++/C++ Compiler

Tiny C Compiler

Tiny C Compiler 是一款非常轻量级的 C语言编译器,可以在多种平台上运行。

Tiny C Compiler 具有非常小的代码体积和非常快的编译速度,同时还支持 C99 标准和大部分 GCC 编译选项。由于其小巧、快速和易用的特点,Tiny C Compiler 常被用于嵌入式系统和资源受限的环境中。

下载地址: TCC : Tiny C Compiler

在众多C语言编程工具中,我们选择VS2022

VS2022的安装教程:https://www.bilibili.com/video/BV11R4y1s7jz/

四、第一个C语言程序

 

#include<stdio.h>
//这是C语言的头文件,包含输入输出的函数必须使用该头文件
int main()
{
printf("Hello World!");
return 0;
}
//main函数是主函数,是C程序执行的起点
//任何的C语言程序有且仅有一个main函数
/* ...... */ 之间的内容为程序注释,C语言的标准注释方法以“/*”开始,直到遇到“*/”结束,适用单行行和多行注释,适用于单行和多行注释。
“//” 可用于单行注释。\注释主要用于增强程序的可读性,在编译时,编译器会忽略这些注释语句,但养成良好的注释习惯有助于程序使用者阅读和理解程序。 注意每条C语句都以分号“;”结束。

 五、数据类型

1、基本数据类型

1.1字符型

char
sighed char
unsined char

1.2整型

//短整型
short int
sighed short int
unsighed short int
//整型
 int
sighed  int
unsighed  int
//长整型
long int
sighed long int
unsighed long int
//长长整型(C99中引出)
long long int
sighed long long int
unsighed long long int

 1.3浮点型

float
double
long double

1.4布尔类型

C 语⾔原来并没有为布尔值单独设置⼀个类型,⽽是使⽤整数 0 表⽰假,⾮零值表⽰真。 在 C99 中也引⼊了 布尔类型 ,是专⻔表⽰真假的。

—Bool

布尔类型使用必须包含头文件<stdbool.h>

布尔类型的取值为true和fales

2、自定义数据类型

2.1数组

2.2结构体

2.3枚举

2.4联合体

以上四种较为复杂,后面介绍

六、signed和unsigned

C语言中用signed和unsigned来修饰整型和字符型

signed关键字表示类型的带正负号,

unsigned关键字表示类型不带正负号,只能取0和正整数

注意,C 语⾔规定 char 类型默认是否带有正负号,由当前系统决定。 这就是说, char 不等同于 signed char ,它有可能是 signed char ,也有可能是 unsigned char 。 这⼀点与 int 不同, int 就是等同于 signed int

七、库函数

什么是库函数呢?
为了不再重复实现常⻅的代码,让程序员提升开发效率,C语⾔标准规定了⼀组函数,这些函数再由不
同的编译器⼚商根据标准进⾏实现,提供给程序员使⽤。这些函数组成了⼀个函数库,被称为标准
库,这些函数也被称为库函数。在这个基础上⼀些编译器⼚商可能会额外扩展提供部分函数(这些函
数其他编译器不⼀定⽀持)。
⼀个系列的库函数⼀般会声明在同⼀个头⽂件中,所以库函数的使⽤,要包含对应的头⽂件。
库函数⽐较多,后期慢慢来介绍,提前了解可参考链接: https://cplusplus.com/reference/clibrary/

八、强制类型转换

看下面代码

int a=2.21;

我们定义a变量为整型,但赋值为2.21为浮点型,这时编译器就会报错

这时我们就需要强制类型转换,代码走起!

int a=(int) 2.21;

俗话说,强扭的⽠不甜,我们使⽤强制类型转换都是万不得已的时候使⽤,如果不需要强制类型转化 就能实现代码,这样⾃然更好的。

总结
好了,本篇博客到这里就结束了,如果有更好的观点,请及时留言,我会认真观看并学习。
不积硅步,无以至千里;不积小流,无以成江海。

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值