说明:这个C语言专题,是学习iOS开发的前奏。也为了让有面向对象语言开发经验的程序员,能够快速上手C语言。如果你还没有编程经验,或者对C语言、iOS开发不感兴趣,请忽略
一.C语言简史
- C语言于1972年发明,首次使用是用于重写UINX操作系统(UNIX以前是用汇编写的)
- 随着UNIX操作系统的成功,C语言也得到了大幅度地推广,至今还是世界上最流行、使用最广泛的高级程序设计语言之一
- C语言是一门面向过程的语言,非面向对象的语言
下面是2013年3月份的编程语言热门排行榜
从C语言诞生至今,它的热度一点也没减过,前两名基本上都是Java和C
二.C语言的特点
1.丰富的运算符
计算机的基本功能就是计算,因此一门程序设计语言的计算能力是非常重要的。C语言提供了34种运算符,计算类型及其丰富,其中包括了最基本的加减乘除运算。
2.丰富的数据类型
C语言之所以生命力如何强大,很大一部分是因为它拥有丰富的数据类型。C语言的数据类型有:整型(int)、实型(float)、字符型(char)、数组类型(int [])、指针类型(void *)、结构体类型(struct)、共用体类型(union)等,括号中的英文称为类型标识符。众多数据类型中,最强大的是指针,通过指针我们可以直接访问内存地址。指针使用得当的话,不仅可以节省代码量,还可以优化内存、提高性能。因此,指针是一个非常重要的概念,必须重视。如果你说C语言中除了指针,其他都学得挺好的,那你干脆说你没学过C语言。正因为C语言数据类型丰富,运算能力极强,因此很多数据库都是用C语言编写的,比如DB2、Oracle等。
3.允许直接访问物理地址,对硬件进行操作
由于C语言允许直接访问物理地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能,能够像汇编语言一样对位(bit)、字节和地址进行操作,而这三者是计算机最基本的工作单元。
4.高效率的目标代码
对比汇编语言,C语言可读性好,易于调试、修改和移植,代码质量与汇编语言相当。
5.可移植性好
在一个环境上用C语言编写的程序,不改动或稍加改动,就可移植到另一个完全不同的环境中运行。
上面说的都算是C语言的优点,不过它肯定是有缺点的:
- 由于C语言是面向过程的,因此它的数据封装性差、安全性低,这就是C语言和其他面向对象语言的区别之一。面向对象语言的特性之一就是数据的封装性
- 语法限制不严格,对变量的类型约束不严格,对数组下标越界不作检查
三、C语言能做什么?
- 由于C语言具有强大的数据处理能力,而且允许直接访问物理地址,直接对硬件操作,因此它适于编写系统软件、图形处理、单片机程序、嵌入式系统开发甚至是用于科研
-
很多操作系统的底层都是用C语言写的,比如android
-
iOS开发中的核心语言是Objective-C(简称OC),OC是在C语言的基础上加了一层面向对象语法
四、C语言的版本问题
从UNIX操作系统的成功后,C语言得到了广泛地应用,从大型主机到小型微机,都有C语言活跃的身影,也衍生了很多个版本的C语言。长期以往,C语言将可能成为一门有多个变种、松散的语言。一门正式的语言,肯定要有个标准才行,不然就乱套了。为了改变这种局面,1983年美国国家标准局(American National Standards Institute,简称ANSI)成立了一个委员会,开始制定C语言标准的工作。1989年C语言标准被批准,这个版本的C语言标准通常被称为ANSI C。
花了两天时间,对微软开发中心的《Windows 8 应用商店应用的设计指南》进行相关整理。本文归纳提取了相关要点,并在某些部分加入了自己的理解。 中文原文地址 英文原文地址
--------------------------------------------------------------------
导航
分层系统
中心页-部分页-详细信息页
平面系统
顶部应用栏-切换
导航剖析
①页眉和后退按钮:页眉可标记当前页,便于查找;
②中心页:类似首屏,将应用程序不同区域的信息显示在第一个屏幕;
③内容部分;
④语义缩放:当视图为很长的平移列表时,方便快速浏览信息和移动视图;
⑤顶部菜单栏:导航控件;
⑥页眉菜单:导航菜单,方便用户切换到不同页面;
⑦主页链接:用于快速返回根目录;
⑧底部应用栏:各种特殊视图命令;
⑨查看、排序、筛选
⑩边缘
使用标题菜单和部分标签进行导航
使用filters, pivots, sorts and views进行导航
filters:筛选。例如"人脉"应用里面,切换来自Facebook或者是Twitter的信息源;
pivots:最顶端那个导航条;Windows Phone 和 Windows 8 的特色;
sorts:排序;
views:视图,如"日历"应用的"今天"、"月"、"周"视图;
命令模式
使用画布
对于某些应用来说,可以直接在画布上提供内容的直接操作,而不是添加一个进入到下一层级的命令。
使用超级按钮
这块没啥好说的,微软定义的几大块功能:搜索、分享、设备、设置。
使用应用栏
这边的命令多与视图有关。
使用上下文菜单
比如说复制粘贴文本,复制或打开超链接。
命令放置
组织命令
首先,需要考虑应用需要用到哪些命令,把他们列出来。
创建命令集
其次,把上面的命令归类。
View commands |
Filter commands |
Sort commands |
Selection commands |
Map view commands |
New Item commands |
创建菜单
接着,我们需要考虑上面的分组结果能否简化。比如,筛选有四个按钮,能否把它们整合到一起。
将命令添加到应用栏
1.如果数量不多,把所有命令都放到App Bar的右边去。
2.当数量较多时,可以利用App Bar的两边边缘进行放置。
3.对于某些不应该在某种场景下出现的命令按钮,应该在相关环境下隐藏起来。
4.当出现新的语义菜单时,新增的命令按钮永远在原按钮的左边。
为常用命令提供标准位置
选择命令永远在左边
对于"新建项目"命令,需要考虑两点:不是所有情景之下都需要新建按钮,适时隐藏;与新建对应的按钮有几种,根据不同情景进行选择。
触控模式
触控原则
使用语义缩放实现快速导航
提供视觉反馈
互动应该可逆
不限制手指的个数,提供统一的操作体验
触控语言
长按以查看详细信息或可视化引导性内容
滑动以平移
轻扫以选定,进行后续操作(For Windows 8)
收缩和拉伸以缩放
旋转以转动
从边缘处轻扫使用系统命令或应用命令(For Windows 8)
触摸手势
互动区域: 由于人们通常持握平板电脑的边侧和底部边角,因此,边侧是放置所有可互动内容的理想位置。
阅读区域: 屏幕上半部分的内容比下半部分的内容更容易看到,下半部分的内容常常被手遮住或忽略。
四种常见平板握法
一只手持握,另一只手进行少量到中度的互动 |
|
|
两只手持握,拇指进行少量到中度的互动 |
|
|
设备位于桌面或腿上,两只手进行少量到大量互动 |
|
|
将设备置于桌面或搁架上,使用互动或不使用互动 |
|
有关目标大小的准则:
7x7 mm:建议的最小值 如果对错误目标的触控可通过一两个手势或在 5 秒内更正,则 7x7 mm 是合适的最小值。目标之间的间距与目标大小同样重要。 |
|
当准确性非常重要时 关闭、删除和其他具有严重后果的操作无法承受意外的点击。 如果对错误目标的触控需要超过 2 个手势、5 秒或主要的上下文更改才能更正,则可以使用 9x9 mm 的目标。 |
|
当屏幕难以容纳下时 如果你发现很难在屏幕中装下想要的内容,也可以使用 5x5 mm 的目标,只要对错误目标的触控可通过一个手势更正。在这种情况下,在目标之间使用 2 mm 的间距非常重要。 |
品牌植入
可视元素 |
描述 |
颜色 |
颜色是展现品牌的关键属性。通过告知人们此应用来自你的企业的方式,应用与你的品牌关联的主要颜色。 |
图形 |
通过将字符添加到内容的演示中,使用图形来增强你的品牌。但是过多的图形可妨碍你的内容的流畅性,并且看上去仅仅起到装饰效果或者可能会分散注意力。 |
图像 |
插图和摄影也可反映你的品牌。重复使用来自你的公司的其他沟通方式或网站中的相同影像和风格。 |
网格 |
Windows 应用商店应用网格系统帮助统一你的应用演示的视觉元素。该网格将调整你的品牌化应用的 UI 以使用 Windows 的其余部分。 |
布局 |
所有页面的视觉元素的布局安排都应与你的品牌相关。你还应尽力在页面和内容类型间实现一致性。 |
徽标 |
使用你的徽标以帮助人们快速识别你的应用和你的品牌。 |
版式 |
字样是 Windows 应用商店应用的一个关键部分。正确的选择可以像颜色、徽标或布局一样对你的品牌具有影响力,因此请考虑你要使用的版式。 |
几个例子:
----------------------------- THE END ----------------------------