C笔记

^异或运算符,先转换为二进制,相同为0,不同为1

0 ^ 1 得 1 1 ^ 1 得 0 0 ^ 0 得 0 1 ^ 0 得 1

转换十进制,A*qn-1(A为数位的数,q为进制,n为第几个数)

十进制转换为q进制(处以q,余数倒过来写)

第一个数是0是二进制;0x开头是八进制;255=1111 1111

Bit字节二进制的每个位1Byte=8bit(8位二进制=一个字节)

C被称为中级语言

代码写在返回值return前面

“/”是转义字符

#include //数学公式

Ex开头错误1中文2括号

y++先使用再自增,++y先自增再使用

#define pi 3.141592657 没有“=”和“;”

%a.bf对于浮点数,a是整体缩进.占一位大于不起作用一般省略,b是小数个数,丢失高精度向低精度转换数据丢失

A+25是65,a+25是97,0是48

Scanf里面不能写输入“”以外的东西,要&

printf(“%c”,A+32);字母转换没’’

64位系统Int4个字节每个字节八位=32(系统位/16)位,范围:-2^32(4*8)~2^32-1,

Char1flaot4double8(个)字节,(二进制位)长度*8,long*2

64位系统int4字节,32位int2

字符常量用‘’,字符串常量用“”

取余%前后只能接整型,后面不能接0

‘\r’回车\n换行\t横向跳格\b退格\F走纸换页\\反斜杆\’单引号\”双引号\ddd1~3位八进制所代表的字符\xhh1~2位十六进制所代表的字符

Sizeof()查看所占字节数长度,为长整形%ld,自己转换类型

赋值:给予变量一个确定的值

强制转换要加括号

a[10]是0~9

S+=4+a

i++先使用再+1

回车按键也是字符,连续输入字符的时候要注意幻影回车符等加多个字符

Scanf要&,“”写什么就输入什么

¾整形取整,3.0/4.0浮点型有小数其中一个有小数就行

条件类型bool只有0不执行和非0执行

BOLL不能用浮点型(判断),浮点数是个不定值,数值会浮动

Bool要引用包括#define T/F  0/1

字符可以通过ASII码转换为整型

字符比较大小不要‘’跟数字一样

三目运输符a?b:c.a为非0则b,a为0则c

随机函数n=rand()%(Y-X+1)+X为X~Y的随机

自定义函数:定义intmax(inta,intb){ }声明int,max(inta,intb)调用c=max(a,b),调用内外不能int其余内外都要int

结构体定义structstu{inta;intb}(赋值boy1={“”,“”},boy2;或定义stu1)

While(){};。do{}while();里条件都不能定义条件要STATIC

宏#defines12*2与#defines2(2*2)不同a/2*2与a/(2*2)没有=没有;

Break跳出一个循环,但会执行语句。continue跳出本次循环,不执行本次接下来的语句,进入下一次循环。除swhitch没循环不能用

Continue和break可以用在循环语句和switch语句中,swtich不是循环语句

润年1.能被400整除2.能被4整除不能被100整除(每一百年少一个闰年)

函数:将具有独立功能的代码封装在一起,使它们有机的结合,能够实现特定的功能并且可以重复利用的代码集合,作用:把相对独立的某个功能提取出来,使之成为程序的一个独立实体,在同一个程序或其他程序中多次重复使用何时使用函数:

形参是实参的接口

变量、函数命名:字母+数字+下划线,不能是数字开头

函数类型是返回值类型,有返回值写返回值类型,有返回值必须写返回值类型

Charstr[8]0~7有八个字符,长度+1(’\0’结束标志长度)

C中数据越界,越界的为0;但是OC中会崩溃

求数组个数sizeof(a)/sizeof(int),数组a为整形,sizeof()为长整形

多维数组有大括号的,大括号里没大括号的数的数量要写清楚,系统不知道要补几个0

%s打印字符串数组,手动写’\0’或多加空间(系统帮你写’\0’),否则出错一般以倒着的问号结束

Chara[7]=“iphone”或{‘I’,’p’,’h’,’o’,’n’,’e’}多加空间

数组名表示首元素地址

结构体后要;,用.和->调用,结构体一般在main函数前定义,这时赋值加空格名

枚举enumweekday{mon,tue,wed,thu,fri=10,sat,sun}a,b;enumweekdayc=mon;

1.必须是int类型2.第一个默认0并且有序,有数的开始往后+1,3.常量4.逗号隔开5.一般选名字,选值时默认相同值的第一个

structperson p={"BoKan",19,"guangzhou"};

Inta(inta)//a为数组,数组不用写下标

字符串1.gets(a),puts(b)2.字符串拼接strcat(a,b)(拼接的要足够大)3.差值strcmp(a,b)4.strcpy(a,c)c给a

