




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(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語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.以下敘述正確的是()。
A.表達(dá)式“sizeof(FILE*)==sizeof(int*)”的值為真
B.文件指針的值是一個(gè)整數(shù),它的值一定小于文件字節(jié)數(shù)
C.文件指針的值是所指文件的當(dāng)前讀取位置
D.使用fscanf函數(shù)可以向任意類型的文件中寫入任意數(shù)量的字符
2.定義無(wú)符號(hào)整數(shù)類為UInt,下面可以作為類UInt實(shí)例化值的是A)B)369C)0.369D)A.-369B.369C.0.369D.整數(shù)集合{1,2,3,4,5}
3.
有以下程序:
main
{intnum[4][4]={1,2,3,4},{5,6,7,8},{9,10,11,
12,},{13,14,15,16}},i,j;
for(i=0;i<4;i++)
{for(j=0;j<i;j++)printf("%4c",);
for(j=________;J<4;j++)printf("%4d",num
[i][j]);
printf("\n");}}
若要按以下形式輸出數(shù)組右上半三角
1234
678
1112
16
則在程序下劃線處應(yīng)填入的是()。
A.i-1B.iC.i+1D.4一i
4.下述程序的輸出結(jié)果是()。#include<stdio.h>voidmain{intb[6]={2,4,6,8,10,12);int*p=b,**q=&p;printf("%d,",*(p++));printf("%d,",**q);}A.4,4B.2,2C.4,5D.2,4
5.設(shè)已有定義“floatx;”,則下列對(duì)指針變量P進(jìn)行定義且賦初值的語(yǔ)句中正確的是()。
A.int*p=(float)x;
B.float*p=&x;
C.floatp=&x;
D.float*p=1024;
6.連通圖G中有n個(gè)頂點(diǎn),G的生成樹是()連通子圖。
A.包含G的所有頂點(diǎn)B.包含G的所有邊C.不包含G的所有頂點(diǎn)D.包含G的所有頂點(diǎn)和所有邊
7.現(xiàn)有如下定義語(yǔ)句int*p,s[20],i;p=s;表示數(shù)組元素s[i]的表達(dá)式不正確的是
A.*(s+i)B.*(p+i)C.*(s=s+i)D.*(p=p+i)
8.表示關(guān)系a≤b≤c的C語(yǔ)言表達(dá)式為()。
A.(a<=B)&&(b<=C)
B.(a<=B)and(b<=C)
C.(a<=b<=C)
D.(a<=B)&(b<=C)
9.設(shè)無(wú)向圖G中有n個(gè)頂點(diǎn)e條邊,則其對(duì)應(yīng)的鄰接表中的表頭結(jié)點(diǎn)和邊表接點(diǎn)的個(gè)數(shù)分別為()。
A.n,eB.e,nC.2n,eD.n,2e
10.有以下定義和語(yǔ)句
StructWorkers
{intnum;charname[20];charc;
struct
{intday;intmonth;intyear;}s;
};
StructWorkersW,*pe;
PW=&W;
能給W中yeaR成員賦1980的語(yǔ)句是A.*pW.yeaR=1980;
B.W.yeaR=1980;
C.pW->yeaR=1980;
D.W.s.yeaR=1980;
11.若有語(yǔ)句“typedefstructTT{charc;inta[4];}CIN;”,則下列敘述中正確的是()。
A.CIN是structTT類型的變量
B.TT是struct類型的變量
C.可以用TT定義結(jié)構(gòu)體變量
D.可以用CIN定義結(jié)構(gòu)體變量
12.計(jì)算機(jī)硬件組成中,CPU包含______。
A.控制器和存儲(chǔ)器B.控制器和運(yùn)算器C.控制器、運(yùn)算器和存儲(chǔ)器D.內(nèi)存儲(chǔ)器和外存儲(chǔ)器
13.下列敘述中錯(cuò)誤的是()。
A.在C語(yǔ)言中,函數(shù)中的自動(dòng)變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語(yǔ)言中,在調(diào)用函數(shù)時(shí),實(shí)參和對(duì)應(yīng)形參在類型上只需賦值兼容
C.在C語(yǔ)言中,外部變量的隱含類型是自動(dòng)存儲(chǔ)類別
D.在C語(yǔ)言中,函數(shù)形參的存儲(chǔ)類型是自動(dòng)(auto)類型的變量
14.以下哪種操作最適合先進(jìn)行排序處理()
A.找最大、最小值B.計(jì)算算術(shù)平均值C.找中間值D.找出現(xiàn)次數(shù)最多的值
15.對(duì)線性表進(jìn)行二分法檢索,其前提條件是()。
A.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序
B.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序
C.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序
D.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序
16.表達(dá)式“(int)((double)9/2)-9%2”的值是()。
A.0B.3C.4D.5
17.有以下程序voidsum(inta[]){a[0]-a[-1]+a[1];}main(){inta[10]={1,2,3,4,5,6,7,8,9,10};sum(&a[2]);printf(“%d\n”,a[2]);}程序運(yùn)行后的輸出結(jié)果是A.6B.7C.5D.8
18.設(shè)一棵滿二叉樹共有15個(gè)結(jié)點(diǎn),則在該滿二叉樹中的葉子結(jié)點(diǎn)數(shù)為()
A.7B.8C.9D.10
19.帶頭結(jié)點(diǎn)的單鏈表head為空的判定條件是()。
A.head=NULLB.head→next=NULLC.head→next=headD.head!=NULL
20.若已定義inta,則表達(dá)式a=10,a+10,a++的值是()。
A.20B.10C.21D.11
二、2.填空題(20題)21.一般來(lái)說(shuō),數(shù)據(jù)庫(kù)的設(shè)計(jì)過(guò)程要經(jīng)歷3個(gè)大的階段,即可行性分析與研究階段、系統(tǒng)設(shè)計(jì)階段、設(shè)計(jì)實(shí)施與系統(tǒng)運(yùn)行階段。概念設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)屬于數(shù)據(jù)庫(kù)設(shè)計(jì)的【】階段。
22.函數(shù)delete(s,i,n)是作用是從字符串s中刪除從第i個(gè)字符開始的n個(gè)字符,請(qǐng)?zhí)羁铡?/p>
voiddelete(chars[],inti,intn)
{intj,k,length=0;
while(s[length])
【】;
-i;
j=i
}
if(【】)
{k=i+n;
if(i+n<=length)
while(k<length)
s[j++]=s[k++];
s[j]='\0';
}
23.以下程序的功能是:將輸入的正整數(shù)按逆序輸出。例如:若輸入135則輸出531。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{intn,s;
printf("Enteranumber:");scanf("%d",&n);
printf("Output:");
do
{s=n%10;printf("%d",s);【】;
}while(n!=0);
printf("\n");
}
24.在數(shù)據(jù)庫(kù)理論中,數(shù)據(jù)物理結(jié)構(gòu)的改變,如存儲(chǔ)設(shè)備的更換、物理存儲(chǔ)的更換、存取方式改變等都不影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),從而不引起應(yīng)用程序的變化,稱為______。
25.有一個(gè)已排好序的數(shù)組,今輸入一個(gè)數(shù),要求按原來(lái)的順序規(guī)律將它插入到數(shù)組中。算法是:假設(shè)排序順序是從小到大,對(duì)輸入的數(shù),檢查它在數(shù)組中哪個(gè)數(shù)之后,然后將比這個(gè)數(shù)大的數(shù)順序后移一個(gè)位置,在空出的位置上將該數(shù)插入。請(qǐng)?jiān)诔绦蛑械目瞻滋幪钌弦粭l語(yǔ)句或一個(gè)表達(dá)式。
#defineN100
main()
{floata[N+1],x;
inti,p;
for(i=0;i<N;i++)
scanf("%f"&a[i]);
scanf("%f",&x);
for(i=0,p=N;i<N;i++)
if(x<a[i])
{【】;
break;}
for(i=N-1;【】;i-)
a[i+1]=a[i];
a[p]=x;
for(i=0;【】;i++)
{printf("%8.2f",a[i]);
if(i%5=0)
printf("\n");
}
}
26.下面程序的輸出走【】。
main()
{enumem{em1=3,em2=1,em3};
char*aa[]={"AA","BB","CC","DD"};
printf("%s%s%s\n",aa[em1],aa[em2],aa[em3]);
}
27.在計(jì)算機(jī)領(lǐng)域中,通常用英文單詞“Byte'’表示【】。
28.在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過(guò)對(duì)象的______性來(lái)實(shí)現(xiàn)的。
29.有以下定義和語(yǔ)句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。
structdatc
{intday;
intmouth;
intyear:
union{intshare1;
floatshare2:
}share;
}a;
30.以下函數(shù)的功能是計(jì)算請(qǐng)?zhí)羁铡?/p>
doublefun(intn)
{doubles=0.0,fac=1.0;inti;
for(i=1;i<=n;i++)
{fac=fac【】;
s=s+fac;
}
returns;
}
31.#define命令出現(xiàn)在程序中函數(shù)的外面,宏名的有效范圍為______。
32.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{intp=30;
printf{"%d\n",(p/3>0?p/10:p%3)};
}
33.在長(zhǎng)度為n的線性表中查找一個(gè)表中不存在的元素,需要的比較次數(shù)為【】。
34.在數(shù)據(jù)庫(kù)理論中,數(shù)據(jù)物理結(jié)構(gòu)的改變,如存儲(chǔ)設(shè)備的更換、物理存儲(chǔ)的更換、存取方式等都不影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),從而不引起應(yīng)用程序的變化,稱為【】。
35.設(shè)有定義“stmct{inta;floatb;charc}abc,*p_abc=&abc;”,則對(duì)結(jié)構(gòu)體成員a的引用方法可以是abc.a和p_abc______。
36.以下函數(shù)用來(lái)求出2個(gè)整數(shù)之和,并通過(guò)形參將結(jié)果傳回。
voidfunc(intx,inty,【】z)
{*z=x+y;}
37.下面程序的輸出是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)
arr[i]=i;
for(i=1;i<4;i++)
k+=arr[i]+i;
printf("%d\n"k);}
38.以下程序中,函數(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
請(qǐng)?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);
}
39.冒泡排序算法在最好的情況下的元素交換次數(shù)為【】。
40.有以下程序
intsub(intn){retnrn(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.設(shè)已有定義:floatx;則以下對(duì)指針變量p進(jìn)行定義且賦初值的語(yǔ)句中正確的是A.float*p=1024;
B.int*p=(float)x;
C.floatp=&x;
D.float*P=&x;
42.以下數(shù)組定義中不正確的是______。
A.inta[2][3];
B.intb[][3]={0,1,2};
C.intc[100][100]{0};
D.intd[3][]={{1,2},{1,2,3},{1,2,3,}};
43.常采用的兩種存儲(chǔ)結(jié)構(gòu)是()。
A.順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)B.散列方法和索引方式C.鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組D.線性存儲(chǔ)結(jié)構(gòu)和非線性存儲(chǔ)結(jié)構(gòu)
44.若變量均已正確定義并賦值,以下合法的C語(yǔ)言賦值語(yǔ)句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
45.若有程序fun(inta,intb}{staticintc=0;c+=a+b;returnc;}main(){intx=5,y=3,z=7,r,r=fun(y,x+y),z);r=fun(xy);printf("%d\n",r);}上面程序的輸出結(jié)果是_____。
A.23B.15C.19D.18
46.若有下列說(shuō)明語(yǔ)句int(*p)();則標(biāo)識(shí)符p代表的是()
A.一個(gè)用于指向函數(shù)的指針變量,函數(shù)返回值的類型為int型
B.一個(gè)帶回值類型為整型的函數(shù)名
C.一個(gè)用于指向整型數(shù)據(jù)的指針變量
D.一個(gè)帶回值類型為指針類型的函數(shù)名
47.下列敘述中正確的是A.軟件測(cè)試的主要目的是發(fā)現(xiàn)程序中的錯(cuò)誤
B.軟件測(cè)試的主要目的是確定程序中錯(cuò)誤的位置
C.為了提高軟件測(cè)試的效率,最好由程序編制者自己來(lái)完成軟件測(cè)試的工作
D.軟件測(cè)試是證明軟件沒(méi)有錯(cuò)誤
48.若有說(shuō)明語(yǔ)句"inta;floatb;”,以下輸入語(yǔ)句正確的是()
A.scanf("%f%f",&a,&b);
B.scanf("%f%d",&a;&b);
C.scanf("%d,%f",&a,&b);
D.scanf("%6.2f%6.2f",&a,&b);
49.以下函數(shù)值的類型是_______。fun(floatx){floaty;y=3*x-4;returny;}
A.intB.不確定C.voidD.float
50.在C語(yǔ)言中,關(guān)于函數(shù)fseek的說(shuō)法正確的是()。
A.使位置指針重新返回文件的開頭
B.使位置指針到文件的結(jié)尾
C.可以改變文件位置指針
D.利用fseek函數(shù)只能實(shí)現(xiàn)文件順序讀寫
51.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的()。
A.存儲(chǔ)問(wèn)題B.共享問(wèn)題C.安全問(wèn)題D.保護(hù)問(wèn)題
52.下列選項(xiàng)中合法的賦值語(yǔ)句是()。
A.a=b=34B.a=34,b=34C.i-1;D.m=(int)(x+y);
53.若有說(shuō)明:inta[][3]={0,0};則不正確的敘述是()。
A.數(shù)組a的每個(gè)元素的初值都是0
B.數(shù)組a的第一維大小為1
C.數(shù)組a的行數(shù)為1
D.只有元素a[0Ⅱ0]和a10][1]可得到初值0,其余元素均得不到初值0
54.有以下程序:main(){chars[]="ABCD",*p;for(p=s+1;p<s+4;p++)printf("%s\n",p);}程序運(yùn)行后的輸出結(jié)果是()。
A.ABCDBCDCDDB.ABCDC.BCDD.BCDCDD
55.以下程序試圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符#時(shí)結(jié)束輸入和輸出操作,但程序有錯(cuò)。#include<stdio.h>main(){FILE*fout;charch;fout=fopen('abc.txt','W');ch=fgetc(stdin);while(ch!='#'){fputc(ch,fout);ch=fgetc(stdin);}fclose(fout);}出錯(cuò)的原因是()。
A.函數(shù)fopen調(diào)用形式錯(cuò)誤B.輸入文件沒(méi)有關(guān)閉C.函數(shù)fgetc調(diào)用形式錯(cuò)誤D.文件指針stdin沒(méi)有定義
56.以下不合法的用戶標(biāo)識(shí)符是()。
A.r3_t3B.ElseC.6aD._6
57.以下描述中正確的是
A.由于do-while循環(huán)中循環(huán)體語(yǔ)句只能是一條可執(zhí)行語(yǔ)句,所以循環(huán)體內(nèi)不能使用復(fù)合語(yǔ)句
B.do-while循環(huán)由d。開始,用while結(jié)束,在while(表達(dá)式)后面不能寫分號(hào)
C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進(jìn)行判斷
D.do-while循環(huán)中,根據(jù)情況可以省略while
58.設(shè)p1和p2是指向一個(gè)int型一維數(shù)組的指針變量,k為int型變量,則不能正確執(zhí)行的語(yǔ)句是
A.k=*p1+*p2B.p2=k;C.p1=p2;D.k=*p1*(*p2);
59.如果需要打開一個(gè)已經(jīng)存在的非空文件"Demo"進(jìn)行修改,下面選項(xiàng)中正確的是
A.fp=fopen("Demo","r");
B.fp=fopen("Demo","ab+");
C.fp=fopen("Demo","w+");
D.fp=fopen("Demo","r+");
60.下面關(guān)于數(shù)據(jù)庫(kù)三級(jí)模式結(jié)構(gòu)的敘述中,正確的是()
A.內(nèi)模式可以有多個(gè),外模式和模式只有一個(gè)
B.外模式可以有多個(gè),內(nèi)模式和模式只有一個(gè)
C.內(nèi)模式只有一個(gè),模式和外模式可以有多個(gè)
D.模式只有一個(gè),外模式和內(nèi)模式可以有多個(gè)
四、選擇題(20題)61.
62.若有定義:“inta[2][3];”,則對(duì)a數(shù)組的第i行第j列元素的正確引用為()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
63.if語(yǔ)句基本形式是:if(表達(dá)式)語(yǔ)句,以下關(guān)于“表達(dá)式”值的敘述中正確的是()。
A.必須是邏輯值B.必須是整數(shù)值C.必須是正數(shù)D.可以是任意合法的數(shù)值
64.
65.
66.
67.
68.以下程序運(yùn)行后的輸出結(jié)果是()。
#include<stdio.h>
main()
{inti;
for(i=1;i<=5;i++)
switch(i%5)
{case0:printf("*");break;
case1:printf("#");break;
default:printf("\n");
case2:printf("&");
}
}
A.B.#&C.#&D.&
**
&**
69.下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)原則的是()。
A.可封裝B.自頂向下C.模塊化D.逐步求精
70.有如下程序
#include"stdio.h"
fun(inta,intb)
{ints;
s=a*(b/4);
printf("%d\n",s);}
main()
{inta=16,b=10;
fun(a,b);
}
該程序的輸出結(jié)果是
A.16B.32
C.40D.80
71.常采用的兩種存儲(chǔ)結(jié)構(gòu)是()。
A.順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)B.散列方法和索引方式C.鏈表存儲(chǔ)結(jié)構(gòu)和數(shù)組D.線性存儲(chǔ)結(jié)構(gòu)和非線性存儲(chǔ)結(jié)構(gòu)
72.有以下程序:
執(zhí)行后輸出結(jié)果是()。
A.n,tuesdayB.d,mondayC.U,mondayD.0,wednesday
73.有以下程序程序的運(yùn)行結(jié)果是()。
A.123B.12300C.1D.321
74.
75.有以下程序:
voidfun2(chara,charb){printf(”%c%c”,a,b);}
chara='A',b='B';
voidfunl(){a='C';b='D';}
main()
{funl();
printf("%c%c",a,b);
fun2('E','F');
}
程序的運(yùn)行結(jié)果是()。A.A.CDEFB.ABEFC.ABCDD.CDAB
76.若變量a、i已正確定義,且i已正確賦值,合法的語(yǔ)句是()。
A.a==lB.++iC.a=a++=5D.a=int(i)
77.
78.
79.
80.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:將字符串str中的所有字符復(fù)制到字符串b中,要求在每復(fù)制3個(gè)字符之后插入1個(gè)空格。例如,在調(diào)用proc()函數(shù)之前給字符
串str輸入abcdefghijk,調(diào)用函數(shù)之后,字符串b中的內(nèi)容則為abcdefghijk。
請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編一個(gè)函數(shù)voidproc(intttEM][N],intpp[N]),tt指向一個(gè)M行N列的二維數(shù)組,求出二維數(shù)組每行中最大元素,并依次放入pp所指的一維數(shù)組中。二維數(shù)組中的數(shù)已在主函數(shù)中給出。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:#include<stdio.h>#include<conio.h>#include<stdlib.h>#defineM3#defineN4voidproc(intttrM3rN]。intpp[N]){ }voidmain{intstr[M][N]={{34,56,84,78},{23,84,93,12),{28,38,39,93}};intp[N],i,j,k;system("CLS");printf("Theriginaldatais:\n");for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%6d",str[i][j]);printf("\n");}proc(str,p);printf("\nTheresultis:\n");for(k=0:k<M;k++)printf("%4d",p[k]);printf("n");}
參考答案
1.A“sizeof(FILE*)=4”,因?yàn)椤癴ile*”為指針,指針變量占用字節(jié)數(shù)為4,所以“sizeof(int*)=4”,選項(xiàng)A正確。文件指針的值是地址,是一個(gè)十六進(jìn)制數(shù),它的值不一定小于文件字節(jié)數(shù),因此選項(xiàng)B錯(cuò)誤。文件指針是所指文件的當(dāng)前讀取位置,而不是文件指針的值,因此選項(xiàng)C錯(cuò)誤。“intfscanf(FILE*Stream,constchar*format,[argument...]);”,fScanf函數(shù)可以向任意類型的文件寫入任意數(shù)量的數(shù)據(jù)(不能超過(guò)系統(tǒng)的緩沖區(qū)),寫文件先寫入緩沖區(qū),最后一起寫入文件,因此選項(xiàng)D錯(cuò)誤。故本題答案為A選項(xiàng)。
2.B
3.B
\n本題中要求輸出右上半角的數(shù),對(duì)角線上的數(shù)的下標(biāo)相同,所以j=i。
\n
4.D首先定義了一個(gè)指向一維數(shù)組b的指針P,一個(gè)指向指針P的指針變量q;輸出*(p++)是先輸出*p,即b[O]的值,再將指針P指向數(shù)組的下一個(gè)元素b[1];輸出**q是輸出指針P所指單元的內(nèi)容。
5.B指針是用來(lái)存放地址的變量,定義指針變量的形式為:類型名*指針變量名。賦值時(shí)應(yīng)將某個(gè)變量地址,如選項(xiàng)B中變量x的地址&x賦給指針變量。故本題答案為B選項(xiàng)。
6.A
7.C解析:當(dāng)p指向s數(shù)組的首地址時(shí),表示數(shù)組元素s[i]的表達(dá)式應(yīng)當(dāng)有:①s[i],②,(s+i),③*(p+i),④p[i]四種形式。選項(xiàng)C)錯(cuò)誤的原因是,數(shù)組的地址是不可變的,指針的地址是可以變的。
8.A解析:本題考查邏輯與運(yùn)算符&&。在C語(yǔ)言中使用運(yùn)算符“&&”連接兩個(gè)表達(dá)式,也可以表示邏輯與運(yùn)算符。在C語(yǔ)言中不允許出現(xiàn)a<=b<=c這種格式。
9.A
10.D解析:結(jié)構(gòu)體structureworkers中的成員s是結(jié)構(gòu)體類型,給w中成員year賦值的語(yǔ)句是w.s.year=1980,故選D。
11.DCIN為結(jié)構(gòu)體類型名,而不是結(jié)構(gòu)體變量。故本題答案為D選項(xiàng)。
12.B
13.C解析:外部變量在編譯時(shí)由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動(dòng)存儲(chǔ)類別。
14.C
15.A解析:對(duì)線性表進(jìn)行二分法檢索,要求線性表是按順序方式存儲(chǔ)的,并按關(guān)鍵碼值的大小排好序,而不是按關(guān)鍵碼的檢索頻率排序。
16.B先將int型數(shù)據(jù)9強(qiáng)制轉(zhuǎn)換成double型,然后除以2,得到的結(jié)果與double型保持一致,即4.5;然后將4.5強(qiáng)制轉(zhuǎn)換成int型數(shù)據(jù)4,再計(jì)算9%2的值為1;最后計(jì)算4-1的值為3。故本題答案為B選項(xiàng)。
17.A本題考查的是數(shù)組和函數(shù)。sum()函數(shù)接收一個(gè)int型數(shù)組作參數(shù),也可以把它看作是一個(gè)int型指針,語(yǔ)句a[0]=a[*1)+a(比的意思就是將參數(shù)指針指向內(nèi)容的前一個(gè)元素和后一個(gè)元素的值相加放到指針?biāo)傅奈恢茫虼?,主函?shù)中調(diào)用sum(&a[2]);的意思就是讓a[2]=a[1]+a[3];,所以最后輸出的結(jié)果是6。應(yīng)該選擇A。
18.BB)【解析】在具有11個(gè)結(jié)點(diǎn)的滿二叉樹,其非葉子結(jié)點(diǎn)數(shù)為int(n/2),而葉子結(jié)點(diǎn)數(shù)等于總結(jié)點(diǎn)數(shù)減去葉子結(jié)點(diǎn)數(shù)。本題n=15,故非葉子結(jié)點(diǎn)數(shù)等于int(15/2)=7,葉子結(jié)點(diǎn)數(shù)等于15-7=8。
19.B
20.B
21.系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)解析:系統(tǒng)設(shè)計(jì)階段是系統(tǒng)的具體設(shè)計(jì)過(guò)程,主要包括概念設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)3個(gè)步驟。這3個(gè)不同層次上的設(shè)計(jì)過(guò)程,是把實(shí)體以及相互之間的聯(lián)系轉(zhuǎn)換為“數(shù)據(jù)”并落實(shí)于計(jì)算機(jī)中。
22.length++i<lengthlength++\r\ni<length解析:第一個(gè)循環(huán)極有可能是計(jì)算串的長(zhǎng)度,在i<=length時(shí)字符才被刪除,被刪除的是從第i個(gè)到第i+n或最后一個(gè)間的所有字符。刪除前,應(yīng)判斷i<=length。由于已經(jīng)進(jìn)行了-i運(yùn)算,故實(shí)際應(yīng)填入i<length。
23.n/=10或n=n/10n/=10或n=n/10解析:每次循環(huán)把n除以10所得的商賦給n。
24.物理獨(dú)立性物理獨(dú)立性解析:數(shù)據(jù)的物理結(jié)構(gòu)改變,不影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),從而不引起應(yīng)用程序的變化,這種性質(zhì)叫做物理獨(dú)立性。
25.p=i;i>=pi<=Np=i;\r\ni>=p\r\ni<=N解析:本題主要考查了插入排序。由于程序中的數(shù)組在開始己經(jīng)按從小到大順序排序排好。在插入時(shí),首先要查到第一個(gè)大于恃插入數(shù)的數(shù)組下標(biāo),即當(dāng)待插入元素小于數(shù)組中當(dāng)前元素時(shí),記下數(shù)組的當(dāng)前下標(biāo)p,并結(jié)束循環(huán),故第一空目的是為了記下數(shù)組下標(biāo),應(yīng)填p=i;插入排序的第二部是將大于待插入元素的所有元素都向后移動(dòng)—位,故在循環(huán)時(shí),要從最后一個(gè)元素到第p個(gè)元素都要后移一位,因此第二空應(yīng)填>i=p。最后一個(gè)循環(huán)是將N+1個(gè)元素都輸出,故最后一空應(yīng)為i<=N。(注:本題有多種答案,以上僅提供一種)
26.DDBBCCDDBBCC解析:C語(yǔ)言對(duì)枚舉的定義規(guī)定:在枚舉中聲明的各個(gè)枚舉元素,如果沒(méi)有明確指出某個(gè)枚舉元素的值,它的上一個(gè)元素存在并有明確值的情況下,這個(gè)枚舉元素的值為其上一個(gè)元素的值+1。在本題中,沒(méi)有明確說(shuō)明枚舉元素em3的值,則em3=em2+1=1+1=2,進(jìn)而可知,在printf()打印函數(shù)中,要打印的數(shù)組元素是aa[3]、aa[1]、aa[2],因此最后的打印結(jié)果應(yīng)當(dāng)為“DDBBCC”。
27.字節(jié)字節(jié)
28.封裝封裝
29.10410\r\n4解析:結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和。每個(gè)成員分別占有其自己的內(nèi)存單元。int占2個(gè)字節(jié),float占4個(gè)字節(jié),共用體變量所占的內(nèi)存長(zhǎng)度等于最長(zhǎng)的成員的長(zhǎng)度。所以,sizeof(a.share)的值是4,sizeof(A)的值是2+2+2+4=10。
30./i或*(1.O/i)或/(double)i/i或*(1.O/i)或/(double)i解析:主函數(shù)中首先定義了兩個(gè)double型的變量s和fac,并給它們賦初值為0.0和1.0,在函數(shù)中s和fac的作用是存放和以及要加到的那一項(xiàng)的值。通過(guò)分析可知,第i項(xiàng)的值可以由第i-1項(xiàng)的值得到,即第i項(xiàng)是第i-1項(xiàng)的值除以i??梢姍M線處應(yīng)添“/i”或與它等價(jià)的表達(dá)式。
31.從定義到本源文件結(jié)束從定義到本源文件結(jié)束解析:C語(yǔ)言規(guī)定,宏名的有效范圍為從定義宏到本源程序結(jié)束。
32.33解析:本題考核的知識(shí)點(diǎn)是條件運(yùn)算符的運(yùn)用。三目運(yùn)算表達(dá)式的規(guī)則為如果“?”前面表達(dá)式的值為真,則取“:”前的表達(dá)式的值,否則,取“:”后面表達(dá)式的值。又由于條件運(yùn)算符的結(jié)合方向是自右向左的,所以在本試題中,先計(jì)算表達(dá)式中p%3,該值為0,在計(jì)算表達(dá)式P/10其值為3,最后計(jì)算表達(dá)式p/3該值為10.所以此表達(dá)式等價(jià)于“10?3:0”,顯然取“:”前的僵為3,所以最后輸出的值為3。
33.nn解析:在長(zhǎng)度為n的線性表中查找一個(gè)表中不存在的元素,需要的比較次數(shù)為n。
34.物理獨(dú)立性物理獨(dú)立性解析:數(shù)據(jù)的物理結(jié)構(gòu)改變,不影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),從而不引起應(yīng)用程序的變化,這種性質(zhì)叫做物理獨(dú)立性。
35.若結(jié)構(gòu)體變量abc有成員a,并有指針p_abc指向結(jié)構(gòu)變量abe,則引用變量abe成員s的標(biāo)記形式有abe.a和p_abc->a。
36.int*
37.1212解析:本題通過(guò)第一個(gè)for循坪將數(shù)組arr[0]-arr[9]分別賦值為0-9,通過(guò)第二個(gè)for循環(huán)的三次循環(huán)累加,求出結(jié)果為12,具體分析如下:
i=1:k=0+arr[1]+1即k=2;
i=2:k=2+arr[2]+2即k=6;
i=3:k=6+arr[3]+3即k=12;
38.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。
39.0
40.1010解析:本題程序中定義了一個(gè)函數(shù)sub(),用來(lái)計(jì)算一個(gè)整數(shù)整除10的商和余數(shù)的和。在主函數(shù)中,首先用scanf()函數(shù)讀入一個(gè)十進(jìn)制整數(shù)1234,然后對(duì)1234三次嵌套調(diào)用函數(shù)svb()。首先看最里層的調(diào)用,應(yīng)該返回的值是123+4=127;然后中間一層調(diào)用應(yīng)該返回的是12+7=19;所以最外層調(diào)用返回1+9=10。故最后輸出10。
41.D解析:指針指向的是變量的地址而不是常量,所以選項(xiàng)A是錯(cuò)誤的;選項(xiàng)B同樣是將float類型變量的值賦給指針而不是地址,所以選項(xiàng)B也是錯(cuò)誤的。定義指針變量前面必須有星號(hào)(*),如果省略了就變成了把p定義為實(shí)型變量,所以選項(xiàng)C不正確。
42.D解析:一維數(shù)組的定義方式為:
類型說(shuō)明符數(shù)組名[常量表達(dá)式];
選項(xiàng)A符合此定義形式,正確;C語(yǔ)言中多維數(shù)組賦初值時(shí)可以部分賦值,也可以不指定除第一維以外的其他維的大小,故選項(xiàng)C正確;另外,如果對(duì)全部數(shù)組元素都賦初值,則定義數(shù)組時(shí)對(duì)第一維的長(zhǎng)度可以不指定,但第二維的長(zhǎng)度不能省,所以選項(xiàng)B正確,而選項(xiàng)D是錯(cuò)誤的。
43.AA。【解析】線性表的存儲(chǔ)通常分為兩種存儲(chǔ)結(jié)構(gòu):順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
\n
44.AB選項(xiàng)中運(yùn)算符“%”的運(yùn)算對(duì)象為整數(shù)。C選項(xiàng)中不能將變量賦給表達(dá)式“x+n”。D選項(xiàng)中不能將表達(dá)式“4+1”賦給常量5。故本題答案為A選項(xiàng)。
45.A解析:static聲明的外部變量只限于彼本文件引用,而不能被其他文件引用。用static來(lái)聲明一個(gè)變量的作用有:①對(duì)局部變量用static聲明,則為該變量分配的空間在整個(gè)程序執(zhí)行期間始終存在;②全部變量用static聲明,則該變量的作用域只限于本文件模塊(即被聲明的文件中)。調(diào)用第一個(gè)fun,其兩個(gè)實(shí)參的值為(3,5+3)與7即8與7,在函數(shù)fun執(zhí)行結(jié)束返回15。第二次調(diào)用fun時(shí),由于static為靜態(tài)類型,其值保留,執(zhí)行fun(5,3)后,其返回值為23,故選A。
46.A
47.A解析:本題考查軟件工程中測(cè)試的目的和方法。僅就軟件測(cè)試而言,它的目的是發(fā)現(xiàn)軟件的中的錯(cuò)誤,但是,發(fā)現(xiàn)錯(cuò)誤并不是最終目的,最終目的是通過(guò)測(cè)試發(fā)現(xiàn)錯(cuò)誤之后還必須診斷并改正錯(cuò)誤,這就是調(diào)試的目的。
由于測(cè)試的目標(biāo)是暴露程序中的錯(cuò)誤,從心理學(xué)角度看,由程序的編寫者自己進(jìn)行測(cè)試是不恰當(dāng)?shù)摹R虼?,在軟件測(cè)試階段通常由其他人員組成測(cè)試小組來(lái)完成測(cè)試工作。因此,經(jīng)過(guò)上述分析可知選項(xiàng)A的說(shuō)法是正確的,而選項(xiàng)B、C、D的說(shuō)法是錯(cuò)誤的。
48.C解析:說(shuō)明語(yǔ)句中變量a為整型,變量b為實(shí)型。選項(xiàng)A、B和D的格式控制中變量a的格式描述符為f,與定義的變量類型不符,故選項(xiàng)A、B和D錯(cuò)誤。
49.A解析:函數(shù)定義時(shí)如果數(shù)據(jù)類型默認(rèn),則默認(rèn)為int。函數(shù)中如果有“retum(表達(dá)式):”語(yǔ)句,表達(dá)式的類型可能與函數(shù)的類型不一致,但它并不能改變函數(shù)的類型,實(shí)際情況是把表達(dá)式轉(zhuǎn)換為函數(shù)值的類型作為返回值,因此本題的函數(shù)值類型是int。
50.C解析:fseek()函數(shù)可以自由的改變文件位置指針的位置,即可以自由讀寫文件中的任何位置,故選項(xiàng)A、B、D都是錯(cuò)誤的,應(yīng)該選擇C。
51.B解析:數(shù)據(jù)庫(kù)產(chǎn)生的背景就是計(jì)算機(jī)的應(yīng)用范圍越來(lái)越廣泛,數(shù)據(jù)量急劇增加,對(duì)數(shù)據(jù)共享的要求越來(lái)越高。共享的含義是多個(gè)用戶、多種語(yǔ)言、多個(gè)應(yīng)用程序相互覆蓋的使用一些公用的數(shù)據(jù)集合。在這樣的背景下,為了滿足多用戶、多應(yīng)用共,享數(shù)據(jù)的要求,就出現(xiàn)了數(shù)據(jù)庫(kù)技術(shù),以便對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理。因此,數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)就是解決數(shù)據(jù)的共享問(wèn)題。故選項(xiàng)B正確。
52.D解析:選項(xiàng)A)是一個(gè)合法的賦值表達(dá)式,但結(jié)尾沒(méi)加分號(hào),所以它不是一個(gè)賦值語(yǔ)句;選項(xiàng)B)是一個(gè)逗號(hào)表達(dá)式,也因?yàn)榻Y(jié)尾沒(méi)有加分號(hào)而不是合法的賦值語(yǔ)句,選項(xiàng)C)是一個(gè)算術(shù)表達(dá)式,雖然有分號(hào),但這個(gè)表達(dá)式?jīng)]有賦值操作,因此,也不是一條賦值語(yǔ)句。
53.D解析:本題考查給二維數(shù)組元素賦值。給二維數(shù)組元素賦值時(shí)應(yīng)注意兩點(diǎn):①在對(duì)二維數(shù)組元素賦初值時(shí),可以只對(duì)部分元素賦初值,未賦初值的元素自動(dòng)取0。②二維數(shù)組第一維的大小由如下規(guī)則確定:當(dāng)初值的個(gè)數(shù)能被第二維的常量表達(dá)式的值除盡時(shí),所得商數(shù)就是第一維的大小;當(dāng)初值的個(gè)數(shù)不能被第二維的常量表達(dá)式的值除盡時(shí),第一維的大小等于所得商數(shù)加1。
54.D解析:本題中首先定義一個(gè)字符數(shù)組s,并將字符串'ABCD'存到數(shù)組s中,定義了一個(gè)字符指針變量p,在接下來(lái)for循環(huán)中,循環(huán)體共執(zhí)行了三次,第一次p指向s[1],所以此時(shí)輸出的p所指字符串的值為BCD,第二次循環(huán)p指向s[2],此時(shí)輸出p所指的字符串的值為CD,第三次循環(huán)p指向s[3],此時(shí)輸出的p所指的字符串的值為D。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
55.A解析:stdin是標(biāo)準(zhǔn)輸入設(shè)備的文件指針,不須定義直接可以使用,它隨系統(tǒng)的啟動(dòng)而打開,隨系統(tǒng)的關(guān)閉而關(guān)閉,fgetc()函數(shù)的作用是從某個(gè)文件中讀取一個(gè)數(shù)據(jù),其參數(shù)為要讀取文件的文件指針,所以本題中的調(diào)用形式是正確的。fopen()函數(shù)有兩個(gè)參數(shù),第一個(gè)參數(shù)是打開的文件名,第二個(gè)參數(shù)是文件打開模式,兩個(gè)參數(shù)都是字符串,本例中“fout=fopen(\'abc.txt\',\'w\');”語(yǔ)句的fopen()函數(shù)參數(shù)是錯(cuò)誤的,應(yīng)該用雙引號(hào)'',正確的應(yīng)改為“fout=fopen('abc.txt','w');”。所以,A選項(xiàng)為所選。
56.C解析:此題考查的是標(biāo)識(shí)符的概念。標(biāo)識(shí)符是由字母、數(shù)字或下劃線組成的,而且第一個(gè)字符必須字母或下劃線,且標(biāo)識(shí)符區(qū)分大小寫。
57.C解析:do-while語(yǔ)句的一般形式為:do循環(huán)體語(yǔ)句while(表達(dá)式);,其中循環(huán)體語(yǔ)句可以是復(fù)合型語(yǔ)句,但必須用花括號(hào)括起來(lái)。while后必須要有分號(hào)作為語(yǔ)句的結(jié)束,在do-while循環(huán)中,不可以省略while。
58.B解析:本題主要考查了一維數(shù)組指針的賦值和用指針引用數(shù)組元素進(jìn)行運(yùn)算。選項(xiàng)B)中p2為指向int型變量的指針。而k為int型變量,不能將int型變量直接賦值給指向int型變量的指針,所以選項(xiàng)B)錯(cuò)誤。
59.D解析:此題考查文件打開方式對(duì)文件操作的影響。由于打開文件進(jìn)行修改,可見選項(xiàng)A)是錯(cuò)誤的,因?yàn)榇朔N方式打開時(shí),只能讀,不能寫,當(dāng)然無(wú)法修改;選項(xiàng)B)是以追加方式'ab+'打開文件讀寫,以這種方式打開時(shí),新寫入的數(shù)據(jù)只能追加在文件原有內(nèi)容之后,
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 河北電線電纜橋架施工方案
- 臨床護(hù)理不良事件案例分享
- 曲陽(yáng)路面鵝卵石施工方案
- 上海日播至勝實(shí)業(yè)有限公司股權(quán)估值項(xiàng)目估值報(bào)告
- 北方古建筑屋頂施工方案
- 陜西節(jié)日彩燈設(shè)計(jì)施工方案
- 地面混凝土施工方案圖例
- 2025年乳味飲品項(xiàng)目發(fā)展計(jì)劃
- 公眾參與與環(huán)保意識(shí)的提升分析
- 低空經(jīng)濟(jì)公司技術(shù)開發(fā)與創(chuàng)新策略
- 2023年10月自考試題00840第二外語(yǔ)(日語(yǔ))
- 農(nóng)產(chǎn)品市場(chǎng)營(yíng)銷中的市場(chǎng)競(jìng)爭(zhēng)分析
- 了解滑雪:滑雪器材與滑雪的技巧
- 也是冬天也是春天:升級(jí)彩插版
- 報(bào)價(jià)單模板完
- 【某醫(yī)療美容機(jī)構(gòu)營(yíng)銷策略現(xiàn)狀、問(wèn)題及優(yōu)化建議分析6300字】
- 關(guān)于tiktok的英語(yǔ)新聞
- 圖形的放大與縮小說(shuō)課稿
- 技術(shù)核定單(示范文本)
- 關(guān)于外委單位工作情況的報(bào)告
- 吉林大學(xué)汽車設(shè)計(jì)期末考試復(fù)習(xí)資料高等教育
評(píng)論
0/150
提交評(píng)論