ImageVerifierCode 换一换
格式:DOC , 页数:16 ,大小:32KB ,
资源ID:4510542      下载积分:5 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4510542.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文((考研复试)C语言笔记.doc)为本站上传会员【二***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

(考研复试)C语言笔记.doc

1、1:用高级语言编写的程序叫做源程序,然后用编译程序吧源程序翻译成二进制的目标程序,然后将该目标程序与系统函数库以及其他目标程序连接,形成可执行程序。 2:算法五个特点:确定性,有穷性,输入,输出,可行性。 3:程序流程图、N-S盒图、伪代码 4:int 无论有符号无符号,都是16位 Short 无论是有符号还是无符号都是16位 Long 无论是有符号还是无符号都是32位 Float 32位 double 64位,long double 128位。 一个整型常量后面加u就是无符号,加l就是长整型 5:\t,\b退格,\r移到本行开头 6:‘0’48,‘A’

2、65,‘a’97,差值32 7:级别char

3、ts() Printf(“%md”,d) %d,%c,%f,%ld,%o,%x,%u,%s %d的原意是,按十进制整形数据输出 M表示输出字段的宽度,数字靠右拜访。如果数字太大,就输出数字,不管m. Printf(“%m.ns”,d) 输出占m列,靠右端,只取字符串中的前n个字符,如果n大于m,则不管m Printf(“%-m.ns”,d) 输出占m列,靠左端 Printf(“%m.nf”,d) %f输出实数,包括单精度和双精度,只能输出六位小数, 输出n位小数 Printf(“%m.ne”,d) N指的是输出小数的位数, Scanf输入整形,分割可以用回车或者tab

4、或者空格但是不能用逗号 Scanf(“%3d%3d”,&a,&b)输入123456. 系统自动把123赋值给a,456赋值给b;同理,如果系统输入abc三个字符,但是ch只能容纳一个,就吧a给ch,bc给后面的。 Scanf(“*%3d”)表示读入三位整数,但是不赋值。, Scanf的字符串中,除了格式说明符以外还有其他的字符,输入的时候要在对应位输入这些字符。 Scanf(“%c%c%c”,&c1&c2&c3) 输入的abc,不应该是有空格的、 Scanf(“%s%s%s”,str1,str2,str3); Scanf输入多个字符串的时候,用空格分隔 15:大小于的优先级高于

5、等于。 16:优先级由低到高:赋值运算符,与和或,大小于,算术运算,非。 17:break是跳出循环,continue是跳出本次循环, 18:int a[3][4]={{1},{5},{9}},每行自补0 19:strcat(s1,s2)把s2连接到s1。 Strcpy(s1,s2)把s2复试到s1中,覆盖s1.注意这个复制的时候‘\0’也复制进去 Strncpy(s1,s2,n)把s2的前n个字符复试到s1中 Strlwr 大写转小写 strupr 小写转大写 20:数组做形参的时候,大小可以不指定,其实本质上还是把首地址给参数传递了 21:多维数组做函数参数,可以

6、且只能省略第一维的大小。 22:register变量,只有局部变量和形式参数可以作为寄存器变量,寄存器数目有限的,局部静态变量不能,局部静态变量不能为寄存器变量 23:外部变量跨文件使用的方法是,在文件1中函数外定义外部变量 int A;在文件2中函数外声明 extern A 24:实际上,编译器遇到extern的时候,现在本文件找外部变量的定义,如果找到,就在本文件中扩展 作用于,如果找不到,就在连接时从其他文件中找外部变量的定义,然后作用域就是跨文件的。 25:在文件中函数外部定义的变量,如果是一般的定义,int A,其他文件可以通过extern来引用这个变量,但是如果定义 sta

7、tic int A,则其他文件无法通过extern来引用。 26:如果外部变量不在文件开头定义,则有效范围只在定义处到文件结束,如果定义之前的函数要引用外部变量,就要用extern声明。,如果外部变量定义在函数之前,就没有必要extern了、通常人们喜欢吧变量和函数的extern声明放在一个单独的文件中,即头文件。 声明:extern int A,B 定义:int A=13,B=8; 27:局部变量:自动,静态局部变量,寄存器。 全局变量:静态外部变量,外部变量 动态存储:自动,寄存器,形参 静态存储:静态局部,静态外部,外部变量 静态存储区:静态局部变量,静

