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 ...
随机推荐
- 运用C#生成docx格式的报表
这几天在北京做一个大桥的监测系统的项目,涉及到一个功能,那就是采集数据,处理后,希望能自动生成一个报表,只需要在一个模板的基础上加几个数就可以了,但因为希望生成的是.docx格式的word2007/2 ...
- 深度优先搜索(DFS)
定义: (维基百科:https://en.wikipedia.org/wiki/Depth-first_search) 深度优先搜索算法(Depth-First-Search),是搜索算法的一种.是沿 ...
- C语言运算符和优先级
关于C语言运算符和优先级,经整理众多博客资料汇入自己的实战,如下: a.算术运算 C语言一共有34种运算符,包括常见的加减乘除运算. 1) 加法:+ 还可以表 ...
- mac 激活Ultra Edit16
一.文本编辑器UltraEdit 参照Ultra Edit16.10 Mac 破解下载,或者官方下载 Ultra Edit16即可 printf of=/Applications/UltraEdit. ...
- Monkey 使用aapt查看apk包名
使用aapt //aapt是sdk自带的一个工具,在sdk\builds-tools\目录下1.以ES文件浏览器为例,命令行中切换到aapt.exe目录执行:aapt dump badging ...
- JMS消息中间件系列[ActiveMQ](一)
版本5.13.3的特性: 1.Supports a variety of Cross Language Clients and Protocols from Java, C, C++, C#, Rub ...
- 【转】 CPU大小端
大端模式,是指数据的低位保存在内存的高地址中,而数据的高位,保存在内存的低地址中:小端模式,是指数据的低位保存在内存的低地址中,而数据的高位保存在内存的高地址中. 为什么会有大小端模式之分呢?这是因为 ...
- BFC 神奇背后的原理
BFC已经是一个耳听熟闻的词语了,网上有许多关于BFC的文章,介绍了如何触发BFC, 以及BFC的一些用处(如清浮动,防止margin重叠等).虽然我知道如何利用BFC解决这些问题,但当别人问我BFC ...
- Android文字跑马灯控件(文本自动滚动控件)
最近在开发一个应用,需要用到文本的跑马灯效果,图省事,在网上找,但老半天都找不到,后来自己写了一个,很简单,代码如下: import android.content.Context; import a ...
- 注册Github
注册Github 1.打开Github网页 2.设置用户名.邮箱.密码(右侧会显示是否可以使用),点击注册 3.此时邮箱会发来来自Github的注册消息,进入邮箱,点连接,完成注册 4.注册成功