版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021-2022年貴州省六盤水市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級:________姓名:________考號(hào):________
一、單選題(20題)1.x>0&&x<=10的相反表達(dá)式為()。
A.x<=0||x>10B.x<=0&&x>10C.x<=0||x<=10D.x>0&&x>10
2.若在線性表中采用折半查找法查找元素,該線性表應(yīng)該()A.元素按值有序B.構(gòu)采用順序存儲(chǔ)結(jié)C.元素按值有序且采用順序存儲(chǔ)結(jié)構(gòu)D.元素按值有序且采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
3.在軟件生存周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()。
A.概要設(shè)計(jì)B.詳細(xì)設(shè)計(jì)C.可行性分析D.需求分析
4.下面程序輸出的結(jié)果是main(){intx;x=-3+4*5-6;printf("%d",x);x=3+4%5-6;printf("%d",x);x=-3+4%6/5;printf("%d",x);x=(7+6)%5/2;printf("%d",x);}
A.111-31B.11-321C.12-321D.11121
5.有以下程序:#include<stdio.h>main(){chars[]=“abcde”;s+=2;printf(“%d\n”,s[0]);}程序的運(yùn)行結(jié)果是()。
A.輸出字符c的ASCII值B.程序出錯(cuò)C.輸出字符cD.輸出字符a的ASCII值
6.對線性表進(jìn)行二分法檢索,其前提條件是()。
A.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序
B.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序
C.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序
D.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序
7.以下敘述中錯(cuò)誤的是()。
A.C語句必須以分號(hào)結(jié)束
B.復(fù)合語句在語法上被看作一條語句
C.空語句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行
D.賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語句
8.若需要0(nlog2n)的時(shí)間內(nèi)完成對數(shù)組的排序,且要求排序是穩(wěn)定的,則可選擇排序方法是()。A.快速排序B.堆排序C.歸并排序D.直接插入排序
9.設(shè)有定義:intx[2][3];,則以下關(guān)于二維數(shù)組X的敘述錯(cuò)誤的是()。
A.x[0]可看做是由3個(gè)整型元素組成的一維數(shù)組
B.x[0]和x[l]是數(shù)組名,分別代表不同的地址常量
C.數(shù)組X包含6個(gè)元素
D.可以用語句x[o]=0;為數(shù)組所有元素賦初值0
10.有以下程序:voidfunl(char*p)程序執(zhí)行后的輸出結(jié)果是()A.ProhsbnB.PrphsbnC.ProgsbnD.Program
11.已知a,b均被定義為double型,則表達(dá)式:b=1,a=b+5/2的值為()。
A.1B.3C.3.0D.3.5
12.若要求定義具有10個(gè)int型元素的一維數(shù)組a,則以下定義語句中錯(cuò)誤的是()。
A.#definen5inta[2*n];
B.intn=10,a[n];
C.inta[5+5];
D.#defineN10inta[N];
13.printf函數(shù)中用到格式符%5s,其中數(shù)字5表示輸出的字符串占用5列。如果字符串長度大于5,則輸出按方式()。
A.從左起輸出該字串,右補(bǔ)空格B.按原字符長從左向右全部輸出C.右對齊輸出該字串,左補(bǔ)空格D.輸出錯(cuò)誤信息
14.對關(guān)系S和R進(jìn)行集合運(yùn)算,結(jié)果中既包含S中的所有元組也包含R中的所有元組,這樣的集合運(yùn)算稱為()
A.并運(yùn)算B.交運(yùn)算C.差運(yùn)算D.積運(yùn)算
15.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()。
A.數(shù)據(jù)所占的存儲(chǔ)空間
B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式
C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式
D.存儲(chǔ)在計(jì)算機(jī)外存中的數(shù)據(jù)
16.若有以下的說明和語句,則在執(zhí)行for語句后,’(*(pt+1)+2)表示的數(shù)組元素是()。intt[3][3],*pt[3],k;for(k=0;k<3;k++)pt[k]=&t[k][0];
A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]
17.
18.函數(shù)fun的功能是在a所指的具有n個(gè)元素的數(shù)組中查找最大值并返回給調(diào)用函數(shù),但函數(shù)不完整:intfun(int*a,intn){int*p,*s;for(p=a,s=a;p-a<=""p="">if(________)s=p;return*s;}在if語句下劃線處應(yīng)填入的選項(xiàng)是()。
A.p>sB.*p>*sC.a[p]>a[s]D.p-a>p-s
19.有以下程序:#include<stdio.h>#defineF(x,y)(x)*(y)main(){inta=3,b=4;printf("%d\n",F(a++,b++));}程序運(yùn)行后的輸出結(jié)果是()。
A.12B.15C.16D.20
20.函數(shù)fread(buffer,size,count,fp)中buffer代表的是()。
A.—個(gè)存儲(chǔ)區(qū),存放要讀的數(shù)據(jù)項(xiàng)
B.一個(gè)整數(shù),代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)
C.一個(gè)文件指針,指向要讀的文件
D.—個(gè)指針,指向讀入數(shù)據(jù)要存放的地址
二、2.填空題(20題)21.下列程序執(zhí)行輸出的結(jié)果是______。
#include<stdio.h>
f(intA)
{intb=0;
staticc=7;
a=c++;b++;
return(a);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%dh",k);
}
22.下述函數(shù)用于統(tǒng)計(jì)一行字符中的單詞個(gè)數(shù),單詞之間用空格分隔。
word_num(str)
charstr[];
{inti,num=0,word=0;
fo(i=0;str[i]!=【】;i++)
if(【】=='')word=0;
elseif(word==0)
{
word=1;
【】;
}
return(num);
}
23.關(guān)系模型的數(shù)據(jù)操縱即是建立在關(guān)系上的數(shù)據(jù)操縱,一般有______、增加、刪除和修改四種操作。
24.下面的程序能求a:ab.c文件中最長行和它的位置。
#include<stdio.h>
main()
{intlin,i,j=0,k=0;
charc;
FILE*fp;
fp=(【】("a:ab.c","r");
rewind(fp);
while(fgetc(fp)!=EOF)
i=1;
【】
{i++;
j++;
if(i>=k){k=i;【】;}
}
printf("\n%d\t%d\n",k,lin);
【】;
}
25.以下程序的運(yùn)行結(jié)果是【】。
intk=0;
voidfun(intm)
{m+=k;k+=m;
printf("m=%dk=%d",m,k++)
}
main()
{inti=4;
fun(i++);
printf("i=%dk=%d\n",i,k);
}
26.數(shù)據(jù)庫保護(hù)分為:安全性控制、______、并發(fā)性控制和數(shù)據(jù)的恢復(fù)。
27.以下程序的運(yùn)行結(jié)果是()。
intk=0;
voidfun(intm)
{m+=k;k+=m;printf("m=%d\nk=%d",m,k++);}
main()
{inti=4;
fun(i++);printf("i=%dk=%d\n",i,k);
}
28.算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和______復(fù)雜度。
29.在深度為5的完全二叉樹中,度為2的結(jié)點(diǎn)數(shù)最多為【】。
30.在程序設(shè)計(jì)階段應(yīng)該采取【】和逐步求精的方法,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,進(jìn)而用某種程序設(shè)計(jì)語言寫成程序。
31.在軟件開發(fā)中,結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化程序設(shè)計(jì)方法。詳細(xì)設(shè)計(jì)階段所采用的是【】方法。
32.\13'在內(nèi)存中占1個(gè)字節(jié),"\12"在內(nèi)存中占______個(gè)字節(jié)。
33.若x和y都是double型變量,且x的初值為3.0,y的初值為2.0,則表達(dá)式pow(y,fabs(x))的值為【】。
34.下面的程序?qū)崿F(xiàn)字符串的復(fù)制。
voidcopy_string(from,to)
【】;
{for(;*from;from++,to++)
*to=*from;
【】;
}
main()
{char*a="Iamwang",*b="youareLi";
printf("%s\n%s\n",a,b);
【】;
printf("%s\n%s\n\n",a,b);
}
35.軟件的可移植性是用來衡量軟件【】的重要尺度之一。
36.以下程序的輸出結(jié)果是【】。
main()
{inta=0;
a+=(a=8);
printf(“%d\n”,A);
}
37.下面程序的功能是從鍵盤輸入一行字符,統(tǒng)計(jì)有多少個(gè)單詞,單詞間用空格分隔。補(bǔ)充所缺語句。
#include<stdio.h>
main()
{charss[80],c1,c2='';
inti=0,num=0;
gets(s);
while(s[i]!='\0')
{c1=s[i];
if(i==0)c2='';
elsec2=s[i-1];
if(【】)num++;
i++;
}
printf("Thereare%dwords,\n",num);
}
38.有以下程序:
#include<stclio.h>
main()
{charc;
while((c=getchar())!='?')putchar(--c);
}
程序運(yùn)行時(shí),如果從鍵盤輸入:Y?N?<回車>,則輸出結(jié)果為【】。
39.若先后輸入county、side,以下程序的運(yùn)行結(jié)果為【】。
main()
{chars1[40],s2[20];inti=0,j=0;
scanf("%s",s1);
scanf("%s",s2);
while(s1[i]!='\0')i++;
while(s2[j]!='\0')s1[i++]=s2[j++];
s1[i]='\0';
printf("\n%s",s1);
}
40.若a是血型變量,且a的初值為4,則計(jì)算a+=a-=a*a表達(dá)式后a的值為______。
三、1.選擇題(20題)41.下列程序的輸出結(jié)果是______。main(){inti=3;switch(i){case1:case2:printf("%d",i);case3:case4:break;default:printf("OK");}}
A.0B.3C.OKD.沒有任何輸出
42.設(shè)有定義:inta=2,b=3,c=4;則以下選項(xiàng)中值為0的表達(dá)式是______。
A.(!a==1)&&(!b==0)
B.(a>b)&&!c||1
C.a&&b
D.a||(b+b)&&(c-a)
43.設(shè)有如下定義:char*aa[2]={"abcd","ABCD"},則以下說法中正確的是()。
A.aa數(shù)組中元素的值分別是{"abcd","ABCD"};
B.aa是指針變量,它指向含有兩個(gè)數(shù)組元素的字符型一維數(shù)組
C.aa數(shù)組的兩個(gè)元素分別存放的是含有4個(gè)字符的一維字符數(shù)組的首地址
D.aa數(shù)組的兩個(gè)元素中各自存放了字符‘a(chǎn)’和‘A’的地址
44.設(shè)計(jì)數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)屬于()。
A.需求分析B.概念設(shè)計(jì)C.邏輯設(shè)計(jì)D.物理設(shè)計(jì)
45.在下列#include命令中,正確的一條是()
A.#include[string.h]
B.#include{math.h}
C.#include(stdio.h)
D.#include<stdio.h>
46.分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p;}printf("%d,%d",*p1,*p2);printf("%d,%d",a,b);}程序的輸出結(jié)果為()。
A.9,66,9B.6,99,6C.6,96,9D.9,69,6
47.有以下程序:main(){intx=0,y=5,z=31while(z-->0&&++x<5)y=y-1;printf("%d,%d,%d\n",x,y,z);}程序執(zhí)行后的輸出結(jié)果是______。
A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-5
48.以下程序的輸出結(jié)果是()longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main(){printf("%d\n",fun(3));}
A.1B.2C.3D.4
49.有如下程序main(){inty=3,x=3,z=1;printf("%d%d\n",(++x,y++),z+2);}運(yùn)行該程序的輸出結(jié)果是______。
A.34B.42C.43D.33
50.下列程序的輸出結(jié)果是______。main(){inti;for(i=0;i<2;i++)add();}add(){intx=0;staticinty=0;printf("%d,%d\n",x,y);x++;y=y+2;}
A.0,00,0B.0,00,2C.0,01,0D.0,01,2
51.對象實(shí)現(xiàn)了數(shù)據(jù)和操作的結(jié)合,是指對數(shù)據(jù)和數(shù)據(jù)的操作進(jìn)行______。A.A.結(jié)合B.隱藏C.封裝D.抽象
52.在面向?qū)ο蠓椒ㄖ校粋€(gè)對象請求另一對象為其服務(wù)的方式是通過發(fā)送()。A.調(diào)用語句B.命令C.口令D.消息
53.當(dāng)執(zhí)行以下程序段時(shí),______。x=-1;do{x=x*x;}while(!x);
A.循環(huán)體將執(zhí)行1次B.循環(huán)體將執(zhí)行2次C.循環(huán)體將執(zhí)行無限次D.系統(tǒng)將提示有語法錯(cuò)誤
54.對表進(jìn)行水平方向和垂直方向的分割,分別對應(yīng)的關(guān)系運(yùn)算是()
A.選擇和投影B.投影和選擇C.選擇和聯(lián)接D.投影和聯(lián)接
55.下列程序的輸出結(jié)果是()。#include<stdio.h>intfun(intx){intp;if(x==0||x==1)return3;elsep=x-fun(x-2);returnp;}voidmain(){printf("\n%d",fun(5));}
A.5B.3C.7D.1
56.下面程序段的運(yùn)行結(jié)果是chara[]="lanuage",*p;p=a;while(*p!='u'){printf("%c",*p-32);p++;}
A.LANGUAGEB.languageC.LAND.langUAGE
57.在調(diào)用函數(shù)時(shí),如果實(shí)參是簡單變量,它與對應(yīng)形參之間的數(shù)據(jù)傳遞方式是______。
A.地址傳遞B.單向值傳遞C.由實(shí)參傳紿形,再由形參傳回實(shí)參D.傳遞方式由用戶指定
58.有如下程序段int*p,a=10,b=1;p=&a;a=*p+b;執(zhí)行該程序段后,a的值為______。
A.12B.11C.10D.編譯出錯(cuò)
59.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與實(shí)體間的聯(lián)系可以表示成()。
A.屬性B.關(guān)系C.鍵D.域
60.以下()不屬于對象的基本特征。
A.繼承性B.封裝性C.分類性D.多態(tài)性
四、選擇題(20題)61.結(jié)構(gòu)化程序設(shè)計(jì)的三種結(jié)構(gòu)是()。
A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)
B.分支結(jié)構(gòu)、等價(jià)結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
C.多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價(jià)結(jié)構(gòu)
D.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
62.設(shè)變量a、b、c、d和y都已正確定義并賦值。若有以下if語句:
該語句所表示的含義是()。
A.
B.
C.
D.
63.
64.信息隱蔽的概念與下述哪一種概念直接相關(guān)()。
A.軟件結(jié)構(gòu)定義B.模塊獨(dú)立性C.模塊類型劃分D.模塊耦合度
65.以下程序運(yùn)行后的輸出結(jié)果是()。
f(inta)
{intb=0;staticintc=3;
b++;c++;
return(a+b+c);
}
main()
{inta=2,i;
for(i=0;i<3;i++)
printf("%4d",f(a));
A.789B.678C.567D.876
66.下列程序的輸出結(jié)果是()。#includedstdi0.h>#includedstring.h>voidfun(intb[]){staticinti=0;do{b[i]+=b[i+1];}while(++i<2);}main{intk,a[5]={1,3,5,4,9};fun(a);for(k=0;k<5;k++)printf("%d",a[k]);}A.13579B.48579C.48549D.48999
67.
68.
69.有以下程序:
main()
{intx=0,y=5,z=3;
while(z-->0&&++x<5?x:y--)y=y-1
Printf("%d,%d,%d\n",x,y,z);
}
程序執(zhí)行后的輸出結(jié)果是()。
A.3,2,0B.3,2,-1C.4,3,-1D.3,-1,-2
70.以下選項(xiàng)中,不能作為合法常量的是
A.1.24e03B.1.34e0.3C.1.24e+3D.1.34e0
71.
如果進(jìn)棧序列為el、e2、e3、e4,則可能的出棧序列是()。
A.e3、el、e4、e2B.e2、e4、e3、elC.e3、e4、e2D.任意順序
72.以下敘述中不正確的是
A.預(yù)處理命令都必須以#號(hào)開始
B.在程序中凡是以#號(hào)開始的語句行都是預(yù)處理命令行
C.宏替換不占用運(yùn)行時(shí)間,只占編譯時(shí)間
D.以下定義是正確的:#definePI3.1415926;
73.
74.有以下程序:
voidmain()
{intk=0,n=0;
while(k<5)
{switch(k)
{default:break;
case1:n+=k;
case2:
case3:n+=k;
}
k++;
}
printf("%d\n",n);
}
程序運(yùn)行后的輸出結(jié)果是()。
A)0B)4
C)6D)7
75.
76.c源程序中不能表示的數(shù)制是()。
A.二進(jìn)制B.八進(jìn)制C.十進(jìn)制D.十六進(jìn)制
77.
設(shè)變量均已正確定義,
值10和20,為變量cl和c2賦字符X和Y。以下所示的輸入形式中正確的是(注:口代表空格字符.()。
A.
B.
C.
D.
78.(21)算法的空間復(fù)雜度是指______。
A.算法程序的長度
B.算法程序中的指令條數(shù)
C.算法程序所占的存儲(chǔ)空間
D.算法執(zhí)行過程中所需要的存儲(chǔ)空間
79.針對簡單程序設(shè)計(jì),以下敘述的實(shí)施步驟順序正確的是()。
A.確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試、整理文檔
B.編碼、確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、整理文檔
C.整理文檔、確定算法和數(shù)據(jù)結(jié)構(gòu)、編碼、調(diào)試
D.確定算法和數(shù)據(jù)結(jié)構(gòu)、調(diào)試、編碼、整理文檔
80.面向?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)概念
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:計(jì)算n!。例如,若輸人:6,則輸出:6!=720.000000。
請修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.規(guī)定輸入的字符串中只包含字母和*號(hào)。編寫函數(shù)fun,其功能是:刪除字符串中所有的*號(hào)。編寫函數(shù)時(shí),不得使用C語言提供的字符串函數(shù)。
例如,字符串中的內(nèi)容為“****A*BC*DEF*G****”,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是“ABCDEFG”。
注意:部分源程序給出如下。
請勿改動(dòng)maini)函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
voidfun(chara)
{
voidmain
{
chars[81];
print{("Enterastring:\n");
gets(s):
fun(S);
printf("Thestringafterdeleted:\n");
puts(s);
}
參考答案
1.A
2.C
3.D解析:在需求分析階段中,根據(jù)可行性研究階段所提交的文檔,特別是從數(shù)據(jù)流圖出發(fā),對目標(biāo)系統(tǒng)提出清晰、準(zhǔn)確和具體的要求,即要明確系統(tǒng)必須做什么的問題。本題的正確答案為D。
4.A解析:本題考查的是算術(shù)運(yùn)算符的各種運(yùn)算,x=-3+4*5-6=-3+20-6=11;x=3+4%5-6=3+4-6=1;x=-3+4%6/5=-3+4/5=-3+0=-3;x=(7+6)%5/2=13%5/2=3/2=1。故正確答案為選項(xiàng)A)。
5.B在C語言中,數(shù)組名類似于一個(gè)指向數(shù)組首地址的指針常量,一旦定義就不能修改其內(nèi)容。所以本題中的“s+=2;”語句讓數(shù)組名S的內(nèi)容加2是錯(cuò)誤的,編譯無法通過。故本題答案為B選項(xiàng)。
6.A解析:對線性表進(jìn)行二分法檢索,要求線性表是按順序方式存儲(chǔ)的,并按關(guān)鍵碼值的大小排好序,而不是按關(guān)鍵碼的檢索頻率排序。
7.C解析:C語句必須以分號(hào)結(jié)束,選項(xiàng)A是正確的。復(fù)合語句在語法上被看作一條語句,選項(xiàng)B也是正確的。空語句也算是一條語句,因此如果空語句出現(xiàn)在條件或者循環(huán)語句中,一樣會(huì)被當(dāng)作條件子句或者循環(huán)體來看待,所以選項(xiàng)c是錯(cuò)誤的。賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語句,選項(xiàng)D正確。故本題應(yīng)該選擇C。
8.C
9.Dx[0]是不能賦值的。
10.A本題中使用了函數(shù)的調(diào)用,由funl函數(shù)中的while循環(huán)可知,循環(huán)的作用是為了把q所指向的內(nèi)容增加1,而從主函數(shù)傳到函數(shù)時(shí)是從下標(biāo)為3開始傳,因此當(dāng)調(diào)用函數(shù)執(zhí)行完后,傳過去的字符串為hsbn,前面不變。
11.D
12.B一維數(shù)組定義的一般形式為:類型說明符數(shù)組名[常量表達(dá)式]。注意定義數(shù)組時(shí),元素個(gè)數(shù)不能是變量。故本題答案為B選項(xiàng)。
13.B
14.AA)【解析】關(guān)系的并運(yùn)算是指由結(jié)構(gòu)相同的兩個(gè)關(guān)系合并,形成一個(gè)新的關(guān)系,新關(guān)系中包含兩個(gè)關(guān)系中的所有元組。
15.B解析:數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),又稱為數(shù)據(jù)的物理結(jié)構(gòu),是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有順序結(jié)構(gòu)、鏈?zhǔn)浇Y(jié)構(gòu)、散列結(jié)構(gòu)和索引結(jié)構(gòu)等。
16.C從for循環(huán)可知pt是指向行的首地址的指針變量,因此由指針的表示方法可知:*(*(pt+1)+2)=pt[1][2]=t[1][2]。
17.B
18.B函數(shù)fun的功能是在a所指的具有n個(gè)元素的數(shù)組中查找最大值并返回。通過for循環(huán)比較,s始終指向最大值的那個(gè)元素。取指針的值,使用*P,因此比較使用*P和*s,又因?yàn)檎易畲笾?,?dāng)*s<*p時(shí),修改指針s的指向。故本題答案為B選項(xiàng)。
19.A解析:本題考查帶參數(shù)的宏定義,參數(shù)只是簡單的替換而不是求出其值后再替換形式參數(shù)。本題中用a++替換X,用b++替換Y,再求(a++)*(b++)的值,即3*4的值,其結(jié)果為12。
20.Dfread函數(shù)用來讀二進(jìn)制文件,其中buffer是數(shù)據(jù)塊的指針,它是內(nèi)存塊的首地址,輸入的數(shù)據(jù)存入此內(nèi)存中;size表示每個(gè)數(shù)據(jù)塊的字節(jié)數(shù);count用來指定每讀一次讀入的數(shù)據(jù)塊個(gè)數(shù);fp是文件指針,指向要讀的文件。選項(xiàng)A、B、C錯(cuò)誤。本題答案為D選項(xiàng)。
21.88解析:第1次for循環(huán),i=0,調(diào)用函數(shù)f(2),然后將a的值加1,在f()函數(shù)中,變量c為static類型,所以c=8:第2次for循環(huán),i=1,調(diào)用函數(shù)f(3),然后將a的值加1,調(diào)用函數(shù)f(3)時(shí),a=c++8,所以k=8。
22.\0'或0或NULLstr[i]num++或num=num+1或num+=1\\0'或0或NULL\r\nstr[i]\r\nnum++或num=num+1或num+=1解析:觀察題目要求,可以知道以下幾點(diǎn):
①for循環(huán)的結(jié)束條件應(yīng)當(dāng)是:str[i]已是字符串的最后—個(gè)字符;
②str[i]代表字符串str中的第i+1個(gè)字符;
③整型變量num的值是要記錄的單詞的個(gè)數(shù)。
C語言中規(guī)定字符串的最后一個(gè)字符是一個(gè)隱含的字符串結(jié)束符“\\0”,所以在題中第—個(gè)空中應(yīng)填寫“\\0”;題中第二個(gè)空應(yīng)填寫“str[i]”,以判斷當(dāng)前位置的字符是否為空格;題中第三個(gè)空中應(yīng)當(dāng)填寫“num++”,通過變量num的加1累加得到字符串中的單詞個(gè)數(shù)。
23.查詢查詢
24.fopenwhile(fgetc(fp)!='\n')lin=jclose(fp)fopen\r\nwhile(fgetc(fp)!='\\n')\r\nlin=j\r\nclose(fp)
25.m=4k=4i=5k=5m=4k=4i=5k=5解析:main()函數(shù)首先定義了1個(gè)變量i,并初始化為4。然后用表達(dá)式i++的值為實(shí)參調(diào)用函數(shù)fun(),因?yàn)楹缶Y”表達(dá)式的值為增1之前的值,故此時(shí)傳遞給函數(shù)的參數(shù)m值為4。fun()函數(shù)中,首先讓形參m自增k,由于此時(shí)k還是0,所以m不變,然后讓k自增m,執(zhí)行后k的值和m相同為4。最后fun()函數(shù)輸出m和k廿的值,兩個(gè)值都是4,故首先輸出了“m=4k=4”,輸出完后,k自增1(k變?yōu)?)。fun()函數(shù)執(zhí)行完畢,返回main()函數(shù)中,此時(shí)i會(huì)被自增1變?yōu)?,故接著又輸出的i和k的值都是5。故最終輸出結(jié)果是“m=4k=4i=5k=5”。
26.完整性控制完整性控制
27.m=4k=4i=5k=5m=4k=4i=5k=5解析:在主函數(shù)main()中定義了一個(gè)變量i,并賦初值4,調(diào)用fun()函數(shù)將i的初值傳遞給形參m,進(jìn)行fun()函數(shù)后的運(yùn)算,輸出結(jié)果為m=4,k=4。將k值輸出后自行增加1,k=5,此時(shí)全局變量k的值變?yōu)?。主函數(shù)中調(diào)用fun()函數(shù)后,i再自行增加1,i=5,所以主函數(shù)輸出的結(jié)果為“i=5k=5”。
28.空間空間解析:算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。一個(gè)算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
29.1515解析:在深度為5的完全二叉樹中,度為2的結(jié)點(diǎn)數(shù)最多的是深度為5的滿二叉樹。在深度為5的滿二叉樹中,前4層中所有結(jié)點(diǎn)的度為2。即在深度為5的完全二叉樹中,度為2的結(jié)點(diǎn)數(shù)最多相當(dāng)于深度為4的滿二叉樹中的結(jié)點(diǎn)數(shù)。深度為4的滿二叉樹中的結(jié)點(diǎn)數(shù)為24(上標(biāo))-1=15。
30.自頂而下自頂而下
31.結(jié)構(gòu)化設(shè)計(jì)結(jié)構(gòu)化設(shè)計(jì)解析:在軟件開發(fā)中,結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化程序設(shè)計(jì)方法。詳細(xì)設(shè)計(jì)階段所采用的是結(jié)構(gòu)化設(shè)計(jì)方法。
32.22解析:'\\13':表示八進(jìn)制數(shù)13表示的ASCII字符,是一個(gè)字符,占一個(gè)字節(jié);而”\\12”是個(gè)字符串,除了八進(jìn)制數(shù)12表示的ASCII字符占一個(gè)字節(jié)外,還有在字符串的末尾加上串結(jié)束標(biāo)志“'\\0'”,所以共有2個(gè)字節(jié)。
33.88解析:fabs函數(shù)功能是求x的絕對值,計(jì)算結(jié)果為double型。pow功能是計(jì)算x的y次方的值,計(jì)算結(jié)果同樣為double型。所以本題表達(dá)式相當(dāng)于2.0的3.0次方,結(jié)果為8.000000。
34.char*from*to*to='\0'copy_string(ab)char*from,*to\r\n*to='\\0'\r\ncopy_string(a,b)解析:函數(shù)copy_string()用到了形參from,to是指針變量,實(shí)參a、b是字符串指針,第一個(gè)空格應(yīng)填形參說明語句“char*from,*to”。當(dāng)from所指的字符串全部復(fù)制給to所指的字符串時(shí),有可能to所指原字符串長度大于from所指字符串長度,即可能to所指串的后面字符仍留在復(fù)制后的to所指串中。為避免這種情況,必須在from所指串復(fù)制完后,馬上給to所指串加上串結(jié)束符。因此,第二個(gè)空格應(yīng)填*to='\\0'。main()函數(shù)應(yīng)調(diào)用copy_string()函數(shù),第三個(gè)空格應(yīng)填copy_string(a,b)。
35.質(zhì)量質(zhì)量
36.1616解析:在程序中首先將8賦值給變量a,然后再進(jìn)行復(fù)合賦值運(yùn)算。即a=a+a=8+8=16,所以該空格處應(yīng)該填16。
37.c1!==''&&c2==''
38.XX解析:主函數(shù)中首先定義了一個(gè)字符型變量c,接著執(zhí)行下面while語句,在while循環(huán)中,首先從鍵盤上讀入一個(gè)字符Y并給賦給字符變量c,賦值表達(dá)式的值不為'?',執(zhí)行輸出語句,輸出字符X。接著判斷while中的循環(huán)條件,讀入一個(gè)字符'?'并賦值給c,賦值表達(dá)式的值為'?'循環(huán)條件不再滿足,退出循環(huán)。
39.countryside
40.-24-24解析:本題考查賦值運(yùn)算符a+=b等價(jià)于a=a+b;a-=a*a等價(jià)于a-a-a*a=4-4*4=-12:a+=a,即a=a+a=-24。
41.D解析:在題中,i的值為3,由于“case3:”后面沒有break語句,所以繼續(xù)向下執(zhí)行“case4:”后面的語句,由于“case4:”后面的語句為break強(qiáng)行退出switch語句,所以,本題沒有任何輸出。
42.A解析:根據(jù)運(yùn)算符的優(yōu)先級:邏輯非>算術(shù)運(yùn)算>關(guān)系運(yùn)算>邏輯與>邏輯或>賦值運(yùn)算,可以計(jì)算得到為A。其中C選項(xiàng)因?yàn)閍、b均不為0,所以結(jié)果為1。
43.C解析:aa數(shù)組被定義為字符型指針數(shù)組,有兩個(gè)元素,分別存放字符串'abcd'和'ABCD'的首地址。
44.DD?!窘馕觥课锢碓O(shè)計(jì)階段主要解決選擇文件存儲(chǔ)結(jié)構(gòu)和確定文件存取方法的問題。物理設(shè)計(jì)階段包括:選擇存儲(chǔ)結(jié)構(gòu)、確定存取方法、選擇存取路徑、確定數(shù)據(jù)的存放位置。
45.D
46.A解析:通過p1=&a,p2=&b分別將a、b的地址賦給指針p1、p2,接著執(zhí)行if語句,發(fā)現(xiàn)a<b成立,則通過交換p1、p2的值,即交換a、b所在存儲(chǔ)單元的地址,但是a、b的值并沒有發(fā)生變化。
47.B解析:第一次執(zhí)行while語句時(shí),z=3>0,然后執(zhí)行z--得z=2,執(zhí)行++x得x=1<5,條件成立,執(zhí)行y=y-1=5
-1=4;第二次執(zhí)行while語句時(shí),z=2>0,然后執(zhí)行z--得z=1,執(zhí)行++x得x=2<5,條件成立,執(zhí)行y=y-1=4-1=3;第三次執(zhí)行while語句時(shí),z=1>0,然后執(zhí)行z--得x=0,執(zhí)行++x得x=3<5,條件成立,執(zhí)行y=y-1=3-1=2;第四次執(zhí)行while語句時(shí)因z=0,z<0條件不成立,同時(shí)執(zhí)行c--得z=-1。即執(zhí)行完while循環(huán)后x=3、y=2、z=-1。
48.A
49.D解析:逗號(hào)表達(dá)式(++x,y++)的值應(yīng)該是y++的值,由于y++是先引用后自增,所以y++的值是3。
50.B
51.C解析:對象是由數(shù)據(jù)及可以對這些數(shù)據(jù)施加的操作組成的統(tǒng)一體。對象的內(nèi)部,即處理能力的實(shí)行和內(nèi)部狀態(tài),對外是看不見的,這一特性稱做對象的封裝。
52.D解析:面向?qū)ο蟮氖澜缡峭ㄟ^對象與對象間彼此的相互合作來推動(dòng)的,對象間的這種相互合作需要一個(gè)機(jī)制協(xié)助進(jìn)行,這樣的機(jī)制稱為消息。消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息,它請求對象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。
53.A
54.A解析:從關(guān)系中找出滿足給定條件的那些元組稱為選擇,是從行的角度進(jìn)行的運(yùn)算,即水平方向抽取元組。從關(guān)系模式中挑選若干屬性組成新的關(guān)系稱為投影,是從列的角度進(jìn)行的運(yùn)算,相當(dāng)于對關(guān)系進(jìn)行垂直分解。所以,本題選擇A。
55.A解析:本題考查函數(shù)的遞歸調(diào)用。在函數(shù)遞歸調(diào)用時(shí),fun(5):a=5-fun(3)->fun3:a=3-fun(1)->fun(1):a=3,反推回去fun(3):a=3-3=0->fun(5):a=5-0=5,暈后的計(jì)算結(jié)果為5。
56.C解析:本段程序的作用是輸出字符串“l(fā)anuage”中字母u之前的字符,并將其轉(zhuǎn)化為大寫字母。注意:如果一個(gè)字符數(shù)組用來作為字符串使用,那么在定義該字符數(shù)組時(shí),數(shù)組的大小就應(yīng)該比它將要實(shí)際存放的最長字符多一個(gè)元素,以存放‘\\0’。
57.B解析:C語言函數(shù)中的參數(shù)傳遞方式有傳值與傳址兩種方式,傳值方式是指將實(shí)參的值復(fù)制一份傳遞給形參,而傳址方式是指將實(shí)參的變量地址傳遞給形參,也就是實(shí)參的引用。
58.B解析:執(zhí)行p=&a;后,p指向整數(shù)a,*p即p的目標(biāo)變量,也就是a;所以a=*p+b等價(jià)于a=a+b,可知a的值最終為11。
59.B解析:將E-R圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式是數(shù)據(jù)庫邏輯設(shè)計(jì)的主要工作。從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體和聯(lián)系都可以表示成關(guān)系。
60.A詳細(xì)解答:
對象具有如下特征:
標(biāo)識(shí)惟一性。指對象是可區(qū)分的。
分類性。指可以將具有相同屬性和操作的對象抽象成類。
多態(tài)性。指同一個(gè)操作可以是不同對象的行為。
封裝性。從外面看只能看到對象的外部特征,而不知道也無需知道數(shù)據(jù)的具體結(jié)構(gòu)以及實(shí)現(xiàn)操作的算法。
模塊獨(dú)立性好。對象是面向?qū)ο蟮能浖幕灸K,對象內(nèi)部各種元素彼此結(jié)合得很緊密,內(nèi)聚性強(qiáng)。
61.D結(jié)構(gòu)化程序設(shè)計(jì)以模塊化設(shè)計(jì)為中心,采用自頂向下、逐步求精的程序設(shè)計(jì)方法。任何算法功能都可以通過由程序模塊組成的三種基本程序結(jié)構(gòu)的組合:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)。
62.C考查if語句的使用。整個(gè)語句都是以a<b為假設(shè)的,在a<b的情況下,如果c=d,則y=0;否則y=1。所以答案為選項(xiàng)C)。
63.C
64.B解析:信息隱蔽是指在一個(gè)模塊內(nèi)包含的信息(過程或數(shù)據(jù)),對于不需要這些信息的其他模塊來說是不能訪問的。模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡單。衡量軟件的模塊獨(dú)立性的度量標(biāo)準(zhǔn)是耦合性和內(nèi)聚性。一個(gè)模塊的耦合性越強(qiáng),則該模塊的模塊獨(dú)立性越強(qiáng)。
65.Ai=0,f(a)=2+1+4=7,i=1,f(a)=2+1+5=8,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度個(gè)人經(jīng)營性貸款還款協(xié)議模板8篇
- 二零二五年廢棄物處理及廢品回收承包合同書3篇
- 二零二五年度倉儲(chǔ)租賃與智能化改造合同3篇
- 二零二五年度外資獨(dú)資公司股權(quán)變更操作細(xì)則合同
- 2025年個(gè)人汽車維修服務(wù)質(zhì)押擔(dān)保合同3篇
- 2025版高端餐飲集團(tuán)租賃管理與服務(wù)保障合同3篇
- 個(gè)人委托支付事務(wù)具體合同版B版
- 2024酒店裝修設(shè)計(jì)合同
- 2025年度智能果園蘋果采購與銷售管理合同4篇
- 2025年度園林景觀設(shè)計(jì)專利授權(quán)許可合同3篇
- 碳纖維增強(qiáng)復(fù)合材料在海洋工程中的應(yīng)用情況
- 多重耐藥菌病人的管理-(1)課件
- (高清版)TDT 1056-2019 縣級國土資源調(diào)查生產(chǎn)成本定額
- 環(huán)境監(jiān)測對環(huán)境保護(hù)的意義
- 2023年數(shù)學(xué)競賽AMC8試卷(含答案)
- 神經(jīng)外科課件:神經(jīng)外科急重癥
- 2024年低壓電工證理論考試題庫及答案
- 2023年十天突破公務(wù)員面試
- 《瘋狂動(dòng)物城》中英文對照(全本臺(tái)詞)
- 醫(yī)院住院醫(yī)師規(guī)范化培訓(xùn)證明(樣本)
- 小學(xué)六年級語文閱讀理解100篇(及答案)
評論
0/150
提交評論