文章目录
前言
这里谈谈OC和C的一些基础语法的相同和不同:
一、数据类型和运算符
1.注释
#import <Foundation/Foundation.h>
/*
这是多行注释
*/
int main(int argc,char* argv[]){
@autoreleasepool {
NSLog(@"Hello");
//输出Hello
//这里是单行注释
}
}
这是代码的运行结果,可以看到注释并没有影响整个代码
2.标识符
OC在标识符部分和C很相似。这里注意OC中新多出来的东西就行。
3.关键字
在关键字部分OC和C的要求相同。不能在定义变量时和关键字相同
如下在定义const时会报错
4.数据类型
注意这里OC新多出来了一个nil类型
5.基本数据类型
6.NSLog输出函数
NSLog函数支持的输出格式也和C类似。
需要注意这里@是输出Objective-C的对象即可。
#import <Foundation/Foundation.h>
int main(int argc,char* argv[]){
@autoreleasepool {
NSLog(@"Hello Object-C");
}
return 0;
}
@是为了区分C的字符串和OC。
使用NSLog函数时,占位符也和C相同。
NSLog函数会自动换行。
7.字符型
OC中常用的转义字符:
OC的字符变量只占1字节,因此单个的OC变量不支持中文字符。
类似C中给转义字符在转义。
8.浮点型
1.和C中相同的:
float,double,long bouble类型。
2.表示方式:
- 十进制整数形式
必须包含一个小数点
- 科学计数法形式
5.12e2(5.12*10²)=5.12E2
3.和C不同的
- 正无穷大
(浮点型)正数除以0.0
所有的正无穷大数值都相等
- 负无穷大
(浮点型)负数除以0.0
所有的负无穷大都相等
- 非数
0.0除以0.0或对负数开平方
所有的非数都不相等
9.BOOL类型
BOOL类型有两个值:YES和NO,分别代表真和假。
OC底层实际使用signed char来表示BOOL,YES和NO在底层实际就是1和0。
如果将一个较大的非零整数赋给BOOL,(这个整数的后八位全为0)系统就会把它当作NO来处理。
10.运算符,运算符的优先级,整形提升,类型转换
这几部分内容和C中一模一样。不在多说。
总结
以后会有补充
说的不对的欢迎指正