栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

一、C语言基础篇——01.走进C语言

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一、C语言基础篇——01.走进C语言

学习任何一门编程语言,花两个小时左右的时间了解这门编程语言的发展史是很有必要的。

有道无术,术尚可求,有术无道,止于术!

学一个知识,有了思想,但是没有技术,不要紧,技术还可以去学习。只有技术,没有思想,只会止步于技术。

01. 什么是C语言

说C语言之前,说一下什么是语言。语言无非就是用来交流沟通的。

人的语言:汉语、英语、日语、法语…

计算机语言:C语言、C++、C#、Java、Python、PHP…

例如:中国人和美国人这两种人之间想沟通,要么中国人学习英语,要么美国人学习汉语。所以说,我们学习编程语言是为了和机器沟通,但是机器和人是不一样的,它们没有思想,没有感情,即我们要通过学习编程语言来达到和机器的沟通,要机器去做事。

[C语言百度百科](c语言_百度百科 (baidu.com))

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

C语言诞生于美国的贝尔实验室,由丹尼斯·里奇(Dennis MacAlistair Ritchie)以肯尼斯·蓝·汤普森(Kenneth Lane Thompson)设计的B语言为基础发展而来,在它的主体设计完成后,汤普森和里奇用它完全重写了UNIX,且随着UNIX的发展,c语言也得到了不断的完善。为了利于C语言的全面推广,许多专家学者和硬件厂商联合组成了C语言标准委员会,并在之后的1989年,诞生了第一个完备的C标准,简称“C89”,也就是“[ANSI C](https://baike.baidu.com/item/ANSI C/7657277)”,截至2020年,最新的C语言标准为2018年6月发布的“C18”。

02. 计算机介绍

计算机结构组成:

计算机系统组成:

03. 语言发展历程

机器语言:一组由0和1系列组成的指令码,让计算机干活就得用机器语言(二进制数)去命令他。

汇编语言:在机器语言的基础上,用标识符取代0和1

高级语言:机器语言和汇编语言都是面向机器。C语言面向过程。

编译器:编译程序将其翻译成机器语言,就是编译程序,即编译器。

04. C语言可以干什么

C语言是母体语言,是一种造轮子的语言,是人机交互接近底层的桥梁,学会了C/C++,就掌握了技术的核心。

有句话叫“C生万物“,像Python、Java的解释器,Java的VM虚拟机,安卓的底层源码,Linux内核,WPS软件,都是C语言写的。

电脑是由一堆硬件组成,要想使用,则还需要装一个操作系统(Windows/Linux)来操作这些硬件。操作系统和硬件之间的层次是驱动,操作系统调用驱动,让硬件进行工作。在操作系统之上称为应用层,也就是装一些应用软件,即QQ、微信、网易云音乐…,所以C语言大部分应用于应用层往下的开发,也就是底层开发。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QUqEe5IH-1658820307789)(D:Edge_DownloadC语言底层开发.drawio.png)]

C语言主要的编译器有:Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等

05. 第一次C程序Hello,World
#include 


int main()
{//函数体起始位置

    printf("Hello,Worldn");//printf()库函数,在屏幕上打印Hello,World
    
    return 0;  //返回当前函数调用(退出程序),
}//函数体结束位置

注意事项:

  1. 写完函数、定义变量、return后等等,后面用 ; 英文分号结尾。
  2. C语言源代码文件的扩展名是 .c
06. system函数
int system(const char *command);
功能:在已经运行的程序中执行另外一个外部程序
参数:外部可执行程序名字
返回值:
	成功,不用系统返回值不一样
	失败,-1
#include 
#include 
int main()
{
    system("pause"); //windows平台
    system("ls");  //Linux平台, 需要头文件#include 
    
    return 0;
}
07. C语言编译过程

C代码编译成可执行程序经过4步:

  1. 预处理:宏定义展开、头文件展开、条件编译等,同时将代码中的注释删除,这里并不会检查语法
  2. 编译:检查语法,将预处理后文件编译生成汇编文件
  3. 汇编:将汇编文件生成目标文件(二进制文件)
  4. 链接:C语言写的程序是需要依赖各种库的,所以编译之后还需要把库链接到最终的可执行程序中去

gcc编译过程:

  1. 预处理:gcc -E hello.c -o hello.i // -E 只进行预处理

  2. 编 译:gcc -S hello.i -o hello.s // -S 只进行预处理和编译

  3. 汇 编:gcc -c hello.s -o hello.o //-c 只进行预处理、编译和汇编

  4. 链 接:gcc hello.o -o hello_elf //指定生成的输出文件名为 hello_elf

文件名后缀:

​ . c :C语言文件

​ . i : 预处理后的C语言文件

​ . s : 编译后的汇编文件

​ . o : 编译后的目标文件

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1025681.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号