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
|