#import <Foundation/Foundation.h>
int main( ) { #pragma mark --------------进制------------- /* 1.进位机制,逢几进一,就是几进制 2.进制作用:利用有限的数字表示所有的数值。 3.进制的规则: 1)二进制 0 1 2)八进制 0 1 2 3 4 5 6 7 3)十进制 0 1 2 3 4 5 6 7 8 9 4)十六进制 0 1 2 3 4 5 6 7 8 9 a b c d e f (a~f 10-15) 4.进制的转换 1)十进制转N进制 连除倒取余, 2)N进制转十进制 按权求和(按位求和,多项式展开) 3)概念: 1.基数:N进制的基数为N,例如十进制的基数为10 2.位:对数值每一位的描述,从右到左是从最低位到最高位,最低位使用0 表示。向高位方向依次增加。例如:123 3的位为0,2的位为1,1的位为2. 3.权:基数的另外一种称呼,相同 练习:将十进制数字57 转化成二进制,并将结果转回为十进制,以此验证 4)区分进制 1.十进制:不加修饰 2.八进制:数值前加0,例如:0111 3.十六进制:数值前加0x 例如:0x111 4.二进制:数值前加0b 例如:0b111 5)进制常识 1.十进制:给开发人员使用,二进制:计算机能识别的语言,即0 1 编码 2.一个十六进制位=4个二进制位 十六进制的存在,更多的作用是为了方便的表示二进制 */#pragma mark ----------数据类型-------------- /* 数据类型; 在编写计算机程序时,我们会将大量的数据交给计算机处理,那么在C语言当中,如何存储。 1.数据类型的分类 (1)基本数据类型:整形,浮点型,字符型 (2)构造类型:数组,枚举 (3)指针类型 (4)空类型 void 2.基本的数据类型介绍 (1)整型 存储整数 1)short 短整形 2)int 整形 3)long 长整形 4)long long 长长整形 (2)浮点型 存储小数 1)float 单精度浮点型 2)double 双精度浮点型 (3)字符型 存储字符 1)char 字符型 3.数据的存储单位 1.存储单位,字节bits,最常用的存储单位,也是最小的 2.1字节=8位(二进制)=2位(十六进制) 4.不同数据类型存储空间不同,存储空间决定了数据类型能够存储数据的范围。 1.数据类型的存储空间与操作系统有关,并不是统一的,但是有一个原则;short<=int <=long<=long long 2.char 1 short 2 int 4 long4/8 float 4 double 8 3.sizeof 运算符,计算每个数据类型占用存储空间的大小 4.整型区分有符号和无符号的,无符号的标示符 unsigned。 5.区分正数和负数,整数对应的二进制数,最高位1的是正数,最高位为0的是负数 // printf("%lu\n",sizeof(char)); // printf("%lu\n",sizeof(short)); // printf("%lu\n",sizeof(int)); // printf("%lu\n",sizeof(long)); // printf("%lu\n",sizeof(float)); // printf("%lu\n",sizeof(double)); */ #pragma mark-----------常量,变量------------- /* 常量: 1.程序运行期间不能被改变的量 2.常量分类: (1)整型常量:10 (2)浮点型常量: 1.5 (3)字符常量:1.普通字符'n'2.转义字符(属于一个操作字符,无法打印显示,例如:\n) (4) 字符串常量:"蓝鸥" "iOS" 3.变量 (1)程序运行期间可以改变的量 (2)变量代表一个存储区域,用于存储数据,相当于一个容器存储的内容就是变量的值 (3)变量在使用之前必须先定义。三部分:类型,变量名,初始值 (4)变量名要求 1.只能由数字,下划线,字母组成,并且不能以数字开头 2.不能使用系统保留字 比如:int float 3.不能重复使用定义过的变量名 4.见名知意 5.驼峰命名法 teacherName studentName int age =10; float age2=10.5; //练习:定义五个变量,且每个变量类型不同。 //同行可以定义相同变量 int a = 0,g=23; //修改变量 printf("%d\n",a); a=15; printf("%d\n",a); //声明变量--它不设置初始值。一般情况下都要求定义变量,特殊情况的时候再做说明 int age3; */#pragma mark -------------运算符----------------- /* 1.运算符 1.运算符包括很多种:单目运算符,双目运算符,三目运算符,单,双,三分别表示参与运算的变量和常量的数量 2.赋值运算符,算数运算符,复合运算符 3.学会使用( )用来标记运算符,使其运算优先级提前,避免错误。代码的可读性强 2. 赋值运算符 左值:等号左边的值 只能是变量 右值:等号右面的值 可以是变量,常量,表达式 int age = 10; //练习:交换两个变量的值,提示:两个水杯交换水的事后,需要使用第三个水杯 int a=2,b=3,c=0;//交换a,b的值,c作为中间变量 c=a; a=b; b=c; printf("%d\n%d\n" ,a ,b ); 3.算数运算符 双目运算符 + - / * //+ int b1 = 10; int b2 = 10 + b1; int b3 = b1 + b2; //- 与+相同 // * int d1 = 10; int d2 = d1 * 10; int d3 = d2 * d1; // / 1.除数不能为0,int d4 = 10 / 0;是错误的 2.除号两边都是整数,结果也是整数,省略小数部分 int f1 = 3 / 2; printf("%d\n",f1);则f1的值为1; 3.除号两边都是浮点型,结果是浮点数。除号两边有一个是浮点型,结果也是浮点型 float f2 = 4.2 / 2.0;,则,f2的值为2.100000, f2 = 4.2 / 2 ,则f2的值仍为2.100000,系统默认保留小数点后六位 4.取余运算符% 取余运算符的两边必须是整数 5.自增,自减运算符++,-- 1.只能给变量使用 2.在变量前先自增自减,在变量后运算完再自增自减 // 1. ++ 在变量后面 相当于 i = i + 1; int i = 10; // printf("%d\n",i); i++; //语句执行后,变量i 为11 // printf("%d\n",i); //先参与运算,再自增 int j = 5; int k = 50 + j++; //相当于 k = 50 + 5; j = j + 1; printf("%d\n",k); printf("%d\n",j); // 2. ++在变量前面 //先自增,再参与运算 int x = 20; ++x; // int k = 50 + ++j; 相当于 j = j + 1; k = 50 + 6; // printf("%d\n",x); 6.复合运算符 += -= /= *= a += b 相当于 a = a + b;依次类推 */#pragma mark -----------表达式和语句--------- /* 1.表达式组成:常量,变量,运算符。表达式是有返回值的。 2.语句:程序运行的最小单位,以;结束 */ /* 转义字符 \n 换行 \t 制表符 tab %% 一个百分号 \" 一个双引号 占位符 int %d long %ld short %hd char %c float %f double %lf */#pragma mark ------------输出函数------------ /* 1.将需要输出的内容转换成字符串,输出显示在控制台 2.输出内容:普通的字符串,将变量的值转换成字符串 3.函数格式: printf("格式字符串",表达式1,表达式2,.........) int age =26; printf("大家好,我今年%d岁\n",age); */ }