(一)计算机基础:计算机与人工智能、计算机系统(计算机的昨天今天明天)
1.人工智能(Artificial Intelligence,AI):(通过快速计算和海量存储)让计算机具有执行某些与人类只能活动有关的复杂功能(如判断、推理、识别、理解、学习、规划和问题求解等)的能力;
2. 计算机系统(Computer System):一种能按照事先存储的程序自动、高效地对数据进行输入、处理、存储和输出的系统; 由硬件和软件两部分组成;
2.1 硬件系统:计算机的躯壳,实实在在能看到的各种实体、部件、设备,例如主机的机箱里的各种电子器件、键盘、鼠标、显示器;
2.2 冯诺依曼结构:
CPU(中央处理器):控制器和运算器构成CPU,是计算机的核心,负责解释计算机指令、处理计算机软件中的数据;
存储器:存储程序、数据和文件,包括内存储器(即内存:存储速度快,但断电后数据会丢失)和外存储器(包括硬盘、光盘、U盘等,相对内存速度慢,但容量大,断电后数据也不会丢失);
输入/输出设备(I/O设备):用户与计算机联系的通道, 常见的输入设备有键盘鼠标(用于输入信息),常见的输出设备有显示器(用于显示信息)、打印机(用于打印信息);
2.3 软件系统:计算机的灵魂,用于指挥系统按指定的要求进行工作,是程序、文档、数据的总称。计算机的一切操作都由程序控制,但程序并非软件的全部,程序包括文档和数据。
软件系统的类型:
操作系统:例如一打开电脑最先看到的Windows桌面、iOS、iPad,是用户与计算机硬件系统之间的接口,管理计算机系统的各种软硬件资源,方便用户使用计算机,是计算机里最重要的软件;
应用软件:QQ、微信、PPT等,是为了满足用户在不同领域的实际需求而开发的直接面向应用的软件;
支撑软件:包括环境数据库控制接口、和服务软件、以及工具组在内的支撑软件。
3.编译性/解释性语言:如C/C++/GO语言,都属于编译性语言;如Java/Python语言,都属于解释型语言。
4.从源码到程序的过程:源码需要由编译器、汇编器翻译成机器指令,再通过链接器链接库函数生成机器语言程序。机器语言必须与CPU的指令集匹配,在运行时通过加载到内存,由CPU执行指令。
5.解释型语言的源代码由编译器生成字节码,然后再由虚拟机解释执行。虚拟机将不同CPU指令集的差异屏蔽,因此解释型语言的可移植性很好。
6.C语言标准:1989年,发布第一个完整的C语言标准,简称C89,习惯上也称为 ANSI A(标准C);1990年被国际化标准组织ISO采纳,也称为C90;1999年修正和完善后,ISO发布了C99。
7.程序开发步骤:
1)定义程序目标;
2)设计步骤:明确如何解决问题;
3)完成代码:完成以“.c“”为后缀的源代码文件;
4)进行编译和链接,即把源程序翻译成(在逻辑上与之等价的)(机器语言表示的)目标程序;每一种语言都对应着各自的编译器,因此需要链接,即把程序调用的库函数链接到目标程序中,生成可被OS执行的程序;最后生成.exe的可执行文件;
5)运行程序;出现bug;
6)测试与调试;
7)维护与修改。
8.C语言的开发工具:
Visual C++:Windows平台上最流行的C/C++集成开发环境之一;
Code::Blocks(简称CB,http://www.codeblocks.org):是近年出现并获得关注的C/C++开发环境;免费、开放代码、跨平台;只是一个IDE(Integrated Developed Environment,集成开发环境,没有内置的编译器和调试器;但可以支持多种编译器,例如GCC(GNU C Compiler)编译器和GDB(GNU symbolic debugger)调试器。
(二)C语言集成开发环境简介
(三)变量的定义
(四)变量的类型决定了什么
(五)常量
(六)华为编程实践与编码规范