香港澳门葡京网址【C语言篇】☞ 1. 前言、基础

前言

  •  什么是操作系统:操作系统是同栽系统软件,用来保管总计机的脆弱硬件资源。
  •  主流操作系统:

    移动便携式设备:Android、iOS、Windows Phone、Symbian(塞班)、布莱克(Black) Berry(金立)
OS

    PC个人电脑:Windows、Mac OS、Unix、Linux

  •  什么是iOS:iOS是千篇一律暂缓由苹果店出的动操作系统(iOS运行于倒便携式设备上)
  •  什么是iOS开发:就是开运作于iOS系统及之接纳或游戏软件,如:QQ、天猫、愤怒之小鸟等。
  •  Mac OS文件系统:对文本举办管理之系让文件系统

  UNIX常用命令:

    查看命令的详尽援救: man 命令名       (比如要省 ls
命令的事无巨细用法,执行 man ls)

    pwd  (print work directory):打印当前目录(工作目录)     目录 ==
文件夹

    cd   (change directory)

    cd /   进入根目录

    cd Users   进入用户目录

    cd tarena  进入用户之主目录(Home Directory)

    ls (list) :列出当前目录下之持有情节

      ls -a  //-a
即all,列有目录下的装有文件(包括以.开首的含文件)

      ls -l  //-l
列举文件之详细消息(文件称、权限、所有者、文件大小等)

    mkdir  成立目录(文件夹)

    touch  成立文件

    who  展现当前用户称

    clear 清屏

    touch xxx.m  新建xxx.m文件

    open xxx.m   打开xxx.m文件

    在根本目录下利用ls列有富有情节:

      Applications  放所有的应用程序

      Library           应用程序需要的其库等内容

      Network        网络有关

      System          系统相关

      Users            用户之目录

  常用目录或路径:

    主目录(Home
Directory):一个用户暴发一个温馨的主目录,用户在此目录下所有充足高之权能。

    /   根目录(Root Directory):唯有一个,代表全体硬盘

    特殊路径:   /  根路径        ./  当前路线        ../  上一级路

    Desktop          桌面

    Documents      文稿

    Downloads      下载

    Library            其他

    Movies            影片

    Music              音乐

    Pictures           图片

    Public             公共目录

 注意:按一下tab键,可以自行补齐指令称、文件夹、文件夹名等。

C语言的特点

  • 累加的运算符
  • 增长的数据类型
  • 可一贯操作硬件
  • 高效的靶子代码
  • 可移植性好

C语言的用途

  • 编纂系统软件、图形处理、单片机程序、嵌入式系统出仍旧是用来科研
  • 修游戏外挂
  • 编写android程序
  • 编写iOS程序

C语言的编译器

  1. gcc  GNU Compiler
    Collection(GNU编译器套件),GNU社团出的开源免费的编译器。

    ( gcc 原名为 GNU C
Compiler,只可以处理C语言,后来GCC很快地扩大,也堪拍卖C++、Objective-C、Java等任何语言)

  1. clang  开源之BSD协议的基于LLVM的编译器;苹果公司自己的编译器。

    (LLVM能够当作多种语言编译器的后台来拔取,前端用clang)

C语言的版本问题

  1. 1983年美国国家标准局(American National Standards
    Institute,简称ANSI)成立了一个委员会,先河制定C语言标准的劳作
  2. 1989年C语言标准于认同,这多少个本的C语言标准平时为叫做ANSI C
  3. 1999年,国际标准化社团ISO又对C语言标准进行修订,在大旨保留原C语言特色的功底及,针对该的待,扩张了一部分效益,命名为C99
  4. 二零一一年111月8日,ISO正式发布C语言新的国际标准草案:C11

C语言的法定正式

  1. ANSI C /
    C89标准:1989年,美利坚合众国国家标准社团(ANSI)发表了第一单官方正规(简称
    C89标准 或 ANSI C)。
  2. C99标准:1999年,国际标准化社团(ISO)和国际电工委员会(IEC)发布了C语言的初专业。
  3. C11专业:二〇一一年1一月8日,国际标准化协会(ISO)和国际电工委员会(IEC)再一次发表了C语言的初专业。

C语言程序的运作过程

一样、编译:编译是由于编译器来实施的,重要做的时语法检查工作;将C源程序翻译成总结机能认识另外0和1。

  • 应用什么编译器:Xcode3使用GCC,Xcode4使用LLVM编译器(前端用clang)
  • 什么下clang编译器编译程序:
    • 以巅峰中输入:cc  –c  文件名.c
    • 编译成功,会生成.o目的文件
  • 编译器的错和警戒效率
    • 苟代码来语法问题,编译器会直接报错。并提出错误的个数与现进行号。
    • 一经出1个错,程序即便不克编译成功,也非晤面生成.o文件
    • 警告新闻只有是编译器的局部提出,并无影响编译通过

