您的位置:首页 > 编程语言 > C语言/C++

iOS学习笔记之-C语言基础02(关键字、标识符、注释、数据类型)

2015-09-18 18:55 791 查看

关键字

1,关键字的基本概念

被C语言赋予了特殊含义的单词

关键字特征:全部都是小写

关键字在开发工具中会显示特殊颜色

编译器严格区分大小写

注意: 关键字不能用作变量名、函数名等

C语言中一共有32个关键字

auto double int struct break else long switch

case enum register typedef char extern return

union const float short unsigned continue for

signed void default goto sizeof volatile do if while static

2.数据类型关键字

基本数据类型(5个)

void :声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果
char :字符型类型数据,属于整型数据的一种
int :整型数据,通常为编译器指定的机器字长
float :单精度浮点型数据,属于浮点数据的一种
double :双精度浮点型数据,属于浮点数据的一种


类型修饰关键字(4个)

short :修饰int,短整型数据,可省略被修饰的int。
long :修饰int,长整形数据,可省略被修饰的int。
signed :修饰整型数据,有符号数据类型
unsigned :修饰整型数据,无符号数据类型


复杂类型关键字(5个) struct :结构体声明

struct :结构体声明
union :共用体声明
enum :枚举声明
typedef :声明类型别名
sizeof :得到特定类型或特定类型变量的大小


存储级别关键字(6个)

auto :指定为自动变量,由编译器自动分配及释放。通常在栈上分配
static :指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部
register :指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形 
参,建议编译器通过寄存器而不是堆栈传递参数
extern :指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,表示编译器 遇到此变量和函数时在其他模块中寻找其定义。
const :与volatile合称“cv特性”,指定变量不可被当前线程/进程改变(但有可能被系统或其他线程/进程改变)


3.流程控制关键字

跳转结构(4个)

return :用在函数体中,返回特定值(或者是void值,即不返回值)
continue :结束当前循环,开始下一轮循环
break :跳出当前循环或switch结构
goto :无条件跳转语句


分支结构(5个)

if :条件语句,后面不需要放分号
else :条件语句否定分支(与if连用)
switch :开关语句(多重分支语句)
case :开关语句中的分支标记
default :开关语句中的“其他”分支,可选。


循环结构(3个)

for:for循环结构,for(1;2;3)4;的执行顺序为1->2->4->3->2…循环,其中2为循环条件。 
在整个for循环过程中,表达式1只计算一次,表达式2和表达式3则可能计算多次,也可能一次也 不计算。循环体可能多次执行,也可能一次都不执行。
do :do循环结构,do 1 while(2); 的执行顺序是1->2->1…循环,2为循环条件
while :while循环结构,while(1) 2; 的执行顺序是1->2->1…循环,1为循环条件 以上循环语句,当循环条件表达式为真则继续循环,为假则跳出循环。


标识符

标识符就是程序员自己在程序中起的一些名字。

首先要明确的是,程序员自己起的名字,肯定是不能使用和关键字同名的名字。

1,标识符的作用

C语言是由函数构成的,一个C程序中可能会有多个函数,为了区分这些函数,就给每一个函数都起了个名称。函数的名称就是标识符的一种。除了函数,以后还会学到“变量”这个概念,变量的名称也是标识符

2,标识符命名规则

1.只能由26个英文字母的大小写、10个阿拉伯数字0~9、下划线_组成
    2.严格区分大小写,比如test和Test是2个不同的标识符
    3.不能以数字开头
    4.不可以使用关键字作为标识符


注释

1.什么是注释

注释是在所有计算机语言中都非常重要的一个概念,从字面上看,就是注解、解释的意思

注释可以用来解释某一段程序或者某一行代码是什么意思,方便程序员之间的交流。假如我写完一行代码后,加上相应的注释,那么别人看到这个注释就知道我的这行代码是做什么用的

注释可以是任何文字,也就是说可以写中文

在Xcode中注释一般是绿色

提示:


初学者编写程序可以养成习惯:先写注释再写代码。

将自己的思想通过注释先整理出来,在用代码去体现。

因为代码仅仅是思想的一种体现形式而已。





