day 16 int *p; scanf("%d",p);问题


(1).以下不能用于描述算法的是【A】

(A).E-R图

(B).伪代码

(C).计算机语言

(D).流程图

分析:E-R图也称实体-联系图,提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型,不能描述算法。

算法描述

   算法描述是指对设计出的算法,用一种方式进行详细的描述,以便与人交流。描述可以使用自然语言、伪代码,也可使用程序流程图。

伪代码:就是认为做为编译器的符号,比如注释符等等。

(2).以下叙述中正确的是【A】

(A).结构化程序的三种基本结构是顺序结构、选择结构、循环结构

(B).程序的算法只能使用流程图来描述

(C).N-S流程图只能描述简单的顺序结构的程序

(D).计算机可以直接执行C语言程序,不必进行任何转换

分析:计算机可以直接执行.exe可执行文件。通常写的代码都是源代码,需要预编译生成.obj二进制文件。再经过编译、链接生成.exe可执行文件。

N-S图、伪代码、计算机语言都可以描述算法。

(3).面向对象方法中,继承是指【D】

(A).一组对象所具有的相似性质

(B).一个对象具有另一个对象的性质

(C).各对象之间的共同性质

(D). 类之间共享属性和操作的机制

 分析:面向对象方法中,继承是指类之间共享属性和操作的机制。继承由类的派生功能体现,一个类直接继职其它类的全部描述,同时可修改和扩充。在共有属性的基础之上,继承者也可以定义自己独有的特性。

(4).层次型、网状型和关系型数据库划分原则是【D】

(A).记录长度

(B).文件的大小

(C).联系的复杂程度

(D).数据之间的联系方式

(5).数据库设计中反应用户对数据要求的模块【C】

(A).内模式

(B).概念模式

(C).外模式

(D).设计模式

在数据库的设计中用户的使用,用户的需求,是从外操作数据库的。

(6).以下关于简单程序设计的步骤和顺序的说法中正确的是【B】

(A).确定算法后,整理并写出文档,最后进行编码和上机调试

(B).首先确定数据结构,然后确定算法,在编码,并上机调试,最后整理文档

(C).先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档

(D).先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构

设计简单的程序步骤:先确定数据结构-----再确定算法-----进行编码-----调试-----整理文档

(7).有以下程序:

程序运行后输出的结果是【B】

(A).6 1

(B).7 0

(C).6 3

(D).7 1

分析:x[]=“string\0”;sizeof是计算类型所占空间的大小

strlen是计算字符串的有效个数

x===>“0\00ing\0”

需要注意的是:‘\0’的ASCII值就是0,所以strlen(x)计算出来的值为0

(8).以下程序段完全正确的是【】

(A).int *p;//没有初始化

   scanf("%d",&p);

(B).int *p;//没有初始化

      scanf("%d",p);

(C).int k,*p=&k;//把k的地址存到p中,p就是k的地址

   scanf("%d",p);

(D).int k,*p;*p=&k;

   scanf("%d",p);

这块的概念确定比较混淆:C中是先定义指针*p,因此p就是k的地址

而D中值定义了一个指针,这时就不用带*号了。p是k的地址,而带*是解引用,*p是描述指向这个地址内的值。