文章目录
浅谈C语言入门
计算机和编程语言
计算机
现在我们见到的计算机(电脑),都是由硬件部分和软件部分组成
- 硬件部分:运算器、控制器、存储器、输入设备和输出设备。
- 软件部分:分为系统软件和应用软件。 如果把计算机比喻为一个人的话,那么硬件就表示人的身躯,而软件则表示人的思想、灵魂。二者相互依存,缺一不可,共同构成一个完整的计算机系统。
编程语言
- 程序就是用特殊的编程语言告诉计算机如何做一件事,计算机能懂的只有二进制,如果我们需要让计算机去做一件事,就需要先找出计算的步骤,计算的步骤即算法,而计算机做的事情就是计算。
- 首先,把表示计算步骤的程序和计算中需要的原始数据,在控制器输入命令的控制下,通过输入设备送入计算机的存储器存储。其次当计算开始时,在取指令作用下把程序指令送入控制器。控制器对指令进行译码,在经过运算器计算并把结果存放在存储器内。在控制器的取数和输出命令作用下,最后通过输出设备输出计算结果。
为什么要学习算法
人在计算的时候会有各种各样的方式,例如明朝时万户上天,亚历山大斩断绳索之类,但对于计算机来说,他们的智慧并不高,正如其名只是具有极高的计算能力,它们更喜欢枚举,枚举的缺陷就是在大量数据面前极其缓慢,所以为了使其计算的更快,所以我们需要设计算法。
解释与编译
解释:借助某个程序,由这个程序读懂你的程序,按照你所设定的步骤执行。
- 这个程序会一条一条的执行你的源代码
编译:借助某个程序,由这个程序把你的程序翻译成计算机能懂的语言(机器语言),由计算机执行。
- 这个程序相当于一个翻译,会一次将你的所有源代码翻译成机器代码,然后再去执行这个机器代码。
如何看待解释语言与编译语言
- 语言并无翻译与解释之分,只是常用的执行方式,C语言作为编译性语言,也通过C语言的解释器进行解释,python语言作为解释性语言,也可以通过编译器进行编译。
- 解释性语言的优点:有特殊的计算能力。例如:运行过程中修改源代码。
- 编译性语言的优点:有确定的运算性能。
- 编译性语言一般快于解释性语言,其二者的速度的差距在计算机极高的速度下,对于许多程序也没有很大差异。
为什么要学c语言
c语言是一种工业语言,即一些专业的人员在做一些非常基础的工作再用此语言,我们学习c语言更看重的是它的开发效率,而不是开发是否便捷方便。
- 操纵系统
- 嵌入式系统
- 驱动系统
- 底层驱动
- 图形引擎
- 图像处理
c语言曾经是工业中使用量最多的编程语言,很多新兴的编程语言在语法上差异不大,当在说某个语言强大的时候,一般来说它是在针对你想要做的事情上有别人写好的库,所以你想要做这件事的时候就很容易。传统导致人们在遇到某个问题通常选择某个语言。而c语言则是处在一个很基础的位置。任何一个语言倘若深入学习,都是需要活到老学到老的。所以我们选择c语言二u们。
c语言的历史
C语言是由B语言发展来的,B语言是由于BCPL发展而来的,BCPL是从FORTRAN发展而来的。
1973年3月,在第三版的Unix上出现了C语言编译器,1973年11月,第四版的Unix完全用C语言重写了。(鸡生蛋,蛋生鸡)
- 1989年ANSI发布了第一个标准——ANSI C
- 1990年ISO接受了ANSI的标准 C89
- 1995年更新标准为C95
- 1999年更新为C99并沿用至今
编辑并编译C语言
C语言需要编译才能被运行,我们需要一个编辑器把代码记录到电脑,然后通过编译器进行编译运行。两个可以放在一起作为一个程序,这就是所谓的IDE(集成开发环境),推荐使用的一般是DEV-c++,当然大家可以根据自己的喜好去选择大家喜欢的IDE。
第一个c语言程序
- 避坑指南
- 输入法处于英文输入模式
- 代码错误 - 没有分号- 缺少括号- 关键字错误
- 确保文件名称无中文
- 确保文件创建正确
#include<stdio.h>intmain(){printf("Hello World!\n");return0;}
- 输出如下字样
c语言程序框架
- 在学习函数之前所有的代码都是在这个框架下完成的。
#include<stdio.h>intmain(){return0;}
使用c语言做一个计算
#include<stdio.h>intmain(){printf("%d",1+1);return0;}
- 计算结果如下
注释
注释就是一种解释说明,通常会告诉阅读者自己代码的意思
C语言注释方法有两种:
- 单行注释: //注释一行
#include<stdio.h>// 这是我编写的第一个c语言程序intmain(){printf("Hello World!\n");return0;}
- 多行注释: /* 注释内容 */
#include<stdio.h>/* 这是我编写的第一个c语言程序
这是我用c语言进行计算的程序 */intmain(){printf("%d",1+1);return0;}
版权归原作者 LibraFree 所有, 如有侵权,请联系我们删除。