為大家收集整理了《2013計算機二級C語言完整預(yù)測試題及答案二》供大家參考,希望對大家有所幫助?。?!
一、選擇題((1)-(10)、(21)-(40)每題2分,(11)-(20)每題1分,共70分)下列各題A)、B)、 C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)下列敘述中正確的是()
A)棧是“先進(jìn)先出”的線性表
B)隊列是“先進(jìn)后出”的線性表
C)循環(huán)隊列是非線性結(jié)構(gòu)
D)有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)
(2)支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是()
A)棧
B)樹
C)隊列
D)二叉樹
(3)某二叉樹有5個度為z的結(jié)點,則該二叉樹中的葉子結(jié)點數(shù)是()
A)10
B)8
C)6
D)4
(4)下列排序方法中,壞情況下比較次數(shù)少的是()
A)冒泡排序
B)簡單選擇排序
C)直接插入排序
D)堆排序
(5)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是()
A)編譯程序
B)操作系統(tǒng)
C)教務(wù)管理系統(tǒng)
D)匯編程序
(6)下面敘述中錯誤的是()
A)軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤
B)對被調(diào)試的程序進(jìn)行“錯誤定位”是程序調(diào)試的必要步驟
C)程序調(diào)試通常也稱為Debug
D)軟件測試應(yīng)嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性
(7)耦合性和內(nèi)聚性是對模塊獨立性度量的兩個標(biāo)準(zhǔn)。下列敘述中正確的是( )
A)提高耦合性降低內(nèi)聚性有利他哦高模塊的獨立性
B)降低耦合性提高內(nèi)聚性有利于提高模塊的獨立性
C)耦合性是指一個模塊內(nèi)部各個元索間彼此結(jié)合的緊密程度
D)內(nèi)聚性是指模塊間互相連接的緊密程度
(8)數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是()
A)數(shù)據(jù)庫設(shè)計
B)數(shù)據(jù)庫系統(tǒng)設(shè)計
C)數(shù)據(jù)庫維護
D)數(shù)據(jù)庫管理員培訓(xùn)
(9)有兩個關(guān)系R,S如下:
由關(guān)系R通過運算得到關(guān)系S,則所使用的運算為()
A)選擇
B)投影
C)插入
D)連接
(10)將E-R圖轉(zhuǎn)換為關(guān)系模式時,實體和聯(lián)系都可以表示為( )
A)屬性
B)鍵
C)關(guān)系
D)域
(11)以下選項中合法的標(biāo)識符是()
A)1_1
B)1-1
C)_11
D)1__
(12)若函數(shù)中有定于語句:intk;,則( )
A)系統(tǒng)將自動給K賦初值0
B)時k中的值無定義
C)系統(tǒng)將自動給k賦初值-1
D)這時k中無任何值
(13)以下選項中,能用作數(shù)據(jù)常量的是()
A)0115
B)0118
C)1.5e1.5
D)115L
(14)設(shè)有定義:intx=2;,以下表達(dá)式中,值不為6的是()
A)x*=x+1
B)x++,2*x
C)x*=(i+x)
D)2*x,x+=2
(15)程序段:intx=12;doubley=3.141593;printf(“%d%8.6f”,x,y);的輸出結(jié)果是()
A)123.141593
B)123.141593
C)12,3.141593
D)123.1415930
(16)若有定義語句:doublex,y,*px,*pY;執(zhí)行了px=&x;py=&y;之后,正確的輸入語句是()
A)scarf(“%f%1”,x,y);
B)scarf(“%f%f”,&x,&y);
C)scarf(“%lf”,px,py);
D)scarf(“%lf%lf”,x,y);
(17)以下是if語句的基本形式:()if〔表達(dá)式)語句其中“表達(dá)式”
A)必須是邏輯表達(dá)式
B)必須是關(guān)系表達(dá)式
C)必須是邏輯表達(dá)式或關(guān)系表達(dá)式
D)可以是任意合法的表達(dá)式
(18)有以下程序
#include
main(){intx;
scarf(“&d”,&x);if(x<=3);elseif(x!=10)printf(“&d\n”。,x);}
程序運行時,輸入的值在哪個范圍才會有輸出結(jié)果()
A)不等于10的整數(shù)
B)大于3且不等10的整數(shù)
C)大于3或等于10的整數(shù)
D)小于3的整數(shù)
(19)有以下程序
#include
main()
{inta=1,b=2,c=3,d=0;
if(a==1&&b++==2)if(b!=21}c--!=3)printf(“%d,%d,%d\n”,a,b,c);elseprintf(“%d,%d,%d\n”,a,b,c);elseprintf(“%d,ad,%d\n”,a,b,c);}
程序運行后的輸出結(jié)果是()
A)1,2,3
B)1,3,2
C)1,3,3
D)3,2,1
(20)以下程序段中的變量已正確定義for(i=0;i<4;i++,i++)for(k=l;k<3;k十F);printf(“*”);程序段的輸出結(jié)果是()
A)********
B)****
C)**
D)*
(21)有以下程序#iinclude
ma1n(){char*S={“ABC”};
do
{printf(“%d”;*s%l0);s++}whi1e(*s);}
注意:字母A的ASCII碼值為650.程序運行后的輸出結(jié)果是()
A)5670
B)656667
C)567
D)ABC
(22)設(shè)變量己正確定義,以下不能統(tǒng)計出一行中輸入字符個數(shù)(不包含回車符)的程序段是( )
A)n=0;while((ch=getchar())!=’\n’)n++;
B)n=0;while(getchar()!=’1n‘)n++;
C)for(n=0;getchar()!=’\n’;n++);
D)n=0;for(ch=getchar();ch!=’\n’;n++);
(23)有以下程序
#include
main()
{intal,a2;charcl,c2;
scanf(“%d%c%d%c”,&a1,&cl,&a2,&c2);printf(“%d,%c.%d,%c”,a1,c1,a2,c2);}
若想通過鍵盤輸入,使得a1的值為12,a2的值為34,c1的值為字符a,c2的值為自負(fù)b,程序輸出的結(jié)果是:12,a,34,b則正確的輸入格式是(以下~代表空格,代表回車)()
A)i2a34b
B)12~a~34~b
C)12,a,34,b
D)12~a34~b
(24)有以下程序
#include
intf(intx,inty){return((y-x)*x);)main()
{inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“od\n”,d);}
程序運行后的輸出結(jié)果是()
A)10
B)9
C)8
D)7
(25)有以下程序
#include
voidfun(char*s){while(*s)
{if(*s%2==0)printf(“%c”,*s);s++;}}
main(){chara[]=(“good”};fun(a);printf(“\n”);}
注意:字母a的ASCII碼值為97,程序運行后的輸出結(jié)果是()
A)d
B)go
C)god
D)good
(26)有以下程序#include
voidfun(int*a,int*b){int*c;
c=a;a=b;b=c;}
main()
{intx=3,y=5,*p=&x,*q=&y;fun(p,q);printf(“%d,%d,”,*P,*q):fun(&X,&y);printf(“%d,%d\n”;*p.*q);}
程序運行后的輸出結(jié)果是()
A)3,5.5,3
B)3,5,3,5
C)5,3,3,5
D)5,3,5,3
(27)有以下程序
#include
voidflint*p,int*q);main()
intm=l,n=2,*r=&m;f(r,&n);printf(“%d,od”,m,n);}
voidf(int*p,int*q){p=p+l:*q=*q+1;}
程序運行后的輸出結(jié)果是()
A)1,3
B)2,3
C)1,4
D)1,2
(28)以卜函數(shù)按每行8個輸出數(shù)組中的數(shù)據(jù)voldfun(int*w,intn){inti;
for(i=0;i printf(“\n”);}
下劃線處應(yīng)填入的語句是()A)if(i/8==0)printf(“\n”);B)if(i/8==0)continue;C)if(i%8==0)printf(“\n”);D)if(i%8==0)contInue;
(29)若有以下定義intx[1O],*pt=x;
則對x數(shù)組元素的正確引用是()
A)*&x[10]
B)*(x+3)
C)*(pt+10)
D)pt+3
(30)設(shè)有定義:chars[81];inti=0;,以下不能將一行(不超過80個字符)帶有空格的字符串正確讀入的語句或語句組是()
A)gets(s);
B)while((s[i++]=getchar())!=’\n’);s[i]=’\0’;
C)scarf(“%s”,s);
D)do{scarf(“%c”,&s[i]);}while(s[i++]!=’\n‘);s[i]=’\0’;
(31)有以下程序
#include
nain()
{char*a[]=(“abed”,“ef”,“gh”,“ijk”};intI;for(i=0;i<4;i++)printf(“%c”,*a[i]);}
程序運行后的輸出結(jié)果是()
A)aegi
B)dfhk
C)abed
D)abcdefghijk
(32)以下選項中正確的語句組是()
A)chars[];s=“BOOK!”;
B)char*s={“BOOK!”};
C)charsf10};s=“BOOK!”;
D)char*s=“BOOK!”;
(33)有以下程序#include
intfun(intx,inty){if(x==y)return(x);elsereturn((x+y)/2);main()(inta=4,b=5,c=6;ptintf(“%d\n”,fun(2*a,fun(b,c)));}
程序運行后的輸出結(jié)果是()
A)3
B)6
C)8
D)12
(34)設(shè)函數(shù)中有整型變量n,為保證其在未賦初值的情況下初值為0,應(yīng)選擇的存儲類別是()
A)auto
B)register
C)static
D)auto或register
(35)有以下程序
#includeintb=2.;
intfun(int*k)
{b=*k+b;return(b);}main()
{inta〔10],{1,2,3,4,5,6,7,8),i;
for(i=2;i<4;i++)(b=fun(&a[i])+b;printf(“%d”;b);printf(“\n”);}
程序運行后的輸出結(jié)果是()
A)1012
B)810
C)1028
D)101b
(36)有以下程序#include#definePT3.5;
#defineS(x)PT*x*x;main()
{inta=1,b=2;printf(“%4.if\n”,S(a+b));}程序運行后的輸出結(jié)果是()
A)14.0
B)31.5
C)7.5
D)程序有錯無輸出結(jié)果
(37)有以下程序#includestructord
{intx,y;}bt[2]={1,2,3,4};main(){struct
ord
*p=dt;
printf(“%d”,++p->x);
printf(“%d\n”,++p->y);
}
程序的運行結(jié)果是()
A)1,2
B)2,3
C)3,4
D)4,1
(38)設(shè)有宏定義:#defineIsDIV(k,n)((k%n=I)?1:0)且變量m己正確定義并賦值,則宏調(diào)用:IsDIV(m,5)&&IsDIV(m,7)為真時所要表達(dá)的是()
A)判斷m是否能被5或者7整除
B)判斷m是否能被5和7整除
C)判斷m被5或者7整除是否余1
D)判斷m被J和7整除是否都余
(39)有一以下程序#includemain(){inta=5,b=1,t;t=(a《2)|b;printf(“%d\n”,t);
}
程序運行后的輸出結(jié)果是( )
A)21
B)11
C)6
D)1
(40)有以下程序#includemain(){FILE*f;
f=fopen(“filea.txt”,“w”);fprintf(f,“abc”);fclose(f);}
若文本文件filea.txt中原有內(nèi)容為:hello,則運行以上程序后,文件filea.txt中的內(nèi)容為()
A)helloabc
B)abclo
C)abc
D)ahchelln
二、填空題(每空2分,共30分)
請將每一個空的正確答案寫在答題卡【1】至【15】序號的橫線上,答在試卷上不得分。
(1)假設(shè)用一個長度為50的數(shù)組(數(shù)組元索的下標(biāo)從0到49)作為棧的存化空間,棧底指針bottom指間棧底元素,棧頂指針top指向棧頂元素,如果bottom=49,top=30(數(shù)組下標(biāo)),則棧中具有【1】個元素。
(2)軟件測試可分為白盒測試和黑盒測試?;韭窂綔y試屬于【2】測試。
(3)符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是:選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和【3】。(4)數(shù)據(jù)庫系統(tǒng)的核心是【4】。
(5)在E-K圖中,圖形包括矩形框、菱形框、橢圓框。其中表示實體聯(lián)系的是【5】框。
(6)表達(dá)式(int)((doubleXS/2)+2.5)的值是【6】
(7)若變量x、y已定義為int類型且x的值為99,y的值為9,請將輸出語句printf【7】,x/y;補充完整,使其輸出的計算結(jié)果形式為:x/y=11。
(8)有以下程序#includemain(){charc1,c2;
scanf(“%c”,&c1);
while(c1<65||c1>90)scanf(“%c”,&c1);c2=c1+32;
printf(“%c,%c\n”,c1,c2);}
程序運行輸入65回車后,能否輸出結(jié)果、結(jié)束運行(請回答能或不能)【8】。
(9)以下程序運行后的輸出結(jié)果是【9】。#includemain()intk=1,s=0;do{
if((k%2)!0)continue;s+=k;k++;
}while(k>10);printf(“s=od\n”,s);}
(10)下列程序運行時,若輸入labced}df’<回車>輸出結(jié)果為【10】。#include
main.(){chara=0,ch;while((ch=getchar())!=’\n’){if(a%2!=0&&(ch>=’a’&&ch<=’z’))ch=ch-’a’+A’;a++;putchar(ch);}
printf(“\n”);}
(11)有以下程序,程序執(zhí)行后,輸出結(jié)果是【11】。
#include
voidfun{int*a){a[0]=a[1];}
main(){inta[10]={10,9,8,7,6,5,4,3,2,1},i;for(i=2;i>=0;i--)fun(&a[i]);for.(i=0;i<10;i++)printf(“%d”},a[1]);printf(“\n”);}
(12)請將以下程序中的函數(shù)聲明語句補充完整。#includeint【12】;main(){intx,y,(*p)();scarf(“%d%d”,&x,&y);p=max;
printf(“%d\n”,(*p)(x.y));}
intmax(inta,intb){return(a>b?a:b);}
(13)以下程序用來判斷指定文件是否能正常打開,請?zhí)羁?includemain(){FILE*fp;
if(((fp=fopen(“test.txt”,“r”))==【13】))printf(“未能打開文件!\n”);else
printf(“文件打開成功!\n”);}
(14)下列程序的運行結(jié)果為【14】#include#includeStructA
(inta;charb[10];doublec;};voidf(structA*t);main()
{structAa=(1001,“ZhangDa”,1098.0};f(&a);printf(“%d,%s,%6.1f\n”,a.a,a.b,a.c);}
voidf(structA*t)
{strcpy(t->b,“ChangRong”);}
(15)以下程序把三個NODETYPE型的變量鏈接成一個簡單的鏈表,并在while循環(huán)中輸出鏈表結(jié)點數(shù)據(jù)域中的數(shù)據(jù)。請?zhí)羁铡?BR> #includestructnode
{intdata;structnode*next:};typedefstructnodeNODETYPE;
main()
{NODETYPEa,b,c,*h,*p:
a.data=10;b.data=20:c.data=30;h=&a;a.next=&b;b.next=&c;c.next=’\0’;p=h;
while(p){printf(“%d,”;p->data);【15】;}printf(“\n”);}
參考答案
選擇題:1~10:DACDC ABABC 11~20:CBDDA CDBCB
21~30:CDABA BACBC 31~40:ADBCC CBDAC
填空題:(1)19
(2)白盒
(3)順序結(jié)構(gòu)
(4)數(shù)據(jù)庫管理系統(tǒng)(DBMS)
(5)菱形
(6)4
(7)"x/y=%d"
(8)能
(9)s=0
(10)1AbCeDf2dF
(11)7777654321
(12)max(inta,intb)
(13)NULL
(14)1001,ChangRong,1098.0
(15)p=p—>next
一、選擇題((1)-(10)、(21)-(40)每題2分,(11)-(20)每題1分,共70分)下列各題A)、B)、 C)、D)四個選項中,只有一個選項是正確的,請將正確選項涂寫在答題卡相應(yīng)位置上,答在試卷上不得分。
(1)下列敘述中正確的是()
A)棧是“先進(jìn)先出”的線性表
B)隊列是“先進(jìn)后出”的線性表
C)循環(huán)隊列是非線性結(jié)構(gòu)
D)有序線性表既可以采用順序存儲結(jié)構(gòu),也可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu)
(2)支持子程序調(diào)用的數(shù)據(jù)結(jié)構(gòu)是()
A)棧
B)樹
C)隊列
D)二叉樹
(3)某二叉樹有5個度為z的結(jié)點,則該二叉樹中的葉子結(jié)點數(shù)是()
A)10
B)8
C)6
D)4
(4)下列排序方法中,壞情況下比較次數(shù)少的是()
A)冒泡排序
B)簡單選擇排序
C)直接插入排序
D)堆排序
(5)軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是()
A)編譯程序
B)操作系統(tǒng)
C)教務(wù)管理系統(tǒng)
D)匯編程序
(6)下面敘述中錯誤的是()
A)軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤
B)對被調(diào)試的程序進(jìn)行“錯誤定位”是程序調(diào)試的必要步驟
C)程序調(diào)試通常也稱為Debug
D)軟件測試應(yīng)嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性
(7)耦合性和內(nèi)聚性是對模塊獨立性度量的兩個標(biāo)準(zhǔn)。下列敘述中正確的是( )
A)提高耦合性降低內(nèi)聚性有利他哦高模塊的獨立性
B)降低耦合性提高內(nèi)聚性有利于提高模塊的獨立性
C)耦合性是指一個模塊內(nèi)部各個元索間彼此結(jié)合的緊密程度
D)內(nèi)聚性是指模塊間互相連接的緊密程度
(8)數(shù)據(jù)庫應(yīng)用系統(tǒng)中的核心問題是()
A)數(shù)據(jù)庫設(shè)計
B)數(shù)據(jù)庫系統(tǒng)設(shè)計
C)數(shù)據(jù)庫維護
D)數(shù)據(jù)庫管理員培訓(xùn)
(9)有兩個關(guān)系R,S如下:
由關(guān)系R通過運算得到關(guān)系S,則所使用的運算為()
A)選擇
B)投影
C)插入
D)連接
(10)將E-R圖轉(zhuǎn)換為關(guān)系模式時,實體和聯(lián)系都可以表示為( )
A)屬性
B)鍵
C)關(guān)系
D)域
(11)以下選項中合法的標(biāo)識符是()
A)1_1
B)1-1
C)_11
D)1__
(12)若函數(shù)中有定于語句:intk;,則( )
A)系統(tǒng)將自動給K賦初值0
B)時k中的值無定義
C)系統(tǒng)將自動給k賦初值-1
D)這時k中無任何值
(13)以下選項中,能用作數(shù)據(jù)常量的是()
A)0115
B)0118
C)1.5e1.5
D)115L
(14)設(shè)有定義:intx=2;,以下表達(dá)式中,值不為6的是()
A)x*=x+1
B)x++,2*x
C)x*=(i+x)
D)2*x,x+=2
(15)程序段:intx=12;doubley=3.141593;printf(“%d%8.6f”,x,y);的輸出結(jié)果是()
A)123.141593
B)123.141593
C)12,3.141593
D)123.1415930
(16)若有定義語句:doublex,y,*px,*pY;執(zhí)行了px=&x;py=&y;之后,正確的輸入語句是()
A)scarf(“%f%1”,x,y);
B)scarf(“%f%f”,&x,&y);
C)scarf(“%lf”,px,py);
D)scarf(“%lf%lf”,x,y);
(17)以下是if語句的基本形式:()if〔表達(dá)式)語句其中“表達(dá)式”
A)必須是邏輯表達(dá)式
B)必須是關(guān)系表達(dá)式
C)必須是邏輯表達(dá)式或關(guān)系表達(dá)式
D)可以是任意合法的表達(dá)式
(18)有以下程序
#include
main(){intx;
scarf(“&d”,&x);if(x<=3);elseif(x!=10)printf(“&d\n”。,x);}
程序運行時,輸入的值在哪個范圍才會有輸出結(jié)果()
A)不等于10的整數(shù)
B)大于3且不等10的整數(shù)
C)大于3或等于10的整數(shù)
D)小于3的整數(shù)
(19)有以下程序
#include
main()
{inta=1,b=2,c=3,d=0;
if(a==1&&b++==2)if(b!=21}c--!=3)printf(“%d,%d,%d\n”,a,b,c);elseprintf(“%d,%d,%d\n”,a,b,c);elseprintf(“%d,ad,%d\n”,a,b,c);}
程序運行后的輸出結(jié)果是()
A)1,2,3
B)1,3,2
C)1,3,3
D)3,2,1
(20)以下程序段中的變量已正確定義for(i=0;i<4;i++,i++)for(k=l;k<3;k十F);printf(“*”);程序段的輸出結(jié)果是()
A)********
B)****
C)**
D)*
(21)有以下程序#iinclude
ma1n(){char*S={“ABC”};
do
{printf(“%d”;*s%l0);s++}whi1e(*s);}
注意:字母A的ASCII碼值為650.程序運行后的輸出結(jié)果是()
A)5670
B)656667
C)567
D)ABC
(22)設(shè)變量己正確定義,以下不能統(tǒng)計出一行中輸入字符個數(shù)(不包含回車符)的程序段是( )
A)n=0;while((ch=getchar())!=’\n’)n++;
B)n=0;while(getchar()!=’1n‘)n++;
C)for(n=0;getchar()!=’\n’;n++);
D)n=0;for(ch=getchar();ch!=’\n’;n++);
(23)有以下程序
#include
main()
{intal,a2;charcl,c2;
scanf(“%d%c%d%c”,&a1,&cl,&a2,&c2);printf(“%d,%c.%d,%c”,a1,c1,a2,c2);}
若想通過鍵盤輸入,使得a1的值為12,a2的值為34,c1的值為字符a,c2的值為自負(fù)b,程序輸出的結(jié)果是:12,a,34,b則正確的輸入格式是(以下~代表空格,代表回車)()
A)i2a34b
B)12~a~34~b
C)12,a,34,b
D)12~a34~b
(24)有以下程序
#include
intf(intx,inty){return((y-x)*x);)main()
{inta=3,b=4,c=5,d;d=f(f(a,b),f(a,c));printf(“od\n”,d);}
程序運行后的輸出結(jié)果是()
A)10
B)9
C)8
D)7
(25)有以下程序
#include
voidfun(char*s){while(*s)
{if(*s%2==0)printf(“%c”,*s);s++;}}
main(){chara[]=(“good”};fun(a);printf(“\n”);}
注意:字母a的ASCII碼值為97,程序運行后的輸出結(jié)果是()
A)d
B)go
C)god
D)good
(26)有以下程序#include
voidfun(int*a,int*b){int*c;
c=a;a=b;b=c;}
main()
{intx=3,y=5,*p=&x,*q=&y;fun(p,q);printf(“%d,%d,”,*P,*q):fun(&X,&y);printf(“%d,%d\n”;*p.*q);}
程序運行后的輸出結(jié)果是()
A)3,5.5,3
B)3,5,3,5
C)5,3,3,5
D)5,3,5,3
(27)有以下程序
#include
voidflint*p,int*q);main()
intm=l,n=2,*r=&m;f(r,&n);printf(“%d,od”,m,n);}
voidf(int*p,int*q){p=p+l:*q=*q+1;}
程序運行后的輸出結(jié)果是()
A)1,3
B)2,3
C)1,4
D)1,2
(28)以卜函數(shù)按每行8個輸出數(shù)組中的數(shù)據(jù)voldfun(int*w,intn){inti;
for(i=0;i printf(“\n”);}
下劃線處應(yīng)填入的語句是()A)if(i/8==0)printf(“\n”);B)if(i/8==0)continue;C)if(i%8==0)printf(“\n”);D)if(i%8==0)contInue;
(29)若有以下定義intx[1O],*pt=x;
則對x數(shù)組元素的正確引用是()
A)*&x[10]
B)*(x+3)
C)*(pt+10)
D)pt+3
(30)設(shè)有定義:chars[81];inti=0;,以下不能將一行(不超過80個字符)帶有空格的字符串正確讀入的語句或語句組是()
A)gets(s);
B)while((s[i++]=getchar())!=’\n’);s[i]=’\0’;
C)scarf(“%s”,s);
D)do{scarf(“%c”,&s[i]);}while(s[i++]!=’\n‘);s[i]=’\0’;
(31)有以下程序
#include
nain()
{char*a[]=(“abed”,“ef”,“gh”,“ijk”};intI;for(i=0;i<4;i++)printf(“%c”,*a[i]);}
程序運行后的輸出結(jié)果是()
A)aegi
B)dfhk
C)abed
D)abcdefghijk
(32)以下選項中正確的語句組是()
A)chars[];s=“BOOK!”;
B)char*s={“BOOK!”};
C)charsf10};s=“BOOK!”;
D)char*s=“BOOK!”;
(33)有以下程序#include
intfun(intx,inty){if(x==y)return(x);elsereturn((x+y)/2);main()(inta=4,b=5,c=6;ptintf(“%d\n”,fun(2*a,fun(b,c)));}
程序運行后的輸出結(jié)果是()
A)3
B)6
C)8
D)12
(34)設(shè)函數(shù)中有整型變量n,為保證其在未賦初值的情況下初值為0,應(yīng)選擇的存儲類別是()
A)auto
B)register
C)static
D)auto或register
(35)有以下程序
#includeintb=2.;
intfun(int*k)
{b=*k+b;return(b);}main()
{inta〔10],{1,2,3,4,5,6,7,8),i;
for(i=2;i<4;i++)(b=fun(&a[i])+b;printf(“%d”;b);printf(“\n”);}
程序運行后的輸出結(jié)果是()
A)1012
B)810
C)1028
D)101b
(36)有以下程序#include#definePT3.5;
#defineS(x)PT*x*x;main()
{inta=1,b=2;printf(“%4.if\n”,S(a+b));}程序運行后的輸出結(jié)果是()
A)14.0
B)31.5
C)7.5
D)程序有錯無輸出結(jié)果
(37)有以下程序#includestructord
{intx,y;}bt[2]={1,2,3,4};main(){struct
ord
*p=dt;
printf(“%d”,++p->x);
printf(“%d\n”,++p->y);
}
程序的運行結(jié)果是()
A)1,2
B)2,3
C)3,4
D)4,1
(38)設(shè)有宏定義:#defineIsDIV(k,n)((k%n=I)?1:0)且變量m己正確定義并賦值,則宏調(diào)用:IsDIV(m,5)&&IsDIV(m,7)為真時所要表達(dá)的是()
A)判斷m是否能被5或者7整除
B)判斷m是否能被5和7整除
C)判斷m被5或者7整除是否余1
D)判斷m被J和7整除是否都余
(39)有一以下程序#includemain(){inta=5,b=1,t;t=(a《2)|b;printf(“%d\n”,t);
}
程序運行后的輸出結(jié)果是( )
A)21
B)11
C)6
D)1
(40)有以下程序#includemain(){FILE*f;
f=fopen(“filea.txt”,“w”);fprintf(f,“abc”);fclose(f);}
若文本文件filea.txt中原有內(nèi)容為:hello,則運行以上程序后,文件filea.txt中的內(nèi)容為()
A)helloabc
B)abclo
C)abc
D)ahchelln
二、填空題(每空2分,共30分)
請將每一個空的正確答案寫在答題卡【1】至【15】序號的橫線上,答在試卷上不得分。
(1)假設(shè)用一個長度為50的數(shù)組(數(shù)組元索的下標(biāo)從0到49)作為棧的存化空間,棧底指針bottom指間棧底元素,棧頂指針top指向棧頂元素,如果bottom=49,top=30(數(shù)組下標(biāo)),則棧中具有【1】個元素。
(2)軟件測試可分為白盒測試和黑盒測試?;韭窂綔y試屬于【2】測試。
(3)符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是:選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)和【3】。(4)數(shù)據(jù)庫系統(tǒng)的核心是【4】。
(5)在E-K圖中,圖形包括矩形框、菱形框、橢圓框。其中表示實體聯(lián)系的是【5】框。
(6)表達(dá)式(int)((doubleXS/2)+2.5)的值是【6】
(7)若變量x、y已定義為int類型且x的值為99,y的值為9,請將輸出語句printf【7】,x/y;補充完整,使其輸出的計算結(jié)果形式為:x/y=11。
(8)有以下程序#includemain(){charc1,c2;
scanf(“%c”,&c1);
while(c1<65||c1>90)scanf(“%c”,&c1);c2=c1+32;
printf(“%c,%c\n”,c1,c2);}
程序運行輸入65回車后,能否輸出結(jié)果、結(jié)束運行(請回答能或不能)【8】。
(9)以下程序運行后的輸出結(jié)果是【9】。#includemain()intk=1,s=0;do{
if((k%2)!0)continue;s+=k;k++;
}while(k>10);printf(“s=od\n”,s);}
(10)下列程序運行時,若輸入labced}df’<回車>輸出結(jié)果為【10】。#include
main.(){chara=0,ch;while((ch=getchar())!=’\n’){if(a%2!=0&&(ch>=’a’&&ch<=’z’))ch=ch-’a’+A’;a++;putchar(ch);}
printf(“\n”);}
(11)有以下程序,程序執(zhí)行后,輸出結(jié)果是【11】。
#include
voidfun{int*a){a[0]=a[1];}
main(){inta[10]={10,9,8,7,6,5,4,3,2,1},i;for(i=2;i>=0;i--)fun(&a[i]);for.(i=0;i<10;i++)printf(“%d”},a[1]);printf(“\n”);}
(12)請將以下程序中的函數(shù)聲明語句補充完整。#includeint【12】;main(){intx,y,(*p)();scarf(“%d%d”,&x,&y);p=max;
printf(“%d\n”,(*p)(x.y));}
intmax(inta,intb){return(a>b?a:b);}
(13)以下程序用來判斷指定文件是否能正常打開,請?zhí)羁?includemain(){FILE*fp;
if(((fp=fopen(“test.txt”,“r”))==【13】))printf(“未能打開文件!\n”);else
printf(“文件打開成功!\n”);}
(14)下列程序的運行結(jié)果為【14】#include#includeStructA
(inta;charb[10];doublec;};voidf(structA*t);main()
{structAa=(1001,“ZhangDa”,1098.0};f(&a);printf(“%d,%s,%6.1f\n”,a.a,a.b,a.c);}
voidf(structA*t)
{strcpy(t->b,“ChangRong”);}
(15)以下程序把三個NODETYPE型的變量鏈接成一個簡單的鏈表,并在while循環(huán)中輸出鏈表結(jié)點數(shù)據(jù)域中的數(shù)據(jù)。請?zhí)羁铡?BR> #includestructnode
{intdata;structnode*next:};typedefstructnodeNODETYPE;
main()
{NODETYPEa,b,c,*h,*p:
a.data=10;b.data=20:c.data=30;h=&a;a.next=&b;b.next=&c;c.next=’\0’;p=h;
while(p){printf(“%d,”;p->data);【15】;}printf(“\n”);}
參考答案
選擇題:1~10:DACDC ABABC 11~20:CBDDA CDBCB
21~30:CDABA BACBC 31~40:ADBCC CBDAC
填空題:(1)19
(2)白盒
(3)順序結(jié)構(gòu)
(4)數(shù)據(jù)庫管理系統(tǒng)(DBMS)
(5)菱形
(6)4
(7)"x/y=%d"
(8)能
(9)s=0
(10)1AbCeDf2dF
(11)7777654321
(12)max(inta,intb)
(13)NULL
(14)1001,ChangRong,1098.0
(15)p=p—>next

