【C语言】初探C语言(与C语言的浪漫开始~)

目录

​编辑

一、C语言的发展史

程序语言简述

C语言的历史

C语言的特点

二、开发环境

编译和链接

 选择VS2022的原因

如何使用VS来创建项目,写代码

三、C语言程序

 一个简单的C语言程序及分析

四、编程规范 

代码缩进

变量、常量命名规范

 函数命名规范

 五、注释

 注释是什么?为什么写注释?

注释的两种形式

注释会被替换



一、C语言的发展史

  • 程序语言简述

在介绍C语言的发展历程之前,我们先对程序语言有个大概了解。

1.机器语言

机器语言是低级语言,也称为二进制语言。由0和1二进制数组成。计算机可以直接理解和执行,不需要进行任何翻译,由0和1组成。

2.汇编语言

汇编语言是低级语言,是面向机器的。用英文字母或符号串来替代机器语言的二进制代码,使编程更加方便,更便于阅读和理解程序。

3.高级语言

为了使程序语言能更接近人类自然语言,同时又不依赖于计算机硬件,于是产生了高级语言,用高级语言编写的程序不仅易于理解和编写,还具有良好的移植性

  • C语言的历史

    以前的操作系统等系统软件主要是用汇编语言写的,汇编语言依赖于计算机硬件,程序的可读性和移植性都不是很好。为了提高可读性和移植性,同时这种语言应该既具有高级语言的特性,又不失低级语言的优点,于是C语言产生了。

    C语言的发展历程可以追溯到20世纪60年代和70年代,C语言是UNIX的研制者丹尼斯•里奇和肯•汤普逊在BCPL语言(简称B语言)的基础上发展和完善起来的

19世纪70年代初期,丹尼斯•里奇第一次把B语言改为C语言。

    最初,C语言运行于AT&T的多用户、多任务的UNIX操作系统上。后来,丹尼斯·里奇用c语言改写了UNIXC的编译程序,UNIX操作系统的开发者肯·汤普逊又用c语言成功地改写了UNIX,从此开创了编程史上的新篇章。UNIX成为第一个不是用汇编语言编写的主流操作系统。

   1983年,美国国家标准委员会对C语言进行了标准化,于1983年颁布了第一个C语言草案
(83ANSIC),后来于1987年又颁布了另一个C语言标准草案(87ANSIC),最新的C语言标准C99于1999年颁布,并在2000年3月被ANSI采用。但是由于未得到主流编译器厂家的支持,C99并未得到广泛使用。

   一直到今天,C语言还是在广泛使用,在计算机语言的排行榜上霸占前三。


  • C语言的特点

1.高效性

一般情况下,C语言生成的目标程序的执行效率只比汇编程序低10%~20%

2.灵活性

C语言的语法不拘一格,可在原有基础上创造、复合

3.功能丰富

除了C语言本身所具有的基本类型,用户还可以自己构造类型,完成所需要的功能

4.表达力强

语法形式与人们所使用的语言形式相似,书写形式自由,结构规范

5.移植性好

C程序在不同的操作系统下,只需要进行简单修改甚至不用修改就可进行跨平台的程序开发操作


二、开发环境

我们首先需要知道,C语言是一门编译型计算机语言,C语言源代码都是文本文件,文本文件本身无法执行,必须通过编译器翻译链接器的链接,生成二进制的可执行文件,可执行文件才能执行。

所以我们需要先来了解编译和链接。

  • 编译和链接

C语言代码是放在 .c 为后缀的文件中的,要得到最终运行的可执行文件,需要经过编译和链接两个过程。

源文件:.c 为后缀            头文件:.h 为后缀 

目标文件:.obj 为后缀      可执行程序:.exe 为后缀

编译:就是把高级语言翻译成计算机能懂的语言,也就是机器语言,这样计算机才能执行程序,这个过程就像是翻译员把外语翻译成中文,让我们都能理解。

链接:就是把编译后的各个部分连接在一起,形成一个完整的程序。就像是拼图一样,把各个小块拼在一起,形成一个完整的画面。

所以编译和链接都是为了让我们的程序能在计算机上运行。

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

  1. 每个源文件(.c)单独经过编译器处理,生成对应的目标文件(.obj)
  2. 多个目标文件和库文件经过链接器处理,生成对应的可执行程序(.exe)

 这就是Windows电脑上C语言程序生成的可执行文件


  •  选择VS2022的原因

