C和Objective-C的语法概要
C语言的三个基本要素是数据、语句和函数,支持面向过程编程(POP)。
C语言有数据,数据分为常量和变量,数据的类型分为字符类型和数字类型,数字类型分为整数类型和浮点数类型,复合数据的类型有数组和结构,字符类型的数组(以NULL结尾)就是字符串,变量又有指针变量,指针只是引用,但可以指向动态变量,数组本质上就是指针,变量分为局部变量和全局变量,局部变量又有静态局部变量,全局变量又有静态全局变量。
C语言有语句,语句本质上就是执行的方向,语句有函数语句、表达式语句和控制语句,函数语句就是函数调用,表达式语句本质上就是函数语句,表达式有运算表达式和赋值表达式,运算分为四则运算、位运算和布尔运算,表达式的执行顺序取决于运算符的优先级和结合性,控制语句有选择语句、循环语句和跳转语句,语句还有预编译语句,预编译语句在编译前进行预处理,预编译语句有导入预编译语句、宏定义预编译语句和条件预编译语句。
C语言有函数,函数的描述包括函数声明(在.h文件中)和函数定义(在.c文件中),函数有输入和输出,由参数列表和返回值负责。
========
OC语言拓展了C语言的语法,新增了面向对象编程(OOP)。
OC语言有类和对象,从类到对象的过程叫实例化,分为内存分配和初始化两个步骤,对象分为类对象和实例对象,实例对象的类型可以是某个具体类,也可以是一般对象类型(id类型),id对象的类型确认和方法检查不是在编译时,而是在运行时,类有变量和方法,变量有公有变量、实例变量和私有变量,没有“类变量”,“类变量”可以用静态全局变量代替,方法有类方法和实例方法,存取方法负责实例变量的存取,存取方法分为设值方法和取值方法,类的描述包含接口部分(在.h文件中)和实现部分(在.m文件中),类的声明可以在接口部分、匿名分类部分和实现部分,接口部分声明的是公有变量和公有方法,匿名分类部分声明的是私有变量和私有方法,实现部分声明的是实例变量,实例变量本质上就是私有变量,只是外界有一定的访问权限,属性是实例变量的语法糖,拓展类有子类和分类,子类继承父类在实现部分的变量和方法,可以覆盖父类的方法,也可以添加新的变量和方法,而分类只能添加新的方法,类还可以添加协议,协议指定了必须实现或选择实现的方法列表,子协议可以继承父协议,实现了协议的类叫委托。
C和Objective-C的语法概要的更多相关文章
- JavaScript语言精髓(1)之语法概要拾遗(转)
JavaScript语言精髓(1)之语法概要拾遗 逻辑运算 JavaScript中支持两种逻辑运算,“逻辑或(||)”和“逻辑与(&&)”,他们的使用方法与基本的布尔运算一致: v ...
- vue基本语法概要(一)
先看两种代码,再进行讲解 第一种格式: <template > <div> <div v-for=" item in sites "> < ...
- vue语法概要二
函数 用途 类别 v-html 用于输出html格式的数据 输出 v-bing 用于输出值 输出 v-model 双向绑定 输入和输出 v-if 逻辑判断 分支语句 v-else 同上 分支语句 v- ...
- WSO2 ESB XML定义语法(1)
1.(基于Apache Synapse的WSO2 ESB实现)参考文件位置: http://synapse.apache.org/userguide/config.html 基于Apache Syna ...
- objective-c基础教程——学习小结
objective-c基础教程——学习小结 提纲: 简介 与C语言相比要注意的地方 objective-c高级特性 开发工具介绍(cocoa 工具包的功能,框架,源文件组织:XCode使用介绍) ...
- 附录二 C语言标准库
上章回顾 数组和指针相同与不同 通过指针访问数组和通过数组访问指针 指针在什么时候可以加减运算 函数指针的申明和调用 函数数组和数组函数 git@github.com:Kevin-Dfg/Data-S ...
- 前端常用技术概述--Less、typescript与webpack
前言:讲起前端,我们就不能不讲CSS与Javascript,在这两种技术广泛应用的今天,他们的扩展也是层出不穷,css的扩展有Less.Sass.Stylus 等,js的超集有Typescript等. ...
- 什么是Less、typescript与webpack?
前端常用技术概述--Less.typescript与webpack 前言:讲起前端,我们就不能不讲CSS与Javascript,在这两种技术广泛应用的今天,他们的扩展也是层出不穷,css的扩展有Les ...
- vim+cscope简易教程
Cscope具有纯正的Unix血统,它最早是由贝尔实验室为PDP-11计算机开发的,后来成为商用的AT&T Unix发行版的组成部分.直到2000年4月,这个工具才由SCO公司以BSD lic ...
随机推荐
- Windows Store Apps, Error: The certificate specified has expired.(转)
Windows Store Apps, Error: The certificate specified has expired. 0 comments|Posted on October 7th, ...
- Popwindow
popwindow的使用方法 View contentView = LayoutInflater.from(mContext).inflate( R.layout.dialog_homelist_vi ...
- 15.Linux安装DHCP服务为虚拟机分配IP
参考博客:http://www.jb51.net/article/31607.htm $ rpm -ql dhcp #检查是否安装dhcp $ yum -y install dhcp* ...
- CSS布局基础之一设备像素,设备独立像素,设备像素比,css像素之间的关系
设备像素dp(device pixels) ppi(pixels per inch)表示每英寸所拥有的像素(pixel)数目,数值越高,代表屏幕能以更高的密度显示图像. 计算公式:ppi=像素数量/物 ...
- ★Java多线程编程总结 系列 转
下面是Java线程系列博文的一个编目: Java线程:概念与原理 Java线程:创建与启动 Java线程:线程栈模型与线程的变量 Java线程:线程状态的转换 Java线程:线程的同步与锁 Jav ...
- 【OOAD】设计模式概述
模式的诞生与定义 模式起源于建筑业而非软件业模式(Pattern)之父——美国加利佛尼亚大学环境结构中心研究所所长Christopher Alexander博士<A Pattern Langua ...
- flex 4.6 移动开发 app.xml配置说明
<?xml version="1.0" encoding="utf-8" standalone="no"?> <appli ...
- SQL LOADER 的用法 TXT文件导入非常之快
前提,需要本地安装ORACLE 客户端 控制文件 cms.ctl load dataCHARACTERSET UTF8infile 'oracle.txt'APPEND INTO TABLE JR f ...
- CAD打开文件总是弹出要求选择字体怎么办
CAD打开文件总是弹出要求选择字体怎么办1.在C:\Documents and Settings\下搜索acad.fmp文件,双击用记事本打开acad.fmp文件,在最后添加内容,上面几行本来就有,不 ...
- SVN+Apache域用户认证配置方法_Windows(转,重新排版,部分内容更新优化)
欢迎和大家交流技术相关问题: 邮箱: jiangxinnju@163.com 博客园地址: http://www.cnblogs.com/jiangxinnju GitHub地址: https://g ...