ios基础操作

//
//  main.m  //文件名
//  Day2-上课//工程名
//
//  Created by 张开 on 16/1/5.//创建日期及创建人

//
//单行注释:可以注释一段代码,起到了解释说明的作用,注释是我们程序员编程思维的体现,注释不参与程序运行.

/*
 这是多行注释.
 comd+z :撤销
 comd+, :设置
 comd+a :全选
 comd+shift+n:新建一个工程
 comd+[ :让我们的代码行左移
 comd+] :让我们的代码行右移
 
 */

//#import :导入
//#import<>:代表的是导入我们系统自带的框架(也就是Foundation框架)
//#import"":代表的是导入我们自己创建的文件

#import <Foundation/Foundation.h>

//函数:它是由 函数类型 函数名(参数--->形参,实参)
//{   函数体;   }
//void 代表的是无,不需要有返回值
//函数:它封装了一块代码段
void test()
{

}

//main函数:他是我们程序的入口,程序由此开始执行,遇到return结束,代码段写在return 0;之后没有任何意义,不会执行
int main(int argc, const char * argv[]) {
    
    
    //@autoreleasepool:它是我们OC当中的语法,叫自动释放池
    //   @autoreleasepool {
    // insert code here...
    //NSLog(@""); 这也是我们OC当中的打印函数
    //  NSLog(@"Hello, World!");
    //    }
    
    //数据类型:
    //格式:类型修饰符 变量名 = 数值;
    //分号(;):代表我们代码段的结束语句
    // int nmu =7;
    //float 类型默认只输出6位小数
    
    //float score =88888.923456;
    // printf("%f\n",score);
    //%f默认只输出6位小数
    //printf("%.7f\n",score);//代表是输出小数点后七位小数
    //%f打印出来后,float精度是小数点后6位,但是有效数字是7位
    //?那么我们想要打印出3.1415926该怎么办
    //double的有效位数是15位
   // double d1 =3.1415926;
    //printf("%.7lf\n",d1);
    
    //如果想要输出7位那么我们可以使用double
    /*
     
     float 类型:有效位数是6位
     double类型:有效位数是15位
     
     */
    //字符类型:
    //字符类型格式:类型修饰符 变量名 =‘‘(单引号);
    //空格也代表一个字符
    //char sex = ‘m‘;
    //常量:是我们程序运行期间不能被改变的量
    //变量:是我们程序运行期间可以被改变的量
    //变量相当于我们内存中的一块存储空间 = 号是赋值运算符
    //变量命名规则:
    //1.只能由数字,字母、下划线、$组成,不能以数字开头;
    //2.不可以与系统保留字同名;
    //3.不能使用重复的变量名;
    //4.见名知意;
    //5.驼峰法命名;
#pragma mark--运算符---快速索引
    //  #pragma mark(提示字)是快速索引
    
    
    //第一种(必须掌握) (手抄10便)
     int num1 = 21;
     int num2 = 25;
     //然后定义一个第三方变量用于存储我们交换的值
     int temp = 0;
     //将nmu1的值给temp
     temp = num1;
     //将num2的值给num1
     num1 = num2;
     //将temp的值给num2
     num2 = temp;
     printf("num1 = %d",num1);
     printf("num2 = %d",num2);
    
    
    //第二种:
    //不需要使用额外的变量,使用加减法进行交换
    //定义两个int类型的变量
      /*  int num3 = 34;
        int num4 = 43;
        num3= num3 + num4;
        num4= num3 - num4;//(num3 + num4)-num4
        num3= num3 - num4;//(num3 + num4)-num4
        printf("num3 = %d\n",num3);
        printf("num4 = %d\n",num4);
    
    //第三种
    //使用异或(^);
    int a =3,b = 4;//相同数据类型可以放在同一行集中命名
    a = a^b;
    b = a^b;
    a = a^b;
    printf("a = %d\n",a);
    printf("b = %d\n",b);
    
    
    */
    
    //+,-,*,/
    //定义一个int 类型的变量 a 初值是5;
    //int a =5;
    //定义一个int 类型的变量 b 初值是10;
    //int b =10;
    //定义一个第三方的变量用来接收我们a与b的和
    //int result = 0;
    //result = a + b;
    //printf("result = %d\n",result);
    
    //-;减法;
//    int c = 10;
//    int d = 5;
//    int jf = 0;
//    jf = c - d;
//    printf("jf = %d\n",jf);
    
    //乘法(除法)
    
    //自增,自减
    // ++ 在前,先对自身进行 +1,再参与运算,
    // ++ 在后,先进行运算再对自身 +1
//    
    int a = 2;
    int b = 4;
    int c = 0;
    c = a+++b++;//c = (a++)+(b++);
    printf("%d\n",c);
    
    //char :占用一个字节,范围-128~127
    
    //char类型常量存储,是以对应的ascii码表的值对应进行存储
    //char a = ‘a‘;
    //printf("%d\n",a);//我们对应的字符可以使用%d进行占位,但是我们打印出来的会是我们对应ASCII码表中的值
//
    
#pragma mark -- 复合运算符 --
    // += -= *= /=
//    int a = 4;
//    int c = 0;
//    c += a; //c = c+a;
//            //c = 0+4;
//    printf("%d\n",c);
//    int b = 6;
//    int d = 7;
//    int e = 0;
//    e -=b;//
//    printf("%d\n",e);
//    //*=
//    e *= d;//e = e*d
//    printf("%d\n",e);
    
#pragma mark --- printf ---

//printf()//格式化输出函数
    //scanf()格式化输入函数(阻塞函数)
    
    /*
     ***********
     ***Hello***
     ***********
     */
//    printf("***********\n***Hello***\n***********\n");
//    //来定义一个int类型的变量age 并给其赋初值 18;并打印
//    int age = 18;
//    printf("age=%d\n",age);
//    printf("  *\n * *\n* * *\n");
//    //scanf :阻塞函数;
//    int age1 = 0;//赋值为0,为了清空数据
//    printf("请输入一个年龄:\n");
//    //scanf: 当遇到换行(回车)时候会执行
//    //1.接收单个变量的值,在输入之前如果我们输入了回车 或者tab 都会被忽略
//    
//    scanf("%d",&age1);// & 它是取地址符,作用是:将我们用户输入的数据存储到我们对应的变量当中
//    printf("age1=%d\n",age1);
    
    //请输入两个数字,并求和
//    int num1 = 0;
//    int num2 = 0;
//    int sum = 0;
//    printf("请输入两个数字:\n");
//    scanf("%d%d",&num1,&num2);//注意:取地址(&)时"%d%d"之间不要加任何东西(例如, \n),否则不能正确输出,加(\n)例如(%d\n%d\n)会抵消( \n );加 (,)例如(%d,%d)必须输入(,)否则只会输出num1的值.
//    //scanf("%d",&num1);
//    //scanf("%d",&num2);
//    sum = num1+num2;
//    printf("sum = %d\n",sum);
    /*
     scanf使用注意:
    1. 在我们scanf输入函数当中不要添加\n,因为\n会抵消回车,如果想要继续使程序执行,那么就在控制台输入一串英文(随便输入),就会继续抵消
     2.我们scanf函数在用户输入的时候,要根据" ",内部的一些符号进行输入(也就是有什么就去输入什么)
     3.最好的做法就是什么也不加(直接占位符就OK)
     
     */
#pragma mark -- 内存缓存区--
//    int a =2, b = 3;
//    char c = ‘0‘;
//    printf("请输入对应的数据类型:\n");
//    scanf("%d %c%d",&a,&c,&b);
//    printf("a=%d\nc=%c\nb=%d",a,c,b);
    
    //输出的格式控制:
    /*
     %2d:2表示输出的宽度,不足两位,在最前面补空格,并且输出内容又对齐
     %02d:0代表,不足2位的时候,在最前面补0
     %-4d:-代表的是,输出的内容左对齐
     */
    
    
    int age = 9;
    printf("%d\n",age);
    printf("%2d\n",age);
    printf("%02d\n",age);
    printf("%-4d\n",age);

//遇到return 0;结束
      return 0;
    
    
}

