版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年河南省洛陽市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序:#include<stdio.h>main(){ints[12]=(1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;for(i=0;i<12;i++) c[s[i]]++; for(i=1;i<5;i++) printf(“%d”,c[i]);printf(“\n”);}程序的運(yùn)行結(jié)果是()。
A.2344B.4332C.1234D.1123
2.以下程序的輸出結(jié)果是______。
A.54321
B.12345
C.12345
D.543210main(){intw=5;fun(w);printf("\n");}fun(intk){if(k>0)fun(k-1);printf("%d"",k);}
3.以下選項(xiàng)中不屬于字符常量的是
A.′C′B.′′C′′C.′\xCC′D.′\072′
4.在Windows環(huán)境下,單擊當(dāng)前窗口中的按鈕“”,其功能是A.將當(dāng)前應(yīng)用程序轉(zhuǎn)為后臺(tái)運(yùn)行
B.退出Windows后再關(guān)機(jī)
C.終止當(dāng)前應(yīng)用程序的運(yùn)行
D.退出Windows后重新啟動(dòng)計(jì)算機(jī)
5.以下說法錯(cuò)誤的是A.A.高級(jí)語言都是用接近人們習(xí)慣的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式
B.計(jì)算機(jī)只能處理由0和1的代碼構(gòu)成的二進(jìn)制指令或數(shù)據(jù)
C.C語言源程序經(jīng)過C語言編譯程序編譯之后生成一個(gè)后綴為.EXE的二進(jìn)制文件
D.每一種高級(jí)語言都有它對(duì)應(yīng)的編譯程序
6.在具有101個(gè)元素的順序表中查找值為x的元素結(jié)點(diǎn)時(shí),平均比較元素的次數(shù)為()。
A.50B.51C.100D.101
7.以下不能作為合法常量的是()。
A.'cd'B.1.234e04C.”\a”D.'\011'
8.允許對(duì)隊(duì)列進(jìn)行的操作有()。
A.對(duì)隊(duì)列中的元素排序B.取出最近進(jìn)隊(duì)的元素C.在隊(duì)頭元素之前插入元素D.刪除隊(duì)頭元素
9.若有定義“int*p[3];”,則以下敘述中正確的是()。A.定義了一個(gè)指針數(shù)組p,該數(shù)組含有3個(gè)元素,每個(gè)元素都是基類型為int的指針
B.定義了一個(gè)基類型為int的指針變量p,該變量具有3個(gè)指針
C.定義了一個(gè)名為*p的整型數(shù)組,該數(shù)組含有3個(gè)int類型元素
D.定義了一個(gè)可指向一維數(shù)組的指針變量p,所指一維數(shù)組應(yīng)具有3個(gè)int類型元素
10.有以下程序intfun(intx,inty){return(x+y);}main{inta=1,b=2,C=3,sum;sum=fun((a++,b++,a+b),c++printf("%d\n",sum);)執(zhí)行后的輸出結(jié)果是()。A.6B.7C.8D.9
11.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。
A.順序存儲(chǔ)的有序線性表B.結(jié)性鏈表C.二叉鏈表D.有序線性鏈表
12.若a是數(shù)值類型,則邏輯表達(dá)式“(a==1)||(a!=1)”的值是()。
A.1B.0C.2D.不知道a的值,不能確定
13.串的長(zhǎng)度是指()。
A.串中所含不同字母的個(gè)數(shù)B.串中所含字符的個(gè)數(shù)C.串中所含不同字符的個(gè)數(shù)D.串中所含非空格字符的個(gè)數(shù)
14.有以下程序執(zhí)行后的輸出結(jié)果是()。A.3,2,0B.3,2,-1C.4,3,-1D.5,-2,-5
15.現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針p、q、r分別指向一個(gè)鏈表中連續(xù)的三個(gè)節(jié)點(diǎn)。structnode{chardata;structnode*next;}*p,*q,*r;
現(xiàn)要將q和r所指節(jié)點(diǎn)交換前后位置,同時(shí)要保持鏈表的連續(xù),以下不能完成此操作的語句是()。
A.q->next=r->next;p->next=r;r->next=q;
B.p->next=r;q->next=r->next;r->next=q;
C.q->next=r->next;r->next=q;p->next=r;
D.r->next=q;p->next=r;q->next=r->next;
16.下面的哪一個(gè)保留字不能作為函數(shù)的返回類型()。
A.voidB.intC.newD.long
17.以下選項(xiàng)中合法的C語言常量是()。
A.2.0KbB.”C++’C.”\2.0D.1.01
18.下列敘述中正確的是()。
A.在switch語句中不一定使用break語句
B.在switch語句中必須使用default語句
C.break語句必須與switch語句中的case配對(duì)使用
D.break語句只能用于switch語句
19.下列關(guān)于c語言用戶標(biāo)識(shí)符的敘述中正確的是()。
A.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線和中劃線(減號(hào))
B.用戶標(biāo)識(shí)符中不可以出現(xiàn)中劃線,但可以出現(xiàn)下劃線
C.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線,但不可以放在用戶標(biāo)識(shí)符的開頭
D.用戶標(biāo)識(shí)符中可以出現(xiàn)下劃線和數(shù)字,它們都可以放在用戶標(biāo)識(shí)符的開頭
20.下面程序的輸出結(jié)果是()。
#include<stdio.h>
main()
{inta[4][5]={1,2,4,-4,5,-9,3,6,-3,2,7,8,4};
inti,j,n;
n=9;
i=n/5;
j=n-i*5-1;
printf("a[%d][%d]=%d\n",i,j,a[i][j]);
}
執(zhí)行后輸出結(jié)果是()。A.A.a[1][3]=6
B.a[1][3]=-3
C.a[1][3]=2
D.不確定
二、2.填空題(20題)21.若給fun函數(shù)的形參s傳送字符串:"abc-6354abc",則函數(shù)的返回值是()。(字符串中包括空格)
longfun(charS[])
{longn;intsign;
for(;isspace(*s)||islower(*s);s++);
sign=(*s=='-')?-1:1;
if(*s=='+'||*s=='-')s++;
for(n=0;isdigit(*s);s++)
n=10*n+(*S-'0');
returnsign*n;
}
22.以下程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:a++;b++;break;
case3:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
23.在關(guān)系模型中,二維表的行稱為______。
24.長(zhǎng)度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【】。
25.以下程序段中,錯(cuò)誤的行號(hào)是【】。①#include<stdio.h>②main()③{charstr[14];str[]={"IloveChina!"};④printf("%s",str);⑤}
26.軟件生命周期分為軟件定義期、軟件開發(fā)期和軟件維護(hù)期,詳細(xì)設(shè)計(jì)屬于______中的一個(gè)階段。
27.黑盒測(cè)試是從【】觀點(diǎn)的測(cè)試。
28.某二叉樹中度為2的結(jié)點(diǎn)有n個(gè),則該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。
29.以下程序輸出的最后一個(gè)值是【】
intff(intn)
{staticintf=1;
f=f*n;
returnf;
}
main()
{inti;
for(i=1;i<=5;i++)printf("%d\n",ff(i));
}
30.在面向?qū)ο蠓椒ㄖ?,類之間共享屬性和方法的機(jī)制稱為______。
31.以下程序用來輸出結(jié)構(gòu)體變量ex所占存儲(chǔ)單元的字節(jié)數(shù):
structst
{charname[20];doublescore;};
main()
{structstex;
printf("exsize:%d\n",sizeof(【】));
}
32.以下程序運(yùn)行后的輸出結(jié)果是【】。
voidfun(intx,inty)
{x=x+y;Y=x-y;x=x-y;
printf(“%d,%d”,x,y);}
main()
{intx=2,y=3;
fun(x,y);
printf(“%d,%d\n”,x,y);
}
33.軟件定義時(shí)期主要包括______和需求分析兩個(gè)階段。
34.以下程序中,for循環(huán)體執(zhí)行的次數(shù)是【】。
#defineN2
#defineMN+1
#defineKM+1*M/2
main()
{
inti;
for(i=1;i<K;i++)
{…}
…
}
35.以下程序運(yùn)行后的輸出結(jié)果是()。
main()
{intm=011,n=11;
printf("%d%d\ff",++m,n++);
}
36.下列程序的運(yùn)行結(jié)果是______。
#definePOW(r)(r)*(r)
main()
{intx=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
37.算法的基本特征主要包括叫個(gè)方面,它們分別是可行性、確定性、()和擁有足夠的情報(bào)。
38.下列的for語句的循環(huán)次數(shù)為______。
for(x=1,y=0;(y!=19)&&(x<7);x++);
39.數(shù)據(jù)模型按不同的應(yīng)用層次分為三種類型,它們是______數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。
40.在數(shù)據(jù)流圖的類型中有兩種類型,它們是變換型和()。
三、1.選擇題(20題)41.下列條件語句中,功能與其他語句不同的是A.if(a)printf("%d\n",x);elseprintf("%d\n",y);
B.if(a==0)printf("%d\n",y);elseprintf("%d\n",x);
C.if(a!=0)printf("%d\n",x);elseprintf("%d\n",y);
D.if(a==0)printf("%d\n",x);elseprintf("%d\n",y);
42.有以下程序:#include<stdio.h>main(){inta=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a<b);printf("%d,%d\n",k,m);}程序運(yùn)行后的輸出結(jié)果是()。
A.0,0B.0,1C.1,0D.1,1
43.下列程序段的運(yùn)行結(jié)果是()。#include<stdio.h>voidmain(){charstr[]="ABC",*p=str;printf("%d\n",*(p+3));}
A.67B.0C.字符'C'的地址D.字符'C'
44.假定所有變量均已正確說明,下列程序段運(yùn)行后x的值是()。a=b=c=0;x=12;if(!a)x--;elsex=5:if(c)x=3:elsex=4:A.11B.4C.12D.3
45.以下有4組用戶標(biāo)識(shí)符,其中合法的一組是()。
A.FOr-subCase
B.4dDOSize
C.f2_G3IFabc
D.WORDvoiddefine
46.以下敘述中錯(cuò)誤的是()。
A.C語句必須以分號(hào)結(jié)束
B.復(fù)合語句在語法上被看作一條語句
C.空語句出現(xiàn)在任何位置都不會(huì)影響程序運(yùn)行
D.賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語句
47.若有定義int*p[3];,則以下敘述中正確的是______。
A.定義了一個(gè)基類型為int的指針變量p,該變量有三個(gè)指針
B.定義了一個(gè)指針數(shù)組p,該數(shù)組含有三個(gè)元素,每個(gè)元素都是基類型為int的指針
C.定義了一個(gè)名為*p的整型數(shù)組,該數(shù)組含有三個(gè)int類型元素
D.定義了一個(gè)可指向二維數(shù)組的指針變量p,所指一維數(shù)組應(yīng)具有三個(gè)int類型元素
48.下列不正確的轉(zhuǎn)義字符是()。
A.'\\'B.'\t'C.'\n\D.'088'
49.C語言中文件的存取方式()
A.只能順序存取B.只能隨機(jī)存取(或直接存取)C.可以順序存取,也可隨機(jī)存取D.只能從文件的開頭進(jìn)行存取
50.以下敘述中正確的是A.A.C程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面
B.C程序書寫格式嚴(yán)格,要求一行內(nèi)只能寫一個(gè)語句
C.C程序書寫格式自由,一個(gè)語句可以寫在多行上
D.用C語言編寫的程序只能放在一個(gè)程序文件中
51.有1000個(gè)64×64漢字的點(diǎn)陣漢字庫,其存儲(chǔ)空間為()KB。
A.500B.1000C.512D.1024
52.C語言中while和do-while循環(huán)的主要區(qū)別是
A.do-while的循環(huán)體至少無條件執(zhí)行一次
B.while的循環(huán)控制條件比do-while的循環(huán)控制條件更嚴(yán)格
C.do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)
D.do-while的循環(huán)體不能是復(fù)合語句
53.以下敘述中正確的是()。
A.構(gòu)成C程序的基本單位是函數(shù)
B.可以在一個(gè)函數(shù)中定義另一個(gè)函數(shù)
C.main函數(shù)必須放在其他函數(shù)之前
D.C函數(shù)定義的格式是K&R格式
54.在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)管理階段和數(shù)據(jù)庫系統(tǒng)管理階段。其中數(shù)據(jù)獨(dú)立性最高的階段是()。
A.數(shù)據(jù)庫系統(tǒng)B.文件系統(tǒng)C.人工管理D.數(shù)據(jù)項(xiàng)管理
55.下列數(shù)據(jù)結(jié)構(gòu)中,按先進(jìn)后出原則組織數(shù)據(jù)的是
A.線性鏈表B.棧C.循環(huán)鏈表D.順序表
56.有以下程序:voidswap(char*x,char*y){chart;t=*x,*x=*y;*y=t;}main(){char*s1="abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序執(zhí)行后的輸出結(jié)果是()。
A.123,abcB.abc,123C.1bc,a23D.321,cba
57.調(diào)用函數(shù)時(shí),如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是()。
A.地址傳遞B.單向值傳遞C.由實(shí)參傳形參,再由形參傳實(shí)參D.傳遞方式由用戶指定
58.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語句是()。
A.switch(x){case1.0:printf("*\n");case2.0:printf("**\n");}
B.switch((int)x);{case1:printf("*\n");case2:printf("**\n");}
C.switch(a+b){case1:printf("*\n");case2+1:printf("**\n");}
D.switch(a+b){case1:printf("*\n");casec:printf("**\n");}
59.下列敘述中正確的是()。
A.數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)必定是一一對(duì)應(yīng)的
B.由于計(jì)算機(jī)存儲(chǔ)空間是向量式的存儲(chǔ)結(jié)構(gòu),因此,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)一定是線性結(jié)構(gòu)
C.程序設(shè)計(jì)語言中的數(shù)組一般是順序存儲(chǔ)結(jié)構(gòu),因此,利用數(shù)組只能處理線性結(jié)構(gòu)
D.以上3種說法都不對(duì)
60.在數(shù)據(jù)結(jié)構(gòu)中,從邏輯上可以把數(shù)據(jù)結(jié)構(gòu)分為()。A.動(dòng)態(tài)結(jié)構(gòu)和靜態(tài)結(jié)構(gòu)B.緊湊結(jié)構(gòu)和非緊湊結(jié)構(gòu)C.線性結(jié)構(gòu)和非線性結(jié)構(gòu)D.內(nèi)部結(jié)構(gòu)和外部結(jié)構(gòu)
四、選擇題(20題)61.
62.以下不能正確定義二維數(shù)組的選項(xiàng)是A.inta[2][2]={{1},{2}};
B.inta[][2]={1,2,3,4};
C.inta[2][2]={{1},2,3};
D.inta[2][]={{1,2},{3,4}};
63.下列條件語句中,輸出結(jié)果與其他語句不同的是()
64.有以下程序程序運(yùn)托舌的輸出結(jié)果是()。
A.1,2B.1,0C.3,2D.0,0
65.有以下程序程序運(yùn)行后的輸出結(jié)果是()。A.24B.28C.32D.36
66.
67.以下敘述中正確的是()。
A.在C語言中,預(yù)處理命令行都以“#”開頭
B.預(yù)處理命令行必須位于c源程序的起始位置
C.#include<stdi0.h>必須放在C程序的開頭
D.C語言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能
68.
69.
70.程序中已構(gòu)成如下圖所示的不帶頭結(jié)點(diǎn)的單向鏈表結(jié)構(gòu),指針變量s、p、q均已正確定義,并用于指向鏈表結(jié)點(diǎn),指針變量s總是作為指針指向鏈表的第一個(gè)結(jié)點(diǎn)。
若有以下程序段:
該程序段實(shí)現(xiàn)的功能是()。
A.刪除尾結(jié)點(diǎn)B.尾結(jié)點(diǎn)成為首結(jié)點(diǎn)C.刪除首結(jié)點(diǎn)D.首結(jié)點(diǎn)成為尾結(jié)點(diǎn)
71.
72.在E—R圖中,用來表示實(shí)體聯(lián)系的圖形是()。
A.橢圓形B.矩形C.菱形D.三角形
73.
下列程序執(zhí)行后的輸出結(jié)果是()。
main
{charx=0xFFFF;printf("%d\n",x--);}
A.-32767B.FFFEC.1D.32768
74.
75.
A.a=50b=50(空格分開.B.5050(空格分開.C.a=50,b=50D.50,50
76.有以下程序:
#include<stdio.h>,
main()
{intS;
scanf("%d",&s);
while(s>O)
{switch(s)
{casel:printf("%d",s+5);
case2:printf("%d",s+4);break;
case3:printf("%d",s+3);
default:("%d",s+1);break;
}
scanf("%d",&s);
}
}
運(yùn)行時(shí),若輸入123450<回車>,由輸出結(jié)果是()。
A.6566456B.66656C.66666D.6666656
77.下面的函數(shù)調(diào)用語句中func函數(shù)的實(shí)參個(gè)數(shù)是
func(f2(A1,A2),(A3,A4,A5),(A6,max(A7,A8)));
A.3B.4C.5D.8
78.待排序的關(guān)鍵碼序列為15,20,9,30,67,65,45,90,要按關(guān)鍵碼值遞增的順序排序,采取簡(jiǎn)單選擇排序法,第一趟排序后關(guān)鍵碼15被放到第()個(gè)位置。
A.2B.3C.4D.5
79.有以下程序:
main
{inti,j;
for(j=10;j<11;j++)
{for(i=9;i<j;i++)
if(!(j%i))break;
if(i==j-1)
printf("%d",j);
}
}
輸出結(jié)果是()。A.A.11B.10C.9D.1011
80.
五、程序改錯(cuò)題(1題)81.下列給定程序的功能是:讀入一個(gè)整數(shù)n(2<;=n<;=5000),打印它的所有為素?cái)?shù)的因子。例如,若輸入整數(shù)1234,則應(yīng)輸出2,617。請(qǐng)修改程序中的錯(cuò)誤,使程序能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不能增選或刪行,也不能更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫一個(gè)函數(shù)proc,它的功能是:求出1~m(含m)能被7或11整除的所有整數(shù)放在數(shù)組a中,通過n返回這些數(shù)的個(gè)數(shù)。例如,若傳給m的值為70,則程序輸出:7111421222833354244495556636670注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填人所編寫的若干語句。試題程序:#include<stdlib.h>#include<conio.h>#include<stdio.h>#defineN100voidproc(intm,int*a,int*n){ }voidmain{intarr[N],n,k;system("CLS");proc(70,arr,&n);for(k=0;k<n;k++)if((k+1)%20==0)//每行輸出20個(gè)數(shù){printf("%4d",arr[k]);printf("\n");}elseprintf("%4d",arr[k]);printf("\n");}
參考答案
1.B在“for(i=0;i<12;i++)c[s[i]]++”中,數(shù)組元素s[i]的值作為數(shù)組c的下標(biāo)。當(dāng)退出循環(huán)時(shí),數(shù)組c的4個(gè)元素的值分別為4、3、3、2。故本題答案為B選項(xiàng)。
2.B
3.B解析:在C語言程序中,用單引號(hào)把一個(gè)字符或反斜線后跟一個(gè)特定的字符括起來表示一個(gè)字符常量。選項(xiàng)A)、C)和D)為正確的字符常量,而選項(xiàng)B)是用雙引號(hào)括起來的字符,表示一個(gè)字符串常量。
4.C解析:在Windows環(huán)境下,單擊當(dāng)前窗口中的按鈕“x”,其功能是終止當(dāng)前應(yīng)用程序的運(yùn)行,關(guān)閉當(dāng)前窗口。
5.C本題主要考查我們對(duì)C語言一些基礎(chǔ)知識(shí)的掌握情況。下面分別分析本題的四個(gè)選項(xiàng)。
由于高級(jí)程序設(shè)計(jì)語言具有可讀寫、可理解性好等特點(diǎn),這就要求高級(jí)程序設(shè)計(jì)語言用接近人們習(xí)慣的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式,選項(xiàng)A的說法正確。
在計(jì)算機(jī)中,機(jī)器可以接受和處理的只能是由0和1組成的二進(jìn)制代碼,用高級(jí)語言編寫的程序都需要經(jīng)過編譯和連接,使其轉(zhuǎn)化為二進(jìn)制代碼才能被機(jī)器執(zhí)行。因此,選項(xiàng)B的說法正確。
C語言源程序經(jīng)過C語言編譯程序編譯之后生成一個(gè)后綴為.OBJ的二進(jìn)制文件(稱為目標(biāo)文件);最后要由“連接程序”把此.OBJ文件與C語言提供的各種庫函數(shù)連接起來生成一個(gè)后綴為.EXE的可執(zhí)行文件。因此,選項(xiàng)C的說法不正確。
由于高級(jí)語言編寫的程序都需要經(jīng)過編譯和連接,才能被計(jì)算機(jī)執(zhí)行,因此,每一種高級(jí)語言都有它對(duì)應(yīng)的編譯程序,D選項(xiàng)的說法正確。
6.B
7.A字符常量是使用單引號(hào)標(biāo)注的單個(gè)字符,選項(xiàng)A錯(cuò)誤;選項(xiàng)B屬于浮點(diǎn)數(shù)常量,正確;選項(xiàng)C屬于轉(zhuǎn)義字符常量,正確;選項(xiàng)D屬于轉(zhuǎn)義字符,代表八進(jìn)制數(shù)011的ASCII值的字符,正確。本題答案為A選項(xiàng)。
8.D
9.Aint*p[3]含義是定義一個(gè)指針數(shù)組p,數(shù)組中包含3個(gè)元素,每個(gè)元素都是int*類型的指針。本題答案為A選項(xiàng)。
10.Csum=fun((a++,b++,a+b),c++)中a++,b++,a+b為逗號(hào)表達(dá)式,運(yùn)算后取a+b的值為5,c++為3,故函數(shù)調(diào)用后輸出結(jié)果為8。
11.A\nA?!窘馕觥慷址ú檎抑贿m用于順序存儲(chǔ)的有序線性表,對(duì)于順序存儲(chǔ)的非有序線性表和線性鏈表,都只能采用順序查找。
\n
12.A邏輯或“||”要求兩邊的運(yùn)算對(duì)象有一個(gè)非零值,結(jié)果就為真。變量a的值不確定,但是若a為1,則左邊運(yùn)算對(duì)象的值為1;若a不為1,則右邊運(yùn)算對(duì)象的值為1,所以總能保證一邊為非零值。故本題答案為A選項(xiàng)。
13.B解析::串的長(zhǎng)度定義為串中字符的數(shù)目。所以B)為正確答案。C)答案不正確,因?yàn)榇锌梢院邢嗤淖址?;A)答案不正確,因?yàn)榇锌赡芎邢嗤淖帜?,而且也可能含有?shù)字等其他非字母字符;D)答案不正確,因?yàn)榭崭褚彩且环N字符,在計(jì)算長(zhǎng)度時(shí)理應(yīng)將其計(jì)算在內(nèi)。
14.B
15.D解析:D中的操作將會(huì)丟失r后面的鏈表結(jié)構(gòu),不能保持鏈表的連續(xù)。
16.C
17.DC語言中,常量有整型常量、實(shí)型常量、字符常量和字符串常量等。整型常量和實(shí)型常量又稱為數(shù)值型常量。其中整型常量只能用數(shù)字表示,不帶小數(shù)點(diǎn)。實(shí)型常量必須用帶小數(shù)點(diǎn)的數(shù)表示,所以選項(xiàng)A錯(cuò)誤,選項(xiàng)D正確;字符型常量是用單引號(hào)標(biāo)注的單個(gè)字符,字符串常量是用雙引號(hào)標(biāo)注的若干個(gè)字符,選項(xiàng)B、C錯(cuò)誤。故本題答案為D選項(xiàng)。
18.Adefault語句在switch語句中可以省略,所以B選項(xiàng)錯(cuò)誤;switch語句中并非每個(gè)case后都需要使用break語句,所以C選項(xiàng)錯(cuò)誤;break語句還可以用于for等循環(huán)結(jié)構(gòu)中,所以D選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。
19.B解析:在C語言中,合法的標(biāo)識(shí)符由字母,數(shù)字和下劃線組成(故選項(xiàng)A不正確),并且第一個(gè)字符必須為字母或者下劃線(故選項(xiàng)B和選項(xiàng)D不正確).所以,B選項(xiàng)為所選.
20.Bn=9,i=n/5=1;j=9-1*5-1=3,輸出為a[1][3]=-3
21.-6354-6354解析:本題的考查點(diǎn)是函數(shù)的返回值。這個(gè)函數(shù)的目的是提取出由函數(shù)的形參傳送來的字符串中的數(shù)字字符,并通過相應(yīng)字符位置計(jì)算出它們數(shù)值形式的冪,最后返回字符串中的數(shù)字字符的數(shù)值形式,所以函數(shù)的返回值應(yīng)當(dāng)是“-6354”。
22.a=2b=1a=2,b=1解析:本題考查了switch結(jié)構(gòu)的內(nèi)容。C語言中,程序執(zhí)行完一個(gè)case標(biāo)號(hào)的內(nèi)容后,如果沒有break語句,控制結(jié)構(gòu)會(huì)轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行,因?yàn)閏ase常量表達(dá)式只是起語句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷。本題程序在執(zhí)行完內(nèi)部switch結(jié)構(gòu)后,繼續(xù)執(zhí)行了外部switch結(jié)構(gòu)的case2分支,最后a和b的值分別為2和1。
23.元組元組解析:在關(guān)系型數(shù)據(jù)庫中,用二維表來表示關(guān)系,二維表的表名即關(guān)系名,二維表的行稱為關(guān)系的元組,二維表的列,稱為關(guān)系的屬性。
24.n/2性表的任何位置插入一個(gè)元素的概率相等,即概率為p=1/(n+1),則插入一個(gè)元素時(shí)所需移動(dòng)元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。
25.③數(shù)組可以在定義時(shí)整體賦初值,但不能在賦值語句中整體賦初值。因此,可將第三行改為charstr[14]={"IloveChina!"};
26.軟件開發(fā)軟件開發(fā)解析:軟件生命周期分為3個(gè)時(shí)期共8個(gè)階段:軟件定義期(問題定義、可行性研究和需求分析)、軟件開發(fā)期(系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試)、軟件維護(hù)期(即運(yùn)行維護(hù)階段)。
27.用戶用戶解析:黑盒測(cè)試又稱為功能測(cè)試,黑盒測(cè)試是把程序看作一個(gè)黑盒子,完全不考慮程序內(nèi)部的結(jié)構(gòu)和處理過程。測(cè)試者只考慮該程序輸入和輸出的關(guān)系,或只考慮程序的功能。黑盒測(cè)試是一種從用戶觀點(diǎn)出發(fā)的測(cè)試。
28.n+1n+1解析:在任意一棵二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為0的結(jié)點(diǎn)多一個(gè)。
29.120120解析:靜態(tài)變量的類型說明符是static,靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)方式,它具有以下特點(diǎn):
①靜態(tài)局部變量屬于靜態(tài)存儲(chǔ)類別,在靜態(tài)存儲(chǔ)區(qū)內(nèi)分配存儲(chǔ)單元。在程序整個(gè)運(yùn)行期間都不釋放。
②對(duì)靜態(tài)局部變量是在編譯時(shí)賦初值的,即只賦初值—次,在程序運(yùn)行時(shí)它已有初值。以后每次調(diào)用函數(shù)時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值。
③如在定義局部變量時(shí)不賦初值的話,則對(duì)靜態(tài)局部變量來說,編譯時(shí)自動(dòng)賦初值0(對(duì)數(shù)值型變量)或空字符(對(duì)字符變量)。(注意:C語言中的非靜態(tài)變量在定義時(shí),系統(tǒng)并不會(huì)自動(dòng)給它賦初值)
④雖然靜態(tài)局部變量在函數(shù)調(diào)用結(jié)束后仍然存在,但其他函數(shù)是不能引用它的。
本題中函數(shù)的功能是:與for語句一起求一個(gè)整數(shù)的階乘。
30.繼承繼承解析:在面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中,某些屬性和方法是可以共享的,由于類從父類中繼承而來,這樣提高了軟件的可重用性。
31.ex或structstex或structst解析:求一個(gè)變量所占的存儲(chǔ)單元數(shù),用sizeof函數(shù),參數(shù)為該變量名或其變量類型。
32.32233,2,2,3解析:主函數(shù)中首先定義了整型變量x和y,并分別給它們賦初值為2和3,接著調(diào)用fun()函數(shù),fun()函數(shù)把實(shí)參x和y的值傳給形式參數(shù)x和y,實(shí)參和形參不再有聯(lián)系。在fun()函數(shù)中,通過運(yùn)算使x和y的值交換過來,所以fun()函數(shù)中的輸出結(jié)果是“3,2”。fun()函數(shù)調(diào)用返回輸出x和y依然是原來的x和y,為“2,3”。原因是變量作為形參傳值的,對(duì)形參的修改并不影響對(duì)應(yīng)的實(shí)參。所以最后輸出為3,2,2,3。
33.可行性研究可行性研究解析:軟件生命周期一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測(cè)試、交付使用及維護(hù)等,還可以將軟件生命周期分為三個(gè)階段:①軟件定義階段:可行性研究和需求分析;②軟件開發(fā)階段:設(shè)計(jì)、實(shí)現(xiàn)和測(cè)試;③軟件運(yùn)行維護(hù)階段:交付使用和維護(hù)。
34.44解析:將程序中所有的宏替換掉可得:M=2+1,K=2+1*2+1/2=4,所以for循環(huán)共循環(huán)了K-1+1次,即4-1+1共4次。
35.10111011解析:賦值表達(dá)式m=011中的常數(shù)011為八進(jìn)制,++m后以十進(jìn)制數(shù)格式“%d”輸出為10。
36.2525解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算。運(yùn)算過程為:t=POW(x+y)=(2+3)*(2+3)=25。
37.有窮性有窮性
38.66解析:分析程序可知,每循環(huán)一次,x的值加1,然后檢測(cè)循環(huán)控制條件(y!=19)&&(x<7),因y的值不變,故滿足x<7時(shí)循環(huán)6次。
39.概念概念
40.事務(wù)型事務(wù)型解析:典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。
41.D解析:選項(xiàng)A、選項(xiàng)B和選項(xiàng)C都是在s的值為0的時(shí)候輸出y,a不為0的時(shí)候輸出x,而選項(xiàng)D是在a為0的時(shí)候輸出x,a不為0的時(shí)候輸出y。
42.C解析:本題考查邏輯或運(yùn)算。因?yàn)閎>a為真,即n=1,則m不需再計(jì)算,保持原值,因此k值為1,m值仍為0。
43.B解析:先定義了一個(gè)指向字符型數(shù)組str的指針p,指針p旨向數(shù)組str的首地址,p+3將指針指向str[3],又因?yàn)樽址蛿?shù)組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上'\\0',所以*(p+3)=0。
44.B解析:本題考查ifelse語句。第一個(gè)if語句,先判斷條件,發(fā)現(xiàn)a=0,則!a成立,執(zhí)行下列的語句,x--,得x=11:第二個(gè)if語句,判斷條件,發(fā)現(xiàn)c=o,則條件不成立,執(zhí)行下列的else語句,得x=4。
45.C解析:選項(xiàng)A中for和case為C語言中的保留字,不能作為用戶標(biāo)志符,故A錯(cuò)誤。選項(xiàng)B中的4d其開頭的第一個(gè)為數(shù)字,而在C語言中規(guī)定,第一個(gè)字符必須為字母或者下劃線,故B錯(cuò)誤;選項(xiàng)D中void為C語言中的保留字,不能作為用戶標(biāo)志符,故D錯(cuò)誤。所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
46.C解析:C語句必須以分號(hào)結(jié)束,選項(xiàng)A是正確的。復(fù)合語句在語法上被看作一條語句,選項(xiàng)B也是正確的。空語句也算是一條語句,因此如果空語句出現(xiàn)在條件或者循環(huán)語句中,一樣會(huì)被當(dāng)作條件子句或者循環(huán)體來看待,所以選項(xiàng)c是錯(cuò)誤的。賦值表達(dá)式末尾加分號(hào)就構(gòu)成賦值語句,選項(xiàng)D正確。故本題應(yīng)該選擇C。
47.B解析:由于運(yùn)算符[]優(yōu)先級(jí)比*高,int*p[3];相當(dāng)于int*(p[3]);,表示數(shù)組p的三個(gè)元素都是指針變量,且每個(gè)元素都是基類型為int的指針。
48.D解析:'\\\\'是反斜線轉(zhuǎn)義字符;'\\t'是水平跳格轉(zhuǎn)義字符;'\\n'是換行轉(zhuǎn)義字符;C語言中沒有規(guī)定'088'為轉(zhuǎn)義字符。
49.D
50.C
51.A
52.A解析:while是先判斷條件再執(zhí)行語句;do-while則是先執(zhí)行依次語句再判斷條件從而決定是否繼續(xù)再執(zhí)行循環(huán)體中的語句,這正是二者主要區(qū)別。注意:3種循環(huán)結(jié)構(gòu)的比較。
53.A解析:本題考查C語言的綜合基礎(chǔ)知識(shí)。構(gòu)成C程序的基本單位是函數(shù),一個(gè)C程序總是從main函數(shù)開始執(zhí)行,而不論main函數(shù)在整個(gè)程序中的位置如何。C語言的函數(shù)定義都是互相平行、獨(dú)立的,在定義函數(shù)時(shí),一個(gè)函數(shù)內(nèi)不能定義另一個(gè)函數(shù)。C函數(shù)定義的一般格式有兩種:傳統(tǒng)格式和現(xiàn)代格式。傳統(tǒng)格式也稱K&R格式,是早期編譯系統(tǒng)使用的格式;現(xiàn)代格式又稱ANSI格式,是現(xiàn)代編譯系統(tǒng)使用的格式。
54.A解析:從題干中可知,數(shù)據(jù)項(xiàng)管理不屬于數(shù)據(jù)管理技術(shù)的發(fā)展階段,故可排除選項(xiàng)D;在人工管理階段,數(shù)據(jù)與應(yīng)用程序是一一對(duì)應(yīng)的,數(shù)據(jù)結(jié)構(gòu)改變時(shí),程序也必須隨之修改,數(shù)據(jù)與程序不具有獨(dú)立性;在文件系統(tǒng)管理階段,借助于操作系統(tǒng)中的文件系統(tǒng),數(shù)據(jù)可以用統(tǒng)一格式、以文件形式長(zhǎng)期保存在計(jì)算機(jī)系統(tǒng)中,數(shù)據(jù)的各種轉(zhuǎn)換以及存儲(chǔ)位置的安排也由文件系統(tǒng)來統(tǒng)一管理,使程序與數(shù)據(jù)之間具有一定的獨(dú)立性:在數(shù)據(jù)庫系統(tǒng)管理階段,通過系統(tǒng)提供的映像功能,使數(shù)據(jù)具有兩方面的獨(dú)立性:一是物理獨(dú)立性,二是邏輯獨(dú)立性;保證了數(shù)據(jù)的完整性、安全性和并發(fā)性。由上所述,數(shù)據(jù)獨(dú)立性最高的階段是數(shù)據(jù)庫系統(tǒng)管理階段。
55.B解析:棧是限定在二端進(jìn)行插入與刪除的線性表。在棧中,允許插入與刪除的一端稱為棧頂,而不允許插入與刪除的另一端稱為棧底。棧頂元素總是最后被插入的元素,從而也是最先能被刪除的元素;棧底元素總是最先被插入的元素,從而也是最后才能被刪除的元素,即棧是按照“先進(jìn)后出”或“后進(jìn)先出”的原則組織數(shù)據(jù)的。注意:隊(duì)列組織數(shù)據(jù)的原則是“先進(jìn)先出”或“后進(jìn)后出”。注意:數(shù)據(jù)結(jié)構(gòu)中,棧和隊(duì)列組織數(shù)據(jù)的原則。
56.C解析:首先看swap()函數(shù),函數(shù)中定義了一個(gè)臨時(shí)字符變量t,然后將形參指針x所指內(nèi)容存入t,再將形參指針y所指內(nèi)容存入到x所指內(nèi)容中,最后將臨時(shí)變量t的內(nèi)容存入到y(tǒng)所指內(nèi)容中。所以該函數(shù)實(shí)現(xiàn)的是:交換兩個(gè)字符指針?biāo)赶虻膬?nèi)容。在主函數(shù)中,首先定義了兩個(gè)字符指針s1和s2,同時(shí)用字符串'abc'和'123”來初始化它們,此時(shí)它們指向的是兩個(gè)字符串的第1個(gè)字符。所以,在調(diào)用完swap()函數(shù)后,彼此交換了兩個(gè)字符串的第1個(gè)字符,最后輸出結(jié)果為1bc,a23。故應(yīng)該選擇C。
57.B解析:如果實(shí)參是簡(jiǎn)單變量,它與對(duì)應(yīng)形參之間的數(shù)據(jù)傳遞方式是由實(shí)參傳給形參,而形參值的改變不能改變實(shí)參的值。
58.C解析:switch后的括號(hào)中只能是整型或字符型表達(dá)式,選項(xiàng)A中使用的是浮點(diǎn)型變量x,故不正確。選項(xiàng)B在switch的括號(hào)后面多了一個(gè)分號(hào),故也不正確。switch的case標(biāo)號(hào)后只能是常量或常量表達(dá)式,而不能是變量,所以選項(xiàng)D也不正確。故應(yīng)該選擇C。
59.D解析:本題考查數(shù)據(jù)結(jié)構(gòu)的基本知識(shí)。數(shù)據(jù)之間的相耳關(guān)系稱為邏輯結(jié)構(gòu)。通常分為4類基本邏輯結(jié)構(gòu),即集合、線性結(jié)構(gòu)、樹形結(jié)構(gòu)、圖狀結(jié)構(gòu)或網(wǎng)狀結(jié)構(gòu)。存儲(chǔ)結(jié)構(gòu)是邏輯結(jié)構(gòu)在存儲(chǔ)器中的映象,它包含數(shù)據(jù)元素的映象和關(guān)系的映象。存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中有兩種,即順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。順序存儲(chǔ)結(jié)構(gòu)是把數(shù)據(jù)元素存儲(chǔ)在一塊連續(xù)地址空間的內(nèi)存中;鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是使用指針把相互直接關(guān)聯(lián)的節(jié)點(diǎn)鏈接起來。因此,這兩種存儲(chǔ)結(jié)構(gòu)都是線性的??梢?,邏輯結(jié)構(gòu)和存儲(chǔ)結(jié)構(gòu)不是一一對(duì)應(yīng)的。因此,選項(xiàng)A和選項(xiàng)B的說法都是錯(cuò)誤的。無論數(shù)據(jù)的邏輯結(jié)構(gòu)是線性的還是非線性的,只能選擇順序存儲(chǔ)結(jié)構(gòu)或鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)來實(shí)現(xiàn)存儲(chǔ)。程序設(shè)計(jì)語言中,數(shù)組是內(nèi)存中一段連續(xù)的地址空間,可看作是順序存儲(chǔ)結(jié)構(gòu)??梢杂脭?shù)組來實(shí)現(xiàn)樹型邏輯結(jié)構(gòu)的存儲(chǔ),比如二叉樹。因此,選項(xiàng)C的說法是錯(cuò)誤的。
60.C數(shù)據(jù)結(jié)構(gòu)與算法:數(shù)據(jù)結(jié)構(gòu)的基本概念[評(píng)析]邏輯結(jié)構(gòu)反映數(shù)據(jù)元素之間的邏輯關(guān)系,線性結(jié)構(gòu)表示數(shù)據(jù)元素之間一對(duì)一的關(guān)系,非線性結(jié)構(gòu)表示數(shù)據(jù)元素之間一對(duì)多或多對(duì)一的關(guān)系。線性結(jié)構(gòu)和非線性結(jié)構(gòu)是根據(jù)數(shù)據(jù)元素之間關(guān)系的不同特性加以分類的,即是從邏輯上加以分類的。
61.B
62.D解析:選項(xiàng)A)定義的數(shù)組按行各數(shù)組元素分別是:1,0,2,0;選項(xiàng)B)定義的數(shù)組按行各數(shù)組元素分別是:1,2,3,4;選項(xiàng)C)定義的數(shù)組按行各數(shù)組元素分別是:1,0,2,3;因?yàn)槎x數(shù)組時(shí),第一維的長(zhǎng)度可以不指定,第二維的長(zhǎng)度必須指定,所以選項(xiàng)D)錯(cuò)。
63.A若a為0,A)選項(xiàng)輸出x,其他輸出y,所以選擇A)。
64.A首先打印b
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)管理服務(wù)咨詢服務(wù)簡(jiǎn)單合同
- 沖孔灌注樁施工勞務(wù)分包合同
- 三方合同補(bǔ)充協(xié)議書
- 資產(chǎn)買賣合同
- 給水、污水泵設(shè)備安裝合同
- 地毯購銷合同范本地毯購銷合同
- 在線教育系統(tǒng)共建共享合同
- 產(chǎn)品銷售合同范本集錦
- 醫(yī)療器械銷售合同簡(jiǎn)易模板
- 社區(qū)團(tuán)購平臺(tái)搭建及運(yùn)營(yíng)合同
- 2025年首都機(jī)場(chǎng)集團(tuán)公司招聘筆試參考題庫含答案解析
- 蘇州市區(qū)2024-2025學(xué)年五年級(jí)上學(xué)期數(shù)學(xué)期末試題一(有答案)
- 醫(yī)藥高等數(shù)學(xué)知到智慧樹章節(jié)測(cè)試課后答案2024年秋浙江中醫(yī)藥大學(xué)
- 2024年濰坊工程職業(yè)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫完美版
- GB/T 44823-2024綠色礦山評(píng)價(jià)通則
- 人教版英語高考試卷與參考答案(2024年)
- 《共情的力量》課件
- 2022年中國電信維護(hù)崗位認(rèn)證動(dòng)力專業(yè)考試題庫大全-上(單選、多選題)
- 水平二(四年級(jí)第一學(xué)期)體育《小足球(18課時(shí))》大單元教學(xué)計(jì)劃
- 《關(guān)于時(shí)間管理》課件
- 醫(yī)藥高等數(shù)學(xué)智慧樹知到課后章節(jié)答案2023年下浙江中醫(yī)藥大學(xué)
評(píng)論
0/150
提交評(píng)論