C_语言辅导题.pdf
《C_语言辅导题.pdf》由会员分享,可在线阅读,更多相关《C_语言辅导题.pdf(148页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言补习资料2011-03-10目录软件技术基础训练(自行阅读到能背诵).-1-常见的语法错误类型.-9-常见的逻辑错误类型.-10-C语言考试内容.-11-数据类型、运算符、表达式、语句、控制流程、预编译-14-测试一.-29-数组、指针、函数、结构体与共用体、文件.-31-测试二.-51-编程训练.-54-课外综合训练.-61-省考真题测验.-84-四川省第32次等级考试(第一套).-103-四川省第32次等级考试(第二套).-108-四川省第32次等级考试(第三套).-112-四川省第32次等级考试(第四套).-116-四川省第32次等级考试(第五套).-117-四川省第33次等级考试
2、(第一套).-121-四川省第33次等级考试(第二套).-124-四川省第33次等级考试(第三套).-126-四川省第33次等级考试(第四套).-129-四川省第33次等级考试(第五套).-132-答案.-135-川软件技术基础训练(自行阅读到能背诵)一、是非判断题(判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B)数据结构1.数据结构的表示包括数据逻辑结构和存储结构两个方面的表示。A2.冒泡排序算法是一种只能实现升序排序,而不能实现降序排序的排序算法。B3.线性表采用链式储存时,结点的存储地址必须是连续的。B4.栈顶的位置是随着进栈和退栈操作而变化的。A5、数据在计算机内存
3、中的表示是指数据的存储结构。A数据结构:主要研究数据的各种逻辑结构和存储结构,以及对数据的各种操作。主要有三个方面的内容:数据的逻辑结构;数据的物理存储结构;对数据的操作(或算法)。算法的设计取决于数据的逻辑结构,算法的实现取决于数据的物理存储结构。逻辑结构有线性和非线性,包括四种基本类型:线 性(集合结构、线性结构)、非 线 性(树状结构和网络结构)。数据结构在计算机内存中的表示是指数据结构的存储-1-方式,有顺序存储和链接法(用指针反映数据之间的关系)。6、链表可以随机访问任意一个结点,而顺序表则不能。A7、数据的逻辑结构是从逻辑关系上描述数据,它与数据的存储结构无关,是独立于计算机的。B
4、8、流式文件和记录式文件都以字符为基本单位进行存取。B9、不定长文件是指字段的长度不固定。B10、数组也是一种数据结构,一维数组就是一种顺序表结构。A11、递归算法的程序结构比迭代算法的程序结构更为精练。飕鲤普睡熟醯藕懿翻舞,褊机依麟既睡疆隹薪麓繇需整皤限能。B16、数据的基本单位是数据元素。A数据元素是数据的基本单位,在计算机程序中通常作为一个整体考虑。一个数据元素由若干个数据项组成。数据项是数据的不可分割的最小单位。17.C+语言中所定义的类实际上也是一种数据类型。A软件工程18.在软件生存期内,软件必须进行维护,维护不会产生副作用。B19.在软件的需求分析阶段,要直接面向用户,主要考虑用
5、-2-户的经济承受能力和费用的支付问题。B2 0.需求分析阶段的主要任务应由系统分析员主持完成。A21、软件工程的三要素包括方法、工具和环境。B三要素为方法、工具和过程22、软件结构是以指令为基础而组成的一种控制层次结构。B23、软件测试和软件调试没有任何区别。B24、白盒测试方法一般适用于系统测试。B25、瀑布模型的突出缺点是不适应用户需求的变化。A瀑布模型将软件生命周期的各项活动规定为依固定顺序联接的若干阶段工作,形如瀑布流水,最终得到软件产品优点:a.强调开发的阶段性;b.强调早期计划及需求调查;c.强调产品测试。缺点:a.依赖于早期进行的唯一一次需求调查,不能适应需求的变化;b.由于是
6、单一流程,开发中的经验教训不能反馈应用于本产品的过程;c.风险往往迟至后期的开发阶段才显露,因而失去及早纠正的机会。26,、在面向过程方法的软件生存期内,能准确确定软件系统必须做什么和必须具备功能阶段是需求分析。A27、在软件测试的基本方法中,静态测试不用测试用例。A静态测试的基本特征是,在对软件进行分析、检查和测试时,不实际运行被测试的程序。静态测试可以用于对各种软件文-3-档进行测试,是软件开发中十分有效的质量控制方法之一。动态测试是在计算机上运行被测的程序代码或代码段,通过输入测试用例对其运行情况(输 入/输出的对应关系)进行观察,并对测试结果进行分析。按照不同的测试出发点,可将软件测试
7、方法分为黑盒测试和白盒测试两大类操作系统28.采用动态重定位进行地址转换,允许程序在执行过程中在内存中移动。而静态重定位则不可以。A29.操作系统是最最重要的系统软件。A30、能影响中断响应次序的技术是中断优先级和中断屏蔽。A31、作业与进程的主要区别是前者是由用户提交,后者是由系统自动生成。A32、Windows、OS/2,Linux微机操作系统都是多用户多任务操作系统。B33、进程调度按一定的调度算法,从就绪队列中挑选出适合的进程。A34、在单处理器系统中,程序的并发执行,实质上是程序的交替执行。A35、分页存储管理中,页面可以映射到不连续的内存快中。-4-A36、通道方式能实现外设与C
8、P U 之间直接进行数据交换。B通道方式通道控制方式是一种以内存为中心,实现设备和内存直接交换数据的控制方式37、作业与进程的主要区别是前者是由系统自动生成,后者交赛段、X、38卷401Ro B麒 礴 港 是 鬻 翰 的 鳏 酸 去 提 立 即笄娶进程之间一定存在互斥关系。B二、选择题数据结构1、若进栈序列为1,2,3,4,且进栈过程中可以出栈,则不可能出栈的序列是(C)A、1,4,3,2 B、2,3,4,1C、3,1,4,2 D、3,4,2,12、线性链表不具有的特点是(A)A、随机访问 B、无须事先估计所需存储空间大小C、插入时不必移动元素D、所需空间与线性表长度成正比3、以 下(C)不是
9、数据结构研究的主要问题。-5-A、数据元素之间的逻辑关系 B、数据元素之间的存储结构C、软件开发方法 D、实现操作的算法励根鬣挑履小,且进栈过程中可以出栈,A、1,4,3,2 B、2,3,4,1 C 3,1,4,2 D、3,4,2,15.以下特征中哪个不是算法得特征(D)A 可行性 B确定性 C 有 穷 性 D 唯一性(下次从这开始看)6.对象实现了数据和操作的结合,使数据和操作(C)于对象的统一体中。A 结合 B 程序的效率 C 封装 D抽象软件工程7、以下的准则中哪个不是面向对象软件设计应遵循的(B)A、抽象准则 B、独立性准则C、信息屏蔽准则 D、模块化准则面向对象软件设计应遵循的准则是
10、:抽象准则信息屏蔽准则模块化准测-6-8、需求分析中开发人员主要从用户那里了解(A)A、软件做什么 B、软件的结构C、输入的信息 C、软件的测试需求分析中开发人员主要从用户那里了解软件做什么9、软件开发中,模块设计的原则是(A)A、低耦合、高内聚 B、高耦合、高 内 聚 C、高耦合、低 内 聚 D、低耦合、低内聚内聚:一个模块内各个元素彼此结合的紧密程度耦合:一个软件结构内不同模块之间互连程度的度量一个完整的系统,模块与模块之间,尽可能的使其独立存在。也就是说,让每个模块,尽可能的独立完成某个特定的子功能。模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进
11、一步的模块划分。这样有利于修改和组合。模块设计的原则高内聚,低耦合10、以下准则中哪个不是软件设计遵循的(D )A、抽象准则 B、模 块 化 准 则 C、信息屏蔽准则D、综合性准则11、在结构化设计方法中,设计功能模块算法属于软件开发中 的(A)阶段。A、详细设计 B、需求分析 C、总体设计D、编程调试-7-12.结构化程序设计主要强调的是(A)A程序易读性 B程序的效率 C程序设计语言的先 进 性D程序的规模操作系统13.在多道程序设计系统中,处于后备状态的作业要经过(B)调度后才能真正执行A作 业 调 度B作业调度和进程调度C进 程 调 度D作业调度和设备调度14.为解决CPU和I/O设备
12、之间速度匹配问题,常采用“缓冲区”方法。“缓冲区”的结构多为(C)oA顺 序 栈B链 栈C顺 序 队 列D循环队列15、任何两个并发进程之间(D)A、一定存在互斥关系 B、一定存在同步关系C、一定彼此独立无关 D、可能存在同步或互斥关系16、以下哪个特征不是分时操作系统的主要特征(A)A、中断管理 B、独立性 C、交互性D、多路性17、以 下(C)不是实时操作系统的特点。A、高可靠性 B、及时响应 C、中断管理 D、独立性18、若当前进程因时间片用完而让出处理机时,该进程应转-8-变 为(B)状态。A、运行 B、就绪 C、等待 D、完成19、操作系统本身是计算机系统软件的重要组成部分,而其物质
13、基础是(A)A、系统硬件 B、程序 C、数据结构 D、标准程序库20、外部设备完成了预定的输入/输出操作所引起的中断是(B)A、外中断 B、I/O中断 C、程序中断D、访问中断常见的语法错误类型1、函数调用发生时实参的类型与形参的类型不匹配;如:int fun(int array,int m)调用时第一个参数应该传递数组首地址而不是值2、函数返回值的类型与函数定义的类型不匹配;如:int*fun(int array,int m)调用后返回的值一定要是一个指向整型变量的指针。3、对数组元素或数组元素的地址引用形式不正确;如:如果a是代表数组的名字,那 么(a+i)表示的是第i个数据元素的地址,而
14、*(a+i)表示的是第i个数据元素的值4、对一些常用库函数调用的时候,所给参数的类型与库-9-函数定义不匹配;如:gets。函数只带一个参数,这个参数应该是字符数组的数组名或则字符指针变量,而不能是普通变量名;如:scanf(“d”,m)应改为 scanf(“d”,&m)常见的逻辑错误类型1、如果程序涉及使用到了循环,那么需要注意循环的次数,以及循环是否继续的条件编写是否符合程序的逻辑需要;如:for(;s=0;s+)就是一种不正确的循环判定条件2、如果程序使用了条件判断,那么需要注意所书写的判定条件,是否符合程序的逻辑需要;如:if(a=l)就是一种不正确的典型范例,应该改为if(a=1)3
15、、如果程序使用了函数的调用,那么需要注意函数调用返回的值是否符合程序的逻辑需要;4、如果程序中出现了赋值语句,那么需要注意赋值号左右两边类型是否一致或复制兼容;如:给数组的名字赋值显然就是不应该的array=ak,应改为 arrayk=ak如果程序中使用了+或-运算符,请注意使用的形式是否符合程序的逻辑需要;例如+运算符是在变量的左边还是在变量的右边;程序中配对的操作符,经常被出题者故意写错,如+写成-,!=写成=,&写成II,写成 等等,看到类似-10-的符号,需要特别注意C 语言考试内容一、数据类型、运算符、表达式LC的数据类型(基本类型,构造类型,指针类型,空类型)及其定义方法。2.C
16、运算符的种类、运算优先级和结合性。3.不同类型数据间的转换与运算。4.C 表达式类型(赋值表达式、算术表达式、关系表达式、逻辑表达式、条件表达式、逗号表达式)和求值规则。二、语句L表达式语句,空语句,复合语句。2 .数据的输入和输出,输入输出函数的调用。3 .复合语句。4.语句标号的使用。三、控制流程1.用 i f 语句实现选择结构。2.用 s w i t c h 语句实现多分支选择结构。3.选择结构的嵌套。4.f o r 循环结构。5.w h i l e 和 d o w h i l e 循环结构。6.c o n t i n u e 语句和b r e a k 语句。7.循环的嵌套。四、编译预处
17、理1 .宏定义:不带参数的宏定义;带参数的宏定义。2.“文件包含”处理。-11-五、数组1.一维数组和多维数组的定义、初始化和引用。2.字符串与字符数组。六、函数1.库函数的正确调用。2.函数的定义方法。3.函数的类型和返回值。4 .形式参数与实在参数,参数值的传递。5.函数的正确调用,嵌套调用,递归调用。6 .局部变量和全局变量。7 .变量的存储类别(自动、静态、寄存器、外部),变量的作用域和生存期。8 .内部函数与外部函数。七、指针1 .指针与指针变量的概念,指针与地址运算符。2 .变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的指针变量。通过指针引用以上各
18、类型数据。3 .用指针作函数参数。4.返回指针值的指针函数。5.指针数组,指向指针的指针,M AI N 函数的命令行参数。八、结构体与共用体1 .结构体和共用体类型数据的定义方法和引用方法。2 .用指针和结构体构成链表,单向链表的建立、输出、删除-12-与插入。九、文件操作1.文件类型指针(F I L E类型指针)。2.文件的打开与关闭(f o p e n,f c lo se)。3.文件的读写(f p utc,f ge tc,f p uts,f ge ts,f re ad,f rwite,f p rintf,f sc anf函数),文件的定位(re wind,f se e k函数)。附:C语言
19、运算符口诀括号成员排第一;。.-全体单目排第二;+*&-乘除余三,加减四;*/%+-移位五,关系六;=等于不等排第七;=!=位与异或和位或;&八I三分天下八九十;(7)逻辑或跟与;|&十二和H一;(8)条件高于赋值;?:=(+=*=/=)(9)逗号运算排最低;,结合性:单目、赋值、条件自右向左结合;其余运算符皆自左向右结合。-13-数据类型、运算符、表达式、语句、控制流程、预编译一、选择题L下列叙述中错误的是()。一C 程序结构(A)C程序书写格式自由,一个语句可以分多行写(B)C 语言中一个文件中的函数可以调用另一文件的函数(C)C程序总是从开头执行,到末尾结束(D)在 C 程序的开头,可以
20、有注释说明2.C语言中最简单的数据类型包括(b).数据类型P20(A)整型、实型、逻辑型(B)整型、实型、字符型(C)整型、字符型、逻辑型(D)整型、实型、逻辑型、字符型3.若变量a 是 int类型,并执行了语句:a=W 量.6;,则正确的叙述是_.数据类型转换规则(混合运算规则)P28(A)a的值是字符C(B)a的值是浮点型(C)不允许字符型和浮点型相加(D)a的值是字符,A,的ASCII值加上14.以下选项中不属于C 语言的类型的是 A.数-14-据类型(A)signed short int(B)unsigned long int(C)unsigned int(D)long short5.
21、下列属于合法C 语言常量的选项是(B)。数据类型之数据常量(A)OxGB(B)123L(C)e3(D)0836.在16位 C 编译系统上,若定义long a;,则能给a 赋 40000的正确语句是_ _ _ _ D.长整型数据赋值(A)a=20000+20000;(B)a=4000*10;(C)a=30000+10000;(D)a=4000L*10L;7.C 语言规定标识符只能由字母、数字和下划线组成,且第一个字符必须是).一一标识符(A)字母或数字(B)数字或下划线(C)字母(D)字母或下划线8.下列属于非法C 语言关键字的选项是()。关键字(A)printf(B)sizeof(C)exte
22、rn(D)long9.下列运算中优先级最低的是()。运算符优先级(A)&(B)I I (C)=(D)+-15-括号第一,单目二,算 术 高 移 位,移 位 高 关 系,关系高 位,位 高 逻 辑,条件高赋值,逗号最低,逻辑与位中与 高 或(括 号,单 目 算术 移位 关系 位 逻辑 条件 逗号)10.为表示关系X 2 y 2 z,应 使 用 C 语 言 表 达 式。一一表达式(A)(x=y)&(y=z)(B)(x=y)AND(y=z)(C)(x=y=z)(D)(x=y)&(y=z)11.设n 为 int型 变 量 且 n=l,则表达式的值是(A)o 运算符+表达式(A)l(B)0(C)-l)-
23、212.若有定义:int a=8,b=5,c;,执 行 语 句 c=a/b+0.4;后,c 的值为(B)。表达式求解(A)1.4(B)l(C)2.0(D)213.若有如下程序段:int x=3,y=4,z;float a=2.0;z=y%x/a;则执行后,z 中的值是()。运算符+表达式(A)4(B)3.0(C)0(D)0.5-16-14.设m,n是整型变量,f 是单精度型变量,则下面正确的赋值语句是()。表达式+赋值语句(A)+n;(B)double(m+n);(C)m=l;(D)f=f%m/n;15.设 count和 sum都是整型变量,并且sum=coimt=3,则计算表达式sum+,s
24、um+=count+后 sum 的值是(B)。-运算符+表达式(A)8(B)7(C)5(D)316.设 a、b、c d x、y 均为 int 型变量,且 a=l、b=2 c=3d=4 x=5、y=6,则逻辑表达式“(x=ab)&(y=cd)”的运算后y 的值为()。一一运算符+表达式+逻辑短路(A)0(B)l(C)3(D)617.以下选项中,与表达式,=+b”完全等价的表达式是.运算符+表达式(A)a+=b(B)b=b+l,a=b(C)a=b,b=b+1(D)a=b+18.以下程序的输出结果是_ _ _ _ _ _ _.运算符之条件运算符main()-17-int a=5,b=4,c=6,d;
25、printf(u%dn,d=ab?(ac?a:c):b);)(A)5(B)4(C)6(D)不确定19.以下程序的输出结果是_ _ _ _ _ _ _ _.运算符与表达式main()int a=4,b=5,c=0,d;d=!a&!bl I !c;printf(dn”,d);)(A)l(B)0(C)非 0 的数(D)-l20.以下程序的输出结果是_ _ _ _ _ _ _ _.位运算之移位运算main()char x=040;printf(%0n,x l);)(A)100(B)80(C)64(D)3221.若有如下程序:-18-main()unsigned int x,y,z;x=015;y=x&
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C_ 语言 辅导
限制150内