时间: 2024-12-13 04:08:20

ios基础操作的相关文章

ios基础-XCode使用技巧

(一)代码规范pragma mark 1.定义 #pragma 开头的代码是一条编译器指令,是一个特定于程序或编译器的指令.不一定适用于其它编译器或其它环境.如果编译器不能识别该指令,则会将其忽略. 2.作用 在编辑器窗格顶部,方法和函数弹出菜单中将代码分隔开,规范化代码,方便阅读查找. 3.使用 在需要加注释的地方加上#pragma mark - #pragma mark - 视图将要显示的时候 - (void)viewWillAppear:(BOOL)animated { //初始化选号的数

iOS基础问答面试

<简书社区 — Timhbw>iOS基础问答面试题连载(一)-附答案:http://www.jianshu.com/p/1ebf7333808d <简书社区 — Timhbw>iOS基础问答面试题连载(二)-附答案:http://www.jianshu.com/p/ce50261f8907 <简书社区 — Timhbw>iOS基础问答面试题连载(三)-附答案:http://www.jianshu.com/p/5fd65c20912e 以下是一些自己收集的比较基础的问题(

iOS基础 KVC和KVO

疯狂IOS讲义这本书之前一直一直觉得没什么用,看了做不出像样的程序出来,但是经过几天的学习发现,没有一定的ios基础,做的程序永远都是在模仿他人的程序,把他人的代码复制 粘贴...为什么能够实现?原理 是什么?不懂...所以 必须懂原理,为什么? 接下来就今天所学习的内容做一个小结: 首先介绍一下KVO和KVC,一个是键值编码一个是键值监听,我第一次听这个也是很困惑,这是个神马意思?键值是啥?监听 还懂一点 ... 我们都知道之前我们都是通过setter和getter来设置和修改对象的属性,KV

