C和objective-C基本语法(1)

来源:互联网 发布:混凝土强度计算软件 编辑:程序博客网 时间:2024/05/17 02:52

第一章       C语言基本语法

一.    C语言中使用的词汇有:标示符、关键字、运算符、分隔符、常量和注释符;

1.       标示符:字母、数字、下划线组成;字母、下划线开头,区分大小写;

2.       关键字:(保留字)类型说明符,语义定义符,预处理命令字;

3.       运算符:

4.       分隔符:空格和逗号;

5.       常量:数字常量、字符常量、字符串常量、符号常量、转义字符等;

6.       注释符:/*  //   */

二.    数据类型:基本数据类型、构造数据类型、指针数据类型、空类型

1)  基本数据类型:

1.       整型: 整型常量:(分三种进制)

整型变量:int;short int; signed int; unsigned int; long int; unsigned long (4字节);

2.       实型:实型常量:十进制形式,指数形式,e E

  实型变量:floatdouble;(前者七位精度,后者16位精度)

3.       字符型量字符常量:‘a ‘b’ ,’c’ ,’d’ ;转义字符:

字符变量:char  字符串变量:“china”区分两者区别;

符号常量:#define

4.      

2)  基本运算符和表达式:

逗号表达式:表达式1,表达式2;求值过程是分别求两个表达式的值,并以表达式2的值作为整个逗号表达式的值;

3)  关系运算符和表达式: < > = >= != 优先级低于算术高于赋值;

4)  逻辑运算符合表达式:&&  ||    ! 优先级低于关系;

值有两种:1  0

三.    数组

四.    指针

1)  指针:变量或结构地址;(一种数据类型,数组、结构或函数往往连续存放)

2)  Static int * p1;  p1 是指向静态整型的指针变量;

3)  指针变量:使用之前必须定义声明,而且必须初始化;  (只能赋予地址,被赋值的指针变量前不能再加*声明符;)

4)  字符串指针变量和字符数组的区别:

1.       字符串指针变量本事是一个变量,用来存放字符串首地址。以‘\0’为结束;

2.       对字符数组进行初始化赋值,必须采用外部类型或静态类型。

3.       对字符串指针方式:可以为char *pe; pe = “C language”;而字符数组:

Static char st[] = {“C language”}; chat st[20];然后逐个元素赋值;

五.    输出printf

1.       格式字符串:[标志][输出最小宽度][.精度][长度]类型

类型:d o x u f e g c s

标志: - + # 空格

长度: h l;h按短整型量输出;l表示长整型量输出;

六.    控制:if, while, switch, do while, for

七.    函数:C语言中,所有的函数定义,包括主函数main()在内,都是平行的。一个函数体内,不能再定义其他函数,但是函数之间允许相互调用。

一个C程序有且只有一个主函数main();

Return 结束函数的执行;

 

函数标准库:

Stdio 标准输入、输出、文件输入输出;

String.h

Math.h

Stdlib字符和数值转换函数:

Zl Cocoa 中已经经过重新封装,在一般cocoa编程中用不到;

第二章:Objective-c语法:

.编程概论:

         1)使用Objective C进行编程时,其变量用法和控制语句的使用,与C完全一样。唯一追加的是面向对象的内容。C语言以函数为中心进行程序的编写。Objective C以类为中心组织程序,类中有实例变量及方法。函数与类中方法的区别是:是否使用实例变量

         2)  类的声明和实体也在不同的文件中编写,后缀分别为 “.h”和“.m

.类的声明

         1)导入声明文件:

1. #import <Cocoa/Coca.h> //Cocoa框架下的Cocoa.h导入进来; <> “”区别跟C语言相同;

                   //Cocoa.h

#import <Foundation/Foundation.h>

#import <AppKit/AppKit.h>

#import <CoreData/CoreData.h>

 

#import"AppController.h"//表示导入的头文件在同一工程内容中;

                  

                   注:在Cocoa编程中进行类的声明时,必须要在开头加上#import <Cocoa/Cocoa.h>

2)   类的声明

@interface MyObject: NSObject{

   

};

@end

1)         首先键入@interface表明其后为类的声明,然后新类名称,冒号为父类名称;

2)         在类的声明中,可以加入实例变量的声明,如:

2@interface MyObject: NSObject{

            int count;

            int index;

};

@end

3)  实例方法的声明:

1.       无参数的方法:

-    (int)count; “-”标识为实例方法,间隔一个空格后,括号定义的是返回值,随后很乏名称;

2.       一个参数的方法:- (返回值类型)函数名:(参数类型)参数名;

- (int)count:(int)count;//函数名和参数之间用一个“:”分隔开来;

3.       多个参数的方法:

语法:- (返回值类型)方法名:(参数类型)参数名标签:(参数类型)参数名;

    第一个参数后,其后一个空格,紧接是别乘坐标签的字符串,然后“:”,变量类型和变量名;

   标签可以作为方法名的一部分。方法的名称可以看做:方法名:标签:标签:

其中,用“:”分隔了不同的参数;

                                    - (int)initWithCString:(constchar*)cString

                encoding:(NSStringEncoding)encoding;

            两个“:”,说明方法有两个参数。

4.       类方法:声明方法以“+”开始;

三.类的实体:

1.         编写类的实体

// .m

#import “MyObject.h”

@implementationMyObject

//实际代码实现部分

@end

2.         注:并不是所有的方法都必须实现在.h文件中声明,也可以在.m文件中开始编写方法。在.h文件中实现声明的目的是可以方便的从其他类中调用此方法。

仅将需要向其他类公开的方法,追加到.h文件中//其他类如何访问这个方法?

四. 对象专用类型

1.       实例对象专用的变量类型//专门用来存放类实例后的对象。不要与实例对象混淆;

MyObject* object; NSString* string;

2.       Id类型,对象专用的类型,

Id类型是所有对象都使用的类型,所有的对象都可以赋值给id类型的变量;

IBOutlet id textFiedl;

IBOutlet NSTextField* textField;

3.       Nil类型:类似C语言中的NULL类型;

4.       在条件表达式中使用的对象类型

五.方法调用:

1.       实例方法的调用:返回值 = [实例方法名] ;

MyObject *object

Int count = [object count];

注:在调用实例方法前,要先对类进行初始化;

有参数名的情况下,利用:引出参数名

[object setCount:10];

[object setCount:12 andIndex:6];

2.       类方法的调用: [类名方法名]

3.       对象为nil的情况:当对nil实例进行方法调用时,仅仅是忽略调用的过程,而不出现任何错误提示。

六. 命名规则:

1.       类:第一个字母大写;同一工程中类名使用相同的开头;

2.       实例变量:以小写字母开头;尽量不命名以_开始的变量;

3.       方法:以小写字母开头,关于取值与设置专用方法的命名:以完整句子命名;

比如取得index的值的方法命名为index(cocoa中一般不用get),设置index值的方法可以命名为setIndex

 

 

          

原创粉丝点击