【C语言篇】☞ 1. 前言、基础

前言

  •  什么是操作系统:操作系统是1种系统软件,用来管理计算机的软硬件财富。
  •  主流操作系统:

    移动便携式设备:Android、iOS、Windows Phone、Symbian(塞班)、Black Berry(三星)
OS

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

  •  什么是iOS:iOS是一款由苹果集团开销的位移操作系统(iOS运转在移动便携式设备上)
  •  什么是iOS开发:就是支付运作在iOS系统上的运用或游戏软件,如:QQ、天猫商城、愤怒的鸟儿等。
  •  Mac OS文件系统:对文件实行政管理理的种类叫文件系统

    
 初读完钱默存先生的《围城》。笔者一干二净未有书中任何壹人物的经历。那是好的,也是不好的。它既使本人一心站在了3个读者的岗位,只听传说,不能够感同身受。也使自身一心像是站在围困外,观察众清呢。

  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            用户的目录

   
《围城》主要描述了主人公方鸿渐恋爱,求职,成婚等一多重琐碎的传说。典故是从方鸿渐留学回国起初的。方鸿渐与同船的鲍小姐有着一些说不清的关联。同船的苏小姐,也正是苏文纨是2个女大学生,却在下船后与方鸿渐有了关系。方鸿渐与苏文纨同去香岛,到香江后,苏文纨特邀方鸿渐去团结的家,却让方鸿渐觉得温馨应是被苏文纨逼婚,他与苏文纨应该是谈恋爱关系。但方鸿渐喜欢的却是苏文纨的表嫂唐晓芙。却被苏文纨从小的青梅竹马赵辛楣误会是情敌。方鸿渐平素被赵辛楣冷眼对待着。但最终苏文纨却与曹魏烈皇帝结婚了。方鸿渐也因为苏文纨的关系没能与唐晓芙在联合。那一段传说却成全了方鸿渐与赵辛楣那对都失恋的恋人。至此,方鸿渐逃离出了相恋。鸿渐因为赵辛楣的案由被引进到三闾大学去当教师,一路历经波折来到三闾高校,却又进来了另一城。高校不像高校,却像是一个政治机关。微妙的人际关系,人上人
下,地位高低的比较。鸿渐并不受人待见,原来副教师升教师甚至有一套说法。在迷迷糊糊中却与同来的孙小姐订了婚。与孙柔嘉订婚后,三闾大学第三学期的聘书却迟迟不来,方鸿渐和孙柔嘉回新加坡安家。回到法国巴黎后,方鸿渐有沉沦了婚姻的围城打击敌方增援部队。婚后的吵吵闹闹都向他袭来。在与孙柔嘉的3回争吵之后,方鸿渐离家出走,却无处可去,回到家后,柔嘉已离开却托房东太太给她留给了钥匙。夜声人静,老钟当当当的响起,这些小时滞后的计时机无意中包罗对人生的奚落和低落,深与任何语言、1切啼笑。

  常用目录或路径:

    主目录(Home
Directory):三个用户有1个团结的主目录,用户在此目录下有所很高的权能。

    /   根目录(Root Directory):唯有贰个,代表整个硬盘

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

    Desktop          桌面

    Documents      文稿

    Downloads      下载

    Library            其他

    Movies            影片

    Music              音乐

    Pictures           图片

    Public             公共目录

 注意:按一下tab键,能够自动补齐指令名称、文件夹、文件夹名等。

   随笔大都说有趣的事,剧情,人物。以 营造叁个非凡的人物形象,而《围城》中的方鸿渐,就像是未有多大明显的风味。懦弱看不出,果断也看不出,说她老实,却又并非如此,说她待人不诚却又不用油头粉面。他正是大家现实生活之中的超越2/4人,平平庸庸,老老实实,生活的超过半数人。便是因为他太想大家。读着她的故事,大家才会有①种讽刺之感。匆匆忙忙的壹世,说来也可笑。

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. 1玖八三年美利坚同盟友国标局(American National Standards
    Institute,简称ANSI)创造了2个委员会,初叶制定C语言标准的工作
  2. 198八年C语言标准被批准,那个本子的C语言标准经常被叫作ANSI C
  3. 1九玖陆年,国标化组织ISO又对C语言标准开始展览修订,在主导保存原C语言特征的根基上,针对应该的需求,增添了一部分功效,命名字为C9玖
  4. 2011年十二月三十日,ISO正式公布C语言新的国际标准草案:C1一

C语言的法定正规

  1. ANSI C /
    C8九规范:一玖8九年,美利坚合众国国标协会(ANSI)公布了第二个法定正式(简称
    C89标准 或 ANSI C)。
  2. C9玖标准:一九9陆年,国标化组织(ISO)和国际电工作委员会员会(IEC)公布了C语言的新规范。
  3. C1一专业:201壹年1月24日,国标化组织(ISO)和国际电工作委员会员会(IEC)再一次公布了C语言的新专业。

C语言程序的周转进程

1、编写翻译:编写翻译是由编写翻译器来施行的,首要做的时语法检查工作;将C源程序翻译成计算机能识其余0和1。

  • 接Nash么编写翻译器:Xcode三使用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指标文件; 一,二能够统壹: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 :集团唯1标识,壹般为公司官网网站的倒序
  • Bundle Identifier:产品唯一标识
  • Type(Language):项目语言类型

 

  C语言程序是由函数构成的,C程序的输入是main函数。函数内部代码的推行各种,是从上到下实施的,如瀑布一样。

  错误类型:

  • 语法错误:编写翻译器会间接报错
  • 逻辑错误:未有语法错误,只但是运维结果不正确