其次、链接:将团结编译好之.o目的文件以及C程序库函数组合在一起,生成可执行文件。

    由链接器完成,clang编译器里面就包含了链接指令

  • 每当顶峰中输入:cc  文件名.o
  • 链接成功,会生成a.out可执行文件

老三、运行:二种运行形式:

  • 直接双击打开a.out文件
  • 极中动用 ./a.out 指令

  修改文件内容后,一定要还编译、链接,再运行。

  其他clang指令:

  • 改可执行文件a.out的称:cc  xxx.o  -o 新文件名
  • 同步编译、链接:cc  xxx.c

  香港澳门葡京网址 1

  整个程序的周转过程:编写源程序==>预处理==>编译器==>连接器==>可举办

  注意:gcc可换为clang(CC); gcc -E test.c 查看编译前文件内容
(-E的意思是:做预处理)

  1. 先期处理:gcc -E test.c -o test.i
    (预处理的结果好用-o的主意保存至一个文本test.i中)
  2. 编译:gcc -c test.i  //编译成功,会生成.o目的文件; 1,2好统一:gcc
    -c test.c
  3. 连接:gcc test.o
  4. 执行:./a.out
  •  简写:gcc test.c  (1,2,3的合并)
  •  执行:./a.out

所以Xcode创制项目

  香港澳门葡京网址 2

  • Product Name:产品名称
  • Organization Name:集团称
  • Company Identifier :公司唯一标识,一般也商家官网网址的倒序
  • Bundle Identifier:产品唯一标识
  • Type(Language):项目语言类

 

  C语言程序是由函数构成的,C程序的入口是main函数。函数内部代码的推行各种,是自从达成及下执行的,如瀑布一样。

  错误类型:

  • 语法错误:编译器会向来报错
  • 逻辑错误:没有语法错误,只但是运行结果未得法

关键字

  C语言程序是由于英文单词构成的,其中小单词被C语言赋予了至极意义,那么这个单词就是重要字。

  C语言的连串保留字(32独重点字)

  1. 中央数据类(5只):void、int、float、double、char
  • void:讲明函数无重临值或无参数,声明无类型指针,彰显摒弃运算结果
  • int:整型数据,平日为编译器指定的机字长
  • float:单精度浮点型数据,属于浮点数据的平等种植
  • double:双精度浮点型数据,属于浮点数据的如出一辙种植
  • char:字符型类型数据,属于整型数据的相同栽

项目修饰关键字(4单):short、long、signed、unsigned

  • short:修饰int,短整型数据,可以省略被修饰的int
  • long:修饰int,长整型数据,可以大概被修饰的int
  • singed:修饰整型数据,有号数据类型
  • unsigned:修饰整型数据,无符号数据类型

复杂类型首要字(5个):struct、union、enum、typedef、sizeof

  • struct:结构体表明
  • union:共用体阐明
  • enum:枚举表明
  • typedef:表明类型别名
  • sizeof:拿到特定类型或者特定类型变量的轻重

囤级别关键字(6只):auto、static、register、extern、const、volatile

  • auto:指定为全自动变量,由编译器自动分配与释放,平时以栈上分配空间;修饰局部变量,默认省多少不写
  • static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数功用域为文件中
  • register:指定为寄存器变量,提出编译器将变量存储到寄存器中动用,也足以修饰函数形参,提议编译器通过寄存器而无是仓传递参数
  • extern:指定相应变量为表变量,即标示变量或者函数的定义在另外文件被,提醒编译器境遇这么些变量和函数时当此外模块中找找那定义
  • const:与volatile合称“cv’特性”,指定变量不可为眼前线程/进程改变(但生或被网或者任何线程/进程改变)
  • volatile:与cost合称“cv特性”,指定变量的价有或会见为系统要任何线程/进程改变,强制编译器每一回从内存中得该变量的价

流程控制主要字(12单)

  • 跳转结构(4独):return、continue、break、goto

  • return:用在部数体中,重返特定值(或void值,即非归回值),功效:截至函数

  • continue:截止近期巡回,先导下一致车轮循环
  • break:跳出当前轮回或switch结构
  • goto:无条件跳反语句

  • 旁社团(5只):if、else、switch、case、default

  • if:条件语句,前边不需要放分号

  • else:条件语句否定分支(与if连用)
  • switch:开关语句(多重分支语句)
  • case:开关语句子被的分段标记
  • default:开关语句被的“其他”分支,可摘

  • 循环结构(3独):for、do、while

        for:for循环结构,for(1;2;3)4;的尽顺序也1->2->4->3->2…巡回,其中2为巡回条件

        do:do循环结构,do 1
while(2);的执行各类是1->2->1…循环,2啊循环条件

        while:while循环结构,while(1)2;的尽顺序是1->2->1…巡回,1呢循环条件

标识符

标记符就是程序员自己在先后中打底组成部分名。(常见的凡:变量的名及函数的号)

  1. 命名规则:(一定要信守) 

    • 不得不由26个英文字母的轻重写、10个阿拉伯数字0~9、下划线_组成

    • 从严区别轻重缓急写,比如test和Test是2独不同的标识符

    • 免可知为数字先导

    • 不得以下要字当标识符
  2. 取名规范:(最好要守) 

    • 尽心尽力从个出含义的称,一般用英文单词,注意长度适中,可读性要大。

    • 一旦标识符中寓多独单词,可以用驼峰标识(除开第一单单词,前面每个单词的首字母都是大写):
      •  firstName、myFirstName,或者以下划线_来连接:first_name、my_first_name
    • 相似意况下,
      • 变量名:每个单词首字母大写;
      • 函数(方法):第一单单词的首字母小写,此外单词的首字母都大写。

          (如:UserName    PassWord   showMessage  isPrint)

数据

  1. 静态数据:是看重有永久性的数量,一般存储在硬盘中。
  2. 动态数据:是靠以程序运行过程遭到,动态暴发的临时数据,一般存储在内存中。
  • 当运行有程序(软件)时,整个程序即便会师让加载到内存中,在程序运行过程中,会爆发各类各个的临时数据,这多少个临时数据都是储存于内存中之。当次截止运行或电脑于胁持关闭时,这些序来的有临时数据还晤面叫免。

  • 君可能会师咨询:既然硬盘的仓储空间这么可怜,为什么无把持有的应用程序加载到硬盘中失去履行呢?有个重点缘由是内存的访问速度比硬盘快N倍。

数码的更换

  • 静态数据到动态数据的变换(也即使是由磁盘加载到内存)
  • 动态数据到静态数据的易
    •  如:手机打照片存储到手机的硬盘上
  1. 数量的大小
  • 甭管是静态依然动态数据,都是0跟1整合的。
  • 数量还发出大大小小,静态数据就碰面占用硬盘的空间,动态数据就占有内存的上空
  • 数据进一步充足,包含的0跟1纵进一步多,比特位和字节
  • 计量单位:

        1 B = 8 bit

        1 KB = 1024 B, 1 MB = 1024 KB

        1 GB = 1024 MB, 1 TB = 1024 GB

变量

  • 概念

    是内存中的一致切开空间。用来保存程序运行期间的临时数据。

    有名字,有类型

    有名字,就得重复使用

    变量的路决定在变量占用多可怜之内存空间。

  • 声明(定义)变量

    int x; 定义一个int类型的,名字叫x的变量

  • 变量的初步化

    第一欠好吃变量叫起头化

    最好不要动无起头化过之变量

#include <stdio.h>

int main() {

    int x;//x是变量名,int是变量的类型

    printf("x=%d\n", x); //x=1606422582,垃圾数据

    x = 10; //将10保存到x中,第一次赋值相当于初始化

    x = 20; //将20保存到x中,以后就叫给变量赋值

    int y = 30;//定义变量的同时初始化

    printf("y=%d\n", y);

    return 0;

}

变量的花色

细分点儿栽:基本类型, 自定义类型

  1. 要旨项目

    整形:

    有号子:可以是正数,也可以是负数。

      int     // signed int

      short int  短整形

      long int  长整形

      long long int  

    无符号:只可以是正数,不可能是负数

      unsigned int

      unsigned short int

      unsigned long int

      unsigned long long int

    特殊整形:

      char  

      unsigned char

    浮点型:全体是暴发记号

      float

      double

      long double

  1. 自定义类型: struct,  union, enum
  2. 数码的保留(二进制)

    1Byte = 8bit

    1KB = 1024Byte

    1MB = 1024KB

    …

  1. 品种的界别

    short int               2Bytes          16bit

    int                        4Bytes          32bits

    long int                     8Bytes          64bit(64位系统)  
4Bytes(32位系统)

    long long int        16Bytes

 

  占用内存空间多,表示的数目标限就广大

  注意:int类型前面来外修饰时,int可以略。

  bool
表示布尔运算,只含true和false两只数值。需要在文件被进入如下语句:
#include <stdbool.h>

数据类型

本着承诺内存区域,其值可变,变量有相应的色及价值。

        
变量类型分为字符型char、整数型int、浮点型float/double、指针、结构、联合等类别。

#include <stdio.h>

int main() {

    float f=3.14;

    printf("f=%f\n", f);//f=3.140000

    double d=1.73;

    printf("d=%lf\n", d);//d=1.730000;默认都打印6位小数

    printf("f=%.2f\n", f);//保留两位小数

    printf("sizeof(float)=%ld\n", sizeof(float));

//表示数据的范围很大,内部使用了科学计数法来表示

    //3.14:3.14×10^0

    //0.00314:3.14×10^-3

    //省略无意义0

    f=.314;//f=0.314000

    f=3.;//f=3.000000

    f=3.14E-3;//3.14×10^-3;

    printf("f=%f\n", f);//f=0.003140

    

    f=3.14F;//float类型的字面值后面加f,F

    f=3.14f;

    f=0x314F;//F代表十六进制的F

    return 0;

}

  

 

  香港澳门葡京网址 3

 

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注