C语言全部知识点复习资料_第1页
C语言全部知识点复习资料_第2页
C语言全部知识点复习资料_第3页
C语言全部知识点复习资料_第4页
C语言全部知识点复习资料_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

C程序中基本的控制结构是三种:读程序都要从main()入口,然后从最上面顺序往下读(碰到循环做循环,碰到选择做选mainbit01byte编译预处理不是C语言的一部分,不占运行时间,不要加分号(常考#definePI3.1415926; 每个Cmain)一个Cmain关键字(P259maindefinescanfprintf预定义标识符definescanfprintfinclude。记住预定义标识符可以做为用户整型常量:CC0x。如:1.0在C1,0.1在C1。科学计数法的合法形式:考试口诀:ee,e如:2.333e-12.333×10-1。'1',"1"'0'的ASCII数值表示为48,'a'的ASCII数值是97,'A'的ASCII数值是65。 大写字母和小写字母转换的方法:'A'+32='a' 一般转义字符:背诵\0、\n、\’、\”、\\。八进制转义字符:‘\141’0十六进制转义字符:’\x6d’0xchara=65printf(“%c”,a);得到的输出结果:aprintf(“%d”,a);得到的输出结果表达式:用于运算。核心:常考:考试一定要注意:“/”两边都是整型的话,结果就是一个整型。3/21.3/2.00.5a=b=55。注意:int 错啦,定义时,不可以连续赋值int 复合的赋值表达式:+=、-=、*=、/=、%=等的含义。inta=2; a*=2+3;运行完成后,a的值是10。6,5z=(2,3,4)(整个是赋值表达式)这个时候z的值为4(有点难度哦) 2,3,4(整个是逗号表达式)这个时候z的值为2。9>89>817<67<60bintx=1,y=0,z=2;1<00,0<21,成为了真的了! !三种逻辑运算符号 注意短路现象。如:x&&yx0y;x||yxyx010:0<x<10(0<x)&&(x<10)(例1: chara=6,b;b=a<<2;这种题目的计算是先要把a的十进制6化成二进制,再做位运算。例2: 一定要记住,异或的位运算符号”^”。011000。两个女的生不出来。例 (int)a不是int(a(int(a+b)d)三种取整丢小数的情况:inta=1.6;(int)a; 1/2;3/2;2)printfprintf(“第一部分”,第二部分;把第二部分的变量、表达式、常量以第一部分printf(“a=%d,b=%d”,12,34)一模一样。在黑色屏幕上面显示为a=12,b=34printf(“a=%d,\nb=%d”,12,34)那么输出的结果就是intx=017; printf(“%d”,x;15x;printf(%#o”x;printf(“%x”,x;11printf(“%#x”,x;格式说明表示内 格式说明表示内 字符 长整型long 浮点型float 八进 带前导的八进 printf(“%2d”,123;printf(“%5d”,123;第二部分有三位,小于指定的五位,左边补两个空格printf(“%10f”,1.25601.250000printf(“%5.3f”,1251.250(小数点算一位)printf(“%3.1f”,1.251.31)scanf(“a=%d,b=%d”,&a,&b)考试超级重点一定要记住是以第一部分的格式在终端输入数据。 a=12b=342)scanf(“%d,%d”,x,y;这种写法绝对错误,scanf的第二个部分一定要是地址!scanf(“%d,%d”,&x,&y;例如:intx=2;int*p=&x;scanf(“%d”,x; dscanf(“%d”,&p;错误 终端输入scanf(“%d%4d%dx,y,z;x终端输入:1234567 由于1和2中间有空格,所以只有1位给xscanf(“%2d%4d%d”,&x,&y,&z;x为1,y为2345,z为67注意该函数的第二个部分是&aa;scanf(“%d%d%*d%d”,&a,&b,&c);b)putchar,getchar agetchar()a。putchar(‘y’yx,y(要求背下来)不可以把x=y,y=x;要用中间变量t=x;x=y;y=t;ifC1)elseifelse2)if(a<b)t=a;a=b;b=t;3)单独的ifif(a<b)t=a;标准的if语句:if(a<b)min=a;else 嵌套的if语句:if(a<b)ifif(a==t)printf(“a”);elseif(b==t)printf(“b”);elseif(c==t)printf(“c”);elsepritnf(“d”); 表达式1?表达式2:表达式3intk=a>b?c:d>e?d:e;求k的数值是多少? 5)switch语句:a)breakswiche {case1:…. case2:….}a)for();while(); do-while()三种。do-while()循环的while();的分号(当心上机改错,do-whilebreak和continuebreak:(破了整个循环)break(g)while(c=getchar())!=’\n’)和while(c=getchar()!=’\n’)的差别先看a=3!=2 和(a=3!=2的区别:(!=3!=2)a1a3。{printf(“%d”,i//如果i1}如何整除一个数: j)123321inta=123; k)forinti=3;for(i=3;i<6;i++)不停的输入,直到输入#停止输入! while((x=getchar())!=’#’) while((x=getchar())!=’$’)函数名缺省返回值类型int如何判断a是否为素数:背诵这个程序! isprime(inta) if(a%i==0)printf(}如何求阶层:n!intfun(intn) intp=1;for(i=1;i<=n;i++)p=p*i;returnp;}intadd(intx,inty){returnx+y;}{intsum=add(add(7,8,9; sum}(考试的重点)intfun(inta[],intb[]){}intfun(int*a,int*b; intfun(inta[],intb[]; intfun(intb[],intc[]; intfun(int*,int*; 以下这些库函数经常考到,所以要背诵下来:abs()sqrt()、fabs()、pow()、1)定义 *p;后,表达式中*p和p的差别:简单说*p是数值,p是地址:scanf(“%d”,p2)*p++和(*p)++的之间的差别:改错题目中很重要!考试超级重点*p++是地址会变化 (*p)1。例题:int*p,a[]={1,3,5,7,9};*p++:13(*p)112。(char*s=“meikanshu”while(*s{printf(“%c”,*ss++;}方法一:inta=2,*p=&a;(定义的同时初始化)方法二:inta=2,*p; voidfun(inta,int voidfun(int*a,int{intt {intt {intx=1,y=3, {intx=1,y=3,fun(x,y; printf(“%d,%d”,x,y; printf(“%d,%d”,x,y 这个题目答案是1和3 传数值,fun是用变量接受,所以fun中 传地址,fun用指针接受!这个时候fun的交换不会影响到main中的x和y。 中的交换,就会影响到main中的x和y。传数值,形参的变化不会影响实参 int*fun(int*a,int {if(*a>*b)returna; returnaaelsereturnb;}{intmax=fun(&x,&y; printf(“%d”,*max;}替。例如:inta=2,*p=&a;inta[5]={1,2,3,4,5};inta[5]={1,2,3, int inta[5]={1,2,3,4,5,6inta[5];注意这个地方有一个重要考点,定义时数组的个数不是变量一定是常量。inta[5]; inta[1+1] inta[1/2+4] intx=5,inta[x]; #defineN5inta[N]; 合法,defineNint inta[2][3]={1,2,3,4,5 inta[2][3]={{1,2,3} int inta[2][3]={1,2,3,4,5,6,7}; inta[][3]={1,2,3,4,5,6}; inta[2][]={1,2,3,4,5,6}; a[0]+1,a[1]+1,a[2]+1字符串的strlen()和strcat()strcmp()strcpy()的使用方法一定要记住strcpy()strcmp()有两个参数。strlensizeof f(x(x)*(x)和#define f(x)x*x之间的差别。一定要好好的注 p=(int*)malloc(4*)malloc(sizeof(int当心填空题目,mallocvoid*8)scanf和gets如果输入的 scanf(“%s”,a);只会接收good.考点:不可以接收空格。gets(a);会接收goodgoodstudy!考点:可以接收空格。 {add(29,{add(29,}intadd(inta,int{return}no2.cadd()了。main这句话错了。例如:o1.ccharch[]=”iamhandsome”; char*p=ch;问你*(p+2)和*p+2 ‘k’结果是这两个。int

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论