8、态外部变量,外部变量、 动态存储区:自动,形参 寄存区存储区:寄存器。 28:声明与定义,声明就是 int a,。 声明有两种,一种是int a是分配存储空间的,叫定义性声明(简称定义),一种是extern a 是不分配存储空间的, 叫引用性声明,所以,声明包含定义,定义是分配存储空间的声明。 外部变量的定义只能有一次,它的位置在所有函数之外,而同一文件中的外部变量的声明可以有很多次,它的位置可以任意。系统根据外部变量的定义来分配存储空间,对外部变量的初始化只能在定义时进行,外部变量的声明,其作用是声明该变量是一个已在后面已定义的外部变量,仅仅是为了扩展该变量的作用范围。Stati

9、c 也是一个声明的符号,但是必须加上变量类型。 29:define 后面不要加; 30:(*a)++不等于*a++,*a++等价于*(a++) 31:数组名a代表数组首元素地址,是一个指针常量,在运行期间固定不变,所以a是常量,a++无法实现。但是,实参数组代表一个固定的地址,可是形参不是一个固定的地址值,而是一个指针变量,可以再被赋值。 27:二维数组的指针中,取值的只有,*(a[1]+2) *(*(a+1)+2),a[1][2] 32:char a[]; A=”I love”错误 char *a; a=”I LOVE”对 即,数组可以再定义的时候赋值,不能再赋值语句中赋

10、值。同样,这里的数组名也是不能改变的。但是用指针定义的数组就可以。 33:int (*p)(int int )指向函数的指针 Int *p (int int )返回值的指针的函数 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-p1=2,但是p1+p2无意义。 37:struct st

11、udent {int num; Char c; }stu[3]={{1,’c’},{2,’c’},{3,’c’}} 38:(*p).num等价于 p->num 39:结构体在定义的时候,不能student I,j,k;应该 Struct student I,j,k; 40:void *malloc(int size) 41:共用体所占内存等于最长成员的长度。 42:枚举类型: Enum weekday{sum,mon,tue,wed,thu,fti,stu} Enum weekday I,j,k; 定义时候自动赋值0-6;printf(“%d”,sum) 输出0 也

12、可以强制赋值 Enum weekday{sum=7,mon,tue,wed,thu,fti,stu} 则mon自动为8,tue自动为9 但是一个整数不能在定义外直接赋值枚举, i=7;是错的,应该要i=(enum weekday)2,相当于i=tue; 43:typedef struct {int I,int j,int k}NUM NUM sum;即可,不用struct Typedef int NUM[100];意思是 NUM表示一个长度为100的整形数组, 到时候NUM n,就表示,n为一个长度为100的整型数组。 Typedef int *NUM;意思是 NUM表示一个整

13、形指针, 到时候NUM n,就表示,n为一个整型指针。NUM a[10]表示 a为一个整形指针数组。 Typedef int (*NUM)();意思是 NUM表示一个指向函数指针, 到时候NUM n,就表示,n为一个指向函数指针。 44:位与,可以清零,可以取中间某位, 45:异或:特定位翻转(即与11111111异或), 保留原值(即与00000000异或), 交换两个值不用临时变量A=a^b;b=b^a;a=a^b; 46:右移特殊,如果为无符号,就左边补0,如果有,就正数补0,负数补1; 47:位段: Struct ak {u

14、nsigned a:2;(必须是unsigned) Unsigned b:3; Unsigned c:4; Int o; Unsigned d:5; Unsigned :0; Unsigned e:6; Int I;} Struct ak data; 一个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)输出1 48:输入一

15、个字符串的时候,用回车结束,但是这个回车也会被接受,要用一个getchar来收下回车符,比如 Scanf(“%s”,filename) Ch=getchar(); 49:fp=fopen(“a1”,”r”)打开失败则返回NULL fclose(fp);成功返回0,失败返回EOF fputc(ch,fp)把字符ch写到fp中,失败返回EOF ch=fgetc(fp)从指定文件读入一个字符,失败返回EOF feof(fp)判断文件是否结束, fread(buffer,size,count,fp)从buffer数组中读入count个数字进fp文件中,size表示数组中每个元

16、素占字节数。 fwrite(buffer,size,count,fp) fprintf(fp,”%d”,d)把整型变量d输出到fp文件中 fprintf(fp,”%d”,&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为文件当前对

17、文件开头的偏移量、 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返回的数据类型是double 55:while(K=0)循环体一次也不执行 56:c语言的编

18、译系统对宏的处理是在源程序中其它正式编译之前进行。 57:char str[]=”ABC”,*p=str; P=p+3; Printf(“%d”,strlen(strcpy(p,”ABCD”))); 答案是4; 58:u(u=(a>b)?a:b)>c)?u:c 59:printf(“%d”,y=y/x);输出的是运算后的y的值 60:argc是命令行参数的个数。 61:以0开头的都是8进制,比如int x=010,就是x=8; 62:返回值为char的函数,return 0是可以的 63:strlen中,\t \b \\等都按一个字符算。 64:构建

