iOS基础学习第3天

  内存寻址由大到小,优先分配内存地址比较大的字节给变量;变量越先定义,内存地址就越大;取得变量的地址:&变量名;输出地址:%p;一个变量一定先进行初始化,才能使用。

  scanf函数只接受变量的地址,scanf函数是一个阻塞式的函数,等待用户输入,用户输入完毕后,就会将用户输入的值赋值给对应的变量。

  一次性输入多个数值,并且以某些符号隔开,输入时要使用同样的符号隔开;如果scanf参数中以空格隔开,实际输入可以以空格、tab、回车作为分隔符。scanf中不能写\n。

  取余运算(模运算):%两边都是整数,%取余结果的正负性只跟%左边的数值有关。

    // 自动类型转换(double->int)
    int a = 10.8;
  
    // 自动类型提升(int->double)
    double c = 10.6 + 6;

    // 强制类型转换(double->int)
    int b = (int) 10.5;
    // 复合赋值运算符
    a += 5; // a = a + 5;

    a += 5 + 6 + 4; // a = a + (5 + 6 + 4);

  a++的值是a自增之前a的值,++a的值是a自增之后a的值,a--,--a同理。

    //int size = sizeof(10);
    //int size = sizeof 10.9;

    int a = 10;

    //int size = sizeof(a);
    //int size = sizeof a;

    int size = sizeof(char);
    // int size = sizeof char; // 错误的

  在关系运算中,条件成立就返回1,真;条件不成立就返回0,假。

  逻辑与 条件1 && 条件2

  逻辑或 条件1 || 条件2

  逻辑非 !条件:如果条件成立,就返回0;如果条件不成立,就返回1。

  三目运算符  条件 ? 数值1 : 数值2

  比较大小时,常量值放左边,变量放右边。

  注意赋值运算符,不要写成两个等号。

  if语句后面不要写分号。

    // 下面的代码是错误的:作用域不明确
    if (10 > 6)
        int a = 5;
    // 如果要在if后面的语句中定义新的变量,必须用大括号{}

  break:退出整个switch语句,如果case后面没有break,就会执行后面所有case中的语句,直到遇到break为止。

  如果要在case后面定义新的变量,必须用大括号{}包住。

  if和switch:

   1. if语句能完成的功能,switch并不一定能完成。

   2. 在有些情况下,if语句和switch语句可以互换。

   3. switch能完成的功能,if语句都能完成。

时间: 2024-11-13 04:24:26

iOS基础学习第3天的相关文章

iOS基础学习第2天

iOS开发需要学习的主要程序设计语言有:C语言.C++.Objective-C,其中C++.Objective-C都是以C语言为基础,从C语言衍生出来的.因此,C语言是开发iOS软件的基础. 计算机只能识别0和1:0和1组成的指令,0和1组成的数据. 软件就是指令的集合,软件安装在硬盘,运行在内存. 机器语言: 汇编语言: 高级语言:面向过程和面向对象 C语言是一种面向过程的语言,Objective-C能和C混用. C语言的特点: 1. 丰富的运算符 2. 丰富的数据类型 3. 可以直接操作硬件

魏兆辉的IOS基础学习笔记之十二 OC语言基础-07 Foundation内存管理

本篇博文,将给大家介绍下再Objective-C中如何使用内存管理.一个程序运行的时候,如果不及时的释放没有用的空间内存.那么,程序会越来 越臃肿,内存占用量会不断升高.我们在使用的时候,就会感觉很卡,最终使得程序运行奔溃.因此,将无效的内存及时清理释放,是非常有必要的. 一个对象在最初创建使用,到最后的回收释放,经历的是怎样一个过程呢?包括:诞生(通过alloc或new方法实现).生存(接收消息并执行操作).交友(通过复合以及向方法传递参数).最终死去(被释放掉). 一.引用计数 在对象创建的

魏兆辉的IOS基础学习笔记之十 OC语言基础-05 @property关键字

在上一篇笔记中是学习了怎样手动编写getter和setter方法,相对来说复杂一些,今天学习了@property关键字就可以自动的生成这两个方法,十分方便, 另外在内存管理中,也可以使用这个关键字,省去了重写dealloc函数的麻烦,只需要写进去关键词就可以. 让系统自动合并setter和getter只要两个步骤: (1). 在类接口部分使用@property指令定义属性. (2). 在类实现的部分使用synthesize指令声明该属性即可. 所有,上面例子中定义Engine的存取方法我们可以修

