c语言考题-知识点(c语言培训课讲义)

上传人:第*** 文档编号:58475777 上传时间:2018-10-29 格式:PPT 页数:42 大小:212KB
返回 下载 相关 举报
c语言考题-知识点(c语言培训课讲义)_第1页
第1页 / 共42页
c语言考题-知识点(c语言培训课讲义)_第2页
第2页 / 共42页
c语言考题-知识点(c语言培训课讲义)_第3页
第3页 / 共42页
c语言考题-知识点(c语言培训课讲义)_第4页
第4页 / 共42页
c语言考题-知识点(c语言培训课讲义)_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《c语言考题-知识点(c语言培训课讲义)》由会员分享,可在线阅读,更多相关《c语言考题-知识点(c语言培训课讲义)(42页珍藏版)》请在金锄头文库上搜索。

1、19次考题 知识点,目 录,第一部分,第二部分,一、是非判断题,二、单项选择题,1 2 3 5,一、单项选择题,1 5 6 9,二、读程序题,1 2 3 4 5 6 7 8 9,三、程序填空题,1 2 3 4 5,文件操作,机试技巧,一、是非判断题 2、DMA:所谓DMA方式就是在进行数据传送时,CPU让出总线的控制权,由硬件中的DMA控制器接管直接控制总线。在DMA控制器的控制下,数据不经CPU而直接在内存和外设之间传送,提高大批量数据交换的速度,从而提高计算机系统的数据传输效率。 3、队列有两种存储结构:顺序队和链队。顺序队容易产生“假溢出“(“假队满“)现象,因此往往以循环队作为队列的顺

2、序存储结构。采用“牺牲“一个存储结点的办法,可以简单地表达循环队的队满、队空条件。链队由于不存在“假溢出“问题,使用比较方便。但指针域占用了额外的存储量。,返 回,5、 顺序存储方法(主要用于线性表或者数组)链接存储方法:采用指针方式 数据下个地址索引存储方式(需要建立单独的索引文件, 索引一般形式:关键字、地址)散列存储方式(根据元素的关键字通过事先编制好的散列函数直接给出该单元存储地址)7、基类和派生类关系 任何一个类都有可以派生出上个新类,派生类也可以再派生出新类,因此,基类和派生类是相对而言的。一个基类可以是另一个基类的派生类,这样便形成了复杂的继承结构,出现了类的层次。一个基类派生出

3、一个派生类,它又做另一个派生类的基类,则原来基类为该派生类的间接基类。,返 回,二、单项选择题 1、插入排序:基本操作是:将一个记录插入到一个有序的子序列中,使得插入这个记录后,所得到的这个序列仍然保持有序。 选择排序:首先在所有记录中选出关键字最小的记录,把它与第1个记录交换,然后在其余的记录中再选出关键字次最小的记录与第2个记录交换,以次类推,直到所有记录排序完成。 冒泡排序、快速排序 两两比较待排序记录的关键字,并交换不满足顺序要求的两对记录,直到全部满足为止。,返 回,2、栈 :栈是限定仅在表尾进行插入或删除操作的线性表。先进后出、后进先出的特性。栈的表尾称为栈顶,表头称为栈底,不含元

4、素的空表称为空栈。 3、进程的状态转换:,返 回,5、黑盒测试根据软件产品的功能设计规格,在计算机上进行测试,以证实每个实现了的功能是否符合要求。这种测试方法就是黑盒测试。黑盒测试意味着测试要在软件的接口处进行。就是说,这种方法是把测试对象看做一个黑盒子,测试人员完全不考虑程序内部的逻辑结构和内部特性,只依据程序的需求分析规格说明,检查程序的功能是否符合它的功能说明。 白盒测试 根据软件产品的内部工作过程,在计算机上进行测试,以证实每种内部操作是否符合设计规格要求,所有内部成分是否已经过检查。这种测试方法就是白盒测试。白盒测试把测试对象看做一个打开的盒子,允许测试人员利用程序内部的逻辑结构及有