C语言是一门编译型的计算机语言,需要V编译器将计算机语言转换成机器能够执行的机器指令。

常见的编译器:msvc、clang、gcc等

集成开发环境:VS2022、XCode、CodeBlocks、DevC++、Clion等

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

在这么多的工具下,小编为什么会推荐VS2022呢?肯定是有原因的。

VS2022的优点:

1. 功能全面:集成了代码编辑器、编译器、调试器等多种开发工具,支持多种编程语言

2. 易于使用: 有直观的用户界面,默认是中文的,对初学者友好

3. VS2022是一个主流的集成开发环境,企业中使用较为普遍

4. 直接安装就可使用,基本不用额外环境配置,上手容易

VS2022的缺点:

功能丰富,导致安装包大,占用空间多。同时,在运行时可能会占用较多的系统资源,对于配置较低的计算机可能会造成一定负担。

在我看来,优点远远大于缺点,所以各位公主王子们,我推荐使用VS2022进行学习和开发程序~

  • 如何使用VS来创建项目,写代码

在VS上写代码,是需要创建项目的,那么怎么创建呢?接下来,我会带着大家一步一步来完成。

正常情况下,我们点击创建显示的是上图,如果出现下面的情况,该怎么办呢?

我们只需要点击视图,解决方案资源管理器即可

新建源文件

现在,我们就可以写代码了!


三、C语言程序

  •  一个简单的C语言程序及分析

我们先来写一个简单的程序来看看C语言程序是什么样子的

运行程序,显示结果如下

现在来分析一下上面的程序

#include<stdio.h> : include 称为文件包含命令,< >中的内容是头文件

     ......  : 两个大括号及大括号里的内容称为函数体

int main( ) : int 是一个关键字,类型为整型,main函数是主函数,作为程序的入口,有且只能有一个主函数(main)

printf("Hello,World!") : printf 是一个输出函数,也是库函数,使用库函数时,要包含对应的头文件,printf 的头文件是 stdio.h

return 0 :  返回一个整型常量0,对应前面的 int ,可以将 return 理解为main函数的结束标志

:每一个执行语句都以分号结尾

\n : \n 是一个转义字符,可以换行


四、编程规范 

俗话说:“ 没有规矩,不成方圆。” 既然要学编程,我们就需要知道编程规范,一个好的程序员在编写代码时,一定要有规范性,清晰、整洁的代码才是有价值的。

  • 代码缩进

代码缩进统一为4个字符。不采用空格,而用 Tab 键制表位。

  • 变量、常量命名规范

常量:命名统一为大写

普通变量:取一个有意义的名字,在前面添加类型的首字母,并且名称的首字母大写 

成员变量:以 m_  开始   (member是成员的意思)

指针:在标识符前添加 p ,名称首字母大写

	#define AGE 20  //定义常量
	int iAge;       //定义普通整型变量
	int m_iNumber;  //定义成员变量
	int* pAge;      //定义指针变量
  •  函数命名规范

函数名的首字母要大写,其后的字母大小写混合(驼峰命名法)

当名字由多个单词组成,每个单词的首字母大写,这样更方便理解名字的含义

int AddTwoNum(int num1,int num2)

 五、注释

  •  注释是什么?为什么写注释?

注释是对代码的说明,编译器会忽略注释,所以注释对实际代码没有什么影响

注释是给程序员自己或其他程序员看的

好的注释可以帮我们更好的理解代码,但是不要过度注释,不要写没必要的注释

  • 注释的两种形式

// 的形式 :将注释内容放在 // 的后面,从双斜杠到行尾都属于注释,只能对单行注释

/**/的形式:将注释内容放在/* */之间,/* 开头,*/ 结尾,可以多行注释,但不支持嵌套注释 

 // 的形式

/*...*/的形式 

这种注释可以穿插在行内

/*这是年龄*/ 用来对前面的age进行说明,跟在它后面的代码仍然会执行

不能嵌套注释 

原因是:/* 开始注释后,遇到第一个 */ 就认为注释结束了

所以当第一个红圈(/*)遇到第三个红圈(*/),注释了第一个红圈和第三个红圈之间的内容

  • 注释会被替换

编译时,注释会被替换为一个空格

例如 age/*年龄*/score 会变为 age score 而不是 agescore


     那么本节内容到此结束,希望对各位伙伴们能有所帮助,之后我也会分享更多的知识,尽情期待!

 

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值