2.注释的目的和应用场景

常见用法一(解释代码):

- (UIBarButtonItem *)initWithNorImage:(NSString *)norimage higImage:(NSString *)higImage title:(NSString *)title target:(id)target action:(SEL)action
{
    // 1.创建一个按钮
    UIButton *btn = [[UIButton alloc] init];
    // 2.设置按钮的默认图片和高亮图片
    if (norimage != nil &&
        ![norimage isEqualToString:@""]) {
        // 图片不为空
        [btn setImage:[UIImage imageNamed:norimage] forState:UIControlStateNormal];
    }
    if (higImage != nil &&
        ![higImage isEqualToString:@""]) {
        // 图片不为空
        [btn setImage:[UIImage imageNamed:higImage] forState:UIControlStateHighlighted];
    }
    // 设置标题
    [btn setTitle:title forState:UIControlStateNormal];

    // 3.监听按钮的点击事件
    [btn addTarget:target action:action forControlEvents:UIControlEventTouchUpInside];
    // 4.设置按钮的frame
    // 可以调用控件的sizeToFit方法来自动调整控件的大小
    [btn sizeToFit];

    // 5.根据按钮创建BarButtonItem
    return [[UIBarButtonItem alloc] initWithCustomView:btn];
}


常见用法二(做函数说明):

/**
* 创建item
*
* @param norimage 默认状态的图片
* @param higImage 高亮状态的图片
* @param title 标题
*
* @return 创建好的item
*/
- (UIBarButtonItem *)initWithNorImage:(NSString *)norimage higImage:(NSString *)higImage title:(NSString *)title target:(id)target action:(SEL)action { // 1.创建一个按钮 UIButton *btn = [[UIButton alloc] init]; // 2.设置按钮的默认图片和高亮图片 if (norimage != nil && ![norimage isEqualToString:@""]) { // 图片不为空 [btn setImage:[UIImage imageNamed:norimage] forState:UIControlStateNormal]; } if (higImage != nil && ![higImage isEqualToString:@""]) { // 图片不为空 [btn setImage:[UIImage imageNamed:higImage] forState:UIControlStateHighlighted]; } // 设置标题 [btn setTitle:title forState:UIControlStateNormal]; // 3.监听按钮的点击事件 [btn addTarget:target action:action forControlEvents:UIControlEventTouchUpInside]; // 4.设置按钮的frame // 可以调用控件的sizeToFit方法来自动调整控件的大小 [btn sizeToFit]; // 5.根据按钮创建BarButtonItem return [[UIBarButtonItem alloc] initWithCustomView:btn]; }


常见用法三(做思路分析):

暂无


3.注释的特点

注释是写给人看的,不是给计算机看的。

因此当编译程序的时候,并不会将注释编译到.o目标文件中

从.o文件的大小可以间接看出注释后的代码并没有被编译

检查代码的作用

排除错误

数据类型

1. 数据的分类

静态数据类型

静态数据是指一些永久性的数据,一般存储在硬盘中,计算机关闭之后再开启,这些数据依旧还在,只要你不主动删掉或者硬盘没坏,这些数据永远都在。静态数据一般是以文件的形式存储在硬盘上,比如文档、照片、视频等

动态数据类型

动态数据指在程序运行过程中,动态产生的临时数据,一般存储在内存中。内存的存储空间一般都比较小。计算机关闭之后,这些临时数据就会被清除。当运行某个程序(软件)时,整个程序就会被加载到内存中,在程序运行过程中,会产生各种各样的临时数据,这些临时数据都是存储在内存中的

静态数据和动态数据可以相互转换

静态数据到动态数据(也就是从磁盘加载到内存。)

播放视频,音乐…


动态数据和静态数据的相互转换

如手机拍照片存储到手机的硬盘上

2. 数据的计量单位:

1 B(Byte字节) = 8 bit(位) 
1 KB(KByte) = 1024 B 
1 MB = 1024 KB 
1 GB = 1024 MB 
1 TB = 1024 GB


3. C语言中的数据类型:

基本类型 int float double char

构造类型 struct

指针类型

空类型 null nil
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: