iOS学习(C语言)知识点整理笔记

1、C语言32个关键字

一、存储相关

1)auto 声明自动变量

2)register 声明寄存器变量

3)volatile 声明的变量在程序执行过程中可能被隐含的改变

4)const  声明只读变量

5)extern 声明变量是在其他文件中声明

6)static  声明静态变量

7)signed 声明有符号类型变量或函数

8)unsigned 声明无符号类型的变量或函数

二、数据类型

1)short   声明短整型变量或函数

2)int 声明整型变量或函数

3)long 声明长整型变量或函数

4)float 声明浮点型变量或函数

5)double 声明双精度变量或函数

6)char 声明字符型变量或函数

7)struct 声明结构体变量或函数

8) union 声明公用数据类型

9) enum 声明枚举类型

10)void 声明函数无返回值或无参数  声明无类型指针

三、逻辑控制

1)if 条件判断语句

2)else 条件语句否定分支(与 if 连用)

3)for 循环语句的一种

4)do 循环语句的循环体

5)while 循环语句的条件判断部分

6)break 结束循环 或者关闭switch语句中的其他分支

7)continue 结束当前循环 开始下一轮循环

8)return  子程序返回语句 (可以带参数,也可不带参数) 循环条件

9)default  开关语句中的其他条件分支

10)switch 开关语句

11)case  开关语句分支

12)goto 无条件跳转语句

四、特殊用途

1)sizeof 计算数据类型长度

2)typedef 用于给数据类型取别名

2、进制

1)二进制  2个基本状态(0和1) 逢二进一  权值 2^(n-1)  标示符 0b (如:0b1111=15)

2)八进制  8个基本状态(0~7)逢八进一   权值 8^(n-1) 标示符 0(如:0100=64)

3)十进制  10个基本状态(0~9)逢十进一  权值 10^(n-1)

4)十六进制 16个基本状态 (0~9,a~f) 逢十六进一 16^(n-1) 标示符 0x(如:0x111=273)

5)二进制转八进制 每3bits压缩  八进制转二进制 一位拉伸成3bits  (如:0126=0b001,010,110=64+16+4+2=86)

6)二进制转十六进制 每4bits压缩 十六进制转二进制一位拉伸成4bits (如:0x56=0b0101,0110=64+16+4+2=86)

7)八进制和十六进制是二进制的辅助进制  进制转化的顺序

10->(除16取余)16->(4bits拉伸)2->(3bits压缩)8

8->(3bits拉伸)2->(4bits压缩)16->(权值相加)10

8)0~15的二进制数

1=0001

2=0010

3=0011

4=0100

5=0101

6=0110

7=0111

8=1000

9=1001

10=1010

11=1011

12=1100

13=1101

14=1110

15=1111

3、三码

1)三码分为 原码、反码、补码

2)原码 有符号数,最高位为符号位,后面是数据位 负数的符号位是1 正数的符号位是0

假定用8bits来表示一个有符号数 则第一位数位符号数 后七位为数值 例如:(9+(-6))

9的原码:0000,1001

-6的原码:  1000, 0110

_________________________________________________________________________________

1000,1111(原码相加的结果: -15 结果错误[9+负6=3]  即原码不能参与运算)

3)反码 正数的反码等于原码 (正数:反码=原码)负数的反码为符号位不变 原码其他位取反

例如:(9+(-6)) 二进制相加 逢二进一

9的原码:0000,1001 反码:0000,1001

-6的原码:1000,0110  反码:1111,1001

______________________________________________________________________________________

0000,0010(反码相加的结果: 2  结果错误[9+负6=3]  即反码不能参与运算)

4)补码 正数的补码等于原码(正数 补码=原码) 负数的补码等于反码加一(负数 补码=反码+1)

例如:(9+(-6)) 二进制相加 逢二进一

9的原码:0000,1001 反码:0000,1001 补码:0000,1001

-6的原码:1000,0110  反码:1111,1001 补码:1111,1010

________________________________________________________________________________________

0000,0011(补码相加的结果为3 结果正确 即补码可以参与运算)

