版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022-2023年江西省鷹潭市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.
2.在下列排序算法中,在待排序的數(shù)據(jù)表已經(jīng)為有序時(shí),花費(fèi)時(shí)間反而最多的是()
A.希爾排序B.堆排序C.冒泡排序D.快速排序
3.下列關(guān)于棧的描述中錯(cuò)誤的是()。
A.棧是先進(jìn)先出的線性表B.棧只能順序存儲(chǔ)C.棧具有記憶作用D.對(duì)棧的插入刪除操作中,不需要改變棧底指針
4.以下不能作為合法常量的是()。
A.'cd'B.1.234e04C.”\a”D.'\011'
5.fgetc函數(shù)的作用是從指定文件讀入—個(gè)字符,該文件的打開方式必須是______。
A.只讀B.追加C.讀或讀寫D.以上均正確
6.有3個(gè)關(guān)系R、S和T如下.
則由關(guān)系R和S得到關(guān)系T的操作是()。A.自然連接B.差C.交D.并
7.若有語(yǔ)句“typedefstructS{intg;charh;}T;”,則下列敘述中正確的是()。
A.可用S定義結(jié)構(gòu)體變量B.可用T定義結(jié)構(gòu)體變量C.S是struct類型的變量D.T是structS類型的變量
8.在一個(gè)有向圖中,所有頂點(diǎn)的入度之和等于所有頂點(diǎn)的出度之和的()倍。A.A.1/2B.1C.2D.4
9.在16位C編譯系統(tǒng)上,若定義longa;,則能給a賦值40000的正確語(yǔ)句是()
A.a=20000+20000;B.a=4000*10;C.a=30000+10000;D.a=4000L*10L;
10.當(dāng)執(zhí)行下面的程序時(shí),如果輸入ABC,則輸出結(jié)果是()#include<stdio.h>#include<string.h>main(){charss[10]="12345";gets(ss);strcat(ss"6789");printf("%s\n",ss);}
A.ABC6789B.ABC67C.12345ABC6D.ABC456789
11.在一個(gè)元素個(gè)數(shù)為N的數(shù)組里,找到升序排在N/5位置的元素的最優(yōu)算法時(shí)間復(fù)雜度是()A.O(n)B.O(nlogn)C.O(n(logn)2)D.O(n3/2)
12.結(jié)構(gòu)化程序設(shè)計(jì)方法的3種基本控制結(jié)構(gòu)中不包括
A.循環(huán)結(jié)構(gòu)B.遞歸結(jié)構(gòu)C.順序結(jié)構(gòu)D.選擇結(jié)構(gòu)
13.下面程序的輸出結(jié)果是______。main(){inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a+4;printf("%d\n",p[3]);}
A.6B.7C.3D.5
14.下列語(yǔ)句組中正確的是()。
A.char*s;s={“BOOK!”};
B.char*s;s=“BOOK!”;
C.chars[10];s=“BOOK!”;
D.chars[];s=“BOOK!”;
15.有以下程序:#include<stdio.h>doublef(doublex);main(){doublea=0;inti;for(i=0;i<30;i+=10)a+=f((double)i);printf("%5.of\n",a);}doublef(doublex){returnx*x+1;}程序運(yùn)行后的輸出結(jié)果是()。A.503B.401C.500D.1404
16.已知各變量的類型說明如下則以下不符合C語(yǔ)言語(yǔ)法的表達(dá)式是()。A.x%(-3)B.w+=-2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)
17.C語(yǔ)言可執(zhí)行程序的開始執(zhí)行點(diǎn)是()。
A.包含文件中的第一個(gè)函數(shù)B.程序中第一個(gè)函數(shù)C.程序中的main()函數(shù)D.程序中第一條語(yǔ)句
18.有以下程序#include<stdio.h>main(){charcl,c2;c1=A+8-4c2=A+8-5;printf("%C,%d\n",cl,c2);}已知字母A的ASCIl碼為65,程序運(yùn)行后的輸出結(jié)果是()。A.E,69B.D,69C.E,DD.輸出無定值
19.以下敘述中錯(cuò)誤的是()。
A.C程序中的#include和#define行均不是C語(yǔ)句
B.除逗號(hào)運(yùn)算符外,賦值運(yùn)算符的優(yōu)先級(jí)最低
C.C程序中,j++;是賦值語(yǔ)句
D.C程序中,+、-、*、/、%是算術(shù)運(yùn)算符,可用于整型和實(shí)型數(shù)的運(yùn)算
20.設(shè)x為int型變量,則執(zhí)行以下語(yǔ)句后,x的值為()。x=10;x=x-=x-x;
A.10B.20C.40D.30
二、2.填空題(20題)21.已知a=1,b=2,則表達(dá)式(a&B)&b||b的結(jié)果為()。
22.以下涵數(shù)rotate的功能是:將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第0列中,把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b所指二維數(shù)組中其他數(shù)據(jù)不變。
#defineN4
voidrotade(inta[][N],intb[][N])
{inti,j;
for(i=0;i<N;i++)
{b[i][N-1]=【】;【】=a[N-1][i];}}
23.若有語(yǔ)句:
inti=-19,j=i%4;
printf("%d\n",j);
則輸出結(jié)果是【】。
24.下列程序的輸出結(jié)果是【】。
main()
{
inta[]={2,4,6},*ptr=&a[0],x=8,y,z;
for(y=0;y<3;y++)
z=(*(ptr+y)<x)?*(ptr+y):x;
printf("%d\n",z);
}
25.軟件測(cè)試中路徑覆蓋測(cè)試是整個(gè)測(cè)試的基礎(chǔ),它是對(duì)軟件【】進(jìn)行測(cè)試。
26.下面程序的輸出結(jié)果是【】。
charb[]="ABCD";
main()
{
charb[30];
strcpy(&b[0],"GH");
strcpy(&b[1],"GH”);
strcpy(&b[2],"GH");
printf("%s\n",B);
}
27.關(guān)系表達(dá)式x<y<z,用C語(yǔ)言的表達(dá)式為【】。
28.設(shè)有下列的程序段:
charstr[]="Hello";
char*ptr;
ptr=-str;
執(zhí)行上面的程序段后,*(ptr+5)的值為______。
29.問題處理方案的正確而完整的描述稱為______。
30.如果一個(gè)工人可管理多個(gè)設(shè)施,而一個(gè)設(shè)施只可被一個(gè)工人管理,則實(shí)體“工人”與實(shí)體“設(shè)備”之間存在【】聯(lián)系。
31.若a=1,b=2,c=3,d=4;則條件表達(dá)式a>b?a:c<d?c:d的結(jié)果為()。
32.執(zhí)行以下for語(yǔ)句后,變量i的值是【】。
for(i=1;i++<=5;);
33.以下程序的功能是:將輸入的正整數(shù)按逆序輸出。例如:若輸入135則輸出531。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{intn,s;
printf("Enteranumber:");scanf("%d",&n);
printf("Output:");
do
{s=n%10;printf("%d",s);[];}
while(n!=0);
printf("\n');
}
34.下面程序的功能是將一個(gè)字符串str的內(nèi)容顛倒過來,請(qǐng)?zhí)羁铡?/p>
#include<string.h>
main()
{infi,j,[13];charstr[]={"1234567"};
for(i=0,j=strlen(str)[14];i<j;i++,j--)
{k=str[i];str[i]=str[i];str[j]=k;}
printf("%s\n",str);}
35.關(guān)系模型的數(shù)據(jù)操縱即是建立在關(guān)系上的數(shù)據(jù)操縱,一般有______、增加、刪除和修改四種操作。
36.在數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)中,不僅需要存儲(chǔ)各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。
37.以下程序的輸出結(jié)果是【】。
floatfun(intx,inty)
{return(x+y);}
main()
{inta=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}
38.一個(gè)項(xiàng)目具有一個(gè)項(xiàng)目主管,一個(gè)項(xiàng)目主管可管理多個(gè)項(xiàng)目,則實(shí)體"項(xiàng)目主管"與實(shí)體"項(xiàng)目"的聯(lián)系屬于【】的聯(lián)系。
39.以下程序運(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;
}
printf("%d%d\n",a,b);
}
40.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
inta,b,c;
a=25;
b=025;
c=0x25;
printf("%d%d%d\n",a,b,C);
}
三、1.選擇題(20題)41.設(shè)有如下定義structss{charname[10];intage;charsex;}std[3],*p=std;下面各輸入語(yǔ)句中錯(cuò)誤的是A.scanf("%d",&(*p).age);
B.scanf("%s",&);
C.scanf("%c",&std[0].sex);
D.scanf("%c",&(p->sex));
42.有下列函數(shù)定義:intfun(doublea,doubleb){returna*b;}若下列選項(xiàng)中所用變量都已正確定義并賦值,錯(cuò)誤的函數(shù)調(diào)用是()。
A.if(fun(x,y)){……}
B.z=fun(fun(x,y),fun(x,y));
C.z=fun(fun(x,y)x,y);
D.fun(x,y);
43.C語(yǔ)言中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ù)合語(yǔ)句
44.若有定義:“inta[2Ⅶ3];”則對(duì)a數(shù)組的第i行第j列元素的正確引用為()
A.**(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
45.有以下程序
#include<stdio.h>
main()
{charc1,c2,c3,c4,c5,c6;
scanf("%c%c%c%c",&c1,&c2,&c3,&c4);
c5=getchar();c6=getchar();
putchar(c1);putchar(c2);
printf("%c%c\n",c5,c6);
}
程序運(yùn)行后,若從鍵盤輸入(從第1列開始)
123<回車>
45678<回車>
則輸出結(jié)果是
A.1267B.1256C.1278D.1245
46.若有定義:inta[2][3];,以下選項(xiàng)中對(duì)a數(shù)組元素正確引用的是A.a[2][!1]B.a[2][3]C.a[0][3]D.a[1>2][!1]
47.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){chara[]={'a','b','c','d','e','f,'\0'};inti,j;i=sizeof(a);j=strlen(a);printf("%d,%d",i,j);}
A.7,7B.7,6C.6,6D.6,7
48.有如下程序main(){inti,sum;for(i=1;i<=3;sum++)sum+=i;printf("%d\n",sum);}該程序的執(zhí)行結(jié)果是______。
A.6B.3C.死循環(huán)D.0
49.已知下面的程序段,正確的判斷是______。#defineA3#defineB(A)((A+1)*a)inta=3;......X=3*(A+B(7));
A.程序錯(cuò)誤,不允許嵌套定義B.X=93C.X=81D.程序錯(cuò)誤,宏定義不允許有參數(shù)
50.以下選項(xiàng)中不屬于字符常量的是
A.′C′B.′′C′′C.′\xCC′D.′\072′
51.設(shè)有以下定義和語(yǔ)句,輸出的結(jié)果是(用small模式編譯,指針變量占2個(gè)字節(jié))______。structdate{long*cat;structdate*next;doubledog;}too;printf("%d",sizeof(too));
A.20B.16C.14D.12
52.下面說明不正確的是
A.chara[10]="china";
B.chara[10],*p=a;p="china"
C.char*a;a="china";
D.chara[10],*P;P=a="china"
53.有以下程序main(){inta=0,i;for(i=1;i<5;i++){switch(i){case0case3:a+=2;case1;case2;a+=3;default,a+=5;}}printf("%d\n",a);}
A.31B.13C.10D.20
54.已知二叉樹BT的后序遍歷序列是dabec,中序遍歷序列是debac,它的前序遍歷序列是______.
A.cedbaB.acbedC.decabD.deabc
55.棧和隊(duì)列的共同特點(diǎn)是()。
A.都是先進(jìn)先出B.都是先進(jìn)后出C.只允許在端點(diǎn)處插入和刪除元素D.沒有共同點(diǎn)
56.簡(jiǎn)單的交換排序方法是()。
A.快速排序B.選擇排序C.堆排序D.冒泡排序
57.下列敘述中正確的是()。
A.線性鏈表的各元素在存儲(chǔ)空間中的位置必須是連續(xù)的
B.線性鏈表的頭元素一定存儲(chǔ)在其他元素的前面
C.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,但表頭元素一定存儲(chǔ)在其他元素的前面
D.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,且各元素的存儲(chǔ)順序也是任意的
58.C語(yǔ)言結(jié)構(gòu)體類型變量在程序運(yùn)行期間
A.TC環(huán)境在內(nèi)存中僅僅開辟一個(gè)存放結(jié)構(gòu)體變量地址的單元
B.所有的成員一直駐留在內(nèi)存中
C.只有最開始的成員駐留在內(nèi)存中
D.部分成員駐留在內(nèi)存中
59.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()。
A.數(shù)據(jù)所占的存儲(chǔ)空間
B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)的存放形式
C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式
D.存儲(chǔ)在計(jì)算機(jī)外存中的數(shù)據(jù)
60.設(shè)有如下關(guān)系表:
則下列操作正確的是()。
A.T=R/SB.T=R×SC.T=R∩SD.T=R∪S
四、選擇題(20題)61.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.1,2,3.4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2,1,
C.2,3,1,6,8,7,5,4,10,9,
D.10,9,8,7,6,1,2,3,4,5,
62.
63.相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),文件系統(tǒng)的主要缺陷有數(shù)據(jù)關(guān)聯(lián)差、數(shù)據(jù)不一致性和()。
A.可重用性差B.安全性差C.非持久性D.冗余性
64.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
65.
有以下程序:
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
66.下列敘述中正確的是()。
A.break語(yǔ)句只能用于switch語(yǔ)句體中
B.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)
D.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同
67.有如下程序段
#include"stdio.h"
#include"string.h"
#defineN10
#defineM10
char*find(char(*a)[M],intn)
{char*q;inti;
q=a[0];
for(i=0;i<n;i++)
if(strcmp(a[i],q)<0)q=a[i];
returnq;}
main()
{chars[N][M]={"tomeetme","you","and","he","china"};
char*p;
intn=5;
p=find(s,n);
puts(p);}
則執(zhí)行后輸出的結(jié)果為A.A.heB.andC.youD.tomeetme
68.對(duì)線性表進(jìn)行二分法檢索,其前提條件是()。A.A.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序B.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序
C.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序
D.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序
69.
若有定義和語(yǔ)句:
int**pp),*P,a=20,b=10;
pp=&p;p=&a;p=&b;printf("%d,%d\n",*P,*PP);
則輸出結(jié)果是()。
A.20,10B.20,20C.10,20D.10,10
70.下面程序的輸出結(jié)果是()。
A.xyzabcABCB.zabcABCC.xyabcABCD.yzabcABC
71.
72.c語(yǔ)言規(guī)定,在一個(gè)源程序中,main函數(shù)的位置()。
A.必須在最開始B.必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)的后面C.可以任意D.必須在最后
73.在下列模式中,能夠給出數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是()。
A.外模式B.內(nèi)模式C.概念模式D.邏輯模式
74.
75.軟件設(shè)計(jì)中,有利于提高模塊獨(dú)立性的一個(gè)準(zhǔn)則是______。A.低內(nèi)聚低耦合B.低內(nèi)聚高耦合C.高內(nèi)聚低耦合D.高內(nèi)聚高耦合
76.若各選項(xiàng)中所用變量已正確定義,函數(shù)fun中通過return語(yǔ)句返回一個(gè)函數(shù)值,以下選項(xiàng)中錯(cuò)誤的程序是
77.有以下程序段:
以下選項(xiàng)中表達(dá)式的值為11的是()。
A.++pt一>xB.pt一>xC.*pt一>yD.(pt++)一>x
78.
79.有以下程序:
#definef(x)(x*x)main
{
inti1,i2;
i1=f(8)/(4);i2=f(4+4)/f(2+2);
printf("%d,%d\n",i1,i2);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.64,28B.4,4C.4,3D.64,64
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun()的功能是:將長(zhǎng)整型數(shù)中各位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。例如,當(dāng)s中的數(shù)為87653142時(shí),t中的數(shù)為7531。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.下列程序定義了MM的二維數(shù)組,并在主函數(shù)中自動(dòng)賦值。請(qǐng)編寫函數(shù)proc(inta[][M]),該函數(shù)的功能是:使數(shù)組左下半三角元素中的值全部置成0。例如,a數(shù)組中的值為:
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。
試題程序:
參考答案
1.B本題考查標(biāo)準(zhǔn)輸入輸出函數(shù)和循環(huán)語(yǔ)句。gets(s)函數(shù)的作用是將輸入的字符讀入字符串s,直到遇到回車。而scanf函數(shù)接收字符串時(shí)的結(jié)束標(biāo)志為回車或者空格。因此選項(xiàng)B)不能,選項(xiàng)C)和選項(xiàng)D)中按字符逐個(gè)讀入字符串s中,直到讀入的字符是換行符為止,因此B正確。
2.D
3.B
\n棧是線性表的一種,它的特點(diǎn)是先進(jìn)后出,并且只能在表的一端進(jìn)行插入和刪除操作的線性表,入棧和出棧都是在棧頂進(jìn)行,因此具有記憶作用,??梢圆捎庙樞虼鎯?chǔ),也可以采用鏈?zhǔn)酱鎯?chǔ)。
\n
4.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)。
5.D解析:fgetc函數(shù)是指從指定的文件讀入—個(gè)字符,該文件必須是以讀或讀寫方式打開的。fgetc函數(shù)的調(diào)用形式為:ch=fgetc(fp);。
6.B關(guān)系之間的操作分為自然連接、投影、交、并、差等,由圖可知此操作為差操作。
7.BT為結(jié)構(gòu)體類型名,可以用來定義結(jié)構(gòu)體變量。故本題答案為B選項(xiàng)。
8.B
9.D
10.A
11.A
12.B解析:本題考查了程序的基本結(jié)構(gòu)。程序由一些基本結(jié)構(gòu)組成。任何一個(gè)大型的程序都由3種基本結(jié)構(gòu)組成,由這些基本結(jié)構(gòu)順序的構(gòu)成了一個(gè)結(jié)構(gòu)化的程序。這3種基本結(jié)構(gòu)為:順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
13.B解析:指針變量p指向數(shù)組a的第5個(gè)元素,p[3]在原指向基礎(chǔ)上移3個(gè)單位,指針變量p將指向第8個(gè)元素(下標(biāo)為7的元素),值為7。
14.BA選項(xiàng)去掉花括號(hào)后,賦值正確;C選項(xiàng)和D選項(xiàng)應(yīng)在定義時(shí)賦初值,因?yàn)閿?shù)組名相當(dāng)于常量,不能重新賦值。故本題答案為B選項(xiàng)。
15.A此題是一個(gè)簡(jiǎn)單的函數(shù)調(diào)用,當(dāng)i=0并且i<30,執(zhí)行i+=10,并且調(diào)用函數(shù)f,所以當(dāng)i=0時(shí),結(jié)果為1,當(dāng)i=10時(shí),結(jié)果為101,當(dāng)i=20時(shí),結(jié)果為401,所以a=1+101+401=503。
16.A
17.C解析:每個(gè)C程序有且只有一個(gè)主函數(shù)main(),且程序必須從main函數(shù)開始執(zhí)行,并在main()函數(shù)中結(jié)束。
18.A本值輸出兩個(gè)值,%c為輸出一個(gè)字母,0/4d輸出一個(gè)數(shù)字?!癆”的ASCIl碼為65,再加4之后為69,也就是字母E,所以本題A正確。
19.D解析:“%”是求余運(yùn)算符,其兩側(cè)的數(shù)值只能為整型,不能用于實(shí)型數(shù)據(jù)的運(yùn)算。
20.A執(zhí)行x=x-=x-x語(yǔ)句可寫成x=x-(x-x),可看出結(jié)果為10,故八選項(xiàng)正確。
21.1
22.a[0][i]b[i][o]a[0][i]\r\nb[i][o]解析:b[i][N-1]=a[0][i]實(shí)現(xiàn)把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b[i][0]=a[N-1][i]實(shí)現(xiàn)將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第0列中。
23.-3-3解析:%運(yùn)算符是求兩個(gè)數(shù)相除的余數(shù),其結(jié)果與被除數(shù)的符號(hào)一致,本題中“-19%4”的值為“-3”。
24.66解析:條件運(yùn)算符的優(yōu)先級(jí)高于賦值運(yùn)算符,因此本題先計(jì)算關(guān)系表達(dá)式(*ptr+y)<x)?*(ptr+y):x的值,再賦給變量z。當(dāng)y=0時(shí),*(ptr+y)=2,而x=8,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=2,所以z=2;當(dāng)y-1時(shí),*(ptr+y)=4,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=4,所以z=4;當(dāng)y=2時(shí),*(ptr+y)=6,(*(ptr+y)<x)條件為真,則整個(gè)條件表達(dá)式的值為*(ptr+y)=6,所以z=6;循環(huán)結(jié)束。因此輸出z的結(jié)果為6。
25.結(jié)構(gòu)結(jié)構(gòu)解析:路徑測(cè)試是白盒測(cè)試方法中的—種,它要求對(duì)程序中的每條路徑最少檢查一次,目的是對(duì)軟件的結(jié)構(gòu)進(jìn)行測(cè)試。
26.GGGHGGGH解析:由于在函數(shù)main中定義了數(shù)組變量b,其將屏蔽全局變量b。對(duì)于一維數(shù)組變量,其值為一常數(shù),等于數(shù)組首元素地址。strcpy(&b[0],'GH'),是將字符串,'GH',復(fù)制到數(shù)組b中從首元數(shù)開始的空間中,此是b中的字符串為'GH';strcpy(&b[1],'GH'),是將字符串“GH'復(fù)制到數(shù)組b中從第二個(gè)元素開始的空間中,此是b中的字符串為'GH'。執(zhí)行第三次strcpy函數(shù)后,b中的字符串為'GGGH'。
27.(x<y)&&(y<z)(x<y)&&(y<z)解析:x<y<z的意思是y大于x并且y小于z。在C語(yǔ)言中,表達(dá)“并且”用邏輯與運(yùn)算符“&&”。
28.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個(gè)知識(shí)點(diǎn):①在c語(yǔ)言中,字符型數(shù)組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上字符串結(jié)束標(biāo)識(shí)符'\\0',所以題中數(shù)組str有6個(gè)元素。②ptr指向數(shù)組s仕的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
29.算法或程序或流程圖算法或程序或流程圖解析:算法是問題處理方案正確而完整的描述。
30.一對(duì)多或1:N實(shí)體之間的對(duì)應(yīng)關(guān)系稱為聯(lián)系,它反映現(xiàn)實(shí)世界事物之間的相互關(guān)聯(lián)。兩個(gè)實(shí)體間的聯(lián)系可以歸結(jié)為三種類型:一對(duì)一聯(lián)系表現(xiàn)為某一實(shí)體與另一實(shí)體一一對(duì)應(yīng)相關(guān)聯(lián);一對(duì)多聯(lián)系表現(xiàn)為某一實(shí)體與相關(guān)多個(gè)實(shí)體相關(guān)聯(lián);多對(duì)多聯(lián)系表現(xiàn)為多個(gè)實(shí)體與相關(guān)多個(gè)實(shí)體相關(guān)聯(lián)。
31.3
32.7
33.n/=10或n=n/10或n=(n-s)/10或n=(n-n%10)/10n/=10或n=n/10或n=(n-s)/10或n=(n-n%10)/10解析:根據(jù)s=n%10可知:此操作可以將輸入的數(shù)據(jù)n的最后—位賦給s,根據(jù)題目的要求是要將輸入的數(shù)據(jù)逆序輸出,現(xiàn)在已經(jīng)將原數(shù)據(jù)的個(gè)位輸出,在其后如果執(zhí)行n/=10司將原數(shù)據(jù)的個(gè)位數(shù)去掉,滿足do....while的條件繼續(xù)s=n%10操作,此時(shí)可求出十位上的數(shù)進(jìn)行輸出,繼續(xù)執(zhí)行n/=10操作,與上相同最后將百位上的數(shù)進(jìn)行輸出,所以該題答案為:\u3000n/=10。
34.顛倒一個(gè)字符串中的字符,就是首尾對(duì)應(yīng)的元素兩兩交換。簡(jiǎn)單地可用兩個(gè)游標(biāo)變量i和j,i是前端元素的下標(biāo),j是后端元素的下標(biāo),交換以這兩個(gè)變量值為下標(biāo)的元素str[i]和str[j]。開始時(shí),i的值為0,j的值為字符串末元素的下標(biāo)(字符串長(zhǎng)度減1)。每次交換后,i增1,j減1。繼續(xù)交換的條件是str[i]位于str[j]的前面,即i<j字符串末元素的下標(biāo)是它的長(zhǎng)度減1,所以在第二個(gè)空框處應(yīng)填入-1。程序?yàn)榱私粨Qstr[i]和str[j],使用了變量k,該變量應(yīng)在程序的變量定義部分中—起定義,所以在第—個(gè)空\(chéng)r\n\r\n
35.查詢查詢
36.前后件關(guān)系前后件關(guān)系解析:在數(shù)據(jù)存儲(chǔ)結(jié)構(gòu)中,除了要存儲(chǔ)數(shù)據(jù),還要存儲(chǔ)數(shù)據(jù)的前后件關(guān)系,對(duì)于順序存儲(chǔ)的數(shù)據(jù)結(jié)構(gòu),前后件之間的關(guān)系,是通過存儲(chǔ)空間的位置來實(shí)現(xiàn)的,而對(duì)于鏈?zhǔn)酱鎯?chǔ)來說,數(shù)據(jù)元素之間的前后件關(guān)系是通過指針來實(shí)現(xiàn)的。
37.99解析:本題考查函數(shù)的綜合知識(shí)。首先,我們可以利用強(qiáng)制轉(zhuǎn)換類型轉(zhuǎn)換運(yùn)算符,將一個(gè)表達(dá)式轉(zhuǎn)換成所需類型。如:(double)a是將a轉(zhuǎn)換成double類型;(int)(x+y)是將x+y的值轉(zhuǎn)換成整型。
本題可按部就班地逐步運(yùn)算:
fun((int)fun(a+c,b),a-c)
fun((int)fun(10,5),2-8)
fun((int)15.000000,-6)
fun(15,-6)
9
38.一對(duì)多(或1∶N)一對(duì)多(或1∶N)解析:兩個(gè)實(shí)體集間的聯(lián)系實(shí)際上是實(shí)體集間的函數(shù)關(guān)系,這種函數(shù)關(guān)系可以有3種,即一對(duì)一(1∶1)的聯(lián)系、一對(duì)多(1∶N)或多對(duì)一(N∶1)的聯(lián)系和多對(duì)多(N∶N)的聯(lián)系。
39.2121解析:本題考查switch語(yǔ)句。首先x=1,執(zhí)行switch(y),因?yàn)閥=0,所以執(zhí)行case0:a++;break;此時(shí)a=1執(zhí)行case2:a++;b++;這時(shí)a=2,b=1;最后輸出結(jié)果是21。
40.252137252137解析:本題中先定義了整型變量a、b和c,然后分別給賦值a為25,b為八進(jìn)制的025,c為十六進(jìn)制0x25。然后調(diào)用pruntf()函數(shù)將a、b和c分別用十進(jìn)制輸出,且中間用空格隔開,八進(jìn)制025轉(zhuǎn)換為十進(jìn)制的值為21,十六進(jìn)制的0x25轉(zhuǎn)換為十進(jìn)制的值為37,故最后的輸出結(jié)果為252137。
41.B解析:選項(xiàng)A中&(*p).age代表的是std[0].age的地址,是正確的,選項(xiàng)C也是正確的,選項(xiàng)D先用指針變量引用結(jié)構(gòu)型的成員sex,然后取它的地址,也是正確的,選項(xiàng)B中的是錯(cuò)誤的引用,因?yàn)閟td是數(shù)組名,代表的是數(shù)組的首地址,地址沒有成員name。所以B選項(xiàng)為所選。
42.C解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。選項(xiàng)C)中第一個(gè)參數(shù)的表達(dá)式不正確,因此不能得到正確的結(jié)果。
43.A解析:while是先判斷條件再執(zhí)行語(yǔ)句;do-while則是先執(zhí)行依次語(yǔ)句再判斷條件從而決定是否繼續(xù)再執(zhí)行循環(huán)體中的語(yǔ)句,這正是二者主要區(qū)別。注意:3種循環(huán)結(jié)構(gòu)的比較。
44.A解析:本題考查如何通過地址來引用數(shù)組元素。通過地址來引用數(shù)組元素的方法有5種:①a[i][j];②*(a[i]+j);⑧*(*(a+i)+j);④*(a[i][j];⑤*(&a[0][0]+3*i+j)。
45.D解析:putchar(c1)輸出1,putchar(c2)輸出2,printf('%c%c\\n',c5,c6)輸出45。
46.D解析:a是一個(gè)2行3列的二維數(shù)組,行下標(biāo)和列下標(biāo)都是從0開始的,數(shù)組中的元素為a[0][0]、a[0][1]、a[0][2]、a[1][0]、a[1][1]、a[1][2],行下標(biāo)最大值為1,列下標(biāo)最大值為2,因此選項(xiàng)A、B、C都是錯(cuò)誤的引用。計(jì)算選項(xiàng)D中數(shù)組元素的下標(biāo)后得a[0][0],為正確的引用。
47.B解析:sizeof()函數(shù)的功能是返回字符串所占的字節(jié)數(shù),strlen()函數(shù)的功能是返回字符串的長(zhǎng)度,其中'\\0'是一個(gè)轉(zhuǎn)義字符,它占存儲(chǔ)空間,但不計(jì)入串的長(zhǎng)度。
48.C解析:在循環(huán)過程中,i的值一直沒有被改變,所以這是一個(gè)死循環(huán)。
49.C解析:本題的宏定義是合法的,宏定義展開為3*(3+((A+1)*a))=3*(3+((7+1)*3))=81。
50.B解析:在C語(yǔ)言程序中,用單引號(hào)把一個(gè)字符或反斜線后跟一個(gè)特定的字符括起來表示一個(gè)字符常量。選項(xiàng)A)、C)和D)為正確的字符常量,而選項(xiàng)B)是用雙引號(hào)括起來的字符,表示一個(gè)字符串常量。
51.D解析:sizeof函數(shù)計(jì)算已知類型所占的字節(jié)數(shù)。結(jié)構(gòu)體變量所占內(nèi)存長(zhǎng)度是各成員占的內(nèi)存長(zhǎng)度之和。指針變量占2個(gè)字節(jié),所以cat和*next各占2個(gè)字節(jié);double型占8個(gè)字節(jié),故too共占12個(gè)字節(jié)。
52.D解析:C語(yǔ)言中操作一個(gè)字符串常量的方法有:①將字符串常量存放在一個(gè)字符數(shù)組之中;②用字符指針指向字符串,然后通過字符指針來訪問字符串存儲(chǔ)區(qū)域。當(dāng)字符串常量在表達(dá)式中出現(xiàn)時(shí),根據(jù)數(shù)組的類型轉(zhuǎn)換規(guī)則,將其轉(zhuǎn)換成字符指針。
本題D)項(xiàng)中錯(cuò)誤的關(guān)鍵是對(duì)數(shù)組初始化時(shí),可以在變量定義時(shí)整體賦初值,但不能在賦值語(yǔ)句中整體賦值。
53.A
54.A解析:由二叉樹后序遍歷序列和中序遍歷序列可以唯一確定一棵二叉樹。二叉樹BT的后序遍歷序列為dabec,故BT的根結(jié)點(diǎn)為c(后序遍歷序列的最后一個(gè)結(jié)點(diǎn)為樹的根結(jié)點(diǎn)):而BT的中序遍歷序列是debac,即遍歷序列中最后一個(gè)結(jié)點(diǎn)為根結(jié)點(diǎn),說明BT的右子樹為空。由BT的后序遍歷序列和中序遍歷序列可知BT左子樹的后序遍歷序列和中序遍歷序列分別為dabe和deba,因此BT左子樹的根結(jié)點(diǎn)是e。再由中序遍歷序列可知其左子樹為d,右子樹為ba。因此BT的前序遍歷序列為cedba。
55.C解析:考查棧和隊(duì)列概念的掌握。棧和隊(duì)列都是一種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是一種'后進(jìn)先出'的線性表;而隊(duì)列只允許在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種'先進(jìn)先出'的線性表。模塊之間的耦合程度反映了模塊的獨(dú)立性,也反映了系統(tǒng)分解后的復(fù)雜程度。按照耦合程度從弱到強(qiáng),可以將其分成5級(jí),分別是:數(shù)據(jù)耦合、同構(gòu)耦合、控制耦合、公用耦合和內(nèi)容耦合。選項(xiàng)C),沒有這種耦合方式。
56.D解析:所謂的交換類排序方法是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法,包括冒泡排序和快速排序,冒泡排序是一種最簡(jiǎn)單的交換排序方法,它通過相鄰元素的交換,逐步將線性表變成有序。
57.DD.【解析】在線性鏈表中,各元素在存儲(chǔ)空間中的位置是任意的,各元素的順序也是任意的,依靠指針來實(shí)現(xiàn)數(shù)據(jù)元素的前后件關(guān)系。
58.B解析:結(jié)構(gòu)體類型的變量在程序運(yùn)行期間要作為一個(gè)整體占用連續(xù)的內(nèi)存單元。
59.B解析:數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu),又稱為數(shù)據(jù)的物理結(jié)構(gòu),是數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式,數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有順序結(jié)構(gòu)、鏈?zhǔn)浇Y(jié)構(gòu)、散列結(jié)構(gòu)和索引結(jié)構(gòu)等。
60.C解析:T就是關(guān)系R中有的,同時(shí)S中也有的有序組(1、2、3),即交運(yùn)算(∩)。
61.A本題考查的是結(jié)構(gòu)體成員的引用。在主函數(shù)main中定義了一個(gè)整型變量i和一個(gè)結(jié)構(gòu)體變量s。f函數(shù)中,定義了一個(gè)結(jié)構(gòu)體類型的指針P,外層循環(huán)變量i表示數(shù)組的第i個(gè)元素,內(nèi)層循環(huán)變量j表示數(shù)組的第i+1個(gè)元素,調(diào)用f函數(shù),通過指針變量P來引用結(jié)構(gòu)體成員。執(zhí)行if語(yǔ)句,當(dāng)P一>a[i]>P一>a[j]時(shí)進(jìn)行互換,其作用就是從小到大行排序,最后將排序后的元素輸出:l,2,3,4,5,6,7,8,9,10,。
62.C
63.D解析:文件系統(tǒng)所管理的數(shù)據(jù)文件基本上是分散的、相互獨(dú)立的,因此相對(duì)于數(shù)據(jù)庫(kù)系統(tǒng),以此為基礎(chǔ)的數(shù)據(jù)處理存在3個(gè)缺點(diǎn),數(shù)據(jù)冗余大、數(shù)據(jù)的不一致性、程序與數(shù)據(jù)的相互依賴(簡(jiǎn)稱為數(shù)據(jù)依賴)。注意:文件系統(tǒng)和數(shù)據(jù)庫(kù)系統(tǒng)各自的特點(diǎn),人工管理階段及數(shù)據(jù)庫(kù)系統(tǒng)三代的特點(diǎn)。
64.A外循環(huán)第一次i的值為1,內(nèi)循環(huán)第一次j的初值為l,打印1*1=1;內(nèi)循環(huán)第二次j的值為2,打印1$2=2;內(nèi)循環(huán)第三次J的值為3,打印1}3=3,打印回車換行,退出內(nèi)循環(huán)。外循環(huán)第二次i的值為2,內(nèi)循環(huán)第一次j的初值為2,打印2*2=4;內(nèi)循環(huán)第二次j的值為3,打印2。3=6,打印回車換行,退出內(nèi)循環(huán)。外循環(huán)第三次i的值為3,內(nèi)循環(huán)第一次j的初值為3,打印3*3=9,打印回車換行,退出內(nèi)循環(huán)。
65.C
\n本題考查swap函數(shù),它的作用是把x、Y所指的內(nèi)容互換,其他的不變,因此當(dāng)執(zhí)行完調(diào)用函數(shù)后,僅僅a與1互換,其他的沒有變。
\n
66.C解析:只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句。當(dāng)break出現(xiàn)在循環(huán)體的switch語(yǔ)句體內(nèi)時(shí),其作用只是跳出該switch語(yǔ)句體,并不能中止循環(huán)體的執(zhí)行。若想強(qiáng)行中止循環(huán)體的執(zhí)行,可以在循環(huán)體中,但并不在switch語(yǔ)句中設(shè)置break語(yǔ)句,滿足某種條件,則跳出本層循環(huán)體。
67.B在本題中,首先定義了兩個(gè)宏N和M,大小都為10,然后定義了一個(gè)返回指針的函數(shù)find,該函數(shù)帶有兩個(gè)形參,第一個(gè)為字符型的指針數(shù)組,第二個(gè)為整型變量,在函數(shù)體中,首先定義了一個(gè)指針變量q,并將形參中指針數(shù)組的第一個(gè)元素賦值給q,然后執(zhí)行for循環(huán),在循環(huán)體中,首先執(zhí)行條件判斷語(yǔ)句,其條件為strcmp(a[i],q)<0(strcmp函數(shù)的作用是比較兩字符串的大小,如果相等,則返回0值,如果參數(shù)中的第一個(gè)字符串大,則返回正值,否
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年人教A版選擇性必修1語(yǔ)文下冊(cè)月考試卷含答案
- 2025年冀少新版七年級(jí)物理下冊(cè)階段測(cè)試試卷含答案
- 2025年外研版2024九年級(jí)生物上冊(cè)月考試卷
- 2025年人教五四新版選擇性必修3地理下冊(cè)階段測(cè)試試卷
- 二零二五年度拍賣會(huì)組織與策劃合同4篇
- 二零二五版門禁系統(tǒng)與物業(yè)管理系統(tǒng)對(duì)接合同4篇
- 二零二五年度外資企業(yè)內(nèi)部退養(yǎng)合同模板4篇
- 2025年度醫(yī)療機(jī)構(gòu)科室承包合作框架合同4篇
- 二零二五年度變壓器用新型導(dǎo)磁材料研發(fā)與安裝合同3篇
- 2025版木門安裝與室內(nèi)空氣凈化服務(wù)合同5篇
- 鹽酸埃克替尼臨床療效、不良反應(yīng)與藥代動(dòng)力學(xué)的相關(guān)性分析的開題報(bào)告
- 消防設(shè)施安全檢查表
- 組合結(jié)構(gòu)設(shè)計(jì)原理 第2版 課件 第6、7章 鋼-混凝土組合梁、鋼-混凝土組合剪力墻
- 建筑公司資質(zhì)常識(shí)培訓(xùn)課件
- 旅居管家策劃方案
- GB/T 26316-2023市場(chǎng)、民意和社會(huì)調(diào)查(包括洞察與數(shù)據(jù)分析)術(shù)語(yǔ)和服務(wù)要求
- 春節(jié)值班安全教育培訓(xùn)
- 帶狀皰疹護(hù)理查房
- 平衡計(jì)分卡-化戰(zhàn)略為行動(dòng)
- 幼兒園小班下學(xué)期期末家長(zhǎng)會(huì)PPT模板
- 幼兒教師干預(yù)幼兒同伴沖突的行為研究 論文
評(píng)論
0/150
提交評(píng)論