关键字

  C语言程序是由英文单词构成的,个中多少单词被C语言赋予了特种含义,那么这几个单词就是首要字。

  C语言的系统一保险留字(三十三个根本字)

  1. 基本数据类型(几个):void、int、float、double、char
  • void:申明函数无重临值或无参数,阐明无类型指针,展现甩掉运算结果
  • int:整型数据,常常为编写翻译器钦点的机械字长
  • float:单精度浮点型数据,属于浮点数据的一种
  • double:双精度浮点型数据,属于浮点数据的一种
  • char:字符型类型数据,属于整型数据的1种

品类修饰关键字(陆个):short、long、signed、unsigned

  • short:修饰int,短整型数据,能够简容易单被修饰的int
  • long:修饰int,长整型数据,能够总结被修饰的int
  • singed:修饰整型数据,有号子数据类型
  • unsigned:修饰整型数据,无符号数据类型

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

  • struct:结构体评释
  • union:共用体注明
  • enum:枚举注解
  • typedef:注明类型小名
  • 语言,sizeof:获得一定项目或一定项目变量的尺寸

储存级别关键字(多少个):auto、static、register、extern、const、volatile

  • auto:钦命为全自动变量,由编译器自动分配及释放,平时在栈上分配空间;修饰局地变量,暗中认可省略不写
  • static:内定为静态变量,分配在静态变量区,修饰函数时,钦命函数作用域为文件之中
  • register:内定为寄存器变量,建议编写翻译器将变量存款和储蓄到寄存器中利用,也得以修饰函数形参,提议编写翻译器通过寄存器而不是仓库传递参数
  • extern:内定相应变量为外部变量,即标示变量只怕函数的概念在别的文件中,提示编写翻译器遭遇此变量和函数时在任何模块中搜索其定义
  • const:与volatile合称“cv’天性”,钦赐变量不可被当下线程/进度改变(但有极大希望被系统或任何线程/进度改变)
  • volatile:与cost合称“cv性格”,钦命变量的值有不小或许会被系统或其它线程/进程改变,强制编写翻译器每一回从内部存款和储蓄器中取得该变量的值

流程序控制制重点字(13个)

  • 跳转结构(陆个):return、continue、break、goto

  • return:用在函数体中,重临特定值(或void值,即不再次回到值),成效:停止函数

  • continue:截至如今循环,早先下一轮循环
  • break:跳出当前巡回或switch结构
  • goto:无条件跳转语句

  • 支行协会(多少个):if、else、switch、case、default

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

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

  • 循环结构(2个):for、do、while

        for:for循环结构,for(壹;二;叁)四;的施行各种为1->二->4->三->二…循环往复,当中2为循环往复条件

        do:do循环结构,do 壹while(2);的执行各样是一->2->一…循环,2为循环条件

        while:while循环结构,while(一)二;的推行各类是一->二->1…巡回,一为循环条件

标识符

标志符就是程序员本身在先后中起的一部分名字。(常见的是:变量的称呼和函数的称谓)

  1. 取名规则:(一定要依照) 

    • 不得不由二多少个英文字母的高低写、11个阿拉伯数字0~9、下划线_组成

    • 适度从紧区别轻重缓急写,比如test和Test是3个例外的标识符

    • 不能够以数字开端

    • 不能够运用首要字作为标识符
  2. 命名规范:(最棒要遵从) 

    • 尽心尽力起个有意义的名称,壹般用英文单词,注意长度适中,可读性要强。

    • 壹经标识符中富含几个单词,可以选拔驼峰标识(除开第1个单词,前面各种单词的首字母都以大写):
      •  firstName、myFirstName,大概应用下划线_来连接:first_name、my_first_name
    • 貌似景观下,
      • 变量名:各样单词首字母大写;
      • 函数(方法):第多个单词的首字母小写,其余单词的首字母都大写。

          (如:UserName    PassWord   showMessage  isPrint)

数据

  1. 静态数据:是指部分永久性的多寡,壹般存款和储蓄在硬盘中。
  2. 动态数据:是指在程序运营进程中,动态发生的一时半刻数据,一般存储在内部存款和储蓄器中。
  • 当运转某些程序(软件)时,整个程序就会被加载到内部存款和储蓄器中,在程序运维进程中,会生出种种各类的方今数据,那几个最近数据都以储存在内部存储器中的。当程序截止运营依旧电脑被强制关闭时,那几个程序爆发的享有暂且数据都会被拔除。

  • 您或然会问:既然硬盘的仓库储存空间这么大,为什么不把持有的应用程序加载到硬盘中去实践呢?有个重点原因是内部存款和储蓄器的访问速度比硬盘快N倍。

数据的转移

  • 静态数据到动态数据的变换(也正是从磁盘加载到内部存款和储蓄器)
  • 动态数据到静态数据的转移
    •  如:手提式有线电话机拍照片存款和储蓄到手提式有线电话机的硬盘上
  1. 数据的分寸
  • 随就是静态照旧动态数据,都以0和壹重组的。
  • 数码都有大大小小,静态数据就会占用硬盘的上空,动态数据就占有内部存款和储蓄器的上空
  • 数码越大,包蕴的0和一就越来越多,比特位和字节
  • 计量单位:

        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. 多少的保存(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

 

 

发表评论

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

网站地图xml地图