黑马程序员_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大相径庭。一些功能的使用也大为不同。


DOCKDOCK是底下的那一栏任务栏,每当选取应用后,最上面的一栏菜单栏就会变成相应的软件菜单


spotlight:一个放大镜,整台电脑进行搜索。


Finder:我的电脑。


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循环嵌套起来也可以费尽脑筋。


0 0
原创粉丝点击