iOS基础——通过案例学知识之LaunchScreen、APPIcon、StatusBar、UIScrollView、UIPageControl

iOS基础--通过案例学知识之LaunchScreen.APPIcon.StatusBar.UIScrollView.UIPageControl 今天要实现的案例效果图 一.LaunchScreen 1.设置程序的LaunchScreen 在项目配置文件中配置启动页,并且在LaunchScreen.storyboard中进行布局 2.设置LaunchScreen时间 //单位:秒 [NSThread sleepForTimeInterval:1.5f]; 二.APPIcon 1.命名规则:iOS

iOS 基础 第五天(0809)

0809 - 内存管理,只对oc对象生效. alloc.retain.release.retainCount 局部变量是放在栈里面的,oc对象是放在堆里面的.栈里面的内容系统自动回收,而堆里面的内容还在,所以不适用ARC的时候要手动回收这些对象内容 如下图所示: 对象的基本结构 每一个对象内部都有一个引用计数器,占用4个字节,是一个整数,当这个引用计数器的值为0的时候,这个对象就会被系统回收销毁.当一个对象刚刚诞生的时候,这个计数器的值为1 如下图所示: 引用计数器的作用 如下图所示: 引用计数

[iOS基础控件 - 5.5] 代理设计模式 (基于”APP列表&quot;练习)

A.概述 在"[iOS基础控件 - 4.4] APP列表 进一步封装,初见MVC模式”上进一步改进,给“下载”按钮加上效果.功能 1.按钮点击后,显示为“已下载”,并且不可以再按 2.在屏幕中间弹出一个消息框,通知消息“xx已经被安装”,慢慢消失 3.消息框样式为圆角半透明 B.不使用代理模式,使用app空间组和主View之间的父子View关系 1.在主View中创建一个消息框 主View控制器:ViewController.m 1 // 创建下载成功消息框 2 CGFloat labelWid

iOS基础问答面试题连载(三)-附答案

「Tim的博客」iOS基础问答面试题连载(一)-附答案 「Tim的博客」iOS基础问答面试题连载(二)-附答案 「Tim的博客」iOS基础问答面试题连载(三)-附答案 「Tim的博客」iOS基础问答面试题连载(四) 这次的问题是网络多线程相关的哟,面试的时候也是必问的,大家多看看 11月24日修正一处错误:18.19题目一样,答案不一样(其实是两种理解,修改为最优的一种放上来.多谢读者提醒) 以下是一些自己收集的网络多线程方面比较基础的问题(大神可以忽略),附上答案,方便大家阅读.俗话说得好,基

iOS基础问答面试题连载(一)-附答案

「Tim的博客」iOS基础问答面试题连载(一)-附答案 「Tim的博客」iOS基础问答面试题连载(二)-附答案 「Tim的博客」iOS基础问答面试题连载(三)-附答案 「Tim的博客」iOS基础问答面试题连载(四) 以下是一些自己收集的比较基础的问题(大神可以忽略),附上答案,方便大家阅读.俗话说得好,基础不牢,地动山摇.文章末尾会提供PDF版的文档,方便大家木有网的时候也可以用移动设备观看. 1.简单的描述下类扩展和分类的区别?(说2点) 类扩展没有名字,分类有名字. 类扩展可以为某个类增加额

iOS基础——通过案例学知识之UITableView(上)

iOS基础--通过案例学知识之UITableView(上) 对于UITableView的知识点特别多,因为它是iOS用得最多控件之一,我会尽我最大努力和语言的组织,将所有知识点介绍到位,今天要实现的效果图 吐槽 与Android对比,可以说跟ListView的实现几乎一样,跟RecyclerView一模一样 Android写起来似乎比iOS复杂一点,因为iOS大部分都被封装好了,这一点iOS做得好 对于iOS的方法的命名只能说又长又臭 知识点包括 UITableView的UITableViewD