1、二进制以0B(0b)打头,八进制以0打头,十六进制以0x(0X)打头;
2、进制常规转换:某进制转换十进制----按权求和;;十进制转换某进制----连除倒取余。。
快速转换::一位八进制相当于三位二进制;;一位十六进制相当于四位二进制。。
3、注释:单行// 多行/* */
4、表达式:常量、变量、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式、赋值表达式、混合表达式、函数调用表达式。一共是10种有生命的表达式。
===》常量--->数字
--->字符
--->字符串
------>放在常量区,内存由系统自动分配和释放。
5、课堂出错笑点:老师把十进制转换二进制当成了八、十六进制。。。所以,在进制转换的过程中一定要注意看清楚是属于什么进制。。
十进制转换成二进制---快速转换===用2的倍数相加来表示那个十进制数,2为基数,倍数为权。
6、常量是一个不可改变的数,变量其实是一个地址。。编码规范是:在定义一个变量的同时,最好赋给她初始值,以免她去给别人做”嫁妆“了。
int a;和int a=0;区别很大。
要领会变量和指针的区别:变量本身是一个地址,指针本身也是一个地址,只是这个地址会指向另一个地址。
7、求模运算(取余%)必须注意的是两边都必须是整型的。
8、自增自减:
//自增自减
int count=3;
int sum1=count++; //++在后,先参与运算,再自身加一
//sum1=count; =3
//count=count+1; =4
int sum2=++count; //++在前,先自身加一,再参与运算
//sum2=count+1; =5
//count=count; =5
printf("sum1=%d,sum2=%d,count=%d\n\n",sum1,sum2,count);
int sub1=count--; // --在后,先使用,再自身减一
//sub1=count; =5
//count=count-1; =4;
int sub2=--count; // --在前,先自身减一,再使用
//sub2=count-1; =3
//count=count; =3
printf("sub1=%d,sub2=%d,count=%d\n\n",sub1,sub2,count);
9、复合运算:+=,-=,*=,/=。这些运算要注意的是每个数参与运算之后的值的改变,此时要保持的大脑的清晰,不要被蒙蔽了双眼,一定要保持很高的警惕,不然就会陷入陷阱。
10、command+shift+k 清空内存存在的内容
11、源代码:
//
//当前文件名
// main.m
//工程名
// LessonTwo
//文件所有者,时间
// Created by lanou3g on 15/7/28.
//版权归属
// Copyright (c) 2015年 lanou3g. All rights reserved.
//
//单行注释(不能有回车)
/*
多行注释(一段文字,可以敲打回车)
*/
/*
注释:一,解释说明代码的功能作用
二,用来调试程序
三,代码规范
四,可以把注释内容收起来
*/
//import导入引入;相当于(windows)include,不过是有区别的,之后oc再讲
//Foundation框架:简单理解为,是一个别人写好的程序,我们可以直接使用
#import <Foundation/Foundation.h>
//一个程序里只有一个main函数;
//是主入口,也是最后的出口
//返回值为int类型
int main() {
//类型是用来干嘛的:用来修饰变量的
//变量:其实是一个地址,
//变量:类型修饰符 变量名=初始值;
//变量命名规则:1.只能由 字母,下划线,数字 组成,切记不能以数字开头
//int 2b=0;错的
//int
//2.汉字命名变量是没有错的,但是严禁使用
/*
int 你=9;
printf("%d",你);
*/
//3.不能使用系统保留字
// int int=0;
//4.见名知意
//定义一个整型数
int a1=0;
short int a2=0;
long int a3=0;
//定义一个char型
char a4='a';
//定义一个浮点型
float a5=0.0;
double a6=0.00;
printf("占的字节数int:%d\n",sizeof(a1));
printf("占的字节数short int:%d\n",sizeof(a2));
printf("占的字节数long int:%d\n",sizeof(a3));
printf("占的字节数char:%d\n",sizeof(a4));
printf("占的字节数float:%d\n",sizeof(a5));
printf("占的字节数double:%d\n",sizeof(a6));
//交换两个数的值---使用第三者
int number1=10,number2=20;
printf("交换前:\n");
printf("number1=%d,number2=%d",number1,number2);
int temp=0;
temp=number1;
number1=number2;
number2=temp;
printf("\n交换后:\n");
printf("number1=%d,number2=%d",number1,number2);
printf("\n");
//练习1、定义一个变量c_score,存储c语言分数,定义一个oc_score,存储OC语言的分数;定义一个变量gender,存储性别。
float c_score=0.00;
float oc_score=0.00;
char gender;
//练习2、定义变量存储某个老师的姓名,年龄,性别,定义变量存储某个学生的姓名,年龄,c语言分数,性别。
char teacherName='L',studentName='Z';
char genderTeacher='M',genderStudent='F';
int ageStudent=21;
c_score=87;
printf("\n老师的名字:%c,性别:%c",teacherName,genderTeacher);
printf("\n学生的名字:%c,性别:%c,年龄:%d,c语言分数:%f\n",studentName,genderStudent,ageStudent,c_score);
printf("\n");
//加法运算
int a=3,b=4;
int c=0;
c=a+b;
printf("c=%d\n",c);
printf("\n");
//减法运算
int sub=0;
sub=a-b;
printf("sub=%d\n\n",sub);
//乘法运算
int multi=0;
multi=a*b;
printf("multi=%d\n\n",multi);
//除法运算
b=2;
int div=0;
if(b==0)
printf("除数不能为零。\n");
else{
div=a/b;
printf("div=%d\n\n",div);
}
float e1=4.0,e2=2.0;
float e3=e1/e2;
printf("e3=%f\n\n",e3);
float mod0=0;
printf("mod0=%f\n\n",mod0);
//取余
//两边都必须是整型
int mod=0;
mod=a%b;
printf("mod=%d\n\n",mod);
//自增自减
int count=3;
int sum1=count++; //++在后,先自身加后使用
//sum1=count; =3
//count=count+1; =4
int sum2=++count; //++在前,先使用再自身加
//sum2=count+1; =5
//count=count; =5
printf("sum1=%d,sum2=%d,count=%d\n\n",sum1,sum2,count);
int sub1=count--;
//sub1=count; =5
//count=count-1; =4;
int sub2=--count;
//sub2=count-1; =3
//count=count; =3
printf("sub1=%d,sub2=%d,count=%d\n\n",sub1,sub2,count);
printf("count=%d\n",count--);//还是3
//打印完后,count已经变成2了
printf("count=%d\n\n",--count);//此时的count已经为2-1=1了
//算术运算
//+=
int w1=0;
w1+=3;
int w2=4;
int w3 = w1+=w2; // w1=w1+w2;w3=w1;
printf("w1=%d,w3=%d\n\n",w1,w3);
//-=
int num1=9;
int num2=5;
num1-=num2;//num1=num1-num2;num2=num1;
printf("num1=%d,num2=%d\n",num1,num2);
printf("num1=%d\n\n",num1-=num2);
//*=
int multi1=4;
int multi2=9;
int multi3 = multi1*=multi2;//multi1=multi1*multi2;
//multi3=multi1;
printf("multi3=%d\n\n",multi3*=multi1);
//要注意,此时的multi1也已经改变了,multi1=multi3;一定要注意再注意
// /=
int div1=36;
int div2=3 ;
int div3 = div1/=div2;
//div1=div1/div2; =12
//div3=div1; =12
printf("div3=%d\n",div3);
//div3=div3/div2; =12/3=4
printf("div3=%d\n\n",div3/=div2);
// %= 两边都必须是整数
int mod1=48;
int mod2=13;
int mod3 = mod1%mod2;//mod1=mod1%mod2; =9
//mod3=mod1; =9
printf("mod3=%d\n",mod3); // =9
// mod1=mod1%mod3; =0 mod3=mod3%4; =2
printf("mod1=%d,mod3=%d\n\n",mod1%=mod3,mod3%=4);
//表达式:1、常量、变量、运算符组成。
// 2、表达式是有返回值的。
//语法:是程序执行的最小单位,以;结尾。
int aa=5;//是语法,因为有分号
// aa+3;//是语法也是表达式
aa=1;//表达式aa变量,=运算符,1常量 三部分组成,不能有多余的其他东西。
int bb= aa+=6;
printf("aa=%d,bb=%d\n\n",aa,bb);
//输出函数 printf
//函数格式:printf("控制输出格式",表达式1,表达式2);
//1、普通字符串输出
printf("BJS150730-39-Bella\n");
//2、输出变量的值,格式字符串由普通字符和转换符组成
int number=100;
float number11=100.00f;
double number12=100.00;
printf("number=%d\n,number11=%.1f\n,number12=%f\n\n",number,number11,number12);
// #waring 四舍五入问题
double hehe=3.335566;
printf("hehe=%f\n",hehe);
printf("hehe=%.3f\n",hehe);
hehe=3.335500;
printf("hehe=%.3f\n",hehe);
hehe=3.3355;
printf("hehe=%.3f\n",hehe);
hehe=3.0055;
printf("hehe=%.3f\n",hehe);
hehe=3.5385;
printf("hehe=%.3f\n",hehe);
hehe=3.53850;
printf("hehe=%.3f\n",hehe);
hehe=3.53851;
printf("hehe=%.3f\n",hehe);
//输入函数 scanf
//一定要注意,在scanf中除了格式化的短语之外,
//如果你输入了其他一些字符的话,就必须原样输入,比如逗号,回车符等
int ss = 0;
printf("1、ss=%d\n",ss);
printf("请输入一个整数:\n");
scanf("%d",&ss);
printf("2、值ss=%d\n",ss);
printf("3、地址ss=%p\n\n",&ss);
printf("再输入一个数给ss:\n");
//包含了回车符
scanf("%d\n",&ss);
printf("ss=%d\n",ss);
//输出%
float mm=0.4;
printf("今天股票涨了%.2f%%\n\n",mm);
//很奇怪,有数字和字符型类型的变量空格输入问题-----有些电脑会有问题,有些是没问题的
int f=0,h=0;
char d;
printf("请输入f,h,d:\n");
scanf("%d %d %c",&f,&h,&d);
printf("f=%d,h=%d,d=%c\n",f,h,d);
printf("请输入f,h,d:\n");
//如果输入的时候,在%c之前有空格的话,d读取的就是空格
scanf("%d%d%c",&f,&h,&d);
printf("f=%d\n",f);
printf("h=%d\n",h);
printf("d=%c\n",d);
return 0;//因为函数中带有返回类型,所以必须有return一个返回值
//也可以理解为一个程序的出口
}