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语句都能完成。

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。