二级C语言模拟649Word格式.docx
- 文档编号:20171866
- 上传时间:2023-01-17
- 格式:DOCX
- 页数:19
- 大小:26.84KB
二级C语言模拟649Word格式.docx
《二级C语言模拟649Word格式.docx》由会员分享,可在线阅读,更多相关《二级C语言模拟649Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
以下选项中,能够输出“OK”的语句是______。
A.if(strcmp(s1,s2)==0)puts(s1);
B.if(strcmp(s1,s2)!
=0)puts(s2);
C.if(strcmp(s1,s2)==1)puts(s1);
D.if(strcmp(s1,s2)!
=0)puts(s1);
4、若有定义语句:
doublex,y,*px,*py;
执行了px=&
x;
py=&
y;
之后,正确的输入语句是______。
%f%"
x,y);
B.scanf("
%f%f"
&
x,&
y);
C.scanf("
%lf%lf"
px,py);
D.scanf("
5、以下叙述中错误的是______。
A.gets函数用于从终端读入字符串
B.getchar函数用于从磁盘文件读入字符
C.fputs函数用于把字符串输出到文件
D.fwrite函数用于以二进制形式输出数据到文件
6、若变量已正确定义并赋值,以下符合C语言语法的表达式是
A.a:
=b+1
B.a=b=c+2
C.int18.5%3
D.a=a+7=c+b
7、程序中已构成如下图所示的不带头结点的单向链表结构,指针变量s、p、q均已正确定义,并用于指向链表结点,指针变量s总是作为头指针指向链表的第一个结点。
若有以下程序段
q=s;
s=s->next;
p=s;
while(p->next)p=p->next;
p->next=q;
q->next=NULL;
该程序段实现的功能是______。
A.首结点成为尾结点
B.尾结点成为首结点
C.删除首结点
D.删除尾结点
8、结构化程序设计的3种结构是______。
A.顺序结构、选择结构、转移结构
B.分支结构、等价结构、循环结构
C.多分支结构、赋值结构、等价结构
D.顺序结构、选择结构、循环结构
9、在数据管理技术发展的三个阶段中,数据共享最好的是______。
A.人工管理阶段
B.文件系统阶段
C.数据库系统阶段
D.三个阶段相同
10、下列叙述中正确的是______。
A.对长度为n的有序链表进行查找,最坏情况下需要的比较次数为n
B.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)
C.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)
D.对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)
11、以下关于C语言函数参数传递方式的叙述正确的是______。
A.数据只能从实参单向传递给形参
B.数据可以在实参和形参之间双向传递
C.数据只能从形参单向传递给实参
D.C语言的函数,参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用
12、读取二进制文件的函数调用形式为:
fread(buffer,size,count,fp);
,其中buffer代表的是______。
A.一个内存块的字节数
B.一个整型变量,代表待读取的数据的字节数
C.一个文件指针,指向待读取的文件
D.一个内存块的首地址,代表读入数据存放的地址
13、有以下程序
intx[]={1,3,5,7,2,4,6,0},i,j,k;
i<3;
i++)
for(j=2;
j>=i;
j--)
if(x[j+1]>x[j])
{k=x[j];
x[j]=x[j+1];
x[j+1]=k;
i<3;
for(j=4;
j<7-i;
j++)
if(x[j]>x[j+1])
x[j]=x[j+1];
i<8;
%d"
x[i]);
A.75310246
B.01234567
C.76310462D.13570246
14、有以下程序:
intf(intx,inty)
{return((y-x)*x);
inta=3,b=4,c=5,d;
d=f(f(a,b),f(a,c));
%d\n"
d);
A.7
B.10
C.8
D.9
15、数据库应用系统中的核心问题是______。
A.数据库设计
B.数据库系统设计
C.数据库维护
D.数据库管理员培训
16、有以下程序:
#include<stdio.h>
main()
{
if('
\0'
==0)putchar('
1'
);
0'
==0)putchar('
2'
a'
>'
b'
)putchar('
3'
A.1
B.123
C.23
D.3
17、函数fseek(pf,OL,SEEK_END.中的SEEK_END代表的起始点是______。
A.文件开始
B.文件末尾
C.文件当前位置
D.以上都不对
18、若二维数组a有m列,则在a[i][j]之前的元素个数为______。
A.j*m+i
B.i*m+j
C.i*m+j-1
D.i*m+j+1
19、以下定义语句中正确的是________。
(A.inta=b=0;
(B.charA=65+1,b='
(C.floata=1,*b=&a,*c=&b;
(D.doublea=0.0;
b=1.1;
20、已知函数fun的定义如下:
voidfun(intx[],inty),
{intk;
for(k=0;
k<y;
k++)
X[k]+=y;
若main函数中有声明“inta[1]={10}:
”及调用fun函数的语句,则正确的fum函数调用形式是______。
A.fun(a[],a[0]);
B.fun(a[0],a[0]);
C.fun(&
a[0],a[0]);
D.fun(a[0],&
a[0]);
21、设x=011050,则x=x&
01252的值是______。
A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
22、若变量已正确定义,要求通过scanf("
%c%d%c%d"
&
c1,&
a,&
c2,&
b)语句给变量a和b分别赋32和45,给变量c1和c2分别赋字符A和B;
下列选项中数据从第1列开始输入,正确的输入形式是(
)。
A.A32<CR>
B45<CR>
B.A45<CR>
B32<CR>
C.A32B45<CR>
D.A32B45<CR>
23、下列程序执行后的输出结果是(
)。
voidfunc1(inti);
voidfunc2(inti);
charst[]="
hello,friend!
"
voidfunc1(inti)
pnintf("
%c1,st[i]);
if(i<3){i+=2;
func2(i);
}}
voidfunc2(inti)
st[i]);
func1(i);
main()
inti=0;
printf("
}
A.hllo
B.heel
C.hlo
D.hlm
24、有以下程序
FILE*fp;
inti,a[6]={1,2,3,4,5,6};
fp=fopen("
d2.dat"
"
w+"
for(i=0;
i<6;
i++)fptintf(fp,"
a[i]);
rewind(fp);
i++)fscanf(fp,"
&a[5-i]);
fclose(fp);
A.6,5,4,3,2,1,
B.1,2,3,4,5,6,
C.4,5,6,1,2,3,
D.1,2,3,3,2,1,
25、有以下程序:
inti,t[][3]={9,8,7,6,5,4,3,2,1};
i<3;
i++)
t[2-i][i]);
程序的运行结果是______。
A.357
B.753
C.369
D.751
26、软件生命周期是指______。
A.软件产品从提出、实现、使用、维护到停止使用、退役的过程
B.软件的需求分析、设计与实现
C.软件的开发与管理
D.软件的实现和维护
27、表达式'
5'
-'
的值是______。
A.整数4
B.字符4
C.表达式不合法
D.字符6
28、有以下程序:
#include<stdio.h>
voidfun(char*c)
{while(*c)
{if(*c>='
&&*c<='
z'
)*c=*c-('
A'
c++;
{chars[81];
gets(s);
fun(;
)puts(s);
当执行程序时从键盘输入HelloBeijing<回车>,则程序的输出结果是______。
A.hellobeijing
B.HelloBeijing
C.HELLOBEIJING
D.hELLOBeijing
29、设变量已正确定义并赋值,以下正确的表达式是______。
A.x=y+z+5,++y
B.int(15.8%5)
C.x=y*5=x+z
D.x=25%5.0
30、设C语言中,float类型数据占4字节,则double类型数据占______字节。
B.2
D.4
31、下列程序的输出结果是______。
inti=010,J=10;
%d,%d\n"
,++i,j--);
A.11,10
B.9,10
C.010,9
D.10,9
32、有以下程序(注:
字符a的ASCH码值为97):
{char*s={"
abc"
};
do
*s%10);
++s;
while(*s);
A.789
B.abc
C.7890
D.979899
33、结构化程序所要求的基本结构不包括______。
A.顺序结构
B.GOTO跳转
C.选择(分支)结构
D.重复(循环)结构
34、具有3个结点的二叉树有
A.2种形态
B.4种形态
C.7种形态
D.5种形态
35、有以下程序:
intm=12;
intfun(intx,inty)
staticintm=3;
m=x*y-m;
return(m);
inta=7,b=5;
m=fun(a,b)/m;
fun(a,b)/m);
A.2
B.1
C.3
D.0
36、字符串"
\\\'
abcd\123\xAB\t"
的长度是(
A.8
B.17
C.9
D.10
37、有以下程序:
#definef(X)(X*X)
inti1,i2;
i1=f(8)/f(4);
i2=f(4+4)/f(2+2);
printf(“%d,%d\n”,i1,i2);
程序运行后的输出结果是(
A.64,28
B.4,4
C.4,3
D.64,64
38、设x,y,z均为实型变量,代数式
A.x/y*z
B.x%y%z
C.x/y/z
D.x*z/y
39、对于下列定义,不正确的叙述是(
uniondata
inta;
charb;
doublec;
}x=y;
A.变量x所占内存的长度等于成员c的长度
B.变量x的地址和它的各成员地址都是相同的
C.可以在定义时对x初始化
D.不能对变量x赋值,故x=y非法
40、算法的时间复杂度是指
A.算法所处理的数据量
B.算法的执行时间
C.算法在执行过程中所需要的基本运算次数
D.算法程序中的语句或指令条数
二、程序填空题
41、请补充函数proc(),该函数可以统计一个长度为n的字符串在另一个字符串中出现的次数。
例如,假定输入的字符串为:
asdascasdfgasdasasmlosd,子字符串为asd,则应输出3。
注意:
部分源程序给出如下。
请勿改动函数main()和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<string.h>
#include<conio.h>
intproc(char*str,char*sub)
intn;
char*p,*r;
______;
while(*str)
p=str;
r=sub;
while(*r)
if(______)
r++;
p++;
else
break;
n++;
str++;
returnn;
voidmain()
charstr[81],sub[3];
system("
CLS"
输入主字符串:
gets(str);
输入子字符串:
gets(sub);
puts(str);
puts(sub);
n=proc(str,sub);
n=%d\n"
n);
三、程序修改题
42、下列给定程序中,函数proc()的功能是求出数组中最小数和次最小数,并把最小数和arr[0]中的数对调,次最小数和arr[1]中的数对调。
请修改程序中的错误,使它能得到正确结果。
不要改动main()函数,不得增行或删行,也不得更改程序的结构。
#defineM20
voidproc(int*arr,intn)
inti,m,t,k;
//****found****
i<n;
m=i;
for(k=i;
k<n;
k++)
if(arr[k]<arr[m])
k=m;
t=arr[i];
arr[i]=arr[m];
arr[m]=t;
intb[M]={11,5,12,0,3,6,9,7,10,8},
n=10,i;
b[i]);
proc(b,n);
四、程序设计题
43、编写函数fun,函数的功能是求出小于或等于lim的所有素数并放在aa数组中,函数返回所求出的素数的个数。
函数fun中给出的语句仅供参考。
部分源程序存在文件PROG1.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入编写的若干语句。
给定源程序如下。
#defineMAX100
intfun(intlim,intaa[MAX])
/*以下代码仅供参考*/
inti,j,k=0;
/*其中变量k用于统计素数个数*/
for(i=2;
i<=lim;
/*以下找出小于或等于lim的素数存入aa数组中并统计素数个数*/
returnk;
intlimit,i,sum;
intaa[MAX];
输入一个整数:
scanf("
limit);
sum=fun(limit,aa);
i<sum;
i++){
if(i%10==0&
i!
=0)printf("
%5d"
aa[i]);
答案:
1、A
[解析]sex是一个char类型变量,不是地址,A项应为scanf("
aa.sex);
。
2、A
[解析]函数调用中发生的数据传送是单向的,即只能把实参的值传送给形参,而不能把形参的值反向地传送给实参。
因此在函数调用过程中,形参的值发生改变,而实参中的值不会变化,所以数组c中的元素的值并没有变化,选择A选项。
3、D
[解析]strcmp函数比较字符串大小,区分大小写,所以当s1、s2不相等输出s1就会输出“OK”,答案选择D。
4、C
[解析]本题考查scanf函数,其格式为:
scanf(控制格式,地址表列),其中地址表列中应为要赋值变量的地址。
本题要为变量x和y赋值,并定义了两个指针分别指
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 模拟 649