二级C语言错题笔记

scanf函数也同样结束,没有接受输入的数据。

(34)下列关于指针变量赋空值的说法错误的是 A)当赋空值的时候,变量指向地址为0的存储单元 B)赋值语句可以表达为变量名=′\0′; C)赋值语句可以表达为变量名=0; D)一个指针变量可以被赋空值 解析: 除了给指针变量赋地址值外,还可以给指针变量赋NULL值,由于NULL的代码值为0,所以,指针变量名=NULL;等同于变量名=′\0′;或变量名=0;,指针变量并不是指向一个地址为0的存储单元,而是具有一个空值。注意:指针变量赋地址值的方式可以是通过求地址运算获得地址值、通过指针变量获得和通过标准函数获得地址值。

(35)已知#define M 2;的宏定义,执行语句k=M*5;后,k的值是 A)10 B)5 C)2 D)以上答案都不对 解析: 预处理命令在每一行的末尾不能加分号(;),用来区分C语句、定义和说明语句。本题加了分号,这样当宏替换的时候就会把2和分号一起替换到表达式中,这个时候就会产生错误。注意:C语言的预处理命令的语法与C语言中其他部分的语法无关;它们可以根据需要出现在程序的任何一行的开始部位,其作用一直持续到源文件的尾部。

(36)封装是一种信息隐蔽技术,目的在于将对象的使用者和对象的设计者分开。 【解题要点】面向对象技术中包括以下几个基本概念,即对象、类、方法、消息、继承和封装,其中封装是一种信息隐蔽技术,目的在于将对象的使用者对象的和设计者分开。 (37)关系运算是从二维表列的方向进行的运算。 【解题要点】在关系模型的数据语言中,一般除了运用常规的集合运算,(并、

交、差、笛卡尔积等)外,还定义了一些专门的关系运算,如投影、选择、连接等。前者是将关系(即二维表)看成是元组的集合,这些运算主要是从二维表的行的方向来进行的;后者主要是从二维表的列的方向来进行的运算。两者统称为关系代数。

(38)阅读下面程序,则在执行时候的输出为 2,2 。 #include \main() { int x=1,y=2,z=0; if(x=2)z=x,x=y,y=z;//注意这里是赋值号 printf(\\n\); } 解析: if语句的执行过程为:首先计算紧跟在if后面一对圆括号中的表达式,如果表达式的值为非零,则执行其后的if子句,然后去执行if语句后的下一个语句,如果表达式为零,则跳过if子句直接执行if语句后的下一个语句,if(x=2)的值为真,即x的值为2。

(39)语句printf(\\n\′H′-′0′+64);的执行结果为88。 解析:由下面ASCII码得出:‘H’=72 ‘0’=48 所以结果为:72-48+64=88。 常用的几个字符ASCII码:‘0’=48

‘A’=65 ‘a’=97 (40)栈通常采用的两种存储结构是A)线性存储结构和链表存储结构 B)散列方式和索引方式 C)链表存储结构和数组 D)线性存储结构和非线性存储结构 【解题要点】和线性表类似,栈也有两种存储方法,一是顺序栈,二是链式栈。栈的顺序存储结构是利用一组地址连续的存储单元一次存储自栈底到栈顶的数据元素,同时附设指针top指示栈顶元素的位置,由于栈的操作是线性表操作的

特例,相对而言,链式栈的操作更易于实现。 (41)在结构化设计方法中,生成的结构图(SC)中,带有箭头的连线表示 A)模块之间的调用关系 B)程序的组成成分 C)控制程序的执行顺序 D)数据的流向 【解题要点】常用的软件结构设计工具是结构图(SC-Structure Chart),也称程序结构图。其中,矩形内用于注明模块的功能和名字;箭头表示模块间的调用关系,带实心圆的箭头表示传递的是控制信息,带空心圆的箭头表示传递的是数据。

(42)下列选项中,不属于模块间耦合的是 A)数据耦合 C)异构耦合 B)同构耦合 D)公用耦合 【解题要点】模块之间的耦合程度反映了模块的独立性,也反映了系统分解后的复杂程度。按照耦合程度从弱到强,可以将其分成5级,分别是:数据耦合、同构耦合、控制耦合、公用耦合和内容耦合。选项C),没有这种耦合方式。

(43)一个关系中属性个数为1时,称此关系为 A)对应关系 B)单一关系 C)一元关系 D)二元关系 【解题要点】在关系模型数据库中,基本结构是二维表,这种二维表称为关系。关系的列称为属性,一个具有N个属性的关系称为N元关系。

(44)相对于数据库系统,文件系统的主要缺陷有数据关联差、数据不一致性和 A)可重用性差 C)非持久性 B)安全性差 D)冗余性 【解题要点】文件系统所管理的数据文件基本上是分散的、相互独立的,因此相对于数据库系统,以此为基础的数据处理存在3个缺点,数据冗余大、数据的不一致性、程序与数据的相互依赖(简称为数据依赖)。

(45)关于printf()函数的返回值叙述正确的是 A)通常是本次调用中输出字符的个数 B)通常是输出的第一个数值 C)通常返回布尔值真 D)通常返回非零值 【解题要点】printf函数的返回值通常是本次调用中输出字符的个数。

(46)栈和队列通常采用的存储结构是顺序存储结构和链式存储结构 。 【解题要点】栈和队列都属于线性表,它们一般采用顺序存储结构,也可以对它们采用链式存储结构。

(3)软件结构是以模块为基础而组成的一种控制层次结构。 【解题要点】采用模块化原理可以使软件结构清晰,不仅容易设计也容易阅读和理解,模块化使得软件容易测试和调试,因而有利于提高软件的可靠性,也有利于软件的组织管理,大型程序可由不同的程序员编写不同的模块,并且可以进一步分配技术熟练的程序员编写困难的部分。

(5)数据库保护分为:安全性控制、完整性控制、并发性控制和数据的恢复。 【解题要点】安全性控制:防止未经授权的用户有意或无意存取数据库中的数据,以免数据被泄露、更改或破坏;完整性控制:保证数据库中数据及语义的正确性和有效性,防止任何对数据造成错误的操作;并发控制:正确处理好多用户、多任务环境下的并发操作,防止错误发生;恢复:当数据库被破坏或数据不正确时,使数据库能恢复到正确的状态。

END top front

C编程部分 top

(1)有以下程序 float fun(int x,int y) { return(x+y); } main()

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4