黑马程序员_IOS开发简介和C语言基础
来源:互联网 发布:许嵩和方文山歌词知乎 编辑:程序博客网 时间:2024/05/18 03:09
(一)IOS开发简介:
(1)IOS开发:
IOS开发就是开发运行在IOS环境系统的软件。apple公司2009年推出开发包和环境,国内2010年iphone4问世,从而相
继出现开发者--->IOS软件工程师,IOS程序员--->移动开发领域。相比于安卓系统,安卓系统是免费的并且是开源的。
目前的手机操作系统有塞班,安卓,IOS,Blackberry,WindowsPhone等。只有苹果的硬件是加载苹果系统的。相比
于安卓,IOS开发是基于Unix,安卓是基于Linux的虚拟机,整体苹果的速度会相对较快。IOS开发语言涉及C语言,
Objective-C语言,C++(图形处理和跨平台游戏)。其是Xcode(方便写程序的工具,免费,但是只有mac版)。所以
想要学好IOS开发,不仅要学好相应的语言,同时也要了解开发环境,开发系统和相应的应用。才能如鱼得水,简化很
多操作。
(2)MAC-OS介绍:
MAC OS是以unix为基础,在此操作系统下,可以使用苹果提供的开发工具Xcode开发MAC OS和IOS应用程序。整个界
面和Windows大相径庭。一些功能的使用也大为不同。
DOCK:DOCK是底下的那一栏任务栏,每当选取应用后,最上面的一栏菜单栏就会变成相应的软件菜单
spotlight:一个放大镜,整台电脑进行搜索。
Safari:系统默认浏览器。
系统偏好设置:相当于windows的控制面板。
终端:相当于windows的cmd。
文本操作:复制Command+S,粘贴Command+V,回退Command+Z,保存:Command+S。
窗口操作:关闭Command+W,退出Command+Q,切换窗口Command+Tab(长按),切换输入Command+空格,管理桌面Ctrl+向上箭头。
可执行程序是.app。一般在AppStore商城进行下载,第三方软件安装包为dmg/pkg/iso。
MAC默认不往ntfs格式的硬盘里读写,并且不分盘,意味着文件路径没有盘符。
(3)终端一些常用指令:(在不适用Xcode前,一直使用终端进行程序的调试)-->Unix指令
- pwd:查看当前路径。
- cd:进入一个路径。
- ls:列出当前路径下的所有东西。
- ls -l:详细列表。
- mkdir test:生成一个test文件夹。
- touch:创建。touch a.txt touch a.c touch a.m。
- cd ../:上一级路径。
- open:open a.c打开。
这些Unix指令可以操纵电脑的所有程序,比自己直接去找要容易的多。同时在C语言的学习中也要常常用到这些指令。
好了,基础的东西就到这里,让我们抛弃win来到mac的大家庭,在这里欢乐的学习C语言把!
(二)C语言概述:
C语言是IOS开发的基础。任何一个C语言程序都是由一个或多个程序段构成的,每一个程序段都有自己的功能,称这些
程序段为函数。C程序的核心是main()函数,main是任何程序的入口。下面简述一下C语言的基本组成。
1.关键字:在Xcode中C语言关键字都显示紫褐色,并且全部都是小写,是C语言提供的有特殊含义的符号。例如int,
printf,doubled等,是已经定义好的特殊字符。
2.标示符:程序员自定义的符号。用于区分一些东西。标示符可以用大小写字母,数字和下划线开头。
3.计算机的数据分为动态数据和静态数据。静态数据存储在硬盘中,动态数据存储在内存中。当程序运行时,整个程序
加载到内存中(之所以加载到内存不用硬盘是因为内存的访问速度远大于硬盘)。
4.计算机单位:bit,一个0/1就是一个比特位。byte是字节,一个字节等于8bit。1kb=1024b,1mb=1024kb,以此类推。
5.注释:任何语言都有注释。Xcode中单行注释采用//,段落注释采用/* */,集体单行注释快捷键为Command+/
(三)C语言数据类型:
1.常量分类:
- 整数常量int
- 浮点型常量double,float。(float精度低)
- 字符常量char ' '
- 字符串长点" "
2.变量:
变量就是可以变的量。基本数据类型和常量一样。用于赋值和计算。定义变量储存东西是C语言常用的方法。变量定义
后一般要进行初始化,没有初始化的值不要拿来计算(不一定等于0)。
变量内存分析:char 1字节,float 4字节,double 8字节,int 4字节(64位环境下)。
查看一个变量的内存地址用%d &变量来实现。 ---> &是一个地址运算符,用来获取变量的内存地址。
变量的作用域:从定义变量那一行代码开始,一直到所在的代码块结束。--->作用用于及时回收不再使用的变量。
分配内存时,内存寻址由大到小,越先定义分配内训的,内存地址越大。
3.scanf和printf函数:
两个函数的头文件都包含在<stdio.h>头文件下,所以使用时要加上#include <stdio.h>。printf是输出指令,输出" "里面
的东西,可以传入参数。scanf是需要传入变量的地址作为参数。scanf函数会等待标准输入设备(键盘)输入数据,并
且将输入的数据赋值给地址对应的变量。说白了,scanf就是一个阻塞式函数,就是把输入的内容存到预先设置好的内
存中。用来接受用户传入的参数信息。scanf不能以\n结束,会导致scanf无法结束。
4.构造类型是由多个常量类型组成的类型。例如枚举就是只可以取这几个值,结构体可以把不同的属性放到一起,数组可以存储一串类型相同的数据类型等等。
5.指针是一类“指向内存”的数据类型。是C语言数据类型的核心。
(四)C语言基本运算:
1.基本运算加减乘数:(整数除以整数还是整数。1/2 = 0)。
2.取余%运算:两侧只可能是整数。正负取决于左侧的数值。是取余数的运算。
3.赋值运算:=,一个等号是赋值运算。 ==则是判断了。a+=1---->a=a+1。
4.自增自减运算:a++,++a,a最后都会+1,区别在于当时这个位置,++a是先加再运算,a++是先运算在加。
5.sizeof:用啦计算一个变量,常量,数据类型所占的内存字节数。size a = sizeof(int) a = 4。
6.关系运算:也叫做比较运算。你跟我的关系是什么,有> , >=, =, <, <=, !=, ==几种类型。关系运算符的运算结果
自由两种,非0--->真,0--->假。其中==和!=优先级相同,另外四个优先级相同。并且大于== !=的优先级。
7.逻辑运算符:有时候需要在多个条件同时成立的时候才执行某些行为,这时候用到了逻辑运算符。
- 逻辑与:(条件) && (条件):两个条件同时成立才为真。
- 逻辑或:(条件) || (条件):只要有一个条件成立就为真。
- 逻辑非:!(条件):假的时候才为真。
8.三目运算符:(条件) ? 数值1: 数值2 int a = 10>5 ? 100 : 200 判断条件,如果成立就返回第一个数值,如果不成立就返回后面的。
(五)流程控制:
1.顺序结构:按照书写完成的结构,从上到下代码依次执行。
2.选择结构:进行判断,成立才执行某些代码。
3.循环结构,进行判断,条件成立反复执行一段代码直到条件不成立。
选择结构(选择结构定义了两个关键字,if,swhtch):
①if
- if (条件){ } 如果条件成立,就执行大括号里面的代码。
- if (条件){ } else { } 如果条件成立,执行if后面的括号,否则执行esle后面的括号。
- if (条件) { }else if (条件) { }else if (条件) { }.......else { } 看哪个条件符合就执行哪个大括号,都不符合就执行esle里面的函数。
注: if条件判断成功后,执行的是代码块{ }里的内容。如果没有{ }则执行接下来的第一句代码,在接下来的就和if无关了。
写条件判断是往往会用到关系运算,这时候应用==时最好把常量放在左边,以免不小心写错写成了=,变成了赋值运算
还不报错。
if (0 ==a)printf("hello黑马"\n);
②switch
switch (num) {case (num1): break; case (num2): break ....default: break}。参照关键字,顾名思义,选择。选择
和条件一样的数值,执行里面相应的代码,
注:如果case后面没有break,则执行case后面所有的语句直到发现break。
如果要在case后定义新变量,一定要用大括号包住,要不会定义域不明确。
case判断一次成立后,后面的都无需判断。
相比之下,switch能完成的,if都能完成。if使用的情况要更高。
循环结构(while,for);当涉及到要重复某些事情的时候,要考虑循环结构。在使用循环时,最重要的是要确定要重复的操作是什么,在确定约束条件。然后约束条件就是条件,重复操作的内容就是循环体。
①while循环
while (条件) {循环体} 如果条件成立,就执行循环体。
do while循环:do { 循环体} while (条件),方法使用和while一样,就是一定会先执行一次循环体,然后才进行判断。
注:continue出现在循环体:直接结束这一次循环,进入下一次循环。
break:直接退出整个while循环。
while循环后面要是没有大括号,那么第一句代码就是循环体。且while (条件)后面不能加分号,加了分号会自动判定分号为循环体,从而形
成死循环。
最简单的死循环:while(1);
劣势:while的循环判定条件,如果需要变量,则只能定义在外面。while自身语句无法定义。判断变量无法及时的回
收。
②for循环:for(语句1;条件;语句2) {循环体}
for (int a =0;a<50;a++)
{
NSLog(@"执行了49次循环");
}
语句1被称作初始化语句,语句2被称为增量语句(循环体执行完毕后才执行的语句)。执行顺序:语句1-->判断-->ok--
>执行循环体-->语句2-->
再次判断。整个for循环只会执行一次语句1,然后持续判断条件。
for优点:变量内部定义,循环变量可以及时回收。
for注意点:for(;;); 如果循环体没有大括号,也会默认循环下面的第一句代码。再后来的代码就和for循环无关了。
一般考虑使用循环时候,会优先使用for循环。
整体的初级语法就整理到此,其实C语言的算法也格外重要,简单的for循环嵌套起来也可以费尽脑筋。
- 黑马程序员_IOS开发简介和C语言基础
- 黑马程序员_iOS开发C语言基础基本语法易错点
- 黑马程序员_iOS开发C语言基础之函数
- 黑马程序员_iOS开发C语言基础之数组
- 黑马程序员_iOS开发C语言基础之字符串
- 黑马程序员_iOS开发C语言基础之指针
- 黑马程序员_iOS开发C语言基础之结构体
- 黑马程序员_iOS开发C语言基础之预处理命令
- 黑马程序员_iOS开发C语言基础之运算符和流程控制
- 黑马程序员_iOS开发C语言基础之枚举类型和数据类型总结
- 黑马程序员_iOS开发C语言基础之二进制内存存储解析与字符操作
- 黑马程序员_iOS开发C语言基础之关键字typedef、static、extern使用
- 黑马程序员_iOS开发C语言基础之递归的使用
- 黑马程序员_ios基础总结7_OC简介
- 黑马程序员_ios基础入门学习_C语言_day1
- 黑马程序员_ios基础入门学习_C语言day2
- 黑马程序员_ios基础入门学习_C语言day3
- 黑马程序员_ios基础入门学习_C语言day4
- Bug分支
- 解决OS X 系统Matlab注释乱码的问题
- JavaWeb-19 (JDBC之过滤器Filter)
- artDialog关闭窗口
- Feature分支
- 黑马程序员_IOS开发简介和C语言基础
- Mac osx 下如何消除 openssl warning
- 多人协助
- JSP&&Android中使用Http
- HBase Coprocessor 之 endpiont(hbase 0.96.0)
- ANDROID 开发规范总结
- 标签管理
- 1、后缀表达式,以及中缀转后缀算法的思考
- Mysql 笔记--分页优化