![2021-2022年黑龍江省哈爾濱市全國計算機等級考試C語言程序設(shè)計預(yù)測試題(含答案)_第1頁](http://file4.renrendoc.com/view/cc8db9ae68264d2779feed2e6b70b193/cc8db9ae68264d2779feed2e6b70b1931.gif)
![2021-2022年黑龍江省哈爾濱市全國計算機等級考試C語言程序設(shè)計預(yù)測試題(含答案)_第2頁](http://file4.renrendoc.com/view/cc8db9ae68264d2779feed2e6b70b193/cc8db9ae68264d2779feed2e6b70b1932.gif)
![2021-2022年黑龍江省哈爾濱市全國計算機等級考試C語言程序設(shè)計預(yù)測試題(含答案)_第3頁](http://file4.renrendoc.com/view/cc8db9ae68264d2779feed2e6b70b193/cc8db9ae68264d2779feed2e6b70b1933.gif)
![2021-2022年黑龍江省哈爾濱市全國計算機等級考試C語言程序設(shè)計預(yù)測試題(含答案)_第4頁](http://file4.renrendoc.com/view/cc8db9ae68264d2779feed2e6b70b193/cc8db9ae68264d2779feed2e6b70b1934.gif)
![2021-2022年黑龍江省哈爾濱市全國計算機等級考試C語言程序設(shè)計預(yù)測試題(含答案)_第5頁](http://file4.renrendoc.com/view/cc8db9ae68264d2779feed2e6b70b193/cc8db9ae68264d2779feed2e6b70b1935.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2021-2022年黑龍江省哈爾濱市全國計算機等級考試C語言程序設(shè)計預(yù)測試題(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是()。
A.學(xué)生成績管理系統(tǒng)B.C語言編譯程序C.UNIX操作系統(tǒng)D.數(shù)據(jù)庫管理系統(tǒng)
2.在一個長度為n(n>1)的單鏈表上,設(shè)有頭和尾兩個指針,執(zhí)行()操作與鏈表的長度有關(guān)。
A.刪除單鏈表中的第一個元素
B.刪除單鏈表中的最后一個元素
C.在單鏈表第一個元素前插入一個新元素
D.在單鏈表最后一個元素后插入一個新元素
3.以下選項中表示一個合法的常量是(說明:符號口表示空格)()。
A.9口9口9B.0XabC.123E0.2D.2.7e
4.
5.以下有關(guān)宏替換的敘述不正確的是()。
A.雙引號中出現(xiàn)的宏名不替換B.使用宏定義可以嵌套C.宏定義儀儀是符號替換D.宏名必須用大寫字母表示
6.有以下程序:#includemain(){inty=9;for(;y>0;y--)If?y%3==0)printf("%d",---y);}程序的運行結(jié)果是()。A.852B.963C.741D.875421
7.以下能正確定義一維數(shù)組的選項是()。
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)于字符串的說法中錯誤的是
A.在C語言中,字符串是借助于字符型一維數(shù)組來存放的,并規(guī)定以字符'\0'作為字符串結(jié)束標(biāo)志
B.'\0'作為標(biāo)志占用存儲空間,計入串的實際長度
C.在表示字符串常量的時候不需要人為在其末尾加入'\0'
D.在C語言中,字符串常量隱含處理成以'\0'結(jié)尾
10.下列定義中,不正確的有______。
A.#definePI3.141592
B.#defineS345;
C.intmax(x,y);
D.staticcharc;intx,y;{...}
11.設(shè)循環(huán)隊列的存儲空間為Q(1:35),初始狀態(tài)為front=rear=35?,F(xiàn)經(jīng)過一系列入隊與退隊運算后,front=15,rear=15,則循環(huán)隊列中的元素個數(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);}程序的運行結(jié)果是()A.1B.0C.2D.3
13.執(zhí)行下列程序段后的輸出結(jié)果是()。A.3B.2C.1D.4
14.在C語言中,函數(shù)返回值的類型最終取決于()。
A.函數(shù)定義時在函數(shù)首部所說明的函數(shù)類型
B.return語句中表達(dá)式值的類型
C.調(diào)用函數(shù)時主調(diào)函數(shù)所傳遞的實參類型
D.函數(shù)定義時形參的類型
15.下列特征中不是面向?qū)ο蠓椒ǖ闹饕卣鞯氖?)。
A.多態(tài)性B.繼承C.封裝性D.模塊化
16.設(shè)有定義:intn=0,*p=&n,**q=&p;則以下選項中,正確的賦值語句是()A.p=1;B.*q=2;C.q=p;D.*p=5;
17.將10階對稱矩陣壓縮存儲到一維數(shù)組A中,則數(shù)組A的長度最少為()
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);...}則以下選項中錯誤的fun函數(shù)首部是()。、A.doublefun(doublea[l5])
B.doublefun(double*a)
C.doublefun(doublea[])
D.doublefun(doublea)
20.某二叉樹的前序和后序序列正好相反,則該二叉樹一定是_____的二叉樹
A.空或者只有一個結(jié)點B.高度等于其結(jié)點數(shù)C.任一結(jié)點無左孩子D.任一結(jié)點無右孩子
二、2.填空題(20題)21.以下程序的功能是求下列算式中A、B、C的值,請?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ù)活動包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。
23.語句printf("%f\n",13.0*(1/5));的輸出結(jié)果為【】。
24.以下程序運行后的輸出結(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)部分為三級模式,即概念模式、內(nèi)模式和外模式。其中,______是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。
26.在數(shù)據(jù)的存儲結(jié)構(gòu)中,不僅需要存儲各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。
27.如下語句printf("%c\n",'B'+40);在執(zhí)行后的輸出結(jié)果是【】。
28.有以下結(jié)構(gòu)體說明和變量的定義,且指針p指向變量a,指針q指向變量b,則不能把結(jié)點b連接到結(jié)點a之后的語句是【】。
structnode
{chardata;
structnode*next;}a,b
29.下面rotate函數(shù)的功能是:將n行n列的矩陣A轉(zhuǎn)置未AT,例如:
請?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è)計時,應(yīng)遵循的最主要原理是【】。
32.以下程序運行后的輸出結(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)中實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。
34.在深度為5的完全二叉樹中,度為2的結(jié)點數(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)
請在下面的函數(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)運行以下程序時,輸入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);
}
若運行時輸入:1234<回車>,程序的輸出結(jié)果是【】。
三、1.選擇題(20題)41.有以下程序:#include<stdio.h>main(){intm=3,n=4,x;x=-m++;x=x+8/++n;prinff("%d\n",x);}程序運行后的輸出結(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);}程序運行后的輸出結(jié)果是()。
A.32,13B.46,10C.72,13D.72,10
45.下列程序的運行結(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.以下程序運行后的輸出結(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.下列選項中,值為1的表達(dá)式是()。
A.1-'0'B.1-'\0'C.'1'-0D.'\0','0'
48.有三個關(guān)系R、s和T如下:
由關(guān)系R和s通過運算得到關(guān)系T,則所使用的運算為()。
A.并B.自然連接C.笛卡爾積D.交
49.下列敘述中正確的是()。
A.在模塊化程序設(shè)計中,一個模塊應(yīng)該盡量多的包括與其他模塊聯(lián)系的信息
B.在自頂向下、逐步細(xì)化的設(shè)計過程中,首先應(yīng)設(shè)計解決問題的第一個細(xì)節(jié)
C.在模塊化程序設(shè)計中,一個模塊內(nèi)部的控制結(jié)構(gòu)也要符合結(jié)構(gòu)化原則
D.在程序設(shè)計過程中,不能同時采用結(jié)構(gòu)化程序設(shè)計方法與模塊化程序設(shè)計方法
50.要求通過while循環(huán)不斷讀入字符,當(dāng)讀入字母'N'時結(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ù)的存儲結(jié)構(gòu)是指()。
A.存儲在外存中的數(shù)據(jù)B.數(shù)據(jù)所占的存儲空間量C.數(shù)據(jù)在計算機中的順序存儲方式D.數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的表示
52.若有下列定義,則對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));}則程序運行后的輸出結(jié)果是()
A.5B.9C.15D.39
54.下列有關(guān)格式輸入函數(shù)scanf的敘述中正確的是()
A.輸入項可以是C語言中規(guī)定的任何變量,并且在任何變量前必須加地址符號“&”
B.可以只有格式控制項,沒有地址列表項
C.在輸入數(shù)據(jù)時,必須規(guī)定精度。如:scanf("%4.2f",&d);
D.當(dāng)輸入數(shù)據(jù)時,必須指明變量地址
55.字長為32位的計算機是指()
A.該計算機中的CPU有32個寄器
B.該計算機能夠處理的最大數(shù)不超過232
C.該計算機每秒鐘所能執(zhí)行的指令條數(shù)為32MIPS
D.該計算機中的CPU可以相同時處理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.兩次運行下面的程序,如果從鍵盤上分別輸入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.下列程序運行后,輸出結(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.有三個關(guān)系R、S和T如下:
則由關(guān)系R和s得到關(guān)系T的操作是()。
A.自然連接B.并C.交D.差
66.若二維數(shù)組a有m列,則在a[i][j]前的元素個數(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.有以下程序:
程序運行后的輸出結(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);
}
程序運行后的輸出結(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)識符的是()。
A.void123BBNB.aa_abccasC.as+b3-123IfD.6fDoSIG
78.在c語言中,只有在使用時才占用內(nèi)存單元的變量,其存儲類型是()。
A.auto和static
B.extern和register
C.auto和register
D.static和register
79.閱讀下面程序段,則執(zhí)行后的結(jié)果為()。
A.64B.8C.56D.0
80.
五、程序改錯題(1題)81.下列給定的程序中,proc()函數(shù)的功能是:將str所指字符串中每個單詞的最后一個字母改成大寫(這里的“單詞”是指有空格隔開的字符串)。
例如,若輸人:Howdoyoudo,則輸出:HoWdOyoUd0。
請修改程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計題(1題)82.請編一個函數(shù)fun(ohlr*str),該函數(shù)的功能是把字符串中的內(nèi)容逆置。
例如,字符串中原有的字符串為asdf9,則調(diào)用該函數(shù)后,串中的內(nèi)容為9fdsa。
請勿改動main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號中填人所編寫的若干語句。
試題程序:
#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ù)形式表示浮點數(shù)據(jù)時,E的前后都要有數(shù)據(jù),并且E的后面數(shù)要為整數(shù)。
4.A
5.D解析:本題考查宏替換的規(guī)則。宏替換分為簡單的字符替換和帶參數(shù)的宏替換兩類。使用宏時應(yīng)注意以下幾點:①定義僅僅是符號替換,不是賦值語句,因此不做語法檢查;②為了區(qū)別程序中其他的標(biā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解析:選項A)定義的是長度為5的數(shù)組元素,但初值有6個元素,所以錯誤;選項C)不符合數(shù)組定義形式,數(shù)組名后應(yīng)加上“[];選項D)的類型說明符錯誤,應(yīng)改為char;選項B)中的0,1,2,3,4,5分別表示對應(yīng)字符的ASCII碼,所以正確。
8.B解析:本題考查變量的定義方法。如果要一次進(jìn)行多個變量的定義,則在它們之間要用逗號隔開,因此選項A)和D)錯誤。在選項C)中,變量c是一個浮點型指針,它只能指向一個浮點型數(shù)據(jù),不能指向指針變量b,故選項C)錯誤。
9.B解析:'\\0'作為標(biāo)志占用存儲空間,但是不計入串的實際長度。當(dāng)給一個字符型指針賦值時,賦給這個指針的是這個字符串的地址。
10.C
11.BQ(1:35)則隊列的存儲空間為35;對空條件:front=rear(初始化時:front=rear),隊滿時:(rear+1)%n==front,n為隊列長度(所用數(shù)組大小),因此當(dāng)執(zhí)行一系列的出隊與入隊操作,front=rear.則隊列要么為空,要么為滿。
12.A雖為嵌套的for循環(huán),但“m=m%j”只執(zhí)行1次,即當(dāng)i=3時,內(nèi)層循環(huán)條件成立,m=55%3=1,故選A。
13.A
14.A解析:在C語言中,應(yīng)當(dāng)在定義函數(shù)時指定函數(shù)值的類型。凡不加類型說明的函數(shù),默認(rèn)按整型處理。在定義函數(shù)時對函數(shù)值說明的類型一般應(yīng)該和return語句中的表達(dá)式類型一致。如果函數(shù)值的類型和return語句中的表達(dá)式類型不一致,則以函數(shù)值的類型為準(zhǔn),由系統(tǒng)自動進(jìn)行轉(zhuǎn)換,即函數(shù)類型決定返回值的類型。
15.DD。【解析】面向?qū)ο笤O(shè)計方法與面向過程設(shè)計方法有本質(zhì)的不同,其基本原理是:使用現(xiàn)實世界的概念抽象地思考問題從而自然地解決問題。其特點包括:分類性、多態(tài)性、封裝性、模塊獨立性、繼承和多態(tài)性等。模塊化是結(jié)構(gòu)化程序設(shè)計的特點。
16.D解析:本題考核的知識點是指針變量定義和賦值語句的基本應(yīng)用。在使用一個指針變量之前,先要用聲明語句對其進(jìn)行定義,在定義了一個指針變量之后,系統(tǒng)就為這個指針變量分配了一個存儲單元,用它來存放地址。在C語言中有兩個有關(guān)指針的運算符:&運算符,為取地址運算符,*運算符是指針運算符,*p代表p所指向的變量。本題中首先定義了整型變量n,其初值為0,接著定義一個指針變量p并讓它指向n,然后定義了一個指向指針的指針變量q并讓它指向p,選項A中將常量1賦給指針p不正確;選項B也是將常量2賦給*p,故選項B不正確;選項C中P不是指向指針的指針變量,而將他賦值給一個指向指針的指針變量小顯然不正確,所以,4個選項中選項D符合題意。
17.C
18.D解析:本題主要是考查帶參數(shù)的宏定義及其相關(guā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)解析:本題使用窮舉法,用一個3重循環(huán)窮舉A、B、C可以組合成的所有三位數(shù),對每種情況來判斷是否滿足題目要求,滿足則輸出3個值。因為A、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)或者其他等價表達(dá)式。
22.完善性軟件維護(hù)活動包括以下幾類:改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴充軟件功能、增強軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。
23.00解析:/表示整除,1/5為0,0乘以任何數(shù)都得零,但是與浮點型相乘,要轉(zhuǎn)化為浮點型,所以結(jié)果為0.000000。注意:在一個運算符的兩邊如果一個是字符型,一個是整型,則把字符型轉(zhuǎn)換為整型之后再進(jìn)行運算。
24.11解析:因為在條件表達(dá)式(a<b)?a:b中,比較表達(dá)式a<b為真,所以x的值等于a的值等于1,后面兩個條件表達(dá)式中的比較表達(dá)式都為真,所以最終x的值等于1。
25.外模式外模式解析:外模式由概念模式推導(dǎo)而出,給出了每個用戶的局部數(shù)據(jù)描述,即數(shù)據(jù)視圖。
26.前后件關(guān)系前后件關(guān)系解析:在數(shù)據(jù)存儲結(jié)構(gòu)中,除了要存儲數(shù)據(jù),還要存儲數(shù)據(jù)的前后件關(guān)系,對于順序存儲的數(shù)據(jù)結(jié)構(gòu),前后件之間的關(guān)系,是通過存儲空間的位置來實現(xiàn)的,而對于鏈?zhǔn)酱鎯碚f,數(shù)據(jù)元素之間的前后件關(guān)系是通過指針來實現(xiàn)的。
27.jj解析:在C程序中的字符量可參與任何整數(shù)運算。
28.a.next=aba.next=ab解析:選項A)中,指針變量q保存的就是變量b的地址,選項B)中的p是指針變量,應(yīng)該是p->next=&b;在選項D)中,用*運算符取出結(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.文檔文檔解析:計算機軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。
31.模塊獨立原理模塊獨立原理
32.010111212010111212解析:本題考查的是靜態(tài)局部變量的運用。靜態(tài)局部變量的作用域與普通局部變量一樣,但它的生存期將延長到程序運行結(jié)束。本題的主函數(shù)中使用一個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)用,因為c是靜態(tài)局部變量,它仍然保存著上次調(diào)用結(jié)束時的值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é)點數(shù)最多的是深度為5的滿二叉樹。在深度為5的滿二叉樹中,前4層中所有結(jié)點的度為2。即在深度為5的完全二叉樹中,度為2的結(jié)點數(shù)最多相當(dāng)于深度為4的滿二叉樹中的結(jié)點數(shù)。深度為4的滿二叉樹中的結(jié)點數(shù)為24(上標(biāo))-1=15。
35.關(guān)系模型關(guān)系模型解析:數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個標(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)解析:由題面中提供的計算pi的公式可知:在第i項其值為1/(i*i),考慮到運算結(jié)果為浮點數(shù),故必須要將1轉(zhuǎn)化為浮點數(shù)或采用1.0/(i*i)的形式。故本題應(yīng)填1.0/(i*i)或其等效形式。
38.a*b*c*d*a*b*c*d*解析:字符處理函數(shù)strlen()測試字符串常量的長度,不包括‘\\0’在內(nèi)。因此,函數(shù)insert()實現(xiàn)了將字符數(shù)組中每個非‘\\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á)式運算,結(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)存地址,這個地址是通過對變量名“求地址”運算得到的,求地址的運算符是&,得到的地址是一種符號地址。本題中定義了整型變量a和一個指向整型數(shù)據(jù)的指針變量pa,并定義pa是一個存放a的地址的變量。選項B中應(yīng)該將a改為&a;選項C應(yīng)該將&pa改為pa,因為pa已經(jīng)表示存放a的地址;選項D中*pa表示的是指針pa所指向存儲空間的變量的值,而不是一個地址。
44.A
45.B解析:本題考查帶參數(shù)的宏的定義及相關(guān)運算:S=m+n+m+n*k=1+2+1+2*3=10。
46.C解析:靜態(tài)局部變量在編譯時賦初值,即只賦初值—次,在程序運行時它已有初值。以后每次調(diào)用時不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時的值,而對自動變量賦初值,不是在編譯時進(jìn)行的,而在函數(shù)調(diào)用時進(jìn)行,每調(diào)用—次函數(shù)重新給—次初值,相當(dāng)于執(zhí)行—次賦值語句。本題在程序開頭定義了全局變量d并賦初值1,在被調(diào)函數(shù)fun()中,定義了靜態(tài)局部變量d,初值為5。在第—次調(diào)用函數(shù)fun時,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,則此時d=d+p=6+9=15,最后打印輸出d的值并返回主函數(shù)。
47.B解析:在C程序中,字符量可參與任何整數(shù)運算。字符參與運算時,首先要將字符轉(zhuǎn)換為對應(yīng)的ASCII碼值再參與整數(shù)運算。字符'1'對應(yīng)的ASCII碼值是49,字符'0'對應(yīng)的ASCII碼值是48,字符'\\0'是字符串結(jié)束標(biāo)識符NULL,其對應(yīng)的ASCII碼值是0。
48.D關(guān)系R與s經(jīng)交運算后所得到的關(guān)系是由那些既在R內(nèi)又在S內(nèi)的共有元組組成的,記為RnS。
49.CC?!窘馕觥吭谀K化程序設(shè)計中,模塊之間的聯(lián)系可以通過程序的控制結(jié)構(gòu)來實現(xiàn),在自頂向下、逐步細(xì)化的設(shè)計過程中,首先要考慮全局目標(biāo),而不是細(xì)節(jié)。在程序設(shè)計中模塊化和結(jié)構(gòu)化可以同時使用,一個模塊的內(nèi)部結(jié)構(gòu)也要符合結(jié)構(gòu)化設(shè)計原則。
50.A解析:此題中選項B)與選項C)首先在書寫上就有錯誤;題目要求當(dāng)讀人的字母為非字母'N'時才執(zhí)行printf語句,依據(jù)選項D)的要求,只有當(dāng)讀人的字母為'N'時才執(zhí)行printf句,故也錯誤。
51.D數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的存儲結(jié)構(gòu)則是數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的物理實現(xiàn),有時也稱作數(shù)據(jù)的物理結(jié)構(gòu)。兩者的區(qū)別是數(shù)據(jù)的邏輯結(jié)構(gòu)只涉及到數(shù)據(jù)之間抽象的數(shù)學(xué)關(guān)系。存儲結(jié)構(gòu)則涉及到如何在計算機中通過對數(shù)據(jù)的物理存儲進(jìn)行組織來表達(dá)數(shù)據(jù)元素之間的邏輯關(guān)系。比如在線性表的順序存儲中是利用物理存儲空間上的連續(xù)性來表達(dá)線性表中數(shù)據(jù)的前后件關(guān)系;在線性表的鏈?zhǔn)酱鎯χ惺峭ㄟ^指針域構(gòu)成的邏輯鏈條來表達(dá)數(shù)據(jù)的前后件關(guān)系。一般的,一種數(shù)據(jù)的邏輯結(jié)構(gòu)對應(yīng)的物理實現(xiàn),即數(shù)據(jù)的存儲結(jié)構(gòu)不止一種。因此選項D正確。
52.D解析:本題考查如何引用數(shù)組元素的地址。
選項A)中,p+5引用的是a[5]的地址,而數(shù)組a只有5個元素,即a[0]、a[1]、a[2];a[3]、a[4],所以引用錯誤;選項B)中,*a+1指的是將數(shù)組a的第一個元素加1;選項C)中,這種引用方式錯誤;選項D)中,&a[0]引用的是數(shù)組的首地址。
53.A
54.D解析:如果是指針型變量或數(shù)組名,則變量前不加地址符號&,所以選項A的說法有誤。必須有地址列表項才能實現(xiàn)正確輸入,所以選項B的說法有誤。在輸入數(shù)據(jù)時,不可以指定實型數(shù)據(jù)的精度,所以選項C的說法有誤。只有選項D的說法正確。
55.D
56.D解析:在本題中,主函數(shù)在調(diào)用fun()函數(shù)進(jìn)行排序時,傳遞的參數(shù)是c+4和6,fun()函數(shù)實現(xiàn)的功能是將數(shù)組c的第5個元素開始的6個元素依次進(jìn)行從大到小的順序排列。排序之后,數(shù)組c的內(nèi)容變?yōu)閧1,2,3,4,9,8,7,6,5,0}。
57.C解析:“*”號的優(yōu)先級比“+”的優(yōu)先級高,所以先執(zhí)行“*p”;指針p指向的是數(shù)組的首地址,因此*p=a,再加4得'e'。
58.A解析:本題考查if-else語句。首先,scanf函數(shù)通過鍵盤讀入x的值。當(dāng)x=3時,第一個if語句先判斷條件,取x的值3和2比較,然后將x的值加1,if條件成立,執(zhí)行下面的printf語句,輸出x的值4。當(dāng)x=2時,第一個if語句先判斷條件,先取x的值2和2比較,然后將x的值加1(x的值變?yōu)?),if條件不成立,執(zhí)行下面的else語句,先輸出x的值3,再將x的值減1。
59.C
60.D解析:在C語言格式字符的輸出中,“%d”是以帶符號的十進(jìn)制形式輸出整數(shù);“%60”是以8進(jìn)制無符號形式輸出整數(shù)(不輸出前導(dǎo)符o);“%x”是以16進(jìn)制無符號形式輸出整數(shù)(不輸出前導(dǎo)符Ox)。
61.A
62.D
63.C
\n本題用了函數(shù)調(diào)用,fun中if語句成立則進(jìn)行i,j的交換,用到主函勢中則為把下標(biāo)為0、3,1、2互換,因此,當(dāng)執(zhí)行完后X的數(shù)組為8,1,6,2,故選擇C選項。
\n
64.B
65.D關(guān)系T中的元組是關(guān)系R中有面關(guān)系s中沒有的元組的集合,即從關(guān)系R中除去與關(guān)系s中相同元組后得到的關(guān)系T。所以做的是差運算。
66.B解析:二維數(shù)組的元素可以看成是按矩陣形式存放的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 四年級數(shù)學(xué)教學(xué)計劃3篇
- 甘肅省天水市2024-2025學(xué)年高三上學(xué)期九校聯(lián)考語文試題
- 自考《勞動法(00167)》近年考試真題題庫(含答案)
- 2025年江蘇職教高考《職業(yè)適應(yīng)性測試》考前沖刺模擬試題庫(附答案)
- 《個人信息保護(hù)法》考試參考試題庫100題(含答案)
- 2025年江蘇經(jīng)貿(mào)職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 2025年武漢職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 2025年榆林能源科技職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年常考版參考題庫含答案解析
- 2025年新疆職業(yè)大學(xué)高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 專題07 解二元一次方程組 帶解析
- 2025-2030年中國硫酸鉀行業(yè)深度調(diào)研及投資戰(zhàn)略研究報告
- 課題申報參考:社會網(wǎng)絡(luò)視角下村改居社區(qū)公共空間優(yōu)化與“土客關(guān)系”重構(gòu)研究
- 鄉(xiāng)鎮(zhèn)衛(wèi)生院2025年工作計劃
- 2024年山東省泰安市初中學(xué)業(yè)水平生物試題含答案
- 機械工程類基礎(chǔ)知識單選題100道及答案解析
- 冠心病課件完整版本
- 微生物組與膽汁性肝硬化
- 《信息檢索基礎(chǔ)知識》課件
- 具有履行合同所必須的設(shè)備和專業(yè)技術(shù)能力的承諾函-設(shè)備和專業(yè)技術(shù)能力承諾
- 1325木工雕刻機操作系統(tǒng)說明書
- 初中衡水體英語(28篇)
評論
0/150
提交評論