




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021-2022年四川省綿陽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.已定義c為字符型變量,則下列語句中正確的是()。
A.c='97'B.c="97"C.c=97D.c="a"
2.已知二叉樹后序遍歷序列是CDABE,中序遍歷序列是CADEB,它的前序遍歷序列是()
A.ABCDEB.ECABDC.EACDBD.CDEAB
3.
4.數(shù)據(jù)的存儲結(jié)構(gòu)是指()。
A.存儲在外存中的數(shù)據(jù)B.數(shù)據(jù)所占的存儲空間量C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式D.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示
5.設(shè)有以下說明,則不正確的敘述是()。
A.A.arr所占的內(nèi)存長度等于成員c的長度
B.arr的地址和它的各成員的地址都是同一地址
C.arr可以作為函數(shù)參數(shù)
D.不能在定義arr時(shí)對它初始化
6.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A.軟件集成測試計(jì)劃B.軟件詳細(xì)設(shè)計(jì)說明書C.用戶手冊D.軟件需求規(guī)格說明書
7.若有定義“a[]={1,2,3,4,5,6,7,8,9,10};”,則“a[a[5]-a[7]/a[1]]”的值是()。
A.2B.4C.3D.10
8.對于函數(shù)聲明“voidfun(intarray[4],int*ptr);”,以下敘述中正確的是()。
A.array、ptr都是指針變量
B.調(diào)用fun函數(shù)時(shí),實(shí)參的值將逐一復(fù)制給array
C.調(diào)用fun函數(shù)時(shí),array按值傳送,ptr按地址傳送
D.array是數(shù)組,ptr是指針,它們的性質(zhì)不同
9.設(shè)有定義“doublea[10],*s=a;”,以下能夠代表數(shù)組元素a[3]的是()。
A.(*s)[3]B.*(s+3)C.*s[3]D.*s+3
10.在C語言程序中,main函數(shù)的位置()
A.必須作為第一個(gè)函數(shù)B.必須作為最后一個(gè)函數(shù)C.可以任意D.必須放在它所調(diào)用的函數(shù)之后
11.
12.有以下程序:#includeintfun(intx,inty){if(x!=y)return(x+y)/2);elsereturn(x);}Main(){Inta=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c));}A.6B.3C.8D.12
13.
14.以下能正確定義一維數(shù)組的選項(xiàng)是______。
A.inta[5]={0,1,2,3,4,5};
B.chara[]={0,1,2,3,4,5};
C.chara={'A','B','C'};
D.inta[5]="0123";
15.設(shè)a,b,c,d,m和n均為int型變量,且a=5,b=6,c=7,d=m=2,n=2,則邏輯表達(dá)式(m=a>b)&&(n=c>d)運(yùn)算后,n的值為()
A.0B.1C.2D.3
16.可用作C語言用戶標(biāo)識符的一組標(biāo)識符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof
17.以下能正確定義一維數(shù)組的選項(xiàng)是()。
A.inta[5]=(0,1,2,3,4,5);
B.chara[]={0,1,2,3,4,5);
C.chara={'A','B','C'};
D.inta[5]="0123";
18.以下是根據(jù)文件大小分配存儲空間的一個(gè)算法偽代碼,請問其空間復(fù)雜度是多少()A.O(n)B.O(n^2)C.O(2^n)D.O(n*log(n))
19.下列運(yùn)算符中優(yōu)先級最低的算符是()。
A.||B.!=C.<;=D.十
20.
有以下程序
#include<stdio.h>
#include<string.h>
typedefstrlIct{charname[9];charsex;floatscore[2];}STU;
STUf(STUa)
{STUb={"Zhao",m,85.0,90.0);inti;
strcpy(aname,b.name);
sex:b.sex;
for(i=0;i<2;i++)a.score[i]=b.score[i];
returna;
}
main
{STUc="Qian",f,95.0,92.0},d;
d=f(c).printf("%s,%c,%2.0f,%2.0f",d.Name,d.sex,d.score[0],d.score[1]);
}
程序的運(yùn)行結(jié)果是()。
A.Qian,f,95,92
B.Qian,m,85,90
C.Zhao,m,85,90
D.Zhao,f,95,92
二、2.填空題(20題)21.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{inta=10,b=3;
printf("%d,",a%b);
printf("%d,",(a-h,a+b));
printf("%d\n",a-b?a-b:a+b);
}
22.若a的值為1,則表達(dá)式!a‖++a的值是______。
23.源程序文檔化要求程序應(yīng)加注釋。注釋一般分為序言性注釋和【】。
24.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),線性表、棧和隊(duì)列都屬于【】。
25.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下:
1
11
121
1331
14641
其構(gòu)成規(guī)律是:
①第0列元素和主對角線元素均為1;
②其余元素為其左上方和正上方元素之和;
③數(shù)據(jù)的個(gè)數(shù)每行遞增1。
請將程序補(bǔ)充完整。
#defineN6
voidYangHui(intx[N][N])
{inti,j;x[0][0]=1;
for(i=1;i<N;i++)
{x[i][0]=x[i][i]=1;
for(j=1;j<i;j++)
x[i][j]=【】;
}
}
26.與二維表中的“行”的概念最接近的概念是()。
27.數(shù)據(jù)庫管理系統(tǒng)是位于用戶與______之間的軟件系統(tǒng)。
28.對長度為8的線性表進(jìn)行冒泡排序,最壞情況下需要比較的次數(shù)為()。
29.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
30.在深度為7的滿二叉樹中,度為2的節(jié)點(diǎn)個(gè)數(shù)為()。
31.如下程序片段:
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ù)的正確形式為【】。
32.執(zhí)行以下程序的輸出結(jié)果是()。
#include<stdio.h>
#defineM5
#defineNM+M
main()
{intk;
k=N*N*5;printf(”%d\n",k);
}
33.下面的程序可對指定字符串進(jìn)行從大到小排序,請將程序填完整。(注:程序采用了冒泡排序算法)
#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(【】);
}
34.下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為[]。
35.設(shè)有如下變量說明,則a+(int)((int)b+c)>>(int)(b-c)的值為【】。
inta=5;floatb=7.2,c=3.6;
36.以下程序運(yùn)行后的輸出結(jié)果是【】。
voidfun()
{
staticinta=0;
a+=2;printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<4,cc++)fun();
printf("\n");
}
37.設(shè)有下列程序:
#include<stdio.h>
#include<string.h>
main()
{inti;
chars[10],t[10];
gets(t);
for(i=0;i<2;i++)
{gets(s);
if(strcmp(t,s)<0)strcpy(t,s);
}
printf("%s\n",t);
}
程序運(yùn)行后,從鍵盤上輸入(<CR>代表回車符):CDEF<CR>BADEF<CR>QTHRG<CR>,則程序的輸出結(jié)果是______。
38.表示“整數(shù)x的絕對值大于5”時(shí)值為“假”的C語言表達(dá)式是______。
39.下列程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{inta=2,b=-1,c=2;
if(a<b)
if(b<0)c=0;
elsec++;
printf("%d\n",c);
}
40.下面程序是把從終端讀入的20個(gè)字符作為字符串放在字符數(shù)組中,然后利用指針變量輸出上述字符串,請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti;chars[21],*p;
for(i=0;i<20;i++)
s[i]=getchar();
s[i]=【】;
p=【】;
while(*p)putchar(【】);
}
三、1.選擇題(20題)41.X、Y、Z被定義為int型變量,若從鍵盤給X、Y、Z輸入數(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);
42.以下關(guān)于typedef的敘述錯(cuò)誤的是()。
A.用typedef可以增加新類型
B.typedef只是將已存在的類型用一個(gè)新的名字來代表
C.用typedef可以為各種類型說明一個(gè)新名,但不能用來為變量說明一個(gè)新名
D.用typedef為類型說明一個(gè)新名,通??梢栽黾映绦虻目勺x性
43.下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){staticchara[]="Languagef",b[]="programe";char*p1,*p2;intk;p1=a;p2=b;for(k=0;k<=7;k++)if(*(p1+k)==*(p2+k))printf("%c",*(p1+k));}
A.gaeB.gaC.LanguageD.有語法錯(cuò)
44.若有以下的說明和語句,則在執(zhí)行for語句后,*(*(pt+1)+2)表示的數(shù)組元素是______。intt[3][3],*pt[3],k;for(k=0;k<3k++)pt[k]=&t[k][0]
A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]
45.若有定義語句:intk[2][3],*pk[3];,則以下語句中正確的是A.pk=k;B.pk[0]=&k[1][2];C.pk=k[0];D.pk[1]=k;
46.有以下程序:main(){inta=15,b=21,m=0;switch(a%3){case0:m++;break;case1:m++;switch(b%2){default:m++;case0:m++;break;}rintf("%d\n",m);}程序運(yùn)行后的輸出結(jié)果是()。
A.1B.2C.3D.4
47.對長度為n的線性表進(jìn)行順序查找,在最壞情況下所需要的比較次數(shù)為()。
A.log2nB.n/2C.nD.n+1
48.沒有定義語句intx[6]={2,4,6,8,5,7},*p=x,i;要求依次輸出x數(shù)組6個(gè)元素中的值,不能完成此操作的語句是
A.for(i=0;i<6;i++)printf("%2d",*(p++));
B.for(i=0;i<6;i++)printf("%2d",*(p+i);
C.for(i=0;i<6;i++)printf("%2d",*p++);
D.for(i=0;i<6;i++)printf("%2d",(*p)++);
49.以下敘述中錯(cuò)誤的是()。
A.改變函數(shù)形參的值,不會改變對應(yīng)實(shí)參的值
B.函數(shù)可以返回地址值
C.可以給指針變量賦一個(gè)整數(shù)作為地址值.
D.當(dāng)在程序的開頭包含頭文件stdio.h時(shí),可以給指針變量賦NULL
50.若變量已正確定義,有以下程序段inta=3,b=5,c=7;if(a>b)a=b;c=a;if(c!=a)c=b;printf("%d,%d,%d\n",a,b,c);其輸出結(jié)果是
A.程序段有語法錯(cuò)B.3,5,3C.3,5,5D.3,5,7
51.數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究數(shù)據(jù)的邏輯結(jié)構(gòu)、對各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算,以及()。A.A.數(shù)據(jù)的存儲結(jié)構(gòu)B.計(jì)算方法C.數(shù)據(jù)映象D.邏輯存儲
52.設(shè)int型占2個(gè)字節(jié),則unsignedint所能表示的數(shù)據(jù)范圍是______。
A.0~65535B.-32769~32767C.1~65536D.0~32767
53.以下程序運(yùn)行后的輸出結(jié)果是______。intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);returnd;}main(){inta=3;printf("%d\n",fun(a+fun(d)));}
A.699B.669C.61515D.6615
54.已知inta=2,b=3;則執(zhí)行表達(dá)式a=a<b后,變量a的值為()。
A.0B.1C.2D.3
55.有以下程序:#include<stdio.h>main(){intc;while((c=getchar())!='\n')switch(c-'2'){case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+4);case4:putchar(c+4);break;}printf("\n");}輸入以下數(shù)據(jù),<CR>代表一個(gè)回車符,2743<CR>程序的輸出結(jié)果是()。
A.877B.966C.778D.766
56.下列說法正確的是()
A.在執(zhí)行C程序時(shí)不是從main函數(shù)開始的
B.C程序書寫格式嚴(yán)格限制,一行內(nèi)必須寫一個(gè)語句
C.C程序書寫格式自由,一個(gè)語句可以分寫在多行上
D.C程序書寫格式嚴(yán)格限制,一行內(nèi)必須寫一個(gè)語句,并要有行號
57.要正確定義并初始化一個(gè)數(shù)組a,它含有5個(gè)元素,則正確的語句是______。
A.inta[5]=(0,0,0,0,0);
B.inta[5]={};
C.inta[]={0,0,0,0,0};
D.inta[]={5*0};
58.下列4項(xiàng)說法中,不正確的是______。
A.數(shù)據(jù)庫減少了數(shù)據(jù)冗余B.數(shù)據(jù)庫中的數(shù)據(jù)可以共享C.數(shù)據(jù)庫避免了一切數(shù)據(jù)的重復(fù)D.數(shù)據(jù)庫具有較高的數(shù)據(jù)獨(dú)立性
59.能將高級語言程序轉(zhuǎn)換成目標(biāo)語言程序的是______。
A.調(diào)試程序B.解釋程序C.編譯程序D.編輯程序
60.若變量已正確定義,要求通過scanf("%c%d%c%d",&c1,&a,&c2,&B)語句給變量a和b分別賦32和45,給變量c1和c2分別賦字符A和B;下列選項(xiàng)中數(shù)據(jù)從第1列開始輸入,正確的輸入形式是()。
A.A32<CR>B45<CR>B.A45<CR>B32<CR>C.A32B45<CR>D.A32B45<CR>
四、選擇題(20題)61.
62.以下不能將a所指字符串正確復(fù)制到所指存儲空間的是()。
63.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.2.3B.1,3C.1,4D.1,2
64.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.6B.3C.8D.12
65.在深度為5的滿二叉樹葉中,葉子結(jié)點(diǎn)的個(gè)數(shù)為()。
A.32B.31C.16D.15
66.若有以下語句:typedefstructS{int9;charh;}T;以下敘述中正確的是()。
A.可用s定義結(jié)構(gòu)體變量B.可用T定義結(jié)構(gòu)體變量C.S是struct類型的變量D.T是structS類型的變量
67.
下述程序的輸出結(jié)果是()。
#include<stdio.h>
main
{inta[2][3]={{1,2,3),{4,5,6}},(*p)[3],i;
p=a;
for(i=0;i<3;i++)
{if(i<2)
p[1][i]=p[1][i]一1;
else
p[1][i]=1;)
printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}
A.8B.7C.12D.9
68.
69.以下不構(gòu)成無限循環(huán)的語句或語句組是()。
70.
71.以下程序段中,與語句“k—a>b?(b>c?1:O):0;”功能相同的是()。
A.if(a>b)(b>c)k=1;elsek=0;
B.if((a>b)‖(b>c))k=1;elsek=0;
C.if(a<=b)k=0;elseif(b>c)k=1;
D.if(a>b)k=1;elseif(b<=c)k=1;elsek=0:
72.
73.若a是數(shù)直類型,則邏輯表達(dá)式的值是()。A.1B.0C.2D.不知道a的值,不能確定
74.以下選項(xiàng)錯(cuò)誤的是
75.閱讀下面程序段,則執(zhí)行后的結(jié)果為()。
A.64B.8C.56D.0
76.現(xiàn)有如下程序段:
則程序的輸出結(jié)果為()。
A.78B.23C.21D.28
77.
78.
79.對于一個(gè)正常運(yùn)行的C程序,以下敘述中正確的是()。A.程序的執(zhí)行總是從main函數(shù)開始
B.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在main函數(shù)結(jié)束
C.程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束
D.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開始,在程序的最后一個(gè)函數(shù)中結(jié)束
80.在下列選項(xiàng)中,沒有構(gòu)成死循環(huán)的是
五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)proc的功能是:取出長整型變量s中偶數(shù)位上的數(shù),依次構(gòu)成一個(gè)新數(shù)放在t中。例如,當(dāng)s中的數(shù)為l23456789時(shí),t中的數(shù)為2468。請修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.有一個(gè)一維數(shù)組,內(nèi)放10個(gè)學(xué)生成績,寫一個(gè)函數(shù),求出平均分。
參考答案
1.C解析:本題考核的知識點(diǎn)是字符型變量的基本概念。用單引號括起來的一個(gè)字符稱為字符常量,而選項(xiàng)B和選項(xiàng)D中用的是雙引號,而用雙引號括起來的字符為字符串常量,故選項(xiàng)B和選項(xiàng)D不正確。因?yàn)樵贑語言中,字符常量在存儲時(shí),并不是把該字符本身放到內(nèi)存單元中去,而是將該字符的相應(yīng)的ASCII代碼放到存儲單元中,所以C語言使字符型數(shù)據(jù)和整形數(shù)據(jù)之間可以通用,選項(xiàng)C正確.而選項(xiàng)A中,給字符型變量賦值時(shí)只能賦一個(gè)字符,而9,7作為字符時(shí)為兩個(gè)字符且必須分別為單引號括起來,故選項(xiàng)A不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
2.C由于后序遍歷的最后一個(gè)兒素為E,所以E為根結(jié)點(diǎn),所以它的前序遍歷的首個(gè)元素為E,敞排除A)和D)選項(xiàng)。由于中序遍歷中,元素B在元素根結(jié)點(diǎn)E自:J后面,所以B為二叉樹的右子樹,并且該二叉樹右子樹只有一個(gè)兒素,所以前序遍歷的最后一個(gè)元素應(yīng)為B,故選項(xiàng)C)為正確選項(xiàng),即該二叉塒的前序遍歷序列是EACDB。
3.A
4.D數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系的數(shù)據(jù)結(jié)構(gòu)。數(shù)據(jù)的存儲結(jié)構(gòu)則是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的物理實(shí)現(xiàn),有時(shí)也稱作數(shù)據(jù)的物理結(jié)構(gòu)。兩者的區(qū)別是數(shù)據(jù)的邏輯結(jié)構(gòu)只涉及到數(shù)據(jù)之間抽象的數(shù)學(xué)關(guān)系。存儲結(jié)構(gòu)則涉及到如何在計(jì)算機(jī)中通過對數(shù)據(jù)的物理存儲進(jìn)行組織來表達(dá)數(shù)據(jù)元素之間的邏輯關(guān)系。比如在線性表的順序存儲中是利用物理存儲空間上的連續(xù)性來表達(dá)線性表中數(shù)據(jù)的前后件關(guān)系;在線性表的鏈?zhǔn)酱鎯χ惺峭ㄟ^指針域構(gòu)成的邏輯鏈條來表達(dá)數(shù)據(jù)的前后件關(guān)系。一般的,一種數(shù)據(jù)的邏輯結(jié)構(gòu)對應(yīng)的物理實(shí)現(xiàn),即數(shù)據(jù)的存儲結(jié)構(gòu)不止一種。因此選項(xiàng)D正確。
5.C本題主要考查聯(lián)合體的內(nèi)存使用:聯(lián)合體所占用的內(nèi)存空間為最長的成員所占用的空間,int占2個(gè)字節(jié),char占1個(gè)字節(jié),float占4個(gè)字節(jié),所以arr所占的內(nèi)存長度等于成員c的長度:arr的地址和它的各成員的地址都是同一地址;不能直接對arr賦值,即不能在定義arr時(shí)對它初始化:arr也不可以作為函數(shù)參數(shù)。
6.D需求分析階段的工作可以概括為:需求獲取、需求分析、編寫需求規(guī)格說明書、需求評審四個(gè)方面。所以選擇D。
7.C題干中,數(shù)組a包含10個(gè)元素。其中a[5]為6,a[7]為8,a[1]為2,所以表達(dá)式“a[a[5]-a[7]/a[1]]”等價(jià)于“a[6-8/2]”,等價(jià)于a[2],即3。故本題答案為C選項(xiàng)。
8.A聲明函數(shù)fun“voidfun(intarray[4],int*ptr);”,第1個(gè)參數(shù)雖然是數(shù)組類型,但是會退化為指針,并且形參數(shù)組的個(gè)數(shù)沒有用;第2個(gè)參數(shù)是指針。兩個(gè)形參都是指針,傳遞的都是地址,可知選項(xiàng)B、C、D錯(cuò)誤。故本題答案為A選項(xiàng)。
9.B題中,首先定義了double型的數(shù)組a,并將數(shù)組首地址賦給指針s。“(*s)”表示“a[1]”,“s[3]”不是指針變量,不能使用間址運(yùn)算符“*”,故選項(xiàng)A、C不能表示“a[3]”;選項(xiàng)D的“*s+3”等于“a[0]+3”。故本題答案為B選項(xiàng)。
10.C
11.D
12.A本題中第一次調(diào)用為fun(8,fun(5,6)),因?yàn)閒un(5,6)返回值為5,所以第二次調(diào)用為fun(8,5)=6。所以選擇A)。
13.C
14.B解析:選項(xiàng)A)定義的是長度為5的數(shù)組元素,但初值有6個(gè)元素,所以錯(cuò)誤;選項(xiàng)C)不符合數(shù)組定義形式,數(shù)組名后應(yīng)加上“[];選項(xiàng)D)的類型說明符錯(cuò)誤,應(yīng)改為char;選項(xiàng)B)中的0,1,2,3,4,5分別表示對應(yīng)字符的ASCII碼,所以正確。
15.C
16.B
17.B數(shù)組1標(biāo)從0開始,A選項(xiàng)中所賦值的個(gè)數(shù)超過了數(shù)組的長度;C選項(xiàng)中定義a為字符型變量,而不是數(shù)組,賦值錯(cuò)誤;D選項(xiàng)中,整型數(shù)組不能賦字符串。
18.C
19.AC語言中規(guī)定運(yùn)算符的優(yōu)先順序:一元算術(shù)運(yùn)算符一>二元算術(shù)運(yùn)算符一>關(guān)系運(yùn)算符一>邏輯運(yùn)算符一>賦值運(yùn)算符,A項(xiàng)中為邏輯運(yùn)算符,B項(xiàng)和c項(xiàng)都為關(guān)系運(yùn)算符,D項(xiàng)為一元運(yùn)算符。因此最低的是A項(xiàng)。
20.Cf函數(shù)的功能是對形參a的各個(gè)成員用結(jié)構(gòu)體變量b的各個(gè)成員進(jìn)行賦值后,然后返回變量a。
21.11371,13,7解析:本題考查3個(gè)知識點(diǎn):①余數(shù)的計(jì)算,題中的a=10,b=3,a%b=1:②(表達(dá)式1,表達(dá)式2)形式的結(jié)果為最后一個(gè)表達(dá)式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運(yùn)算符的使用,題中的a-b?a-b:a+b,判斷語句a-b=7不為0,所以執(zhí)行a-b,結(jié)果為7。
22.11解析:邏輯運(yùn)算中,非1即0,非0即1,!a=0,++a為邏輯1,所以0和1相或結(jié)果為1。
23.功能性注釋功能性注釋解析:注釋一般分為序言性注釋和功能性注釋。序言性注釋通常位于每個(gè)程序的開頭部分,它給出程序的整體說明;功能性注釋的位置一般嵌在源程序體之中戶主要描述其后的語句或程序做什么。
24.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:本題考查了數(shù)據(jù)結(jié)構(gòu)的基本概念。與棧類似,隊(duì)列也是線性表,可以采用鏈?zhǔn)酱鎯Y(jié)構(gòu),所以帶鏈的隊(duì)列屬于線性結(jié)構(gòu)。
25.x[i-1][j-1]+x[i-1][j]x[i-1][j-1]+x[i-1][j]解析:在程序外層i循環(huán)中先將數(shù)組的第0列元素和主對角線元素置1,內(nèi)層j循環(huán)的功能是給其余元素賦值,根據(jù)題意,空格內(nèi)應(yīng)填入x[i-1][j-1)+x[i-1][j]。
26.元組元組解析:在關(guān)系模型中,數(shù)據(jù)結(jié)構(gòu)用單一的二維表結(jié)構(gòu)來表示實(shí)體及實(shí)體間的聯(lián)系。一個(gè)關(guān)系對應(yīng)一個(gè)二維表。二維表中的列稱為屬性,屬性值的取值范圍稱為值域。二維表中的一行稱為一個(gè)元組。
27.操作系統(tǒng)操作系統(tǒng)解析:數(shù)據(jù)庫管理系統(tǒng)是幫助用戶創(chuàng)建和管理數(shù)據(jù)庫的應(yīng)用程序的集合。因此,數(shù)據(jù)庫管理系統(tǒng)需要操作系統(tǒng)的支持,為用戶提供服務(wù)。
28.2828解析:在最壞情況下,冒泡排序所需要的比較次數(shù)為n(n-1)/2;簡單插入排序所需要的比較次數(shù)為n(n-1)/2;希爾排序所需要的比較次數(shù)為O(n1.5);堆排序所需要的比較次數(shù)為O(nlog2n)。
29.軟件開發(fā)
30.6363解析:滿二叉樹的第k層上有2k-1個(gè)結(jié)點(diǎn),度為k的滿二叉樹一共有2k-1個(gè)結(jié)點(diǎn),由二叉樹的性質(zhì)可知:除去第k層上的結(jié)點(diǎn),其他所有結(jié)點(diǎn)都是度為2的結(jié)點(diǎn),所以度為2的結(jié)點(diǎn)數(shù)為2k-1-2k-1,即27-1-27-1=63。
31.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è)字符作為分隔符。
32.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。
33.str[i]str[i+1]"%s"strstr[i]\r\nstr[i+1]\r\n'%s',str解析:本題要求將字符串str中的字符用冒泡排序算法從大到小排列,其實(shí)現(xiàn)過程是將相鄰兩個(gè)字詞進(jìn)行比較,如果當(dāng)前字符小于下一個(gè)字符,則通過中間變量temp將字符兩兩交換,所以第一空應(yīng)填:str[i],第二空應(yīng)填:str[i+1]。最終打印輸出得到的字符串str,所以第三空應(yīng)填:'%s',str。
34.33解析:軟件系統(tǒng)結(jié)構(gòu)圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示。
35.11解析:在表達(dá)式a+(int)((int)b+c)>>(int)(b-c)中圓括號最優(yōu)先,其次為類型轉(zhuǎn)換(int)、加法+、減法-、右移運(yùn)算>>。所以先看兩個(gè)圓括號((int)b+c)和(b-c),前者b先被轉(zhuǎn)換為int型7,然后與c相加得10.6,后者結(jié)果是3.6,現(xiàn)在表達(dá)式為a+(iot)10.6>>(int)3.6。C語言中,float型轉(zhuǎn)換為int型是截尾取整,所以表達(dá)式進(jìn)一步簡化為5+10>>3=>15>>3。由于15的二進(jìn)制為000011112(下標(biāo)),所以15>>3的結(jié)栗是000000012(下標(biāo)),即1。
36.246246解析:static聲明的外部變量只限于被本文件引用,而不能被其他文件引用。用static來聲明一個(gè)變量的作用有:①對局部變量用static聲明,則為該變量分配的空間在整個(gè)程序執(zhí)行期間始終存在;②全部變量用static聲明,則該變量的作用域只限于本文件模塊(即被聲明的文件中)。
37.QTHRGQTHRG解析:strcmp(t,s)函數(shù)用來比較t和s所指字符串的大小,若t>s,則函數(shù)值大于0;若t=s,則函數(shù)值等于0:若t<s,則函數(shù)值小于0。strcpy(t,s)函數(shù)的功能是把字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指的存儲空間中。本題中,t[10]='CDEF'。第一次循環(huán),s[10]='BADEF',if語句的控制條件strcmp(t,s)<0不成立,接著執(zhí)行第二次循環(huán).s='QTHRG',if語句的控制條件strcmp(t,s)<0成立,執(zhí)行下列的語句,將字符數(shù)組s所指字符串的內(nèi)容復(fù)制到字符數(shù)組t所指的存儲空間中,然后輸出字符數(shù)組t。
38.(x>-5)&&(x<5)(x>-5)&&(x<5)解析:本題考查基本邏輯表達(dá),“整數(shù)x的絕對值大于5”時(shí)值為“假”,即整數(shù)x的絕對值小于等于5,也就是整數(shù)x要大于等于-5且要小于等于5。這里“且”用“與(&&)”表示,所以C語言表達(dá)式為:(x>-5)&&(x<5)。
39.22解析:分析程序,a=2,b=-1,c=2時(shí),if語句的表達(dá)式a<b不成立,不再往下判斷,直接退出if語句,執(zhí)行后面的輸出語句,程序結(jié)束。在這個(gè)程序中a、b、c的值沒做任何改變。
40.\0's*p++\\0'\r\ns\r\n*p++解析:本題先通過for循環(huán)從鍵盤接收20個(gè)字符,然后在串尾賦一空值'\\0'作為串結(jié)束標(biāo)志。再使指針p指向串的首地址。最后通過while循環(huán)對字符串進(jìn)行掃描并輸出。
41.B解析:scanf()函數(shù)要求將輸入的數(shù)據(jù)存入變量所在的地址。選項(xiàng)A不是C語言中的輸入語句,故選項(xiàng)A不正確;選項(xiàng)C中輸入的是變量字符串而不是地址字符串,不滿足scanf()函數(shù)要求將輸入的數(shù)據(jù)存入變量所在的地址,故選項(xiàng)C不正確;選項(xiàng)D不是C語言中的輸入語句,故選項(xiàng)D不正確:所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
42.A解析:本題考查的重點(diǎn)是typedef的理解運(yùn)用。C語言允許通過typedef為數(shù)據(jù)類型定義新名字,但是,它并非是生成新的數(shù)據(jù)類型,因此選項(xiàng)A是錯(cuò)誤的。
43.A解析:指針p1+k相當(dāng)于指針P1向后移動了k個(gè)字符的位置,指針p2同理。
44.C解析:本題考查通過指針引用數(shù)組元素。*(*(pt+1)+2)等價(jià)于*(pt[1]+2),pt[1]+2是t[1][2]的地址,故*(pt[1]+2)是t[1][2]的值。
45.B答案B
解析:*pk[3]表示的是一個(gè)共有3個(gè)元素的一維指針數(shù)組。pk[0]=&k=[1][2]表示把二維數(shù)組中下標(biāo)為k[1][2]的值賦予pk[0],也就是pk[0]指向k[1][2]這個(gè)元素。
46.A解析:本題中首先計(jì)算switch后面括號里的表達(dá)式a%3,即15%3為0;執(zhí)行case0:后面的語句m++:m自加1,即m為1遇到break語句;然后跳出switch語句,所以最后輸出的m的值為1。所以選項(xiàng)A正確。
47.C本題考查的是順序查找。在進(jìn)行順序查找過程中,如果線性表中的第一個(gè)元素就是被查找元素,則只需做一次比較就查找成功,查找效率最高;但如果被查找的元素是線性表中的最后一個(gè)元素,或者被查找的元素根本就不在線性表中,則為了查找這個(gè)元素需要與線性表中所有的元素進(jìn)行比較,這是順序查找的最壞情況。所以對長度為n的線性表進(jìn)行順序查找,在最壞情況下需要比較n次。故本題答案為C。
48.D解析:本題首先定義了一個(gè)一維數(shù)組并初始化,接著定義了一個(gè)指針變量p指向數(shù)組x。因此可以通過指針p的下移,即每次加1引用數(shù)組x中的元素,來指向數(shù)組中的每個(gè)元素,這樣循環(huán)6次即可引用數(shù)組的每個(gè)元素。選項(xiàng)A、B和選項(xiàng)C滿足要求,而在選項(xiàng)D中表達(dá)式為(*p)++,該表達(dá)式是先取*p的值然后將其值加1,而沒有將指針下移一位。
49.C解析:函數(shù)形參和實(shí)參分別占用不同的內(nèi)存單元,改變形參的值不會影響對應(yīng)實(shí)參的值,選項(xiàng)A)正確。指針類型的函數(shù)可以返回地址值,選項(xiàng)B)正確。在文件stdio.h中,NULL被定義為void型的指針,選項(xiàng)D)也正確。指針變量的值只能是存儲單元地址,而不能是一個(gè)整數(shù),選項(xiàng)C)錯(cuò)誤。
50.B解析:本題考查if條件語句。a=3,b=5,因此a>b條件不成立,c=a=3。此時(shí)c!=a條件不成立,不執(zhí)行c=b;語句,c的值仍然為5。結(jié)果a=3,b=5,c=3。
51.A解析:數(shù)據(jù)結(jié)構(gòu)作為計(jì)算機(jī)的一門學(xué)科,主要研究和討論以下三個(gè)方面的問題:①數(shù)據(jù)集合中各數(shù)據(jù)元素之間所固有的邏輯關(guān)系,即數(shù)據(jù)的邏輯結(jié)構(gòu);②在對數(shù)據(jù)進(jìn)行處理時(shí),各數(shù)據(jù)元素在計(jì)算機(jī)中的存儲關(guān)系,即數(shù)據(jù)的存儲結(jié)構(gòu);③對各種數(shù)據(jù)結(jié)構(gòu)進(jìn)行的運(yùn)算。
52.A解析:本題int型占2個(gè)字節(jié),即16位,unsignedint所能表示的數(shù)據(jù)范圍是0~(2(上標(biāo))16-1),即0~65535。
53.C解析:靜態(tài)局部變量在編譯時(shí)賦初值,即只賦初值一次,在程序運(yùn)行時(shí)它已有初值。以后每次調(diào)用時(shí)不再重新賦初值而只是保留上次函數(shù)調(diào)用結(jié)束時(shí)的值,而對自動變量賦初值,不是在編譯時(shí)進(jìn)行的,而在函數(shù)調(diào)用時(shí)進(jìn)行,每調(diào)用一次函數(shù)重新給一次初值,相當(dāng)于執(zhí)行一次賦值語句。本題在程序開頭定義了全局變量d并賦初值1,在被調(diào)函數(shù)fun()中,定義了靜態(tài)局部變量d,初值為5。在第一次調(diào)用函數(shù)fun時(shí),d初值為5,p由主函數(shù)傳遞過來的值為1,則d=d+p=5+1=6,由于d是靜態(tài)局部變量,在函數(shù)調(diào)用結(jié)束后,它仍保留d=6。再次調(diào)用fun函數(shù),d的初值為6,而由主函數(shù)傳遞的p的值為9,則此時(shí)d=d+p=6+9=15,最后打印輸出d的值并返回主函數(shù)。
54.B解析:先計(jì)算關(guān)系表達(dá)式a<b=2<3為真(表達(dá)式為真時(shí),如果變量為int型變量則真用1表示,假用0表示),即a=1。
55.A解析:本題通過一個(gè)while循環(huán)向鍵盤緩沖區(qū)讀取字符,直到讀到的字符是回車鍵結(jié)束循環(huán)。當(dāng)讀到的c為'2'時(shí),c-'2'為0,switch語句中沒有case0:所以沒有輸出,繼續(xù)讀下一個(gè);當(dāng)c為'7'時(shí),c-'2'=5,也沒有輸出;當(dāng)c為'4'時(shí),c-'2'=2,執(zhí)行case2:后面的語句輸出一個(gè)字符c+4='4'+4='8';當(dāng)c為'3'時(shí),c-'2'=1,執(zhí)行case1:后面的語句,連續(xù)輸出兩次c+4='3'+4='7'。故程序輸出結(jié)果是877,應(yīng)該選擇A。
56.C
57.C解析:A項(xiàng)是錯(cuò)誤的,賦值時(shí)用的是花括號而不是圓括號。B項(xiàng)錯(cuò)在不能初始化時(shí)在花括號內(nèi)為空。D項(xiàng)錯(cuò)在不可以用表達(dá)式對數(shù)組一一賦值。C項(xiàng)雖然沒有直接定義數(shù)組的大小,但是初始化時(shí)只賦了5個(gè)元素的值,系統(tǒng)會自動定義數(shù)組的大小為5,這種形式是正確的。
58.C解析:數(shù)據(jù)庫系統(tǒng)具有以下4個(gè)特點(diǎn):數(shù)據(jù)的集成性、數(shù)據(jù)的高共享性與低冗余性、數(shù)據(jù)的獨(dú)立性、數(shù)據(jù)統(tǒng)一管理與控制。
59.C解析:用高級語言編寫的程序稱為“源程序”,而計(jì)算機(jī)只能識別和執(zhí)行由O和1組成的二進(jìn)指令,所以高級語言必須先用—種稱為“編譯程序”的軟件,把源程序翻譯成二進(jìn)制形式的“目標(biāo)程序”。
60.D解析:本題考查scanf函數(shù)的基本格式。當(dāng)需要從鍵盤上輸入數(shù)據(jù)時(shí),輸入的數(shù)值之間需要有間隔符(空格符號、制表符號、回車符號),間隔符號的使用數(shù)量不限。直到按下回車鍵,scanf函數(shù)才會接受從鍵盤輸入的數(shù)據(jù)。
61.C
62.Ado{*t++=*s++;}while(*s);,不能因?yàn)楫?dāng)*s=’\0。時(shí),while(*s)跳出循環(huán),這樣字符串結(jié)束標(biāo)志’\0’沒有復(fù)制給*t,造成*t不完整。注意,*t++=}s++是先執(zhí)行t=*s,然后才進(jìn)行t=t+1,s=s+1。選項(xiàng)B)、c)、D)都能將’、0’復(fù)制過去。
63.B在f(int+P,int4q)函數(shù)中,執(zhí)行P=P+1是將P所對應(yīng)的地址加1,而0q=+q+1是將q所指向的n的地址所對應(yīng)的值加1,所以m的得知所對應(yīng)的值沒有變,而n的值則為3了。因此B選項(xiàng)正確。
64.A本題中第一次調(diào)用為fun(8,fun(5,6)),因?yàn)閒un(5,6)返回值為5,所以第二次調(diào)用為fun(8,5)--6,因此選擇A)。
65.C根據(jù)二叉樹的性質(zhì)及定義,一棵深度為k且有2k-1個(gè)結(jié)點(diǎn)的二叉樹為滿二叉樹。滿二叉樹的葉子結(jié)點(diǎn)為最后一層的結(jié)點(diǎn)數(shù),又根據(jù)滿二叉樹的性質(zhì),在滿二叉樹的第i層上至多有2i-1個(gè)結(jié)點(diǎn)。因此深度為5的滿二叉樹的葉子結(jié)點(diǎn)數(shù)為25-1=16個(gè)。
66.B本題考查typledef重新聲明一種結(jié)構(gòu)體類型,那么T為結(jié)構(gòu)體類型,而不是結(jié)構(gòu)體變量,所以B選項(xiàng)正確。
67.B\n根據(jù)判斷本題共進(jìn)行三次for循環(huán),第一次執(zhí)行for循環(huán),p[1][0]=p[1][0]-1=3;第2次執(zhí)行for循環(huán),p[1][1]=p[1][1]-1=4;第3次執(zhí)行for循環(huán),[1][2]=1,最后輸出的是a[o][1]+a[1][1]+a[1][2]=2+4+1=7。
\n
68.B
69.A選項(xiàng)A)中d0后面的語句只執(zhí)行了一次便結(jié)束了循環(huán);B)選項(xiàng)中條件while(1)永遠(yuǎn)成立,因此是死循環(huán);C)選項(xiàng)中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 青海省西寧第二十一中學(xué)2025年高三第八次聯(lián)考?xì)v史試題含解析
- 實(shí)施園林景觀小品修復(fù)保護(hù)措施
- 機(jī)場應(yīng)急救援隊(duì)伍響應(yīng)機(jī)制
- 專利公司股轉(zhuǎn)讓合同標(biāo)準(zhǔn)文本
- 常見醫(yī)療設(shè)備操作培訓(xùn)
- 個(gè)人車位合同轉(zhuǎn)讓合同標(biāo)準(zhǔn)文本
- 個(gè)人業(yè)務(wù)書面合同標(biāo)準(zhǔn)文本
- 企業(yè)物業(yè)轉(zhuǎn)讓合同標(biāo)準(zhǔn)文本
- 個(gè)人增資入股合同標(biāo)準(zhǔn)文本
- 2025房地產(chǎn)交易合同中讓利承諾書效力的認(rèn)定案例分析
- 外墻無機(jī)泡沫保溫板現(xiàn)場施工方法
- 勞動教育論文3000字大學(xué)生
- 任務(wù)管理:抓對事授權(quán)人促落實(shí)
- 旋挖鉆機(jī)安裝拆卸施工方案
- 動態(tài)血壓檢測的臨床意義
- GB/T 42061-2022醫(yī)療器械質(zhì)量管理體系用于法規(guī)的要求
- YS/T 446-2011釬焊式熱交換器用鋁合金復(fù)合箔、帶材
- 敏感功能材料02電功能材料
- JJF 1869-2020石油產(chǎn)品傾點(diǎn)濁點(diǎn)測定儀校準(zhǔn)規(guī)范
- GB/T 31586.2-2015防護(hù)涂料體系對鋼結(jié)構(gòu)的防腐蝕保護(hù)涂層附著力/內(nèi)聚力(破壞強(qiáng)度)的評定和驗(yàn)收準(zhǔn)則第2部分:劃格試驗(yàn)和劃叉試驗(yàn)
- GB/T 28901-2012焦?fàn)t煤氣組分氣相色譜分析方法
評論
0/150
提交評論