版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021年貴州省銅仁地區(qū)全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.數(shù)據(jù)的邏輯關(guān)系是指數(shù)據(jù)元素的()。
A.關(guān)聯(lián)B.結(jié)構(gòu)C.數(shù)據(jù)項(xiàng)D.存儲(chǔ)方式
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.下列程序的運(yùn)行結(jié)果是()。
#include<stdio.h>
main()
{intx=5,a=1,b=2,C=5,d=0;
if(a<B)
if(b!=3)
if(!C)
x=1;
else
if(D)x=1;
elsex=-1;
printf("%d",x);
}
A.-1B.0C.1D.不確定的值
4.下列敘述中錯(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)的支持
5.請讀程序:#include<stdio.h>main(){inta;floatb,c;scanf("%2d%3f%4f",&a,&b,&c);printf("\na=%d,b=%f,c=%f\n",a,b,c);}若運(yùn)行時(shí)從鍵盤上輸入9876543210,則上面程序的輸出結(jié)果是______。
A.a=98,b=765,c=4321
B.a=10,b=432,c=8765
C.a=98,b=765.000000,c=4321.000000
D.a=98,b=765.0,c=4321.0
6.下列選項(xiàng)中不合法的十六進(jìn)制數(shù)是()。
A."0"xffB."0"X11C."0"x1gD.”0”Xabc
7.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。
A.15,12,9,B.15,13,11,C.15,11,7,D.15,15,15,
8.讀取二進(jìn)制文件的函數(shù)調(diào)用形式為“fread(buffer,size,count,fp);”,其中buffer代表的是()。
A.—個(gè)內(nèi)存塊的字節(jié)數(shù)
B.—個(gè)整型變量,代表待讀取的數(shù)據(jù)的字節(jié)數(shù)
C.一個(gè)文件指針,指向待讀取的文件
D.—個(gè)內(nèi)存塊的首地址,代表讀入數(shù)據(jù)存放的地址
9.允許對隊(duì)列進(jìn)行的操作有()。
A.對隊(duì)列中的元素排序B.取出最近進(jìn)隊(duì)的元素C.在隊(duì)頭元素之前插入元素D.刪除隊(duì)頭元素
10.某二叉樹有5個(gè)度為2的結(jié)點(diǎn),則該二叉樹中的葉子結(jié)點(diǎn)數(shù)是A.10B.8C.6D.4
11.設(shè)R是一個(gè)2元關(guān)系,有3個(gè)元組,S是一個(gè)3元關(guān)系,有3個(gè)元組。如T=R×S,則T的元組的個(gè)數(shù)為()。A.6B.8C.9D.12
12.設(shè)棧S的初始狀態(tài)為空,6個(gè)元素入棧的順序?yàn)閑1,e2,e3,e4,e5和e6。若出棧的順序是e2,e4,e3,e6,e5,el,則棧s的容量至少應(yīng)該是()。
A.6B.4C.3D.2
13.在C語言中,函數(shù)返回值的類型最終取決于()。
A.函數(shù)定義時(shí)在函數(shù)首部所說明的函數(shù)類型
B.return語句中表達(dá)式值的類型
C.調(diào)用函數(shù)時(shí)主調(diào)函數(shù)所傳遞的實(shí)參類型
D.函數(shù)定義時(shí)形參的類型
14.若有函數(shù)voidfun(doublea[]。int*n){…}以下敘述中正確的是()。A.調(diào)用fun函數(shù)時(shí)只有數(shù)組執(zhí)行按值傳送,其他實(shí)參和形參之間執(zhí)行按地址傳送
B.形參a和n都是指針變量
C.形參a是一個(gè)數(shù)組名,n是指針變量
D.調(diào)用fun函數(shù)時(shí)將把double型參數(shù)組元素一一對應(yīng)地傳送給形參a數(shù)組
15.在單鏈表中,增加頭結(jié)點(diǎn)的目的是()。
A.方便運(yùn)算的實(shí)現(xiàn)B.使單鏈表至少有一個(gè)結(jié)點(diǎn)C.標(biāo)識表結(jié)點(diǎn)中首結(jié)點(diǎn)的位置D.說明單鏈表是線性的鏈?zhǔn)酱鎯?chǔ)實(shí)現(xiàn)
16.設(shè)有定義:floata=2,b=4,h=3;以下c語言表達(dá)式中與代數(shù)式(a+B)h計(jì)算結(jié)果不相符的是()。A.(a+B)*h/2B.(1/2)*(a+B)*hC.(a+B)*h*1/2D.h/2*(a+B)
17.哈希表的平均查找長度與處理沖突的方法無關(guān)()
A.對B.錯(cuò)
18.若以“a+”方式打開一個(gè)已存在的文件,以下敘述正確的是()。
A.文件打開時(shí),原有文件內(nèi)容不被刪除,可以進(jìn)行添加和讀操作
B.文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件開頭,可以進(jìn)行重寫和讀操作
C.文件打開時(shí),原有文件內(nèi)容不被刪除,位置指針移到文件中間,可以進(jìn)行重寫和讀操作
D.文件打開時(shí),原有文件內(nèi)容被刪除,只可進(jìn)行寫操作
19.設(shè)有以下定義uniondata{intd1;floatd2;)demo;則下面敘述中錯(cuò)誤的是()。A.變量demo與成員d2所占的內(nèi)存字節(jié)數(shù)相同
B.變量demo中各成員的地址相同
C.變量demo和各成員的地址相同
D.若給demo.d1賦99后,demo.d2中的值是99.0
20.如果樹的的結(jié)點(diǎn)A有4個(gè)兄弟,而且B為A的雙親,則B的度為()。
A.3B.4C.5D.1
二、2.填空題(20題)21.下列程序的運(yùn)行結(jié)果為【】。
main(){inti=lO,*p,*func();
p=&i;
printf("%d",*p);
p=func(p);
printf("%d\n",*p)
}
int*func(px);
int*px;
{inttemp=20;
px=&temp;
return(px);
}
22.以下程序運(yùn)行后的輸出結(jié)果是______。
inta=5;
fun(intB)
{staticinta=10;
a+=b++;
printf("%d",A);
}
main()
{intc=20;
fun(C),
a+=C++;
printf("%d\n",A);
}
23.如下程序片段:
ina,b,c;
printf("inputa,b,c:");
scanf("a=%d,b=%d,c=%d",&a,&b,&c);
欲使輸出結(jié)果為1、2、3(分別對應(yīng)于a、b、c),輸入數(shù)據(jù)的正確形式為【】。
24.若有以下定義和語句,sizeof(a)的值是【】,sizeof(a.share)的值是【】。
structdate
{intday;
intmonth;
intyear;
union
{intshare1;
floatshare2;
}share;
}a;
25.為了便于對照檢查,測試用例應(yīng)由輸入數(shù)據(jù)和預(yù)期的【】兩部分組成。
26.以下程序中,函數(shù)SumColumMin的功能是:求出M行N列二維數(shù)組每列元素中的最小值,并計(jì)算它們的和值。和值通過形參傳回主函數(shù)輸出。請?zhí)羁铡?/p>
#defineM2
#defineN4
voidSumColumMin(inta[M][N],int*sum)
{inti,j,k,s=0;
for(i=0:i<N;i++)
{k=0:
for(j=1;j<M;j++)
if(a[k][i]>a[j][i]k=j;
s+=______;
}
______=s:
}
main()
{intx[M][N]={3,2,5,1,4,1,8.3},s;
sumColumMin(______)
printf("%d\n".s):
}
27.當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu))改變時(shí),不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的_______。
以下程序的輸出結(jié)果是#include<stdio.h>voidprt(int*x,int*y,int*z){printf("%d,%d,%d\n",++*x,++*y,*(z++));}main(){inta=10,b=40,c=20;prt(&a,&b,&c);prr(&a,&b,&c);}
28.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)______。
29.有以下程序
voidf(inty,int*x)
{y=y+*x;*X=*X+y;}
main()
{intx=2,y=4;
f(y,&x);
printf("%d%d\n",x,y);
}
執(zhí)行后輸出結(jié)果是______。
30.以下程序的輸出結(jié)果是______。
main()
{char*p-"abcdefgh",*r;
long*q;
q=(long*)p;
q++;
r=[char*)q;
printf("%s\n",r);
}
31.執(zhí)行以下程序的輸出結(jié)果是()。
#include<stdio.h>
#defineM5
#defineNM+M
main()
{intk;
k=N*N*5;printf(”%d\n",k);
}
32.定義inta=5,b;,則執(zhí)行表達(dá)式b=++a*--a之后,變量b的值為【】。
33.常見的拓?fù)浣Y(jié)構(gòu)有【】。
34.以上程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inti=10,j=0;
do
{j=j+i;i-;}
while(i>2);
printf("%d\n",j);
}
35.有以下程序:#include<stdio.h>#include<string.h>main(){chara[]={'a','b','c','d','e','f','h','\0'};inti,j;i=sizeof(A);j=strlen(A);printf("%d,%d",i,j);}程序運(yùn)行后的輸出結(jié)果是()。
36.設(shè)i,j,k均為int型變量,則執(zhí)行完下面的for語句后,k的值為【】。
for(i=0,j=10;i<=j;i++,j--)k=i+j;
37.軟件結(jié)構(gòu)是以【】為基礎(chǔ)而組成的一種控制層次結(jié)構(gòu)。
38.測試用例包括輸入值集和【】值集。
39.數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高_(dá)_____和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理和控制。
40.與表達(dá)式a+=b等價(jià)的另一書寫形式是______。
三、1.選擇題(20題)41.下列是用戶自定義標(biāo)識符的是
A._w1B.3_xyC.intD.LINE-3
42.用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是
A.關(guān)系模型B.網(wǎng)狀模型C.層次模型D.以上三個(gè)都是
43.以下程序中C的二進(jìn)制值是()。chara=2,b=4,c;c=a^b>>2
A.11B.10100C.111100D.000l1000
44.一個(gè)C語言程序是由()
A.一個(gè)主程序和若干子程序組成B.函數(shù)組成C.若干過程組成D.若干子程序組成
45.設(shè)有變量說明int(*p)[m],其中的標(biāo)識符p是()。
A.m個(gè)指向整型變量的指針
B.指向m個(gè)整型變量的指針
C.一個(gè)指向具有m個(gè)整型元素的一維數(shù)組的指針
D.具有m個(gè)指針元素的一維指針數(shù)組,每個(gè)元素都指向整型變量
46.有以下程序:#include<stdio,h>main(){inta=666,b=888;printf("%'d\n",a,b);程序運(yùn)行后的輸出結(jié)果是()。
A.錯(cuò)誤信息,B.666C.888D.666,888
47.下面函數(shù)調(diào)用語句含有實(shí)參的個(gè)數(shù)為()。func((exp1,exp2),(exp3,exp4,exp5));
A.1B.2C.3D.5
48.已知字母A的ASCⅡ代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫字母的表達(dá)式是______。
A.kk>='A'&&kk<='Z'
B.!(kk>='A'‖kk<='Z')
C.(kk+32)>='a'&&(kk+32)<='z'
D.isalpha(kk)&&(kk<91)
49.下列選項(xiàng)中非法的字符常量是()。
A.'\t'B.'\039'C.','D.'\n'
50.若執(zhí)行下面的程序時(shí),從鍵盤輸入5和2,則輸出結(jié)果是
main()
{inta,b,k;
scanf("%d,%d",&a,&b);
k=a;
if(a<b)k=a%b;
elsek=b%a;
printf("%d\n",k);}
A.5B.3C.2D.0
51.C語言運(yùn)算對象必須是整型的運(yùn)算符是______。
A.%=B./C.=D.<=
52.若有以下結(jié)構(gòu)體定義,則______是正確的引用或定義。structexample{intx;inty;}v1;
A.example.x=10
B.examplev2.x=10
C.structv2;v2.x=10
D.structexamplev2={10};
53.若有條件表達(dá)式(exp)?a++:b--,則以下表達(dá)式中能完全等價(jià)于表達(dá)式(exp)的是
A.(exp==0)B.(exp!=0)C.(exp==1)D.(exp!=1)
54.有以下程序main(){chara[]="abcdefg",b[10]="abedefg";pfintf("%d%d\n",sizeof(a),sizeof(b));}執(zhí)行后輸出結(jié)果是
A.77B.88C.810D.1010
55.在下列敘述中,正確的一條是_______。
A.#defineprintf都是C語句
B.#define是C語句,而priatf不是
C.printf是C語句,但#define不是
D.#define和printf都不是C語句
56.一個(gè)采用順序存儲(chǔ)方式的線性表中,若線性表的第一個(gè)元素的存儲(chǔ)地址是200,每一個(gè)元素的長度是2,則第6個(gè)元素的地址是______。
A.208B.210C.211D.212
57.下面程序運(yùn)行的結(jié)果是______。main(){intx,y,z;x=0;y=z=-1;x+=-z---y;printf("x=%d\n",x);}
A.x=4B.x=0C.x=2D.x=3
58.以下所列的各函數(shù)首部中,正確的是______。
A.voidplay(vara:Integer,varb:Integer)
B.voidplay(inta,b)
C.voidplay(inta,intb)
D.Subplay(aasinteger,basinteger)
59.下列程序的運(yùn)行結(jié)果是()。
#include<stdiO.h>
main()
{inta=0,b=4,c=0,d=10,x;
if(a)
d=d-10;
e1se
if(!B)
if(!C)
x=15;
else
x=25;
printf("%d\n",D);
}
A.5B.3C.20D.10
60.有下列程序:main(){intx=5;do{printf("%d",x-=4);}while(!(--x));}程序的輸出結(jié)果是()。
A.1B.20C.14D.死循環(huán)
四、選擇題(20題)61.#define能作簡單的替代,用宏來替代計(jì)算多項(xiàng)式5*x*x+5*x+5的值的函數(shù)f,正確的宏定義語句為()。
A.#definef(x)5*x*x+5*x+5
B.#definef5*X*x+5*x+5
C.#definef(a)(5*a*a+5*a+5)
D.#define(5*x*x+5*x+5)f(x)
62.
63.
64.有如下程序:
main
{inta=2,b=-1.c=2;
if(a<b)if(b<0)c=0;
elsec++;
printf("%d\n",c);
}
該程序的輸出結(jié)果是()。A.A.0B.1C.2D.3
65.
66.有以下程序:
#include<stdio.h>
#include!(string.h>
voidfun(char*w,intm)
{charS,*pl,*p2;
p1=w;p2=w+m-;
while(pl<p2){s=*pl;*p1=*p2;*p2=s;pl++;p2-;}
}
main()
{chara[]="l23456";
fun(a,strlen(a));puts(a);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.654321
B.116611
C.161616
D.l23456
67.
68.
69.如下程序的輸出結(jié)果是()。
A.69825B.63825C.6385D.693825
70.
71.軟件生命周期中,花費(fèi)最多的階段是()。
A.詳細(xì)設(shè)計(jì)B.軟件編碼C.軟件測試D.軟件維護(hù)
72.已知大寫字母A的ASCIl碼值是65,小寫字母a的ASCIl碼值是97。以下不能將變量C中的大寫字母轉(zhuǎn)換為對應(yīng)小寫字母的語句是()。
A.C=(。A’+C.%26一"a"B.c=c+32C.c=c一"A"+"a"D.c=(c一’A")%26+-a"
73.C語言可執(zhí)行程序的開始執(zhí)行點(diǎn)是()。
A.包含文件中的第一個(gè)函數(shù)B.程序中第一個(gè)函數(shù)C.程序中的main()函數(shù)D.程序中第一條語句
74.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程
B.軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測試完成的過程
C.軟件的開發(fā)過程
D.軟件的運(yùn)行維護(hù)過程
75.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.AfternoonB.ftemoonC.MorningD.oming
76.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.3,3,3B.2,2,3C.1,2,3D.1,1,3
77.
78.
79.若有定義:floatx=1.5;inta=1,b=3,c=2;則正確的switch語句是()。
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:從低位開始取出長整型變量s中奇數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。例如,當(dāng)s中的數(shù)為l23456789時(shí),t中的數(shù)為l3579。請修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請編寫函數(shù)proc(),它的功能是計(jì)算:s=(1-1n(1)-1n(2)-1n(3)-…-1n(m))2s作為函數(shù)值返回。在C語言中可調(diào)用log(n)函數(shù)求1n(n)。log函數(shù)的引用說明是doublelog(doublex)。例如,若m的值為10,則proc()函數(shù)值為l98.934454。注意:部分源程序給出如下。請勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.A
2.B
3.A解析:本題考查ifelse語句。第1個(gè)if語句,先判斷條件,發(fā)現(xiàn)a<b條件成立,執(zhí)行下列的語句;第2個(gè)if語句,先判斷條件,發(fā)現(xiàn)b!=3條件成立,執(zhí)行下列的語句:第3個(gè)if語句,先判斷條件,c=5,則!c條件不成立,執(zhí)行與其配對的else語句:第4個(gè)if語句,先判斷條件,d=0,條件不成立,則x=-1,結(jié)束循環(huán)。
4.A解析:本題考查數(shù)據(jù)庫系統(tǒng)的基本概念和知識。數(shù)據(jù)的邏輯結(jié)構(gòu),是數(shù)據(jù)間關(guān)系的描述,它只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,而不管其在計(jì)算機(jī)中的存儲(chǔ)方式。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),又叫物理結(jié)構(gòu),是邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)器里的實(shí)現(xiàn)。這兩者之間沒有必然的聯(lián)系。因此,選項(xiàng)A的說法是錯(cuò)誤的。
數(shù)據(jù)庫可以看成是長期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。因此,數(shù)據(jù)庫具有為各種用戶所共享的特點(diǎn)。不同的用戶可以使用同一個(gè)數(shù)據(jù)庫,可以取出它們所需要的子集,而且容許子集任意重疊。數(shù)據(jù)庫的根本目標(biāo)是要解決數(shù)據(jù)的共享問題。因此,選項(xiàng)B的說法是正確的。
數(shù)據(jù)庫設(shè)計(jì)是在數(shù)據(jù)庫管理系統(tǒng)的支持下,按照應(yīng)用的要求,設(shè)計(jì)一個(gè)結(jié)構(gòu)合理、使用方便、效率較高的數(shù)據(jù)庫及其應(yīng)用系統(tǒng)。數(shù)據(jù)庫設(shè)計(jì)包含兩方面的內(nèi)容:一是結(jié)構(gòu)設(shè)計(jì),也就是設(shè)計(jì)數(shù)據(jù)庫框架或數(shù)據(jù)庫結(jié)構(gòu);二是行為設(shè)計(jì),即設(shè)計(jì)基于數(shù)據(jù)庫的各類應(yīng)用程序、事務(wù)等。因此,選項(xiàng)C的說法是錯(cuò)誤的。
數(shù)據(jù)庫系統(tǒng)除了數(shù)據(jù)庫管理軟件之外,還必須有其他相關(guān)軟件的支持。這些軟件包括操作系統(tǒng)、編譯系統(tǒng)、應(yīng)用軟件開發(fā)工具等。對于大型的多用戶數(shù)據(jù)庫系統(tǒng)和網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng),還需要多用戶系統(tǒng)軟件和網(wǎng)絡(luò)系統(tǒng)軟件的支持。因此,選項(xiàng)D的說法是正確的。因此,本題的正確答案是選項(xiàng)A。
5.C解析:scanf()把用戶從鍵盤錄入的數(shù)字的第1、2位存入整型變量a;把第3、4、5位存入單精度實(shí)型變量b,把第6、7、8、9位存入單精度實(shí)型變量c,用戶錄入的第10位被scanf()遺棄。這時(shí)變量a、b、c的值分別為:98、765.000000、4321.000000。
6.C十六進(jìn)制是以“0x、0X”開頭的字符串,字符串中只能含有0~9這l0個(gè)數(shù)字和a、b、C、d、e、f這6個(gè)字母。
7.A程序定義整型的全局變量a,初值為5,main函數(shù)定義整型局部變量a,初值為4。所以在main函數(shù)中,局部變量a屏蔽全局變量a。func函數(shù)中定義局部變量b,初值為5,定義靜態(tài)變量c,初值為5,并且在func函數(shù)中變量a引用的是全局變量a。綜上,我們使用a_a代表全局變量a,使用m_a代表main函數(shù)中局部變量a。main函數(shù)中,當(dāng)k=0時(shí),a_a=5,m_a=4,調(diào)用函數(shù)func(4),函數(shù)func中d的值為4,b的值為5,c的值為5,執(zhí)行表達(dá)式“a_a--;b--;--c;--d;”后,a_a的值為4,b的值為4,c的值為4,d的值為3,a+b+c+d的值為15,程序輸出15。當(dāng)k=1時(shí),a_a=4,m_a=3,調(diào)用函數(shù)func(3),函數(shù)func中d的值為3,b的值為5,c的值為4(靜態(tài)變量使用上一次調(diào)用結(jié)束時(shí)的值),執(zhí)行表達(dá)式“a_a--;b--;--c;--d;”后,a_a的值為3,b的值為4,c的值為3,d的值為2,a+b+c+d的值為12,程序輸出12。當(dāng)k=2時(shí),a_a=3,m_a=2,調(diào)用函數(shù)func(2),函數(shù)func中cl的值為2,b的值為5,c的值為3,執(zhí)行表達(dá)式“a_a--;b--;--c;--d;”后,a_a的值為2,b的值為4,c的值為2,d的值為1,a+b+c+d的值為9,程序輸出9。本題答案為A選項(xiàng)。
8.D函數(shù)原型“fread(void*buffer,sizetsize,sizetcount,FILE*stream)”的功能是從一個(gè)文件流中讀數(shù)據(jù),讀取count個(gè)元素,每個(gè)元素size字節(jié)。如果調(diào)用成功,返回count。buffer用于接收數(shù)據(jù)的內(nèi)存地址,大小至少是size*count字節(jié);size是單個(gè)元素的大小,單位是字節(jié);count是元素的個(gè)數(shù),每個(gè)元素是size字節(jié);stream是輸入流。故本題答案為D選項(xiàng)。
9.D
10.C根據(jù)二叉樹的性質(zhì),在任意二叉樹中,度為0的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。
11.CC。R為n元關(guān)系,有P個(gè)元組S為m元關(guān)系,有q個(gè)元組。兩個(gè)關(guān)系笛卡兒積是一個(gè)n+m元的關(guān)系,元組個(gè)數(shù)是q×p。所以T的元組的個(gè)數(shù)為9個(gè)。
12.C
13.A解析:在C語言中,應(yīng)當(dāng)在定義函數(shù)時(shí)指定函數(shù)值的類型。凡不加類型說明的函數(shù),默認(rèn)按整型處理。在定義函數(shù)時(shí)對函數(shù)值說明的類型一般應(yīng)該和return語句中的表達(dá)式類型一致。如果函數(shù)值的類型和return語句中的表達(dá)式類型不一致,則以函數(shù)值的類型為準(zhǔn),由系統(tǒng)自動(dòng)進(jìn)行轉(zhuǎn)換,即函數(shù)類型決定返回值的類型。
14.B\n本題考查函數(shù)中數(shù)組和指針的傳值,數(shù)組a[]在參數(shù)傳遞時(shí),是傳遞的數(shù)組a的首地址,所以形參a和n都是指針變量。。
\n
15.A根據(jù)單位鏈表(包含頭結(jié)點(diǎn))的結(jié)構(gòu),只要掌握了表頭,就能夠訪問整個(gè)鏈表,因此增加頭結(jié)點(diǎn)的目的是為了便于運(yùn)算的實(shí)現(xiàn)。
16.B解析:選項(xiàng)B中由于1和2都是整型,其1/2的運(yùn)算結(jié)果為0,故整個(gè)表達(dá)式的值為0,所以它的結(jié)果和題目中要求的代數(shù)式的討算結(jié)果不相符,所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
17.B
18.AC語言中,文件打開方式“a+”表示打開一個(gè)文本文件,從文件開始位置讀,在文件尾部添加數(shù)據(jù),如果指定的文件不存在,系統(tǒng)將使用調(diào)用fopen時(shí)指定的文件名創(chuàng)建一個(gè)新的文件;如果指定的文件存在,那么文件原有內(nèi)容將被保存,新的數(shù)據(jù)追加到原有文件之后。故本題答案為A選項(xiàng)。
19.D共用體變量中的所有成員共享一段公共存儲(chǔ)區(qū),所有成員的首地址相同。在每一個(gè)時(shí)刻所有的成員中只有一個(gè)有效,即只有最后一個(gè)被賦值的成員有效,其余的成員無效。
20.C
21.1020
22.30253025解析:本題考核的知識點(diǎn)是變量的存儲(chǔ)屬性和算術(shù)運(yùn)算的應(yīng)用。本題涉及了自動(dòng)變量、靜態(tài)變量和外部變量。外部變量是定義在所有函數(shù)之外的變量,本題中inta=5定義了一個(gè)外部變量a,它是一個(gè)全局變量,即作用域是從定義的位置開始到本文件的結(jié)束;靜態(tài)變量的存儲(chǔ)空間在程序的整個(gè)運(yùn)行期間是固定的(static),本題函數(shù)fun()中staticinta=10定義個(gè)一個(gè)靜態(tài)變量a,此靜態(tài)變量a是個(gè)靜態(tài)的局部變量,即它的值只能在本函數(shù)中使用;自動(dòng)變量是C程序中使用最多的一種變量,它的建立和撤消都是由系統(tǒng)在程序執(zhí)行過程中自動(dòng)進(jìn)行的,auto是自動(dòng)變量的存儲(chǔ)類別標(biāo)識符,如果省略auto,系統(tǒng)隱含認(rèn)為此變量為auto,本題中main()中intc=20定義了一個(gè)自動(dòng)變量c,此自動(dòng)變量c是個(gè)靜態(tài)的局部變量.算術(shù)運(yùn)算中a+=b++相當(dāng)于a=a+b,b=b+1.所以,在第一個(gè)ptine('%d',a)中a=a+b=10+20=30,第二個(gè)printf('%d',a)中a=a+c=5+20=25,即輸出3025。
23.a=1b=2c=3a=1,b=2,c=3解析:此題考查了scanf函數(shù)的輸入格式。scanf函數(shù)的輸入格式規(guī)定如果兩個(gè)格式說明項(xiàng)間有一個(gè)或多個(gè)普通字符,那么在輸入數(shù)據(jù)時(shí),在兩個(gè)數(shù)據(jù)之間也必須以這一個(gè)或多個(gè)字符作為分隔符。
24.104
25.輸出結(jié)果輸出結(jié)果解析:注意:測試的基本方法和步驟。
26.a[k][i]*sumx&s
27.B
28.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個(gè);維表代表一種關(guān)系。
29.8484解析:本題考核的知識點(diǎn)是函數(shù)的調(diào)用、值傳遞和地址傳遞的區(qū)別?!爸祩鬟f”指實(shí)參將值傳遞給形參后,實(shí)參與形參再無聯(lián)系。也就是說對行參的改變將不影響實(shí)參;地址傳遞是指地址或數(shù)組名作為形參時(shí)的參數(shù)傳遞,這種情況下對形參的改變將對實(shí)參產(chǎn)生影響.函數(shù)f(Y*x)的作用是讓y的值加上指針x所指向變量的值,讓指針x所指向變量的值加上y的值。由于形參y是傳值的,形參x是傳地址的,故調(diào)用該函數(shù)后,作為實(shí)參的y的值將不改變,而實(shí)參x的值將改變,故最后輸出的y的值為4,而x的值為8。
30.efghefgh解析:本題定義了一個(gè)字符型指針變量p并通過賦初值讓它指向了一個(gè)字符串,定義了另一個(gè)字符型指針變量r和一個(gè)長整型指針變量q。首先通過語句“q=(long*)p;”把P的地址值強(qiáng)制轉(zhuǎn)換為長整型地址值并賦值給q,然后執(zhí)行“q++;”,地址值增加了4,執(zhí)行語句“r=(char*)q”,把長整型指針變量q的值再強(qiáng)制轉(zhuǎn)換成字符型地址值并賦給r,r的值應(yīng)為字符串中字符“e”的地址,最后輸出r指向的字符串,是“efgh”。
31.5555解析:本題考查的重點(diǎn)是對宏定義的理解。#define指令定義一個(gè)標(biāo)識符和一個(gè)串,編譯程序在對C源程序處理時(shí).發(fā)現(xiàn)該標(biāo)識符都用該串替換,因此,在語句k=N*N*5將替換成k=M+M*M+M*5后,M被替換成5,從而k=5+5*5+5*5=55。
32.2525解析:#NAME?
33.星型、總線型和環(huán)型星型、總線型和環(huán)型
34.5252解析:do...while語句的形式為:
do
{
語句;
}while(條件表達(dá)式)
當(dāng)條件表達(dá)式為非零時(shí),繼續(xù)執(zhí)行循環(huán)體,直到條件表達(dá)式為零時(shí)退出循環(huán)。
35.98
36.1010解析:該for語句以i為0,j為10作為初始值,循環(huán)條件是i<=j,每次循環(huán)后i增1、j減1,循環(huán)體是將i與j的和賦給k,這樣變量k將保存的是最后一次賦給它的值。一次循環(huán)后i為1、j為9,二次循環(huán)后i為2、j為8,……,五次循環(huán)后i為5、j為5,第六次循環(huán),將i與j的和10賦給k后,i為6、j為4,循環(huán)結(jié)束,k值為10。
37.模塊模塊
38.輸出輸出解析:測試用例曲測試輸入數(shù)據(jù)(輸入值集)和與之對應(yīng)的預(yù)期輸出結(jié)果(輸出值集)兩部分組成。
39.共享性共享性解析:數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能被不同的應(yīng)用程序使用,實(shí)現(xiàn)了數(shù)據(jù)的高度共享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫的主要目的。
40.a=a+ba=a+b解析:a+=b與a=a+b等價(jià),作用是把變量a的值加b后再賦給變量a。
41.A本題主要考查標(biāo)識符的定義。對標(biāo)識符的定義是考試中常考的內(nèi)容之一。標(biāo)識符主要由數(shù)字、下畫線和字母組成,其中數(shù)字不能放在首位,另外,用戶自定義標(biāo)識符時(shí),不能將標(biāo)識符定義為C語言中已定義的關(guān)鍵字,如int、while等。
根據(jù)上面對標(biāo)識符的分析,我們不難看出本題的正確答案是A。在選項(xiàng)B中,3_xy以數(shù)字開頭,不符合標(biāo)識符定義的規(guī)定;在選項(xiàng)C中,int是C語言系統(tǒng)中已經(jīng)定義了的關(guān)鍵字;在選項(xiàng)D中,LINE-3使用的數(shù)字、下畫線和字母以外的字符,因此不正確。
42.C解析:在數(shù)據(jù)庫系統(tǒng)中,由于采用的數(shù)據(jù)模型不同,相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)也不同。目前常用的數(shù)據(jù)模型有三種:層次模型、網(wǎng)狀模型和關(guān)系模型。在層次模型中,實(shí)體之間的聯(lián)系是用樹形結(jié)構(gòu)來表示的,其中實(shí)體集(記錄型)是樹中的結(jié)點(diǎn),而樹中各結(jié)點(diǎn)之間的連線表示它們之間的關(guān)系。因此,本題的正確答案是C。
43.A
44.B解析:C程序是由函數(shù)構(gòu)成的。一個(gè)C源程序至少包括一個(gè)main函數(shù),也可以包含一個(gè)main函數(shù)和若干個(gè)其他函數(shù)。因此,函數(shù)是C程序的基本單位,被調(diào)用的函數(shù)可以是系統(tǒng)提供的庫函數(shù),也可以是用戶根據(jù)需要自己編制設(shè)計(jì)的函數(shù)。
45.C解析:本題考查指向數(shù)組的指針變量的聲明。這里的p表示一個(gè)指向數(shù)組的指針;*p表示指針p指向地址的內(nèi)容。
46.B解析:在printf函數(shù)中,當(dāng)格式轉(zhuǎn)換說明符個(gè)數(shù)少于輸出項(xiàng)個(gè)數(shù)時(shí),多余的輸出項(xiàng)不予輸出。
47.B
48.B解析:本題主要考查邏輯運(yùn)算。對于正確判斷kk為大寫字母的表達(dá)式,當(dāng)表達(dá)式為真時(shí)kk為大寫字母。大寫字母的ASCII代碼值在65~90之間,對應(yīng)的小寫字母的ASCII代碼值在97~122之間,因此選項(xiàng)A、C都是正確的表達(dá)式。選項(xiàng)D中isalpha(kk)用于判斷kk是否是字母,ASCII代碼值小于91的字母為大寫字母,因此選項(xiàng)D是正確的表達(dá)式。選項(xiàng)B中的表達(dá)式可以轉(zhuǎn)換為kk<‘A’&&.kk>‘Z’,無法判斷kk中的值是否為大寫字母。
49.B水平制表符中,'\t'表示的是橫向跳若干格;選項(xiàng)B中,'\039'錯(cuò)誤,'\039'是八進(jìn)制形式表的字符,最大數(shù)為7,但其中出現(xiàn)'9',','是字符逗號;選項(xiàng)D中,'\n'表示的是換行。
50.C解析:本題考查簡單的if…else語句。先執(zhí)行條件if(a<b),顯然不成立,在執(zhí)行else語句。
51.A解析:在C語言中,模運(yùn)算(即取余運(yùn)算%)的運(yùn)算對象必須是整型數(shù)據(jù)(常量、變量或表達(dá)式)。
52.D解析:在定義結(jié)構(gòu)體變量時(shí),不能只用結(jié)構(gòu)體名example或關(guān)鍵字struct進(jìn)行定義,必需要用結(jié)構(gòu)缽類型名structexample定義,在引用結(jié)構(gòu)體成員變量時(shí),需要用結(jié)構(gòu)體變量名進(jìn)行引用,所以選D。
53.B解析:條件運(yùn)算符要求有3個(gè)操作對象,稱三目(元)運(yùn)算符,它是C語言中惟一的一個(gè)三目運(yùn)算符。條件表達(dá)式的一般形式為:表達(dá)式17表達(dá)式2:表達(dá)式3其求解順序是:先求解表達(dá)式1,若為非O(真)則求解表達(dá)式2,此時(shí)表達(dá)式2的值就作為整個(gè)條件表達(dá)式的值。若表達(dá)式1的值為0(假),則求解表達(dá)式3,表達(dá)式3的值就是整個(gè)條件表達(dá)式的值。并且注意++、--的用法。
54.C解析:本題小定義兩個(gè)字符型數(shù)組,其中a省略了長度,定義了b的長度為10,并賦初值分別為“abcdefg”和“abcdefg”。所以a的長度為賦值給它的字符串的字符個(gè)數(shù)7加上一個(gè)結(jié)束轉(zhuǎn)義字符,即a的長度為7+1為8。定義時(shí)b的長度定義為10,故b的長度為10,因此最后通過函數(shù)sizeof()求得的數(shù)組a和數(shù)組b的長度分別為8和10。
55.D
56.B解析:順序結(jié)構(gòu)中,第n個(gè)元素的地址為An=A0+(n-1)*L(A為地址,L為元素長度)。
57.C解析:表達(dá)式“x+=-z---y”等價(jià)于“x=x+(-z-(-(-y)))=0+(1-(-1))=2”。
58.C解析:除選項(xiàng)C項(xiàng)外,其他各項(xiàng)都沒有按照C語言中的函數(shù)定義規(guī)則定義函數(shù)。
59.D解析:本題考查ifelse語句。第1個(gè)if語句,先判斷條件,發(fā)現(xiàn)a=0條件不成立,則執(zhí)行與其配對的else語句;第2個(gè)if語句,先判斷條件,發(fā)現(xiàn)b=4,則!b條件不成立,又沒有與其配對的else語句,所以執(zhí)行printf語句,輸出do。
60.C解析:本題考查do…while循環(huán)。①執(zhí)行printf語句,x=x-41,輸出1,判斷while循環(huán)的控制條件,--x=0,則(!(--x))非零,循環(huán)條件成立,執(zhí)行下一次循環(huán);②執(zhí)行printf語句,x=x-4=-4,輸出-4,判斷while循環(huán)的控制條件,--x=-5,則(!(--x))為零,循環(huán)條件不成立,結(jié)束循環(huán)。
61.C
溫馨提示
- 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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)村自來水項(xiàng)目投資合作合同協(xié)議(2025年度)
- 二零二五年度寵物店線上線下全渠道運(yùn)營權(quán)轉(zhuǎn)讓合同3篇
- 2025年度木材行業(yè)競業(yè)禁止模板木方銷售合同樣本3篇
- 二零二五年度著作權(quán)許可及影視改編合同2篇
- 二零二五年度環(huán)保材料研發(fā)公司職工招聘與知識產(chǎn)權(quán)合同3篇
- 二零二五年度兼職翻譯服務(wù)合同2篇
- 2025年度養(yǎng)殖場市場營銷勞動(dòng)合同3篇
- 2025年度技術(shù)轉(zhuǎn)讓合同:新能源技術(shù)研發(fā)與授權(quán)2篇
- 2024年中國甘氨酸乙酯鹽酸鹽市場調(diào)查研究報(bào)告
- 二零二五年度養(yǎng)老產(chǎn)業(yè)市場拓展?fàn)I銷策劃合同3篇
- 絲綢之路上的民族學(xué)習(xí)通超星期末考試答案章節(jié)答案2024年
- 無人機(jī)操作教案
- 鐵路基礎(chǔ)知識題庫單選題100道及答案解析
- 口腔正畸科普課件
- 2024年廣東省普通高中學(xué)業(yè)水平合格性地理試卷(1月份)
- 住宅樓安全性檢測鑒定方案
- 配送管理招聘面試題與參考回答2024年
- 江蘇省語文小學(xué)三年級上學(xué)期期末試題及解答參考(2024年)
- 黑龍江哈爾濱市省實(shí)驗(yàn)中學(xué)2025屆數(shù)學(xué)高一上期末監(jiān)測試題含解析
- 小學(xué)一年級數(shù)學(xué)思維訓(xùn)練100題(附答案)
- 安全生產(chǎn)治本攻堅(jiān)三年行動(dòng)方案(一般工貿(mào)) 2024
評論
0/150
提交評論