版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2022年山西省陽泉市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.當(dāng)c的值不為0時(shí),在下列選項(xiàng)中不能正確將c的值賦給變量a、b的是()。
A.c=b=a;B.(a=c)||(b=c)C.(a=c)&&(b=c);D.a=c=b;
2.算法的空間復(fù)雜度是指()。
A.算法在執(zhí)行過程中所需要的計(jì)算機(jī)存儲(chǔ)空間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語句或指令條數(shù)
D.算法在執(zhí)行過程中所需要的臨時(shí)工作單元數(shù)
3.判斷char型變量c1是否為小寫字母的正確表達(dá)式為()。
A.'a'<=c1<='Z'
B.(c1>=A)‖c1<=z)
C.('a'=>c1‖("z"<=c1)
D.(c1>='a')&&(c1<='z')
4.同一個(gè)關(guān)系模型的任意兩個(gè)元組值()。
A.可以全相同B.不能全相同C.必須全相同D.以上都不對
5.
6.下列不屬于軟件工程的3個(gè)要素的是______。
A.工具B.過程C.方法D.環(huán)境
7.
8.
9.設(shè)R是一個(gè)二元關(guān)系,S是一個(gè)三元關(guān)系,則下列運(yùn)算中正確的是()。
A.R-SB.R×SC.R∩SD.R∪S
10.設(shè)fun函數(shù)的定義形式為voidfun(charch,floatx){…}則下列對函數(shù)fun的調(diào)用語句中,正確的是()。
A.fun("abc",3.0);
B.t=fun(D.16.5);
C.fun(65,2.8);
D.fun(32,32);
11.下面程序輸出的結(jié)果是main(){intx;x=-3+4*5-6;printf("%d",x);x=3+4%5-6;printf("%d",x);x=-3+4%6/5;printf("%d",x);x=(7+6)%5/2;printf("%d",x);}
A.111-31B.11-321C.12-321D.11121
12.下列說法正確的是()。
A.在C語言中,可以使用動(dòng)態(tài)內(nèi)存分配技術(shù)定義元素個(gè)數(shù)可變的數(shù)組
B.在c語言中,數(shù)組元素的個(gè)數(shù)可以不確定,允許隨機(jī)變動(dòng)
C.在C語言中,數(shù)組元素的數(shù)據(jù)類型可以不一致
D.在C語言中,定義一個(gè)數(shù)組后.就確定了它所容納的元素的個(gè)數(shù)
13.有以下定義
#include<stdio.h>
chara[10],*b=a;
不能給a數(shù)組輸入字符串的語句是
A.gets(A)B.gets(a[0]);C.gets(&a[0]);D.gets(B);
14.有以下程序#include<stdio.h>voidfun(int*a,int*B){int*c;c=a;a=b;b=c;}main(){intx=3,y=5,*p=&x,*q=&y;fun(p,q);printf("%d,%d,",*p,*q);fun(&x,&y);printf("%d,%d\n",*p,*q);}程序運(yùn)行后的輸出結(jié)果是______。A.3,5,5,3B.3,5,3,5C.5,3,3,5D.5,3,5,3
15.數(shù)據(jù)結(jié)構(gòu)通常研究數(shù)據(jù)的()及運(yùn)算。
A.物理結(jié)構(gòu)和邏輯結(jié)構(gòu)B.存儲(chǔ)和抽象C.理想和抽象D.理想與邏輯
16.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.4321098765B.5678901234C.0987654321D.0987651234
17.有以下程序:
A.1,5,9,B.1,4,7,C.3,5,7,D.3,6,9,
18.程序中對fun函數(shù)有如下說明
void*fun();
此說明的含義是:A.fun了數(shù)無返回值
B.fun函數(shù)的返回值可以是任意的數(shù)據(jù)類型
C.fun函數(shù)的返回值是無值型的指針類型
D.指針fun指向一個(gè)函數(shù),該函數(shù)無返回值
19.在一個(gè)C語言源程序文件中所定義的全局變量,其作用域?yàn)?)。
A.所在文件的全部范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.由具體定義位置和extern說明來決定范圍
20.以下程序的主函數(shù)中調(diào)用了在其面前定義的fun函數(shù)#include<stdio.h>...main(){doublea[15],k;k=fun(a);...}則以下選項(xiàng)中錯(cuò)誤的fun函數(shù)首部是()。、A.doublefun(doublea[l5])
B.doublefun(double*a)
C.doublefun(doublea[])
D.doublefun(doublea)
二、2.填空題(20題)21.表達(dá)式pow(2.8,sqrt(float(x)))值的數(shù)據(jù)類型為______型。
22.沒有chara,b;,,若要通過a&b運(yùn)算屏蔽掉a中的其他位,只保留第2位和第8位(右起為第1位),則b的二進(jìn)制是【】。
23.以下程序段的輸出結(jié)果是【】。
inti=9;
printf("%o\n",i);
24.下列程序段的輸出結(jié)果是【】。
intn='c';
switch(n++)
{default:printf("error");break;
case'a':
case'A':
case'b':
case'B':printf("good");break;
case'c':case'C':printf(”pass");
case'd':case'D':printf(”warn");
}
25.下列程序的功能是:求出ss所指字符串中指定字符的個(gè)數(shù),并返回此值。例如,若輸入字符串123412132,輸入字符1,則輸出3,請?zhí)羁铡?include<conio.h>#include<stdio.h>#defineM81intfun(char*ss,charC){inti=0;for(;();ss++)if(*ss==C)i++;returni;}main(){chara[M],ch;printf("\nPleaseenterastring:");gets(A);printf("\nPleaseenterachar:");ch=getchar();printf("\nThenumberofthecharis:%d\n",fun(a,ch));}
26.有以下程序:
main()
{inta=7,b=8,*p,*q,*r;
p=&a;q=&b;
r=p;p=q;q=r;
printf("%d,%d,%d,%d\n",*p,*q,a,b);
}
程序運(yùn)行后的輸出結(jié)果是【】。
27.下列程序執(zhí)行后輸出的結(jié)果是【】。
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);
}
28.語句:x++;、++x;、x=x+1;、x=1+x;,執(zhí)行后都使變量x中的值增1,請寫出一條同一功能的賦值語句(不得與列舉的相同)【】。
29.下面程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{inty,a;
y=2,a=1;
while(y--!=-1)
{do{a*=y;a++;}while(y--);}
printf("%d,%d",a,y);}
30.已有定義如下:
structnode
{intdata;
structnode*next;
}*p;
以下語句調(diào)用malloc函數(shù),使指針p指向一個(gè)具有structnode類型的動(dòng)態(tài)存儲(chǔ)空間。請?zhí)羁铡?/p>
p=(structnode*)malloc(【】);
31.下面程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
fun(intt[],intn)
{inti,m;
if(n==1)returnt[0];
else
if(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));
32.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下:
1
11
121
1331
14641
其構(gòu)成規(guī)律是,第0列元素和主對角線元素均為1,其余元素為其左上方和正上方元素之和,數(shù)據(jù)的個(gè)數(shù)每行遞增1。請將程序補(bǔ)充完整。
#defintN6
voidYangHui(int*[N][N])
{
inti,j;
x[0][0]=1
for(i=1;i<N;i++)
{
x[i][0]=【】=1
for(j=1;j<i;j++)
x[i][j]=【】;
}
}
33.下列程序的功能是將2個(gè)數(shù)從小到大輸出。
main()
{floata,b,【】;
scanf(【】,&a,&b);
if(a>b)
{t=a;
【】;
b=t;
}
printf("%5.2f,%5.2f\n",a,b);
}
34.測試的目的是暴露錯(cuò)誤,評價(jià)程序的可靠性;而______的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。
35.有以下程序#include<stdio.h>typedefstruct{intnum;doubles;}REC;voidfunl(REC*x){x->num=23;x->s=88.5;}voidmain(){RECa={16,90.0};fun1(&A);printf("%d\n",a.num);}程序運(yùn)行后的輸出結(jié)果是()。
36.以下程序的輸出結(jié)果是#include<stdio.h>structstiintx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[0],60,&it[0],60,&dt[0],};main(){p=aa;printf("%d\n",++(p->x));}
37.設(shè)一棵二叉樹中有3個(gè)葉子結(jié)點(diǎn),有8個(gè)度為1的結(jié)點(diǎn),則該二叉樹中總的結(jié)點(diǎn)數(shù)為【】。
38.下面程序的輸出是【】。
main()
{enumem{em1=3,em2=1,em3};
char*aa[]={"AA"m,"BB","CC:,"DD"};
printf("%s%s%s\n,aa[em1],aa[em2],aa[em3]);
}
39.以下程序中函數(shù)f的功能是在數(shù)組x的n個(gè)數(shù)(假定n個(gè)數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)與第一個(gè)數(shù)對換,把最大的數(shù)與最后一個(gè)數(shù)對換。請?zhí)羁铡?/p>
#include<stdio.h>
voidf(intx[],intn)
{intp0,p1,i,j,t,m;
i=j=x[0];p0=p1=0;
for(m=0;m<n;m++)
{if(x[m]>i){i=x[m];p0=m;}
elseif(x[m]<j){j=x[m];p1=m;}
}
t=x[p0];x[p0]=x[n-1];x[n-1]=t;
t=x[p1];x[p1]=【】;【】=t;
}
main()
{inta[10],u;
for(u=0;u<10;u++)scanf("%d",&a[u]);
f(a,10);
for(u=0;u<10;u++)printf("%d",a[u]);
printf("\n");
}
40.下面程序的輸出結(jié)果是【】。
longfun5(intn)
{longs;
if((n==1)||(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);}
main()
{longx;
x=fun5(4);
printf("%ld\n",x);}
三、1.選擇題(20題)41.以下能正確定義二維數(shù)組的是______。
A.inta[][3];
B.inta[][3]={2*3};
C.inta[][3]={};
D.inta[2][3]={{1),{2},{3,4}};
42.下列關(guān)于棧的描述正確的是()。
A.在棧中只能插入元素而不能刪除元素
B.在棧中只能刪除元素而不能插入元素
C.棧是特殊的線性表,只能在一端插入或刪除元素
D.棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素
43.以下程序的輸出結(jié)果是()#include<stdio.h>#include<string.h>main(){charstr[12]={'s','t','r','i','n','g'};printf("%d\n",strlen(str));}
A.6B.7C.11D.12
44.以下函數(shù)值的類型是_______。fun(floatx){floaty;y=3*x-4;returny;}
A.intB.不確定C.voidD.float
45.有以下程序,其中函數(shù)的功能是將多個(gè)字符串按字典順序排序:#include<string.h>voidf(char*p[],intn){char*t;inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strcmp(p[i],p[j])>0){t=p[i];p[i]=p[j]p[j]=t;}}main(){char*p[5]={"abc","aabdfg","abbd","dcdbe","cd"};f(p,5);printf("%d\n",strlen(p[1]));}程序運(yùn)行后的輸出結(jié)果是______。
A.2B.3C.6D.4
46.在數(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)管理
47.設(shè)有以下語句charx=3,y=6,Z;z=x^y<<2;則z的二進(jìn)制值是
A.00010100B.00011011C.00011100D.00011000
48.設(shè)有以下定義inta=0;doubleb=1.25;charcc='A';#defined2則下面語句中錯(cuò)誤的是
A.a++;B.b++;C.c++;D.d++;
49.下列敘述中,正確的是
A.用E-R圖能夠表示實(shí)體集間一對一的聯(lián)系、一對多的聯(lián)系和多對多的聯(lián)系
B.用E-R圖只能表示實(shí)體集之間一對一的聯(lián)系
C.用E-R圖只能表示實(shí)體集之間一對多的聯(lián)系
D.用E-R圖表示的概念數(shù)據(jù)模型只能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型
50.下面程序的運(yùn)行結(jié)果是()。#include"stdio.h"main(){inti;for(i=1;i<=5;i++){if(i%2)printf("*");elseprintf("#");}}
A.*#*#*B.#*#*#*C.*#*#D.#*#*
51.有如下程序:longfib(intn){if(n>2)return(fib(n-1)+fib(n-2));elsereturn(2);}main(){printf("%ld\n",fib(3));}該程序的輸出結(jié)果是______。
A.2B.4C.6D.8
52.以下程序有錯(cuò),錯(cuò)誤原因是main(){int*p,i;char*q,ch;p=&i;q=&ch;*p=40;*p=*q;……}
A.p和q的類型不一致,不能執(zhí)行*p=*q;語句
B.*p中存放的是地址值,因此不能執(zhí)行*p=40;語句
C.q沒有指向具體的存儲(chǔ)單元,所以*q沒有實(shí)際意義
D.q雖然指向了具體的存儲(chǔ)單元,但該單元中沒有確定的值,所以執(zhí)行*p=*q;沒有意義,可能會(huì)影響后面語句的執(zhí)行結(jié)果
53.以下程序片段的輸出結(jié)果是______。charstr[]="abc\n\012\\\"";printf("%d",strlen(str));
A.4B.5C.6D.7
54.下面程序main(){intx=100,a=10,b=20,ok1=5,ok2=O;if(a<B)if(b!=15)if(!ok1)x=1;elseif(ok2)x=10;x=1;printf("%d\n",x);}的輸出是______。
A.-1B.0C.1D.不確定的值
55.以下程序的輸出結(jié)果是()main(){inti,x[3][3]={l,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d,",x[i][2-i]);}
A.1,5,9B.1,4,7C.3,5,7D.3,6,9
56.已有定義:chara[]="xyz"'b[]={'x','y','z');,以下敘述中正確的是______。
A.數(shù)組a和b的長度相同B.a數(shù)組長度小于b數(shù)組長度C.a數(shù)組長度大于b數(shù)組長度D.上述說法都不對
57.以下程序的輸出結(jié)果是()main(){staticchara[10]={"Chinese"};printf("%d",strlen(a));}
A.7B.2C.9D.10
58.以下四個(gè)程序中,完全正確的是()。
A.#include<stdio.h>main();{/*programmlng*/printf("programming!\n");}
B.#include<stdio.h>main(){/*/programmingprintf("programming!\n");}
C.#include<stdio.h>main(){/*programming*/printf("programming!\n");}
D.include<stdio.h>main(){/*/*programming*/*/printf("programming!\n");}
59.定義下列結(jié)構(gòu)體(聯(lián)合)數(shù)組:structst{charname[15];intage;}a[10]={"ZHAO",14,"WANG",15,"LIU",16,"ZHANG",17};執(zhí)行語句printf["%d,%c",a[2].age,*(a[3].name+2))的輸出結(jié)果為()。
A.15,AB.16,HC.16,AD.17,H
60.設(shè)x為int型變量,則執(zhí)行以下語句后,x的值為______。x=10;x+x-=x-x;
A.10B.20C.40D.30
四、選擇題(20題)61.
62.
以下程序的輸出結(jié)果是()。
unionmyun
{struct
{intx,y,z;)u;
intk:
}a;
main
{a.u.x=4;a.u.y=5;a.u.z=6;
k=0;
printf(%d\n",a.u.x);
}
A.4B.5C.6D.0
63.數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)之間的關(guān)系是()。
A.數(shù)據(jù)庫包括數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)
B.數(shù)據(jù)庫系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)
C.數(shù)據(jù)庫管理系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫系統(tǒng)
D.三者沒有明顯的包含關(guān)系
64.層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫劃分原則是()。
A.記錄長度B.文件的大小C.聯(lián)系的復(fù)雜程度D.數(shù)據(jù)之間的聯(lián)系方式
65.
下列程序的運(yùn)行結(jié)果是()。
#include<stdio.h>
#defineADD(x)x+x
main
{intm=1,n=2,k=3;
intS=ADD(m+n)*k;
printf("s=%d",s);
}
A.sum=18B.sum=10C.sum=9D.sum=25
66.某系統(tǒng)總體結(jié)構(gòu)圖如下圖所示:
該系統(tǒng)總體結(jié)構(gòu)圖的深度是()。
A.7B.6C.3D.2
67.下列敘述中正確的是()。
A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系
B.表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)
C.一個(gè)關(guān)系的屬性名表稱為關(guān)系模式
D.一個(gè)關(guān)系可以包括多個(gè)二維表
68.
69.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.123456B.14C.1234D.12
70.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.1,3B.2,3C.1,4D.1.2
71.
72.有以下程序:main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],*q=p+2;printf("%d\n",*p+*q);}
A.16B.10C.8D.6
73.
現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針p、q、r分別指定一個(gè)鏈表中連續(xù)的3個(gè)結(jié)點(diǎn)。
structnode
{bardata;
structnode*next;}*p,*q,*r;
現(xiàn)要將q和r所指結(jié)點(diǎn)交換前后位置,同時(shí)要保持鏈表的結(jié)構(gòu),下列不能完成此操作的語句是()。
A.q->next=r->next;P>next=r;r->next=q;
B.q->next=r;q->next=r->next;r->next=q;
C.q->next=r->next;r->next=q;P->next=r:
D.q->next=q;P->next=r;q->next=r->next;
74.設(shè)變量a、b、c、d和y都已正確定義并賦值。若有以下if語句:
該語句所表示的含義是()。
A.
B.
C.
D.
75.若x,i,j和k都是int型變量,則計(jì)算表達(dá)式x=(i=4,j=16,k=32)后,x的值為()。
A.4B.16C.32D.52
76.以下敘述中錯(cuò)誤的是(
)。A.函數(shù)形參的值也可以傳回給對應(yīng)的實(shí)參
B.函數(shù)調(diào)用可以作為一個(gè)獨(dú)立的語句存在
C.若函數(shù)有返回值,必須通過r;mm語句返回
D.C程序必須由一個(gè)或一個(gè)以上的函數(shù)組成
77.(3)在一棵二叉樹上第5層的結(jié)點(diǎn)數(shù)最多是______。
A.8
B.16
C.32
D.15
78.有下面程序段:
則程序段的輸出結(jié)果是()。
A.18B.19C.20D.21
79.有下列二叉樹.對此二叉樹前序遍歷的結(jié)果為()。
A.ACFXDBEYZB.ABEFXYZCDC.ABCDEFXY7D.ABDYECFXZ
80.有以下程序:main{union{charch[2];intd;}s;d=0x4321;printf("%x,%x\n",S.ch[0],S.ch[l]);}在16位編譯系統(tǒng)上,程序執(zhí)行后的輸出結(jié)果是()A.21,43B.43,21C.43,00D.21,00
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:應(yīng)用遞歸算法求某數(shù)a的平方根。求平方根的迭代公式如下:
x1=(xO+a/xO)/2
例如,3的平方根為1.732051。
請修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.規(guī)定輸入的字符串中只包含字母和+號。編寫函數(shù)fun,其功能是:除了字符串前導(dǎo)和尾部的母號外,將其他的*號全部刪除。形參h已指向字符串中第一個(gè)字母,形參P指向字符串中最后一個(gè)字母。在編寫函數(shù)時(shí),不得使用c語言提供的字符串函數(shù)。
參考答案
1.C選項(xiàng)A是先將a的值賦給變量b,再將變量b的值賦給變量c,不合題意;B選項(xiàng)中由于c的值不為0,在將c的值賦給變量a后,表達(dá)式a=c的值為1,不再對表達(dá)式b=c計(jì)算;對于c選項(xiàng),表達(dá)式a=c的值為1,再求表達(dá)式b=c的值為1,然后進(jìn)行邏輯與運(yùn)算;D選項(xiàng)將b的值賦給c后再賦給e,故選擇C選項(xiàng)。
2.A算法的空間復(fù)雜度是指算法在執(zhí)行過程中所需要的內(nèi)存空間。所以選擇A項(xiàng)。
3.D解析:C語言規(guī)定,字符常量在程序中要用單引號括起來。判斷c1是否為小寫字母的充要條件c1>='a'和c1<='z',用邏輯與(&&)來表示。A選項(xiàng)的這種形式在C語言中沒有,所以選項(xiàng)D)正確.
4.B關(guān)系具有以下7個(gè)性質(zhì)。①元組個(gè)數(shù)有限性:二維表中元組的個(gè)數(shù)是有限的。②元組的唯一性:二維表中任意兩個(gè)元組不能完全相同。③元組的次序無關(guān)性:二維表中元組的次序,即行的次序可以任意交換。④元組分量的原子性:二維表中元組的分量是不可分割的基本數(shù)據(jù)項(xiàng)。⑤屬性名唯一性:二維表中不同的屬性要有不同的屬性名。⑥屬性的次序無關(guān)性.二維表中屬性的次序可以任意交換。⑦分量值域的同一性:二維表屬性的分量具有與該屬性相同的值域,或者說列是同質(zhì)的。滿足以上7個(gè)性質(zhì)的二維表稱為關(guān)系,以二維表為基本結(jié)構(gòu)所建立的模型稱為關(guān)系模型。本題答案為B選項(xiàng)。
5.C
6.D解析:本題考查了軟件工程的基本概念。軟件工程包括3個(gè)要素,即方法、工具和過程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開發(fā)、管理和文檔生成;過程支持軟件開發(fā)的各個(gè)環(huán)節(jié)的控制和管理。
7.C
8.B
9.BB?!窘馕觥筷P(guān)系的交(∩)、并(∪)和差(-)運(yùn)算要求兩個(gè)關(guān)系是同元的,顯然作為二元的R和三元的S只能做笛卡兒積運(yùn)算。
10.C由題目的已知條件函數(shù)fun的定義形式voidfun(charch,floatx){…)可知第一個(gè)形參為字符型,所以A不符合,第二個(gè)形參為精度型,所以D不符合,函數(shù)fun定義為void型(無論返回值型),故其沒有返回值,所以選項(xiàng)B錯(cuò)誤。選項(xiàng)C的第一個(gè)實(shí)參的類型為字符型,第二個(gè)實(shí)參的類型為單精度型,與函數(shù)fun的形式參數(shù)的類型相符合,所以選項(xiàng)C為正確答案。
11.A解析:本題考查的是算術(shù)運(yùn)算符的各種運(yùn)算,x=-3+4*5-6=-3+20-6=11;x=3+4%5-6=3+4-6=1;x=-3+4%6/5=-3+4/5=-3+0=-3;x=(7+6)%5/2=13%5/2=3/2=1。故正確答案為選項(xiàng)A)。
12.D在C語言中,數(shù)組元素的個(gè)數(shù)是確定的,不允許隨機(jī)變動(dòng),數(shù)組定義好后,它所能容納的元素的個(gè)數(shù)也就確定了,并且同一個(gè)數(shù)組中所有元素都是同一類型。
13.B解析:函數(shù)gets()的調(diào)用形式為gets(str_adr);str_adr是存放字符串的起始地址??梢允亲址麛?shù)組名、字符指針或字符數(shù)組元素的地址。gets函數(shù)用來從終端鍵盤讀入字符串(包括空格符),直到讀入一個(gè)換行符為止。換行符讀入后,不作為字符串的內(nèi)容。本題中定義一個(gè)長度為10的字符數(shù)組,和一個(gè)指針變量b,并且通過賦值讓它指向數(shù)組a。gets函數(shù)的參數(shù)a[0]不能表示數(shù)組a的首地址。
14.B解析:本題主要考查的是函數(shù)的實(shí)參和形參之間的傳遞關(guān)系,C語言中實(shí)參變量和形參變量之間的數(shù)據(jù)傳遞是單向的“值傳遞”方式。指針變量作函數(shù)參數(shù)也要遵循這一規(guī)則。調(diào)用函數(shù)不可能改變實(shí)參指針變量的值。所以x和y的地址并沒有改變,即p和q也沒有改變,因此,選項(xiàng)B是正確的。
15.A
16.B該程序首先給一維數(shù)組賦值,然后三次調(diào)用fun函數(shù),其中fun(a,0,3);功能是將一維數(shù)組中第1個(gè)元素和第4個(gè)元素互換,第2個(gè)元素和第3個(gè)元素互換;其中fun(a,4,9);功能是將一維數(shù)組中第5個(gè)元素和第10個(gè)元素互換,第6個(gè)和第9個(gè)元素互換,第7個(gè)元素和第8個(gè)元素互換;其中fun(a.O,9);功能是將將一維數(shù)組中第l個(gè)元素和第10個(gè)元素互換,第2個(gè)元素和第9個(gè)元素互換……依此類推。因此B選項(xiàng)正確。
17.C即輸出x[0][2]x[l][1]x[2][0]分別為357。
18.D解析:返回指針的函數(shù)定義為:返回值類型,函數(shù)名(\u3000\u3000),而指向函數(shù)的指針定義為:返回值類型(*變量名)(\u3000\u3000)。本題中函數(shù)fun返回一個(gè)無類型的指針。
19.D
\n全局變量是在函數(shù)外部任意位置上定義的變量,它的作用域是從變量定義的位置開始,到整個(gè)源文件結(jié)束止。當(dāng)全局變量定義在后,引用它的函數(shù)在前時(shí),應(yīng)該在引用它的函數(shù)中用extern對此全局變量進(jìn)行說明,以便通知編譯程序該變量是一個(gè)已在外部定義了的全局變量,這時(shí)全局變量的作用域從extern說明處起,延伸到該函數(shù)末尾。
\n
20.A由題可知fun的參數(shù)為變量,而a[15]為常量,所以答案為A。
21.floatfloat解析:在此表達(dá)式中x是float類型的變量,經(jīng)過開方所得到的結(jié)果仍是float類型,再和2.8進(jìn)行運(yùn)算時(shí),應(yīng)該先將2.8轉(zhuǎn)換成float類型再運(yùn)算,最后結(jié)果仍是float型。
22.1000001010000010解析:運(yùn)算“&”的規(guī)則是只有當(dāng)兩個(gè)相應(yīng)的二進(jìn)制位都為1時(shí),該位的結(jié)果才為1。要保留第2、8位,只要將其與二進(jìn)制數(shù)10000010相與。
23.1111解析:本題考核的知識點(diǎn)是printf()函數(shù)的輸出格式。本題中定義了一個(gè)整型變量i并賦初值為9,然后要求以八進(jìn)制輸出i的值,9的八進(jìn)制數(shù)的表示為11。
24.passwarnpasswarn解析:n++是在執(zhí)行完其所在的語句后再加1,因此,在執(zhí)行case的時(shí)候,n的值依然為'c',執(zhí)行case'c'后面的語句,先打印出“pass”;在執(zhí)行完case'c'后,未遇到break跳出switch,便接著執(zhí)行下面的語句,又打印出warn。所以此題輸出結(jié)果是passwarn。
25.*ss!='\0'*ss!='\\0'解析:本題考查的是指針的應(yīng)用。題目要求求出字符串ss中指定字符的個(gè)數(shù)。分析整個(gè)程序,空缺處是檢驗(yàn)指針ss是否指向了字符串的末尾,如沒有,即執(zhí)行下面語句,判斷指針ss指向的字符是否字符c,若是,i自加1;所以空缺處填入*ss!='\\0',作為循環(huán)終止的條件。
26.87788,7,7,8解析:本題中執(zhí)行語句p=&a和q=&b后,*p=7,*q=8;執(zhí)行完語句r=p,p=q,q=r后,*p=8,*q=7,故答案為8,7,7,8。
27.1212解析:本題的第—個(gè)for循環(huán)用于紿數(shù)組arr賦初值,第二個(gè)for循環(huán)用于求和運(yùn)算。由于第二個(gè)for循環(huán)初始值為1,而循環(huán)條件為i<4,所以求的是arr[1]到arr[3]及i的和,所以輸出結(jié)果為12。
28.x+=1;
29.1-21,-2解析:考查嵌套的循環(huán)結(jié)構(gòu)。題中外層while循環(huán)的循環(huán)條件是\ue008y--!=-1\ue009,即y>=0;內(nèi)層do厀hile循環(huán)的循環(huán)條件是y--,即y-->0,y>=1。
30.sizeof(structnode)或4sizeof(structnode)或4解析:malloc(sizeof(struetnode))的作用是開辟一個(gè)長度為sizeof(struetnode)的內(nèi)存區(qū)。(structnode*)的作用是使malloc返回的指針轉(zhuǎn)換為指向structnode類型數(shù)據(jù)的指針。
31.1111解析:main函數(shù)調(diào)用fun函數(shù)時(shí),將10賦給n,形參數(shù)組t與實(shí)參數(shù)組a共用一段內(nèi)存空間。執(zhí)行if-else語句時(shí),n=10,所以執(zhí)行else子句。由于n>=2成立,執(zhí)行m=fun(t[0],9),遞歸調(diào)用fun函數(shù),m=fun(t[0],8),m=fun(t[0],7),…,m=fun(t[0],2),m=fun(t[0],1),當(dāng)n=1時(shí)滿足if(n=1)的條件,執(zhí)行return語句,返回?cái)?shù)組首地址指向的值t[0],所以答案為11。
32.x[i][i]x[i-1][j-1]+x[i-1][j]或x[i-1][j]+x[i-1][j-1]x[i][i]\r\nx[i-1][j-1]+x[i-1][j]或x[i-1][j]+x[i-1][j-1]解析:在程序中有兩重循環(huán)。在第一層for循環(huán)中將每行的第0列賦值為1,對角線上的元素賦值為1,顯然在第一個(gè)空白處應(yīng)該填入對角線上的元素即x[i][i],在第二重循環(huán)中給每行其他元素賦值,而在每行中除了第0列和對角線的元素外其他元素為其對應(yīng)的上一行中同列和同列的前一列的元素相加,所以在第二個(gè)空白處應(yīng)該填入x[i-1][j-1]+x[i-1][j]。
33.t"%f%f"a=b
34.調(diào)試調(diào)試
35.23
36.C
37.1313解析:在任意一棵二叉樹中,葉子結(jié)點(diǎn)總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中的二叉樹有3個(gè)葉子結(jié)點(diǎn),所以,該二叉樹有3-1=2個(gè)度為2的結(jié)點(diǎn);又知本題中的二叉樹有8個(gè)度為1的結(jié)點(diǎn)。所以,本題中的二叉樹總結(jié)點(diǎn)數(shù)為:葉子結(jié)點(diǎn)數(shù)+度為l的結(jié)點(diǎn)數(shù)+度為2的結(jié)點(diǎn)數(shù)=3+8+2=13。所以,本題的正確答案為13。
38.DDBBCCDDBBCC解析:C語言對枚舉的定義規(guī)定:在枚舉中聲明的各個(gè)枚舉元素,如果沒有明確指出某個(gè)枚舉元素的值,它的上一個(gè)元素存在并有明確值的情況下,這個(gè)枚舉元素的值為其上一個(gè)元素的值+1。在本題中,沒有明確說明枚舉元素em3的值,則em3=em2+1=1+1=2,進(jìn)而可知,在printf()打印函數(shù)中,要打印的數(shù)組元素是aa[3]、aa[1]、aa[2],因此最后的打印結(jié)果應(yīng)當(dāng)為“DDBBCC”。
39.x[0]x[0]x[0],x[0]解析:函數(shù)f()通過for循環(huán)逐個(gè)比較數(shù)組x中的元素,循環(huán)結(jié)束后,p0和p1分別表示最大值和最小值在數(shù)組中的下標(biāo)位置,然后按照題意將最大值x[p0]和數(shù)組的最后一個(gè)元素x[n-1]交換位置,再將最小值x[p1]和第一個(gè)元素(x[0])進(jìn)行交換,所以空白處應(yīng)該填入x[0]。
40.9
41.B解析:(1)二維數(shù)組的定義
二維數(shù)組的定義方式為:類型說明符數(shù)組名[常量表達(dá)式][常量表達(dá)式]。
二維數(shù)組在內(nèi)存中是按行優(yōu)先的順序存放的,即先存放第一行的元素,再存放第二行的元素,依次類推。
(2)二維數(shù)組元素的引用
二維數(shù)組元素的表示形式為:數(shù)組名[下標(biāo)][下標(biāo)],下標(biāo)可以是整型常量或整型表達(dá)式;其范圍為:0~(常量表達(dá)式-1)。
(3)二維數(shù)組的初始化
可以用以下方法對二維數(shù)組元素初始化。
①分行給二維數(shù)組賦初值,例如;
inta[2][2]=({1,2),{3,4));
這種賦值方式比較直觀,把第1個(gè)大括號內(nèi)的數(shù)據(jù)賦給第1行的元素,第2個(gè)大括號內(nèi)的數(shù)據(jù)賦給第2行的元素,即按行賦值。
②可以將所有數(shù)據(jù)寫在一個(gè)大括號內(nèi),按數(shù)組排列的順序?qū)Ω鱾€(gè)元素賦初值。
③可以對部分元素賦初值,沒有初始化的元素值為0。
④如果對全部數(shù)組元素賦初值,則定義數(shù)組時(shí)對第一維的長度可以不指定,但第二維的長度不能省略。
42.C解析:根據(jù)數(shù)據(jù)結(jié)構(gòu)對棧的定義及其特點(diǎn)可知:棧是限定只在表尾進(jìn)行插入或刪除操作的線性表,因此棧是先進(jìn)后出的線性表,對棧的插入與刪除操作,不需要改變棧底元素。棧是限定只在表尾進(jìn)行插入或刪除操作的線性表。
43.A解析:本題考查求字符串的長度。程序中定義字符串str時(shí)中請了12個(gè)字節(jié)的內(nèi)存空間,對它賦初值后,函數(shù)strlen在求串長度時(shí),以'\\0'作為串結(jié)束符,所以,strlen(str)的值為6。
44.A解析:函數(shù)定義時(shí)如果數(shù)據(jù)類型默認(rèn),則默認(rèn)為int。函數(shù)中如果有“retum(表達(dá)式):”語句,表達(dá)式的類型可能與函數(shù)的類型不一致,但它并不能改變函數(shù)的類型,實(shí)際情況是把表達(dá)式轉(zhuǎn)換為函數(shù)值的類型作為返回值,因此本題的函數(shù)值類型是int。
45.D解析:strcmp(s1,s2)是比較兩個(gè)字符串的大小,s1>s2時(shí)值為正數(shù),s1<s2時(shí)值為負(fù)數(shù),s1=s2時(shí)值為0。調(diào)用f(p,5)函數(shù)的功能是將存儲(chǔ)字符串的數(shù)組p中的字符串從小到大進(jìn)行排列。最后的排列結(jié)果為:p[5]={'aabdfg','abbd','abc','cd','dcdbe'},最后要求輸出的是'abbd'的長度。
46.A在數(shù)據(jù)管理技術(shù)的發(fā)展過程中,經(jīng)歷了人工管理階段、文件系統(tǒng)階段和數(shù)據(jù)庫系統(tǒng)階段。其中數(shù)據(jù)獨(dú)立性最高的階段是數(shù)據(jù)庫系統(tǒng)這一階段。數(shù)據(jù)庫系統(tǒng)階段用數(shù)據(jù)模型來表示復(fù)雜的數(shù)據(jù),有較高的數(shù)據(jù)獨(dú)立性。數(shù)據(jù)庫系統(tǒng)為用戶提供了方便的用戶接口,用戶既可使用查詢語言或終端命令操作數(shù)據(jù)庫,也可以用程序方式來操作。數(shù)據(jù)庫管理系統(tǒng)提供了數(shù)據(jù)控制功能。
47.B解析:本題考查兩個(gè)位運(yùn)算符。
按位異或運(yùn)算符“^’是雙目運(yùn)算符,其功能是參與運(yùn)算的兩數(shù)各對應(yīng)的二進(jìn)位相異或,當(dāng)兩對應(yīng)的二進(jìn)位相異或時(shí),結(jié)果為1。
左移運(yùn)算符“<<”是雙目運(yùn)算符,其功能是把“<<”左邊的運(yùn)算數(shù)的各二進(jìn)位全部左移若于位,由“<<”右邊的數(shù)指定移動(dòng)的位數(shù),高位丟棄,低位補(bǔ)0,并且“<<”運(yùn)算符的優(yōu)先級高于“^’。
48.D解析:自加運(yùn)算對象可以是整型變量也可以是實(shí)型變量,但不能是表達(dá)式和常量。本題中,#defined2定義了d為常數(shù)2,不能再對d進(jìn)行自加運(yùn)算。
49.A解析:兩個(gè)實(shí)體之間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有下面幾種,即一對一的聯(lián)系、一對多(或多對一)的聯(lián)系和多對多的聯(lián)系;概念模型便于向各種模型轉(zhuǎn)換。由于概念模型不依賴于具體的數(shù)據(jù)庫管理系統(tǒng),因此,容易向關(guān)系模型、網(wǎng)狀模型和層次模型等各種模型轉(zhuǎn)換。
50.A解析:分析程序呵知.程序循環(huán)5次,然后利用if語句決定每次循環(huán)時(shí)輸出的字符。當(dāng)i為奇數(shù)時(shí),i%2=1,if(i%2)為真,輸出“*”;當(dāng)i為偶數(shù)時(shí),i%2=0,if(i%2)為假,執(zhí)行else語句,輸出“#”,所以當(dāng)i取1、3、5值時(shí)輸出“*”,當(dāng)i取2、4值時(shí)輸出“#”。
51.B解析:函數(shù)fib內(nèi)部有兩個(gè)遞歸調(diào)用,當(dāng)n=3時(shí),fib(n-1)返回2,fib(n-2)也返回2,所以fib(n-1)+fib(n-2)的值為4。
52.D解析:該程序的執(zhí)行過程是:首先聲明整型指針變量P和整型變量i,字符型指針變量q和字符型變量ch,將i的地址賦給指針變量p,將ch的地址賦給指針變量q,將40賦給*p,此時(shí),q已經(jīng)指向了一個(gè)具體的存儲(chǔ)單元,但ch的值不確定,即*p沒有確定的值,所以不能執(zhí)行*p=*q語句。
53.D解析:abc后的四個(gè)字符都是由反斜線引出的轉(zhuǎn)義字符,\\n是換行符,\\012也是換行符,\\\\表示反斜線本身,\\'表示雙引號,因此,一共是7個(gè)字符。
54.A解析:第一個(gè)判斷值為真,過渡到下一個(gè)判斷,第二個(gè)判斷為真,過渡到第三個(gè)判斷……如此循環(huán),在打印輸出語句的前一行,程序給變量x賦了值,辦-1,所以,無論前期如何變化,最后的x值依然為-1。
55.C
56.C解析:a數(shù)組是字符串,系統(tǒng)會(huì)自動(dòng)地給它加一個(gè)結(jié)束標(biāo)志符'\\0',因此a的長度就變?yōu)?了,所以a數(shù)組比b數(shù)組長。
57.A
58.C解析:選項(xiàng)A)main();后面不應(yīng)該有分號;選項(xiàng)B)中的注釋語句不正確;選項(xiàng)D)的include前缺少#。
59.C解析:本題主要考查結(jié)構(gòu)體數(shù)組。a[2].age為結(jié)構(gòu)體a[2]的age成員,即16。a[3].name為指向結(jié)構(gòu)體a[3]的name成員的第一個(gè)元素的指針,即指向“Z”,(a[3].name+2)將指針后移兩位指向第三個(gè)元素“A”,*(a[3].name+2))是取指針?biāo)赶虻刂返膬?nèi)容。
60.B解析:賦值運(yùn)算符按照“從右往左”的結(jié)合順序。因此,先執(zhí)行x-=x-x,即x=x-(x-x)=10;再執(zhí)行x+=x,即x=x+x=20,故正確選項(xiàng)為B。
61.D
62.D因?yàn)閍是結(jié)構(gòu)體變量,最后一次輸入的值為結(jié)構(gòu)體中的值,即a中的任何一個(gè)值都為0。
63.B數(shù)據(jù)庫可以看成是長期存儲(chǔ)在計(jì)算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。數(shù)據(jù)庫可以被直觀地理解為存放數(shù)據(jù)的倉庫,只不過這個(gè)倉庫在計(jì)算機(jī)的大容量存儲(chǔ)器上,例如,硬盤就是一種最常見的計(jì)算機(jī)大容量存儲(chǔ)設(shè)備。數(shù)據(jù)必須按一定的格式存放,因?yàn)樗粌H需要存放,而且還要便于查找和使用。
數(shù)據(jù)庫管理系統(tǒng)(DBMS)是位于用戶與操作系統(tǒng)之間的完成數(shù)據(jù)管理的系統(tǒng)軟件。它是用戶與數(shù)據(jù)庫的接口。應(yīng)用程序一般要通過DBMS才能訪問數(shù)據(jù)庫。在數(shù)據(jù)庫建立、運(yùn)用和維護(hù)時(shí)對數(shù)據(jù)庫進(jìn)行統(tǒng)一控制。
數(shù)據(jù)庫系統(tǒng)是指在計(jì)算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。數(shù)據(jù)庫是整個(gè)數(shù)據(jù)庫系統(tǒng)最基本的成分。數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心。數(shù)據(jù)庫管理員是數(shù)據(jù)庫系統(tǒng)的責(zé)任維護(hù)者,負(fù)責(zé)對數(shù)據(jù)庫系統(tǒng)的整體維護(hù)。
綜上所述,本題中只有B選項(xiàng)的
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 采購年終工作總結(jié)3篇(企業(yè)采購年終工作總結(jié))
- 人教版數(shù)學(xué)八年級上冊13.1.2.1 線段的垂直平分線的性質(zhì)和判定教案
- 高一上學(xué)期體育與健康人教版 竹竿舞 力量素質(zhì) 教案
- 【核心素養(yǎng)目標(biāo)】第9課 辛亥革命 教案
- 第四課“巨人”輩出-文藝復(fù)興美術(shù)教案
- 2024年甲氨蝶呤項(xiàng)目資金籌措計(jì)劃書代可行性研究報(bào)告
- 粵教版初中化學(xué)九年級上冊 2.3 物質(zhì)構(gòu)成的奧秘(Ⅱ)-原子和離子 教案
- 【湘美版】四下 第7課 剪紙故事 教案
- 2023年秋人教版物理九年級上學(xué)期15.4電流的測量 教案
- 4.2《憐憫是人的天性》課件+2024-2025學(xué)年統(tǒng)編版高中語文選擇性必修中冊
- 2024年國開電大 高級財(cái)務(wù)會(huì)計(jì) 形考任務(wù)4答案
- 2024年駕駛證資格考試科目一必刷題庫及答案(共520題)
- 武漢大學(xué)慕課學(xué)術(shù)道德與學(xué)術(shù)規(guī)范試題答案
- HGE系列電梯安裝調(diào)試手冊(ELS05系統(tǒng)SW00004269,A.4 )
- 2021年成人高考高起本理化綜合考試模擬真題及答案
- 小學(xué)數(shù)學(xué)三年級下冊 《認(rèn)識分?jǐn)?shù)》說課課件
- 水電站水輪發(fā)電機(jī)組A級檢修施工組織設(shè)計(jì)[詳細(xì)]
- 瀝青及水穩(wěn)拌合站建設(shè)標(biāo)準(zhǔn)(附CAD圖)
- GA∕T 1737-2020 公安移動(dòng)信息網(wǎng)技術(shù)要求
- 現(xiàn)代漢語詞典附錄中的我國歷代紀(jì)元表19頁
- 高職課程標(biāo)準(zhǔn)改革存在的問題及對策
評論
0/150
提交評論