19、杨辉三角: void yh(int a[18][18]) { int j,k; for(j=1;j<18;j++) { a[j][1]=1; a[j][j]=1; ; } for(j=3;j<18;j++) { for(k=2;k

20、d”,k) } 答案是 85 66: static struct st1 { char name[10]; char *addr; }; static struct st2 { char *pname; struct st1 s1; }s2={"England",{"Ann","London"}}; void main() { printf("%s,%s\n",++s2.s1.addr,&s2.pname[3]); } S2.pname是一个指针,S2.pname[3]是一个字符,对此字符取地址,&S2.pname[3],以此地址开始输出字符串

21、 67:while(x) { T=x%10; X=x/10; Y=y*10+t; } Printf(“%d”,y) 实现把x逆序,比如x为3275,输出5723 68:宏定义之间可以互相调用。 69:C程序由变量和函数组成。 67:5*7/9和 5/9*7 是不一样的 70:c=getchar(),涉及到文件的时候,c最好用int定义,因为EOF的话,一个字节不够用。 71:多路判定 72:值传递的好处,参数看做是局部变量,因为局部变量便于初始化,因此,额外使用的变量更少。 73:不同枚举重的名字必须不相同,同一枚举重不同的名字可以具有相同的值。 74:枚

22、举相对于define语句来说,优势在于常量值可以自动生成,此外,可以用符号的形式打印出枚举变量的值。 75:变量用const限定符,则无法修改。 76:float不会自动转为double 77:sqrt的参数和返回值都是double。 78:算术移位:用符号位填充,逻辑移位:用0填充 79:a?b:c 此条件表达式也遵循类型转换,比如 Float f=5; Int n=5; (n>0)?f:n; 答案无论是n>0还是n<=0,都是float类型的5; 80:优先级: (1):括号 取值运算符 (2):一元运算符(右结合) (3)算术运算符 (4)移位

23、5)大小于 (6)等于不等于 (7)位运算:与>异或>或 (8)逻辑运算:与>或 (9)问号(右结合) (10)+=,|=。。。其中算术运算高于位预算(右结合) (12)逗号 81:{ }括起来的叫 程序块,其后不需要分号。 82:else默认和最近的一个if匹配,但是可以用{}打乱匹配。 If() { if() } Else 83:字符串转整数 N=0; While(s[i]!=’\0’) { N=10*n+(s[i]-‘0’); } Return n; 84:把数组n转化为字符串, S[i++]=n%10+’0’; 85:do whi

24、le循环体至少被执行一次。 86:goto语句用于深度循环的跳出。 87:函数与主函数在同一个源文件,若函数声明与后面定义的返回值不一类型,就会检测出错误,但是如果不在同一个源文件,就不会检测错误。 88:外部变量的好处就是在函数之间提供一种代替函数参数与返回值的数据交换,但是这样容易破坏函数之间的独立性。如果两个函数必须共享数据但是互不调用对方,这种情况下最好用外部变量。比如栈和队列。 89:计算器的时候,/和-的左右字符串必须加以区别。 90:计算器中,输入一个数字,比如123.456,但是输入2的时候,2想知道下一个是数字还是操作符,如果是数字,则把1和2还有3都放入字符串中,

25、如果是操作符,就把s[i]中的1,2变成数字赋值,那么这就需要一个预输入的操作,判断下一个输入的是数字还是操作符,用缓冲区思想可以解决。 取数规则:如果缓冲区中有货,就从缓冲区中取,如果没,就调用输入函数。如果预读入的是一个字符,就放进缓冲区。 读入123.456的6,看到下一个读入的是+号,就把+号放进缓冲区,把123.456给化成数字然后复制,然后下一次取值就从缓冲区中取出+号。 91:.c文件里面是完整的源文件,.h是把诸多个.c文件的共享部分集中在一起。 #undef getchar 取消getchar的宏定义、 92:条件编译:一般来说源文件中所有行都参加编译,但是希望一部分代码在满足条件时候再编译,于是有了条件编译 #ifdef #else #endif 采用条件编译,可以减少被编译的语句,减少目标程序的长度。 93: Char *p sizeof(p)=4; Char a[100] sizeof(a)=400; Char s1[]={'A','B','C','D','E','F'}; sizeof(s1)=6 char s2[]="ABCDEF"; sizeof(s2)=7;

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服