基础知识

.cc .cpp c++语言源程序

.c C语言源程序

.o  .out  C  C++ OC编译后生成的文件

框架 framework 一系列函数,类等程序单元的集合,可以系统提供某一方面的功能

@autoreleasepool
{
}

NS 是前缀  Cocoa对所有函数,变量,类型  前加NS 表示来源于 Cocoa 而不是来自于其他程序包

增加前缀来避免命名冲突

编译型语言,使用编译器来编译该源程序,xcode内置llvm low level virtual machine 的 clang 编译器来编译oc程序

早起版本使用GCC,从XCODE  4开始使用LLVM 3编译器  比GCC更快。

格式如下:

clang -fobjc-arc -framework Foundation Hello.m -o hello.out

执行  ./hello.out

./是当前目录下

符号导航  以类 方法 属性 形式显示项目中所有类

文件模板库:指定文件模板,快速创建指定类型文件

代码片段库:拖入代码段

C 类 M 方法 Pr 协议  f 函数

OC是强类型语言,1、所有变量必须先声明后使用 2、指定类型只能接受匹配类型的值。在编译过程中发现源代码错误,保证代码健壮。

变量就是小容器,{}代码块, []访问数组元素,调用方法,()形参实参

标示符:变量、类、方法命名,只能字母,下划线,美元符号开头,区分大小写

32个关键字

auto  break case char const continue

default do double else enum extern

float for goto if int long

register return short signed sizeof static

struct switch typedef union unsigned void

volatile while

d 整数  o 八进制  x十六进制 u无符号十进制 

 float/0.0 = 正无穷大

-float/0.0 = 负无穷大

int/0.0 =边界值  2147483647

-int/0.0 = -2147483648

0.0/0.0 = 非数  对负数开方

所有的正无穷、负无穷都相等,非数和任何都不相等(和自己都不相等)

枚举类型 enum season {spring,summer,fall,winter};

枚举变量 enum season myLove,yourLove;

使用  myLove = winter; yourLove = fall;

定义匿名枚举类型 直接定义变量 

enum{male,female}me,you;

枚举值 按照定义顺序 0,1,2,3  无符号整数

<math.h>  double b = pow(a,5); //求a的5次方  c = sqrt(a) //求a的平方根    d = arc4random() % 10 // 0~10的随机数 e = sin(1.57)//求1.57的sin值,1.57是弧度

与 &  有0则0,或 | 有1则1,异或^ 相同为0 不同为1 

正数的补码 = 源码   负数补码 = 反码+1  ,反码 = 按位取反,最高位符号位不变

左移动N位 = X 2的n次方  右移 = 除以 2 的 n次方

逗号运算符 连接多个表达式

三目运算符 作为  if else的精简写法  

str = 5>3 ?@"5大于3":@“5小于3”;

控制流程结构:

分支  :根据条件有选择性执行某段代码  if,switch

循环  :根据循环条件,反复执行 while,do while,for,foreach,break,continue

保留{} 更好可读性,减少出错几率

if(age > 40  && !(age >20)) 
这种可以先判断大的范围,然后依次缩小
if ( age > 60)
{
// 老年人
}
else if( age > 40)
{
// 中年人
}
else ( age >20)
{
// 青年人
}

总是优先把包含范围小的条件放在前面处理。

switch 只能是  short ,char ,int,long等整型和枚举,case后要加break

for 循环条件总比循环体多执行一次,continue结束本次循环。

for (int b = 0,s = 0,p = 0;b < 10 && s < 4 && p < 10;p++)
{
}

初始化语句放到for之前,可以扩大变量的作用域

int count = 0;
for(;count < 10;)
{
  count ++;
}

习惯使用 i ,j,k作为循环变量

break 用于完全结束循环,continue 终止本次循环,忽略剩下语句,开始下一次循环。return 结束一个函数(不管这个return在多少层循环内)return 0;

start:;

goto start;

多维数组本质依然是一维数组,相当于元素是N-1维数组的一维数组

// 定义了3个元素,每个元素长度是4的一维数组
int arr[3][4] = {
{2,10,10,3},
{1234},
{7648}
};
//使用循环遍历数组
for (int i = 0,length = sizeof(arr)/sizeof(arr[0]);i < length;i++)
{
  for(int j= 0,len = sizeof(arr[i])/sizeof(arr[i][0]);j<len;j++)
  { 
   printf("%d	",arr[i][j]);
  }  
}
原文地址:https://www.cnblogs.com/heri/p/4356465.html