更多“下面不属于软件需求分析阶段工作的是(  )。”相关问题
  • 第1题:

    单选题
    以下选项中,能用作用户标识符的(  )。
    A

    void

    B

    8_8

    C

    _0_

    D

    unsigned


    正确答案: D
    解析:
    标识符是由若干个字符组成的字符序列,用来命名程序的一些实体。C语言定义标识符应遵循以下六种规则:①标识符由字母、数字或下划线组成;②第一个字符必须是字母或下划线;③标识符最多由274个字符组成;④在标识符中严格区分大小写字母;⑥关键字不能作为自定义的标识符在程序中使用。A、D项皆为C语言的关键字,B项第一个字符为数字,错误。答案选择C选项。

  • 第2题:

    单选题
    若有定义:int i,j;则表达式(i=2,j=5,i++,i+j++)的值是()
    A

    7

    B

    8

    C

    9

    D

    10


    正确答案: C
    解析: 暂无解析

  • 第3题:

    单选题
    有如下程序: #include  main() {  char a='3',b='A';  int i;  for(i=0;i<6;i++)  {   if(i%3)putchar(a+i);   else putchar(b+i);  }  printf(); } 程序运行后的输出结果是(  )。
    A

    A45D78

    B

    ABC678

    C

    34CD78

    D

    34AB78


    正确答案: D
    解析:
    本题执行过程为:i=0,i%3=0,if条件不成立执行else函数体,输出字符A;i=1,i%3=1,if条件成立输出字符4;i=2,i%3=2,if条件成立输出字符5;i=3,if条件不成立,输出字符D;i=4和i=5时,分别输出字符7与8;i=6退出for循环。所以程序运行后输出结果为A45D78,答案选择A选项。

  • 第4题:

    单选题
    有以下程序 #include  main() {  int a=1,b=3,c=5;  int *p1=&a,*p2=&b,*p=&c;  *p=*p1*(*p2);  printf(%d,c); } 执行后的输出结果是(  )。
    A

    4

    B

    2

    C

    1

    D

    3


    正确答案: D
    解析:
    本题中*p=*p1*(*p2)=a*b=3,也就是将指针p所指存储空间的值改为3,即c改为3。答案选择D选项。

  • 第5题:

    单选题
    有定义:int a[10], n, *p1=a,*p2=&a[9];,则正确的赋值语句为()。
    A

    n=p2-p1;

    B

    n=p2*p1;

    C

    n=p2+p1;

    D

    n=p1/p2;


    正确答案: A
    解析: 暂无解析

  • 第6题:

    单选题
    以下选项中合法的标识符是(  )。
    A

    1_1

    B

    1-1

    C

    _11

    D

    1_ _


    正确答案: C
    解析:
    C语言的标识符命名规则为:①只能由字母、数字和下划线3种字符组成;②标识符首位必须是字母或下划线;③不能与C语言中的关键字或保留字相同。AD两项,标识符首位不能为数字;B项,标识符首位不能为数字且“-”为不合法的字符。答案选择C选项。

  • 第7题:

    单选题
    若有定义: int a[2][3]; 以下选项中对a数组元素正确引用的是(  )。
    A

    a[2][!1]

    B

    a[2][3]

    C

    a[0][3]

    D

    a[1>2][!1]


    正确答案: A
    解析:
    a[2][3]表示2行3列的数组,即a[0][0],a[0][1],a[0][2],a[1][0],a[1][1],a[1][2],行下标最大值为1,列下标最大值为2。D项,其中1>2为假即0,!1也为0,即访问a[0][0]。答案选择D选项。

  • 第8题:

    单选题
    一个教师可讲授多门课程,一门课程可由多个教师讲授,则实体教师和课程间的联系是(  )。
    A

    1:1联系

    B

    1:m联系

    C

    m:1联系

    D

    m:n联系


    正确答案: C
    解析:
    实体集之间通过联系来建立连接关系,包括:一对一联系(1:1)、一对多联系(1:m)、多对多联系(m:n)。本题中一名教师可讲授多门课程,而一门课程又能由多名教师讲授,所以教师和课程之间是多对多的关系,可以表示为m:n,答案选择D选项。

  • 第9题:

    单选题
    下面不属于对象基本特点的是(  )。
    A

    标识唯一性

    B

    可复用性

    C

    多态性

    D

    封装性


    正确答案: D
    解析:
    面向对象设计是建立在“对象”概念上的方法学,对象是面向对象语言中类的实体,其特点包括:①标识唯一性,对象可区分;②分类性,可以将具有相同属性和操作的对象抽象成类;③多态性,同一个操作对于不同对象表现不同的行为;④封装性,屏蔽数据的具体结构以及操作的算法;⑤模块独立性好,对象内部各种元素结合紧密,内聚性强。答案选择B选项。

  • 第10题:

    单选题
    下列#include命令中,正确的是()
    A

    #inclue[string.h]

    B

    #include{string.h}

    C

    #include(string.h)

    D

    #include


    正确答案: D
    解析: 暂无解析

  • 第11题:

    单选题
    有以下程序: #include  main() {  int i=0,sum=1;  do  {   sum += i++;  }while(i<6);  printf(%d,sum); } 程序的输出结果是(  )。
    A

    22

    B

    18

    C

    20

    D

    16


    正确答案: B
    解析:
    语句sum+=i++;相当于sum+=i;i++;程序执行过程为:sum=1,i=1;sum=2,i=2;sum=4,i=3;sum=7,i=4;sum=11,i=5;sum=16,i=6;退出循环。答案选择D选项。

  • 第12题:

    单选题
    有以下程序 #include  void swap(char *x,char *y) {  char t;  t=*x;  *x=*y;  *y=t; } main() {  char *s1,*s2;   char a[]=abc;  char b[]=123;  s1=a;  s2=b;  swap(s1,s2);  printf(%s,%s,s1,s2); } 程序执行后的输出结果是(  )。
    A

    1bc,a23

    B

    abc,123

    C

    123,abc

    D

    321,cba


    正确答案: B
    解析:
    字符串是一个特殊的数组,按照数组的规则,s1应该指向的是数组的首地址,即"abc"的第一个字符的地址。s2指向的是"abc"的第一个字符的地址。调用swap函数之后交换的是两个字符串的第一个字符'a'和'1'的内容,答案选择A选项。

  • 第13题:

    单选题
    下面对类和对象主要特征描述正确的是(  )。
    A

    对象唯一性

    B

    对象无关性

    C

    类的单一性

    D

    类的依赖性


    正确答案: A
    解析:
    对象的特点主要包括:①标识唯一性;②分类性;③多态性;④封装性;⑤模块独立性。类具有对象的特征,是关于对象的抽象描述。答案选择A选项。

  • 第14题:

    单选题
    有以下函数:#include struct stu{ int num; char name[10]; int age;};void fun(struct stu *p){ printf(%s, p->name);}main(){ struct stu x[3] = {{01,Zhang,20}, {02,Wang,19}, {03,Zhao,18}}; fun(x+2);}程序运行后的输出结果是(  )。
    A

    Zhang

    B

    Zhao

    C

    Wang

    D

    19


    正确答案: A
    解析:
    程序定义了结构体stu和结构体数组x,其中x就是数组首地址,即&x[0],x+2代表了指向第三个元素的指针,即&x[2],所以输出p->name为Zhao。答案选择B选项。

  • 第15题:

    单选题
    有以下程序: #include  main() {  int a=0,b=0,c=0,d=0;  (++a||++b)?++c:++d;  printf(%d,%d,%d,%d,a,b,c,d); } 程序的运行结果是(  )。
    A

    1,0,1,0

    B

    1,1,0,1

    C

    1,0,0,1

    D

    1,1,1,0


    正确答案: B
    解析:
    本题程序执行过程为:求解逻辑表达式(++a‖++b),++a的值为1,则整个表达式为真,不计算++b,然后求解++c,不计算++d,最后得到a=1,b=0,c=1,d=0,答案选择A选项。

  • 第16题:

    单选题
    待排序的关键码序列为(15,20,9,30,67,65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第(  )个位置。。
    A

    2

    B

    3

    C

    4

    D

    5


    正确答案: B
    解析:
    简单选择排序的算法可以描述为:将整个待排序序列分为有序和无序两部分,初始时有序部分为空;每一趟排序时扫描无序序列,找到最小的元素,将它与无序序列的首元素交换位置,直到无序序列为空。所以第一趟排序后,将选出的最小元素9与15交换,15被放在第3个位置。答案选择B选项。

  • 第17题:

    单选题
    对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是(  )。
    A

    快速排序

    B

    冒泡排序

    C

    直接插入排序

    D

    堆排序


    正确答案: B
    解析:
    在最坏情况下,冒泡排序、直接插入排序与简单选择排序法均需要比较n(n-1)/2次。希尔排序需要比较n1.5次,堆排序需要比较的次数最少,为nlog2n。答案选择D选项。

  • 第18题:

    单选题
    有以下程序:#includemain(){ int a=1,b=0; if(--a) b++; else if(a==0) b+=2; else b+=3; printf(%d,b);}程序运行后的输出结果是(  )。
    A

    0

    B

    1

    C

    2

    D

    3


    正确答案: C
    解析:
    “++”和“—”运算,当以前缀形式出现时,则先进行加一或减一操作,再取值,当以后缀形式出现时,则先取值,再进行加一或减一操作。a初始定义为1,b为0,先执行--a,结果为0,即if判断为假,执行b+=2;,然后输出b的值。即b为2。答案选择C选项。

  • 第19题:

    单选题
    在结构化方法中,软件功能分解属于下列软件开发中的(  )阶段。
    A

    详细设计

    B

    需求分析

    C

    总体设计

    D

    编程调试


    正确答案: A
    解析:
    总体设计过程通常由两个主要阶段组成:①系统设计,确定系统的具体实现方案;②结构设计,确定软件结构。为确定软件结构,首先需要从实现角度把复杂的功能进一步分解。分析员结合算法描述仔细分析数据流图中的每个处理,如果一个处理的功能过分复杂,必须把它的功能适当地分解成一系列比较简单的功能。答案选择C选项。

  • 第20题:

    单选题
    有以下程序:#include main(){ int x=0,y=6;  do {  while(--y)x++; } while(y--); printf(%d,%d,x,y); }程序的运行结果是(  )。
    A

    5,0

    B

    6,0

    C

    5,-1

    D

    6,-1


    正确答案: A
    解析:
    程序执行过程为:执行do…while的循环体:y=5,判断y为真,x=1;y=4,x=2;y=3,x=3;y=2,x=4;y=1,x=5;y=0,判断y为假,退出循环体。判断do…while条件y=0为假,y=-1,退出循环。输出x,y为5,-1,答案选择C选项。

  • 第21题:

    单选题
    在C语言中,只有在使用时才占用内存单元的变量,其存储类型是(  )。
    A

    auto和register

    B

    extern和register

    C

    auto和static

    D

    static和register


    正确答案: D
    解析:
    C语言中,动态存储区域中存放的变量在使用时才分配内存空间。auto变量的存储单元是分配在内存的动态存储区中,每当进入函数体时自动分配存储单元。register变量也是自动类变量。static说明的变量为静态变量,静态变量在内存的静态存储中占据着永久的存储单元,直至程序运行结束。extern说明的变量为外部变量,属于全局变量,全局变量在整个程序运行期间都占用内存空间。答案选择A选项。

  • 第22题:

    单选题
    有如下程序: struct person {  char name[10];  char sex;  float weight; }zhangsan, *ptr; ptr=&zhangsan; 若要从键盘读入姓名给结构体变量zhangsan的name成员,输入项错误的是(  )。
    A

    scanf(%s,zhangsan->name);

    B

    scanf(%s,zhangsan.name);

    C

    scanf(%s,ptr->name);

    D

    scanf(%s,(*ptr).name);


    正确答案: D
    解析:
    可用以下3种形式来引用结构体变量中的成员:①结构体变量名.成员名;②指针变量名->成员名;③(*指针变量名).成员名。程序定义了一个结构体变量zhangsan,一个结构体指针ptr,并且使指针指向变量 zhangsan。A项zhangsan为结构体变量名,不能用->引用其成员,A项错误。zhangsan.name、ptr->name、(*ptr).name均是正确的引用结构体变量成员的方式。答案选择A选项。

  • 第23题:

    单选题
    有以下程序:#includevoid fun(int *x,int s, int e){ int i,j,t; for(i=s,j=e;i
    A

    4567890123

    B

    3210987654

    C

    9876543210

    D

    0987651234


    正确答案: B
    解析: 程序的执行过程为:定义数组m,并为其赋初值,数组长度为10。调用函数fun(m,0,3)将数组首地址传入函数,函数实现将数组下标值从0到3的元素首尾倒置,for循环结束之后数组为m={3,2,1,0,4,5,6,7,8,9}。调用函数fun(m+4,0,4)将数组下标值为4的元素地址传入函数,函数实现将数组下标值从4到9的元素首尾倒置,for循环结束之后数组为m={3,2,1,0,9,8,7,6,5,4}。调用函数fun(m,0,9)将数组首地址传入函数,函数实现将数组下标值从0到9的元素首尾倒置,for循环结束之后数组为m={4,5,6,7,8,9,0,1,2,3}。依次输出数组元素,结果为4567890123。答案选择A选项。

  • 第24题:

    单选题
    设一棵满二叉树共有15个结点,则在该满二叉树中的叶子结点数为(  )。
    A

    7

    B

    8

    C

    9

    D

    10


    正确答案: C
    解析:
    满二叉树是除了叶子结点外所有结点度都为2的二叉树,当其有n个结点时,非叶子结点数为int(n/2)。本题n=15,故非叶子结点数等于int(15/2)=7,叶子结点数等于15-7=8。答案选择B选项。