若有以下程序
main()
{
int a=6, b=0, c=0;
for(;a;)
{
b+=a;
a-=++c;
}
printf("%d,%d,%d\n",a,b,c);
}
则程序的输出结果是( )
1,14,3
0,18,3
0,14,3
0,14,6
循环队列的存储空间为Q(1:200),初始状态为front-rear=200,经过一系列正常的入队与退队操作后,front-rear-1,则循环队列中的元素个数为( )
0或200
1
2
199
以下叙述中正确的是( )
对于逻辑表达式:a++&&b++,设a的值为0,则求解表达式的值后,b的值会发生改变
对于逻辑表达式:a++||b++,设a的值为1,则求解表达式的值后,b的值会发生改变
关系运算符的结果有三种:0,1,-1
else不是一条独立的语句,它只是语句的一部分
计算机软件包括( )
算法和数据
程序和数据
程序和文档
程序、数据及相关文档
若有定义语句:char*s1-"OK",*s2="ok";以下选项中,能够输出"OK"的语句是( )
if(strcmp(s1,s2)!=0)puts(s1);
if(strcmp(s1,s2)!=0)puts(s2);
if(strcmp(s1,s2)==1)puts(s1) ;
if(strcmp(s1,s2)==0)puts(s1);
有以下程序
#include <stdio.h>
int f(int n);
main()
{
int a=3,s;
s=f(a);
s=s+f(a)
printf("%d\n",s);
}
int f(int n)
{
static int a=1;
n+=a++;
return n;
}
程序运行后的输出结果是( )
9
8
7
10
下列结构中属于线性结构链式存储的是( )
双向链表
循环队列
二叉链表
二维数组
在数据库设计中,描述数据间内在语义联系得到E-R图的过程属于( )
逻辑设计阶段
需求分析阶段
概念设计阶段
物理设计阶段
软件需求规格说明的内容应包括( )
E-R模型
算法详细设计
软件的主要功能
软件总体结构
某二叉树共有13个结点,其中有4个度为1的结点,则叶子结点数为( )
5
4
3
2
在黑盒测试方法中,设计测试用例的根据是( )
数据结构
程序调用规则
模块间的逻辑关系
软件要完成的功能
有以下程序
#include <stdio.h>
main()
{
int a[]={10,20,30,40};
*p=a,i;
for (i=0;i<=3;i++)
{
a[i]=*p;
p++;
}
printf("%d\n",a[2];
}
程序运行后的输出结果是( )
20
30
10
40
下列函数的功能是
void fun(char*a,char*b){
while((*b=*a)!='\0'){
a++;b++;}
}
使指针b指向a所指字符串
将a所指字符串和b所指字符串进行比较
将a所指字符串赋给b所指空间
检查a和b所指字符串中是否有'\0'
某系统总体结构如下图所示,该系统结构图的最大扇出数是( )
1
2
3
5
某系统结构图如下图所示,则该系统结构图的宽度是( )
2
3
4
n
某二叉树共有399个结点,其中有199个度为2的结点,则该二叉树中的叶子结点数为( )
不存在这样的二叉树
200
198
199
以下不合法的数值常量是( )
1e1
011
Oxabcd
8.0E0.5
我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是( )
一条C语句可能会被转换成多条机器指令
一条C语句对应转换成一条机器指令
一条C语句可能会被转换成零条机器指令
某种类型和格式的C语句被转换成机器指令的条数是固定的
有以下结构体说明、变量定义和赋值语句struct STD{char name[10];int age;char sex;}s[5].*ps;ps=&s[0];则以下scanf函数调用语句有错误的是( )
scanf("%d",&s[0].age);
scanf("%c",&(ps->sex));
scanf("%s",s[0].name);
scanf("%d",ps->age);
有以下程序
void fun (chars)
{
char a[10];
strcpy(a,"STRING");
s=a;
}
main()
{
char*p="PROGRAM";
fun(p);
printf("%s\n",p);
}
程序运行后的输出结果是(此处口代表空格)
STRING口口口口
PROGRAM
STRING口口口
STRING
有三个关系R,S和T如下图所示,则由关系R和S得到关系T的操作是
选择
投影
交
并
下列叙述中错误的是( )
循环链表是循环队列的存储结构
二叉链表是二叉树的存储结构
栈是线性结构
循环队列是队列的存储结构
第三范式是在第二范式的基础上消除了( )
非主属性对键的传递函数依赖
非主属性对键的部分函数依赖
多值依赖
以上三项
有以下程序
#include <stdio.h>
int f(int x, int y)
{
return((y-x)*x);}
main()
{
int a=3,b=4,c=5,d;
d=f (f(a,b), f(a,c));
printf("%d\n",d);
}
程序运行后的输出结果是( )
10
8
9
7
以下叙述中正确的是( )
函数的返回值不能是结构体类型
函数的返回值不能是结构体指针类型
在调用函数时,可以将结构体变量作为实参传给函数
结构体数组不能作为参数传给函数
某图书集团数据库中有关系模式R,其中要求①每个书店的每种书籍只在该书店的一个部门销售;②每个书店的每个部门只有一个负责人;③每个书店的每种书籍只有一个库存数量。则关系模式R最高是( )
1NF
2NF
3NF
BCNF
下列叙述中正确的是( )
在C程序中main函数的位置是固定的
C程序中所有函数之间都可以相互调用
每个C程序文件中都必须要有一个main函数
在C程序的函数中不能定义另一个函数
有两个关系R和S如下图所示,则由关系R得到关系S的操作是
选择
投影
插入
连接
以下叙述中正确的是( )
在C语言程序设计中,所有函数必须保存在一个源文件中
在算法设计时,可以把复杂任务分解成一些简单的子任务
只要包含了三种基本结构的算法就是结构化程序
结构化程序必须包含所有的三种基本结构,缺一不可
有以下程序
#include <stdio.h>
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}
程序执行后的输出结果是( )
y=0
y=-1
y=1
while构成无限循环
下列叙述中正确的是( )
顺序存储结构的存储一定是连续的,链式存储结构的存储空间不一定是连续的
顺序存储结构只针对线性结构,链式存储结构只针对非线性结构
顺序存储结构能存储有序表,链式存储结构不能存储有序表
链式存储结构比顺序存储结构节省存储空间
若变量已正确定义,以下选项中非法的表达式是( )
a!=4||'b'
'a'%4
'a'=1/2*(x=y=20,x*3)
'A'+ 32
有以下程序
#include <stdio.h>
void main()
{
char b,c;
int i;
b='a';c='A';
for(i=0;i<6;i++)
{
if(i%2) putchar(i+b);
else putchar(i+c);
}
printf("\n");
}
程序运行后的输出结果是( )
ABCDEF
aBcDeF
abcdef
AbCdEf
算法的空间复杂度是指( )
算法在执行过程中所需要的计算机存储空间
算法所处理的数据量
算法程序中的语句或指令条数
算法在执行过程中所需要的临时工作单元数
软件需求规格说明书的作用不包括( )
软件验收的依据
用户与开发人员对软件“做什么"的共同理解
软件设计的依据
软件可行性研究的依据
有以下程序
#include <stdio.h>
void fun(char **p)
{
++p;
printf("%s\n",*p);
}
main()
{
char *a[]=("Morning","Afternoon","Evening","Night");
fun(a);
}
程序的运行结果是( )
fternoon
Morning
orning
Afternoon
以下叙述中正确的是( )
对于变量而言,"定义"和“说明"这两个词实际上是同一个意思
在复合语句中不能定义变量
全局变量的存储类别可以是静态类
函数的形式参数不属于局部变量
设栈的存储空间为S(1:50),初始状态为top-0,现经过一系列正常的入栈与退栈操作后,top=51,则栈中的元素个数为( )
不可能
50
0
1
结构化程序包括的基本控制结构是( )
程序与子程序
选择结构、循环结构与层次结构
顺序结构、选择结构与循环结构
模块结构、选择结构与层次结构
有以下程序
#include <stdio.h>
int fun (int a,int b)
{
if (b==0)
return a;
else return (fun(--a,--b));
}
main()
{
printf("%d\n",fun(4,2));
}
程序的运行结果是( )
1
2
3
4
给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。当调用正确时,程序输出:
x1=5.000000,x2=3.000000,x1*x1 +x1*x2=40.000000
不得增行或删行,也不得更改程序的结构!
#include <stdio.h>
#include <stdlib.h>
double f1(double x)
{
return x*x;
}
double f2(double x, double y)
{
return x*y;
}
/**********found**********/
__(1)__ fun(int i, double x, double y)
{
if(i==1)
{
/**********found**********/
return __(2)__(x);
}
else
{
/**********found**********/
return __(3)__(x,y);
}
}
main()
{
double x1=5, x2=3, r;
r = fun(1, x1, x2);
r += fun(2, x1, x2);
printf("\nx1=%f, x2=%f, x1*x1+x1*x2=%f\n",x1, x2, r);
system("pause");
}
给定程序函数fun的功能是:比较两个字符串,将长的那个字符串的首地址作为函数值返回。
请改正程序中的错误,使它能得出正确的结果。
不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include <conio.h>
#include <stdio.h>
/**********found**********/
char fun(char *s, char *t)
{
int s1=0, t1=0;
char *ss, *tt;
ss=s;
tt=t;
while(*ss)
{
s1++;
/**********found**********/
(*ss)++;
}
while(*tt)
{
t1++;
tt++;
}
if (t1>s1)
{
return t;
}
else
{
return s;
}
}
main()
{
char a[80],b[80];
printf("\nEnter a string:");
gets(a);
printf("\nEnter a string again:");
gets(b);
printf("\n\nThe longer is:\n\n%s\n",fun(a,b));
system("pause");
}
请编写函数fun,函数的功能是:判断字符串是否为回文?若是,函数返回1,主函数中输出:YES;否则返回0,主函数中输出NO,回文是指顺读和倒读都一样的字符串。
例如,字符串LEVEL是回文,而字符串123312就不是回文。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun中填入你编写的若干语句。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define N 80
int fun(char *str)
{
int i,n=0,fg=1;
char *p=str;
while(①)
{
②
③
}
for(i=0;i<n/2;i++)
{
if(④)
{
⑤
⑥
}
}
return fg;
}
main()
{
char s[N];
void NONO();
printf("Enter a string:");
gets(s);
printf("\n");
puts(s);
if(fun(s))
{
printf("YES\n");
}
else
{
printf("NO\n");
}
NONO();
system("pause");
}
void NONO()
{/* 请在此函数内打开文件,输入测试数据,
调用函数,输出数据,关闭文件。 */
FILE *rf, *wf;
int i;
char s[N];
rf=fopen("in.dat","r");
wf=fopen("out.dat","w");
for(i=0; i<8; i++)
{
fscanf(rf, "%s", s);
if(fun(s))
{
fprintf(wf, "%s YES\n", s);
}
else
{
fprintf(wf, "%s NO\n", s);
}
}
fclose(rf);
fclose(wf);
}