




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年黑龍江省哈爾濱市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是()。
A.學(xué)生成績(jī)管理系統(tǒng)B.C語言編譯程序C.UNIX操作系統(tǒng)D.數(shù)據(jù)庫管理系統(tǒng)
2.在一個(gè)長(zhǎng)度為n(n>1)的單鏈表上,設(shè)有頭和尾兩個(gè)指針,執(zhí)行()操作與鏈表的長(zhǎng)度有關(guān)。
A.刪除單鏈表中的第一個(gè)元素
B.刪除單鏈表中的最后一個(gè)元素
C.在單鏈表第一個(gè)元素前插入一個(gè)新元素
D.在單鏈表最后一個(gè)元素后插入一個(gè)新元素
3.以下選項(xiàng)中表示一個(gè)合法的常量是(說明:符號(hào)口表示空格)()。
A.9口9口9B.0XabC.123E0.2D.2.7e
4.
5.以下有關(guān)宏替換的敘述不正確的是()。
A.雙引號(hào)中出現(xiàn)的宏名不替換B.使用宏定義可以嵌套C.宏定義儀儀是符號(hào)替換D.宏名必須用大寫字母表示
6.有以下程序:#includemain(){inty=9;for(;y>0;y--)If?y%3==0)printf("%d",---y);}程序的運(yùn)行結(jié)果是()。A.852B.963C.741D.875421
7.以下能正確定義一維數(shù)組的選項(xiàng)是()。
A.inta[5]={0,1,2,3,4,5};
B.chara[]={0,1,2,3,4,5};
C.chara={'A','B','C'};
D.inta[5]="0123";
8.以下定義語句中正確的是
A.inta=b=0;
B.charA=65+1,b='b';
C.noata=1,*b=&a,*c=&b;
D.doublea=0.0;b=1.1;
9.下列關(guān)于字符串的說法中錯(cuò)誤的是
A.在C語言中,字符串是借助于字符型一維數(shù)組來存放的,并規(guī)定以字符'\0'作為字符串結(jié)束標(biāo)志
B.'\0'作為標(biāo)志占用存儲(chǔ)空間,計(jì)入串的實(shí)際長(zhǎng)度
C.在表示字符串常量的時(shí)候不需要人為在其末尾加入'\0'
D.在C語言中,字符串常量隱含處理成以'\0'結(jié)尾
10.下列定義中,不正確的有______。
A.#definePI3.141592
B.#defineS345;
C.intmax(x,y);
D.staticcharc;intx,y;{...}
11.設(shè)循環(huán)隊(duì)列的存儲(chǔ)空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過一系列入隊(duì)與退隊(duì)運(yùn)算后,front=15,rear=15,則循環(huán)隊(duì)列中的元素個(gè)數(shù)為()。
A.20B.0或35C.15D.16
12.有以下程序#include<stdio.h>main(){inti,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++)m=m%j;printf(“%d\n”,m);}程序的運(yùn)行結(jié)果是()A.1B.0C.2D.3
13.執(zhí)行下列程序段后的輸出結(jié)果是()。A.3B.2C.1D.4
14.在C語言中,函數(shù)返回值的類型最終取決于()。
A.函數(shù)定義時(shí)在函數(shù)首部所說明的函數(shù)類型
B.return語句中表達(dá)式值的類型
C.調(diào)用函數(shù)時(shí)主調(diào)函數(shù)所傳遞的實(shí)參類型
D.函數(shù)定義時(shí)形參的類型
15.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。
A.多態(tài)性B.繼承C.封裝性D.模塊化
16.設(shè)有定義:intn=0,*p=&n,**q=&p;則以下選項(xiàng)中,正確的賦值語句是()A.p=1;B.*q=2;C.q=p;D.*p=5;
17.將10階對(duì)稱矩陣壓縮存儲(chǔ)到一維數(shù)組A中,則數(shù)組A的長(zhǎng)度最少為()
A.100B.40C.55D.80
18.執(zhí)行下列程序后,輸出的結(jié)果是()。
#include<stdio.h>
#defineS(X)X*X
voidmain()
{ihta=9,k=3,m=2;
a/=S(k+m)/S(k+m);
printf("%d",A);
}
A.1B.4C.9D.0
19.以下程序的主函數(shù)中調(diào)用了在其面前定義的fun函數(shù)#include<stdio.h>...main(){doublea[15],k;k=fun(a);...}則以下選項(xiàng)中錯(cuò)誤的fun函數(shù)首部是()。、A.doublefun(doublea[l5])
B.doublefun(double*a)
C.doublefun(doublea[])
D.doublefun(doublea)
20.某二叉樹的前序和后序序列正好相反,則該二叉樹一定是_____的二叉樹
A.空或者只有一個(gè)結(jié)點(diǎn)B.高度等于其結(jié)點(diǎn)數(shù)C.任一結(jié)點(diǎn)無左孩子D.任一結(jié)點(diǎn)無右孩子
二、2.填空題(20題)21.以下程序的功能是求下列算式中A、B、C的值,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{inta,b,c,k,t=348;
for(a=0;a<10;a++)
for(b=0;b<10;b++)
for(c=0;【】;c++)
{k=【】;
if(k==t)
printf("A=%dB=%dC=%d\n",a,b,c);
}
}
22.軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。
23.語句printf("%f\n",13.0*(1/5));的輸出結(jié)果為【】。
24.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{intx,a=1,b=2,c=3,d=4;
x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;
printf("%d\n",x);
}
25.數(shù)據(jù)庫系統(tǒng)在其內(nèi)部分為三級(jí)模式,即概念模式、內(nèi)模式和外模式。其中,______是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。
26.在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)中,不僅需要存儲(chǔ)各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。
27.如下語句printf("%c\n",'B'+40);在執(zhí)行后的輸出結(jié)果是【】。
28.有以下結(jié)構(gòu)體說明和變量的定義,且指針p指向變量a,指針q指向變量b,則不能把結(jié)點(diǎn)b連接到結(jié)點(diǎn)a之后的語句是【】。
structnode
{chardata;
structnode*next;}a,b
29.下面rotate函數(shù)的功能是:將n行n列的矩陣A轉(zhuǎn)置未AT,例如:
請(qǐng)?zhí)羁?/p>
#defineN4
voidrotate(inta[][])
{inti,j,t;
for(i=0;i<N;i++)
for(j=0;【】;j++)
{t=a[i][j];【】;a[j][i]=t;}
}
30.軟件是程序、數(shù)據(jù)和【】的集合。
31.在進(jìn)行軟件結(jié)構(gòu)設(shè)計(jì)時(shí),應(yīng)遵循的最主要原理是【】。
32.以下程序運(yùn)行后的輸出結(jié)果是______。
fun(inta)
{intb=0;staticintc=3;
b++;c++;
return(a+b+c);
}
main()
{inti,a=5;
for(i=0;i<3;i++)printf("%d%d",i,fun(a));
printf("\n");
}
33.數(shù)據(jù)庫系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。
34.在深度為5的完全二叉樹中,度為2的結(jié)點(diǎn)數(shù)最多為【】。
35.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【】3種。
36.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
37.函數(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));
}
38.當(dāng)運(yùn)行以下程序時(shí),輸入abcd,程序的輸出結(jié)果是:()。
insert(charstr[])
{inti;
i=strlen(str);
while(i>0)
{str[2*i]=str[i];str[2*i-1]='*';i--;}
printf("%s\n",str);
}
main()
{charstr[40];
scanf("%s",str);insert(str);
}
39.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和______三種。
40.有以下程序:
intsub(intn){return(n/10+n%10);}
main()
{intx,y;
scanf("%d",&x);
y=sub(sub(sub(x)));
printf("%d\n",y);
}
若運(yùn)行時(shí)輸入:1234<回車>,程序的輸出結(jié)果是【】。
三、1.選擇題(20題)41.有以下程序:#include<stdio.h>main(){intm=3,n=4,x;x=-m++;x=x+8/++n;prinff("%d\n",x);}程序運(yùn)行后的輸出結(jié)果是()。
A.3B.5C.-1D.-2
42.下列程序的輸出結(jié)果是()。intf1(intx,inty){returnx>y?x:y;}intf2(intx,inty){returnx>y?y:x;}main(){inta=4,b=3,e=5,d=2,e,f,g;e=f2(f1(a,b),f1(e,d));f=f1(f2(a,b),f2(e,d));g=a+b+c+d-e-f;printf("%d,%d,%d\n",e,f,g);}
A.4,3,7B.3,4,7C.5,2,7D.2,5,7
43.設(shè)有定義:inta,*pa=&a;以下scanf語句中能正確為變量a讀入數(shù)據(jù)的是
A.scant("%d",pa);
B.scant("%d",a);
C.scanf("%d",&pa);
D.scanf("%d",*pa);
44.有以下程序:#include<stdio.h>main(){inta=1,b=2;for(;a<12;a++){b+=a*2;a+=3;}printf("%d,%d\n",b,A);}程序運(yùn)行后的輸出結(jié)果是()。
A.32,13B.46,10C.72,13D.72,10
45.下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>#defineADD(x)x+xmain(){intm=1,n=2,k=3;ints=ADD(m+n)*k;printf("s=%d",s);}
A.sum=18B.sum=10C.sum=9D.sum=25
46.以下程序運(yùn)行后的輸出結(jié)果是______。intd=1;fun(intp){staticintd=5;d+=pprintf("%d,d");retumd;}main(){inta=3;printf("%d\n",fun(a+fun(d)));}
A.699B.9C.61515D.6615
47.下列選項(xiàng)中,值為1的表達(dá)式是()。
A.1-'0'B.1-'\0'C.'1'-0D.'\0','0'
48.有三個(gè)關(guān)系R、s和T如下:
由關(guān)系R和s通過運(yùn)算得到關(guān)系T,則所使用的運(yùn)算為()。
A.并B.自然連接C.笛卡爾積D.交
49.下列敘述中正確的是()。
A.在模塊化程序設(shè)計(jì)中,一個(gè)模塊應(yīng)該盡量多的包括與其他模塊聯(lián)系的信息
B.在自頂向下、逐步細(xì)化的設(shè)計(jì)過程中,首先應(yīng)設(shè)計(jì)解決問題的第一個(gè)細(xì)節(jié)
C.在模塊化程序設(shè)計(jì)中,一個(gè)模塊內(nèi)部的控制結(jié)構(gòu)也要符合結(jié)構(gòu)化原則
D.在程序設(shè)計(jì)過程中,不能同時(shí)采用結(jié)構(gòu)化程序設(shè)計(jì)方法與模塊化程序設(shè)計(jì)方法
50.要求通過while循環(huán)不斷讀入字符,當(dāng)讀入字母'N'時(shí)結(jié)束循環(huán)。若變量已正確定義,以下正確的程序段是()。
A.while((ch=getchar())!='N')printf("%c",ch);
B.while(ch=getehar()!='N')printf("%c",ch);
C.while(ch=getehar()=='N')printf("%c",ch);
D.while((ch=getchar())=='N')printf("%c",ch);
51.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()。
A.存儲(chǔ)在外存中的數(shù)據(jù)B.數(shù)據(jù)所占的存儲(chǔ)空間量C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式D.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示
52.若有下列定義,則對(duì)a數(shù)組元素地址的正確引用是()。
inta[5],*p=a;
A.p+5B.*a+1C.&a+1D.&a[0]
53.若有如下程序:sub(int*t,intn){int*p1,*p2;for(p1=t,p2=t;p1-t<n;p1++)if(*p1<*p2)p2=p1;return(*p2);}main(){inta[9]={9,36,19,39,26,5,6,33,15};printf("%d\n",sub(a,9));}則程序運(yùn)行后的輸出結(jié)果是()
A.5B.9C.15D.39
54.下列有關(guān)格式輸入函數(shù)scanf的敘述中正確的是()
A.輸入項(xiàng)可以是C語言中規(guī)定的任何變量,并且在任何變量前必須加地址符號(hào)“&”
B.可以只有格式控制項(xiàng),沒有地址列表項(xiàng)
C.在輸入數(shù)據(jù)時(shí),必須規(guī)定精度。如:scanf("%4.2f",&d);
D.當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量地址
55.字長(zhǎng)為32位的計(jì)算機(jī)是指()
A.該計(jì)算機(jī)中的CPU有32個(gè)寄器
B.該計(jì)算機(jī)能夠處理的最大數(shù)不超過232
C.該計(jì)算機(jī)每秒鐘所能執(zhí)行的指令條數(shù)為32MIPS
D.該計(jì)算機(jī)中的CPU可以相同時(shí)處理32位的二進(jìn)制數(shù)
56.有以下程序#include<stdio.h>voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/{intt,i,j;for(i=0;i<n-1;j++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]:a[j];a[j]=t;}}main(){intc[10]={1,2,3,4,5,6,7,8,9,0},ifun(c+4
A.1,2,3,4,5,6,7,8,9,0,
B.0,9,8,7,6,5,1,2,3,4,
C.0,9,8,7,6,5,4,3,2,1,
D.1,2,3,4,9,8,7,6,5,0,
57.下面程序的輸出結(jié)果是()。#include<stdio.h>main(){chara[]={'a','b','c','d','f','g'},*p;p=a;printf("%c\n",*p+4);}
A.aB.bC.eD.f
58.兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入3和2,則輸出結(jié)果是()。#include<stdio.h>main(){intx;scanf("%d",&x);if(x++>2)printf("%d",x);elseprintf(“%d\n",x--);}
A.4和3B.4和2C.4和1D.3和2
59.下列程序運(yùn)行后,輸出結(jié)果是______。#include<stdio.h>#include<string.h>fun(char*w,intn){chart,*s1,*s2;s1=w;s2=w+n-1;while(s1<s2){t=*s1++;*s1=*s2--;*s2=t;}}main(){char*p;p="1234567";fun(p,strlen(p));puts(p);}
A.1234567B.7654321C.1711717D.7177171
60.下面程序的輸出是______。main(){intk=11;printf("k=%d,k=%o,k=%x\n",k,k,k);}
A.k=11,k=12,k=11
B.k=11,k=13,k=13
C.k=11,k=013,k=0xb
D.k=11,k=13,k=B
四、選擇題(20題)61.
62.
63.
以下程序的輸出結(jié)果是()。
voidfun(int*a,inti,inti)
{intt;
if(i<i)
{t=a[i[;a[i]=a[j];a[j]一t;
i++;j--;fun(a,i,j);
}
}
main
{intK[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i<1;i++)printf("%2d",x[i]);
printf("\n");
}
A.1,2,6,8B.8,6,2,1C.8,1,6,2D.8,6,1,2
64.
65.有三個(gè)關(guān)系R、S和T如下:
則由關(guān)系R和s得到關(guān)系T的操作是()。
A.自然連接B.并C.交D.差
66.若二維數(shù)組a有m列,則在a[i][j]前的元素個(gè)數(shù)為()。
A.i*m+j-1B.i*m+jC.J*m+iD.i*m+j+1
67.
68.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
69.
70.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.3,3,3B.2,2,3C.1,2,3D.1,l,3
71.
72.
有下列程序:
main
{intk=5,n=0;
while(k>0)
{switch(k)
{dcfault:break;
case1:n=n+k;
case2:
case3:n+=k;
}
k--;
}
printf("%d\n".n);
}
程序運(yùn)行后的輸出結(jié)果足()。
A.0B.4C.6D.7
73.程序流程圖中帶有箭頭的線段表示的是()。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
74.
75.
76.
若變量已正確定義,有以下程序段
i—o;
doprintf("%d,",i);while(i++);
printf("%d",i)
其輸出結(jié)果是()。
A.0,0B.0,1C.1,1D.程序進(jìn)入無限循環(huán)
77.在C語言程序中可用做用戶標(biāo)識(shí)符的是()。
A.void123BBNB.aa_abccasC.as+b3-123IfD.6fDoSIG
78.在c語言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類型是()。
A.auto和static
B.extern和register
C.auto和register
D.static和register
79.閱讀下面程序段,則執(zhí)行后的結(jié)果為()。
A.64B.8C.56D.0
80.
五、程序改錯(cuò)題(1題)81.下列給定的程序中,proc()函數(shù)的功能是:將str所指字符串中每個(gè)單詞的最后一個(gè)字母改成大寫(這里的“單詞”是指有空格隔開的字符串)。
例如,若輸人:Howdoyoudo,則輸出:HoWdOyoUd0。
請(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)中填人所編寫的若干語句。
試題程序:
#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.A
2.B
3.B當(dāng)用指數(shù)形式表示浮點(diǎn)數(shù)據(jù)時(shí),E的前后都要有數(shù)據(jù),并且E的后面數(shù)要為整數(shù)。
4.A
5.D解析:本題考查宏替換的規(guī)則。宏替換分為簡(jiǎn)單的字符替換和帶參數(shù)的宏替換兩類。使用宏時(shí)應(yīng)注意以下幾點(diǎn):①定義僅僅是符號(hào)替換,不是賦值語句,因此不做語法檢查;②為了區(qū)別程序中其他的標(biāo)識(shí)符,宏名的定義通常用大寫字母,但不是必須用大寫;③雙引號(hào)中出現(xiàn)的宏名不替換;④使用宏定義可以嵌套,即后定義的宏中可以使用先定義的宏。
6.A答疑:[解析]第一次for循環(huán),y的值為9.y%3的值為0.滿足條件打印-y,即先減一-后打印,所以打印8;第二次for循環(huán),y的值為7.y%3的值為1.不執(zhí)行打印語句;第三次for循環(huán),y的值為6.y%3的值為0.滿足條件打印--y,即先減-后打印,所以打印5;第四次for循環(huán),y的值為4.不滿足條件,不執(zhí)行打印語句;第五次for循環(huán),y的值為3.滿足條件,打印輸出2;第六次for循環(huán),y的值為1.不滿足條件,不執(zhí)行打印語句。
7.B解析:選項(xiàng)A)定義的是長(zhǎng)度為5的數(shù)組元素,但初值有6個(gè)元素,所以錯(cuò)誤;選項(xiàng)C)不符合數(shù)組定義形式,數(shù)組名后應(yīng)加上“[];選項(xiàng)D)的類型說明符錯(cuò)誤,應(yīng)改為char;選項(xiàng)B)中的0,1,2,3,4,5分別表示對(duì)應(yīng)字符的ASCII碼,所以正確。
8.B解析:本題考查變量的定義方法。如果要一次進(jìn)行多個(gè)變量的定義,則在它們之間要用逗號(hào)隔開,因此選項(xiàng)A)和D)錯(cuò)誤。在選項(xiàng)C)中,變量c是一個(gè)浮點(diǎn)型指針,它只能指向一個(gè)浮點(diǎn)型數(shù)據(jù),不能指向指針變量b,故選項(xiàng)C)錯(cuò)誤。
9.B解析:'\\0'作為標(biāo)志占用存儲(chǔ)空間,但是不計(jì)入串的實(shí)際長(zhǎng)度。當(dāng)給一個(gè)字符型指針賦值時(shí),賦給這個(gè)指針的是這個(gè)字符串的地址。
10.C
11.BQ(1:35)則隊(duì)列的存儲(chǔ)空間為35;對(duì)空條件:front=rear(初始化時(shí):front=rear),隊(duì)滿時(shí):(rear+1)%n==front,n為隊(duì)列長(zhǎng)度(所用數(shù)組大小),因此當(dāng)執(zhí)行一系列的出隊(duì)與入隊(duì)操作,front=rear.則隊(duì)列要么為空,要么為滿。
12.A雖為嵌套的for循環(huán),但“m=m%j”只執(zhí)行1次,即當(dāng)i=3時(shí),內(nèi)層循環(huán)條件成立,m=55%3=1,故選A。
13.A
14.A解析:在C語言中,應(yīng)當(dāng)在定義函數(shù)時(shí)指定函數(shù)值的類型。凡不加類型說明的函數(shù),默認(rèn)按整型處理。在定義函數(shù)時(shí)對(duì)函數(shù)值說明的類型一般應(yīng)該和return語句中的表達(dá)式類型一致。如果函數(shù)值的類型和return語句中的表達(dá)式類型不一致,則以函數(shù)值的類型為準(zhǔn),由系統(tǒng)自動(dòng)進(jìn)行轉(zhuǎn)換,即函數(shù)類型決定返回值的類型。
15.DD?!窘馕觥棵嫦?qū)ο笤O(shè)計(jì)方法與面向過程設(shè)計(jì)方法有本質(zhì)的不同,其基本原理是:使用現(xiàn)實(shí)世界的概念抽象地思考問題從而自然地解決問題。其特點(diǎn)包括:分類性、多態(tài)性、封裝性、模塊獨(dú)立性、繼承和多態(tài)性等。模塊化是結(jié)構(gòu)化程序設(shè)計(jì)的特點(diǎn)。
16.D解析:本題考核的知識(shí)點(diǎn)是指針變量定義和賦值語句的基本應(yīng)用。在使用一個(gè)指針變量之前,先要用聲明語句對(duì)其進(jìn)行定義,在定義了一個(gè)指針變量之后,系統(tǒng)就為這個(gè)指針變量分配了一個(gè)存儲(chǔ)單元,用它來存放地址。在C語言中有兩個(gè)有關(guān)指針的運(yùn)算符:&運(yùn)算符,為取地址運(yùn)算符,*運(yùn)算符是指針運(yùn)算符,*p代表p所指向的變量。本題中首先定義了整型變量n,其初值為0,接著定義一個(gè)指針變量p并讓它指向n,然后定義了一個(gè)指向指針的指針變量q并讓它指向p,選項(xiàng)A中將常量1賦給指針p不正確;選項(xiàng)B也是將常量2賦給*p,故選項(xiàng)B不正確;選項(xiàng)C中P不是指向指針的指針變量,而將他賦值給一個(gè)指向指針的指針變量小顯然不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
17.C
18.D解析:本題主要是考查帶參數(shù)的宏定義及其相關(guān)運(yùn)算。本題中宏運(yùn)算過程如下:a=a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。
19.A由題可知fun的參數(shù)為變量,而a[15]為常量,所以答案為A。
20.B
21.c<10或c<=9(a*100+b*10+c)+(a*100+b*10+a)c<10或c<=9\r\n(a*100+b*10+c)+(a*100+b*10+a)解析:本題使用窮舉法,用一個(gè)3重循環(huán)窮舉A、B、C可以組合成的所有三位數(shù),對(duì)每種情況來判斷是否滿足題目要求,滿足則輸出3個(gè)值。因?yàn)锳、B、C分別代表一位數(shù),所以C的取值范圍是0~9,故第一空應(yīng)該填c<10或c<=9。根據(jù)下面輸出的判斷條件k==t可知,k應(yīng)該為每種情況下ABC+ABA的值,故應(yīng)該填寫(a*100+b*10+c)+(a*100+b*10+a)或者其他等價(jià)表達(dá)式。
22.完善性軟件維護(hù)活動(dòng)包括以下幾類:改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對(duì)軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。
23.00解析:/表示整除,1/5為0,0乘以任何數(shù)都得零,但是與浮點(diǎn)型相乘,要轉(zhuǎn)化為浮點(diǎn)型,所以結(jié)果為0.000000。注意:在一個(gè)運(yùn)算符的兩邊如果一個(gè)是字符型,一個(gè)是整型,則把字符型轉(zhuǎn)換為整型之后再進(jìn)行運(yùn)算。
24.11解析:因?yàn)樵跅l件表達(dá)式(a<b)?a:b中,比較表達(dá)式a<b為真,所以x的值等于a的值等于1,后面兩個(gè)條件表達(dá)式中的比較表達(dá)式都為真,所以最終x的值等于1。
25.外模式外模式解析:外模式由概念模式推導(dǎo)而出,給出了每個(gè)用戶的局部數(shù)據(jù)描述,即數(shù)據(jù)視圖。
26.前后件關(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)的。
27.jj解析:在C程序中的字符量可參與任何整數(shù)運(yùn)算。
28.a.next=aba.next=ab解析:選項(xiàng)A)中,指針變量q保存的就是變量b的地址,選項(xiàng)B)中的p是指針變量,應(yīng)該是p->next=&b;在選項(xiàng)D)中,用*運(yùn)算符取出結(jié)構(gòu)體變量,并且保存的就是b的地址。
29.j<=ia[i][j]=a[j][i]j<=i\r\na[i][j]=a[j][i]解析:將矩陣轉(zhuǎn)置就是將行列互換,所以第一處應(yīng)填j<=i,第二處應(yīng)填a[i][j]=a[j][i]。
30.文檔文檔解析:計(jì)算機(jī)軟件是計(jì)算機(jī)系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。
31.模塊獨(dú)立原理模塊獨(dú)立原理
32.010111212010111212解析:本題考查的是靜態(tài)局部變量的運(yùn)用。靜態(tài)局部變量的作用域與普通局部變量一樣,但它的生存期將延長(zhǎng)到程序運(yùn)行結(jié)束。本題的主函數(shù)中使用一個(gè)for循環(huán)輸出循環(huán)變量i和fun(a)的值,由于a的值一直沒被修改過,所以三次調(diào)用的都是fun(5)。第1次調(diào)用,b=0,c=3,所以返回值為5+1+4=10;第2次調(diào)用,因?yàn)閏是靜態(tài)局部變量,它仍然保存著上次調(diào)用結(jié)束時(shí)的值4,而b重新被創(chuàng)建和初始化為0,所以返回值為5+1+5=11;同理,第3次調(diào)用返回的是12。所以,程序最終輸出為:010111212。
33.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)
34.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。
35.關(guān)系模型關(guān)系模型解析:數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個(gè)標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。
36.軟件開發(fā)
37.1.0/i/i或1.0/(i*i)1.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)或其等效形式。
38.a*b*c*d*a*b*c*d*解析:字符處理函數(shù)strlen()測(cè)試字符串常量的長(zhǎng)度,不包括‘\\0’在內(nèi)。因此,函數(shù)insert()實(shí)現(xiàn)了將字符數(shù)組中每個(gè)非‘\\0’的字符后插入字符‘*’的功能。故輸出結(jié)果是a*b*c*d*。
39.關(guān)系模型關(guān)系模型
40.1010解析:y=sub(sub(sub(x)))=sub(sub(127))=sub(19)=10。
41.D解析:程序中x=-m++執(zhí)行后x=-3,執(zhí)行x=x+8/++n相當(dāng)于執(zhí)行x=-3+8/5,即n先增加1,再代入表達(dá)式運(yùn)算,結(jié)果為-2。
42.A解析:根據(jù)函數(shù)intf1(intx,inty){returnx>y?x:y;)和intf2(intx,inty){returnx>y?y:x;}的定義可知,如果x>y成立,則函數(shù)f1返回x的值,函數(shù)f2返回y的值。所以f1(a,b)=4,f1(c,d)=5,f2(a,b)=3,f2(c,d)=2故e=f2(4,5)=4,f=f1(3,2)=3,g=4+3+5+2-4-3=7。
43.A解析:scanf()函數(shù)的功能是進(jìn)行輸入數(shù)據(jù),它是按格式參數(shù)的要求從終端上把數(shù)據(jù)傳送到地址參數(shù)所指定的內(nèi)存空間中,C語言允許程序員間接地使用內(nèi)存地址,這個(gè)地址是通過對(duì)變量名“求地址”運(yùn)算得到的,求地址的運(yùn)算符是&,得到的地址是一種符號(hào)地址。本題中定義了整型變量a和一個(gè)指向整型數(shù)據(jù)的指針變量pa,并定義pa是一個(gè)存放a的地址的變量。選項(xiàng)B中應(yīng)該將a改為&a;選項(xiàng)C應(yīng)該將&pa改為pa,因?yàn)閜a已經(jīng)表示存放a的地址;選項(xiàng)D中*pa表示的是指針pa所指向存儲(chǔ)空間的變量的值,而不是一個(gè)地址。
44.A
45.B解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算:S=m+n+m+n*k=1+2+1+2*3=10。
46.C解析:靜態(tài)局部變量在編譯時(shí)賦初值,即只賦初值—次,在程序運(yùn)行時(shí)它已有初值。以后每次調(diào)用時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值,而對(duì)自動(dòng)變量賦初值,不是在編譯時(shí)進(jìn)行的,而在函數(shù)調(diào)用時(shí)進(jìn)行,每調(diào)用—次函數(shù)重新給—次初值,相當(dāng)于執(zhí)行—次賦值語句。本題在程序開頭定義了全局變量d并賦初值1,在被調(diào)函數(shù)fun()中,定義了靜態(tài)局部變量d,初值為5。在第—次調(diào)用函數(shù)fun時(shí),d初值為5,p由主函數(shù)傳遞過來的值為1,則d=d+p=5+1=6,由于d是靜態(tài)局部變量,在函數(shù)調(diào)用結(jié)束后,它仍保留d=6。再次調(diào)用fun函數(shù),d的初值為6,而由主函數(shù)傳遞的p的值為9,則此時(shí)d=d+p=6+9=15,最后打印輸出d的值并返回主函數(shù)。
47.B解析:在C程序中,字符量可參與任何整數(shù)運(yùn)算。字符參與運(yùn)算時(shí),首先要將字符轉(zhuǎn)換為對(duì)應(yīng)的ASCII碼值再參與整數(shù)運(yùn)算。字符'1'對(duì)應(yīng)的ASCII碼值是49,字符'0'對(duì)應(yīng)的ASCII碼值是48,字符'\\0'是字符串結(jié)束標(biāo)識(shí)符NULL,其對(duì)應(yīng)的ASCII碼值是0。
48.D關(guān)系R與s經(jīng)交運(yùn)算后所得到的關(guān)系是由那些既在R內(nèi)又在S內(nèi)的共有元組組成的,記為RnS。
49.CC。【解析】在模塊化程序設(shè)計(jì)中,模塊之間的聯(lián)系可以通過程序的控制結(jié)構(gòu)來實(shí)現(xiàn),在自頂向下、逐步細(xì)化的設(shè)計(jì)過程中,首先要考慮全局目標(biāo),而不是細(xì)節(jié)。在程序設(shè)計(jì)中模塊化和結(jié)構(gòu)化可以同時(shí)使用,一個(gè)模塊的內(nèi)部結(jié)構(gòu)也要符合結(jié)構(gòu)化設(shè)計(jì)原則。
50.A解析:此題中選項(xiàng)B)與選項(xiàng)C)首先在書寫上就有錯(cuò)誤;題目要求當(dāng)讀人的字母為非字母'N'時(shí)才執(zhí)行printf語句,依據(jù)選項(xiàng)D)的要求,只有當(dāng)讀人的字母為'N'時(shí)才執(zhí)行printf句,故也錯(cuò)誤。
51.D數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)則是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的物理實(shí)現(xiàn),有時(shí)也稱作數(shù)據(jù)的物理結(jié)構(gòu)。兩者的區(qū)別是數(shù)據(jù)的邏輯結(jié)構(gòu)只涉及到數(shù)據(jù)之間抽象的數(shù)學(xué)關(guān)系。存儲(chǔ)結(jié)構(gòu)則涉及到如何在計(jì)算機(jī)中通過對(duì)數(shù)據(jù)的物理存儲(chǔ)進(jìn)行組織來表達(dá)數(shù)據(jù)元素之間的邏輯關(guān)系。比如在線性表的順序存儲(chǔ)中是利用物理存儲(chǔ)空間上的連續(xù)性來表達(dá)線性表中數(shù)據(jù)的前后件關(guān)系;在線性表的鏈?zhǔn)酱鎯?chǔ)中是通過指針域構(gòu)成的邏輯鏈條來表達(dá)數(shù)據(jù)的前后件關(guān)系。一般的,一種數(shù)據(jù)的邏輯結(jié)構(gòu)對(duì)應(yīng)的物理實(shí)現(xiàn),即數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不止一種。因此選項(xiàng)D正確。
52.D解析:本題考查如何引用數(shù)組元素的地址。
選項(xiàng)A)中,p+5引用的是a[5]的地址,而數(shù)組a只有5個(gè)元素,即a[0]、a[1]、a[2];a[3]、a[4],所以引用錯(cuò)誤;選項(xiàng)B)中,*a+1指的是將數(shù)組a的第一個(gè)元素加1;選項(xiàng)C)中,這種引用方式錯(cuò)誤;選項(xiàng)D)中,&a[0]引用的是數(shù)組的首地址。
53.A
54.D解析:如果是指針型變量或數(shù)組名,則變量前不加地址符號(hào)&,所以選項(xiàng)A的說法有誤。必須有地址列表項(xiàng)才能實(shí)現(xiàn)正確輸入,所以選項(xiàng)B的說法有誤。在輸入數(shù)據(jù)時(shí),不可以指定實(shí)型數(shù)據(jù)的精度,所以選項(xiàng)C的說法有誤。只有選項(xiàng)D的說法正確。
55.D
56.D解析:在本題中,主函數(shù)在調(diào)用fun()函數(shù)進(jìn)行排序時(shí),傳遞的參數(shù)是c+4和6,fun()函數(shù)實(shí)現(xiàn)的功能是將數(shù)組c的第5個(gè)元素開始的6個(gè)元素依次進(jìn)行從大到小的順序排列。排序之后,數(shù)組c的內(nèi)容變?yōu)閧1,2,3,4,9,8,7,6,5,0}。
57.C解析:“*”號(hào)的優(yōu)先級(jí)比“+”的優(yōu)先級(jí)高,所以先執(zhí)行“*p”;指針p指向的是數(shù)組的首地址,因此*p=a,再加4得'e'。
58.A解析:本題考查if-else語句。首先,scanf函數(shù)通過鍵盤讀入x的值。當(dāng)x=3時(shí),第一個(gè)if語句先判斷條件,取x的值3和2比較,然后將x的值加1,if條件成立,執(zhí)行下面的printf語句,輸出x的值4。當(dāng)x=2時(shí),第一個(gè)if語句先判斷條件,先取x的值2和2比較,然后將x的值加1(x的值變?yōu)?),if條件不成立,執(zhí)行下面的else語句,先輸出x的值3,再將x的值減1。
59.C
60.D解析:在C語言格式字符的輸出中,“%d”是以帶符號(hào)的十進(jìn)制形式輸出整數(shù);“%60”是以8進(jìn)制無符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符o);“%x”是以16進(jìn)制無符號(hào)形式輸出整數(shù)(不輸出前導(dǎo)符Ox)。
61.A
62.D
63.C
\n本題用了函數(shù)調(diào)用,fun中if語句成立則進(jìn)行i,j的交換,用到主函勢(shì)中則為把下標(biāo)為0、3,1、2互換,因此,當(dāng)執(zhí)行完后X的數(shù)組為8,1,6,2,故選擇C選項(xiàng)。
\n
64.B
65.D關(guān)系T中的元組是關(guān)系R中有面關(guān)系s中沒有的元組的集合,即從關(guān)系R中除去與關(guān)系s中相同元組后得到的關(guān)系T。所以做的是差運(yùn)算。
66.B解析:二維數(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 23723.5-2025起重機(jī)安全使用第5部分:橋式和門式起重機(jī)
- GB/T 23500-2025元宵質(zhì)量通則
- 建筑行業(yè)智能管理平臺(tái)開發(fā)采購合同
- 戶外運(yùn)動(dòng)裝備租賃使用安全免責(zé)協(xié)議書
- 硬件設(shè)備購銷合同
- 游戲行業(yè)虛擬物品交易風(fēng)險(xiǎn)告知免責(zé)協(xié)議
- 獨(dú)家代理手房合同
- 工程總承包聯(lián)合體協(xié)議書
- 基于大數(shù)據(jù)的智能能源管理系統(tǒng)合作協(xié)議
- 專利申請(qǐng)與維護(hù)合同
- 小學(xué)科學(xué)冀人版六年級(jí)下冊(cè)全冊(cè)同步練習(xí)含答案
- 郵政儲(chǔ)蓄銀行-客戶經(jīng)理(個(gè)人消費(fèi)貸款)-試題+答案
- 2024年3月10日國(guó)考公務(wù)員稅務(wù)局面試真題及解析
- 市政造價(jià)員道路工程預(yù)決算入門講解(零起步培訓(xùn)課件)
- VOC廢氣治理工程中低溫催化氧化技術(shù)的研究與實(shí)踐
- 《管理統(tǒng)計(jì)學(xué)》課件
- 教師的挑戰(zhàn):寧靜的課堂革命
- 新能源材料與器件導(dǎo)論緒論
- 市政工程監(jiān)理實(shí)施細(xì)則(完整版)
- 量具能力準(zhǔn)則Cg-Cgk評(píng)價(jià)報(bào)告
- 旅游管理-我國(guó)老年旅游市場(chǎng)現(xiàn)狀及開發(fā)策略
評(píng)論
0/150
提交評(píng)論