Float默认六个小数

连续输入

结构体:每次拿四个字节空间,每个元素不是四的倍数补齐,补齐的占而不用/某些对齐最长补齐最长

指针:1.*取地址的数据2.定义有*使用不用*3.指针后面只能放地址,指针名指向地址名inta=0,

int*p;p=&a间接取值;或*p=a;int*q=&a;直接取值

p是箭头指向的内存地址,*p是箭头指向的内存地址的内容,&p是p的内存地址,a是内容,&a是a的内存地址,除指针p外,&是取地址%p,*是取地址的值

编译时电脑把a[i]转换为*(a+i)处理,数组名a代表数组首元素地址,p+n指针向后偏移(移动单位),a+n是值a[n]的地址 

 指针数组是被指针指向的数组,数组指针是指向数组的指针,*与&一起用,*s指针类型8个字节,int*p=&a

Printf(“%s,%p”,p,p)不能是%c;*只能p=“iph\0nde”(定点结束)

不能*p={‘I’,’p’}

*p多用于指向字符串数组的指针,*p为指向字符串,要是数组就必须用二维数组,因为字符串是一个数组

重命名typedef前面给后面只能定义数据类型typedefinta;a的作用与int一样如:intb等同于ab;Static只能初始化一次就是类型不能变;#define用于定义变量后面给前面如:#definemax(a,b)(a>b)?a:b;constint*pi=3.14可以修饰指针常量int*constp=&a指针不能改变指向,

constint*p=&a,intconst*p=&a常量指针指向的内容不能变

数组中的指针voidbian(int*p,int*q);引用要&,bian(&a[i],&a[4-i]);

结构体指针:typedefstructpointapoint; apointa={97,65,48};structpoint *p=&a; printf("%d,%d,%d\n",p->age,a.id,(*p).ui);

p2=malloc(4);指针没指向才要,要是太小会补齐而且释放不了Free(p2);scanf("%d",p2);p2是地址不用&

指针的指针的指针*b=&a;**c=&b,***d=&c

函数指针int(*fun)(intx,inty)返回值类型(*指针名)(参数列表);fun=max;指针名=函数名;(*p)(x,y);

 listhead=(list)malloc(sizeof(list));第一个list是类型;(类型)*p=(类型sizeof(类型))

#typedefchar* p1;#definep2char*;P1s1,s2;

p2s3,s4=char*s3,s4;

把函数名变成指针名(*)

指针*与&一起用,int*p=&a,int是a的类型,*才是指针类型占8字节

指针常量,指向不能变;常量指针,指向常量的指针,内容不能变

共同体共用一个内存

数据储存结构:线性结构(链状)和非线性结构(离散形)(树形)

链表:逻辑连续,节点=元素=指针+数据,头节点数据为空null,头节点的指针指向首节点,首节点是第一个有效数据的开始,尾节点有数据没指针,指针类型为节点类型(节点结构体类型)

单链表:数据+指针,data+next

双链表:前驱+数据+后继,before+data+next

树形结构::前驱+数据+后继,before+data+next1+next2+nextn

网状结构:前驱+数据+后继,beforen+data+nextn

结构体调用“.”,结构体指针调用->

 structNode {intdata;structNode*Next;};

structNode*h=head;head->data取数据域上的数据;head->next取指针域上的指针;

插Node4:Node4->next=Node2;Node1->next=Node4; 

删除Node2:Node1->next=Node3;release Node2

单链表:逻辑连续

双链表

栈:LIFO(Last In First Out)后进先出

队列:在一端插入,在另一端删除FIFO

‘.h’是定义interface接口,’.m’是主函数implementation实现

定义在“.h”的@end前加{}写在里面

函数写在-(void)viewDidLoad的}前

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,793评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,567评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,342评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,825评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,814评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,680评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,033评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,687评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 42,175评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,668评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,775评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,419评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,020评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,206评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,092评论 2 351
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,510评论 2 343

推荐阅读更多精彩内容

  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 3,323评论 0 2
  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,423评论 3 44
  • 《季羡林:缺了它,你会一事无成》感悟清单 001.环境塑造人 季慕林先生虽天资聪颖,不费力气便能成绩上等,但是他少...
    白小白_d305阅读 163评论 0 0
  • 母亲等待我的到来,我会帮她修亮那盏灯,驱散慢慢长夜的黑暗,那么,我就是母亲的光明; 母亲等待我的到来,我会带她辨清...
    风起_8321阅读 186评论 0 1
  • 十六岁的夏天,应该是舒意人生的转折点。舒意的生活开始被厄运所眷顾。 那一年,舒意初三毕业,开始需要进入高中。舒...
    沐茶小野公举SUNNY阅读 168评论 0 3