1.下列给定程序中,是建立一个带头结点的单向链表,并用随机函数为各结点数据域赋值。函数fun的作用是求出单向链表结点( )数据域中的 大值,并且作为函数值返回。请改正程序指定部位的错误,使它能得到正确结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。/**********code.c**********/#include#includetypedef struct aa{int data;struct aa *next;} NODE;fun( ){int max=-1;NODE *p;/**********found**********/p=h;while( ){if( )max=p->data;/**********found**********/p=h->next;}return max;}outresult( ){fprintf( );}NODE *creatlink( ){NODE *h,*p,*s,*q;int i,x;h=p=( )malloc( br/>h->data=9999;for( ){s=( )malloc( br/>s->data=rand()%m;s->next=p->next;p->next=s;p=p->next;}p->next=NULL;return h;}outlink( ){NODE *p;p=h->next;fprintf( );while( ){fprintf( );p=p->next;}fprintf( );}main(){NODE *head;int m;head=creatlink( );outlink( );m=fun( );printf( );outresult( );}/**********-code.c**********/
解析:【解析】程序中使用while循环语句,并结合结构体指针p来找到数据域中的大值。错误1:该单向链表具有头结点,所以给p赋初值时应改为:p=h->next;。错误2:p指向自己的下一个结点,所以应改为:p=p->next;。
https://www.shititong.cn/cha-kan/shiti/00022cbc-26fc-9920-c0cb-74c63d66eb00.html
点击查看答案
54.运动会中一个运动项目可以有多名运动员参加,一个运动员可以参加多个运动项目,则实体项目和运动员之间的联系是( )。
A. 多对多
B. 一对多
C. 多对一
D. 一对一
解析:【解析】实体集之间必须通过联系来建立联接关系,可分为:①一对一联系,即1:1;②一对多联系,即1:m;③多对多联系,即m:n。一个运动员可以参加多个运动项目,同时,一个运动项目也可以有多个运动员参加,因此,实体项目和运动员之间的联系是多对多。答案选择A选项。
https://www.shititong.cn/cha-kan/shiti/00022cbc-26ff-9b1e-c0cb-74c63d66eb00.html
点击查看答案
31.下面描述中不属于软件需求分析阶段任务的是( )。
A. 撰写软件需求规格说明书
B. 软件的总体结构设计
C. 软件的需求分析
D. 软件的需求评审
解析:【解析】需求分析阶段的工作包括:①需求获取;②需求分析;③编写需求规格说明书;④需求评审。软件的总体结构设计属于概念设计阶段的工作。答案选择B选项。
https://www.shititong.cn/cha-kan/shiti/00022cbc-26fe-ba72-c0cb-74c63d66eb00.html
点击查看答案
57.若有定义:float x=1.5;int a=1,b=3,c=2;则正确的switch语句是( )。
A. switch(a+b){case 1: printf("*\n");case c: printf("**\n");}
B. switch((int)x);{case 1: printf("*\n");case 2: printf("**\n");}
C. switch(x){case 1.0: printf("*\n");case 2.0: printf("**\n");}
D. switch(a+b){case 1: printf("*\n");case 2+1: printf("**\n");}
解析:【解析】
https://www.shititong.cn/cha-kan/shiti/00022cbc-2702-2e95-c0cb-74c63d66eb00.html
点击查看答案
59.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列的元素个数为( )。
A. 15
B. 16
C. 20
D. 0或35
解析:【解析】在循环队列中,front为队首指针,指向队首元素的前一个位置;rear为队尾指针,指向队尾元素。front=rear=15时,①循环队列可能为空,队首和队尾指针都指向空元素,此时循环队列的元素个数为0;②循环队列可能为满,此时循环队列的元素个数为35。答案选择D选项。
https://www.shititong.cn/cha-kan/shiti/00022cbc-26fd-a1df-c0cb-74c63d66eb00.html
点击查看答案
32.有以下程序:#include main(){int a=1,b=0;printf("%d,",b=a+b);printf("%d\n",a=2*b);}程序运行后的输出结果是( )。
A. 0,0
B. 1,0
C. 3,2
D. 1,2
解析:【解析】main函数先为a、b赋值,然后做运算a+b结果赋值给b,此时b为1,并将b打印出来。接着做运算2*b结果为2*1=2赋值给a,将a打印出来,所以 终的输出结果为1,2。答案选择D选项。
https://www.shititong.cn/cha-kan/shiti/00022cbc-26fb-c714-c0cb-74c63d66eb00.html
点击查看答案
46.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( )。
A. 课号,成绩
B. 学号,成绩
C. 学号,课号
D. 学号,姓名,成绩
解析:【解析】学号是学生表S的主键,课号是课程表C的主键,所以选课表SC的关键字应该是与前两个表能够直接联系且能唯一定义的学号和课号。答案选择C选项。
https://www.shititong.cn/cha-kan/shiti/00022cbc-26ff-897a-c0cb-74c63d66eb00.html
点击查看答案
38.有两个关系R和T如下:则由关系R得到关系T的操作是( )。
解析:【解析】关系T是由关系R的第1、3列的元组组成,这是对关系R进行投影运算的结果。可以简单理解为:选择运算是对行(元组)的操作,投影运算是对列的操作。投影运算是对列的操作。投影是从表中选出指定的属性值组成新表,是单目运算,答案选择C选项。
https://www.shititong.cn/cha-kan/shiti/00022cbc-26fd-1c4f-c0cb-74c63d66eb00.html
点击查看答案
3.C语言主要是借助以下( )功能来实现程序模块化的。
A. 定义函数
B. 定义常量和外部变量
C. 三种基本结构语句
D. 丰富的数据类型
解析:【解析】
https://www.shititong.cn/cha-kan/shiti/00022cbc-26fa-d99e-c0cb-74c63d66eb00.html
点击查看答案
40.有以下程序:#include int fun(int x,int y){if(x==y)return(x);else return((x+y)/2);}main(){int a=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));}程序运行后的输出结果是( )。
解析:【解析】fun的功能是求两数的平均数,并且参数和结果都为整型。题中是用一个函数作为另一个函数的参数,所以应该先做里面嵌套的函数即fun(b,c),值为5。fun(2*a,fun(b,c))即为计算fun(2*4,5),所以结果为(5+8)/2=6。答案选择B选项。
https://www.shititong.cn/cha-kan/shiti/00022cbc-26fc-3281-c0cb-74c63d66eb00.html
点击查看答案