通过海量题库、编程比赛和实时排名,系统化提升您的编程能力。
第1题
设有定义:char s[81];int i=0;以下不能将一行带有空格的字符串正确读入的语句或语句组是
while((s[i++]=getchar())!='\n');s[i]='\0';
scanf("%s",s);
gets(s);
do{scanf("%c",&s[i]);}while(s[i++]!='\n');s[i]='\0';
第2题
以下叙述中正确的是
赋值语句是一种执行语句,必须放在函数的可执行部分
scanf printf是C语言提供的输入和输出语句
由printf输出的数据都隐含左对齐
由print输出的数据的实际精度是由格式控制中的域宽和小数的域宽来完全决定的
第3题
定义学生选修课程的关系模式为SC(S#,Sn,Sd,Sa,C(#,G);C,关系模式SC的主键是
S#
C#
S#,C#
Sn,C#
第4题
下列叙述中正确的是
循环队列是顺序存储结构
循环队列是链式存储结构
循环队列是非线性结构
循环队列的插入运算不会发生溢出现象
第5题
某二叉树的前序序列为ABCD,中序序列为DCBA,则后序序列为
BADC
DCBA
CDAB
ABCD
第6题
有以下程序
main() { int y=10; while(y--); printf("y=%d\n",y); }
程序执行后的输出结果是
y=0
y=1
y=-1
while构成无限循环
第7题
以下结构体类型说明和变量定义中正确的是
typedef struct{int n;char c;}REC;REC t1,t2;
struct REC;int n;char c;l REC t1,t2;
typedef struct REC;{int n-0;char c='A';}t1,t2;
struct{int n;char c;}REC;REC t1,t2;
第8题
有三个关系R,S和T如下图所示,则由关系R和S得到关系T的操作是:
并
自然连接
笛卡尔积
差
第9题
标识符的长度不能任意长,最多只能包含16个字符
语言中的关键字不能作变量名,但可以作为函数名
用户自定义的标识符必须"见名知义",如果随意定义,则会出编译错误
标识符总是由字母、数字和下划线组成,且第一个字符不得为数字
第10题
#include <stdio.h> #include"string.h" typedef struct { char name [9]; char sex;float score [2] }; STU; void f(STU a) { STU b={"Zhao",'m',85.0,90.0}; int i; strcpy(a.name,b.name); a.sex=b.sex ; for(i = 0;i<2;i ++) a.score[i]=b.score[i]; }
程序的运行结果是
Qian,m,85,90
Zhao,m,85,90
Zhao,f,95,92
Qian,f,95,92
第11题
若在定义语句:int a,b,c,*p=&c;接着执行以下选项中的语句,则能正确执行的语句是
scanf("%d%d%d",a,b,c);
scanf("%d",a,b,c);
scanf("%d",p);
scanf("%d",&p);
第12题
若有以下程序
#include<stdio.h> int *f(int *s, int *t) { int *k; if (*s<*t) { k= s;s=t;t=k; } return s; } main() { int i=3,j=5,*p=&i,*q=&j,*r; r=f(p,q); printf("%d,%d,%d,%d,%d\n",i,j,*P,*q,*r); }
则程序的输出结果是
3,5,5,3,5
5,3,5,3,5
5,3,3,5,5
3,5,3,5,5
第13题
软件生存周期中,解决软件"做什么"的阶段是
需求分析
软件设计
软件实现
可行性研究
第14题
下列叙述中错误的是
算法的时间复杂度与算法所处理数据的存储结构有直接关系
算法的空间复杂度与算法所处理数据的存储结构有直接关系
算法的时间复杂度与空间复杂度有直接关系
算法的时间复杂度与空间复杂度没有必然的联系
第15题
线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
线性表的链式存储结构所需要的存储空间一股要少于顺序存储结构
以上三项均正确
第16题
设循环队列的存储空间为Q(1:50),初始状态为front-rear=50,经过一系列正常的操作后,front-1=rear,为了在该队列中寻找值最大的元素,在最坏情况下需要的比较次数为
0
1
48
49
第17题
结构化程序所要求的基本结构不包括
顺序结构
GOTO跳转
选择(分支)结构
重复(循环)结构
第18题
在软件开发中,需求分析阶段产生的主要文档是
可行性分析报告
软件需求规格说明书
概要设计说明书
集成测试计划
第19题
需求分析阶段产生的主要文档是
确认测试计划
初步的用户手册
需求规格说明书
数据流图和数据字典
第20题
在scanf函数的格式串中,必须有与输入项-对应的格式转换说明符
只能在print函数中指定输入数据的宽度,而不能在scanf函数中指定输入数据占的宽度
scanf函数中的字符串,是提示程序员的,输入数据时不必管它
复合语句也被称为语句块,它至少要包含两条语句
第21题
负责数据库中查询操作的数据库语言是
数据定义语言
数据管理语言
数据操纵语言
数据控制语言
第22题
#include <stdio.h> main() { char c1,c2; c1='C'+'8'-'3'; c2='9'-'0'; printf("%c%d\n",c1,c2); }
H 9
H '9'
F'9'
表达式不合法输出无定值
第23题
我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是
一条C语句可能会被转换成多条机器指令
一条C语句对应转换成一条机器指令
一条C语句可能会被转换成零条机器指令
某种类型和格式的C语句被转换成机器指令的条数是固定的
第24题
以下叙述中错误的是
C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件
用C语言编写的程序称为源程序,它以ASCI代码形式存放在一个文本文件中
C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令
C语言源程序经编译后生成后缀为.obj的目标程序
第25题
算法的效率只与问题的规模有关,而与数据的存储结构无关
算法的时间复杂度是指执行算法所需要的计算工作量
数据的逻辑结构与存储结构是-对应的
算法的时间复杂度与空间复杂度一定相关
第26题
设栈的存储空间为S(1:50),初始状态为top=0,现经过一系列正常的入栈与退栈操作后,top=51,则栈中的元素个数为
不可能
50
第27题
某系统结构图如下图所示,该系统结构图的宽度是
n
3
2
第28题
设栈的顺序存储空间为S(1:m),初始状态为top=0,现经过一系列正常的入栈与退栈操作后,top=m+1,则栈中的元素个数为
m+1
m
第29题
void fun(double *p1,double *p2,double *s) { s =(double*)calloc(1, sizeof(double)); *s=*p1+*(p2+1); } main() { double a[2]={1.1,2.2},b[2]={10.0,20.0},*s=a; fun(a,b,s); printf("%5.2f\n",*s); }
程序的输出结果是
1.10
11.10
12.10
21.10
第30题
#include <stdio.h> int k=7, m=5; void f(int **s) { int *t=&k; s=&t;*s=&m; printf("%d,%d,%d,",k,*t,**s); } main() { int i=3,*p=&i,**r=&p; f(r); printf("%d,%d,%d\n",i,*p,**r); }
7,5,7,3,3,3,
7,5,7,3,5,7,
7,5,5,3,3,3,
7,7,5,3,3,3,
第31题
下面关于位运算符的叙述,正确的是
#表示"按位异或"的运算
表示"按位或"的运算
~表示"按位异或"的运算
&表示"按位与"的运算
第32题
以下不合法的数值常量是
1e1
011
0xabcd
8.0E0.5
第33题
定义学生、教师和课程的关系模式S(S#,Sn,Sd,DC,Sa);C(C#,Cn,P#);SC(S#,C#,G),包含对非主属性部分依赖的关系是
S(S#,Sn,Sd,Dc,Sa)
C(C#,Cn,P#)
SC(S#,C#,G)
S(S#,Sd,S#,c#)
第34题
有三个关系R,S和T如下
:
选择
交
第35题
下面不能作为结构化方法软件需求分析工具的是
系统结构图
数据字典
数据流程图
判定表
第36题
所有数据结构必须有根结点
所有数据结构必须有终端结点
只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构
没有根结点或没有叶子结点的数据结构一定是非线性结构
第37题
若有定义语句:int a=3,b=2,c=1;以下选项中错误的赋值表达式是
a=b=c+1;
a=(b=4)=3;
a=(b=4)+c;
a=1+(b=c=4)
第38题
某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是
10
8
6
4
第39题
定义学生选修课程的关系模式:SC(S#,Sn,C#,Cn,G)则该关系的主键为
S#,C#,G
第40题
某二叉树的前序遍历序列与中序遍历序列相同,均为ABCDEF,则按层次输出的序列为
ABCDEF
BCDEFA
FEDCBA
DEFABC
第41题
用筛选法可得到2-n(n<10000)之间的所有素数,方法是:首先从素数2开始,将所有2的倍数的数从数表中删去(把数表中相应位置的值置成0);接着从数表中找下一个非0数,并从数表中删去该数的所有倍数;依此类推,直到所找的下一个数等于n为止。这样会得到一个序列:
2,3,5,7,11,13,17,19,23,....
函数fun用筛选法找出所有小于等于n的素数,并统计素数的个数作为函数值返回。
请在程序的下划线处填入正确的内容,使程序得出正确的结果。
不得增行或删行,也不得更改程序的结构!
#include <stdio.h> #include <stdlib.h> int fun(int n) { int a[10000], i, j, count=0; for (i=2; i<=n; i++) { a[i] = i; } i = 2; while (i<n) { /**********found**********/ for (j=a[i]*2; j<=n; j+=__(1)__) { a[j] = 0; } i++; /**********found**********/ while (__(2)__==0) { i++; } } printf("\n 2 到 %d 的素数有:\n", n); for (i=2; i<=n; i++) { /**********found**********/ if (a[i]!=__(3)__) { count++; printf(count%15?"%5d":"\n%5d",a[i]); } } return count; } main() { int n=30, r; r = fun(n); printf("\n素数的个数为:%d\n", r); system("pause"); }
第42题
函数fun的功能是:为一个偶数寻找两个素数,这两个素数之和等于该偶数,并将这两个素数通过形参指针传回主函数。
请改正程序中的错误,使它能得出正确的结果。
不要改动main函数,不得增行或删行,也不得更改程序的结构!
#include <stdio.h> #include <math.h> void fun(int a,int *b,int *c) { int i, j, d, y; for(i=3; i<=a/2; i=i+2) { /**************found**************/ Y=1; for(j=2; j<=sqrt((double)i); j++) { if(i%j==0) { y=0; } } if(y==1) { /**************found**************/ d==a-i; for(j=2; j<=sqrt((double)d); j++) { if(d%j==0) y=0; } if(y==1) { *b=i; *c=d; } } } } main() { int a,b,c; do { printf("\nInput a:"); scanf("%d",&a); } while(a%2); fun(a,&b,&c); printf("\n\n%d = %d + %d\n",a,b,c); system("pause"); }
第43题
请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。
例如,在主函数中从键盘给n输入20后,输出为:s=0.583333.
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include <stdio.h> #include <stdlib.h> double fun(int n) { int i; double sun=0.0; for(i=1;i<n;i++) { if(①) { ② } } return sum; } main() { void NONO(); int n; double s; printf("\nInput n: "); scanf("%d",&n); s=fun(n); printf("\ns=%f\n",s); NONO(); system("pause"); } void NONO() {/* 请在此函数内打开文件,输入测试数据, 调用函数,输出数据,关闭文件。 */ FILE *rf, *wf; int n, i; double s; rf=fopen("in.dat","r"); wf=fopen("out.dat","w"); for(i=0; i<8; i++) { fscanf(rf, "%d", &n); s=fun(n); fprintf(wf, "%lf\n", s); } fclose(rf); fclose(wf); }
选择题(0 - 40题,共计40分) 填空题(包括程序填空题,程序修改题,程序设计题)(41-43题 共计60分)