- 9月計(jì)算機(jī)二級C語言考試上機(jī)沖刺試題及答案 推薦度:
- 相關(guān)推薦
計(jì)算機(jī)二級C語言考試上機(jī)沖刺試題及答案
一、選擇題(每小題1分,共40小題,共40分)
1.算法的空間復(fù)雜度是指( )。
A.算法程序的長度
B.算法程序中=的指令條數(shù)
C.算法程序所占的存儲空間
D.算法執(zhí)行過程中所需要的存儲空間
2.下列敘述中正確的是( )。
A.一個邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲結(jié)構(gòu)
B.邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲結(jié)構(gòu)屬于非線性結(jié)構(gòu)
C.一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存儲結(jié)構(gòu)不影響數(shù)據(jù)處理的效率
D.一個邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲結(jié)構(gòu),且各種存儲結(jié)構(gòu)影響數(shù)據(jù)處理的效率
3.簡單的交換排序方法是( )。
A.快速排序
B.選擇排序
C.堆排序
D.冒泡排序
4.關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)原則和方法的描述錯誤的是( )。
A.選用的結(jié)構(gòu)只準(zhǔn)許有一個入口和一個出口
B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進(jìn)行組合嵌套來實(shí)現(xiàn)
C.不允許使用GOT0語句
D.語言中若沒有控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬
5.相對于數(shù)據(jù)庫系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和( )。
A.可重用性差
B.安全性差
C.非持久性
D.冗余性
6.面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過程的方法有本質(zhì)不同,它的基本原理是( )。
A.模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系
B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念
C.使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題
D.不強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而強(qiáng)調(diào)概念
7.對如下二叉樹進(jìn)行后序遍歷的結(jié)果為( )。
A.ABCDEF
B.DBEAFC
C.ABDECF
D.DEBFCA
8.軟件設(shè)計(jì)包括軟件的結(jié)構(gòu)、數(shù)據(jù)接口和過程設(shè)計(jì),其中軟件的過程設(shè)計(jì)是指( )。
A.模塊間的關(guān)系
B.系統(tǒng)結(jié)構(gòu)部件轉(zhuǎn)換成軟件的過程描述
C.軟件層次結(jié)構(gòu)
D.軟件開發(fā)過程
9.兩個或兩個以上模塊之間關(guān)聯(lián)的緊密程度稱為( )。
A.耦合度
B.內(nèi)聚度
C.復(fù)雜度
D.數(shù)據(jù)傳輸特性
10.下列描述錯誤的是( )。
A.繼承分為多重繼承和單繼承
B.對象之間的通信靠傳遞消息來實(shí)現(xiàn)
C.在外面看不到對象的內(nèi)部特征是基于對象的“模塊獨(dú)立性好”這個特征
D.類是具有共同屬性、共同方法的對象的集合
11.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是( )。
A.DB包含DBS和DBMS
B.DBMS包含DB和DBS
C.DBS包含DB和DBMS
D.沒有任何關(guān)系
12.下列合法的聲明語句是( )。
A.int_abc=50;
B.double int=3+5e2.5;
C.long do=1L:
D.float 3_asd=3e-3;
13.設(shè)x、Y和z是int型變量,且x=4,y=6,z=8,則下列表達(dá)式中值為0的是( )。
A.x&&Y
B.x<=Y
C.x‖y+z&&y-z
D.!((x 14.若ch為char型變量,k為int型變量(已知字符a的ASCIl碼是97),則執(zhí)行下列語句后輸出的結(jié)果為( )。
ch=’b’;
k=10:
printf("%X,%o,",ch,ch,k);
printf("k=%%d\n",k);
A.因變量類型與格式描述符的類型不匹配,輸出無定值
B.輸出項(xiàng)與格式描述符個數(shù)不符,輸出為0值或不定值
C.62,142,k一%d
D.62,142,k一%l0
15.有下列程序: 、
fun(int X,int y){return(x+y);)
main()
{ int a=1,b=2,c=3,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
}
執(zhí)行后的輸出結(jié)果是( )。
A.6
B.7
C.8
D.9
16.假定x和Y為double型,則表達(dá)式x=2,y—x+3/2的值是( )。
A.3.500000
B.3
C.2.000000
D.3.000000
17.有如下程序:
main()
{int x=1,a=0,b=0;
switch(x)
{
case 0:b++;
case l:a++;
case 2:a++;b++;
)
printf("a=%d,b=%d\n",a,b);
)
該程序的輸出結(jié)果是( )。
A.a=2,b=1
B.a=1,b=1
C.a=1,b=0
D.a=2,b=2
18.下列程序的輸出結(jié)果是( )。
main()
{int i=1,j=2,k=3;
if(i++= =1&&(++j= =3= =‖k++= =3))
printf("%d%d%d\n",i,J,k);
)
A.1 2 3
B.2 3 4
C.2 2 3
D.2 3 3
19.下列程序的輸出結(jié)果是( )。
#include
main()
{ int a=0,i;
for(i=1;i<5;i++)
{ switch(i)
{ case 0:
case 3:a+=1;
case l:
case 2:a+=2;
default:a+=3;
)
printf("%d",i);
)
A.19 B.1 C.6 D.8
20.有以下程序:
main()
{int X,i;
for(i=1;i<=50;i++)
{x=i;
if(X%2=O)
if(x%3=O)
if(X%7=0) .
printf("%d,i)";
)
)
輸出結(jié)果是( )。
A.28
B.27
C.42
D.41
21.以下程序的輸出結(jié)果是( )。
main()
{int a[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%d\n",s);
}
A.18
B.19
C.20
D.21
22.有下列程序:
main()
{ int k=5;
while(--k) printf("%d",k=1);
printf("/n");
)
執(zhí)行后的輸出結(jié)果是( )。
A.1
B.2
C.4
D.死循環(huán)
23.若有定義:“int a[2][3];”,則對a數(shù)組的第i行第J列元素的正確引用為( )。
A.*(*(a+i)+j)
B.(a+i)[j]
C.*(a+i+j)
D.*(a+i)+j
24.下列能正確進(jìn)行字符串賦值的是( )。
A.char s[5]={"ABCDE"};
B.char s[5]={’A’,’B’,’C’,’D’,’E’}; 、
C.char*S;S="ABCDE";
D.char*s;printf("%《",s);
25.現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針P、q、r分別指定一個鏈表中連續(xù)的3個結(jié)點(diǎn)。
struct node
{har data;
struct node*next;)*P,*q,*r;
現(xiàn)要將q和r所指結(jié)點(diǎn)交換前后位置,同時要保持鏈表的結(jié)構(gòu),下列不能完成此操作的語句是( )。
A.q-:>next=r->next;p--:>next=r;rm:>next=q;
B.q-:>next=r;q->next=r->next;r->next=q;
C.q-:>next=r->next;r->next=q;p->next=r;
D.q-:>next=q;p->next=r;q->next=r->next;
26.有下列程序:
main()
{int i,j,x=0;
for(i=0,i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++:
)
x++:
}
printf("x=%d\n"x);
}
程序執(zhí)行后的輸出結(jié)果是( )。
A.x=4
B.x=8
C.x=6
D.x=12
27.有下列程序:
int funl(double a){return a*=a;} 、
int fun2(double x,double y)
{double a=0,b=0;
a=funl(x);b=funl(y);return(int)(a+b);
)
main()
{double w;w=fun2(1.1,2.0),……}
程序執(zhí)行后變量w中的值是( )。 、
A.5.21 B.5 C.5.0 D.0.0
28.有下列程序:
main()
{int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序執(zhí)行后的輸出結(jié)果是( )。
A.45
B.20
C.25
D.36
29.有下列程序:
int fun(int n)
{if(n= =1))return l;
else
return(n+fun(n-1)):
}
main()
{ int x;
seanf("%d",&x);x=fun(x);printf("%d\n",x);
}
執(zhí)行程序時,給變量x輸入l0,程序的輸出結(jié)果是( )。
A.55
B.54
C.65
D.45
30.有下列程序:
int fun(int x[],int n)
{ static int sum=0,i;
for(i=0;i return sum;
}
main()
{int a[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0;
s=fun(a,5)+fun(b,4);printf("%d\n",s);
程序執(zhí)行后的輸出結(jié)果是( )。 、
A.45
B.50
C.60
D.55
31.有下列程序:
main()
f char*P[]={"3697","2584");
int i,j;long num=0;
for(i=0;i<2;i++)
{j=0;
while(p[i][j]!=’\0’)
{if((p[i][j]-t\0’)%2)num=10*num+p[j][j]-’0’;
j+=2;
)
)
printf("%d\n",num);
)
程序執(zhí)行后的輸出結(jié)果是( )。
A.35 B.37 C.39 D.3975
32.以下程序的輸出結(jié)果是( )。
main()
{ char st[20]="hell0\O\t\\\”;
printf("%d%d\n",strlen(st),sizeof(st));
}
A.9 9
B.5 20
C.13 20
D.20 20
33.若有下的定義:"int t[3][2];",能正確表示t數(shù)組元素地址的表達(dá)式是( )。
A.&t[3][2]
B.t[3]
C.t[l]
D.t[2][2]
34.函數(shù)fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始點(diǎn)是( )。
A.文件開始
B.文件末尾
C.文件當(dāng)前位置
D.以上都不對
35.下述程序的輸出結(jié)果是( )。
#include
main()
{int i;
for(i=1;i<=10;i++)
{if(i*i>=20)&&(i*i<=lOO))
break;
}
printf("%d\n",i*i);
)
A.49
B.36
C.25
D.64
36.若有定義“int b[8],*p=b;”,則p+6表示( )。
A.數(shù)組元素b[6]的值
B.數(shù)組元素b[6]的地址
C.數(shù)組元素b[7]的地址
D.數(shù)組元素b[0]的值加上6
37.設(shè)變量已正確定義,則以下能正確計(jì)算f=n!的程序是( )。
A.f=0; for(i=1;i<=n;i++)f*=i;
B.f=1;for(i=1;i C.f=1;for(i=n;i>1;i++)f*=i;
D.f=1;for(i=n;i>=2;i--)f*=i;
38.下述程序執(zhí)行的輸出結(jié)果是( )。
#include
main()
{char a[2][4]; ,
strcpy(a。"are");strcpy(a[1],"you");
a[o][3]=’&’;
printf("%s\n",a);
)
A.are&you
B.you
C.are
D.&
39.設(shè)x=011050,則x=x&01252的值是( )。
A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
40.在“文件包含,,預(yù)處理語句的使用形式中,當(dāng)#include后面的文件名用(雙引號)括時,尋找被包含文件的方式是( )。
A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄
B.先在源程序所在的目錄搜索,如沒找到,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索
C.僅僅搜索源程序所在目錄
D.僅僅搜索當(dāng)前目錄
二、基本操作題(共18分)
請補(bǔ)充函數(shù)proc(),該函數(shù)的功能是計(jì)算下面公式SN的值:
SN=1+1/3十4/5+...+2N-1/SN-1
例如,當(dāng)N=20時,SN=29.031674。
注意:部分源程序給出如下。
請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的橫線上填入所編寫的若干表達(dá)式或語句。
試題程序:
#include
#include
#include
double proc(int n)
{
double s=1.0,sl=0.0;
int k;
for(【1】;k<=n;k++)
{
sl=S;
【2】
}
return 【3】 ;
)
void main()
{
int k=0:
double sum;
system("CLS");
printf("\nPlease input N=");
scanf("%d",&k);
sum=proc(k);
printf("\nS=%If",sum);
)
三、程序改錯題(共24分)
下列給定程序中,函數(shù)proc()的功能是根據(jù)整型形參n,計(jì)算如下公式的值:
Y=1-1/(22)+1/(33)-1/(44)+…+(-1)(n+1)/(nn)
例如,n中的值為l0,則應(yīng)輸出0.817962。
請修改程序中的錯誤,使它能得到正確結(jié)果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include
#include
#include
double proc(int n)
{
double y=1.0;
f|****found****
int J=1; .
int i;
for(i=2;i<=n;i++)
{
j=-l*j;//****found****
y+=1/(i*i);
)
return(y);
)
void main()
{
int n=10:
system("CLS"):
printf("\nThe result is%lf\n",proc(n));
)
四、程序設(shè)計(jì)題(共18分)
編寫一個函數(shù),從傳人的M個字符中找出最長的一個字符串,并通過形參指針max傳回該串地址(用****作為結(jié)束輸入的標(biāo)志)。
注意:部分源程序給出如下。
請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填人所編寫的若干語句。
試題程序:
#include
#include
#include
char*proc(char(*a)[81],int num)
{
)
void main()
{
char ss[l0][81],*max;
int n,i=0;
printf("輸入若干個字符串:");
gets(ss[i]);
puts(ss[i]);
while(!strcmp(ss[i],"****")= =0)
{
i++:
gets(ssEi]);
puts(ss[i]);
)
n=i:
max=proe(SS,n);
printf("\nmax=%s\n",max);
}
【計(jì)算機(jī)二級C語言考試上機(jī)沖刺試題及答案】相關(guān)文章:
2016年9月計(jì)算機(jī)二級C語言考試上機(jī)沖刺試題及答案03-02
計(jì)算機(jī)等級二級C語言上機(jī)模擬試題及答案10-25
計(jì)算機(jī)二級C上機(jī)考試試題及答案03-05
2016計(jì)算機(jī)等級考試二級C++上機(jī)模擬試題及答案03-08
2016年9月計(jì)算機(jī)二級C++上機(jī)考試沖刺試題及答案03-13
2016最新計(jì)算機(jī)二級C++上機(jī)試題及答案03-03