5)8bits表述一个有符号数 0000,0000~1111,1111 共有256种变化

正数:0000,0000~0111,1111(补码 0~127)0x7f

负数:  1000,0000~1111,1111(补码)(-128~-1)

-1=1111,1111(补码)-1111,1110(反码)-1000,0001(原码)

-127=1111,1111(原码),-1000,0000(反码), -1000,0001(补码)

-128=1000,0000(补码 ,1111,1111(反码),1000,0000( 原码)

6)8bits表述一个无符号数:0~255

7)计算机中的存储

  一位二进制=1bit  一个字节1Byte=8bits

1Kb=1024Bytes

1Mb=1024Kb

1Gb=1024Mb

1Tb=1024Gb

200Gb=200*1024*1024*1024Bytes

8)程序员节:每年的第2 ^8天 (0b1111,1111) 即:闰年的9月12日 平年的9月13日

9)带空格输入并输出技巧  char str[]={};scanf("%[^\n]",str);printf("%s\n",str); "%[^\n]"表示读取到"\n"截止。

10) 各数据类型在不同位数系统中所占的字节长度

整型           char          short             int            long           long long

64位系统      1字节         2字节           4字节        8字节             8字节 (Mac系统)

32位系统      1字节         2字节           4字节        4字节             8字节 (以前的嵌入式开发环境 arm 、dsp)

16位系统       1字节         2字节           2字节        2字节             4字节    (单片机之类的小硬件)

可通过 sizeof() 函数验证  例如:sizeof(int)

11)  各种数据类型表示数的范围

  char 1字节,8bits,

  有符号数:-128~127, -2^7~2^7-1

  无符号数0~255(0~0xff) 0~2^8-1

  short 2字节,16bits

  有符号数:-32768~32767, -2^15~2^15-1

  无符号数:0~65535,0~2^16-1

  int 4字节,32bits

   有符号数:-2^31~2^31-1

  无符号数:0~2^32-1

  long 8字节,64bits

  有符号数: -2^63~2^63-1

  无符号数: 0~2^64-1

  long long 8字节,64bits

  有符号数: -2^63~2^63-1

  无符号数: 0~2^64-1

float 浮点型,4字节

  double 双精度浮点型,8字节

   long double 长双精度浮点型,16字节

12)常用的几个ASCII 码对照值

A~Z (65~90)   a~z(97~122)

del= 127   @=64   \n=10  \r=13

iOS阶段学习第二天笔记(数据类型与进制)的更多相关文章

  1. iOS阶段学习第一天笔记(Mac终端的操作)

    前言部分 原本从事的是.NET开发,一直在要不要转iOS 中犹豫徘徊,经过复杂的内心挣扎终于鼓起勇气辞职脱产学习iOS;希望通过四个月的 学习后能够拿到理想的薪资.以下是学习过程中的学习笔记,为了方便 ...

  2. iOS 阶段学习第九天笔记(内存管理)

    iOS学习(C语言)知识点整理 一.内存管理 1)malloc , 用于申请内存; 结构void *malloc(size_t),需要引用头文件<stdlib.h>:在堆里面申请内存,si ...

  3. iOS 阶段学习第八天笔记(指针)

    iOS学习(C语言)知识点整理 一.指针 1)概念:存储变量的地址的一个变量. 2) 数据存储类型分析 1.text (代码段) :存储二进制的可执行代码 2.data(初始化的数据段) 存储初始化的 ...

  4. Elasticsearch7.X 入门学习第二课笔记----基本api操作和CRUD

    原文:Elasticsearch7.X 入门学习第二课笔记----基本api操作和CRUD 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链 ...

  5. iOS 阶段学习第十天笔记(字符串操作)

    iOS学习(C语言)知识点整理 一.字符串的操作 1)字符串的存储,字符数组,在堆里面申请内存空间. 实例代码: #include <stdlib.h> #include <stri ...

  6. python学习第二次笔记

    python学习第二次记录 1.格式化输出 name = input('请输入姓名') age = input('请输入年龄') height = input('请输入身高') msg = " ...

  7. JavaSE| 数据类型| 运算符| 进制与补码反码等

    JavaSE JavaSE是学习JavaWeb.JavaEE以及Android开发的基础 边听边思考边做“笔记” 不要完全依赖书和视频: 捷径:敲.狂敲: 规范:加注释: 难点,不懂的记录下时间再回头 ...

  8. python27期day03:字符串详解:整型、可变数据类型和不可变数据类型、进制转换、索引、切片、步长、字符串方法、进制转换、作业题。

    1.%s: a = "我是新力,我喜欢:%s,我钟爱:%s"b = a%("开车","唱跳rap")print(b)2.整型: 整数在Pyt ...

  9. python 数据类型、进制转换

    数据类型 存储单位 最小单位是bit,表示二进制的0或1,一般写作b 最小的存储单位是字节,用byte表示,1B = 8b 1024B = 1KB 1024KB = 1MB 1024MB = 1GB ...

