版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2022年黑龍江省雞西市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.數(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ù)
2.下列運(yùn)算符中,運(yùn)算對(duì)象必須是整型的是()。
A./B.%=C.=D.&
3.
4.設(shè)變量n為f1oat類型,m為int類型,則以下能實(shí)現(xiàn)將n中的數(shù)值保留小數(shù)點(diǎn)后兩位,第三位進(jìn)行四舍五人運(yùn)算的表達(dá)式是()。
A.n=(n*100+0.5)/100.0
B.m=n*100+0.5,n=m/100.0
C.n=n*100+0.5/100.0
D.n=(n/100+0.5)*100.0
5.已定義以下函數(shù)“intfun(int*p){return*p;}”,fun函數(shù)的返回值是()。
A.—個(gè)整數(shù)B.不確定的值C.形參p中存放的值D.形參p的地址值
6.數(shù)據(jù)庫設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()。
A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)
7.有以下程序:#include<stdio.h>voidmain(){doublex=3.14159;printf(“%f\n”,(int)(x*1000+0.5)/(double)1000);}程序運(yùn)行后的輸出結(jié)果是()。
A.3.142000B.3.141000C.3.143000D.3.140000
8.
9.
10.
11.
12.向一個(gè)棧頂指針為H的鏈棧中插入一個(gè)s所指向的結(jié)點(diǎn)時(shí),需執(zhí)行()。
A.H->link=s
B.s->link=H->link;H->link=s;
C.s->link=H;H=s;
D.s->link=H;H=H->link;
13.
14.對(duì)含有16個(gè)元素的有序表進(jìn)行二分查找,關(guān)鍵字比較次數(shù)最多是()
A.3B.4C.5D.6
15.下面哪些使用的不是貪心算法()
A.單源最短路徑中的Dijkstra算法
B.最小生成樹的Prim算法
C.最小生成樹的Kruskal算法
D.計(jì)算每對(duì)頂點(diǎn)最短路徑的Floyd-Warshall算法
16.一個(gè)棧的初始狀態(tài)為空。現(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棱的順序是()。A.A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA
17.設(shè)x和y均為int型變量,且x=10,y=3,則以下語句的輸出結(jié)果是()printf("%d,%d\n",x--,--y);
A.10,3B.9,3C.9,2D.10,2
18.下列對(duì)于線性鏈表的描述中正確的是()
A.存儲(chǔ)空間不一定是連續(xù),且各元素的存儲(chǔ)順序是任意的
B.存儲(chǔ)空間不一定是連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
C.存儲(chǔ)空間必須連續(xù),且前件元素一定存儲(chǔ)在后件元素的前面
D.存儲(chǔ)空間必須連續(xù),且各元素的存儲(chǔ)順序是任意的
19.下列敘述中正確的是()。
A.順序存儲(chǔ)結(jié)構(gòu)的存儲(chǔ)一定是連續(xù)的,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)的存儲(chǔ)空間不一定是連續(xù)的
B.順序存儲(chǔ)結(jié)構(gòu)只針對(duì)線性結(jié)構(gòu),鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)只針對(duì)非線性結(jié)構(gòu)
C.順序存儲(chǔ)結(jié)構(gòu)能存儲(chǔ)有序表,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)不能存儲(chǔ)有序表
D.鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)比順序存儲(chǔ)結(jié)構(gòu)節(jié)省存儲(chǔ)空間
20.有以下程序:#include<stdio.h>main(){chars[]="012xy\O8s34f4w2‘;inti;n=0;,for(i=0;s[i]!=0;i++)if(s[i]>=0s[i]<=9)n++;printf("%d\n",n);}程序運(yùn)行后的輸出結(jié)果是()。A.0B.3C.7D.8
二、2.填空題(20題)21.在程序設(shè)計(jì)階段應(yīng)該采取______和逐步求精的方法,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,繼而用某種程序設(shè)計(jì)語言寫成程序。
22.在面向?qū)ο蠓椒ㄖ?,允許作用于某個(gè)對(duì)象上的操作稱為【】。
23.算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和______復(fù)雜度。
24.下面程序的功能是輸出數(shù)組s中最大元素的下標(biāo),請?zhí)羁铡?/p>
main()
{intk,p,s[]={1,-9,7,2,-10,3};
for(p=0,k=p;p<6;p++)
if(s[p]>s[k])【】
printf("%d\n",k);}
25.算法的復(fù)雜度主要包括空間復(fù)雜度和______復(fù)雜度。
26.面向?qū)ο蟮哪P椭?,最基本的概念是?duì)象和______。
27.以下程序中,fun函數(shù)的功能是求3行4列二維數(shù)組每行元素中的最大值。請?zhí)羁铡?/p>
#include<stdio,h>
voidfun(int,int,int(*)[4],int*);
main()
{inta[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;
fun(3,4,a,b);
for(i=0;i<3;i++)printf("%4d",b[i]);
prinff("\n");
}
voidfun(intm,intn,intar[][4],int*br)
{inti,j,x;
for(i=0;i<m;i++)
{x=ar[i][0];'
for(j=0;j<n;j++)if(x<ar[i][j])x=ar[i][j];
【】=x;
}
}
28.以下程序中,函數(shù)fun的功能是計(jì)算x2-2x+6,主函數(shù)中將調(diào)用fun函數(shù)計(jì)算:
y1=(x+8)2-2(x+8)+6
y2=sin2(x)-2sin(x)+6
請?zhí)羁铡?/p>
#include"math.h"
doublefun(doublex){return(x*x-2*x+6);}
main()
{doublex,y1,y2;
printf("Enterx:");scanf("%lf",&x);
y1=fun(【】);
y2=fun(【】);
printf("y1=%lf,y2=%lf\n",y1,y2);
}
29.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inti,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
}
30.下列語句能循環(huán)______次。
ints=12;
while(s);
--s;
31.數(shù)據(jù)模型按不同應(yīng)用層次分成三種類型,它們是概念數(shù)據(jù)模型、【】和物理數(shù)據(jù)模型。
32.一棵二叉樹第六層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)數(shù)最多為______個(gè)。
33.以下程序可把輸入的十進(jìn)制數(shù)以十六進(jìn)制數(shù)的形式輸出,請?zhí)羁铡?/p>
#inelude<stdio.h>
main()
{eharb[17]={"0123456789ABCDEF"};
intc[64],d,i=0,base=16;
longn;
printf("Enteranumber:\n");
seanf("%ld",&n);
do{c[i]=【】;i++;n=n/base;}
while(n!=0);
printf("Transmitenewbase:\n");
for(--i;i>=0;--i)
{d=c[i];printf("%c",b【】);}
printf("\n");
}
34.下面程序的運(yùn)行結(jié)果是:【】。
#defineN10
#defines(x)x*x
#definef(x)(x*x)
main()
{inti1,i2;
i1=1000/s(N);i2=1000/f(N);
printf(“%d%d\n”,i1,i2);
}
35.下列程序的功能是將字符串s中所有的字符c刪除。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{chars[80];
inti,j;
gets(S);
for(i=j(luò)0;s[i]!'\0';i++)
if(s[i]!='c')______;
s[j]='\0;
puts(S);
}
36.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
37.下面程序的功能是輸出數(shù)組中最大的數(shù),由a指針指向該元素。請?zhí)羁铡?/p>
main()
{ints[]={6,7,2,13,9,1,12,10,5,8,4,3,11},*a,*b;
for(b=s,a=s;b-s<13;b++)
if(【】)a=b;
printf("%d",*a);}
38.下面程序的執(zhí)行結(jié)果是【】。
main()
{
inta=5,b=4,c=9;
printf("###%d",(a<C)?c*b:a*B);
}
39.執(zhí)行以下程序后,輸出‘#’號(hào)的個(gè)數(shù)是______。
#include<stdio.h>
main()
{
inti,j;
for(i=1;i<5;i++)
for(j=2;j<=i;j++)
putchar('#');
}
40.有如下圖所示的雙鏈表結(jié)構(gòu),請根據(jù)圖示完成結(jié)構(gòu)體的定義:
structaa
{intdata;
【】}node;
三、1.選擇題(20題)41.利用fseek函數(shù)可實(shí)現(xiàn)的操作是()。
A.實(shí)現(xiàn)文件的順序讀寫B(tài).改變文件的位置指針C.實(shí)現(xiàn)文件的隨機(jī)讀寫D.以上答案均正確
42.為了避免流程圖在描述程序邏輯時(shí)的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為______。
A.PAD圖B.N-S圖C.結(jié)構(gòu)圖D.數(shù)據(jù)流圖
43.下列敘述中,錯(cuò)誤的一條是______。
A.已知i=3,執(zhí)行語句k=(++i)+(++i)+(++i)后,k的值為15
B.邏輯表達(dá)式!(5>3)&&(2<4)的值為0
C.表達(dá)式'c'&&'d'||!(3+4)的值為1
D.整型、實(shí)型、字符型數(shù)據(jù)可以混合運(yùn)算
44.以下程序運(yùn)行后,輸出結(jié)果是()#include<stdio.h>ss(char*s){char*p=s;while(*p)p++return(p-s);}main(){char*a=“abded”inti;i=ss(a);printf(“%d\n”,i);}A.8B.7C.6D.5
45.以下敘述中正確的是()。
A.預(yù)處理命令行必須位于C源程序的起始位置
B.在C語言中,預(yù)處理命令行都以“#”開頭
C.每個(gè)C程序必須在開頭包含預(yù)處理命令行:#include<stdio.h>
D.C語言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能
46.以下定義語句中正確的是
A.inta=b=0;
B.charA=65+1,b=′b′;
C.floata=1,*b=&a,*c=&b;
D.doublea=0.0;b=1.1;
47.變量a中的數(shù)據(jù)用二進(jìn)制表示的形式是01011101,變量b中的數(shù)據(jù)用二進(jìn)制表示的形式是11110000。若要求將a的高4位取反,低4位不變,所要執(zhí)行的運(yùn)算是()。
A.a^bB.a|bC.a&bD.a<<4
48.設(shè)int型占2個(gè)字節(jié),則unsignedint所能表示的數(shù)據(jù)范圍是______。
A.0~65535B.-32769~32767C.1~65536D.0~32767
49.執(zhí)行以下程序后,a,b的值分別是()。#include<stdio.h>main(){inta,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;b=(*p1)/(*p2)+7;printf("a=%d\n",a);printf("b=%d\n",b);}
A.-1,5B.1,6C.0,7D.4,10
50.結(jié)構(gòu)化程序設(shè)計(jì)的3種基本結(jié)構(gòu)是()。
A.過程、子程序和分程序B.順序、選擇和重復(fù)C.遞歸、堆棧和隊(duì)列D.調(diào)用、返回和轉(zhuǎn)移
51.下面程序的輸出是_______。typedefunion{longx[2];inty[4];charz[8];}MYTYPE;MYTYPEthem;main(){printf("%d\n",sizeof(them));}
A.32B.16C.8D.24
52.設(shè)有如下的函數(shù)______。f(x)floatx;{printf("\n%d",x*x);}則函數(shù)類型
A.與參數(shù)x類型相同B.是voidC.是intD.無法確定
53.有以下程序:voidfun(int*a,inti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;fun(a,++i,--j);}}main(){inta[]={1,2,3,4,5,6),i;fun(a,0,5)for(i=0;i<6;i++)printf("%d",a[i]);}執(zhí)行后的輸出結(jié)果是()。
A.654321B.432156C.456123D.123456
54.從工程管理角度,軟件設(shè)計(jì)一般分為兩步完成,它們是()。
A.概要設(shè)計(jì)與詳細(xì)設(shè)計(jì)B.數(shù)據(jù)設(shè)計(jì)與接口設(shè)計(jì)C.軟件結(jié)構(gòu)設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)D.過程設(shè)計(jì)與數(shù)據(jù)設(shè)計(jì)
55.下列標(biāo)識(shí)符不是關(guān)鍵字的是()。
A.breakB.charC.SwitchD.return
56.若有定義:inta[2][3];,以下選項(xiàng)中對(duì)a數(shù)組元素正確引用的是A.a[2][!1]B.a[2][3]C.a[0][3]D.a[1>2][!1]
57.在16位編譯系統(tǒng)上,若有定義inta[]={10,20,30},*p=&a;,當(dāng)執(zhí)行p++后,下列說法錯(cuò)誤的是()。
A.p向高地址移了一個(gè)字節(jié)B.p向高地址移了一個(gè)存儲(chǔ)單元C.p向高地址移了兩個(gè)字節(jié)D.p與a+1等價(jià)
58.以下對(duì)結(jié)構(gòu)體變量mix中成員x的正確引用是______。struct{intt;intx;}mix,*p;p=&mix;
A.(*p).mix.xB.(*p).xC.p->mix.xD.p.mix.x
59.以下程序調(diào)用findmax函數(shù)返回?cái)?shù)組中的最大值findmax(inE*a,intn){int*p,*s;for(p=a,s=a;p-a<n;p++)if(______)s=p;return(*S);}main(){intx[5]={12,21,13,6,18);printf("%d\n",findmax(x'5));}在下劃線處應(yīng)填入的是
A.p>sB.*p>*sC.a[p]>a[s]D.p-a>p-s
60.有以下程序:#include<stdio.h>voidfun(char**p){++P;printf("%s\n",*p);}main()char*a[]={"Morning","Afternoon","Evening","Night"};fun(A);}程序的運(yùn)行結(jié)果是()。
A.AfternoonB.fternoonC.MorningD.oring
四、選擇題(20題)61.以下選項(xiàng)中不能作為c語言合法常量的是()。
62.
63.數(shù)據(jù)庫設(shè)計(jì)中反映用戶對(duì)數(shù)據(jù)要求的模式是()。
A.內(nèi)模式B.概念模式C.外模式D.設(shè)計(jì)模式
64.下面的變量說明中__________是正確的。
A.char:a,b,c;
B.chara;b;c;
C.chara,b,c;
D.chara,b,c
65.
66.執(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
67.設(shè)有條件表達(dá)式:(EXP)?i++;j--,則以下表達(dá)式中(EXP)完全等價(jià)的是()。
A.(EXP==0)B.(EXP!=0)C.(EXP==1)D.(EXP!=1)
68.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.21B.11C.6D.120
69.設(shè)有定義:charp[]={1,2,3),*q=p;,以下不能計(jì)算出一個(gè)char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是()。
A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])
70.讀出以下語句的輸出結(jié)果是()。
intx=10,y=10;
printf(“%d%d\n”,x--,--y);
A.1010B.99C.910D.109
71.下列函數(shù)的功能是()
72.設(shè)變量a是int型,f是float型,i是double型,則表達(dá)式10+′a′+i*f值的數(shù)據(jù)類型為
A.intB.floatC.doubleD.不確定
73.有下列函數(shù)定義:intfun(doublea,doubleb){returna*b;}若下列選項(xiàng)中所用變量都已經(jīng)正確定義并賦值,錯(cuò)誤的函數(shù)調(diào)用是()。A.if(fun(x,y)){……}
B.z=fun(fun(x,y),fun(x,y));
C.z=fun(fun(X,y)x,y);
D.fun(x,y);
74.以下程序的輸出結(jié)果是()。
A.1B.7C.9D.13
75.設(shè)已有定義:floatx;,則以下對(duì)指針變量P進(jìn)行定義且賦初值的語句中正確的是()。
A.int*p=(float)x;
B.float*p=&x;
C.floatp=&x;
D.float=1024;
76.以下函數(shù)返回a所指數(shù)組中最大值所在的下標(biāo)值
fun(int*a,intn)
{
inti,j=0,p;
p=j;
for(i=j;i<n;i++)
if(a[i]>a[p])_________;
return(p);
}
在下畫線處應(yīng)填入的內(nèi)容是
A.i=pB.a(chǎn)[p]=a[i]
C.p=iD.p=j
77.下列敘述中錯(cuò)誤的是()。A.在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,
B.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題
C.數(shù)據(jù)庫設(shè)計(jì)是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫
D.數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持
78.某循環(huán)隊(duì)列的存儲(chǔ)空間為Q(4:m),初始狀態(tài)為front=lea/"=m。現(xiàn)經(jīng)過一系列的人隊(duì)操作和退隊(duì)操作后,front=m,r6ar=m一1,則該循環(huán)隊(duì)列中的元素個(gè)數(shù)為()。
A.m一1B.mC.1D.0
79.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.123456B.14C.1234D.12
80.(45)信息隱蔽的概念與下述哪一種概念直接相關(guān)()
A.軟件結(jié)構(gòu)定義
B.模塊獨(dú)立性
C.模塊類型劃分
D.模擬耦合度
五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)proc()的功能是:將長整型數(shù)中為偶數(shù)的數(shù)依次逆向取出,構(gòu)成一個(gè)新數(shù)放在t中。高位在低位,低位在高位。例如,當(dāng)s中的數(shù)為12345678時(shí),則t中的數(shù)為8642。
請修改函數(shù)proc()中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.學(xué)生的記錄由學(xué)號(hào)和成績組成,M名學(xué)生的數(shù)據(jù)已在主函數(shù)中放人結(jié)構(gòu)體數(shù)組stu中,請編寫函數(shù)proc(),其功能是:按分?jǐn)?shù)的高低排列學(xué)生的記錄,高分在前。注意:部分源程序給m如下。請勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語句。試題程序:
參考答案
1.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)等。
2.B
3.B
4.B
5.A函數(shù)返回值為指針變量指向的數(shù)據(jù),該數(shù)據(jù)已被定義為整型。故本題答案為A選項(xiàng)。
6.A解析:模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)是概念設(shè)計(jì)的兩種方法。物理設(shè)計(jì)是根據(jù)特定的計(jì)算機(jī)系統(tǒng),對(duì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和存取方法進(jìn)行設(shè)計(jì),從而實(shí)現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開發(fā)的角度來看,結(jié)構(gòu)特性設(shè)計(jì)和行為特性-設(shè)計(jì)是數(shù)據(jù)庫應(yīng)用系統(tǒng)所具有的兩個(gè)特性。結(jié)構(gòu)特性的設(shè)計(jì),設(shè)計(jì)各級(jí)數(shù)據(jù)庫模式(靜態(tài)特性):行為特性的設(shè)計(jì),改變實(shí)體及其特性,決定數(shù)據(jù)庫系統(tǒng)的功能(動(dòng)態(tài)特性)。
7.A根據(jù)算術(shù)表達(dá)式和運(yùn)算符的優(yōu)先級(jí)與結(jié)合性。表達(dá)式“int(x*1000+0.5)/(double)1000”,首先計(jì)算“x*1000”,由于x是double類型,1000是整型,所以“x*1000”的結(jié)果默認(rèn)是double類型,即3141.59,加0.5后再執(zhí)行int的強(qiáng)制轉(zhuǎn)換,結(jié)果為3142。分母“(double)1000”強(qiáng)制轉(zhuǎn)換為double類型,此時(shí)計(jì)算“3142/(double)1000”,3142需要轉(zhuǎn)換成double類型,然后除以1000,結(jié)果為3.142000,默認(rèn)保留小數(shù)點(diǎn)后6位。故本題答案為A選項(xiàng)。
8.C
9.D
10.D\r\n
11.B
12.C
13.A
14.C
15.D
16.B棧是先進(jìn)后出的原則組織數(shù)據(jù),所以人棧最早的最后出棧,所以選擇B。
17.D
18.A本題考查的是線性單鏈表、雙向鏈表與循環(huán)鏈表的結(jié)構(gòu)及其基本運(yùn)算。\n在鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,存儲(chǔ)數(shù)據(jù)結(jié)構(gòu)的存儲(chǔ)空間可以不連續(xù),各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)順序與數(shù)據(jù)元素之間的邏輯關(guān)系可以不一致,而數(shù)據(jù)元素之間的邏輯關(guān)系是由指針域來確定的。故本題答案為A。
19.A解析:順序存儲(chǔ)結(jié)構(gòu)就是用一組地址連續(xù)的存儲(chǔ)單元依次存儲(chǔ)該線性表中的各個(gè)元素,鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)是不連續(xù)的,并且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致,所以選項(xiàng)A是正確的。兩者都可以存儲(chǔ)線性的、有序的邏輯結(jié)構(gòu),所以選項(xiàng)B、C不正確。順序結(jié)構(gòu)使用的是連續(xù)物理空間,鏈?zhǔn)浇Y(jié)構(gòu)可以使用零散的物理空間存儲(chǔ),鏈?zhǔn)浇Y(jié)構(gòu)更靈活,不存在誰節(jié)約空間的說法,所以選項(xiàng)D不正確。
20.B考查簡單的C程序數(shù)組和循環(huán)。for循環(huán)是指i=0,如果s/[3]!=0,則i自動(dòng)加1。if循環(huán)指的是s[i]中的元素大于等于0且小于等于9,則n加l,所以答案為B。
21.自頂向下自頂向下解析:在程序設(shè)計(jì)時(shí),應(yīng)先考慮總體,后考慮細(xì)節(jié),逐步使問題具體化,對(duì)復(fù)雜的問題,應(yīng)該設(shè)計(jì)一些子目標(biāo)作為過渡,上述方法概括為:自頂向下,逐步細(xì)化。
22.方法方法解析:在面向?qū)ο蠓椒ㄖ?,方法是指允許作用于某個(gè)對(duì)象上的各種操作。
23.空間空間解析:算法的復(fù)雜度主要包括時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。一個(gè)算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
24.k=p;k=p;解析:為要尋找數(shù)組中的最大元素的下標(biāo),需先預(yù)設(shè)1個(gè)臨時(shí)最大元素的下標(biāo),并順序逐一考查數(shù)組的元素,當(dāng)發(fā)現(xiàn)當(dāng)前元素比臨時(shí)最大元素更大時(shí),就用當(dāng)前元素的下標(biāo)更新臨時(shí)最大元素下標(biāo)。直至考查了數(shù)組的全部元素后,這臨時(shí)最大元素下標(biāo)就是數(shù)組的最大元素下標(biāo)。通常預(yù)設(shè)的最大元素下標(biāo)是數(shù)組的首元素下標(biāo),考查是從首元素開始順序向后繼元素考查。程序中,存儲(chǔ)臨時(shí)最大元素下標(biāo)的變量是k,變量p控制順序考查的循環(huán)控制變量。當(dāng)發(fā)現(xiàn)當(dāng)前元素s[p]比臨時(shí)最大元素s[k)更大時(shí),應(yīng)該用p更新k。所以在空框處應(yīng)填入代碼“k=p;”。
25.時(shí)間時(shí)間解析:算法的復(fù)雜度主要指時(shí)間復(fù)雜度和空間復(fù)雜度。
26.類類
27.br[i]或*(br+i)br[i]或*(br+i)解析:程序中的數(shù)組a是一個(gè)3行4列的二維數(shù)組,一維數(shù)組b用于存放每行的最大數(shù)。在函數(shù)fun中,通過二重for循環(huán)求每行的最大數(shù),外層for循環(huán)用于控制行數(shù),內(nèi)層for循環(huán)用于控制列數(shù),當(dāng)外層循環(huán)執(zhí)行一次時(shí),內(nèi)層循環(huán)則從一行的4個(gè)數(shù)中找出最大數(shù)x,然后將最大值x賦給數(shù)組br,故空格處應(yīng)填br[i]或*(br+i)。
28.x+8sin(x)x+8,sin(x)解析:考查考生對(duì)函數(shù)調(diào)用相關(guān)知識(shí)的了解。用x+8代替函數(shù)fun(doublex)中形式參數(shù)x;用sin(x)代替函數(shù)fun(doublex)中形式參數(shù)x。
29.1371513715解析:本題中,定義了一個(gè)整型數(shù)組n并初始化,在for循環(huán)語句中,再對(duì)數(shù)組中各元素重新賦值。循環(huán)執(zhí)行第一次時(shí),n[1]=n[0]*2+1=0+1=1,printf函數(shù)輸出1,然后i的值加1,比較i<=4成立,繼續(xù)執(zhí)行循環(huán)體語句,使后一個(gè)數(shù)為前一個(gè)數(shù)的2倍加1。所以最后輸出為1、3、7、15。
30.無限無限解析:分析程序“while(s)”語句后面有一個(gè)“;”不能執(zhí)行后面的語句,只是執(zhí)行空語句,所以s=12保持不變,因此,沒有條件限制的能循環(huán)無限次(即死循環(huán))。
31.邏輯數(shù)據(jù)模型邏輯數(shù)據(jù)模型解析:數(shù)據(jù)模型按不同的應(yīng)用層次分成三種類型,它們是概念數(shù)據(jù)模型、邏輯數(shù)據(jù)模型、物理數(shù)據(jù)模型。
32.3232解析:二叉樹的一個(gè)性質(zhì)是,在二叉樹的第k層上,最多有2k-1(k≥1)個(gè)結(jié)點(diǎn)。由此,26-1=32.所以答案為32。
33.n%base[d]n%base[d]解析:程序中的字符數(shù)組b存儲(chǔ)了十六進(jìn)制16個(gè)數(shù)字的字符,整型數(shù)組c用于存儲(chǔ)轉(zhuǎn)換的十六進(jìn)制數(shù)的各位數(shù)值。將整數(shù)n轉(zhuǎn)換成它的各位十六進(jìn)制數(shù)值,需采用除以16取余的方法,即求n除以16的余,得到它的十六進(jìn)制的末位數(shù),接著將n除以16,在n不等于0的情況下循環(huán),順序求出n的十六進(jìn)制的倒數(shù)第一、第二、第三位數(shù)等。程序中變量base已預(yù)置16,所以在第一處填n%base。當(dāng)n的十六進(jìn)制數(shù)的倒數(shù)第一、第二、第三位等依次存放于數(shù)組c中后,就從最高位至最低位,參照數(shù)組c[i]的內(nèi)容d(以其內(nèi)容為下標(biāo)),取十六進(jìn)制數(shù)字符表中的字符b[d)輸出,所以在第二處填[d]。
34.100010100010解析:首先將程序中的宏替換掉,兩處的宏替換后分別為i1=1000/10*10和i2=1000/(10*10),即i1=1000,i2=10,所以最后輸出的i1和i2的值分別為1000和10。
35.s[j++]=s[i]s[j++]=s[i]解析:循環(huán)開始后如果數(shù)組s中儲(chǔ)存值與字符c相同,則i++直接跳過當(dāng)前值;如果不相同,則將當(dāng)前值賦予數(shù)組指定位置,并通過.j++將下標(biāo)加1,指向下一元素要存儲(chǔ)的位置。
36.軟件開發(fā)
37.*b>*a
38.###36
39.66解析:本題中,i,j分別為外循環(huán)和內(nèi)循環(huán)的循環(huán)控制變量,外層循環(huán)共執(zhí)行了四次.當(dāng)i=1時(shí),由于內(nèi)層循環(huán)判斷條件(2<=1)為假不執(zhí)行內(nèi)層循環(huán).當(dāng)i=2時(shí),執(zhí)行內(nèi)層循環(huán),輸出一個(gè)#當(dāng)i=3時(shí),內(nèi)層循環(huán)循環(huán)兩次,輸出兩個(gè)#,當(dāng)i=4時(shí),內(nèi)層循環(huán)循環(huán)三次,輸出三#。當(dāng)i=5時(shí),循環(huán)判斷條件不成立,退出外層循環(huán)。所以一共輸出6個(gè)#。
40.structaa*lhead*rchild;structaa*lhead,*rchild;解析:結(jié)構(gòu)體對(duì)鏈表的定義。
41.D解析:改變文件位置指針函數(shù)fseek()的功能:①改變文件的位置指針;②輔助實(shí)現(xiàn)文件的順序讀寫;③輔助實(shí)現(xiàn)文件的隨機(jī)讀寫。
42.B解析:常見的過程設(shè)計(jì)工具有:程序流程圖、N-S圖、PAD圖和HIPO圖。其
中,為了避免流程圖在描述程序邏輯時(shí)的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流
程圖,通常也把這種圖稱為N-S圖。
注意:其他常用算法描述工具的概念。
43.A
44.D
45.B解析:選項(xiàng)B)正確,預(yù)處理命令行之前都有一個(gè)“#”符號(hào)。C語言提供三種預(yù)處理:宏替換,文件包含,條件編譯。
46.B解析:本題考查變量的定義方法。
47.A解析:1與1異或結(jié)果為0,0與1異或結(jié)果為1,可見要使某位數(shù)翻轉(zhuǎn),只要使其與1進(jìn)行異或運(yùn)算即可。0與0進(jìn)行異或運(yùn)算結(jié)果為0,1與0進(jìn)行異或運(yùn)算結(jié)果為1,可見要使某位的數(shù)不變,只要使其與0進(jìn)行異或運(yùn)算即可。
48.A解析:本題int型占2個(gè)字節(jié),即16位,unsignedint所能表示的數(shù)據(jù)范圍是0~(2(上標(biāo))16-1),即0~65535。
49.C解析:a=p1==&m;等價(jià)于a=(P1==&m);將p1是否等于m的地址的邏輯值(0)賦給變量a;在b=(*p1)/(*p2)+7;語句中,(*P1)/(*p2)=0,因此將表達(dá)式的值7賦給變量b。
50.BB?!窘馕觥砍绦虻娜N基本控制結(jié)構(gòu)包括:順序、選擇和重復(fù)(循環(huán)),這三種結(jié)構(gòu)就足以表達(dá)出各種其他形式的結(jié)構(gòu)。
51.C解析:sizeof(x)是一個(gè)標(biāo)準(zhǔn)C函數(shù),它的返回值是x型的數(shù)據(jù)結(jié)構(gòu)占用的內(nèi)存字節(jié)數(shù),題目中定義了一個(gè)共用體,共用體變量在內(nèi)存中所占的長度等于最長的成員的長度。
52.C解析:在函數(shù)名前沒有說明函數(shù)返回值類型時(shí),隱含為int類型。
53.A解析:函數(shù)fun()中有3個(gè)參數(shù),參數(shù)a為一個(gè)指針變量,接收的實(shí)參可以是數(shù)組名,參數(shù)i和j分別表示數(shù)組元素的下標(biāo),當(dāng)下標(biāo)i小于下標(biāo)j時(shí),a[i]和a[j]交換,然后對(duì)自身進(jìn)行調(diào)用,可見這是一個(gè)遞歸函數(shù)。其實(shí)現(xiàn)的功能是把數(shù)組a從下標(biāo)為i的元素到下標(biāo)為j的元素之間的所有元素反序存放。在主函數(shù)中調(diào)用fun()函數(shù),把a(bǔ)數(shù)組從a[0]到a[5]之間的所有元素反序存放,最后輸出從a[0]到a[5]的值,因此輸出的值為6、5、4、3、2、1,.所以,A選項(xiàng)為所選。
54.A解析:從工程管理的角度看,軟件設(shè)計(jì)可分為概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)兩大步驟。概要設(shè)計(jì)是根據(jù)需求確定軟件和數(shù)據(jù)的總體框架;詳細(xì)設(shè)計(jì)是將其進(jìn)一步精化成軟件的算法或表示和數(shù)據(jù)結(jié)構(gòu)。而在技術(shù)上,概要設(shè)計(jì)和詳細(xì)設(shè)計(jì)又由若干活動(dòng)組成,包括總體結(jié)構(gòu)設(shè)計(jì)/數(shù)據(jù)設(shè)計(jì)和過程設(shè)計(jì)。因此,本題的正確答案是A。
55.C解析:break、char、return、switch都是C語言中的關(guān)鍵字,switch不是。因?yàn)镃語言區(qū)分字母的大小寫。
56.D解析:a是一個(gè)2行3列的二維數(shù)組,行下標(biāo)和列下標(biāo)都是從0開始的,數(shù)組中的元素為a[0][0]、a[0][1]、a[0][2]、a[1][0]、a[1][1]、a[1][2],行下標(biāo)最大值為1,列下標(biāo)最大值為2,因此選項(xiàng)A、B、C都是錯(cuò)誤的引用。計(jì)算選項(xiàng)D中數(shù)組元素的下標(biāo)后得a[0][0],為正確的引用。
57.A解析:*p=&a將數(shù)組a[]的首地址賦給指針p,通過對(duì)指針變量進(jìn)行加上或減去一個(gè)整數(shù)可以移動(dòng)指針,移動(dòng)的單位為存儲(chǔ)單元,int型變量在存儲(chǔ)器中占兩個(gè)字節(jié)。
58.B解析:結(jié)構(gòu)體變量中的成員有3種引用方式:①結(jié)構(gòu)體變量名.成員名;②指針變量名->成員名:③(*指針變量名).成員名。
59.B解析:在main()函數(shù)中定義了一個(gè)具有5個(gè)元素的x數(shù)組并賦初值,然后調(diào)用findmax()函數(shù)求數(shù)組中元素的最大值。調(diào)用時(shí)把數(shù)組元素x的首地址,傳給了形參指針變量a,把5傳給形參n。在函數(shù)findmax()中定義了兩種指針變量p和s,其中s用來記錄最大元素的地址,p作為循環(huán)控制變量,表示每個(gè)元素的地址.求最大值的算法是先將第一個(gè)元素(用s記下它的地址)做為最大值,然后用最大值(*s)與后面的每個(gè)元素比較(*p),若后面的元素大,則用s記下它的地址,所以下劃線應(yīng)填“*s<*p*或“*P>*s”。所以,4個(gè)選項(xiàng)中B為所選。
60.A
61.A本題考查的是c語言的常量。0.1e+6是實(shí)型常量的指數(shù)形式,代表0.1×10的6次方,所以選項(xiàng)B)是合法的;
“a”是合法的字符串常量,a9一個(gè)非打印的轉(zhuǎn)義字符表示響鈴,所以選項(xiàng)C)是合法的;011是一個(gè)字符常量,011是一個(gè)用3位八進(jìn)制表示的轉(zhuǎn)義字符,所以選項(xiàng)D)也是合法的。在C語言中,字符常量是用單引號(hào)括起來的一個(gè)字符,選項(xiàng)A)中的cd包含了2個(gè)字符,所以是不正確的。
62.D
63.C數(shù)據(jù)庫系統(tǒng)的三級(jí)模式是概念模式、外模式和內(nèi)模式。概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述,是全體用戶公共數(shù)據(jù)視圖。外模式也稱子模式或用戶模式,它是用戶的數(shù)據(jù)視圖,給出了每個(gè)用戶的局部數(shù)據(jù)描述,所以選擇C。內(nèi)模式又稱物理模式,它給出了數(shù)據(jù)庫物理存儲(chǔ)結(jié)構(gòu)與物理存取方法。
64.B
65.B
66.B本題考查自加(++)、自減(--)運(yùn)算符的使用?!?+x,--x”,在變量x前使用,先使X的值加1或者減1,再使用此時(shí)的表達(dá)式的值參與運(yùn)算;“x++,x--”,先把使用X的值參與運(yùn)算,在使用X之后,再使x的值加1或者減1。對(duì)于表達(dá)式--x=4,y++=4,兩者相等,--x=y++為真,所以a=x=4,執(zhí)行完此語句后y的值是5。第2個(gè)表達(dá)式b=++x,x的值先加1,然后賦給b,即b=x+1=5;第一個(gè)表達(dá)式c=y=5。故B正確。
67.B解析:條件表達(dá)式的形式為:“表達(dá)式1?表達(dá)式2:表達(dá)式3”。其含義為:當(dāng)“表達(dá)式1”的值為非零時(shí),求出“表達(dá)式2”的值,此時(shí)“表達(dá)式2”的值就是整個(gè)條件表達(dá)式的值;當(dāng)“表達(dá)式1”的值為零時(shí),求出“表達(dá)式3”的值,此時(shí)“表達(dá)式3”的值就是整個(gè)條件表達(dá)式的值。對(duì)于本題來說,當(dāng)表達(dá)式EXP為非0值時(shí)條件成立,即執(zhí)行語句i++;當(dāng)EXP等于0時(shí),執(zhí)行語句j--;這等同于條件表達(dá)式“(EXP!=0)?i++:i++;”。
68.A循環(huán)調(diào)用fun函數(shù),依次返回值為23456,s原值為l,累加以上返回值,最終結(jié)果為21,所以答案選擇A)。
69.A選項(xiàng)A計(jì)算的是p口字符數(shù)組首地址所占的內(nèi)存字節(jié)數(shù)。選項(xiàng)8、C和D都能計(jì)算出一個(gè)字符型數(shù)據(jù)所占的字節(jié)數(shù)。
70.D
71.A將a數(shù)組里元素賦值給b數(shù)組,直到數(shù)組a的末尾,所以選擇A)。
72.C解析:根據(jù)混合運(yùn)算規(guī)則,如果有一個(gè)數(shù)據(jù)是float型或double型,則其他數(shù)據(jù)類型先轉(zhuǎn)化為double型,運(yùn)算的結(jié)果最終也是double型。
73.C本題考查函數(shù)在函數(shù)調(diào)用時(shí)參數(shù)
溫馨提示
- 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年全球及中國成人電動(dòng)踏板車行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 2025-2030全球聚酯樹脂行業(yè)調(diào)研及趨勢分析報(bào)告
- 2025年全球及中國中心供氧站行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報(bào)告
- 大數(shù)據(jù)分析服務(wù)項(xiàng)目合同
- 2025合同模板股權(quán)合作協(xié)議范本
- 2025企業(yè)管理資料勞務(wù)合同樣本頁文檔范本
- 鋼質(zhì)防火門制作安裝合同
- 中介公司房產(chǎn)交易合同范本
- 奶牛場承包經(jīng)營合同
- 銷售回購合同
- 高考英語單詞3500(亂序版)
- 《社區(qū)康復(fù)》課件-第五章 脊髓損傷患者的社區(qū)康復(fù)實(shí)踐
- 北方、南方戲劇圈的雜劇文檔
- 燈謎大全及答案1000個(gè)
- 白酒銷售經(jīng)理述職報(bào)告
- 部編小學(xué)語文(6年級(jí)下冊第6單元)作業(yè)設(shè)計(jì)
- 洗衣機(jī)事業(yè)部精益降本總結(jié)及規(guī)劃 -美的集團(tuán)制造年會(huì)
- 2015-2022年湖南高速鐵路職業(yè)技術(shù)學(xué)院高職單招語文/數(shù)學(xué)/英語筆試參考題庫含答案解析
- 2023年菏澤醫(yī)學(xué)??茖W(xué)校單招綜合素質(zhì)模擬試題及答案解析
- 鋁合金門窗設(shè)計(jì)說明
- 小學(xué)數(shù)學(xué)-三角形面積計(jì)算公式的推導(dǎo)教學(xué)設(shè)計(jì)學(xué)情分析教材分析課后反思
評(píng)論
0/150
提交評(píng)論