| std 标准 lib 库 io 输入输入 <>系统头文件 
 #include<>他是一个预处理指令,不是语句 
 #import <Foundation/Foundation.h> 
 int main(int argc, const char * argv[]) {     //把当前目录中的a.txt文件中的内容替换到当前写include的地方           // 当前目录:和main.c同一目录     #include "a.txt"     return 0; } 
 
 #include “”搜索顺序 当前目录——>编译器目录——>系统目录——>如找不到(报错) 
 多文件开发(练习)、实现计算器(练习) 
 机器数是带符号都,最高位存放符号,整数为0,负数为1 
 数据在计算机内部是以补码的形式存储 
 反码原码的符号位不变,其余每一位取反 
 补码等于反码加一 
 正数的原码=反码=补码 
 左移、低位补0、右移、高位补符号位 
 左移(<<)可能改变一个数得正负性,而右移不会 
 a&1,获取一个数得最低位,可以判断奇偶性 
 
 #import <Foundation/Foundation.h> 
 int main(int argc, const char * argv[]) {     void  jiou(int n); 
     jiou(6);     return 0; } 
 
 void  jiou(int n){     if (n&1) {         printf("基数\n");     }else { 
         printf("偶数\n");     } 
 } 
 交换两个变量的值,不使用其他变量 #import <Foundation/Foundation.h> 
 int main(int argc, const char * argv[]) {     int a = 10,b=11;     printf("a=%d,b=%d\n",a,b); 
     a=a^b;     b=a^b;     a=a^b;     printf("a=%d,b=%d",a,b); 
     return 0; } 计算机非配内存的时候:从高地址向低地址分配,先定义的变量分配高地址 变量存储细节:低字节存在低地址,高字节存在高地址 
 查看变量在内存中的每一个字节 #import <Foundation/Foundation.h> 
 int main(int argc, const char * argv[]) {     int num=255 ;     //指针     char *p = #       printf("第1个字节地址:%p,值 : %d\n",p,*p);       printf("第2个字节地址:%p,值 : %d\n",p+1,*(p+1));       printf("第2个字节地址:%p,值 : %d\n",p+2,*(p+2));       printf("第2个字节地址:%p,值 : %d\n",p+3,*(p+3));     return 0; } 显示结果: 第1个字节地址:0x7fff5fbff7cc,值 : -1 第2个字节地址:0x7fff5fbff7cd,值 : 0 第2个字节地址:0x7fff5fbff7ce,值 : 0 第2个字节地址:0x7fff5fbff7cf,值 : 0 
 
 |