1.
a..oc相对于C增加了一小部分面向对象的语法
b 将C语言的复杂的,繁琐的可恶的语言封装的更加简单
c Oc完全兼容C语言
2.
OC的程序都语言文件的后坠名为.m m代表message 代表oC中最重要的机制消息机制
C程序的源文件后坠为.C
3.
main函数仍然是OC程序的入口和出口
int 类型的返回值代表程序结束状态
main函数的参数:仍然可以接收用户在运行程序的时候传递数据给程序
参数也可以不要。
4.#import 指令
1) 以#号开始。是一个预处理指令
2)作用:是#include指令的增强版,将文件的内容在预编译的时候拷贝到写指令的地方
3)增强: 同一个文件无论import多少次,只会包含1次
如果#onclude指令要实现这个效果,就必须要配合条件编译指令来实现
而#import 指令只要包含直接就可以其他什么也不需要做
4)简要原理:#import 指令在包含文件的时候,底层会直接判断文件是否被包含。如果包含就会省过,否则就会引用
5框架
1)是一个功能集合 是苹果公司或第三方公司把一些要使用的功能事先写好,方便使用
2.Foundation框架
Foundation。基础的基本的。一些输入 输出l类型 基本的类
Foundation.h的路径
/Application/。。。。。/Foundation.h
所以Foundation.h就包含了Foundation框架中的基本头文件
所以Foundation.h的所有函数和类可以直接使用
6.
@autoreleasepool 自动释放池
只要知道这个是自定释放池即可
可以把代码写入其中。目前
删掉没有问题
7,Nslog。函数
使用必须引入 #import <Foundation/Foundation.h>
1.作用:是printf 函数的增强版,向控制台输出信息
2.使用:
NSLog(@"格式控制字符串“, 变量列表);
最简单的语法
NSLog(@"要输出的信息);
3增强:
对比
a。 输出一些调试信息
Hello, World哈哈哈哈!
2020-08-29 12:44:51.730350+0800 day01_oc基础[1555:19138] Hello, World哈哈哈哈!
Program ended with exit code: 0
格式。执行这段代码的事件 程序的名称
[1555:19138] 进程编号: 线程编号
Nslog 输出的信息
b。 自动换行
c OC新增了一些数据类型。 只能使用NSlog函数来输出。 Nslog 不仅可以输出C的数据类型还可以输出OC新增的数据类型
用法和printf 差不多 但是必须加@符号。一样可以输出变量值。占位符也是一样的
1,NSlog的第一个函数前必须加@ 符号
2,如果手贱中末尾加/n。函数Nslog的自动换行就会失效。换一行
---------
忘记#include
忘记printf
8 字符串
OC中使用NSString 来定义字符串
声明字符串前必须加@
NSString为指针变量 只能存储OC字符串
9 NsLog 第一个参数是OC的字符串所以必须用@ 开头
10 NS
NextStep ----》Cocoa----〉Foundation
11 @符号
将C字符串转换为OC字符串
“jack”
@“jack”
OC中大部分关键字以@符号开头的
12。注释
和C语言注释一模一样
单行注释//
多行注释
函数声明和调用
13 oC 语言编译,执行,连接
1)在。m文件中写代码
2)在编译器将源代码编译为目标文件
cc -c main。m
a预处理
b检查语法
c编译
3)链接
cc xx。o
在程序中使用了某个框架中类或者函数 那么在链接的时候必须告诉编译器
去哪一个框架中去找
cc xx。o -framwork 框架名称
程序中用到了哪个框架中的功能就告诉编译器
4)链接 生成以后会出现一个a。out可执行文件。执行即可以了
2我们点击Xcode执行按钮就帮我执行了
3。OC语言各个阶段的文件的后缀名z对比
源文件。 目标文件 可执行文件
C语言 。c。 。o。 。out
OC语言。。m。 。o。 。out
*/
#import <Foundation/Foundation.h>
void test();
int main(int argc, const char * argv[]) {
@autoreleasepool {
printf("Hello, World哈哈哈哈!");
// insert code here... 运行控制台会输出
NSLog(@"Hello, World哈哈哈哈!");
float f1 = 12.12f;
NSLog(@"jack f1 = %f", f1);
//输出jack f1 = 12.120000
NSLog(@"Hello, \nWorld哈哈哈哈!");
//声明字符串
NSString * str = @"jack";
NSLog(str);
NSLog(@" 大家好,我叫%@" ,str); // 字符串拼接
//12
test();
}
return 0;
}
void test(){
NSLog(@"oc第一天学习大家还好吗");
}