5、关信息,设计或选择测试用例,对程序所有逻辑路径进行测试。通过在不同点检查程序的状态,确定实际的状态是否与预期的状态一致。,返 回,第二部分 一、单选 include int Fun(int x,int y) return x+y; Void main() int i=10; CoutFun(i+,i)endl; ,函数参数的结合方向:自右向左,返 回,5、 include Void main() int x=0,y=0,z=0; +x|+y|+z; Printf(“%d%d%d”,x,y,z); ,逻辑运或运算符(|)左边的表达式为真时逻辑运算符右边的表达式就不再进行运算。,返 回,6、 #i

6、nclude Union myun structint x,y,z u;int k;a; Void main() a.u.x=4;a.u.y=5;a.u.z=6; a.k=0; Printf(“%d%d%dn”,a.u.x,a.u.y,a.u.z); ,共用体是指把几个不同类型的变量存储在同一个地址开始的内存单元中,几个变量的存储字节数不同,但可以相互覆盖,共用体的所有成员共用一段存储区域,共用体变量占有内存的总字节数是其最长成员所占的字节数 。,返 回,9、 #define f(x) 1+x+x*x #include void main() int a=2,b=3; Printf(“%dn”

7、,f(a+b); ,1. f(a+b)=1+a+b+a+b*a+b,2. f(2+3)=1+2+3+2+3*2+3,17,替换为:#define f(x) 1+(x)+(x)*(x),返 回,二、读程序 1、 #include int f(int m) static int x3=2,3,4; int i; for(i=0;i3;i+) xi+=xi-m; for(i=0;i x0=3 X1+=x1-m x1=5 X2+=x2-m x2=7 f函数返回值为x1=5.,第二次调用f函数: m=5 x3=3,5,7 X0+=x0-m x0=1 X1+=x1-m x1=5 X2+=x2-m x2=9

8、,静态局部变量不随其所在函数的调用结束而释放,而会保留本次调用结束时的值,并作为下一次调用的初始值参与运算 。,返 回,2. #include “stdio.h” int change(char *c ,int fg) if(*c= ) L1:return 1; else if(fg/*循环结束条件当输入回车结束*/ ,C语言中以1或一切非零的常数代表“真”,以0代表“假”,/*注意:A-a为32,A=65,a=97 */,This_is_a_book!,返 回,3. #include “iostream.h” int sb(int *s,int y) static int i=3;y=si-

9、; return y; void main() int s=1,2,3,4; int i,x=0; for(i=0;i4;i+)x=sb(s,x); coutx,; coutendl; ,main() sb(s,x),i=0 i=3 s3=4,i=1 i=2 s2=3,i=2 i=1 s1=2,i=3 i=0 s0=1,静态局部变量不随其所在函数的调用结束而释放,而会保留本次调用结束时的值,并作为下一次调用的初始值参与运算 。,返 回,4. #include”iostream.h”void main () char *s=“21342”;int a=0,b=0,c=0,d=0;int k;fo

10、r (k=0;sk;k+)switch(sk) default:d+;case 1:a+;case 3:c+;case 2:b+; cout“a=“a“,b=“b“,c=“c“,d=“dendl; ,知识点,for循环 switch(sk),k=0 s0=2 b,k=1 s1=1 a,c,b,k=2 s2=3 c,b,k=3 s3=1 a,c,b,k=4 s4=4 d,a ,c,b,k=5 s5=2 b +,k=6 s6=0退出循环,有break,返 回,switch后的表达式一般限于整型、字符型和枚举型的表达式;每个case后的常量表达式的值必须互不相同;default分支表示当switch

11、后的表达式之值不与任何一个分支的常量值匹配时,则执行default后的语句段。如果希望在执行了一个分支后跳出switch语句,每个分支的最后一个语句应该是break语句,表示不再执行其后的分支而跳出switch语句;如果没有break语句,流程就会在执行了第一个常量值匹配于表达式之值的分支后,接着执行相邻的下一路分支,并顺序执行下去,直到遇上break语句或switch的终止大括号。,返回试题,返 回,4. #include”iostream.h”void main () char *s=“21342”;int a=0,b=0,c=0,d=0;int k;for (k=0;sk;k+)switch(sk) default:d+; break;case 1:a+; break;case 3:c+;case 2:b+; cout“a=“a“,b=“b“,c=“c“,d=“d0) if(fp=fopen(argvi+,”r”)=NULL)printf(“cannot open file!n”);exit(0); ,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号