二级C语言模拟654Word文档格式.docx
《二级C语言模拟654Word文档格式.docx》由会员分享,可在线阅读,更多相关《二级C语言模拟654Word文档格式.docx(22页珍藏版)》请在冰豆网上搜索。
![二级C语言模拟654Word文档格式.docx](https://file1.bdocx.com/fileroot1/2022-12/30/546ad1eb-a76d-40bd-954d-6f01415fc202/546ad1eb-a76d-40bd-954d-6f01415fc2021.gif)
for(i=0;
i<4;
i++)
{a[i][0]=a[i][3]='
#'
;
for(j=1;
j<3;
j++)
{a[0][j]=a[3][j]='
if((i!
=0)&
&
(i!
=3))a[i][j]='
o'
for(i=1;
i<3;
i++)
{for(j=0;
j<4;
j++)
%2c"
a[i][j]);
printf("
\n"
);
}
程序的运行结果是______。
A.#oo#
#oo#
B.####
#oo#
C.#oo#
####
D.####
####
7、有以下程序段
intj;
floaty;
charname[50];
scanf("
%2d%f%s"
&
j,&
y,name);
当执行上述程序段,从键盘上输入555667777123后,y的值为______。
A.566.0
B.55566.0
C.7777.0
D.566777.0
8、下列选项中不是C语句的是______。
A.{
inti;
i++;
%d\n"
i);
B.;
C.a=5,c=10
D.{;
9、构成计算机软件的是______。
A.源代码
B.程序和数据
C.程序和文档
D.程序、数据及相关文档
10、以下叙述中正确的是______。
A.在scanf函数中的格式控制字符串是为了输入数据用的,不会输出到屏幕上
B.在使用scanf函数输入整数或实数时,输入数据之间只能用空格来分隔
C.在printf函数中,各个输出项只能是变量
D.使用printf函数无法输出百分号%
11、有以下程序:
main()
inta=3;
a+=a-=a*a;
a);
程序的输出结果是______。
A.0
B.9
D.-12
12、以下关于字符串处理的叙述正确的是______。
A.进行字符串复制时,目的串的存储空间必须足够大
B.两个字符串进行比较时,短的一个必定比长的一个小
C.计算一个字符串的长度时,应包含串尾的结束标志
D.两个字符串连接时,对存储空间的大小没有要求
13、以下说法正确的是______。
A.C程序是从第一个定义的函数开始执行的
B.在C程序中,要调用的函数必须在main()函数中定义
C.C程序是从main()函数开始执行
D.C程序中的main()函数必须放在程序的开始部分
14、已知大写字母A的ASCII码是65,小写字母a的ASCII码是97。
以下不能将变量c中的大写字母转换为对应小写字母的语句是______。
A.c=('
A'
+c)%26-'
a'
B.c=c+32
C.c=c-'
+'
D.c=(c-'
)%26+'
15、有以下程序
{inti,s=0,t[]={1,2,3,4,5,6,7,8,9};
i<9;
i+=2)s+=*(t+i);
s);
程序执行后的输出结果是______。
A.25
B.20
C.45
D.36
16、以下选项中关于程序模块化的叙述错误的是______。
A.把程序分成若干相对独立的模块,可便于编码和调试
B.把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块
C.可采用自低向上、逐步细化的设计方法把若干独立模块组装成所要求的程序
D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序
17、有以下程序:
{unsignedchara=2,b=4,c=5,d;
d=a|b;
d&
=c;
d);
A.3
B.4
C.5
D.6
18、某二叉树共有12个节点,其中叶子节点只有1个,则该二叉树的深度为(根节点在第l层)______。
B.6
C.8
D.12
19、关系数据库规范化主要为克服数据库逻辑结构中的插入异常、删除异常以及______。
A.数据丢失的问题
B.结构不合理的问题
C.数据不一致的问题
D.冗余度大的问题
20、有以下程序:
#include<stdlib.h>
intfun(intn)
{int*p;
p=(int*)malloc(sizeof(int));
*p=n;
return*p;
{inta;
a=fun(10);
a+fun(10));
A.10
C.0
D.出错
21、以下叙述中错误的是______。
A.gets函数用于从终端读入字符串
B.getchar函数用于从磁盘文件读入字符
C.fputs函数用于把字符串输出到文件
D.fwrite函数用于以二进制形式输出数据到文件
22、已知函数的调用形式:
fread(buffer,size,count,fp);
,其中buffer代表的是______。
A.一个整型变量,代表要读入的数据项总数
B.一个文件指针,指向要读的文件
C.一个指针,是指向的输入数据放在内存中的起始位置
D.一个存储区,存放要读的数据项
23、有两个关系R和T如下:
R
A
B
C
a
1
2
b
4
c
3
d
T
则由关系R得到关系T的操作是______。
A.选择
B.交
C.投影
D.并
24、若有以下程序段,w和k都是整型变量:
w=k;
LB:
if(w==0)gotoLE;
w--;
*"
)
gotoLB;
LE;
则不能与上面程序段等价的循环语句是______。
A.for(w=k;
w!
=0;
w--)printf("
B.for(w=k;
w;
--w)printf("
C.w=k;
while(w--!
=0)printf("
D.w=k;
w++;
do{w--;
}while(w!
=0);
25、以下定义数组的语句中错误的是______。
A.intnum[]={1,2,3,4,5,6};
B.intnum[][3]={{1,2},3,4,5,6};
C.intnum[2][4]={{1,2},{3,4},{5,6}};
D.intnum[][4]={1,2,3,4,5,6};
26、有以下程序
intfun(intx,inty)
{if(x!
=y)return((x+y)/2);
elsereturn(x);
{inta=4,b=5,c=6;
fun(2*a,fun(b,c)));
A.6
B.3
27、下列语句组中,正确的是______。
A.char*s;
s="
Olympic"
B.chars[7];
C.char*s;
s={"
D.chars[7];
28、以下所列对结构类型变量tdl的声明中错误的是______。
A.typedefstructaa
{intn;
floatm;
}AA;
B.#defineAAstructaa
AA{intn;
)tdl;
AAtdl;
C.struct
floatm;
)aa;
D.struct
}tdl;
structaatdl;
29、以下程序运行后的输出结果是______。
#include<stdjo.h>
voidreverse(inta[],intn)
{inti,t;
i<n/2;
{t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
mam()
{intb[10]={10,9,8,7,6,5,4,3,2,1);
inti,s=0;
reverse(b,10);
s+=b[i];
A.27
C.25
D.30
30、下列选项中,由C语言提供的合法关键字的是______。
A.swicth
B.cher
C.default
D.Case
31、有以下程序段:
intx;
for(x=3;
x<6;
x++)
printf((x%2)?
("
**%d"
):
("
##%d\n"
),x);
程序段的输出结果是
A.**3
##4
**5
B.##3
**4
##5
C.##3
**4##5
.
D.**3##4
32、以下fun函数返回数组中最大值的下标:
intfun(int*s,intn)
{inti,k;
for(i=0,k=i;
i<n;
if(s[i]>s[k])______;
return(k);
在横线处应填入的内容是______。
A.++k
B.i=k
C.k++
D.k=i
33、有以下程序:
structtt
{intx;
structtt*y;
}s[3]={1,0,2,0,3,0};
{structtt*p=s+1;
p->y=s;
%d,"
p->x);
p=p->y;
A.2,3
B.2,1
C.1,2
D.3,1
34、若有定义语句:
intb=2;
则表达式(b<<2)/(3||b)的值是______。
B.2
C.4
D.8
35、有以下程序:
{inti=3,j=5,*p=&
i,*q=&
j,**r;
r=&
q;
%d,%d,%d,%d,%d\n"
i,j,*p,*q,**r);
执行后的输出结果是______。
A.3,5,3,5,5
B.5,3,5,3,5
C.3,5,3,5,3
D.3,5,3,3,5
36、数据库技术的根本目标是要解决数据的______。
A.存储问题
B.共享问题
C.安全问题
D.保护问题
37、有以下程序:
matin()
{
char*s[]={"
one"
"
two"
three"
},*p;
p=s[1];
%c,%s\n"
*(p+1),s[o]);
A.n,two
B.t,one
C.w,one
D.o,two
38、下列关于C语言数据文件的叙述中正确的是______。
A.文件由ASCII码字符序列组成,C语言只能读写文本文件
B.文件由二进制数据序列组成,C语言只能读写二进制文件
C.文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
D.文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
39、已知某程序中有声明“inta[4],j;
”及语句“for(j=0;
j<
4;
j++)p[j]=a+j;
”,则标识符P正确的声明形式应为______。
A.intp[4];
B.int*p[4];
C.int**p[4];
D.int(*p)[4];
40、有以下程序:
inta=1,b=2,c=3;
charflag;
flag=b>=2&
c<=3;
switch(a)
case1:
switch(flag)
case0:
**"
break;
%%"
switch(c)
$$"
case2:
"
default:
##"
A.**$$
B.%##
C.%&
D.**##
二、程序填空题
41、给定程序中,函数fun()的功能是:
把形参s所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:
字符串的长度大于等于2)。
例如,形参s所指的字符串为:
abcdefgh,执行结果为:
ahcbedgf。
注意:
部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在fun()函数的横线上填入所编写的若干表达式或语句。
试题程序:
voidfun(char*s)
inti,n,k;
charc;
n=0;
s[i]!
='
\0'
n++;
if(n%2==0)
k=n-______;
else
c=s[k];
for(i=k-2;
i>=1;
i=i-2)
s[i+2]=s[i];
s[1]=______;
voidmain()
chars[80]="
abcdefgh"
\nTheoriginalstringis:
%s\n"
fun(s);
\nTheresultis:
三、程序修改题
42、下列给定程序中函数fun的功能是:
将m(1≤m≤10)个字符串连接起来,组成一个新串,放入pt所指存储区中。
例如:
把三个串“abe”、“CD”、“EF”连接起来,结果是“abcCDEF”。
请改正程序中的错误,使它能得出正确的结果。
不要改动main函数,不得增行或删行,也不得更改程序的结构!
[试题源程序]
#include<string.h>
voidfun(charstr[][10],intm,char*pt)
/**********found**********/
Intk,q,i;
for(k=0;
k<m;
k++)
{q=strlen(str[k]);
i<q;
pt[i]=str[k,i];
pt+=q;
pt[0]=0;
{intm,h;
chars[10][10],p[120];
Pleaseenterm:
%d"
m);
gets(s[0]);
Pleaseenter%dstring:
m);
for(h=0;
h<m;
h++)gets(s[h]);
fun(s,m,p);
Theresultis:
%s"
p);
四、程序设计题
43、假定输入的字符串中只包含字母和*号。
请编写函数fun,它的功能是:
除了字符串前导的*号之外,将串中其它*号全部删除。
在编写函数时,不得使用C语言提供的字符串函数。
函数fun中给出的语句仅供参考。
例如,字符串中的内容为:
****A*BC*DEF*G*******,删除后字符串中的内容应当是:
****ABCDEFG。
部分源程序在文件PROG1.C文件中。
请勿改动主函数main和其它函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
#include<stdio.h>
voidfun(char*a)
/*以下代码仅供参考*/
inti=0,k;
while(a[i]=='
*'
)i++;
k=i;
while(a[i]!
)/*以下程序段实现非*字符前移*/
a[k]='
{chars[81];
voidNONO();
printf(*Enterastring:
\n"
gets(s);
fun(s);
Thestringafter
deleted:
puts(s);
NONO();
voidNONO().
{/*本函数用于打开文件,输入数据