黑马程序员技术交流社区

标题: 001-iOS开发前奏-C语言笔记 [打印本页]

作者: tingyuyisheng    时间: 2015-7-21 21:42
标题: 001-iOS开发前奏-C语言笔记
学习目标
1.【了解】操作系统

2.【了解】应用软件

3.【了解】操作系统的分类和市场占有份额

4.【了解】iOS操作系统

5.【了解】应用软件开发的分类

6.【掌握】UNIX常用命令

7.【掌握】如何开发第一个C语言程序

  一、操作系统
我们的计算机是由很多种硬件设备组成的,比如CPU、内存、硬盘、网卡、主板、声卡.......如果计算机只是仅仅有这些硬件设备,这样能不能正常使用?.

CPU: 负责计算 处理数据.

内存: 存储数据 临时

硬盘: 存储数据 永久

网卡: 接收和发送网络数据的.

声卡: 输出声音信号.

..........

但是,是谁让CPU去处理数据?是谁让内存去存储数据?所以计算机要正常使用必须要有一个“老大”来管理、协调计算机各种硬件之间和谐的工作。

操作系统: 是一个直接运行在计算机设备之上的软件,用来负责管理、协调计算机各个硬件的工作。

计算机的作用:去帮助人类做各种各样的事情。如何让计算机帮助我们做事情?我们必须要使用计算机能够明白的语言和方式去和它沟通交流,当它听懂以后,就会按照我们的要求做事情。如果听不懂 就会当你是疯子。

计算机设备从诞生至今,只能听懂像 010101110010101 这样的二进制语言,也叫做机器语言。但是人们使用计算机是绝逼不可能使用机器语言去操作计算机的。。。原因你懂得。。

操作系统的作用:

a. 是一个直接运行在计算机设备之上的软件.用来负责管理、协调计算机各个硬件的工作。

b. 将底层的复杂操作 封装为了1个相对较为简单的操作。

二、应用软件
什么是软件?

就是根据操作系统提供的接口, 把这些接口按照一定的顺序组合起来完成1个特定的功能,像这样的软件,就叫做应用软件。操作系统他本身也是一个软件,只是他是一个底层软件, 因为它直接和硬件打交道。

计算机硬件设备、操作系统、应用软件之间的关系:最底层的是硬件设备,操作系统是允许运行在硬件设备之上的,应用软件是允许运行在操作系统之上的。

几个注意:

1). 不同的操作系统封装的接口是不一样的。

2). 同1个应用软件,是不可能允许运行在多个操作系统之上的。

开发应用软件的步骤:

1).  明白操作系统提供了哪些接口

2).  将这些功能有序的组合起来,完成我们特定的功能

三、操作系统的分类和市场占有份额
运行在PC(个人电脑)上的操作系统. --> 桌面操作

微软: Windows 90%

Apple: OS X   7%

Linux:  3%

......

运行在服务器上的操作系统

微软: Windows Server 20%

Linux : 80%

......

运行在移动设备上的操作系统

Google 安卓  70%

Apple  iOS   25%

微软:  Windows  5%

......

四、iOS操作系统
iOS 是一个操作系统,只能运行在iPhone iPad等苹果公司生产的设备上。OS:Operating System也就是操作系统的意思,iOS的i字母是苹果命名产品的惯用前缀,并且是小写。iOS系统刚开始是叫iPhone OS,不过到了后来,这个操作系统可以运行在其他的设备之上,所以才改名叫iOS。

iOS开发就是开发运行在iOS系统之上的软件,所以iOS开发是属于移动开发,因为iOS是苹果移动设备专用的操作系统,iOS开发人员大家喜欢叫iOS攻城狮。因为程序员听起来比较屌丝。

五、应用软件开发的分类
桌面软件开发:是1个独立的窗口程序。

Web开发:程序的运行要依赖于浏览器,Web应用程序开发,也就是做网站。

移动开发:开发基于移动设备的软件。

1. 什么是软件?

软件就是我们说的程序,程序就是一堆可以被计算机硬件设备识别的指令,这些指令可以被CPU识别并执行。如何开发一个软件?写一堆可以被CPU识别的指令,让CPU来识别并执行。

2. 开发程序的语言

1). 机器语言:就是01010100101010这样的二进制,能直接被计算机识别。

2). 汇编语言:使用单词和助记符编程的程序,学习难度高,可移植性很差。

3). 高级语言:使用人类的英文单词来编写程序,比如if(xxxx)这样的条件判断语句,一目了然。高级语言与硬件的直接交互不明显。

高级语言的一般编写步骤:

1). 使用单词来编写源代码。

2). 使用编译器将源代码翻译为机器语言。

3). 再将机器语言交给计算机运行。

3. 终端

作用: 可以设置系统,可以设置鼠标做不了的事情。并且某些程序的执行,必须要依赖于终端才可以。

六、UNIX常用命令
pwd

可以显示当前终端程序的工作路径。~ 代表当前用户的家目录。直接输入pwd就能看到当前目录

ls

列出当前工作路径下的所有的文件与文件夹。直接输入ls显示当前目录下的目录和文件

ls -l

详细列出当前工作路径下的所有的文件与文件。直接输入ls -l 就是列出当前目录下的目录和文件详细列表

cd

改变工作路径,默认情况下终端的工作路径是当前用户的家目录。例如 cd / 就是切换到根目录

touch

在终端创建文件,例如 touch test.c ,就是在当前目录创建test.c文件

七、如何开发一个C语言的程序
1. 必须要熟悉C语言的语法规范,目前还不会没关系,以后会慢慢学习。所谓的语法规范: 将一些单词、符号按照C的规范组合起来。

2. 编译器:将C代码转换为二进制语言。编译器实际上是一个软件,下载下来安装就可以了。

编写第一个C程序
1. 编写C程序源文件:

创建1个文件,这个文件的后缀名必须是.c,然后打开这个文件,在这个文件之中编写我们的C代码就可以了。

注意: C语言是严格区分大小写的.,不能搞错。除了双引号之间的内容,其他地方的代码必须使用英文输入法来输入(因为符号必须为半角符号,否则出错!)

比如我们在终端创建一个test.c文件

touch test.c

在文件里写入


1
2
3
4
5
6
#include <stdio.h>

int main(int argc,const char * argv[]){
    printf("hello world!\n");
    return 0;
}
2. 编译C程序源文件:

使用编译器将C源代码编译为二进制代码。

命令:cc -c C源文件的全名称,也就是

cc -c test.c

如果正常的情况下会生成1个.o的文件.,这个文件我们叫做目标文件,目标文件之中,是C文件的二进制。

注意:在编译的时候, 会先去检查C源文件中的代码是否符合C的语法规范,如果符合规范 才会生成.o 目标文件。否则不会生成目标文件.,并且会提示错误。

3. 链接生成的目标文件:

生成的目标文件.o 不能直接交给CPU去执行,一个可以被CPU识别并执行的程序 必须还要一些额外的代码,也就是启动代码。

链接:为目标文件添加启动代码.,以让这个程序可以被CPU识别并执行。

命名:cc 目标文件名

cc test.o

一切正常的话 就会生成1个a.out程序 ,这个程序就可以被CPU识别并执行了。

4. 执行C程序:

在终端中输入以下命令即可执行我们编写的C程序了。






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2