首页 最新(考研复试)C语言笔记

最新(考研复试)C语言笔记

举报
开通vip

最新(考研复试)C语言笔记1:用高级语言编写的程序叫做源程序,然后用编译程序吧源程序翻译成二进制的目标程序,然后将该目标程序与系统函数库以及其他目标程序连接,形成可执行程序。2:算法五个特点:确定性,有穷性,输入,输出,可行性。3:程序流程图、N-S盒图、伪代码TOC\o"1-5"\h\z4:int无论有符号无符号,都是16位Short无论是有符号还是无符号都是16位Long无论是有符号还是无符号都是32位Float32位double64位,longdouble128位。一个整型常量后面加u就是无符号,加I就是长整型5:\t,\b退格...

最新(考研复试)C语言笔记
1:用高级语言编写的程序叫做源程序,然后用编译程序吧源程序翻译成二进制的目标程序,然后将该目标程序与系统函数库以及其他目标程序连接,形成可执行程序。2:算法五个特点:确定性,有穷性,输入,输出,可行性。3:程序 流程 快递问题件怎么处理流程河南自建厂房流程下载关于规范招聘需求审批流程制作流程表下载邮件下载流程设计 图、N-S盒图、伪代码TOC\o"1-5"\h\z4:int无论有符号无符号,都是16位Short无论是有符号还是无符号都是16位Long无论是有符号还是无符号都是32位Float32位double64位,longdouble128位。一个整型常量后面加u就是无符号,加I就是长整型5:\t,\b退格,\r移到本行开头6:‘0'48,‘A65,‘a'97,差值327:级另Ucharvintvunsignedvlongvdouble&(int)x+y只是int化x;9:i+++j(i++)+j10.1:float32位,24位表示小数部分(其中包括了符号位),8位表示指数部分。11:字符给整形赋值,如果是无符号字符型,赋值给整形就是占据整形低8位,高8位补0,如果是有符号字符型,如果是负号就补1,正好补0;12:intshortlong给char就是把低8位给char13:整形给long,同char给int一样,14:putchar()Getchar()Puts(),gets()Printf(“%md,d)%d,%c,%f,%ld,%o,%x,%u,%s%啲勺原意是,按十进制整形数据输出M表示输出字段的宽度,数字靠右拜访。如果数字太大,就输出数字,不管m.Printf(“%m.n€,d)输出占m列,靠右端,只取字符串中的前n个字符,如果n大于m,则不管mPrintf(“%-m.ns”,d)输出占m列,靠左端Printf(“%m.nf”,d)%f输出实数,包括单精度和双精度,只能输出六位小数输出n位小数Printf(“%m.ne,d)N指的是输出小数的位数,Scanf输入整形,分割可以用回车或者tab或者空格但是不能用逗号Scanf(“%3d%3d,&a,&b)输入123456.系统自动把123赋值给a,456赋值给b;同理,如果系统输入abc三个字符,但是ch只能容纳一个,就吧a给ch,bc给后面的。Scanf“*%3d‘)表示读入三位整数,但是不赋值。,Scanf的字符串中,除了格式说明符以外还有其他的字符,输入的时候要在对应位输入这些字符。Scanf(“%c%c%”,&c1&c2&c3)输入的abc,不应该是有空格的、Scanf(“%s%s%”,str1,str2,str3);Scanf输入多个字符串的时候,用空格分隔15:大小于的优先级高于等于。16:优先级由低到高:赋值运算符,与和或,大小于,算术运算,非。17:break是跳出循环,continue是跳出本次循环,18:inta[3][4]={{1},{5},{9}},每行自补019:strcat(s1,s2)把s2连接到s1。Strcpy(s1,s2)把s2复试到s1中,覆盖s1.注意这个复制的时候‘\0'也复制进去Strncpy(s1,s2,n)把s2的前n个字符复试到s1中Strlwr大写转小写strupr小写转大写20:数组做形参的时候,大小可以不指定,其实本质上还是把首地址给参数传递了21:多维数组做函数参数,可以且只能省略第一维的大小。22:register变量,只有局部变量和形式参数可以作为寄存器变量,寄存器数目有限的,局部静态变量不能,局部静态变量不能为寄存器变量23:外部变量跨文件使用的 方法 快递客服问题件处理详细方法山木方法pdf计算方法pdf华与华方法下载八字理论方法下载 是,在文件1中函数外定义外部变量intA;在文件2中函数外声明externA24:实际上,编译器遇到extern的时候,现在本文件找外部变量的定义,如果找到,就在本文件中扩展作用于,如果找不到,就在连接时从其他文件中找外部变量的定义,然后作用域就是跨文件的。25:在文件中函数外部定义的变量,如果是一般的定义,intA,其他文件可以通过extern来引用这个变量,但是如果定义staticintA,则其他文件无法通过extern来引用。26:如果外部变量不在文件开头定义,则有效范围只在定义处到文件结束,如果定义之前的函数要引用外部变量,就要用extern声明。,如果外部变量定义在函数之前,就没有必要extern了、通常人们喜欢吧变量和函数的extern声明放在一个单独的文件中,即头文件。声明:externintA,B定义:intA=13,B=8;27:局部变量:自动,静态局部变量,寄存器。全局变量:静态外部变量,外部变量动态存储:自动,寄存器,形参静态存储:静态局部,静态外部,外部变量静态存储区:静态局部变量,静态外部变量,外部变量、动态存储区:自动,形参寄存区存储区:寄存器。28:声明与定义,声明就是inta,。声明有两种,一种是inta是分配存储空间的,叫定义性声明(简称定义),一种是externa是不分配存储空间的,叫引用性声明,所以,声明包含定义,定义是分配存储空间的声明。外部变量的定义只能有一次,它的位置在所有函数之外,而同一文件中的外部变量的声明可以有很多次,它的位置可以任意。系统根据外部变量的定义来分配存储空间,对外部变量的初始化只能在定义时进行,外部变量的声明,其作用是声明该变量是一个已在后面已定义的外部变量,仅仅是为了扩展该变量的作用范围。Static也是一个声明的符号,但是必须加上变量类型。29:define后面不要加;30:(*a)++不等于*a++,*a++等价于*(a++)31:数组名a代表数组首元素地址,是一个指针常量,在运行期间固定不变,所以a是常量,a++无法实现。但是,实参数组代表一个固定的地址,可是形参不是一个固定的地址值,而是一个指针变量,可以再被赋值。27:二维数组的指针中,取值的只有,*(a[1]+2)*(*(a+1)+2),a[1][2]32:chara[];A=”Ilove”错误char*a;a=”1LOVE”对即,数组可以再定义的时候赋值,不能再赋值语句中赋值。同样,这里的数组名也是不能改变的。但是用指针定义的数组就可以。33:int(*p)(intint)指向函数的指针Int*p(intint)返回值的指针的函数int(*p)[4],表示一个指向4个整型数组的指针int*p[4],表示一个含有4个整型指针的数组34:对于指向函数的指针,p++等无意义35:指向指针的指针。Char*name={,,,};Char**p;P=name+I;Printf(*p)36:p1指向a[1],p2指向a[3],p2-p仁2,但是p1+p2无意义。37:structstudent{intnum;Charc;}stu[3]={{1,'c'},{2,'c'},{3,'c'}}38:(*p).num等价于p->num39:结构体在定义的时候,不能studentl,j,k;应该Structstudentl,j,k;40:void*malloc(intsize)41:共用体所占内存等于最长成员的长度。42:枚举类型:Enumweekday{sum,mon,tue,wed,thu,fti,stu}EnumweekdayI,j,k;定义时候自动赋值0-6;printf(“%c”,sum)输出0也可以强制赋值Enumweekday{sum=7,mon,tue,wed,thu,fti,stu}则mon自动为8,tue自动为9但是一个整数不能在定义外直接赋值枚举,i=7;是错的,应该要i=(enumweekday)2,相当于i=tue;43:typedefstruct{intI,intj,intk}NUMNUMsum即可,不用structTypedefintNUM[100];意思是NUM表示一个长度为100的整形数组,到时候NUMn就表示,n为一个长度为100的整型数组。Typedefint*NUM;意思是NUM表示一个整形指针,到时候NUMh,就表示,n为一个整型指针。NUMa[10]表示a为一个整形指针数组。Typedefint(*NUM();意思是NUM表示一个指向函数指针,至U时候NUMn就表示,n为一个指向函数指针。44:位与,可以清零,可以取中间某位,45:异或:特定位翻转(即与11111111异或),保留原值(即与00000000异或),交换两个值不用临时变量A=aAb;b=bAa;a=aAb;46:右移特殊,如果为无符号,就左边补0,如果有,就正数补0,负数补1;47:位段:Structak{unsigneda:2;(必须是unsigned)Unsignedb:3;Unsignedc:4;Into;Unsignedd:5;Unsigned:0;Unsignede:6;IntI;}Structakdata;一个abc占9位,那个i从第三个字节开始算,d占5位,但是Unsigned:0;表示下一个位段从下一个单元开始放,e占6位,从下一个单元开始放i;所以data一共占用8个字节如果赋值data.a=9;就会自动把8的低2位给data.a,a里面就是01,再Printf(“%d,data.a)输出148:输入一个字符串的时候,用回车结束,但是这个回车也会被接受,要用一个getchar来收下回车符,比如Scanf(“%S‘filename)Ch=getchar();49:fp=fopen(“a1”,”r”)打开失败则返回NULLfclose(fp);成功返回0,失败返回EOFfputc(ch,fp)把字符ch写到fp中,失败返回EOFch=fgetc(fp)从指定文件读入一个字符,失败返回EOFfeof(fp)判断文件是否结束,fread(buffer,size,count,fp)从buffer数组中读入count个数字进fp文件中,size表示数组中每个元素占字节数。fwrite(buffer,size,count,fp)fprintf(fp,”%cT,d)把整型变量d输出到fp文件中fprintf(fp,”%cT,&d),从磁盘文件中读入一个整形putw(10,fp)把整数10输出到fp中i=getw(fp)fgets(str,n,fp)从fp文件中读n-1个字符,放入str中fputs(str,fp)把str放到fp中rewind(fp),是fp回到文件开头fseek(fp,100,1)从fp文件当前位置开始,往后移100个字节。0表示文件开始,2表示文件末尾i=ftell(fp),i为文件当前对文件开头的偏移量、50:r只读w只写a追加Rb只读(打开的是二进制文本)wb只写ab追加R+,w+,a+都是读写,但是r+需要该文件已经存在,w+的时候会新建一个文件,a+打开后指针在文件末尾51:find是标识变量。52:定义一个指针数组,并分别存入四个字符串的首地址。53:*(a+i)表示a[i]或者数组a的第i个元素。50:a表示二维数组首地址,a[0]表示第0行首地址,a[0][0]表示第0行第0列数组元素。54:sqrt返回的数据类型是double55:while(K=0)循环体一次也不执行56:c语言的编译系统对宏的处理是在源程序中其它正式编译之前进行。57:charstr[]=”ABC,*p=str;P=p+3;Printf(“%d,strlen(strcpy(p,”ABCD)));答案是4;58:u(u=(a>b)?a:b)>c)?u:c59:printf(“%d,y=y/x);输出的是运算后的y的值60:argc是命令行参数的个数。61:以0开头的都是8进制,比如intx=010,就是x=8;62:返回值为char的函数,return0是可以的63:strlen中,\t\b等都按一个字符算。64:构建杨辉三角:voidyh(inta[18][18]){intj,k;for(j=1;j<18;j++){a[j][1]=1;a[j][j]=1;;}for(j=3;j<18;j++){for(k=2;k0)?f:n;答案无论是n>0还是n<=0,都是float类型的5;80:优先级::括号取值运算符(2):—元运算符(右结合)(3)算术运算符(4)移位(5)大小于(6)等于不等于(7)位运算:与>异或〉或(8)逻辑运算:与>或(9)问号(右结合)(10)+=,|=。。。其中算术运算高于位预算(右结合)(12)逗号81:{}括起来的叫程序块,其后不需要分号。82:else默认和最近的一个if匹配,但是可以用{}打乱匹配。If(){if()}Else83:字符串转整数N=0;While(s[i]!='\0'){N=10*n+(s[i]-‘0');}Returnn;84:把数组n转化为字符串,S[i++]=n%10+'0';85:dowhile循环体至少被执行一次。86:goto语句用于深度循环的跳出。87:函数与主函数在同一个源文件,若函数声明与后面定义的返回值不一类型,就会检测出错误,但是如果不在同一个源文件,就不会检测错误。88:外部变量的好处就是在函数之间提供一种代替函数参数与返回值的数据交换,但是这样容易破坏函数之间的独立性。如果两个函数必须共享数据但是互不调用对方,这种情况下最好用外部变量。比如栈和队列。89:计算器的时候,/和-的左右字符串必须加以区别。90:计算器中,输入一个数字,比如123.456,但是输入2的时候,2想知道下一个是数字还是操作符,如果是数字,则把1和2还有3都放入字符串中,如果是操作符,就把s[i]中的1,2变成数字赋值,那么这就需要一个预输入的操作,判断下一个输入的是数字还是操作符,用缓冲区思想可以解决。取数 规则 编码规则下载淘宝规则下载天猫规则下载麻将竞赛规则pdf麻将竞赛规则pdf :如果缓冲区中有货,就从缓冲区中取,如果没,就调用输入函数。如果预读入的是一个字符,就放进缓冲区。读入123.456的6,看到下一个读入的是+号,就把+号放进缓冲区,把123.456给化成数字然后复制,然后下一次取值就从缓冲区中取出+号。91:.c文件里面是完整的源文件,.h是把诸多个.c文件的共享部分集中在一起。#undefgetchar取消getchar的宏定义、92:条件编译:一般来说源文件中所有行都参加编译,但是希望一部分代码在满足条件时候再编译,于是有了条件编译#ifdef#else#endif采用条件编译,可以减少被编译的语句,减少目标程序的长度。93:Char*psizeof(p)=4;Chara[100]sizeof(a)=400;Chars1[]={'A','B',C,'D','E','F'};sizeof(s1)=6chars2[]="ABCDEF";sizeof(s2)=7;
本文档为【最新(考研复试)C语言笔记】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_808969
暂无简介~
格式:doc
大小:23KB
软件:Word
页数:18
分类:
上传时间:2019-09-18
浏览量:3