- 相關(guān)推薦
2015年計(jì)算機(jī)二級(jí)C語(yǔ)言考試上機(jī)模擬試題
一、選擇題
1.下列敘述中正確的是( )。
A.在棧中,棱中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化
B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化
C. 在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化
D.上述三種說(shuō)法都不對(duì)
2.下列敘述中正確的是( )。
A.數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),不需要操作系統(tǒng)的支持
B.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問(wèn)題
C.數(shù)據(jù)庫(kù)管理系統(tǒng)就是數(shù)據(jù)庫(kù)系統(tǒng)
D.以上三種說(shuō)法都不對(duì)
3.軟件測(cè)試的目的是( )。
A.評(píng)估軟件可靠性
B.發(fā)現(xiàn)并改正程序中的錯(cuò)誤
C.改正程序中的錯(cuò)誤
D.發(fā)現(xiàn)程序中的錯(cuò)誤
4.下面描述中,不屬于軟件危機(jī)表現(xiàn)的是( )。
A.軟件過(guò)程不規(guī)范
B.軟件開(kāi)發(fā)生產(chǎn)率低
C.軟件質(zhì)量難以控制
D.軟件成本不斷提高
5.軟件生命周期是指( )。
A.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過(guò)程
B.軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測(cè)試完成的過(guò)程
C.軟件的開(kāi)發(fā)過(guò)程
D.軟件的運(yùn)行維護(hù)過(guò)程
6.面向?qū)ο蠓椒ㄖ,繼承是指( )。
A.一組對(duì)象所具有的相似性質(zhì)
B.一個(gè)對(duì)象具有另一個(gè)對(duì)象的性質(zhì)
C.各對(duì)象之間的共同性質(zhì)
D.類之間共享屬性和操作的機(jī)制
7.層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫(kù)劃分原則是( )。
A.記錄長(zhǎng)度
B.文件的大小
C.聯(lián)系的復(fù)雜程度
D.數(shù)據(jù)之間的聯(lián)系方式
8.一個(gè)工作人員可以使用多臺(tái)計(jì)算機(jī),而一臺(tái)計(jì)算機(jī)可被多個(gè)人使用,則實(shí)體工作人員與實(shí)體計(jì)算機(jī)之間的聯(lián)系是( )。
A.一對(duì)一
B.一對(duì)多
C.多對(duì)多
D.多對(duì)一
9.數(shù)據(jù)庫(kù)設(shè)計(jì)中反映用戶對(duì)數(shù)據(jù)要求的模式是( )。
A.內(nèi)模式
B.概念模式
C.外模式
D.設(shè)計(jì)模式
10.有三個(gè)關(guān)系R、S和T如下:
則由關(guān)系R和S得到關(guān)系T的操作是( )。
A.自然連接
B.交
C.投影
D.并
11.以下關(guān)于結(jié)構(gòu)化程序設(shè)計(jì)的敘述中正確的是( )。
A.一個(gè)結(jié)構(gòu)化程序必須同時(shí)由順序、分支、循環(huán)三種結(jié)構(gòu)組成
B.結(jié)構(gòu)化程序使用goto語(yǔ)句會(huì)很便捷
C.在C語(yǔ)言中,程序的模塊化是利用函數(shù)實(shí)現(xiàn)的
D.由三種基本結(jié)構(gòu)構(gòu)成的程序只能解決小規(guī)模的問(wèn)題
12.以下關(guān)于簡(jiǎn)單程序設(shè)計(jì)的步驟和順序的說(shuō)法中正確的是( )。
A.確定算法后,整理并寫(xiě)出文檔,最后進(jìn)行編碼和上機(jī)調(diào)試
B.首先確定數(shù)據(jù)結(jié)構(gòu),然后確定算法,再編碼,并上機(jī)調(diào)試,最后整理文檔
C.先編碼和上機(jī)調(diào)試,在編碼過(guò)程中確定算法和數(shù)據(jù)結(jié)構(gòu),最后整理文檔
D.先寫(xiě)好文檔,再根據(jù)文檔進(jìn)行編碼和上機(jī)調(diào)試,最后確定算法和數(shù)據(jù)結(jié)構(gòu)
13.以下敘述中錯(cuò)誤的是( )。
A.C程序在運(yùn)行過(guò)程中所有計(jì)算都以二進(jìn)制方式進(jìn)行
B.C程序在運(yùn)行過(guò)程中所有計(jì)算都以十進(jìn)制方式進(jìn)行
C.所有C程序都需要編譯鏈接無(wú)誤后才能運(yùn)行
D.C程序中整型變量只能存放整數(shù),實(shí)型變量只能存放浮點(diǎn)數(shù)
14.有以下定義:“int a;long b;double X,Y;”,則以下選項(xiàng)中正確的表達(dá)式是( )。
A.a%(int x—y)
B.a=x!=Y;
C.(a*y)%b
D.y=x+y=X
15.以下選項(xiàng)中能表示合法常量的是( )。
A.整數(shù):l,200
B.實(shí)數(shù):l.5E2.0
C.字符斜杠:"\"
D.字符串:"007"
16.表達(dá)式a+=a-=a=9的值是( )。
A.9
B.-9
C.18
D.0
17.若變量已正確定義,在語(yǔ)句“if(W)printf("%d\n",k);”中,以下不可替代w的是( )。
A.a<>b+c
B.ch=getchar( )
C.a= =b+C
D.a++
18.以下選項(xiàng)中,合法的一組C語(yǔ)言數(shù)值常量是( )。
A.028
.5e-3
-0xf
B.12.
OXa23
4.5eO
C..l77
4cl.5
Oabc
D.0x8A
10,000
3.e5
19.若有定義語(yǔ)句“int a,b;double X;”,則下列選項(xiàng)中沒(méi)有錯(cuò)誤的是( )。
A.switch(X%2)
{case 0:a++;break;
case l:b++;break;
default:a++;b++;
}
B.switch((int)x/2.O)
{case 0:a++;break;
case l:b++;break;
default:a++;b++;
}
C.switch((int)X%2)
{case 0:a++;break;
case l:b++;break;
default:a++;b++;
)
D.switch((int)(x)%2)
{case 0.0:a++;break;
case l.0:b++;break;
default:a++;b++;
}
20.有以下程序:
#include
main( )
{int a=1,b=2;
while(a<6){b+=a;a4+=2;b%=l0;)
printf("%d,%d\n",a,b);
)
程序運(yùn)行后的輸出結(jié)果是( )。
A.5,11
B.7,1
C.7,11
D.6,1
21.有以下程序:
#include
main( )
{int y=10;
while(y--);
printf("y=%d\n",y);
}
程序執(zhí)行后的輸出結(jié)果是( )。
A.y=0
B.y=-1
C.y=l
D.while構(gòu)成無(wú)限循環(huán)
22.有以下程序:
#include
main( )
{char s[]="rstuv";
printf("%c\n",*s+2);
}
程序運(yùn)行后的輸出結(jié)果是( )。
A.tuv
B.字符t的ASCIl碼值
C.t
D.出錯(cuò)
23.有以下程序:
#include.
#include
main( )
{ char x[]="STRING";
x[0]=0;x[1]=’\0’;x[2]=’0’;
printf("%d %d\n",sizeof(x),strlen(x));
}
程序運(yùn)行后的輸出結(jié)果是( )。
A.6 1
B.7 0
C.6 3
D.7 1
24.有以下程序:
#include
int f(int x):
main( )
{int n=1,m;
m=f(f(f(n)));printf("%d\n",m);
}
int f(int x)
{return x*2;)
程序運(yùn)行后的輸出結(jié)果是( )。
A.1
B.2
C4
D.8
25.以下程序段完全正確的是( )。
A.int*P;scanf("%d",&p);B.int*P;scanf("%d",p);
C.int k,*p=&k;scanf("%d",p);D.int k,*p;*p=&k;scanf("%d¨,p);
26.有定義語(yǔ)句:“int*p[4];”,以下選項(xiàng)中與此語(yǔ)句等價(jià)的是( )。
A.int p[4];
B.int**P;
C.int*(p[4]);
D.int(*p)[4];
27.下列定義數(shù)組的語(yǔ)句中,正確的是( )。
A.int N=10;int x[N]:
B.#define N l0 ; int x[N];
C.int x[0..10];
D.int x[];
28.若要定義一個(gè)具有5個(gè)元素的整型數(shù)組,以下錯(cuò)誤的定義語(yǔ)句是( )。
A.int a[5]={o};
B.int b[]={0,0,0,0,0)..
C.int c[2+3];
D.int i=5,d[i];
29.有以下程序:
#include
void f(int*p);
main( )
{int a[5]={1,2,3,4,5),*r=a;
f(r);printf("%d\n",*r);
}
void f(int*p)
{p=p+3;printf("%d,",*p);}
程序運(yùn)行后的輸出結(jié)果是( )。
A.1,4
B.4,4
C.3,1
D.4,1
30.有以下程序(函數(shù)fun只對(duì)下標(biāo)為偶數(shù)的元素進(jìn)行操作):
#include
void fun(int*a。int n)
{int i,j,k,t;
for(i=0;i{k=i;
for(j=i;ja[k])k=j;
t[a[i];a[i]=a[k];a[k]=t;
}
}
main( )
{int aa[lO]=[1,2,3,4,5,6,7],a;
fun(aa,7);
for(i=0;i<7;i++)printf("%d,",aa[i]);
printf("n");
}
程序運(yùn)行后的輸出結(jié)果是( )。
A.7,2,5,4,3,6,1,
B.1,6,3,4,5,2,7,
C.7,6,5,4,3,2,1,
D.1,7,3,5,6,2,1,
31.下列選項(xiàng)中,能夠滿足“若字符串sl等于字符串s2,則執(zhí)行ST”要求的是( )。
A.if(stremp(s2,sl)==0)ST;
B.if(s1==s2)ST;
C.if(strcpy(sl,s2)==l)ST;
D.if(sl,s2==O)ST;
32.以下不能將S所指字符串正確復(fù)制到t所指存儲(chǔ)空間的是( )。
A.while(*t=*s){t++;s++;)
B.for(i=0;t[i]=s[i];i++);
C.do{*t++=*s++;)while(*s);
D.for(i=0,j=o;t[i++]=s[j++];);
33.有以下程序(strcat函數(shù)用以連接兩個(gè)字符串)
#include
#include。
main( )
{char a[20]="ABCD\oEFG\0",h[]="IJK";
strcat(a,b);printf("%s\n",a);
)
程序運(yùn)行后的輸出結(jié)果是( )。
A.ABCDE\0FG\0IJK
B.ABCDIJK
C.IJK
D.EFGIJK
34.有以下程序,程序中庫(kù)函數(shù)islower(ch)用以判斷ch中的字母是否為小寫(xiě)字母
#include
#include
void fun(char*p)
{int i=0;
while(p[i])
{if(p[i]=="&&islower(p[i-1]))p[i一1]=p[i-1]=’a’+’A’;
i++。
}
}
main( )
{char sl[100]="ab cd EFG!";
fun(a1);printf("%s\n",sl);
程序運(yùn)行后的輸出結(jié)果是( )。
A.ab cd EFG!
B.Ab Cd EFg!
C.aB cD EFG!
D.ab cd EFg!
35.有以下程序
#include
void fun(int x)
{if(x/Z>1)fun(x/Z);
printf("%d",x);
}
main( )
{fun(7);printf("\n");}
程序運(yùn)行后的輸出結(jié)果是( )。
A.1 3 7
B.7 3 1
C.7 3
D.3 7
36.有以下程序:
#include
int fun( )
{static int x=1;
x+=1;return X;
}
main( )
{int i,S=1;
for(i=1;i<=S;i++)s+=fun( );
printf("%d\n",s);
}
程序運(yùn)行后的輸出結(jié)果是( )。
A.11
B.21
C.6
D.120
37.有以下程序:
#include
#include
main( )
{int*a,*b,*C;
a=b=c=(int*)malloc(sizeof(int));
*a=1;*b=2,*c=3;
a=b:
printf("%d,%d,%d\n",*a,*b,*c);
}
程序運(yùn)行后的輸出結(jié)果是( )。
A.3,3,3
B.2,2,3
C.1,2,3
D.1,1,3
38.有以下程序:
#include
main( )
{ int S,t,A=10;double B=6;
S=sizeof(A);t=sizeof(B);
printf("%d,%d\n",S,t);
}
在VC6平臺(tái)上編譯運(yùn)行,程序運(yùn)行后的輸出結(jié)果是( )。
A.2,4B.1,4
C.4,8D.10,6
39.若有以下語(yǔ)句:
typedef struct S
{int g;char h;}T;
以下敘述中正確的是( )。
A.可用S定義結(jié)構(gòu)體變量
B.可用T定義結(jié)構(gòu)體變量
C.S是struct類型的變量
D.T是struct S類型的變量
40.有以下程序:
#include
main( )
{short C=124;
C=C_;
printf("%d\n",c);
}
若要使程序的運(yùn)行結(jié)果為248,應(yīng)在下劃線處填入的是( )。
A.>>2
B.|248
C.&0248
D.<<1
二、基本操作題
請(qǐng)補(bǔ)充函數(shù)proc( ),其功能是:計(jì)算并輸出給定10個(gè)數(shù)的方差。
例如,給定的l0個(gè)數(shù)為12.0,9.0,26.0,5.0,6.0,31.0,9.0,3.0,8.0,18.0,輸出為S=8.877500。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main( )函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proe( )的橫線上填人所編寫(xiě)
的若干表達(dá)式或語(yǔ)句。
試題程序:
#include
#include
double proc(double x[10])
{
int i;
double avg=0.0;
double sum=0.0;
double abs=0.0;
double sd;
for(i=0;i<10;i++)
【1】;
avg=sum/10;
for(i=0;i<10;i++)
【2】;
sd=【3】;
return sd;
}
void main( )
{
double s,str[10]={12.0,9.0,26.0,5.0,6.0,31.0,9.0,3.0,8.0,18.0};
int i;
printf("\nThe original data is:\n");
for(i=0;i<10;i++)
printf("%6.If",str[i]);
printf("\n\n");
s—proc(str);
printf("s=%f\n\n",s);
)
三、程序改錯(cuò)題
下列給定程序中,函數(shù)proc( )的功能是:從字符串str中,刪除所有大寫(xiě)字母’F’。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main( )函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include
void proc(char*str)
{
int i,j;
//****found****
for(i=j=0;str[i]一’0’;i++)
if(str[i]!=’F’)
//****found****
str[i]=str[i];
str[j]=’\0’;
}
void main( )
{
char str[80];
printf("\nEnter a string:");
gets(str);
printf("The original string:");
puts(str);
proc(str);
printf("The string after deleted:");
puts(str);
printf("\n\n");}
四、程序設(shè)計(jì)題
假定輸人的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)proc( ),它的功能是:將字符串中
的前導(dǎo)*號(hào)全部刪除,中間和后面的*號(hào)不刪除。
例如,若字符串中的內(nèi)容為****a*bc*def*g****,刪除后,字符串中的內(nèi)容則
應(yīng)當(dāng)是a*bc*def*g****。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main( )函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc( )的花括號(hào)中填入所編
寫(xiě)的若干語(yǔ)句。
試題程序:
#include
#include
void proc(char*str)
{
}
void main( )
{
char str[81];
printf("Enter a string:kn");
gets(str);
proc(str);
printf("The string after deleted:kn");
puts(str);)
【計(jì)算機(jī)二級(jí)C語(yǔ)言考試上機(jī)模擬試題】相關(guān)文章:
計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)模擬試題及解題思路07-10
2015年計(jì)算機(jī)二級(jí)《C語(yǔ)言》上機(jī)模擬試題06-07
計(jì)算機(jī)二級(jí)考試C語(yǔ)言預(yù)測(cè)上機(jī)鞏固試題06-17
計(jì)算機(jī)二級(jí)C語(yǔ)言考試上機(jī)考試題及答案10-29
最新計(jì)算機(jī)二級(jí)考試C語(yǔ)言模擬試題09-28
計(jì)算機(jī)二級(jí)《C語(yǔ)言》考試模擬試題與答案07-21
計(jì)算機(jī)二級(jí)C語(yǔ)言上機(jī)模擬題09-04