版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年山西省陽泉市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.若f(n)=3n2+2n+1,則f(n)=()。
A.O(n2)B.O(n)C.O(2n)D.O(3n2)
2.下列程序的輸出結(jié)果是______。main(){charch[2][5]={"6937","8254"},*p[2];inti,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>'\0';j+=2)s=10*s+p[i][j]-'0';printf("%d\n",s);}
A.69825B.63825C.6385D.693825
3.有以下程序:#include<stdio.h>#include<string.h>main(){charv[4][10]={“efg”,“abcd”,“mnopq”,“hijkl”},*p[4],*t;inti,j;for(i=0;i<4;i++)p[i]=v[i];for(i=0;i<3;i++) for(j=i+1;j<4;j++) if(strcmp(p[i],p[j])>0) {t=p[i];p[i]=p[j];p[j]=t}for(i=0;i<4;i++) printf(“%s”,p[i]);}程序運(yùn)行后的輸出結(jié)果是()。
A.efgabcdhijklmnopq
B.abcdefghijklmnopq
C.mnopqhijklefgabcd
D.efgabcdmnopqhijkl
4.以下敘述正確的是()。
A.C語言程序是由過程和函數(shù)組成的
B.C語言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x))
C.C語言函數(shù)不可以單獨(dú)編譯
D.C語言中除了main函數(shù),其他函數(shù)不可作為單獨(dú)文件形式存在
5.判斷有向圖是否存在回路,利用()方法最佳。
A.求關(guān)鍵路徑B.求最短路徑C.拓?fù)渑判駾.廣度優(yōu)先遍歷
6.下述關(guān)于數(shù)據(jù)庫系統(tǒng)的敘中正確的是______。
A.數(shù)據(jù)庫系統(tǒng)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫系統(tǒng)避免了一切冗余
C.數(shù)據(jù)庫系統(tǒng)中數(shù)據(jù)的一致性是指數(shù)據(jù)類型的一致
D.數(shù)據(jù)庫系統(tǒng)比文件系統(tǒng)能管理更多的數(shù)據(jù)
7.設(shè)R是一個(gè)2元關(guān)系,有3個(gè)元組,S是一個(gè)3元關(guān)系,有3個(gè)元組。如T=R×S,則T的元組的個(gè)數(shù)為()。A.6B.8C.9D.12
8.若有定義“intk=7,x=12;”,則以下表達(dá)式值為3的是()。
A.(x%=k)-(k%=5)B.x%=(k%=5)C.x%=(k-k%5)D.x%=k-k%5
9.有以下程序
#include<stdio.h>
main()
{inta=1,b=0;
if(--a)b++;
elseif(a==0)b+=2;
elseb+=3:
printf("%d\n",b);
}
程序運(yùn)行后的輸出結(jié)果是A.A.0B.1C.2D.3
10.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.4321098765B.5678901234C.0987654321D.0987651234
11.循環(huán)隊(duì)列存儲(chǔ)在數(shù)組A[0..m]中,則入隊(duì)時(shí)的操作為()。
A.rear=rear+1
B.rear=(rear+1)mod(m-1)
C.rear=(rear+1)modm
D.rear=(rear+1)mod(m+1)
12.有以下程序:#includedstdi0.h>#definef(x)X*x*xmain(){inta=3,S,t;s=f(a+1);t=f((a+1));printf("%d,%d\n",S,t);}程序運(yùn)行后的輸出結(jié)果是()。A.10,64B.10,10C.64,10D.64,64
13.以下選項(xiàng)中可作為C語言合法常量的是_____。A.-80B.-080C.-8e1.0D.-80.Oe
14.以下說法正確的是()。
A.函數(shù)可以返回另一個(gè)函數(shù)的整個(gè)函數(shù)體
B.函數(shù)返回值只能是基本數(shù)據(jù)類型的數(shù)值或指針
C.函數(shù)返回值可以是一個(gè)指向函數(shù)的指針
D.函數(shù)返回值可以是一個(gè)數(shù)組,同時(shí)返回多個(gè)值
15.設(shè)計(jì)軟件結(jié)構(gòu)是在軟件生命周期的()。
A.軟件定義期B.軟件開發(fā)期C.軟件維護(hù)期D.以上3個(gè)都不是
16.線處應(yīng)填入().A.b[i++]B.b[i]++C.b[i+=2]D.b[i]+=2
17.在inta=3,int*p=&a;中,*p的值是()
A.變量a的地址值B.無意義C.變量p的地址值D.3
18.
19.若有下列說明語句int(*p)();則標(biāo)識(shí)符p代表的是()
A.一個(gè)用于指向函數(shù)的指針變量,函數(shù)返回值的類型為int型
B.一個(gè)帶回值類型為整型的函數(shù)名
C.一個(gè)用于指向整型數(shù)據(jù)的指針變量
D.一個(gè)帶回值類型為指針類型的函數(shù)名
20.關(guān)系數(shù)據(jù)庫的數(shù)據(jù)及更新操作必須遵循()等完整性規(guī)則。
A.實(shí)體完整性和參照完整性
B.參照完整性和用戶定義的完整性
C.實(shí)體完整性和用戶定義的完整性
D.實(shí)體完整性、參照完整性和用戶定義的完整性
二、2.填空題(20題)21.測(cè)試用例包括輸入值集和【】值集。
22.一棵二叉樹第6層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)最多為______個(gè)。
23.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inta,b,c;
a=10;b=20;c=(a%b<1)||(a/b>1);
printf("%d%d%d\n",a,b,c);
}
24.“printf("%d\n",strlen("\t\"\023\xABC\n"));”語句的輸出結(jié)果是______。
25.對(duì)長度為10的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為【】。
26.在一個(gè)容量為25的循環(huán)隊(duì)列中,若頭指針front=16,尾指針rear=9,則該循環(huán)隊(duì)列中共有【】個(gè)元素。
27.按照邏輯結(jié)構(gòu)分類,數(shù)據(jù)結(jié)構(gòu)可分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),二叉樹屬于______。
28.在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)中,不僅需要存儲(chǔ)各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。
29.函數(shù)my_cmp()的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,否則返回s和t的第一個(gè)不同字符的ASCII碼差值,即s>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。請(qǐng)?zhí)羁铡?/p>
my_cmp(char*s,char*t)
{while(*s==*t)
{if(*s=='\0')return0;
++s;++t;
}return【】;
}
30.結(jié)構(gòu)化分析方法是面向______進(jìn)行分析的方法。
31.理解下面的程序,填空完善程序。
main()
{inta,b,c;
scanf("%d%d",【】);
c=【】(a,b);
printf("a=%db=%dmax=%d\n",a,b,c);
}
intmax(x,y)
【】;
{intz;
if(x>y)z=x;
elsez=y(tǒng);
【】;
}
32.以下isprime函數(shù)的功能是判斷形參a是否為素?cái)?shù),是素?cái)?shù),函數(shù)返回1,
否則返回0。請(qǐng)?zhí)羁铡?/p>
intisprime(inta)
{inti;
for(i=2;i<=a/2;i++)
if(a%i==0)【】;
【】;
}
33.下面程序的功能是:計(jì)算110之間的奇數(shù)之和與偶數(shù)之和,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{inta,b,c,I;
a=c=0;
for(I=0;I<=10;I+=2)
{a+=I;
【】;
c+=b;}
printf("偶數(shù)之和=%d\n",a);
printf("奇數(shù)之和=%d\n",c-11);}
34.為了建立如圖所示的存儲(chǔ)結(jié)構(gòu)(即每個(gè)結(jié)點(diǎn)含兩個(gè)域,data是數(shù)據(jù)域,next是指向結(jié)點(diǎn)的指針域)。請(qǐng)?zhí)羁铡?/p>
structlink{chardata;【】;}node;
35.在面向?qū)ο蟮姆椒ㄖ?,______描述的是具有相似屬性與操作的一組對(duì)象。
36.下列程序的輸出結(jié)果是______。
#defineP(A)printf("%d,",(int)(A))
#definePRINT(A)P(A);printf("theend")
main()
{inti,a=0;
for(i=1;i<5.i++)
PRINT(a+i);
printf("\n");
}
37.類是一個(gè)支持集成的抽象數(shù)據(jù)類型,而對(duì)象是類的【】。
38.設(shè)有如下宏定義
#defineMYSWAP(z,x,y)
{z=x;x=y;y=z;}
以下程序段通過宏調(diào)用實(shí)現(xiàn)變量a,b內(nèi)容交換,請(qǐng)?zhí)羁铡?/p>
floata=5,b=16,c;
MYSWAP(【】a,b);
39.在樹形結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒有______。
40.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intx=0210;
printf("%X\n",x);
}
三、1.選擇題(20題)41.對(duì)長度為n的線性表進(jìn)行順序查找,在最壞情況下需要比較的次數(shù)為()。
A.125B.n/2C.nD.n+1
42.以下程序中函數(shù)scmp的功能是返回形參指針s1和s2所指字符串中較小字符串的首地址#include<stdio.h>#include<string.h>char*scmp(char*s1,char*s2){if(strcmp(s1,s2)<0)return(s1);elsereturn(s2);}main(){inti;charstring[20],str[3][20];for(i=0;i<3;i++)gets(str[i]);strcpy(string,scmp(str[0],str[1]));/*庫函數(shù)strcpy對(duì)字符串進(jìn)行復(fù)制*/strcpy(string,scmp(string,str[2]));printf("%s\n",string);}若運(yùn)行時(shí)依次輸入:abcd、abba和abc三個(gè)字符串,則輸出結(jié)果為
A.abcdB.adbaC.abcD.abca
43.設(shè)已包含頭文件<string.h>,下列程序段的運(yùn)行結(jié)果是()。chars1[]={"ACDEF"};chars2[]="ABC";strcpy(s1,s2);printf("%d",strlen(s1));
A.3B.4C.6D.5
44.請(qǐng)選出正確的程序段
A.int*p;scanf("%d",p);…
B.int*s,k;*s=100;…
C.int*s,k;char*p,c;s=&k;p=&c;*p='a';…
D.int*s,k;char*p,e;s=&k;p=&c;s=p;*s=1;…
45.若有定義:“inta[2][3];”,則對(duì)a數(shù)組的第i行第j列元素的正確引用為()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
46.若已定義:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,則對(duì)a數(shù)組元素不正確的引用是______。
A.a[p-a]B.*(&a[i])C.p[i]D.a[10]
47.下列敘述中正確的是()。
A.程序執(zhí)行的效率與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)密切相關(guān)
B.程序執(zhí)行的效率只取決于程序的控制結(jié)構(gòu)
C.程序執(zhí)行的效率只取決于所處理的數(shù)據(jù)量
D.以上三種說法都不對(duì)
48.有以下程序voidf(int*x,int*y){intt;t=*x;*x=*y;*y=t;}main(){inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;p=a;q=&a[7];while(p<q){f(p,q);p++;q--;}for(i=0;i<8;i++)printf("%d,",a[i]);}程序運(yùn)行后的輸出結(jié)果是
A.8,2,3,4,5,6,7,1,
B.5,6,7,8,1,2,3,4,
C.1,2,3,4,5,6,7,8,
D.8,7,6,5,4,3,2,1
49.下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是
A.線性鏈表B.棧C.循環(huán)鏈表D.順序表
50.下面程序的功能是輸出以下形式的金字塔圖案:****************main(){inti,j;for(i=1;i<=4;i++){for(j=1;j<=4-i;j++)printf("");for(j=1;j<=();j++)printf("*");printf("\n");}}在下劃線處應(yīng)填入的是()。
A.iB.2*-1C.2*i+1D.i+2
51.若有定義和語句()chars[10];s="abcd";printf("%s\n",s);則結(jié)果是(以下μ代表空格)
A.輸出abcdB.輸出aC.abcdμμμμμD.編譯不通過
52.下面程序的輸出結(jié)果是_______。unionun{inta[4];longb;charc[6];}main(){unionunu;printf("%d%d",sizeof(u),sizeof(uA));}
A.82B.88C.188D.182
53.已定義以下函數(shù);intfun(int*p){return*p;}fun函數(shù)返回值是()。
A.不確定的值B.一個(gè)整數(shù)C.形參p中存放的值D.形參p的地址值
54.可以在C語言中用做用戶標(biāo)識(shí)符的是______。
A.voiddefineWORDB.as_b3_123IfC.for-abccasD.2cDoSIG
55.在瀑布模型中,將軟件開發(fā)劃分為若干時(shí)期,而軟件的可行性研究一般被屬于______。
A.計(jì)劃時(shí)期B.維護(hù)時(shí)期C.運(yùn)行時(shí)期D.開發(fā)時(shí)期
56.下列可用于C語言用戶標(biāo)識(shí)符的一組是
A.void,define,WORD
B.a3_b3,_123,Car
C.For,-abc,IFCase
D.2a,DO,sizeof
57.請(qǐng)讀程序:#include<stdio.h>#include<string.h>main(){char*s1="AbCdEf",*s2="aB";s1++;s2++;printf("%d\n",strcmp(s1,s2));}上面程序的輸出結(jié)果是______。
A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值
58.以下程序運(yùn)行后,輸出結(jié)果是#definePT5.5#defineS(x)PT*x*x#include<stdio.h>main(){inta=1,b=2;printf("%4.1f\n",s(a+b));}
A.49.5B.9.5C.22D.45.0
59.以下變量x,y,z均為double類型且已正確賦值,不能正確表示數(shù)學(xué)式子x÷y÷z的C語言表達(dá)式是
A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z
60.單個(gè)用戶使用的數(shù)據(jù)視圖的描述稱為______。
A.外模式B.概念模式C.內(nèi)模式D.存儲(chǔ)模式
四、選擇題(20題)61.以下描述錯(cuò)誤的是
A.C程序中,函數(shù)可以直接或間接調(diào)用自己
B.函數(shù)調(diào)用時(shí),函數(shù)名必須與所調(diào)用的函數(shù)名字完全一致
C.函數(shù)說明語句中的類型必須與函數(shù)返回值的類型一致
D.實(shí)參個(gè)數(shù)可以與形參個(gè)數(shù)不一致
62.下列關(guān)于數(shù)據(jù)流圖的描述正確的是()。
A.數(shù)據(jù)流圖是描述數(shù)據(jù)處理過程的工具
B.數(shù)據(jù)流圖間接支持系統(tǒng)的功能建模
C.數(shù)據(jù)流圖中帶箭頭的線段表示控制流
D.數(shù)據(jù)流圖是軟件詳細(xì)設(shè)計(jì)的工具
63.
64.以下程序的輸出結(jié)果是()。
A.1,2,3,4,5,6,7,8,9,10,
B.1,2,3,4,10,12,14,16,9,10,
C.1,2,6,8,10,12,7,8,9,10,
D.1,2,6,8,10,12,14,16,9,10,
65.
66.
67.
68.執(zhí)行下列程序后,變量a,b,C的值分別是()。intx=5,y=4;inta,b,c;a=(--x==y++)?X:++y;b=++x:c=y:A.a=5,b=5,c=5B.a=4,b=5,c=5C.a=5,b=6,c=5D.a=1,b=5,c=6
69.(5)下面概念中,不屬于面向?qū)ο蠓椒ǖ氖?)
A.對(duì)象
B.繼承
C.類
D.過程調(diào)用
70.下列選擇中,不能用做標(biāo)識(shí)符的是()。
A.1234B._1_2C.int_2_D.2_int_
71.
72.
73.設(shè)j為Int型變量,則下面for循環(huán)語句的執(zhí)行結(jié)果是()。
for(j=10;j>3;j--)
{if(j%3)j--;
--j;--j;
printf("%d",j);
}
A.63B.74C.62D.73
74.
75.
76.在數(shù)據(jù)庫系統(tǒng)中,所謂數(shù)據(jù)獨(dú)立性是指()。
A.數(shù)據(jù)與程序獨(dú)立存放
B.不同的數(shù)據(jù)被存放在不同的文件中
C.不同的數(shù)據(jù)只能被對(duì)應(yīng)的應(yīng)用程序所使用
D.以上三種說法都不對(duì)
77.(62)棧底至棧頂依次存放元素A、B、C、D,在第五個(gè)元素E入棧前,棧中元素可以出棧,則出棧序列可能是()
A.ABCED
B.DBCEA
C.CDABE
D.DCBEA
78.
79.若有定義:intX=0,*P=&x;,則語句printf(”%d\n”,*P.的輸出結(jié)果是()。
A.隨機(jī)值B.0C.X的地址D.P的地址
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:根據(jù)整型形參n,計(jì)算如下公式的值:A1=1,A2=1/(5+A1),A3=1/(5+A2),…,An=1/(5+A(n-1))例如,若n一10,則應(yīng)輸出0.192582。請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫函數(shù)fun(),其功能是找出2×M整型二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語句。試題程序:#defineM4#include<stdio.h>intfun(inta[][m]){}voidmain(){intarr[2][M]={5,8,3,45,76,-4,12,82};printf(“max=%d\n”,fun(arr));}
參考答案
1.A
2.C
3.Bmain函數(shù)中定義一個(gè)二維數(shù)組v,另外還定義一個(gè)指針數(shù)組p。通過for循環(huán),將v的各個(gè)行(字符串的首地址)賦給P的對(duì)應(yīng)下標(biāo)的元素。然后通過嵌套的for循環(huán),為該二維數(shù)組中存放的各個(gè)字符串進(jìn)行排序。strcmp函數(shù)返回值大于0時(shí)(p[i]>p[j])交換兩個(gè)字符串,所以每一輪內(nèi)嵌的for循環(huán),都將下標(biāo)為i的字符串放在最終的排序位置上,即排序規(guī)則是按字符串升序排列。字符串排序時(shí),是將兩個(gè)字符串自左向右逐個(gè)字符比較(按字符的ASCII值大?。?,直到出現(xiàn)不同的字符或遇到‘\\0’為止。排序后,再將v中各個(gè)排序后的字符串輸出。所以程序輸出結(jié)果為:abcdefghijklmnopq。故本題答案為B選項(xiàng)。
4.B解析:C語言中只有函數(shù)沒有過程,故選項(xiàng)A錯(cuò)誤;C語言可以嵌套調(diào)用,故選項(xiàng)B正確;C語言函數(shù)可以單獨(dú)編譯成.dll文件,故選項(xiàng)C錯(cuò)誤;C語言中除main函數(shù)以外,其他函數(shù)可作為單獨(dú)文件形式存在,故選項(xiàng)D也錯(cuò)誤。
5.C
6.A解析:由于數(shù)據(jù)的集成性使得數(shù)據(jù)可為多個(gè)應(yīng)用所共享,特別是在網(wǎng)絡(luò)發(fā)達(dá)的今天,數(shù)據(jù)庫與網(wǎng)絡(luò)的結(jié)合擴(kuò)大了數(shù)據(jù)關(guān)系的應(yīng)用范圍。數(shù)據(jù)的共享自身又可極大地減少數(shù)據(jù)冗余性,不僅減少了不必要的存儲(chǔ)空間,更為重要的是可以避免數(shù)據(jù)的不一致性。所謂數(shù)據(jù)的一致性是指在系統(tǒng)中同一數(shù)據(jù)的不同出現(xiàn)應(yīng)保持相同的值,而數(shù)據(jù)的不一致性指的是同一個(gè)數(shù)據(jù)在系統(tǒng)的不同拷貝處有不同的值。
7.CC。R為n元關(guān)系,有P個(gè)元組S為m元關(guān)系,有q個(gè)元組。兩個(gè)關(guān)系笛卡兒積是一個(gè)n+m元的關(guān)系,元組個(gè)數(shù)是q×p。所以T的元組的個(gè)數(shù)為9個(gè)。
8.A選項(xiàng)A中,表達(dá)式“x%=k”結(jié)果為5,表達(dá)式“k%=5”結(jié)果為2,5-2結(jié)果為3;選項(xiàng)B中,“k%=5”結(jié)果為2,“x%=2”結(jié)果為0;選項(xiàng)C中,“k%5”結(jié)果為2,“k-k%5”結(jié)果為5,“x%5”結(jié)果為2;選項(xiàng)D中,“k%5”結(jié)果為2,“k-k%5”結(jié)果為5,x%5結(jié)果為2。故本題答案為A選項(xiàng)。
9.C解析:本題考察運(yùn)算符和選擇語句,執(zhí)行到if語句時(shí),--a為0,所以不會(huì)執(zhí)行后面的語句,但是會(huì)執(zhí)行elseif后面的語句,所以執(zhí)行后,b=2,選項(xiàng)C)正確。
10.B該程序首先給一維數(shù)組賦值,然后三次調(diào)用fun函數(shù),其中fun(a,0,3);功能是將一維數(shù)組中第1個(gè)元素和第4個(gè)元素互換,第2個(gè)元素和第3個(gè)元素互換;其中fun(a,4,9);功能是將一維數(shù)組中第5個(gè)元素和第10個(gè)元素互換,第6個(gè)和第9個(gè)元素互換,第7個(gè)元素和第8個(gè)元素互換;其中fun(a.O,9);功能是將將一維數(shù)組中第l個(gè)元素和第10個(gè)元素互換,第2個(gè)元素和第9個(gè)元素互換……依此類推。因此B選項(xiàng)正確。
11.D
12.A本題考查帶參數(shù)的宏定義。第一次函數(shù)調(diào)用求S的值,x=a+1,所以X*X*X應(yīng)寫成a+1*a+1*a+1,沒有括號(hào)優(yōu)先級(jí),結(jié)果為l0,第二次函數(shù)調(diào)用x*X*X可寫成(a+1)*(a+1)*(a+1),所以結(jié)果為43=64。
13.A解析:C語言的常量分為整型常量、實(shí)型常量和字符型常量。選項(xiàng)A屬于實(shí)型常量中的十進(jìn)制小數(shù)形式的表示法,是合法的。
14.C函數(shù)的返回值是通過return語句返回的,返回值是一個(gè)表達(dá)式,不限于基本數(shù)據(jù)類型或指針,也可以是結(jié)構(gòu)體類型等,但不能是數(shù)組,選項(xiàng)A、B、D錯(cuò)誤;函數(shù)的返回值可以是一個(gè)指向函數(shù)的指針,選項(xiàng)C正確。故本題答案為C選項(xiàng)。
15.BB?!窘馕觥吭O(shè)計(jì)軟件結(jié)構(gòu),是在軟件概要設(shè)計(jì)階段進(jìn)行的,而概要設(shè)計(jì)屬于軟件開發(fā)期。
16.D
17.D
18.A
19.A
20.D解析:關(guān)系模型中包括關(guān)系的數(shù)據(jù)結(jié)構(gòu)、關(guān)系的操縱和關(guān)系中的數(shù)據(jù)約束。關(guān)系完整性約束即數(shù)據(jù)完整性,包括實(shí)體完整性、參照完整性和用戶自定義完整性。
21.輸出輸出解析:測(cè)試用例曲測(cè)試輸入數(shù)據(jù)(輸入值集)和與之對(duì)應(yīng)的預(yù)期輸出結(jié)果(輸出值集)兩部分組成。
22.3232解析:二叉樹第k層上,最多有2k-1(k≥1)個(gè)結(jié)點(diǎn)。第6層的結(jié)點(diǎn)數(shù)最多是26-1=32。注意區(qū)別“二叉樹的結(jié)點(diǎn)最多數(shù)”和“某一層的結(jié)點(diǎn)最多數(shù)”。前者的計(jì)算是深度為m的二叉樹最多有2m-1個(gè)結(jié)點(diǎn)。
23.1020010200解析:本題考查算術(shù)運(yùn)算符,關(guān)系運(yùn)算符和邏輯運(yùn)算符的使用和優(yōu)先級(jí)關(guān)系。程序中,a=10,b=20,c=(10%20<1)||(10/20>1)=(10<1)||(0>1)=0||0=0。
24.66解析:strlen()函數(shù)的作用是計(jì)算字符串的長度并作為函數(shù)的返回值,這里的長度不包括串尾的結(jié)束標(biāo)志\'\\0\'。
\'\\t\'是轉(zhuǎn)義字符,代表橫向跳若干格:\'\\\''是轉(zhuǎn)義字符,代表雙引號(hào):\'\\023\'只代表一個(gè)字符,而不管轉(zhuǎn)義字符后面有幾個(gè)字符;\'\\xAB\'是以兩位+六進(jìn)制數(shù)AB表示的ASCII碼字符,只代表一個(gè)字符;\'\\n\'是轉(zhuǎn)義字符,代表回車換行。
5個(gè)字符常量各代表一個(gè)字符,再加上字母C,所以返回的長度是6。
25.4545解析:假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序需要經(jīng)過遍的從前往后掃描和遍的從后往前掃描,需要比較次數(shù)為。
26.1818解析:設(shè)循環(huán)隊(duì)列的容量為n。若rear>front,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為rear-front;若rear<front,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為n+(rear-front)。題中,front=16,rear=9,即rear<front,所以,循環(huán)隊(duì)列中的元素個(gè)數(shù)為m+(rear-front)=25+(9-16)=18。
27.非線性結(jié)構(gòu)非線性結(jié)構(gòu)解析:對(duì)于一個(gè)非空的數(shù)據(jù)結(jié)構(gòu),如果同時(shí)滿足下列兩個(gè)條件,即1)有且只有一個(gè)根結(jié)點(diǎn);2)每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件;即為線性結(jié)構(gòu),而二叉樹的結(jié)點(diǎn)可能存在兩個(gè)后件,所以是非線性結(jié)構(gòu)。
28.前后件關(guān)系前后件關(guān)系解析:在數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中,除了要存儲(chǔ)數(shù)據(jù),還要存儲(chǔ)數(shù)據(jù)的前后件關(guān)系,對(duì)于順序存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu),前后件之間的關(guān)系,是通過存儲(chǔ)空間的位置來實(shí)現(xiàn)的,而對(duì)于鏈?zhǔn)酱鎯?chǔ)來說,數(shù)據(jù)元素之間的前后件關(guān)系是通過指針來實(shí)現(xiàn)的。
29.*s-*t*s-*t解析:兩字符串大小比較必須從它們的首字符開始,在對(duì)應(yīng)字符相等情況下循環(huán),直至不相等結(jié)束。相等時(shí),若字符串已到了字符串的結(jié)束標(biāo)記符,則兩字符串相同,函數(shù)返回0值;如還有后繼字符,則準(zhǔn)備比較下一對(duì)字符。對(duì)應(yīng)字符不相同,循環(huán)結(jié)束。循環(huán)結(jié)束時(shí),就以兩個(gè)當(dāng)前字符的差返回。所以在空框處應(yīng)填入*s-*t,保證在e>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。
30.數(shù)據(jù)流數(shù)據(jù)流解析:結(jié)構(gòu)化分析方法的實(shí)質(zhì)是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。
31.&a&bmaxintxyreturn(z)
32.return0return1return0,return1解析:如果a能被i整除,則a是素?cái)?shù),返回值為0。如果a不能被i整除,則a不是素?cái)?shù),返回值為1。
33.b=I+1b=I+1解析:本題考查了for循環(huán)語句的執(zhí)行過程。i+=2是修正表達(dá)式,執(zhí)行一次循環(huán)體后i的值就增加2,i的初始值為0,每次加2后的和累加至a,所以a的值就是110之間的偶數(shù)之和;b的值是111之間的奇數(shù)和,但在輸出b值時(shí),c去掉多加的11,即為110之間的奇數(shù)之和。
34.structlink*next
35.類類解析:在面向?qū)ο蟮姆椒ㄖ?,把具有相同屬性和方法的?duì)象稱為類,類是對(duì)象的抽象,對(duì)象是類的實(shí)例。
36.1234theend1,2,3,4,theend解析:本題考查帶參數(shù)的宏的定義。第1次循環(huán),i=1時(shí),調(diào)用PRINT(1),P(1)輸出1;第2次循環(huán),i=2時(shí),調(diào)用PRINT(2),P(2)輸出2:第3次循環(huán),i=3時(shí),調(diào)用PRINT(3),P(3)輸出3:第4次循環(huán),i=4時(shí),調(diào)用PRINT(4),P(4)輸出4,theend。
37.實(shí)例將屬性、操作相似的對(duì)象歸為類,也就是說,類是具有共同屬性、共同方法的對(duì)象的集合。所以,類是對(duì)象的抽象,對(duì)象則是其對(duì)應(yīng)類的一個(gè)實(shí)例。
38.cc解析:該題考查以下兩個(gè)知識(shí)點(diǎn):
(1)用一個(gè)指定的標(biāo)識(shí)符(即名字)來代表一個(gè)字符串,它的一般形式為#define標(biāo)識(shí)符字符串
(2)在MYSWAP宏定義中,利用中間變量z來交換x和y的值,所以要實(shí)現(xiàn)a和b的交換,只需通過中間變量即可,所以,此處應(yīng)填c。
39.前件前件
40.8888解析:C語言規(guī)定,以0開頭的整型常量為八進(jìn)制。另外,在primf()函數(shù)中,%X表示以十六進(jìn)制無符號(hào)形式輸出一個(gè)整數(shù),且十六進(jìn)制中的ABCDEF為大寫字母。本題的輸出應(yīng)該是八進(jìn)制210的十六進(jìn)制形式。將八進(jìn)制轉(zhuǎn)換為十六進(jìn)制,可以先將其轉(zhuǎn)換為二進(jìn)制。因?yàn)?位八進(jìn)制表示3位二進(jìn)制,4位二進(jìn)制表示1位十六進(jìn)制。(210)8=(10001000)2=(88)16,故本題輸出為880
41.CC?!窘馕觥繉?duì)線性表進(jìn)行順序查找時(shí),從表中的第一個(gè)元素開始,將給定的值與表中逐個(gè)元素的關(guān)鍵字進(jìn)行比較,直到兩者相符,查找到所要找的元素為止。在最壞情況下,要查找的元素是表的最后一個(gè)元素或查找失敗,這兩種情況都需要將這個(gè)元素與表中的所有元素進(jìn)行比較,因此比較次數(shù)為n。
42.A解析:字符串比較大小的標(biāo)準(zhǔn)是從第一個(gè)字符開始依次向右比較,遇到某一個(gè)字符ASCII碼值較大時(shí),該字符所在的字符串就是較大的字符串。主函數(shù)中調(diào)用了函數(shù)scmp(),分析不難知道該函數(shù)的作用是返回參加比較的兩個(gè)字符串中的較小的字符串,它的主函數(shù)中定義了一個(gè)二維字符數(shù)組來存放三個(gè)字符串。接著通過for循環(huán)給每個(gè)字符串賦值,賦值后三個(gè)字符串分別為“abcd”、“abba”、“abc”,接著比較str[0]和str[1]的大小,根據(jù)字符串大小比較標(biāo)準(zhǔn)可知str[0]較小,然后通過函數(shù)strcpy()把str[0]中的字符串,拷貝到string中,然后比較string和str[2)的大小,比較結(jié)果是string較小,最后輸出string的值為“abcd”。
43.A解析:頭文件<string.h>是字符串處理函數(shù)對(duì)應(yīng)的頭文件,要想調(diào)用C語言的庫函數(shù)時(shí),都要在程序中嵌入該函數(shù)對(duì)應(yīng)的頭文件,否則無法使用庫函數(shù)。
strcpy(s1,s2)把s2中的字符串復(fù)制到s1中,所以結(jié)果就為s2的長度。
44.C解析:本題的選項(xiàng)A)和B)犯了同樣的錯(cuò)誤,即指針變量在定義后并沒有指向具體的變量。也就是說,指針變量中沒有確定的地址值,它的值是不可預(yù)見的,所指的單元也是不可預(yù)見的,因此不能進(jìn)行賦值操作。另外,在選項(xiàng)D)中,s是血型指針變量,p是char型指針變量,所指向的內(nèi)存單元所占用的字節(jié)數(shù)是不同的,因而不能將字符指針變量p的值賦給整型指針變量s。
45.A解析:本題考查如何通過地址來引用數(shù)組元素。通過地址來引用數(shù)組元素的方法有下列5種:
①a[i][j];②*(a[i]+j);③*(*(a+i)+j);④*(a[i])[j];⑤*(&a[0][0]+3*i+j)。
46.D解析:通常,引用一個(gè)數(shù)組元素可以用下標(biāo)法,如a[P-a]形式,或指針法,如*(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,注意,數(shù)組的下標(biāo)是從0開始的。
47.A本題考查程序效率。程序效率是指程序運(yùn)行速度和程序占用的存儲(chǔ)空間。影響程序效率的因素是多方面的,包括程序的設(shè)計(jì)、使用的算法、數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)等。在確定數(shù)據(jù)邏輯結(jié)構(gòu)的基礎(chǔ)上,選擇一種合適的存儲(chǔ)結(jié)構(gòu),可以使得數(shù)據(jù)操作所花費(fèi)的時(shí)間少,占用的存儲(chǔ)空間少,即提高程序的效率。因此,本題選項(xiàng)A的說法是正確的。
48.D解析:本題考查循環(huán)和指針做函數(shù)參數(shù),程序的功能是將a[0]和a[7]對(duì)換,a[1]和a[6]對(duì)換,a[2]和a[5]對(duì)換,a[3]和a[4]對(duì)換,最后輸出。
49.B解析:棧是限定在二端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。注意:隊(duì)列組織數(shù)據(jù)的原則是“先進(jìn)先出”或“后進(jìn)后出”。注意:數(shù)據(jù)結(jié)構(gòu)中,棧和隊(duì)列組織數(shù)據(jù)的原則。
50.B解析:觀察可知圖形共4行,主函數(shù)中通過一個(gè)for5循環(huán)循環(huán)4次,輸出4行。第1行輸出3個(gè)空格和1個(gè)*,第2行輸出2個(gè)空格和3個(gè)*,第3行輸出1個(gè)空格和5個(gè)*,第4行輸出7個(gè)*,主函數(shù)中通過第2個(gè)循環(huán)控制每行的輸出空格數(shù),第3個(gè)for循環(huán)控制輸出*的個(gè)數(shù),總結(jié)規(guī)律:每行輸出*的個(gè)數(shù),總比前一行的多2個(gè),且第1行的個(gè)數(shù)為1,可以斷定每行輸出*的個(gè)數(shù)組成了一個(gè)公差為2的等差數(shù)列,所以每行輸出。的個(gè)數(shù)即該等差數(shù)列的通項(xiàng),故該空白處應(yīng)該填寫2*i-1,所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
51.D
52.B解析:sizeof函數(shù)計(jì)算已知類型所占的字節(jié)數(shù)。共用體變量所占的內(nèi)存長度等于最長的成員的長度。
53.B解析:題目中fun()函數(shù)的返回表達(dá)式是*p,所以選項(xiàng)C、D不為所選,而應(yīng)該是形參p所指內(nèi)容的值,因?yàn)閜為int型指針,所以該值是一個(gè)整數(shù)。故應(yīng)該選擇B。
54.B解析:C語言規(guī)定,標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種符號(hào)組成,而且第一個(gè)字符必須是字母或下劃線。另外還需要注意的是關(guān)鍵字不能作標(biāo)識(shí)符。選項(xiàng)A中void,C中for都為關(guān)鍵字,D中2c以字母開頭。
55.A
56.B解析:C語言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下畫線3種字符組成,且第一個(gè)字符必須為字母或下畫線,排除選項(xiàng)C)和D);C語言中還規(guī)定標(biāo)識(shí)符不能為C語言的關(guān)鍵字,而選項(xiàng)A)中void為關(guān)鍵字,故排除選項(xiàng)A)。
57.A解析:本題考查字符串比較函數(shù)strcmp()的應(yīng)用。strcmp(s1,s2)是中比較函數(shù),當(dāng)s1>s2時(shí)返回值為正數(shù),當(dāng)s1<s2時(shí)返回值為負(fù)數(shù),當(dāng)s1=s2時(shí)返回值為零。本題中s1,s2分別表示兩個(gè)串中第一個(gè)字符的地址,s1++和s2++是將指針指向串的第二個(gè)字符,指針變量s1指向的是串“bCdEf”的首地址,即字符b的地址,而指針變量s2指向的是字符'B'的地址。而在字符串比較中,寧符串大小的確定是各個(gè)字符串相應(yīng)位置字符的ASCII碼值的大小決定的,字符'B'的ASCII碼值為66,字符“b”的ASCII碼值為98,所以s1>s2,返回值為正數(shù)。
58.A
59.A解析:本題中,“()”的優(yōu)先級(jí)是最高的,“*”和“/”的優(yōu)先級(jí)別相同,運(yùn)算方向是從左向右。
60.A解析:選項(xiàng)A)正確,外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式;選項(xiàng)B)不正確,全局?jǐn)?shù)據(jù)視圖的描述稱為概念模式,即數(shù)據(jù)庫中全部數(shù)據(jù)的整體邏輯結(jié)構(gòu)的描述;選項(xiàng)C)不正確,物理存儲(chǔ)數(shù)據(jù)視圖的描述稱為內(nèi)模式,即數(shù)據(jù)庫在物理存儲(chǔ)方面的描述;選項(xiàng)D)不正確,存儲(chǔ)模式即為內(nèi)模式。
61.D本題主要考查函數(shù)的基本知識(shí)。
在C語言中,函數(shù)可以直接
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 經(jīng)濟(jì)型酒店租賃合同
- 船舶結(jié)構(gòu)強(qiáng)度測(cè)試管理辦法
- 農(nóng)場(chǎng)畜牧獸醫(yī)師聘用合同
- 醫(yī)療劇監(jiān)制簽約書
- 民族特色園區(qū)游園施工合同
- 通信設(shè)備遵紀(jì)守法經(jīng)營承諾書
- 文化交流活動(dòng)模特協(xié)議
- 親子教育中心租賃協(xié)議終止
- 洗浴中心智能門禁管理辦法
- 電子組件凈化工程合同
- GB/T 18916.64-2022取水定額第64部分:建筑衛(wèi)生陶瓷
- 教師成績進(jìn)步發(fā)言稿3篇
- ISO27001:2022信息安全管理手冊(cè)+全套程序文件+表單
- 八年級(jí)歷史上冊(cè)材料題集錦(含答案)
- 國開電大2022年《小學(xué)數(shù)學(xué)教學(xué)研究》形考任務(wù)1-4答
- GB/T 30790.5-2014色漆和清漆防護(hù)涂料體系對(duì)鋼結(jié)構(gòu)的防腐蝕保護(hù)第5部分:防護(hù)涂料體系
- 白蛋白臨床不合理應(yīng)用及其使用指征
- 中小學(xué)教師資格考試成績復(fù)核申請(qǐng)表
- 五年級(jí)上冊(cè)英語課件M6U1 You can play football well
- 心肌疾病-第九版內(nèi)科學(xué)課件
- 工作人員應(yīng)對(duì)火災(zāi)現(xiàn)場(chǎng)應(yīng)急處置卡
評(píng)論
0/150
提交評(píng)論