版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年貴州省貴陽(yáng)市全國(guó)計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.在具有n個(gè)結(jié)點(diǎn)的有序單鏈表中插入一個(gè)新結(jié)點(diǎn)并使鏈表仍然有序的時(shí)間復(fù)雜度是________
A.O(1)B.O(n)C.O(nlogn)D.O(n2)
2.有n個(gè)結(jié)點(diǎn)的二叉樹鏈表共有__________個(gè)空指針域。
A.n-1B.nC.n+1D.n+2
3.若f(n)=3n2+2n+1,則f(n)=()。
A.O(n2)B.O(n)C.O(2n)D.O(3n2)
4.
5.有以下程序voidf(intn,int*r){intr1=0;if(n%3==0)r1=n/3;elseif(n%5==0)r1=n/5;elsef(--n,&r1);*r=r1;}main(){intm=7,r;f(m,&r);printf("%d",r);}程序運(yùn)行后的輸出結(jié)果是A.2B.1C.3D.0
6.廣義表(a,b,c,d)的表頭是()。
A.aB.(a)C.(b,c,d)D.((b,c,c))
7.軟件需求分析一般應(yīng)確定的是用戶對(duì)軟件的______。
A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求
8.設(shè)有定義“doublex=5.16894;”,則語句“printf(“%lf\n”,(int)(x*1000+0.5)/1000.);”的輸出結(jié)果是()。
A.5.16900B.5.16800C.0.00000D.輸出格式說明符與輸出項(xiàng)不匹配,產(chǎn)生錯(cuò)誤信息
9.表達(dá)式“a+=a-=a=9”的值是()。
A.18B.-9C.0D.9
10.C語言可執(zhí)行程序的開始執(zhí)行點(diǎn)是()。
A.包含文件中的第一個(gè)函數(shù)B.程序中第一個(gè)函數(shù)C.程序中的main()函數(shù)D.程序中第一條語句
11.在一個(gè)C程序中
A.main函數(shù)必須出現(xiàn)在所有函數(shù)之前
B.main函數(shù)可以在任何地方出現(xiàn)
C.main函數(shù)必須出現(xiàn)在所有函數(shù)之后
D.main函數(shù)必須出現(xiàn)在固定位置
12.運(yùn)行下面程序段的輸出結(jié)果是().A.A.Set
B.Setup
C.Setup
D.'S''e''t'
13.有以下程序執(zhí)行程序時(shí),給變量X輸入l0,程序的輸出結(jié)果是()。
A.55B.54C.65D.45
14.設(shè)x,y,t均為int型變量,執(zhí)行語句:
x=y=3;
t=++x||++y;
完成后,y的值為A.A.不確定B.4C.3D.1
15.具有n個(gè)結(jié)點(diǎn)的連通圖至少有()條邊。
A.n-1B.nC.n(n-1)/2D.2n
16.若有如下程序段,其中s、a、b、c均已定義為整型變量,且a、c均已賦值(c大于0)s=a;for(b=1;b<=c;b++)s=s+1;則與上述程序段功能等價(jià)的賦值語句是()。
A.s=a+b;B.s=a+c;C.s=s+c;D.s=b+c;
17.下述程序向文件輸出的結(jié)果是______。#include<stdio.h>voidmain(){FILE*fp=fopen("TESY","wb");fprintf(fp,"%d%5.0f%c%d",58,76273.0,'-',2278);fclose(fp);}
A.5876273-2278
B.5876273.000000-2278
C.5876273-2278
D.因文件為二進(jìn)制文件而不可讀
18.以下程序段中,輸出信息不能正確反映變量大小關(guān)系的是()。
A.if(x>y)printf(“x>y”);if(x<y)printf(“x<y”);elseprintf(“x=y”);
B.if(x>=y)if(x>y)printf(“x>y”);elseprintf(“x=y”);elseprintf(“x<y”);
C.if(x>y)printf(“x>y”);if(y>x)printf(“x<y”);if(x==y)printf(“x=y”);
D.if(x>y)printf(“x>y”);elseif(y<x)printf(“x<y”);elseprintf(“x=y”);
19.直接選擇排序的時(shí)間復(fù)雜度為()。(n為元素個(gè)數(shù))
A.O(n)B.O(log2n)C.O(nlog2n)D.O(n2)
20.可以作為Windows外殼程序的是()
A.程序管理器B.文件管理C.程序管理器和文件管理器D.主群組
二、2.填空題(20題)21.下面程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
#defineSIZE12
main()
{chars[SIZE];intI;for(I=0;I<SIZE;I++)s[I]=′A′+I+321;
sub(s,7,SIZE-1);
for(I=0;I<SIZE;I++)printf("%c",s[I]);
printf("\n");}
sub(char*a,intt1,intt2)
{charch;
while(t1<t2)
{ch=*(a+t1);
*(a+t1)=*(a+t2);
*(a+t2)=ch;
t1++;t2--;}}
22.測(cè)試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而______的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。
23.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{inta=3,b=4,c=5,t=99;
if(b<a&&a<c)t=a;a=C;c=t;
if(a<c&&b<c)t=b;b=a;a=t
printf("%d%d%d\n",a,b,c);
}
24.以下程序運(yùn)行后的輸出結(jié)果是【】。
#defineS(x)4*x*x+1
main()
{inti=6,j=8;
printf("%d\n",S(i+j));
}
25.下列程序的輸出結(jié)果是______。
main()
{inta+,b=2,C=3,t=0;
ifa<B){t=a;a=b;b=t;}
ifa<C){t=a;a=c;c=t;}
printf("%d,%d,%dln",a,b,C);
}
26.以下條件表達(dá)式可計(jì)算:1+|a|的值,請(qǐng)?zhí)羁?。a>=0?[6]:[7]
27.若x和a均是int型變量,則計(jì)算完x=(a=4,6*2)后的x值為______。
28.下面程序的功能是:對(duì)字符串從小到大進(jìn)行排序并輸出,請(qǐng)?zhí)羁铡?/p>
#include"string.h"
#include"stdio.h"
sort(char*a[],intn)
{inti,j;
char*p;
for(j=1;j<=n-1;j++)
for(i=0;i<n-j;i++)
if(())>0)
{p=a[i];
a[i]=a[i+1];
a[i+1]=p;}
}
main()
{inti;
char*book[]={"itisme","itisyou","howareyou","fine","goodnight","goodbye"};
sort(());
for(i=0;i<6;i++)
printf("%s\n",book[i]);
}
29.下列程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{intx=1,y=1,a=1,b=1;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:
a++;b++;break;
}
printf("a=%d,b=%d\n",a,B);
}
30.下列程序執(zhí)行輸出的結(jié)果是【】。
#include<stdio.h>
f(inta)
{intb=0;
staticc=3;
a=c++,b++;
return(a);}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
printf("%d\n",k);}
31.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。
32.某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。
33.下面的函數(shù)fun的功能是將形參x的值轉(zhuǎn)換成二進(jìn)制數(shù),所得二進(jìn)制數(shù)的每一位放在一維數(shù)組中返回,二進(jìn)制的最低位放在下標(biāo)為0的元素中,其他依次類推,請(qǐng)?zhí)羁铡?/p>
fun(intx,intb[])
{intk=0,r;
do{
r=x%【】;
b[k++]=r;
x/=【】;
}while(x);}
34.下面程序的輸出是()。
main()
{intarr[8],i,k=0;
for(i=0;i<8;i++)
arr[i]=i;
for(i=1;i<5;i++)
k+=arr[i]+i;
printf("%d\n",k);
}
35.數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別為______模式、內(nèi)部級(jí)模式與外部級(jí)模式。
36.有如圖所示的雙鏈表結(jié)構(gòu),請(qǐng)根據(jù)圖示完成結(jié)構(gòu)體的定義:
structaa
{intdata;
【】}node;
37.無論對(duì)于順序存儲(chǔ),還是鏈接存儲(chǔ)的棧和隊(duì)列來說,進(jìn)行插入或刪除運(yùn)算的時(shí)間復(fù)雜性均相同,則為【】。
38.注釋一般分為序言性注釋和______注釋。
39.有以下定義和語句,則sizeof(a)的值是【】,而sizeof(a.share)的值是【】。
structdate
{intday;
intmouth;
intyear;
union{intshare1;
floatshare2;
}share;
}a;
40.面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中涉及的對(duì)象是系統(tǒng)中用來描述客觀事物的一個(gè)______。
三、1.選擇題(20題)41.以下錯(cuò)誤的定義語句是A.intx[][3]={{0},{1},{1,2,3}};
B.intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
C.intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
D.intx[][3]={1,2,3,4};
42.已知8個(gè)數(shù)據(jù)元素為(34,76,45,18,26,54,92,65),按照依次插入結(jié)點(diǎn)的方法生成一棵二叉排序樹后,最后2層上的結(jié)點(diǎn)總數(shù)為______。
A.1B.2C.3D.4
43.程序中若有如下說明和定義語句:charfun(char*);main(){char*s="one",a[5]={0},(*f1)()=fun,ch;┆}以下選項(xiàng)中對(duì)函數(shù)fun的正確調(diào)用語句是()。
A.(*f1)(a);B.*f1(*s);C.fun(&a);D.ch=*f1(s)
44.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是______。
A.程序的規(guī)模B.程序的易讀性C.程序的執(zhí)行效率D.程序的可移植性
45.若有定義: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");}
46.有以下程序
main()
{inti,s=1;
for(i=1;i<50;i++)
if(!(i%5)&&!(i%3))s+=i;
printf("%d\n",s);}
程序的輸出結(jié)果是
A.409B.277C.1D.91
47.下面程序的輸出結(jié)果是______。#include<string.h>main(){char*p1="abc",*p2="ABC",s[20]="xyz";strcpy(s+1,p2);strcat(s+2,p1);printf("%s\n",s);}
A.xABCabcB.zABCabcC.yzabcABCD.xyzABCabc
48.以下程序的運(yùn)行結(jié)果為______。main(){intx,*p,**q;x=10;p=&x;q=&p;printf("%d\n",**q);}
A.10B.9C.8D.11
49.若一個(gè)外部變量的定義形式為staticintx;,那么,其中static的作用應(yīng)該是______。
A.將變量存儲(chǔ)在靜態(tài)存儲(chǔ)區(qū)B.使變量x可以由系統(tǒng)自動(dòng)初始化C.使x只能在本文件內(nèi)引用D.使x的值可以永久保留
50.以下各選項(xiàng)企圖說明—種新的類型名,其中正確的是______。
A.typedefviint;
B.typedefV2=int;
C.typedefintv3;
D.lypedefv4:int
51.算法的空間復(fù)雜度是指()。
A.算法程序的長(zhǎng)度B.算法程序中的指令條數(shù)C.算法程序所占的存儲(chǔ)空間D.算法執(zhí)行過程中所需要的存儲(chǔ)空間
52.下列程序的輸出結(jié)果是()。#include<stdio.h>f(intA){intb=0;staticintc=4;a=c++;b++;return(A);}main(){inta=2,i,c;for(i=0;i<2;i++)c=f(a++);printf("%d\n",C);}
A.4B.7C.6D.5
53.下面四個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是()。
A.AP_0doB.floatla0_AC.b-agotointD._123tempint
54.下面程序的運(yùn)行結(jié)果是#include<stdio.h>main(){chara[]="morning",t;inti,j=0;for(i=1;i<7;i++)if(a[j]<a[i])j=i;t=a[j];a[j]=a[7];a[7]=a[j];puts[a];}
A.mrgninrB.moC.moringD.morning
55.有如下函數(shù)調(diào)用語句func(rec1,rec2+rec3,(rec4,rec5));該函數(shù)調(diào)用語句中,含有的實(shí)參個(gè)數(shù)是______。
A.3B.4C.5D.有語法錯(cuò)誤
56.若有定義和語句:int**pp,*p,a=20,b=1O;pp=&p;p=&a;p=&b;printf("%d,%d\n",*p,**pp);則輸出結(jié)果是()。
A.20,10B.20,20C.10,20D.10,10
57.下面各語句行中,能正確進(jìn)行賦值字符串操作的語句是()
A.charst[4][5]={"ABCDE"};
B.chars[5]={'A','B','C','D','E'}
C.char*s;s="ABCDE";
D.char*s;scanf(”%s”,s);
58.請(qǐng)讀程序:#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
59.X、Y、Z被定義為mt型變量,若從鍵盤給X、Y、2輸入數(shù)據(jù),正確的輸入語句是______。
A.INPUTX,Y,Z;
B.scanf("%d%d%d",&X,&Y,&Z);
C.scanf("%d%d%d",X,Y,Z);
D.read("%d%d%d",&X,&Y,&Z);
60.已知字符'A'的ASCII碼值是65,字符變量cl的值是'A',c2的值是'D'。執(zhí)行語句Printf("%d,%d",c1,c2-2);后,輸出結(jié)果是
A.A,BB.A,68C.65,66D.65,68
四、選擇題(20題)61.
62.
63.
64.以下選項(xiàng)中敘述錯(cuò)誤的是()。
A.C程序函數(shù)中定義的賦有初值的靜態(tài)變量,每調(diào)用一次函數(shù),賦一次初值
B.在同一函數(shù)中,各復(fù)合語句內(nèi)可以定義變量,其作用域僅限本復(fù)合語句內(nèi)
C.C程序函數(shù)中定義的自動(dòng)變量,系統(tǒng)不自動(dòng)賦確定的初值
D.C程序函數(shù)的性能不可以說明為static型變量
65.假定已建立以下鏈表結(jié)構(gòu),且指針p和q已指向如下圖所示的結(jié)點(diǎn):
則以下選項(xiàng)中,可將q所指結(jié)點(diǎn)從鏈表中刪除并釋放該結(jié)點(diǎn)的語句組是
A.(*p).next=(*q).next;free(p);B.p=q->next;free(q);
C.p=q;free(q);D.p->next=q->next;free(q);
66.設(shè)有說明double(*p1)[N];其中標(biāo)識(shí)符p1是()。
A.N個(gè)指向double型變量的指針。
B.指向N個(gè)double型變量的函數(shù)指針。
C.一個(gè)指向由N個(gè)double型元素組成的一維數(shù)組的指針。
D.具有N個(gè)指針元素的一維指針數(shù)組,每個(gè)元素都只能指向double型量。
67.下列敘述中正確的是()。
A.數(shù)據(jù)的邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu)是一一對(duì)應(yīng)的
B.算法的時(shí)間復(fù)雜度與空間復(fù)雜度一定相關(guān)
C.算法的效率只與問題的規(guī)模有關(guān),而與數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)無關(guān)
D.算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量
68.
69.
有以下程序:
voidswap(char*x,char*y)
{chart;
t=*x;*x=*y;*y=t;
}
main
{char*s1="abe",*s2="123":
swap(s1,s2);
printf("%s,%s\n",s1,s2);
}
程序執(zhí)行后的輸出結(jié)果是()。
A.123,abeB.abc.123C.1bc,a23D.321,cba
70.設(shè)有如下定義
char*s[2]={"abcd","ABCD"};
則下列說法錯(cuò)誤的是
A.s數(shù)組元素的值分別是″abcd″和″ABCD″兩個(gè)字符串的首地址
B.s是指針數(shù)組名,它含有兩個(gè)元素,分別指向字符型一維數(shù)組
C.s數(shù)組的兩個(gè)元素分別存放的是含有4個(gè)字符的一維字符數(shù)組中的元素
D.s數(shù)組的兩個(gè)元素中分別存放了字符′a′和′A′的地址
71.有以下程序執(zhí)行后的輸出結(jié)果是()。
A.5,11B.5,5C.11,11D.11,5
72.
73.設(shè)有如下定義:intx=10,y=3,z;則語句printf("%d\n",z=(x%y,x/y));的輸出結(jié)果是()。
A.1B.0C.4D.3
74.以下選項(xiàng)錯(cuò)誤的是
75.用鏈表表示線性表的優(yōu)點(diǎn)是()。
A.便于隨機(jī)存取B.花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少C.便于插入和刪除操作D.數(shù)據(jù)元素的物理順序與邏輯順序相同
76.在C語言中,函數(shù)返回值的類型最終取決于()。
A.函數(shù)定義時(shí)在函數(shù)首部所說明的函數(shù)類型
B.return語句中表達(dá)式值的類型
C.調(diào)用函數(shù)時(shí)主調(diào)函數(shù)所傳遞的實(shí)參類型
D.函數(shù)定義時(shí)形參的類型
77.
78.執(zhí)行語句“for(i=1;i++<;4;);”后,變量i的值是()。
A.3B.4C.5D.不定
79.若有說明語句:double*p,a;則通過scanf語句正確給輸入項(xiàng)讀人數(shù)據(jù)的程序段是()。
A.*p=&a;scanf("%1f”,p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%",*p);
D.p=&a;scanf("%1f",p);
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:計(jì)算S=f(-n)+(-n+1)+…+f(O)+f(1)+(2)+…+f(n)的值。例如,當(dāng)n為l0時(shí),函數(shù)值應(yīng)為22.550361。f(x)函數(shù)定義如下:請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.
參考答案
1.B
2.C
3.A
4.A
5.A解析:本題考查了函數(shù)的遞歸調(diào)用。在f函數(shù)中,當(dāng)m=7時(shí),程序執(zhí)行“f(--n,&r1);”語句,遞歸調(diào)用f(6,&r1),程序執(zhí)行“r1=n/3;”語句,即r1=\u30006/3=2,然后執(zhí)行“*r=r1;”語句,所以輸出結(jié)果為2。
6.A
7.DD。【解析】軟件需求分析中需要構(gòu)造一個(gè)完全的系統(tǒng)邏輯模型,理解用戶提出的每一功能與性能要求,使用戶明確自己的任務(wù)。因此,需求分析應(yīng)確定用戶對(duì)軟件的功能需求和非功能需求。
8.A表達(dá)式“(int)(x*1000+0.5)”使用了強(qiáng)制轉(zhuǎn)換,其計(jì)算結(jié)果為5169,(5169/1000.0)=5.169。所以“printf(“%lf\\n”,5.169);”結(jié)果是5.16900。故本題答案為A選項(xiàng)。
9.C首先計(jì)算表達(dá)式“a=9”;再計(jì)算表達(dá)式“a-=9”;即“a=a-9”,結(jié)果為0;最后計(jì)算表達(dá)式“a+=0”,即“a=a+0”,所以最終結(jié)果為0。故本題答案為C選項(xiàng)。
10.C解析:每個(gè)C程序有且只有一個(gè)主函數(shù)main(),且程序必須從main函數(shù)開始執(zhí)行,并在main()函數(shù)中結(jié)束。
11.B解析:一個(gè)完整的C語言程序有且僅有一個(gè)主函數(shù)(main()函數(shù))。程序總從main()函數(shù)的第一條語句開始執(zhí)行,到main()函數(shù)的最后一條語句結(jié)束,其他函數(shù)都是在執(zhí)行main()函數(shù)時(shí),通過函數(shù)調(diào)用或嵌套調(diào)用而得以執(zhí)行的。C語言規(guī)定,main()函數(shù)在程序中的位置是任意的,故選項(xiàng)A、選項(xiàng)C和選項(xiàng)D均不正確。所以,B選項(xiàng)為所選。
12.A
13.A本題考查的是遞歸算法的分析。一個(gè)直接或間接地調(diào)用自身的算法稱為遞歸算法。在一個(gè)遞歸算法中,至少要包含一個(gè)初始值和一個(gè)遞歸關(guān)系。本題的fun()函數(shù)在n等于l時(shí)返回1,而在其余情況下返[fi]n+fun(n一1),所以本題的遞歸算法可以這樣來表示:fun(n)=1(n=1)(初始值)fun(n)=n+fun(n一1)(n≠1)(遞歸關(guān)系)此時(shí)不難看出,該遞歸算法實(shí)現(xiàn)的是計(jì)算l+2+3+…+n,而且n必須大于0,否則會(huì)陷入死循環(huán)。故題目輸出的結(jié)果是l+2+3+..+10=55.應(yīng)該選擇A)。
14.Ct=++x或++y,當(dāng)++x不為0的時(shí)候,即++x為真,則不需要再繼續(xù)判斷++y,那么y就不再執(zhí)行自加,因此y=3.
15.A
16.B解析:本題考核的知識(shí)點(diǎn)是for循環(huán)次數(shù)的計(jì)算.本程序中for循環(huán)的次數(shù)為c-1+1共循環(huán)了c次,而每循環(huán)一次s的值加1,所以s的值為s+c.而最開始s的值為a,故4個(gè)選項(xiàng)中選項(xiàng)B符合題意.
17.C解析:fprintf函數(shù)工作時(shí),多個(gè)數(shù)據(jù)間不會(huì)自珈口分隔符,選項(xiàng)A錯(cuò)誤;浮點(diǎn)數(shù)的輸出格式是“%5.0f”表明其小數(shù)部分輸出0位,即沒有輸出,所以選項(xiàng)B也是錯(cuò)誤的。
18.A選項(xiàng)A中,若條件“x>y”為真,輸出“x>y”;若條件“x<y”為真,輸出“x<y”;若條件“x>=y”為真,輸出“x=y”。選項(xiàng)A錯(cuò)誤,其他選項(xiàng)都正確。故本題答案為A選項(xiàng)。
19.D
20.C
21.abcdefglkjIhabcdefglkjIh解析:本題主要考查了字符變量可參與的運(yùn)算。因?yàn)樽址谟?jì)算機(jī)中是以ASCII碼的形式存放的,所以字符變量可看作整型變量來處理,如參與算術(shù)運(yùn)算等,某字符的大寫字母的ASCII碼值比它對(duì)應(yīng)的小寫字母ASCII碼值小32。
22.調(diào)試調(diào)試
23.4599
24.8181解析:將S(i+j)展開來有:S(i+j)=S(6+8)=4×6+8×6+8+1=81。
25.3123,1,2解析:分析程序,第一個(gè)if句,a=1,b=2,控制條件a<b成立,則交換a、b的值,此時(shí)a=2,b=1。第二個(gè)if語句,a=2,c=3,控制條件a<c成立,則交換a、c的值,此時(shí)a=3,c=2。
26.
27.1212解析:x=(表達(dá)式1,表達(dá)式2,…)的形式,結(jié)果為最后一個(gè)表達(dá)式的值:x=(a=4,6*2)=2*6=12。
28.strcmp(a[i]a[i+1])book6strcmp(a[i],a[i+1])book,6解析:此程序段的功能是使字符串從大到小進(jìn)行排列。顯然,第一空白處,是利用strcmp函數(shù)比較字符串a(chǎn)[i]和a[i+1]的大小,若不符合題意,就進(jìn)行調(diào)換;main函數(shù)中,sort函數(shù)是對(duì)數(shù)組book中的字符串按從小到大進(jìn)行排序,所以第二空白處填入“book,6”(6是指book所指向的字符串的個(gè)數(shù))。
29.a=2b=3a=2,b=3解析:分析程序,程序從x=1語句開始執(zhí)行,之后執(zhí)行第一個(gè)switch語句,switch(x)=switch(1),所以執(zhí)行case1,case1語句中包含一個(gè)復(fù)合switch語句:這時(shí)執(zhí)行第二個(gè)switch語句,此時(shí)y=1,所以switch(y)=switch(1),因此執(zhí)行case1,將b加1,得到b=2,遇到break語句,退出第二個(gè)switch語句,則整個(gè)case1的復(fù)合語句執(zhí)行完畢,由于在這個(gè)case1的后面沒有break語句使其退出第一個(gè)switch語句,所以接著執(zhí)行下列的case2后面的語句,即將a,b各加1,得到a=2,b=3。
30.44解析:本題考查了靜態(tài)存儲(chǔ)類別的局部變量的特點(diǎn)。靜態(tài)存儲(chǔ)類別的局部變量在程序的整個(gè)生存周期內(nèi)都存在,但作用域卻只局限于定義它的函數(shù)或局部范圍。當(dāng)i=0時(shí)執(zhí)行第一次for循環(huán),k=f(2),a=c++,b++;因?yàn)橘x值運(yùn)算符的優(yōu)先級(jí)高于逗號(hào)運(yùn)算符,所以a=3,c=4;當(dāng)i=1時(shí)執(zhí)行第二次for循環(huán),k=f(3),a=c++,b++;因?yàn)閏為靜態(tài)局部變量所以保留著這一次執(zhí)行的結(jié)果值4,所以a=4,c=5,所以函數(shù)f()返回a的值為4。
31.數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)
32.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(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è)。
33.222\r\n2解析:深刻理解+進(jìn)制轉(zhuǎn)化為二進(jìn)制的方法,即取余法;數(shù)組名作為實(shí)參,在函數(shù)內(nèi)部可以直接修改調(diào)用函數(shù)中定義的數(shù)組的值。注意:掌握兩個(gè)數(shù)據(jù)進(jìn)行交換的算法原理。
34.20
35.概念(或概念級(jí))概念(或概念級(jí))
36.structaa*lhead*rchild;structaa*lhead,*rchild;解析:結(jié)構(gòu)體對(duì)鏈表的定義。
37.O(2)
38.功能性功能性解析:注釋一般分為序言性注釋和功能性注釋。序言性注釋通常位于每個(gè)程序的開頭部分,給出程序的整體說明;功能性注釋一般嵌在源程序體之中,主要描述其后的語句或程序做什么,
39.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。
40.實(shí)體實(shí)體
41.C解析:本題考查的是二維數(shù)組的定義和初始化方法。C語言中,在定義并初始化二維數(shù)組時(shí),可以省略數(shù)組第一維的長(zhǎng)度,但是不能省略第二維的長(zhǎng)度。故選項(xiàng)C)錯(cuò)誤。
42.B
43.A解析:程序中定義的n是一個(gè)指向函數(shù)fun的指針變量,即將函數(shù)fun的人口地址賦給指針變量f1,這時(shí)f1和fun都指向函數(shù)的開頭,調(diào)用*f1就是調(diào)用函數(shù)fun。注意,此時(shí)用函數(shù)指針變量調(diào)用函數(shù)時(shí),只需用(*f1)代替函數(shù)名fun即可,再在(*f1)后的括號(hào)中根據(jù)需要寫上實(shí)參,所以(%f1)(a);相當(dāng)于fun(a);故選項(xiàng)A)是正確的。
44.B解析:采用結(jié)構(gòu)化編程方法的好處主要在于:一是便于控制、降低程序的復(fù)雜性,因此便于編寫程序。二是程序清晰易讀,可理解性好。因此,結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是程序的易讀性,而不是程序的規(guī)模、程序的執(zhí)行效率和程序的可移植性。
45.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。
46.D解析:本題是計(jì)算50之內(nèi)的自然數(shù)相加之和,題中if語句括號(hào)中的條件表達(dá)式!(i%5)&&!(i%3)表明只有能同時(shí)被5和3整除的數(shù)才符合相加的條件,1~49之間滿足這個(gè)條件的只有,15、30和45,因?yàn)閟的初始值為1,所以s=1+15+30+45=91。
47.A解析:strcpy(s+1,p2)是字符串復(fù)制,s中的內(nèi)容變?yōu)?xABC',strcat(s+2,p1)是字符串連接(s的內(nèi)容已不是初始化的內(nèi)容,而是復(fù)制之后的內(nèi)容),結(jié)果為'xABCabc'。
48.A解析:程序中的p指向變量x,q被定義為二級(jí)指針,即指向指針的指針,其值為指針p的地址,因此,**q即是x,打印結(jié)果為10。
49.C解析:事實(shí)上,無論有無static修飾,外部變量都具有A、B和C三種特性。作為一種修飾,static僅是限制此類型外部變量韻引用范圍:只能在定義它的文件范圍內(nèi)使用。
50.C解析:C語言中可以使用typedef來重新定義已有的數(shù)據(jù)類型,相當(dāng)于數(shù)據(jù)類型取個(gè)別名。
51.D【解析】算法的空間復(fù)雜度是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。一個(gè)算法所占用的存儲(chǔ)空間包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲(chǔ)空間以及算法執(zhí)行中所需要的額外空間。其中額外空間包括算法程序執(zhí)行過程中的工作單元以及某種數(shù)據(jù)結(jié)構(gòu)所需要的附加存儲(chǔ)空間。如果額外空間量相對(duì)于問題規(guī)模來說是常數(shù),則稱該算法是原地工作的。在許多實(shí)際問題中,為了減少算法所占的存儲(chǔ)空間,通常采用壓縮存儲(chǔ)技術(shù),以便盡量減少不必要的額外空間。
52.D解析:本題考查靜態(tài)變量的使用方法和for循環(huán)。在函數(shù)調(diào)用時(shí),static變量在函數(shù)調(diào)用結(jié)束后所作的所有變化均不保持,所以當(dāng)i=1時(shí),第2次進(jìn)入f函數(shù)時(shí)c=5,所以最終main函數(shù)中c的值為5。
53.C解析:C語言規(guī)定的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線3種字符組成,第一個(gè)字符必須為字母或下劃線,并且不能使用C語言中的關(guān)鍵字作為標(biāo)識(shí)符。選項(xiàng)C)中g(shù)oto和int是關(guān)鍵字,b-a中'-'不是組成標(biāo)識(shí)符的3種字符之一;選項(xiàng)D)中int是關(guān)鍵字,所以,均是不合法用戶標(biāo)識(shí)符的選項(xiàng)是C)。
54.B解析:本題考查了一維數(shù)組元素的引用方法。題中數(shù)組a為一字符串?dāng)?shù)組,通過數(shù)組首地址和下標(biāo)可以引用數(shù)組中的每個(gè)元素。因?yàn)樽址麛?shù)組相當(dāng)于字符串,所以可以用字符串輸出函數(shù)puts()來輸出字符數(shù)組中的各個(gè)字符。
55.A解析:(rec4,rec5)是逗號(hào)表達(dá)式,它的值是rec5的值。所以該函數(shù)調(diào)用語句含有的實(shí)參個(gè)數(shù)是3。
56.D解析:本題考查指針變量的賦值。**pp是定義了一個(gè)指向指針的指針變量,語句pp=&p的意思是將pp指向指針p,*p和**pp都足指針p所指的內(nèi)存空間的內(nèi)容,即b的值。
57.C
58.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。
59.B解析:C語言中沒有輸入輸出語句,它是通過C語言提供的函數(shù)來實(shí)現(xiàn)的,本題C中,應(yīng)為變量地址。
60.C解析:在C語言中,字符型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是ASCII碼值。當(dāng)需要以整型格式輸出字符時(shí),輸出的也是ASCII碼值。字符'A'和'D'的ASCII碼值分別為65和68。
61.D
62.D
63.C
64.A靜態(tài)變量不是每調(diào)用一次就賦一次初值,而是將需要定義許多相同的具有相同屬性的值時(shí),使用靜態(tài)變量來節(jié)省空間,所以A選項(xiàng)錯(cuò)誤。
65.D題目中有兩個(gè)分別指向結(jié)點(diǎn)的指針p和q,其中p->next=q,q->next->data=C。要將q結(jié)點(diǎn)從鏈表中刪除,只要將指針p所指結(jié)點(diǎn)的next域指向q指針?biāo)附Y(jié)點(diǎn)的下一個(gè)結(jié)點(diǎn),即令p->next=q->next,也可以表示為(*p).next=(*q).next。操作完成后,便將q指針?biāo)附Y(jié)點(diǎn)從鏈表中刪除,隨后將該結(jié)點(diǎn)釋放即可。
66.C
67.D根據(jù)時(shí)間復(fù)雜度和空間復(fù)雜度的定義可知,算法的時(shí)間復(fù)雜度與空間復(fù)雜度并不相關(guān)。數(shù)據(jù)的邏輯結(jié)構(gòu)就是數(shù)據(jù)元素之間的邏輯關(guān)系,它是從邏輯上描述數(shù)據(jù)元素之間關(guān)系的,是獨(dú)立于計(jì)算機(jī)的;
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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)能力競(jìng)賽考核試卷含答案
- 道路客運(yùn)服務(wù)員變更管理測(cè)試考核試卷含答案
- 氯丁橡膠裝置操作工操作知識(shí)能力考核試卷含答案
- 2025年硫酸黏菌素類產(chǎn)品項(xiàng)目發(fā)展計(jì)劃
- 2025年燃?xì)獗眄?xiàng)目合作計(jì)劃書
- 2025年環(huán)境污染防治專用設(shè)備合作協(xié)議書
- 2025年吡嗪酮項(xiàng)目合作計(jì)劃書
- 2025年工商用制冷、空調(diào)設(shè)備項(xiàng)目合作計(jì)劃書
- 2025年汽車液力變矩器合作協(xié)議書
- 2025年雙氰胺合作協(xié)議書
- 消防安全隱患排查清單
- 新能源汽車火災(zāi)撲救課件
- 《醫(yī)學(xué)影像診斷報(bào)告書寫指南》(2025版)
- 紅酒倒酒知識(shí)培訓(xùn)總結(jié)報(bào)告課件
- 電大??啤豆残姓W(xué)》簡(jiǎn)答論述題題庫(kù)及答案
- 2025成人高考全國(guó)統(tǒng)一考試專升本英語試題及答案
- 代辦煙花爆竹經(jīng)營(yíng)許可證協(xié)議合同
- 國(guó)企員工總額管理辦法
- 企業(yè)級(jí)AI大模型平臺(tái)落地框架
- TD/T 1036-2013土地復(fù)墾質(zhì)量控制標(biāo)準(zhǔn)
- 蘇教版六年級(jí)數(shù)學(xué)上冊(cè)全冊(cè)知識(shí)點(diǎn)歸納(全梳理)
評(píng)論
0/150
提交評(píng)論