魏兆辉的IOS基础学习笔记之四 C语言基础-04 函数

1. 数组作为函数参数 函数是我们学习程序设计语言最基本的东西了,我在此不再赘述.只讨论一种特殊情况,就是数组作为函数的参数传递. 我们都知道,其实在传递数组的时候,实际上是传递了数组首元素的指针.明确了这一点之后,我们就可以思考下面的问题. 既然他只是传递了数组首元素的指针,那么他必然无法知道整个数组的大小,因此,我们如果希望在函数中用到数组的长度,必须要进行显式传递. int Sum(int a[],int size){ int i ,sum=0; for(i=0;i<size;i++) {

iOS基础学习第1天

学习新知识的步骤: 1.这个东西是神马 2.学了这个东西后,有神马作用 3.这个东西怎么用 4.这个东西内部原理是怎么实现的 Mac系统采用的是UNIX文件系统,所有的文件都放在根目录/下面,因此没有Windows中分C盘.D盘的概念,文件路径就不再有盘符. 用户的个人文件夹(jishangsong是用户名):/Users/jishangsong 因为Mac系统是基于UNIX系统的,因此可以在“终端”中输入一些UNIX指令来操作Mac系统.比如:新建文件\文件夹.打开文件\文件夹 按一下tab键

魏兆辉的IOS基础学习笔记之六 OC语言基础-01 面向对象

一听标题,感觉十分的抽象.面向对象就是(Object-Oriented Programming)的首字母缩写:OOP,是当今最主流的编程方法. 那么,面向对象编程具体有什么好处呢.是如何来实现呢?通过下面的实例,我想可以给大家最简单直观的理解了. 好了,下面就来说说我们这篇博文主要要介绍的内容吧.今天,我们通过一个绘制几何图形的实例来介绍基本的面向对象思想. 首先我们,新建一个Command Tools的命令行工具项目,选择Foundation头文件. 1 / 2 // main.m 3 //

IOS基础学习-2: UIButton

UIButton是一个标准的UIControl控件,UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedControl分段控件.UISlider滑块.UITextField文本字段控件.UIPageControl分页控件.这些控件的基类均是UIControl,而UIControl派生自UIView类,所以每个控件都有很多视图的特性,包括附着于其他视图的能力.所有控件都拥有一套共同的属性和方法. 具体视图关系如下 1. 创建按钮 1.1 initWithFr

魏兆辉的IOS基础学习笔记之十四 OC语言基础-09 OC对象的内存管理

一. 原理 对于任何继承了NSObject的对象,都有一个与之关联的整形变量,称为引用计数器:只有计数器的值为0的时候,OC就回收该对象,否则永不回收. 1. 创建对象时,如使用alloc ,new , copy,引用计数器的值为1 2. 当使用release方法释放时,计数器的值减1 3. 当使用retain方法时,计数器的值加1 4. 当对象被回收时候,自动调用对象的dealloc方法, 5. 使用retainCount方法来获取引用计数器的值 二. 防止内存泄露标准示例写法: @class

魏兆辉的IOS基础学习笔记之九 OC语言基础-04 getter和setter方法

存取方法分为两种:setter方法和getter方法.setter方法,是为对象中的变量赋值.getter方法,是通过对象本身访问对象属性. 在Objective-c中,Cocoa框架在定义存取方法的时候,有相关的规定: (1). setter方法,根据它的所要去改变的属性名称来命名,并在前面加set前缀.如:setEngine,setTire等. (2). getter方法,则是以其返回的属性名称来命名,不要将get前缀加到getter方法名前面.因为在Cocoa中,get前缀有其他的用途.一

魏兆辉的IOS基础学习笔记之十一 OC语言基础-06 Foundation框架介绍

在之前的博文中,我们创建的项目文件的时候,默认都有引用#import <Foundation/foundation.h> 这个头文件.但是,之前我们对Foundation都没有展开介绍.这篇博文,我们就揭开它神秘的面纱. 之前,我们有提到过OC使用的是Cocoa框架.那么Cocoa和Foundation之间,有啥关联呢?实际上,Cocoa是由许多个不同的框架组成的.最常用的是Foundation和Application Kit. Foundation框架中有很多有用的.面向数据的简单类和数据类