C语言入门
计算机和编程语言
计算机语言
- 程序是用特殊的编程语言写出来表达如何解决问体的
- 不是用编程语言来和计算机交谈,而是描述它如何做事的过程和方法
程序的执行分为解释和编译两种
解释:借助⼀个程序,那个程序能试图理解你的程序,然后按照你的要求执⾏
通俗来讲,我们写了一个程序,程序写在一个文件中,然后交给一个可以读懂我写的程序的程序,但是它不产生任何东西,只是去做动作,这个程序呢就拿着我的程序一条一条运行,就完事了,下次在想运行呢还得需要这个可以解释我程序的程序来帮忙。
编译:借助⼀个程序,就像⼀个翻译,把你的程序翻译成计算机真正能懂的语⾔——机器语⾔——写的程序,然后,这个机器语⾔写的程序就能直接执⾏了
通俗来讲,我们写了一个程序,程序写在一个文件中,然后把这个文件交给了一个翻译官(程序),这个翻译官就把我的程序翻译成了计算机可以读懂的机器语言
解释语⾔vs编译语⾔
1、语⾔本⽆编译/解释之分
2、常⽤的执⾏⽅式⽽已
3、解释型语⾔有特殊的计算能⼒
4、编译型语⾔有确定的运算性能
C语言的发展
C语言
- C语⾔是从B语⾔发展⽽来的,B语⾔是从BCPL发展⽽来的,BCPL是从 FORTRAN发展⽽来的
- BCPL和B都⽀持指针间接⽅式,所以C也⽀持了
- C语⾔还受到了PL/1的影响,还和PDP-11的机器语⾔有很⼤的关系
- 1973年3⽉,第三版的Unix上出现了C语⾔的编译器
- 1973年11⽉,第四版的Unix(System Four)发布了,这个版本是完全⽤C语⾔重新写的
C的发展与版本-标准
- 1989年ANSI发布了⼀个标准——ANSI C
- 1990年ISO接受了ANSI的标准——C89
- C的标准在1995年和1999年两次更新——C95和C99
- 所有的当代编译器都⽀持C99了
C语言用在那里
- C语言的主要用在操作系统、嵌入式系统、驱动程序、底层驱动、图像引擎、图像处理、声音效果等方便,我们也称C语言是一种工业语言。
第一个程序
Hello world!
#include <stdio.h> //头文件
int main() //主函数
{
printf("Hello world!\n"); //在双引号中间输入Hello World,\n是换行符
return 0; //返回值
}
- 主函数是C语言中唯一的入口,int是主函数的类型
- ""里面的内容叫字符串,printf会把其中的内容原封不动的输出
- \n表示需要在输出的结果后面换一行
- return是函数的返回值,函数类型不同返回值也不同
程序框架
#include <stdio.h>
int main()
{
return 0;
}
如何让程序输出算术结果
#include <stdio.h>
int main()
{
printf("23+43=%d\n", 23+43);
return 0;
}
- %d说明后面有一个整数要输出在这个位置上
四则运算
四则运算 | C符号 | 含义 |
---|---|---|
+ | + | 加 |
- | - | 减 |
× | * | 乘 |
÷ | / | 除 |
% | 取余 | |
() | () | 括号 |
- %表示取两个数相除以后的余数
编译器下载
C语言编程软件Dev C++:DEV C++
C语言编程软件VSCode:VS Code
FAQ
Q:计算机里的CPU可以直接运行人类编写的程序吗?为什么说编程语言不是和计算机交谈的语言?
不可以,因为人类编写的程序需要被编译成机器语言,计算机才能读懂,程序语言只能是告诉计算机去做什么,而不是交流的语言,交流的语言应该是在计算机上进行的操作。
Q:有的编程语言,源代码经过编译后形成目标代码,但是这样的目标代码不能直接在CPU上执行,而是需要由一个仿真器程序来解释执行。这样的执行方式是编译的还是解释的?
解释
Q:常听到有人说他学的是Visual C,有人学的是Turbo C,不是我们学的什么Dev C,是他们的比我们的高级吗?还有GCC到底是什么?
都是一个编程语言的编译器只是平台不同,GCC 原本作为 GNU 操作系统的官方编译器,现已被大多数类 Unix 操作系统(如Linux、BSD、Mac OS X等)采纳为标准的编译器,GCC 同样适用于微软的Windows。GCC 是自由软件过程发展中的著名例子,由自由软件基金会以 GPL 协议发布。
内容来自中国大学MOOC,个人学习笔记总结。整理不易,欢迎支持,下期见!