随机推荐

  1. [硬件项目] 2、汽车倒车雷达设计——基于专用倒车雷达芯片GM3101的设计方案与采用CX20106A红外线检测芯片方案对比

    前言 尽管每辆汽车都有后视镜,但不可避免地都存在一个后视镜的盲区,倒车雷达则可一定程度帮助驾驶员扫除视野死角和视线模糊的缺陷,提高驾驶安全性.上一节已经分析清倒车雷达的语音模块(上一节),本节将深入分 ...

  2. Java枚举类型getClass和getDeclaringClass区别(未完待续)

    Java中的枚举类型有getClass()和getDeclaringClass()两个方法,在通常情况下这两个方法返回的类型一样,在某些场景下会有不同的表现 参照 http://stackoverfl ...

  3. 实现两个MySQL数据库之间的主从同步

    一.    概述MySQL从3.23.15版本以后提供数据库复制(replication)功能,利用该功能可以实现两个数据库同步.主从模式.互相备份模式的功能二.    环境操作系统:Linux 2. ...

  4. 缓存篇(Cache)~第三回 HttpModule实现网页的文件级缓存

    返回目录 再写完缓存篇第一回之后,得到了很多朋友的好评和来信,所以,决定加快步伐,尽快把剩下的文章写完,本篇是第三回,主要介绍使用HttpModule实现的文件级缓存,在看本文之前,大家需要限度Htt ...

  5. salesforce 零基础学习(十八)WorkFlow介绍及用法

    说起workflow大家肯定都不陌生,这里简单介绍一下salesforce中什么情况下使用workflow. 当你分配许多任务,定期发送电子邮件,记录修改时,可以通过自动配置workflow来完成以上 ...

  6. iOS--------坐标系统(UIView的frame、bounds跟center属性)

    1.概要翻开ios官方开发文档,赫然发现上面对这三个属性的解释如下: frame:描述当前视图在其父视图中的位置和大小. bounds:描述当前视图在其自身坐标系统中的位置和大小. center:描述 ...

  7. 部署到IIS报错:HTTP错误500.19,错误代码0x800700d

    title=部署到IIS报错:HTTP错误500.19,错误代码0x800700d.   用vs直接运行网站没问题,部署到IIS就报错,由此可知应该是IIS中不支持网站相关配置. 查找发现在web.c ...

  8. angularjs之插件ngRoute和ngAnimate

    使用ngRoute和ngAnimate配合使用,可以实现页面切换的效果. 如果有使用过swiper,就知道这个效果是怎么样的. 代码: <!DOCTYPE html> <html l ...

  9. ab压力测试

    原文链接:http://www.orlion.ga/698/ ab是个什么就不说了搞lamp的都会知道.主要看一下结果都是什么意义. ab 的用法是:ab [options] [http://]hos ...

  10. heroku部署java web项目

    一.开发 在本地eclipse创建maven web项目(此时可以当成正常的javaweb项目开发即可.注意添加servlet依赖,此时不用添加jetty依赖) 二.部署前准备 1.首先在pom.xm ...