




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022年內(nèi)蒙古自治區(qū)呼倫貝爾市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.請(qǐng)選出以下程序的輸出結(jié)果()#include<stdio.h>sub(x,y,z)intx,y,*z;{*2=y(tǒng)-x;}main(){inta,b,c;sub(10,5,&A);sub(7,a,&B);sub(a,b,&C);printf("%d,%d,%d\n",a,b,C);}
A.5,2,3B.-5,-12,-7C.-5,-12,-17D.5,-2,-7
2.若在線性表中采用折半查找法查找元素,該線性表應(yīng)該()A.元素按值有序B.構(gòu)采用順序存儲(chǔ)結(jié)C.元素按值有序且采用順序存儲(chǔ)結(jié)構(gòu)D.元素按值有序且采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
3.
4.設(shè)有如下定義和語(yǔ)句:FILE*fp;intdata[10],i,n;fp=fopen(“abc.txt”,“r”);文本文件abc.txt中的數(shù)據(jù)為58192765190,其中第1個(gè)數(shù)據(jù)代表的是它后面數(shù)據(jù)的個(gè)數(shù)。若文件已正確打開(kāi),則以下程序段中能將文件的最后5個(gè)數(shù)據(jù)依次正確讀入數(shù)組data[0]~data[4]中的是()。
A.fscanf(fp,“%d”,&n);for(i=0;i<n;i++)fscanf(fp,“%d”,&data[i]);
B.i=0;while(!feof(fp)){fscanf(fp,“%d”,&data[i]);i++;}
C.for(i=0;!feof(fp);i++)fscanf(fp,“%d”,&data[i]);
D.i=0;fscanf(fp,“%d”,&n);i++;while(!feof(fp)){fscanf(fp,“%d”,&data[i]);i++;}
5.有下列程序:
程序執(zhí)行后的輸出結(jié)果是()。A.3,7,3,7B.7,3,7,3C.3,7,7,3D.7,3,3,7
6.以下程序的輸出結(jié)果是
longfun(intn)
{longs;
if(n==1||n==2)s=2;
elses=n-fun(n-1);
returns;}
main()
{printf("%ld\n",fun(3));}
A.1B.2C.3D.4
7.下面不屬于需求分析階段任務(wù)的是()。
A.確定軟件系統(tǒng)的功能需求B.確定軟件系統(tǒng)的性能需求C.制定軟件集成測(cè)試計(jì)劃D.需求規(guī)格說(shuō)明書(shū)評(píng)審
8.輸入序列為ABC,輸出為CBA時(shí),經(jīng)過(guò)的棧操作為()。
A.push,pop,push,pop,push,pop
B.push,push,push,pop,pop,pop
C.push,push,pop,pop,push,pop
D.push,pop,push,push,pop,pop
9.對(duì)一個(gè)有A,B,C,D隨機(jī)組成的序列進(jìn)行哈夫曼編碼,據(jù)統(tǒng)計(jì),各個(gè)元素的概率分別為:P(A)=0.4,P(B)=0.35,P(C)=0.2,P(D)=0.05,請(qǐng)問(wèn)該編碼的平均期望編碼長(zhǎng)度為()bits。
A.1.45B.1.74C.1.85D.1.92
10.
11.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.0B.一1C.1D.7
12.若有以下定義:chara;intb;floatc;doubled;則表達(dá)式a*b+b-c值的類型為()。A.floatB.intC.charD.double
13.下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是______。
A.數(shù)據(jù)庫(kù)是一個(gè)DBF文件B.數(shù)據(jù)庫(kù)是一個(gè)關(guān)系C.數(shù)據(jù)庫(kù)是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合D.數(shù)據(jù)庫(kù)是一組文件
14.以下程序的運(yùn)行結(jié)果是______。#include<stdio.h>main(){inta[]:{1,2,3,4,5,6,7,8,9,10,11,12):int*p=a+5,*q=NULL:*q=*(p+5):printf("%d%d\n",*p,*q);}
A.運(yùn)行后報(bào)錯(cuò)B.66C.612D.55
15.下面關(guān)于數(shù)據(jù)庫(kù)系統(tǒng)中敘述正確的是()。
A.數(shù)據(jù)庫(kù)系統(tǒng)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫(kù)系統(tǒng)避免了一切冗余
C.數(shù)據(jù)庫(kù)系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致
D.數(shù)據(jù)庫(kù)系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
16.以下選項(xiàng)中,非法的字符常量是______。
A.'t\'B.'\17'C.\nD.'\xaa'
17.
18.有以下程序:#include<stdi0.h>#include<string.h>structA{inta;charb[10];doubleC;);voidf(structAt);main(){structAa={"1001,"ZhangDa",l098,0};f(a);printf("%d,%S,%6.1f\n",a.a(chǎn),a.b,a.c);}voidf(structAt){t.a(chǎn)=1002;strcpy(t.b,"ChangRon9");t.c=1202.0;}程序運(yùn)行后的輸出結(jié)果是()。A.1001,ZhangDa,1098.0
B.1002,ChangRong,1202.0
C.1001,ChangRong,1098.0
D.1002,ZhangDa,1202.0
19.設(shè)有定義語(yǔ)句:charc1=92,c2=92;則以下表達(dá)式中值為零的是()。
A.c1∧c2B.c1&c2C.~c2D.c1|c2
20.假設(shè)某算法的計(jì)算時(shí)間可用遞推關(guān)系式T(n)=2T(n/2)+n,T(1)=1表示,則該算法的時(shí)間復(fù)雜度為()
A.O(logn)B.O(n*logn)C.O(n)D.O(n^2)
二、2.填空題(20題)21.下列程序的輸出結(jié)果是______。
main()
{inta[]={31,27,20,12,6,1},*p=a;
p++;
printf("%d\n",*(p+2));
}
22.以下程序運(yùn)行時(shí),若從鍵盤輸入:102030<回車>,輸出的結(jié)果是【】。
#include<stdio.h>
main()
{inti=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
prinff("%d%d%d\n",i,j,k);
}
23.數(shù)據(jù)流圖的類型有【】和事務(wù)型。
24.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)稱為算法的______。
25.在面向?qū)ο蠓椒ㄖ校惖膶?shí)例稱為_(kāi)_____。
26.Jackson結(jié)構(gòu)化程序設(shè)計(jì)方法是英國(guó)的M.Jackson提出的,它是一種面向______的設(shè)計(jì)方法。
27.軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。
28.與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是【】方法。
29.以下程序的運(yùn)行結(jié)果是【】。
#defineMAL(a,b)(a>b?a:b)+1
main()
{inti=6,j=8;
printf("%d\n",MAL(i,j));
}
30.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{inta=10,b=3;
printf("%d,",a%b);
printf("%d,",(a-h,a+b));
printf("%d\n",a-b?a-b:a+b);
}
31.設(shè)有宏定義:
#defineWIDTH80
#defineLENGTHWIDTH+40
則執(zhí)行賦值語(yǔ)句“v=LENGTH*20;"(v為int型變量)后,v的值是【】。
32.在結(jié)構(gòu)化分析方法中,用于描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的文檔稱為【】。
33.下列程序的輸出結(jié)果是______。
main()
{inta+,b=2,C=3,t=0;
ifa<B){t=a;a=b;b=t;}
ifa<C){t=a;a=c;c=t;}
printf("%d,%d,%dln",a,b,C);
}
34.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{intfun();fun();}
fun()
{staticinta[3]={0,1,2};
inti;
for(i=0;i<3;i++)a[i]+=a[i];
for(i=0;i<3;i++)printf("%d,",a[i]);
printf("\n");}
35.函數(shù)pi的功能是根據(jù)以下公式近似求得的:
pi*pi/6=1+1/(2*2)+1/(3*3)+…+1/(n*n)
請(qǐng)?jiān)谙旅娴暮瘮?shù)中填空,完成求pi的功能。
#include<math.h>
doublepi(longn)
{doubles=0.0,longi;
for(i=1;i<=n;i++)s=s+【】。
return(sqrt(6*s));
}
36.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和操作的機(jī)制稱為_(kāi)_____。
37.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體“項(xiàng)目主管”與實(shí)體“項(xiàng)目”的聯(lián)系屬于______的聯(lián)系。
38.設(shè)有以下結(jié)構(gòu)類型說(shuō)明和變量定義,則變量a在內(nèi)存所占字節(jié)數(shù)是【】。
structstud
{charnum[6];
mts[4];
doubleave;
}a,*p;
39.設(shè)函數(shù)findbig已定義為求3個(gè)數(shù)中的最大值。以下程序?qū)⒗煤瘮?shù)指針調(diào)用findbig函數(shù)。請(qǐng)?zhí)羁铡?/p>
main()
{intfindbig(int,int,int);
int(*f)(),x,y,z,big;
f=______;
scanf("%d%d%d",&x,&y,&z}:
big=(*f)(x,y,Z);
printf("big=%d\n",big);
}
40.函數(shù)compare的功能是比較兩個(gè)字符串是否相等,若相等則函數(shù)返回值0,否則返回值1,請(qǐng)?zhí)羁铡?/p>
compare(chars[],chart[])
{inti=0;
while(s[i]==t[i]||【】)i++;
return(【】?1:0);
}
三、1.選擇題(20題)41.以下敘述中正確的是A.構(gòu)成C語(yǔ)言程序的基本單位是函數(shù)
B.可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù)
C.main()函數(shù)必須放在其他函數(shù)之前
D.所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義
42.有以下程序#include<stdio.h>main(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;case3:a++;b++;}printf("a=%d,b=%d\n",a,b);}程序的運(yùn)行結(jié)果是
A.a=1,b=0B.a=2,b=2C.a=1,b=1D.a=2,b=1
43.下面敘述正確的是()
A.函數(shù)調(diào)用不可以出現(xiàn)在表達(dá)式中
B.函數(shù)調(diào)用可以作為一個(gè)函數(shù)的實(shí)參
C.函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參
D.函數(shù)不可以直接調(diào)用其本身
44.下面程序的輸出結(jié)果是()main(){inti,x=023;printf("%d\n",--x);}
A.17B.18C.23D.24
45.軟件工程的出現(xiàn)是由于()。A.A.程序設(shè)計(jì)方法學(xué)的影響B(tài).軟件產(chǎn)業(yè)化的需要C.軟件危機(jī)的出現(xiàn)D.計(jì)算機(jī)的發(fā)展
46.有以下程序:#include<stdlib.h>main(){char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf("%s%s",p,q);printf("%s%s\n",p,q);}若從鍵盤輸入:abcdef<回車>,則輸出結(jié)果是()。
A.defdefB.abcdefC.abedD.dd
47.有以下程序:#include<string.h>main(){charp[20]={'a','b','c','d'),q[]="abc",r[]="abcde"strcat(p,r);strcpy(p+strlen(q),q);printf("%d\n",sizeof(p));}程序運(yùn)行后的輸出結(jié)果是()。
A.9B.6C.11D.7
48.有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf("%d,%d,%d\n",*p,*q,*r);}程序運(yùn)行后輸出結(jié)果是______。
A.7,8,8B.7,8,7C.8,7,7D.8,7,8
49.設(shè)有結(jié)構(gòu)體類型定義:structtry{intone;floattwo;}*str;若要?jiǎng)討B(tài)開(kāi)辟一個(gè)結(jié)構(gòu)單元,使指針str指向其首地址,正確的語(yǔ)句是______。
A.str=(try*)malloc(sizeof(try));
B.*str=(structtry*)malloc(sizeof(structtry));
C.str=(strucytry*)malloc(sizeof(structtry));
D.str=(structry)malloc(sizeof(structtry));
50.下列關(guān)于隊(duì)列的敘述中正確的是()。
A.在隊(duì)列中只能插入數(shù)據(jù)B.在隊(duì)列小只能刪除數(shù)據(jù)C.隊(duì)列是先進(jìn)先出的線性表D.隊(duì)列是先進(jìn)后出的線性表
51.一個(gè)存儲(chǔ)結(jié)點(diǎn)存放一個(gè)______。
A.數(shù)據(jù)項(xiàng)B.數(shù)據(jù)元素C.數(shù)據(jù)結(jié)構(gòu)D.數(shù)據(jù)類型
52.若函數(shù)調(diào)用時(shí),參數(shù)為基本數(shù)據(jù)類型的變量,下列敘述中正確的是()。
A.實(shí)參與其對(duì)應(yīng)的形參共占存儲(chǔ)單元
B.只有當(dāng)實(shí)參與其對(duì)應(yīng)的形參同名時(shí)才共占存儲(chǔ)單元
C.實(shí)參與其對(duì)應(yīng)的形參分別占用不同的存儲(chǔ)單元
D.實(shí)參將數(shù)據(jù)傳遞給形參后,立即釋放原先占用的存儲(chǔ)單元
53.下列程序的運(yùn)行結(jié)果為()。#include<stdio.h>voidabc(char*str){inta,b,i,j;for(i=j=0;str[i]!='\0';i++)if(str[i]!='a'str[j++]=str[i];str[j]='\0';}voidmain(){charstr[]="abcdef";abc(str);printf("str[]=%s",str);}
A.str[]=bcdefB.str[]=abcdefC.str[]=aD.str[]=ab
54.設(shè)有以下說(shuō)明和定義:typedefunion{longiintk[5];charc;}DATE;structdate{intcat;DATEcow;doubledog;}too;DATEmax;則下列語(yǔ)句的執(zhí)行結(jié)果是()printf("%d",sizeof(struetdate)+sizeof(max));
A.26B.30C.18D.8
55.下列選項(xiàng)中不屬于軟件生命周期開(kāi)發(fā)階段任務(wù)的是()。
A.軟件測(cè)試B.概要設(shè)計(jì)C.軟件維護(hù)D.詳細(xì)設(shè)計(jì)
56.按照“后進(jìn)先出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。
A.隊(duì)列B.棧C.雙向鏈表D.二叉樹(shù)
57.有以下程序#include<string.h>main(){char*p=“abcde、Ofghjik\0”;printf(“%d\n”,strlen(p));}程序運(yùn)行后的輸出結(jié)果
A.12B.15C.6D.5
58.下列可用于C語(yǔ)言用戶標(biāo)識(shí)符的一組是
A.void,define,WORD
B.a3_b3,_123,Car
C.For,-abc,IFCase
D.2a,DO,sizeof
59.設(shè)有以下定義或語(yǔ)句,則輸出的結(jié)果是(用small模式編譯,指針變量占2個(gè)字節(jié))()structdate{long*cat;structdate*next;doubledog;}too;printf("%d",sixeof(too));
A.20B.16C.14D.12
60.以下敘述正確的是
A.continue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行
B.只能在循環(huán)體內(nèi)和swish語(yǔ)句體內(nèi)使用break語(yǔ)句
C.在循環(huán)體內(nèi)使用break語(yǔ)句或continue語(yǔ)句的作用相同
D.從多層循環(huán)嵌套中退出時(shí),只能使用goto語(yǔ)句
四、選擇題(20題)61.
62.已定義以下函數(shù)
fun(char*p2,char*p1)
{
while((*p2=*p1)!=’\0’){p1++;p2++;}
}
函數(shù)的功能是
A.將p1所指字符串復(fù)制到p2所指內(nèi)存空間B.將p1所指字符串的地址賦給指針p2
C.對(duì)p1和p2兩個(gè)指針?biāo)缸址M(jìn)行比較D.檢查p1和p2兩個(gè)指針?biāo)缸址惺欠裼小?’
63.在16位編譯系統(tǒng)上,若有定義“inta[]={10,20,30},*p=&a;”,當(dāng)執(zhí)行“P++;”后,下列說(shuō)法錯(cuò)誤的是()。
A.P向高地址移了一個(gè)字節(jié)B.P向高地址移了一個(gè)存儲(chǔ)單元C.P向高地址移了兩個(gè)字節(jié)D.P與a+1等價(jià)
64.
下列程序的輸出結(jié)果是()。
#include<stdio.h>
main()
{inta=2,b=3,P;
p=f(a,b);
printf(”%d”,p);
}
intf(a,b)
{intc;
if(a>b)c=1;
elseif(a==b)c=0;
elsec=-l;
return(c);
}
A.-lB.0C.1D.2
65.下列哪個(gè)不屬于DOM元素結(jié)點(diǎn)類型?
A.元素結(jié)點(diǎn)B.文本結(jié)點(diǎn)C.屬性結(jié)點(diǎn)D.樣式結(jié)點(diǎn)
66.閱讀下面程序,則執(zhí)行后的結(jié)果為
#include"stdio.h"
fun1()
{intk=20;
returnk;
}
fun2()
{inta=15;
returna;}
fun3(inta,intb)
{intk;
k=(a-b)*(a+b);
printf("%d\n",k);}
main()
{un3(fun1(),fun2());}
A.0B.184
C.175D.編譯不通過(guò)
67.有以下定義和語(yǔ)句
68.
69.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.y=一1B.Y=0C.y=1D.while構(gòu)成無(wú)限循環(huán)
70.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.9B.6C.11D.7
71.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.10,64B.10,10C.64,10D.64,64
72.有以下程序
73.在數(shù)據(jù)結(jié)構(gòu)中,從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分為()。A.動(dòng)態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)B.緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)C.線性結(jié)構(gòu)和非線性結(jié)構(gòu)D.內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)
74.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()
A.32B.12C.21D.22
75.
76.設(shè)有以下程序段:
structMP3
{charname[20];
charcolor;
floatprice;
}std,*ptr;
ptr=&std:
若要引用結(jié)構(gòu)體變量std中的color成員,寫法錯(cuò)誤的是()。
A.std.color
B.ptr->color
C.std->color
D.(*ptr)color
77.下列敘述中正確的是()。
A.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行查找,最壞情況下需要的比較次數(shù)為n
B.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為n/2
C.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為log2n
D.對(duì)長(zhǎng)度為n的有序鏈表進(jìn)行對(duì)分查找,最壞情況下需要的比較次數(shù)為nlog2n
78.若有說(shuō)明:inti,j=7,*p=&i;,則與i=j;等價(jià)的語(yǔ)句是()。
A.i=*p;B.*p=*&j;C.i=&j;D.i=**p;
79.有以下函數(shù):
函數(shù)的功能是()。
A.將Y所指字符串賦給x所指存儲(chǔ)空間
B.查找x和y所指字符串中是否有
C.統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個(gè)數(shù)
D.統(tǒng)計(jì)x和Y所指字符串中相同的字符個(gè)數(shù)
80.
以下程序的輸出結(jié)果是()。
main
{inti=0,S=0;
for(;;)
{
if(i==3||i==5)continue;
if(i==6)break;
i++;
s+=i:
};
printf("%d\n",s);
}
A.10B.13C.21D.程序陷入死循環(huán)
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun的功能是:計(jì)算整數(shù)n的階乘。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編一個(gè)函數(shù)fun(ohlr*str),該函數(shù)的功能是把字符串中的內(nèi)容逆置。
例如,字符串中原有的字符串為asdf9,則調(diào)用該函數(shù)后,串中的內(nèi)容為9fdsa。
請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填人所編寫的若干語(yǔ)句。
試題程序:
#include<string.h>
#include<conio.h>
#include<stdio.h>
#defineN100
voidfun(char*str)
{
}
voidmain
{
chara[N];
FILE*out:
printf("Enterastring:");
gets(a);
printf("Theorigiralstringis:");
puts(a);
fun(a):
printf("Thestringaftermodified:");
puts(a);
strcpy(a,"Welcome!");
fun(a);
ut=fopen("outfile.dat","w");
fprintf(out,"%s".a(chǎn));
fclose(out);
}
參考答案
1.B
2.C
3.A
4.A由題意可知,文件abc.txt中存放了6個(gè)整數(shù)。其中第1個(gè)表示后續(xù)數(shù)據(jù)的個(gè)數(shù)。要將最后5個(gè)數(shù)據(jù)讀入數(shù)組data中,需要讀取數(shù)據(jù)的個(gè)數(shù)為5,所以首先調(diào)用fscanf函數(shù),將5讀入整型變量n中;接著通過(guò)for循環(huán),i分別取值0~n-1,調(diào)用fscanf函數(shù)將n個(gè)整數(shù)讀入data[0]~data[n-1]中。故本題答案為A選項(xiàng)。
5.C程序定義兩個(gè)整型變量i、j,初值為3,7。另外,定義兩個(gè)整型指針變量p、q,其中p指向i,q指向j。將i、j的地址傳給swap函數(shù)。在swap函數(shù)中,a指向i,b指向j。通過(guò)臨時(shí)變量t交換a和b指向的值,此時(shí)a指向的實(shí)參i、b指向的實(shí)參j的值發(fā)生了交換。即a指向i的值為7,b指向j的值為3;再通過(guò)臨時(shí)變量tp交換a和b的指針值,使得a指向j,b指向i。所以swap中輸出a指向的值為3(j),b指向的值為7(i);swap函數(shù)調(diào)用結(jié)束后,輸出p和q指向的值,即i、j的值為7、3。所以程序輸出:3,7,7,3。本題答案為C選項(xiàng)。
6.A解析:該題考查的是遞歸函數(shù)的調(diào)用,題中讀fun函數(shù)進(jìn)行了遞歸調(diào)用,第1次調(diào)用:fun(3)n=3s=3-fun(2);第二次調(diào)用時(shí):fun(2)n=2s=2返回第一次調(diào)用后,s=3-2=1。
7.C【答案】:C
【知識(shí)點(diǎn)】:需求分析階段的任務(wù)
【解析】:需求分析階段的任務(wù)是深入描述軟件的功能和性能,確定軟件設(shè)計(jì)的約束和軟件同其他系統(tǒng)元素的接口細(xì)節(jié),定義軟件的其他有效性需求,借助于當(dāng)前系統(tǒng)的邏輯模型導(dǎo)出目標(biāo)系統(tǒng)邏輯模型,解決目標(biāo)系統(tǒng)“做什么”的問(wèn)題??煞譃樾枨筇岢?、需求描述及需求評(píng)審三個(gè)階段。從此可以看出需求分析的任務(wù)不包括制定軟件集成測(cè)試計(jì)劃,故選C。
8.B
9.C
10.B
11.Ba一一的含義是先用后減l,所以當(dāng)a的值為0時(shí),跳出循環(huán),但是仍要執(zhí)行a一一,g的值變?yōu)橐?。
12.D在表達(dá)式a*b+d-c中,double的類型最高,C語(yǔ)言中,由低類型自動(dòng)向高類型轉(zhuǎn)換,所以最后的結(jié)果一定是double型。
13.C解析:數(shù)據(jù)庫(kù)(Database,簡(jiǎn)稱DB)是數(shù)據(jù)的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個(gè)應(yīng)用程序所共享。數(shù)據(jù)庫(kù)中的數(shù)據(jù)具有“集成”、“共事”之特點(diǎn)。
14.A
15.A\n數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲(chǔ)空間,更為重要的是可以避免數(shù)據(jù)的不一致性。所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)在不同位置出現(xiàn)時(shí)應(yīng)保持相同的值。
\n
16.C解析:C語(yǔ)言中字符常量是以單引號(hào)括起來(lái)的單個(gè)字符,或以“\\”與三位八進(jìn)制數(shù)值或兩位十六進(jìn)制數(shù)值代替單個(gè)字符。
17.D
18.A將結(jié)構(gòu)變量作為形參,通過(guò)函數(shù)間形參與實(shí)參相結(jié)合的方式將整個(gè)結(jié)構(gòu)傳遞給函數(shù),這種傳遞方式是值傳遞。在被調(diào)用函數(shù)中,對(duì)結(jié)構(gòu)形參變量值進(jìn)行的任何修改都不會(huì)影啊到調(diào)凋函數(shù)中的結(jié)構(gòu)變量。
19.A解析:按位異或“^”運(yùn)算,是當(dāng)對(duì)應(yīng)位上的二進(jìn)制數(shù)值相同時(shí)結(jié)果為0,否則為1。因?yàn)閏1,c2的值相同,所以異或的結(jié)果為0,選項(xiàng)A)正確。按位與“&”運(yùn)算符只有當(dāng)所有對(duì)應(yīng)位上的數(shù)都不相同時(shí)結(jié)果才為0,所以c1&c2的值不可能為0,選項(xiàng)B)錯(cuò)誤?!啊笔前次蝗》?,由于十進(jìn)制數(shù)92轉(zhuǎn)化成二進(jìn)制數(shù)并不是全為1,所以即使取反也不能得到全為。的答案,所以錯(cuò)誤?!皘”是按位或運(yùn)算,由于十進(jìn)制數(shù)92轉(zhuǎn)化為二進(jìn)制數(shù)也不是全為0,所以按位或運(yùn)算后也不會(huì)全為0。
20.B
21.1212解析:本題簽考查如何用指針引用數(shù)組元素。分析程序,首先定義了一個(gè)指向數(shù)組a的指針p,p指向數(shù)組的首地址,通過(guò)p++,將p指向a[1],p+2是將指針后移2位指向a[3],*(p+2)即是取a[3)的值12。
22.1030010300解析:在scanf格式控制符中有一個(gè)“*”附加說(shuō)明符,表示跳過(guò)它指定的列數(shù)。程序中'%d%*d%d'表示首先將10賦給i,然后遇%。d讀入整數(shù)但不賦給任何變量,最后將讀人的整數(shù)30賦給變量j,變量k并沒(méi)有重新賦值,仍為初始值0。所以輸出的結(jié)果為10300。
23.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時(shí)由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過(guò)變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開(kāi)軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個(gè)或多個(gè)處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。
24.時(shí)間復(fù)雜度時(shí)間復(fù)雜度解析:算法在執(zhí)行過(guò)程中所執(zhí)行的基本運(yùn)算的次數(shù),也就是執(zhí)行算法所需要的計(jì)算工作量,稱為算法的時(shí)間復(fù)雜度。
25.對(duì)象對(duì)象解析:類描述的是具有相似性質(zhì)的一組對(duì)象。例如,每本具體的書(shū)是一個(gè)對(duì)象,而這些具體的書(shū)都有共同的性質(zhì),它們都屬于更一般的概念“書(shū)”這一類對(duì)象。一個(gè)具體對(duì)象稱為類的實(shí)例。
26.數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)
27.完善性軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對(duì)軟件提出的新功能與性能要求,需要修改或再開(kāi)發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。
28.結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)解析:與結(jié)構(gòu)化需求分析方法相對(duì)應(yīng)的是結(jié)構(gòu)化設(shè)計(jì)方法。結(jié)構(gòu)化設(shè)計(jì)就是采用最佳的可能方法設(shè)計(jì)系統(tǒng)的各個(gè)組成部分以及各個(gè)成分之間的內(nèi)部聯(lián)系的技術(shù)。
29.99解析:用i和j替換宏MAL(a,b)小的參數(shù)a和b,(a>b?a:b)+1等價(jià)于(i>j?i:j)+1。因?yàn)?>8為假,則關(guān)系表達(dá)式i>j?i:j的值就是j的值,j=8,8+1=9,最后輸出9。
30.11371,13,7解析:本題考查3個(gè)知識(shí)點(diǎn):①余數(shù)的計(jì)算,題中的a=10,b=3,a%b=1:②(表達(dá)式1,表達(dá)式2)形式的結(jié)果為最后一個(gè)表達(dá)式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運(yùn)算符的使用,題中的a-b?a-b:a+b,判斷語(yǔ)句a-b=7不為0,所以執(zhí)行a-b,結(jié)果為7。
31.880
32.數(shù)據(jù)字典數(shù)據(jù)字典解析:在結(jié)構(gòu)化分析方法中,用于描述系統(tǒng)中所用到的全部數(shù)據(jù)和文件的文檔稱為數(shù)據(jù)字典。
33.3123,1,2解析:分析程序,第一個(gè)if句,a=1,b=2,控制條件a<b成立,則交換a、b的值,此時(shí)a=2,b=1。第二個(gè)if語(yǔ)句,a=2,c=3,控制條件a<c成立,則交換a、c的值,此時(shí)a=3,c=2。
34.0240480,2,4\r\n0,4,8解析:本題主要考查for循環(huán)語(yǔ)句的使用以及靜態(tài)局部變量的特點(diǎn)。
35.0/i/i或1.0/(i*i)0/i/i或1.0/(i*i)解析:由題面中提供的計(jì)算pi的公式可知;在第i項(xiàng)其值為1/(i*i),考慮到運(yùn)算結(jié)果為浮點(diǎn)數(shù),故必須要將1轉(zhuǎn)化為浮點(diǎn)數(shù)或采用1.0/(i*i)的形式。故本題應(yīng)填1.0/(i*i)或其等效形式。
36.繼承繼承
37.1對(duì)多(或1:N)1對(duì)多(或1:N)
38.2222解析:C語(yǔ)言里char類型占1個(gè)字節(jié),int類型占2個(gè)字節(jié),float類型占4個(gè)字節(jié),double類型占8個(gè)字節(jié),因此變量a在內(nèi)存中所占字節(jié)數(shù)=1*6+4*2+1*8=6+8+8=22。
39.findbigfindbig解析:本題考核的知識(shí)點(diǎn)是指向函數(shù)的指針變量的使用。本題首先定義了一個(gè)指向函數(shù)的指針變量f,如果希望讓它指向某個(gè)函數(shù),只需把函數(shù)名賦給該指針變量即可。所以說(shuō)本題的空格處應(yīng)該填入函數(shù)名findbig。
40.s[i]!='\0'||t[i]!='\0's[i]=='\0'&&t[i]=='\0's[i]!='\\0'||t[i]!='\\0'\r\ns[i]=='\\0'&&t[i]=='\\0'
41.A解析:根據(jù)函數(shù)的定義語(yǔ)法規(guī)定,在C語(yǔ)言程序中,不能嵌套定義,即不能在函數(shù)中再定義函數(shù);main()函數(shù)在C語(yǔ)言程序中是必須的,但函數(shù)可以放在程序中的任意位置;當(dāng)在所有函數(shù)的外部、被調(diào)用之前說(shuō)明函數(shù)時(shí),在函數(shù)說(shuō)明后面的任何位置上都可以對(duì)函數(shù)進(jìn)行調(diào)用。函數(shù)說(shuō)明也可以放在調(diào)用函數(shù)的說(shuō)明部分,如在main函數(shù)內(nèi)部進(jìn)行說(shuō)明,則只能在main函數(shù)內(nèi)部才能識(shí)別函數(shù)。
42.D解析:本題考查switch語(yǔ)句,首先,x=1符合條件case1,執(zhí)行switch(y)語(yǔ)句。y=0符合case0語(yǔ)句,執(zhí)行a抖并跳出switch(y)語(yǔ)句,此時(shí)a=1。因?yàn)閏ase1語(yǔ)句后面沒(méi)有break語(yǔ)句,所以向后執(zhí)行case2語(yǔ)句,執(zhí)行a++,b++,然后跳出switch(x),得a=2,b=1。
43.B
44.B
45.C解析:軟件工程的基本概念。軟件工程概念的出現(xiàn)源自于軟件危機(jī)。為了消除軟件危機(jī),通過(guò)認(rèn)真研究解決軟件危機(jī)的方法,認(rèn)識(shí)到軟件工程是使計(jì)算機(jī)軟件走向工程科學(xué)的途徑,逐步形成了軟件工程的概念。
46.A解析:本題首先定義兩個(gè)字符型指針變量p和q,通過(guò)malloc()函數(shù)申請(qǐng)20個(gè)字符的存儲(chǔ)空間,并把它的首地址賦給p,在把p的值賦給q,p和q指向同一個(gè)存儲(chǔ)區(qū)。在scanf()語(yǔ)句中讀取字符串到p和q指向的字符串,先把“abc”讀取到p指向的存儲(chǔ)區(qū)中,第一個(gè)空格是結(jié)束標(biāo)記,第二個(gè)空格是分隔符,再把“def”存放到q指向的存儲(chǔ)區(qū),把原先的內(nèi)容覆蓋。所以p和q指向的存儲(chǔ)區(qū)中內(nèi)容是“def”,所以最后輸出的def,def所以4個(gè)選項(xiàng)中A正確。
47.B解析:題目中首先通過(guò)strcat(p,r)函數(shù)將r所指字符串內(nèi)容連接到p所指的字符串后面,p[20]={'a','b','c','d','a','b','c','d','e'},然后通過(guò)strcpy(p+strlen(q),q),首先在p[0]地址的基礎(chǔ)上向后移動(dòng)三位,然后將q所指字符串的內(nèi)容復(fù)制到p所指的存儲(chǔ)空間中,從字符d往后全部覆蓋,p[20]={'a','b','c','a','b','c'}。在輸出語(yǔ)句中strlen(p)是求字符串的長(zhǎng)度。
48.B解析:f函數(shù)的功能是返回地址為x,y的兩個(gè)數(shù)中值鉸的數(shù)的地址,本題輸出結(jié)果是7,8,7。
49.C解析:由于在ANSIC中malloc函數(shù)返回的地址為void,故在調(diào)用函數(shù)時(shí),必須利用強(qiáng)制類型轉(zhuǎn)換將其轉(zhuǎn)換成所需的類型。
50.C解析:隊(duì)列是指允許在一端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表,允許插入的一端稱為隊(duì)尾,允許刪除的一端稱為隊(duì)頭,選項(xiàng)A和選項(xiàng)B錯(cuò)誤。在隊(duì)列中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除,所以,隊(duì)列又稱為“先進(jìn)先出”或“后進(jìn)后出”的線性表,它體現(xiàn)了“先來(lái)先服務(wù)”的原則,選項(xiàng)C正確,選項(xiàng)D錯(cuò)誤。
51.B
52.C解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。函數(shù)的形參是函數(shù)定義時(shí)由用戶定義的形式上的變量,實(shí)參是函數(shù)調(diào)用時(shí),主調(diào)函數(shù)為被調(diào)函數(shù)提供的原始數(shù)據(jù)。在函數(shù)調(diào)用時(shí),實(shí)參和其所對(duì)應(yīng)的形參分別占用不同的存儲(chǔ)單元,彼此之間不影響。
53.A解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。通過(guò)函數(shù)abc的執(zhí)行,將字符串中的字母a去掉,保留剩下的。由于是通過(guò)指針調(diào)用,所以改變字符串的結(jié)果。
54.B
55.C解析:軟件生命周期由軟件定義、軟件開(kāi)發(fā)和軟件維護(hù)三個(gè)時(shí)期組成,每個(gè)時(shí)期又進(jìn)一步劃分為若干個(gè)階段。軟件定義時(shí)期的基本任務(wù)是確定軟件系統(tǒng)的工程需求。軟件定義可分為軟件系統(tǒng)的可行性研究和需求分析兩個(gè)階段。軟件開(kāi)發(fā)時(shí)期是具體設(shè)計(jì)和實(shí)現(xiàn)在前一時(shí)期定義的軟件,它通常由下面五個(gè)階段組成:概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編寫代碼、組裝測(cè)試和確認(rèn)測(cè)試。軟件維護(hù)時(shí)期的主要任務(wù)是使軟件持久地滿足用戶的需要。即當(dāng)軟件在使用過(guò)程中發(fā)現(xiàn)錯(cuò)誤時(shí)應(yīng)加以改正;當(dāng)環(huán)境改變時(shí)應(yīng)該修改軟件,以適應(yīng)新的環(huán)境;當(dāng)用戶有新要求時(shí)應(yīng)該及時(shí)改進(jìn)軟件,以滿足用戶的新要求。根據(jù)上述對(duì)軟件生命周期的介紹,可知選項(xiàng)C中的軟件維護(hù)不是軟件生命周期開(kāi)發(fā)階段的任務(wù)。因此,本題的正確答案是C。
56.B解析:“后進(jìn)先出”表示最后被插入的元素最先能被刪除。選項(xiàng)A中,隊(duì)列是指允許在—端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表,在隊(duì)列這種數(shù)據(jù)結(jié)構(gòu)中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除,隊(duì)列又稱為“先進(jìn)先出”的線性表,它體現(xiàn)了“先來(lái)先服務(wù)”的原則:選項(xiàng)B中,棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素,棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素。隊(duì)列和棧都屆于線性表,它們具有順序存儲(chǔ)的特點(diǎn),所以才有“先進(jìn)先出”和“后進(jìn)先出”的數(shù)據(jù)組織方式。雙向鏈表使用鏈?zhǔn)酱鎯?chǔ)方式,二叉樹(shù)也通常采用鏈?zhǔn)酱鎯?chǔ)方式,它們的存儲(chǔ)數(shù)據(jù)的空間可以是不連續(xù)的,各個(gè)數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致。所以選項(xiàng)C和選項(xiàng)D錯(cuò)誤。本題的正確答案為選項(xiàng)B。
57.D解析:本題首先定義了一個(gè)字符型指針變量p,并用一個(gè)字符串給它賦值,然后調(diào)用printf()函數(shù)輸出p所指向的字符串的長(zhǎng)度。字符串的結(jié)束標(biāo)記為“\\0”,其長(zhǎng)度為“\\0”前的字符個(gè)數(shù),故長(zhǎng)度為5。
58.B解析:C語(yǔ)言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下畫線3種字符組成,且第一個(gè)字符必須為字母或下畫線,排除選項(xiàng)C)和D);C語(yǔ)言中還規(guī)定標(biāo)識(shí)符不能為C語(yǔ)言的關(guān)鍵字,而選項(xiàng)A)中void為關(guān)鍵字,故排除選項(xiàng)A)。
59.D
60.B
61.D
62.A本題主要考查字符串的操作。從題目的選項(xiàng)中我們可以看出,本題給出的程序是對(duì)字符串進(jìn)行相應(yīng)的操作。
本題的程序是一個(gè)fun函數(shù),該函數(shù)帶有兩個(gè)指針類型的形參p1和p2,它們分別指向兩個(gè)需要被操作的字符串,程序中主要是一個(gè)while循環(huán),循環(huán)的判斷條件是(*p2=*p1)!=’\0’,這個(gè)表達(dá)式的作用是將指針變量p1所指向的字符串的當(dāng)前字符賦值給指針變量p2所指向的存儲(chǔ)空間,并判斷該字符串是否為字符串結(jié)束標(biāo)識(shí),如果不是結(jié)束標(biāo)識(shí),則兩個(gè)指針都后移一位,即分別指向下一個(gè)存儲(chǔ)單元。
通過(guò)上面對(duì)程序的分析我們可以看出,程序是將指針變量p1所指向的字符串復(fù)制到指針變量p2所指向的存儲(chǔ)空間中,直到字符串結(jié)束。因此,本題的答案選A。
63.A因?yàn)镻是整型的指針變量,因此其移動(dòng)一個(gè)位置即兩個(gè)字節(jié),故選擇A選項(xiàng)。
64.A
\n本題考查if-else語(yǔ)句。if為真則執(zhí)行C=1,if為假則執(zhí)行else中的條
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中國(guó)電建合同范本
- 烹飪?cè)现R(shí)練習(xí)題庫(kù)(附答案)
- 個(gè)人廣告公司年終總結(jié)
- 修路購(gòu)銷合同范本
- 作坊小廠轉(zhuǎn)讓合同范本
- 上半年工作總結(jié)和下半年工作計(jì)劃
- 醫(yī)生專家聘用合同范本
- 南京 汽車銷售合同范本
- 個(gè)人經(jīng)營(yíng)合作合同范本
- 各種合作合同范例
- GB/T 3274-2017碳素結(jié)構(gòu)鋼和低合金結(jié)構(gòu)鋼熱軋鋼板和鋼帶
- GB/T 18318-2001紡織品織物彎曲長(zhǎng)度的測(cè)定
- 《企業(yè)員工培訓(xùn)國(guó)內(nèi)外文獻(xiàn)綜述》4800字
- 麻醉藥品與精神藥品不良反應(yīng)的防治 (1) - 副本課件
- 車輛保險(xiǎn)登記臺(tái)賬參考模板范本
- 礦山道路施工組織設(shè)計(jì)方案
- 正弦函數(shù)的圖像與性質(zhì)優(yōu)秀課件
- 山東省任氏宗親分布村落
- 北師大版小學(xué)數(shù)學(xué)五年級(jí)下冊(cè)《有趣的折疊》說(shuō)課稿
- 陜西省建設(shè)工程長(zhǎng)安杯獎(jiǎng)省優(yōu)質(zhì)工程結(jié)構(gòu)備案和復(fù)查的要求
- 典型示功圖分析(全)
評(píng)論
0/150
提交評(píng)論