![2022-2023年福建省寧德市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第1頁(yè)](http://file4.renrendoc.com/view/c66ca0bb25d96bbda79cf4a994635726/c66ca0bb25d96bbda79cf4a9946357261.gif)
![2022-2023年福建省寧德市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第2頁(yè)](http://file4.renrendoc.com/view/c66ca0bb25d96bbda79cf4a994635726/c66ca0bb25d96bbda79cf4a9946357262.gif)
![2022-2023年福建省寧德市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第3頁(yè)](http://file4.renrendoc.com/view/c66ca0bb25d96bbda79cf4a994635726/c66ca0bb25d96bbda79cf4a9946357263.gif)
![2022-2023年福建省寧德市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第4頁(yè)](http://file4.renrendoc.com/view/c66ca0bb25d96bbda79cf4a994635726/c66ca0bb25d96bbda79cf4a9946357264.gif)
![2022-2023年福建省寧德市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)_第5頁(yè)](http://file4.renrendoc.com/view/c66ca0bb25d96bbda79cf4a994635726/c66ca0bb25d96bbda79cf4a9946357265.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022-2023年福建省寧德市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.設(shè)整型數(shù)i=5,則printf("%d",i+++++i);的輸出為_(kāi)_____。
A.10B.11C.12D.語(yǔ)法錯(cuò)誤
2.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.10B.40C.32D.8
3.以下程序運(yùn)行后的輸出結(jié)果是()。
A.1,2,3,1,5,9,
B.1,3,5,1,3,5,
C.1,3,5,0,d,8,
D.1,3,5,-1,3,7,
4.以下程序的輸出結(jié)果是______。#defineM(x,y,z)x*y+zmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}
A.19B.17C.15D.12
5.設(shè)有如下定義:structsk{inta;floatb;}data;int*p;若要使p指向data中的a域,正確的賦值語(yǔ)句是()
A.p=&a;B.p=data.a;C.p=&data.a,D.*p=data.a;
6.下列描述中不正確的是()。
A.字符型數(shù)組中可能存放字符串。
B.可以對(duì)字符型數(shù)組進(jìn)行整體輸入、輸出。
C.可以對(duì)整型數(shù)組進(jìn)行整體輸入、輸出。
D.不能在賦值語(yǔ)句中通過(guò)賦值運(yùn)算符“=”對(duì)字符型數(shù)組進(jìn)行整體賦值。
7.
8.設(shè)有宏定義“#defineIsDIV(k,n)((k%n==1)?1:0)”,且變量m已正確定義并賦值,則宏調(diào)用“IsDIV(m,5)&&IsDIV(m,7)”為真時(shí)所要表達(dá)的是()。
A.判斷m是否能被5和7整除
B.判斷m被5和7整除是否都余1
C.判斷m被5或者7整除是否余1
D.判斷m是否能被5或者7整除
9.設(shè)有定義:structcomplex{intreal,unreal;}data1={1,8},data2;則下列賦值語(yǔ)句中錯(cuò)誤的是()。
A.data2=(2,6);
B.data2=data1;
C.data2.real=data1.real;
D.data2.real=data1.unreal;
10.有以下程序:main{chara=a,b;printf("%c,",++a);printf("%c\n",b=a++):)程序運(yùn)行后的輸出結(jié)果是()。A.b,bB.b,cC.a,bD.a,c
11.帶頭結(jié)點(diǎn)的單鏈表head為空的判定條件是()。
A.head=NULLB.head→next=NULLC.head→next=headD.head!=NULL
12.由權(quán)值分別為3,8,6,2,5的葉子結(jié)點(diǎn)生成一棵哈夫曼樹(shù),它的帶權(quán)路徑長(zhǎng)度為_(kāi)_______。
A.24B.48C.72D.53
13.
14.一個(gè)關(guān)系中屬性個(gè)數(shù)為1時(shí),稱(chēng)此關(guān)系為()。
A.對(duì)應(yīng)關(guān)系B.單一關(guān)系C.一元關(guān)系D.二元關(guān)系
15.設(shè)二叉樹(shù)的中序序列為BCDA,前序序列為ABCD,則后序序列為()。
A.CBDAB.DCBAC.BCDAD.ACDB
16.有以下函數(shù)char*fun(char*p){returnp;}該函數(shù)的返回值是______。
A.無(wú)確切的值B.形參p中存放的地址值C.一個(gè)臨時(shí)存儲(chǔ)單元的地址D.形參p自身的地址值
17.執(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
18.若在線性表中采用折半查找法查找元素,該線性表應(yīng)該()A.元素按值有序B.構(gòu)采用順序存儲(chǔ)結(jié)C.元素按值有序且采用順序存儲(chǔ)結(jié)構(gòu)D.元素按值有序且采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
19.
20.以下程序的輸出結(jié)果是()。main(){inta[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%d\n",s);}A.18B.19C.20D.21
二、2.填空題(20題)21.在數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是【】。
22.數(shù)據(jù)字典是各類(lèi)數(shù)據(jù)描述的集合,它通常包括5個(gè)部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過(guò)程。
23.______是數(shù)據(jù)庫(kù)應(yīng)用的核心。
24.二分法查找僅限于這樣的表:表中的數(shù)據(jù)元素必須有序,其存儲(chǔ)結(jié)構(gòu)必須是______。
25.執(zhí)行以下程序后的輸出結(jié)果是【】。
main()
{inta=10;
a=(3*5,a+4);printf("a=%d\n",a);
}
26.一棵二叉樹(shù)第六層(根結(jié)點(diǎn)為第一層)的結(jié)點(diǎn)數(shù)最多為_(kāi)_____個(gè)。
27.下列程序的輸出結(jié)果是______。
main()
{inta=1,b=2,c=3,t=0;
if(a<B){t=a;a=b;b=t;}
if(a<C){t=a;a=c;c=t;}
printf("%d,%d,%d\n",a,b,C);
}
28.以下程序的作用是:從名為filea.dat的文本文件中逐個(gè)讀入字符并顯示在屏幕上。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{FILE*fp;charch;
fp=fopen(【】);
ch=fgetc(fp);
while(!feof(fp)){putchar(ch);ch=fgetc(fp);}
putchar('\n');fclose(fp);
}
29.在數(shù)據(jù)庫(kù)理論中,數(shù)據(jù)庫(kù)總體邏輯結(jié)構(gòu)的改變,如修改數(shù)據(jù)模式、增加新的數(shù)據(jù)類(lèi)型、改變數(shù)據(jù)間聯(lián)系等,不需要修改相應(yīng)的應(yīng)用程序,稱(chēng)為【】。
30.在面向?qū)ο蠓椒ㄖ?,?lèi)之間共享屬性和方法的機(jī)制稱(chēng)為_(kāi)_____。
31.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{FILE*fp;inta[10]={1,2,3,0,0},i;
fp=fopen("d2.dat","wb");
fwtite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i++)printf("%d",a[i]);
}
32.下面程序的運(yùn)行結(jié)果是:【】。
fun(intt[],intn)
{inti,m;
if(n==1)returnt[0];
elseif(n>=2){m=fun(t,n-1);returnm;}
}
main()
{inta[]={11,4,6,3,8,2,3,5,9,2};
printf("%d\n",fun(a,10));
}
33.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于【】。
34.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inti,j,a[][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)a[j][i]=0;
for(i=0;i<3;i++)
{for(j=0;j<3;j++)printf("%d",a[i][j]);
printf("\n");
}
}
35.下述函數(shù)用于統(tǒng)計(jì)一行字符中的單詞個(gè)數(shù),單詞之間用空格分隔。
word_num(str)
for(i=0;str[i]!=【】;i++)
if(【】='')word=0;
【】;
}
return(num);
}
36.深度為5的滿二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為_(kāi)_____。
37.一個(gè)模塊直接調(diào)用的其他模塊的模塊個(gè)數(shù)稱(chēng)為_(kāi)_____。
38.某二叉樹(shù)中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹(shù)中有【】個(gè)葉子結(jié)點(diǎn)。
39.【】是從二維表列的方向進(jìn)行的運(yùn)算。
40.下面的程序可對(duì)指定字符串進(jìn)行從大到小排序,請(qǐng)將程序填完整。(注:程序采用了冒泡排序算法)
#include<stdio.h>
#include<string.h>
main()
{char*str="ABCDabcd",temp;
intn,i;
n=strlen(str);
while(n->1)
for(i=0;i<n;i++)
if(str[i]<str[i+1])
{temp=【】;
str[i]=str[i+1];
【】=temp;
}
printf(【】);
}
三、1.選擇題(20題)41.有如下程序main(){floatx=2.0,y;if(x<0.0)y=0.0;elseif(x<10.0)y=1.0/x;elsey=1.0;printf("%f\n",y);}該程序輸出結(jié)果是______。
A.0B.0.25C.0.5D.1
42.下面一組中都是C語(yǔ)言關(guān)鍵字的是______。
A.doubleIntfor
B.mainwhilegoto
C.volatilebreakstatic
D.mallocsizeofnew
43.若要說(shuō)明一個(gè)類(lèi)型名STP,使得定義語(yǔ)句STP軋等價(jià)于char*s;,以下選項(xiàng)中正確的是()。
A.typedefSTPchar*s;
B.typedef*charSTP;
C.typedefSTP*char;
D.typedefchar*STP;
44.有如下程序main(){chars[]="ABCD",*p;for(p=s+1;p<s+4;p++)printf("%s\n",p);}該程序的輸出結(jié)果是
A.ABCDBCDCDDB.ABCDC.BCDD.BCDCDD
45.以下各選項(xiàng)企圖說(shuō)明一種新的類(lèi)型名,其中正確的是______。
A.typedefv1int;
B.typedefv2=int;
C.typedefintv3;
D.typedefv4:int
46.下列敘述錯(cuò)誤的是()。
A.在C語(yǔ)言中的保留字必須小寫(xiě)
B.變量的存儲(chǔ)類(lèi)型決定了變量的存儲(chǔ)位置及其生存期
C.宏定義以#define開(kāi)頭,行末必須加分號(hào)
D.在C語(yǔ)言中的注釋行可以出現(xiàn)在程序的任何位置
47.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成________。
A.屬性B.關(guān)系C.鍵D.域
48.一顆二叉樹(shù)中共有70個(gè)葉子節(jié)點(diǎn)與80個(gè)度為1的節(jié)點(diǎn),則二叉樹(shù)的總節(jié)點(diǎn)數(shù)為()。
A.219B.221C.229D.231
49.下列敘述中,不屬于結(jié)構(gòu)化分析方法的是()。A.A.面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法
B.面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法
C.面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開(kāi)發(fā)方法
D.面向?qū)ο蟮姆治龇椒?/p>
50.分析下面的程序main(){int*p1,*p2,*p;intx=4,y=6;p1=&x;p2=&y;if(x<y){p=p1;p1=p2;p2=p;}printf("%d,%d,",*p1,*p2);printf("%d,%d\n",x,y);}程序的輸出結(jié)果為_(kāi)______。
A.6,4,4,6B.4,6,6,4C.4,6,4,6D.6,4,6,4
51.若有以下定義和語(yǔ)句,則輸出結(jié)果是______。intu=010,v=0x10,w=10;printf("%d,%d,%d\n,u,v,w);
A.8,16,10B.10,10,10C.8,8,10D.8,10,10
52.C語(yǔ)言規(guī)定,在一個(gè)C程序中,main()函數(shù)的位置()。
A.必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)之后B.必須在程序的開(kāi)始C.必須在程序的最后D.可以在任意位置
53.為了使模塊盡可能獨(dú)立,要求()。
A.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量強(qiáng)
B.模塊的內(nèi)聚程度要盡量高,且各模塊間的耦合程度要盡量弱
C.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量弱
D.模塊的內(nèi)聚程度要盡量低,且各模塊間的耦合程度要盡量強(qiáng)
54.請(qǐng)讀程序段:charstr[]="ABCD",*p=strprint("%d\n",*(p+4));程序段的輸出結(jié)果是______。
A.68B.OC.字符'D'的地址D.不確定的值
55.有下列程序段:typedefstructNODE{intnum;structNODE*next;}OLD;下列敘述中正確的是()。
A.以上的說(shuō)明形式非法B.NODE是一個(gè)結(jié)構(gòu)體類(lèi)型C.OLD是一個(gè)結(jié)構(gòu)體類(lèi)型D.OLD是一個(gè)結(jié)構(gòu)體變量
56.下面程序輸出的結(jié)果是
main()
{inti;
inta[3][3]={1,2,3,4,5,6,7,8,9};
for(i=0;i<3;i++)
printf("%d",a[2-i][i]);}
A.159B.753C.357D.591
57.簡(jiǎn)單的交換排序方法是()。
A.快速排序B.選擇排序C.堆排序D.冒泡排序
58.設(shè)有定義:char*c;,以下選項(xiàng)中能夠使字符型指針c正確指向一個(gè)字符串的是()。
A.charstr[]="string";c=str;
B.scanf("%s",C);
C.c=getchar();
D.charstr[]="string";strcpy("C,str")
59.下列敘述中正確的是______。
A.C程序中注釋部分可以出現(xiàn)在程序中任何合適的地方
B.花括號(hào)""{""和""}""只能作為函數(shù)體的定界符
C.構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名
D.分號(hào)是C語(yǔ)句之間的分隔符,不是語(yǔ)句的一部分
60.有以下程序段main(){chara[7]="abcdef";charb[4]="ABC";strcpy(a,b);printf("%c",a[5]);}程序段運(yùn)行后的輸出結(jié)果是()
A.aB.\0C.eD.f
四、選擇題(20題)61.以下程序運(yùn)行后的輸出結(jié)果是()。
A.123B.234C.223D.233
62.
有下列程序段:
intn,t=1,S=0;
scanf("%d",&n);
do{s=s+t;t=t-2;while(t!=n);
為使此程序段不陷入循環(huán),從鍵盤(pán)輸入的數(shù)據(jù)應(yīng)該是()。
A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)
63.
64.有以下程序:
#include<stdi0.h>
main()
{inta=1,b=2;
for(;a<8;a++){b+=a;a+=2;)
printf("%d,%d\n",a,b);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.9,18
B.8,11
C.7,11
D.10,14
65.C語(yǔ)言可執(zhí)行程序的開(kāi)始執(zhí)行點(diǎn)是()。
A.包含文件中的第一個(gè)函數(shù)B.程序中第一個(gè)函數(shù)C.程序中的main()函數(shù)D.程序中第一條語(yǔ)句
66.若有定義語(yǔ)句:inta[3][6];,按在內(nèi)存中的存放順序,a數(shù)組的第10個(gè)元素是()。
A.a[o][4]B.a[1][3]C.a[o][3]D.a[1][4]
67.
68.
A.intB.floatC.doubleD.不確定
69.
70.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.10,64B.10,10C.64,10D.64,64
71.
72.當(dāng)變量c的值不為2、4、6時(shí),值也為”真”的表達(dá)式是()。
A.
B.
C.
D.
73.設(shè)變量均已正確定義,若要通過(guò)
scaIIf(”%d%c%d%c”,&;al,&;el,&;a2,&;c2);
語(yǔ)句為變量al和a2賦數(shù)值l0和20,為變量cl和c2賦字符x和Y。以下所示的輸入形式中正確的是()。(注:口代表空格字符)
74.以下程序運(yùn)行時(shí),若從鍵盤(pán)輸入l02030<回車(chē)>,輸出的結(jié)果是()。
A.10200B.102030C.10300D.10030
75.(14)結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()
A.程序的規(guī)模
B.程序的易讀性
C.程序的執(zhí)行效率
D.程序的可移植性
76.執(zhí)行下面的程序后,a的值為()。main{inta,b;for(a=1,b=1;a<=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A.7B.8C.9D.10
77.
78.以下不構(gòu)成無(wú)限循環(huán)的語(yǔ)句或語(yǔ)句組是()。
79.(VC++)若有以下定義,則對(duì)b數(shù)組元素正確的引用是
intb[2][3]={1,2,3,4,5,6};A.b[1]B.b[0][3]C.b[2][2]D.b[1][1]
80.有以下程序:
程序運(yùn)行后,若從鍵盤(pán)輸入(從第l列開(kāi)始.:
123<回車(chē)>
45678<回車(chē)>
則輸出結(jié)果是()。
A.1267B.1256C.1278D.1245
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是找出100~m(m不大于1000)之間百位數(shù)字加十位數(shù)字等于個(gè)位數(shù)字的所有整數(shù),把這些整數(shù)放在s所指的數(shù)組中,個(gè)數(shù)作為函數(shù)值
返回。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include<stdio.h>
#defineM1000
intproc(int*S.intn)
{
inti,j,k,a,b,c;
j=0;
for(i=100;i<n;i++)
{
//****found****
k=n:
a=k%10;
k/=10;
b=k%10;
c=k/10;
if(a==b+c)
//****found****
s[j]=i:
}
returnj;
}
voidmain
{
inta[M],m,num=0,i;
do
{
printf("\nEnterm(<=1000):");
scanf("%d",&m);
}
while(m>1000);
num=proc(a,m);
printf("\n\nTheresult:\n");
for(i=0;i<num;i++)
printf("%5d",a[i]);
printf("\n\n");
}
六、程序設(shè)計(jì)題(1題)82.假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)proc,它的功能是:將字符串中的前導(dǎo)*號(hào)全部刪除,中間和后面的*號(hào)不刪除。 例如,若字符串中的內(nèi)容為****a*bc*def*g****,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是a*bc*def*g****。 注意:部分源程序給出如下。 請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。 試題程序: #include<stdio.h=:{> #include<conio.h> woidproc(char*str) { } voidmaincharstr[81];printf("Enterastring:\n");gets(str);proc(str):printf("Thestringafterdeleted:\n");puts(str);}
參考答案
1.D解析:C語(yǔ)言中有基本的算術(shù)運(yùn)算符(+、-、*、/)還包括自增自減運(yùn)算符(++、-),在C語(yǔ)言解析表達(dá)式時(shí),它總是進(jìn)行貪婪咀嚼,這佯,該表達(dá)式就被解析為i+++++i,顯然該表達(dá)式不合C語(yǔ)言語(yǔ)法。
2.D整型變量ch使用八進(jìn)制數(shù)020初始化,二進(jìn)制數(shù)為10000,右移一位結(jié)果為1000,使用%d輸出十進(jìn)制數(shù)為8。本題答案為D選項(xiàng)。
3.Dmain函數(shù)中,fun(fun(t))嵌套調(diào)用fun函數(shù)。第一次調(diào)用為fun(1),調(diào)用后,a[3]={1,3,5},輸出1,3,5,返回a[1]=3。第二次調(diào)用為fun(3),調(diào)用后,a[3]={一1,3,7},輸出一l,3,7。
4.D解析:C語(yǔ)言的宏定義包括不帶參數(shù)的宏定義與帶參數(shù)的宏定義。本題為帶參數(shù)的宏定義,其形式為:
#define宏名(形參表)字符串
本題的M(a+b,b+c,c+a)被字符串a(chǎn)+b*b+c+c+a代替。
5.C解析:data是—結(jié)構(gòu)體變量,a是它的成員,因此引用a域的正確方法是:data.a,取它的地址賦值給指針變量p的語(yǔ)句應(yīng)該是:p=&data.a。選項(xiàng)A,將a的地址直接賦給了p,而忽略了a為結(jié)構(gòu)體內(nèi)部的一個(gè)成員,而不是一單獨(dú)的變量,故選項(xiàng)A不正確;選項(xiàng)B在p=data.a表達(dá)式中右邊為一個(gè)結(jié)構(gòu)體變量的成員不是地址,而左邊為一指針應(yīng)該將一地址賦給它,故選項(xiàng)B不正確;選項(xiàng)D表達(dá)式*p=data.a是將結(jié)構(gòu)體變量中的成員a的值賦給指針p所指向的變量值,而不是使指針p指向data中的a域,故選項(xiàng)D不正確:4個(gè)選項(xiàng)中只有C正確。
6.C
7.A
8.B邏輯與運(yùn)算兩邊運(yùn)算對(duì)象的值都為真時(shí),結(jié)果才為真。所以需要m能被5和7整除都余1。故本題答案為B選項(xiàng)。
9.AA選項(xiàng)中的語(yǔ)句可以在聲明變量的同時(shí)為data2賦值,賦值語(yǔ)句應(yīng)寫(xiě)作“data2={2,6};”。故本題答案為A選項(xiàng)。
10.A++a與a++的區(qū)別是前者先自加再運(yùn)算,后者是先運(yùn)算后自加。
11.B
12.D
13.D
14.C解析:在關(guān)系模型數(shù)據(jù)庫(kù)中,基本結(jié)構(gòu)是二維表,這種二維表稱(chēng)為關(guān)系。關(guān)系的列稱(chēng)為屬性,一個(gè)具有N個(gè)屬性的關(guān)系稱(chēng)為N元關(guān)系。注意:各種關(guān)系查詢(xún)語(yǔ)言與過(guò)程性語(yǔ)言和非過(guò)程性語(yǔ)言的關(guān)系,過(guò)程性語(yǔ)言的特點(diǎn)。
15.B二叉樹(shù)的前序序列為ABCD,由于前序遍歷首先訪問(wèn)根節(jié)點(diǎn),可以確定該二叉樹(shù)的根節(jié)點(diǎn)是A。再由中序序列為BCDA,可知以A為根節(jié)點(diǎn)的該二叉樹(shù)只存在左子樹(shù),不存在右子樹(shù),故后序序列為DCBA。本題答案為B選項(xiàng)。
16.B解析:p本身就是一個(gè)字符型指針變量,返回p也就是返回變量p中存放的地址值。
17.D解析:本題主要是考查帶參數(shù)的宏定義及其相關(guān)運(yùn)算。本題中宏運(yùn)算過(guò)程如下: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。
18.C
19.D
20.A循環(huán)的作用是求行下標(biāo)從l到2列下標(biāo)從0到i的元素之和,即s=a[1][0]+a[1][1]+a[2][o]+a[2][1]+a[2][2]=3+4+5+6+0一18。
21.數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)解析:數(shù)據(jù)管理技術(shù)的發(fā)展過(guò)程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫(kù)系統(tǒng)階段。(1)人工管理階段。這一階段的計(jì)算機(jī)主要用于科技計(jì)算。外存只有磁帶、卡片和紙帶等,軟件只有匯編語(yǔ)言,尚無(wú)數(shù)據(jù)管理方面的軟件。數(shù)據(jù)處理方式是批處理。(2)文件系統(tǒng)階段。文件系統(tǒng)是數(shù)據(jù)庫(kù)系統(tǒng)發(fā)展的初級(jí)階段,它提供了簡(jiǎn)單的數(shù)據(jù)共享與數(shù)據(jù)管理能力,但是它無(wú)法提供完整的、統(tǒng)一的管理和數(shù)據(jù)共享的能力。由于它的功能簡(jiǎn)單,因此它附屬于操作系統(tǒng)而不能成為獨(dú)立的軟件,目前一般將其看成僅是數(shù)據(jù)庫(kù)系統(tǒng)的雛形,而不是真正的數(shù)據(jù)庫(kù)系統(tǒng)。(3)數(shù)據(jù)庫(kù)系統(tǒng)階段。數(shù)據(jù)庫(kù)階段用數(shù)據(jù)模型表示復(fù)雜的數(shù)據(jù)模型,有較高的數(shù)據(jù)獨(dú)立性。數(shù)據(jù)庫(kù)系統(tǒng)為用戶提供了方便的用戶接口,用戶可使用查詢(xún)語(yǔ)言或終端命令操作數(shù)據(jù)庫(kù),也可以用程序方式(用COBOL、C一類(lèi)高級(jí)語(yǔ)言和數(shù)據(jù)庫(kù)語(yǔ)言編制的程序)操作數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)管理系統(tǒng)提供了數(shù)據(jù)控制功能。
22.數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)
23.數(shù)據(jù)庫(kù)設(shè)計(jì)數(shù)據(jù)庫(kù)設(shè)計(jì)
24.順序存儲(chǔ)(順序方式存儲(chǔ))順序存儲(chǔ)(順序方式存儲(chǔ))解析:二分法查找對(duì)表的要求是有序的順序表,即第一要求是數(shù)據(jù)元素有序,第二要求是按順序方式存儲(chǔ)。
25.a=14a=14解析:逗號(hào)表達(dá)式的值是以逗號(hào)分隔的最后一個(gè)表達(dá)式的值。所以題目中的語(yǔ)句a=(3*5,a+4);就等價(jià)于a=a+4;。故本題輸出結(jié)果是a=14。
26.3232解析:二叉樹(shù)的一個(gè)性質(zhì)是,在二叉樹(shù)的第k層上,最多有2k-1(k≥1)個(gè)結(jié)點(diǎn)。由此,26-1=32.所以答案為32。
27.3123,1,2解析:分析程序,第一個(gè)if語(yǔ)句,a=1,b=2,控制條件a<b成立,則交換a、b的值,此時(shí)a=2,b=1。第二個(gè)if語(yǔ)句,a=2,c=3,控制條件a<c成立,則交換a、c的值,此時(shí)a=3,c=2。
28.“filea.dat”“r”“filea.dat”,“r”解析:fopen函數(shù)的調(diào)用方式通常為fopen(文件名,使用文件方式)。本題中要求程序可以打開(kāi)filea.dat文件,并且是要讀取文件中的內(nèi)容,所以空白處應(yīng)當(dāng)填入'filea.dat','r'。
29.邏輯獨(dú)立性邏輯獨(dú)立性解析:數(shù)據(jù)庫(kù)總體邏輯結(jié)構(gòu)改變,而不需要相應(yīng)修改應(yīng)用程序叫做邏輯獨(dú)立性。
30.繼承繼承解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,某些屬性和方法是可以共享的,由于類(lèi)從父類(lèi)中繼承而來(lái),這樣提高了軟件的可重用性。
31.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫(xiě)函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個(gè)元素輸出到文件fp中兩次,共10個(gè)字節(jié),再調(diào)用fread函數(shù)從文件fp中讀取這10個(gè)字節(jié)的數(shù)據(jù)到數(shù)組a中,此時(shí)數(shù)組a的內(nèi)容就變?yōu)閧1,2,3,0,0,1,2,3,0,0},最后的輸出結(jié)果為'1,2,3,0,0,1,2,3,0,0,'。
32.1111解析:此題涉及函數(shù)的調(diào)用和if語(yǔ)句。程序先執(zhí)行第二個(gè)if語(yǔ)句,然后再執(zhí)行第一個(gè)if語(yǔ)句,最后用return返回?cái)?shù)值。
33.存儲(chǔ)結(jié)構(gòu)
34.123056009123\r\n056\r\n009解析:數(shù)組a中元素的初值為:a[0][0]=1、a[0][1]=2、a[0][2]=3、a[1][0]=4、a[1][1]=5、a[1][2]=6、a[12][0]=7、a[2][1]=8、a[2][2]=9。執(zhí)行第1個(gè)for循環(huán)后a[1][0]=0、a[2][0]=0、a[2][1)=0;第2個(gè)for循環(huán)的功能是將數(shù)組元素按照3行3列的格式輸出。
35.\O'或0或NULLstr[i]num++或num=num+1或num+=1\\O'或0或NULL\r\nstr[i]\r\nnum++或num=num+1或num+=1解析:觀察題目要求,可以知道以下幾點(diǎn):
①for循環(huán)的結(jié)束條件應(yīng)當(dāng)是:str[i]已是字符串的最后一個(gè)字符;
②str[i]代表字符串str中的第i+1個(gè)字符;
③整形變量num的值是要記錄的單詞的個(gè)數(shù)。
C語(yǔ)言中規(guī)定字符串的最后一個(gè)字符是一個(gè)隱含的字符串結(jié)束符“\\0”,所以在題中第一個(gè)空中應(yīng)填寫(xiě)“\\0”;題中第二個(gè)空應(yīng)填寫(xiě)“str[i]”,以判斷當(dāng)前位置的字符是否為空格;題中第三個(gè)空中應(yīng)當(dāng)填寫(xiě)“num++”,通過(guò)變量num的加1累加得到字符串中的單詞個(gè)數(shù)。
36.1616解析:滿二叉樹(shù)的葉子結(jié)點(diǎn)都在最后一層,即第4層,且第4層的結(jié)點(diǎn)達(dá)到最大數(shù),即25-1=16。
37.扇出扇出解析:在結(jié)構(gòu)圖中,調(diào)用一個(gè)給定模塊的模塊個(gè)數(shù)稱(chēng)為扇入,一個(gè)模塊直接調(diào)用的其他模塊個(gè)數(shù)稱(chēng)為扇出。
38.1919解析:根據(jù)二叉樹(shù)的性質(zhì):在任意一棵二叉樹(shù)中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。
39.投影投影解析:在關(guān)系模型的數(shù)據(jù)語(yǔ)言中,一般除了運(yùn)用常規(guī)的集合運(yùn)算,(并、交,差、笛卡爾積等)外,還定義了一些專(zhuān)門(mén)的關(guān)系運(yùn)算,如投影、選擇、連接等。投影是從二維表的列方向上進(jìn)行的運(yùn)算。
40.str[i]str[i+1]"%s"strstr[i]\r\nstr[i+1]\r\n'%s',str解析:本題要求將字符串str中的字符用冒泡排序算法從大到小排列,其實(shí)現(xiàn)過(guò)程是將相鄰兩個(gè)字詞進(jìn)行比較,如果當(dāng)前字符小于下一個(gè)字符,則通過(guò)中間變量temp將字符兩兩交換,所以第一空應(yīng)填:str[i],第二空應(yīng)填:str[i+1]。最終打印輸出得到的字符串str,所以第三空應(yīng)填:'%s',str。
41.C解析:本題考查的是if...else語(yǔ)句的使用。x=2.0,符合第二個(gè)IF語(yǔ)句的條件x<10.0,所以執(zhí)行y=1.0/x語(yǔ)句,即y=1.0/2.0=0.500000。
42.C解析:C語(yǔ)言中的關(guān)鍵字有32個(gè)關(guān)鍵字(參見(jiàn)C語(yǔ)言教程),本題中只有C符合題意。
43.D解析:指針類(lèi)型的自定義的形式如下:typedef類(lèi)型說(shuō)明符*用戶類(lèi)型名。不難看出只有選項(xiàng)D是正確的定義形式。所以,D選項(xiàng)為所選。
44.D解析:本題考查指向字符串的指針的運(yùn)算方法。指針變量p首先指向字符串中的第一個(gè)字符A,執(zhí)行p=s+1后,p指向字符串中的第二個(gè)字符B,然后輸出值'BCD'并換行。依次執(zhí)行循環(huán)語(yǔ)句。
45.C解析:C語(yǔ)言中可以使用typedef來(lái)重新定義已有的數(shù)據(jù)類(lèi)型,相當(dāng)于為數(shù)據(jù)類(lèi)型取個(gè)別名。
46.C解析:本題涉及C語(yǔ)言最基本的4個(gè)知識(shí)點(diǎn):①C語(yǔ)言的保留字必須小寫(xiě);②變量的存儲(chǔ)類(lèi)型不同,其存儲(chǔ)位置和生存期也不一樣:③C語(yǔ)言允許其注釋部分出現(xiàn)在程序中的任何位置;④宏定義以#define開(kāi)頭,行末不需要加分號(hào)。
47.B解析:關(guān)系數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的主要工作是將\ue008E-R\ue009圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式。首先,從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性,實(shí)體集也可以轉(zhuǎn)換成關(guān)系。
48.A解析:樹(shù)的結(jié)點(diǎn)數(shù)等于所有結(jié)點(diǎn)的度與對(duì)應(yīng)的結(jié)點(diǎn)個(gè)數(shù)乘積之和加1。對(duì)任何一棵二叉樹(shù)T,如果其葉子結(jié)點(diǎn)數(shù)為n0,度為2的結(jié)點(diǎn)數(shù)為n2,則n0=n2+1,即葉子結(jié)點(diǎn)數(shù)總是比度為2的結(jié)點(diǎn)數(shù)多1。由于葉子結(jié)點(diǎn)個(gè)數(shù)為70,則度為2的結(jié)點(diǎn)數(shù)為70-1=69,所以總結(jié)點(diǎn)個(gè)數(shù)為69×2+80×1十1=219。
49.D解析:常見(jiàn)的需求分析方法有結(jié)構(gòu)化分析方法和面向?qū)ο蟮姆治龇椒▋深?lèi)。其中結(jié)構(gòu)化分析方法又包括面向數(shù)據(jù)流的結(jié)構(gòu)化分析方法(SA-Structuredanalysis),面向數(shù)據(jù)結(jié)構(gòu)的Jackson方法(JSD-Jacksonsystemdevelopmentmethod)和面向數(shù)據(jù)結(jié)構(gòu)的結(jié)構(gòu)化數(shù)據(jù)系統(tǒng)開(kāi)發(fā)方法(DSSD-Datastructuredsystemdevelopmentmethod)。
50.A解析:if語(yǔ)句執(zhí)行前,指針變量p1指向變量x,指針變量p2指向變量y。由于x<y成立,p1、p2分別指向變量y和變量x,因此,程序輸出結(jié)果是6,4,4,6。
51.A解析:u被八進(jìn)制數(shù)10賦值,等于十進(jìn)制數(shù)8:v被十六進(jìn)制數(shù)10賦值,等于十進(jìn)制數(shù)16;w直接被十進(jìn)制數(shù)10賦值;因此分別輸出十進(jìn)制數(shù)8,16,10。
52.D解析:每個(gè)C程序有且只有一個(gè)主函數(shù)(main),且程序必須從main()函數(shù)開(kāi)始執(zhí)行,而且main()函數(shù)可以放在程序中的任意位置。
53.B解析:模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。耦合性與內(nèi)聚性是模塊獨(dú)立性的兩個(gè)定性標(biāo)準(zhǔn),耦合與內(nèi)聚是相互關(guān)聯(lián)的。在程序結(jié)構(gòu)中,各模塊的內(nèi)聚性越強(qiáng),則耦合性越弱。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性。本題答案為B。
54.B解析:在對(duì)字符數(shù)組賦字符串值時(shí),系統(tǒng)會(huì)自動(dòng)在字符串的末尾加上—個(gè)字符串結(jié)束標(biāo)志'\\0',故指向字符數(shù)組的指針p的*(p+4)的值為'\\0'。由于'\\0'的編碼值就是0,所以本題輸出為0。
55.C解析:C語(yǔ)言允許用typedef說(shuō)明一種新類(lèi)型名,其一般形式為:typedef類(lèi)型名標(biāo)識(shí)符。typedef語(yǔ)句的作用僅僅是使“標(biāo)識(shí)符”來(lái)代表已存在的“類(lèi)型名”,并未產(chǎn)生新的數(shù)據(jù)類(lèi)型。原有類(lèi)型名依然有效。此題中,用使typedef定義了新的類(lèi)型OLD結(jié)構(gòu),所以O(shè)LD為結(jié)構(gòu)體類(lèi)型。
56.B解析:本題用循環(huán)的方法考查對(duì)數(shù)組概念的掌握。首先,當(dāng)i=0時(shí),數(shù)組中的位置是a[2][0]=7,當(dāng)然,如果用排除法,就不用考慮后面的循環(huán),因?yàn)樵?個(gè)選項(xiàng)中,第1個(gè)數(shù)為7的選項(xiàng)只有B)。本題執(zhí)行第2次循環(huán)時(shí),i的值為1,則printf函數(shù)中的數(shù)組指向?yàn)閍[1][1]=5,依次循環(huán),可求出答案。
57.D解析:所謂的交換類(lèi)排序方法是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法,包括冒泡排序和快速排序,冒泡排序是一種最簡(jiǎn)單的交換排序方法,它通過(guò)相鄰元素的交換,逐步將線性表變成有序。
58.A在題目的題干中定義了字符指針變量c,在選項(xiàng)A)中,首先定義字符數(shù)組s訂,然后再把字符數(shù)組str的首地址賦給字符指針變量c。所以選項(xiàng)A)是正確的。在選項(xiàng)B)中,應(yīng)改成scanf(”%s”,&c);在選項(xiàng)c)中,getchar函數(shù)的返回值是用戶輸入的第一個(gè)字符的ASCIl碼,如出錯(cuò)返回.l,且將用戶輸入的字符回顯到屏幕.如用戶在按回車(chē)之前輸入了不止一個(gè)字符,其他字符會(huì)保留在鍵盤(pán)緩存區(qū)中,等待后續(xù)getchar調(diào)用讀取。即c只能指向一個(gè)字符而不能指向字符串。在選項(xiàng)D)中,strepy函數(shù)只是將sla'字符串中的內(nèi)容賦給c,并沒(méi)有使其指向str,所以選項(xiàng)D)是錯(cuò)誤的。
59.A解析:C程序中注釋部分用“/*”和“*/”括起來(lái),可以出現(xiàn)在程序中任何合適的地方;花括號(hào)“{”和“}”不僅可作為函數(shù)體的定界符,也可作為復(fù)合語(yǔ)句的定界符;構(gòu)成C程序的基本單位是函數(shù):一個(gè)語(yǔ)句必須在最后出現(xiàn)分號(hào),分號(hào)是C語(yǔ)句中不可缺少的部分。
60.D
61.D首先i++=:1&&(++j==3lk++==3)是一個(gè)邏輯表達(dá)式,i++==1&&(++j==3IIk++==3)分為兩部分i++==1和(++j==3||k++==3),它們的關(guān)系是”且”的關(guān)系,所以?xún)刹糠侄紩?huì)被執(zhí)行,其中i++==1是先判斷i是否等于l(因?yàn)?+在后面)此時(shí)i=1,在執(zhí)行完后i-2。然后執(zhí)行第二部分(++j==3||k++==3),又分為兩部分:++J==3和k++==3兩部分,這兩部分是”或”的關(guān)系,如果第一部分滿足條件就不執(zhí)行后面的,如果第一部分不滿足條件,就執(zhí)行后面的部分。++J==3是j先自己加l然后判斷j是否等于3,這部分的結(jié)果為真,所以后面的部分不執(zhí)行,因此最后的結(jié)果為i=2j=3k=3.
62.D
\n本題主要考查do—while循環(huán),因?yàn)樽兞縯的初始值等于1,經(jīng)過(guò)第一次do-whil
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 房地產(chǎn)行業(yè)工作計(jì)劃制定
- 游戲活動(dòng)對(duì)幼兒發(fā)展的影響計(jì)劃
- 品牌重塑中的領(lǐng)導(dǎo)力作用計(jì)劃
- 2025年紡粘法非織造布生產(chǎn)線項(xiàng)目建議書(shū)
- 分析企業(yè)強(qiáng)弱勢(shì)的管理方式計(jì)劃
- 智研咨詢(xún)發(fā)布-2025年中國(guó)玄武巖纖維行業(yè)現(xiàn)狀、發(fā)展環(huán)境及投資前景分析報(bào)告
- 2025年高精度帶材軋機(jī)項(xiàng)目合作計(jì)劃書(shū)
- 古氣候變遷在沉積記錄中的體現(xiàn)方式
- 2025年數(shù)控超精密磨床項(xiàng)目建議書(shū)
- 地球的故事之環(huán)境保護(hù)讀后感
- 08SS523建筑小區(qū)塑料排水檢查井
- 江蘇省南京市2021年中考英語(yǔ)試卷【及答案】
- 煉鋼廠增效降本攻關(guān)方案
- 燃?xì)夤艿兰霸O(shè)施的安全間距優(yōu)質(zhì)資料
- LY/T 2709-2016木蠟油
- GB/T 22919.1-2008水產(chǎn)配合飼料第1部分:斑節(jié)對(duì)蝦配合飼料
- GB/T 14800-2010土工合成材料靜態(tài)頂破試驗(yàn)(CBR法)
- 2023年西交大少年班試題
- 第6課《老山界》課件【備課精研+高效課堂】 部編版語(yǔ)文七年級(jí)下冊(cè)
- 第八節(jié) 元代散曲
- 前置胎盤(pán)詳解課件
評(píng)論
0/150
提交評(píng)論