欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOCX文档下载
    分享到微信 分享到微博 分享到QQ空间

    冲刺课复习.docx

    • 资源ID:14291271       资源大小:25.75KB        全文页数:21页
    • 资源格式: DOCX        下载积分:5金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要5金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    冲刺课复习.docx

    1、冲刺课复习冲刺课复习(一)、C语言部分1、C语言的基础知识1)合法的用户标识符考查: p10合法的要求是由字母,数字,下划线组成。有其它元素就错了。并且第一个必须为字母或则是下划线。第一个为数字就错了。 关键字不可以作为用户标识符号。2)实型数据的合法形式:p182.333e-1 就是合法的,且数据是2.33310-1。考试口诀:e前e后必有数,e后必为整数。.3)算术运算符号的优先级别: p20 同级别的有的是从左到右,有的是从右到左。4)强制类型转换: 一定是 (int)a 不是 int(a),注意类型上一定有括号的。 注意(int)(a+b) 和(int)a+b 的区别。 前是把a+b转

    2、型,后是把a转型再加b。5)表达式的考查:p20 是表达式就一定有数值。 赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。 自加、自减表达式:假设a=5,+a(是为6), a+(为5); 考试口诀:+在前先加后用,+在后先用后加。逗号表达式:优先级别最低 ; 表达式的数值逗号最右边的那个表达式的数值。 (2,3,4)的表达式的数值就是4。例题:p24main() int x,y,z;x=y=1; z=x+,y+,+y;printf(“%d,%d,%dn”,x,y,z);程序运行后的输出结果是A) 2,3,3 B) 2,3,2 C) 2,3,1 D) 2,2,16

    3、)字符数据的合法形式::p27 1 是字符占一个字节,1是字符串占两个字节(含有一个结束符号)。 0 的ASCII数值表示为48,a 的ASCII数值是97,A的ASCII数值是65。一般考试表示单个字符错误的形式:65 1字符是可以进行算术运算的,记住:0-0=48大写字母和小写字母转换的方法:A+32=a 相互之间一般是相差32。7) 整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:8)转义字符的考查: 在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在。 在程序中 int a = 062, 是一个八进制的形式。 018的数值是非法的,八

    4、进制是没有8的,逢8进1。 在转义字符中,x6d 才是合法的,0不能写,并且x是小写。 141 是合法的, 0是不能写的。 108是非法的,因为不可以出现8。 字符型和整数是近亲: char a = 65 ; printf(“%c”, a); 得到的输出结果:Aprintf(“%d”, a);得到的输出结果:659)位运算的考查: p29 总的处理方法:(先把十进制变成二进制再变成十进制)。 一定要记住,异或的位运算符号。考试记忆方法:一男(1)一女(0)才可以生个小孩(1)。 例:在没有舍去数据的时候,右移一位表示除以2。 %符号两边要求是整数。不是整数就错了。 三种取整丢小数的情况:1、i

    5、nt a =1.6; 2、(int)a; 3、1/2; 3/2;2、输入和输出1)printf函数的格式考查:p34 %d对应整型;%c对应字符;%f对应单精度等等。宽度的,左对齐等修饰。 %ld对应 long int;%lf 对应double。2)scanf函数的格式考察:p38 注意该函数的第二个部分是&a 这样的地址,不是a; scanf(“%d%d%*d%d”,&a,&b,&c); 跳过输入的第三个数据。P393)putchar ,getchar 函数的考查:P40 char a = getchar() 是没有参数的,从键盘得到你输入的一个字符给变量a。 putchar(y)把字符y输

    6、出到屏幕中。4)如何实现两个变量x ,y中数值的互换(要求背下来) 不可以把 x=y ,y=x; 要用中间变量 t=x;x=y;y=t。5)如何实现保留三位小数,第四位四舍五入的程序,(要求背下来)p21习题2注意 x = (int)x 这样是把小数部分去掉。 main() double hui;int xy; scanf(“%f”,&hui);scanf(“%d”,&xy); printf(“%f,%d”,hui,xy);如果从键盘上输入的数据的值是:23 回车 34.789回车,则最后的输出结果是: 3、选择结构 P43 特别要注意:c语言中是用非0表示逻辑真的,用0表示逻辑假的。1)关系

    7、表达式: 表达式的数值只能为1(表示为真),或0(表示假) 当关系的表达是为真的时候得到1。如 98这个是真的,所以表达式的数值就是1;2)逻辑表达式: 只能为1(表示为真),或0(表示假)a) 共有& | ! 三种逻辑运算符号。b) !&| 优先的级别。c) 注意短路现象。考试经常考到。P44 例2d) 要表示 x 是比0大,比10小的方法。用(0x)&(x10)表示。 0xbc)printf(%dn,d); else if(c-1=d)=1)printf(%dn,d+1); elseprintf(%dn,d+2);执行后输出结果是()。A) 2 B) 3 C) 4 D) 编译时有错,无结果

    8、4)条件表达式: 表达式1 ?表达式2 :表达式3 注意是当表达式1的值为:非0时候 是表达式2的数值,当为0是就是表达式2的数值。考试口诀:真前假后。5)switch语句:p53a) 一定要注意 有break 和没有break的差别,没有break时候,只要有一个case匹配了,剩下的都要执行,有break则是直接跳出了swiche语句。例3b) switch只可以和break一起用,不可以和continue用。c) switch(x) x:是整型常量,字符型常量,枚举型数据。case 1: . case后面的只能是常量不能是变量 。 case 2: . 注意:break可以用在循环语句中,

    9、也可以用在switch语句中。但是continue语句只能用在循环语句中。例题:p56 .4main() int x=1,y=0,a=0,b=0;switch( x) case 1: switch(y) case 0: a+;break; case 1:b+;break; case 2: a+;b+;break; case 3:a+,b+;printf(“a=%d,b=%dn”,a,b);4、循环结构1)三种循环结构: a)for() ; while(); do- while()三种。 b)for循环当中必须是两个分号,千万不要忘记。 c)写程序的时候一定要注意,循环一定要有结束的条件,否则成

    10、了死循环。 d) do-while()循环的最后一个while();的分号一定不能够丢。(当心上机改错),dowhile循环是至少执行一次循环。复习:三个循环结构的执行过程。while 是先判断后执行。do.while是先执行后判断。for() 先执行表达式1,判断表达式2,执行循环体中的内容,在执行表达式3.例题:2) break 和 continue的差别 记忆方法: break:是打破的意思,(破了整个循环)所以看见break就退出真个一层循环。 continue: 是继续的意思,(继续循环运算),但是要结束本次循环,就是循环体内剩下的语句不再执行,跳到循环开始,然后判断循环条件,进行新

    11、一轮的循环。3)嵌套循环 就是有循环里面还有循环,这种比较复杂,要一层一层一步一步耐心的计算,一般记住两层是处理二维数组的。4) while(c=getchar())!=n) 和 while(c=getchar() !=n)的差别先看a = 3 != 2 和 (a=3)!=2 的区别:(!=号的级别高于=号 所以第一个先计算 3!=2) 第一个a的数值是得到的1;第二个a的数值是3。考试注意点: 括号在这里的重要性。main() int i=0,s=0; for(;) if(i=0|i=5) continue ; if(i=6) break; i+;s+=i;printf(“%d”,s);A、

    12、10 B、13 C、21 D、程序进入死循环5、函数p75函数:是具有一定功能的一个程序块;是C语言的基本组成单位。1) 函数的参数,返回数值void f(int v,int w) int t;t=v;v=w;w=tmain()int x=1,y=3,z=2;if(xy) f(x,y); else if(yz) f(y,z);else f(x,z);printf(“%d,%d,%dn”,x,y,z);2)函数的调用: 实参和形参之间 传数值,和传地址的差别。(考试的重点) 按数值传替,形参的变化不会改变实参的变化。(单向传替) 按地址传替,形参的变化就会有可能改变实参的变化。(双向传替)3)函

    13、数声明的考查:一定要有:函数名,函数的返回类型,函数的参数类型。不一定要有:形参的名称。4)要求掌握的库函数:p190sqrt() fabs() pow() sin() 其中pow(a,b)是重点。23为pow(2,3)。以及sqrt()表示的是一个表达式或者是一个数值的开方。 5)函数最后返回值的类型决定于函数的定义类型。6、指针 p891)、指针变量的本质是用来放地址,而一般的变量是放数值的。int *p 中 *p和p的差别:*p可以当做变量来用;*的作用是取后面地址p里面的数值 p是当作地址来使用。*p+ 和 (*p)+的之间的差别:改错题目中很重要 *p+是 地址会变化。 (*p)+

    14、是数值会变化。若有说明: int n=2,*p=&n,*q=p;则以下的非法的赋值语句是:()A、p=q B、*p=*q C、n=*q; D、p=n 2)、三名主义:(考试的重点) 数组名:表示第一个元素的地址。数组名不可以自加,他是地址常量名。(考了很多次) 函数名:表示该函数的入口地址。 字符串常量名:表示第一个字符的地址。考试重要的话语:指针变量是存放地址的。并且指向哪个就等价哪个,所有出现*p的地方都可以用它等价的代替。例如:int a=2,*p=&a; *p=*p+2;(由于*p指向变量,所以指向哪个就等价哪个,这里*p等价于,可以相当于是a=a+2)指针变量两种初始化方法一:int

    15、 a=2,*p=&a;(定义的同时初始化)方法二:int a=2,*p;(定义之后初始化)p=&a;3)、给指针变量赋空值之后,不能对该变量进行指针运算。P91.4#include“stdio.h”main() int n,*p=NULL; *p=&n; printf(“请输入数据:”); scanf(“%d”,&p);printf(“结果是:”);printf(“%dn”,p);该程序试图通过指针p为变量n读入数据并输出数据,但是程序中有多处错误,以下语句正确的是:()A、int n,*p=NULL; B、*p=&n; C、scanf(“%d”,&p); D、printf(“%dn”,p);

    16、4)返回指针的函数:p93 格式: 函数返回值类型 *函数名(形式参数列表)int *f(int *x,int *y) if(*x*y) return x; else return y;main() int a=7,b=8,*p,*q,*r; p=&a;q=&b; r=f(p,q); printf(“%d,%d,%d”,*p,*q,*r);执行后输出结果是()A) 7,8,8 B) 7,8,7 C) 8,7,7 D) 8,7,87、数组1)一维数组的重要概念:对a10这个数组的讨论。P95 1、a表示数组名,是第一个元素的地址,也就是元素a10的地址。 2、a是地址常量,所以只要出现a+,或者

    17、是a=a+2赋值的都是错误的。 3、a是一维数组名,所以它是列指针,也就是说a+1是跳一列。对a33的讨论。P99 1、a表示数组名,是第一个元素的地址,也就是元素a10的地址。 2、a是地址常量,所以只要出现a+,或者是a=a+2赋值的都是错误的。 3、a是二维数组名,所以它是行指针,也就是说a+1是跳一行。 4、a0、a1、a2也都是地址常量,不可以对它进行赋值操作,同时它们都是列指针,a0+1,a1+1,a2+1都是跳一列。 5、注意a和a0 、a1、a2是不同的,它们的基类型是不同的。前者是一行元素,后三者是一列元素。重点复习:定义的格式和排序例题:一下能正确定义一维数组的是:A、in

    18、t num; B、#define N 100 c. int num0.100 D、int N=100 int numN; int numN#include“stdio.h”main() int i,j,t;a5=2,1,4,3,5; for(i=0;i4;i+) for(j=i+1;j5;j+)if(aiaj) t=ai;ai=aj;aj=t; for(i=0;i 1 2 3 第一行 a1- 4 5 6 第二行 a2- 7 8 9 第三行步骤二:这样作题目间很简单:*(a0+1)我们就知道是第一行的第一个元素往后面跳一列,那么这里就是a01元素,所以是。*(a1+2)我们就知道是第二行的第一个

    19、元素往后面跳二列。那么这里就是a12元素,所以是6。一定记住:只要是二维数组的题目,一定是写成如上的格式,再去做题目,这样会比较简单。3) 数组的初始化,一维和二维的,一维可以不写,二维第二个一定要写 int a=1,2 合法。 int a4=2,3,4合法。 但int a4=2,3,4非法。4) 二维数组中的行指针 int a12; 其中a现在就是一个行指针,a+1跳一行数组元素。 搭配(*)p2指针p175 a0,a1现在就是一个列指针。a0+1 跳一个数组元素。搭配*p2指针数组使用5) 还有记住脱衣服法则: a2 变成 *(a+2) a23变成 *(a+2)3再可以变成 *(*(a+2

    20、)+3)以下错误的定义语句是A)int x3=0,1,1,2,3;B)int x43=1,2,3,1,2,3,1,2,3,1,2,3;C)int x4=1,2,3,1,2,3,1,2,3,1,2,3;D)int x3=1,2,3,4;8、字符串p1051)、字符串的概念:由双引号括起来的若干个字符所组成的序列。每一个字符串都有一个0做为结束的标识。2)字符串的存储形式:两种存储 数组存储 用数组来存储字符串。P106 、将每一个字符分别赋值给数组中的每一个元素。 、定义字符数组的时候就给数组中的每一个元素赋初值。但是最后必须有一个结束符。 C、直接把一个字符串赋值给一个数组。 D、当把字符串中

    21、的内容赋值给数组时,当数组中的元素的个数多余数组字符个数的时候,可以不用加最后的结束符。 E、在定义数组的时候,省略了数组的长度的时候,如果没有结束符,那么这个数组时不能构成一个字符串的。 指针存储 用指针来存储字符串。P107在定义指针变量的同时将一个字符数组赋值给一个指针变量。以下不能正确进行字符串赋值的语句时:()A、char str5=”good!”; B、char str=”good!”C、char *str=”good!” D、char str5=g,o,o,d;3)、字符串的输入和输出p109输出: A、printf函数输出字符串是,格式控制说明符是%s,其中的输出项为:地址。输

    22、出时不带有字符串的定界符。B、puts函数输出的一个字符串,同样的括号中的内容只能是一个字符串或者是一个地址。输出时不带有字符串的定界符。输入: A、scanf函数,在输入的时候,格式控制说明符任然为%s,输入项中的内容仍然为:地址。在输入的时候不输入字符串的定界符。但是使用scanf函数在输入数据的时候,不能接受回车符和空格符。 、gets()函数接受的仍然是一个字符串,输入项中的内容仍然为:地址。在输入的时候不输入字符串的定界符。但是使用gets()函数在输入数据的时候,能接受回车符和空格符。例题:当用户要求输入的字符串中含有空格时,应使用的输入函数是:A、scanf() B、getcha

    23、r() C、gets() D、getc()4)、字符串处理函数p111掌握字符串的处理函数:strcpy() strcmp() strlen() strcat()其中括号中的内容均是地址。掌握每一个函数的含义和功能。#include”stdio.h” p113main() char p20=”abcd”,q=”abc”,r=”abcde”;strcat(p,r);strcpy(p+strlen(q),q);printf(“%dn”sizeof(p);9、文件p1151)、文件指针的定义的格式:FILE *文件指针。2)、打开文件的格式:fopen(“文件名”,“打开方式”); 重点看打开方式为

    24、 r和w的形式。3)、关闭文件:fclose(文件指针)。 文件的操作:p1181)、feof函数的格式以及函数的功能。.如果在文件的末尾,则返回的是一个非0值,若是不在文件末尾,返回的是0值。2)、fseek函数(定位函数) 掌握定位的原则。 例如:与fseek(fp,0L,seek_set)有相同作用的是:A、feof() B、ftell() C、fgetc() D rewind()上机考试重点:p119fprintf( 文件指针,格式控制字符串,输入列表 );功能:按照格式控制说明的格式将输入列表中的值输入到文件指针所指的文件中。fscanf(文件指针,格式控制字符串,输出列表);功能:

    25、按照格式控制说明的格式从文件指针所指的文件中读取中数据来,并且赋值给输出列表。10、对C语言的深入讨论p1261)、用户定义类型: typedef 原有类型 标识符;掌握:没有定义新的类型,只是将原有的类型换了一个名字而已。2)、编译预处理 编译预处理必须单独占有一行,在程序执行时不占用程序的执行时间。 运算规则:先替换,后计算。# include # define N 5 # define M N+1 # define f(x) (x*M) main() int i1,i2; i1=f(2); i2=f(1+1);printf(“%d %dn”,i1,i2);程序运行结果是A) 12 12

    26、B) 11 7 C) 11 11 D) 12 73)、标识符的作用域 p130 按照变量出现的位置,将其分为:全局变量和局部变量。按照存储存储类别分为:自动型和静态型。四个关键字:auto register static extern 局部变量的作用范围只是其所在的花括号中。而全局变量的作用范围是从定义开始,一直到程序的结束。 当同时出现局部变量和全局变量的时候,局部变量有效,而全局变量没有效果。全局变量相当于一个静态变量。 静态变量在使用时占有永久的存储单元。在使用的时候只用看一次其初值。#include int a=5;void fun(int b) int a=10;a+=b; prin

    27、tf(“%d”,a);main() int c=20; fun(c); a+=c; printf(“%dn”,a);4)、动态存储分配 p136掌握函数开辟存储单元的格式: A、malloc(size) 开辟的是动态的存储单元,返回的是一个空指针,若要将其赋值给一个指针变量,必须进行强制类型转换。B、calloc(n,size) 开辟的是动态的存储单元,返回的是一个空指针,若要将其赋值给一个指针变量,必须进行强制类型转换。例如:已有定义语句,double *p,请写出完整的语句,利用malloc函数使p指向一个双精度型的动态存储单元。 P=(double *)malloc(sizeof(double) P1385)、main(int argc,char *argv) 这种含有参数的题目,是很呆板的题目。第一个参数是表示输入的字符串的数目,第二个参数是指向存放的字符串。6)、函数的递归调用。P141 函数的递归调用的时候先画出方框图,再从后面往前算,即可。11、结构体1)、结构体的定义的格式:p147 struct 结构体名 成员列表;成员列表中,成员的类型可以是不相同的。2)、定义结构体变量的3中格式 A、struct 结构体名 成员列表;struct 结构体名 变量名; B、struct 结构体名


    注意事项

    本文(冲刺课复习.docx)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开