版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年內(nèi)蒙古自治區(qū)包頭市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.
2.有以下程序:#include<stdio.h>,main(){intS;scanf("%d",&s);while(s>O){switch(s){casel:printf("%d",s+5);case2:printf("%d",s+4);break;case3:printf("%d",s+3);default:("%d",s+1);break;}scanf("%d",&s);}}運(yùn)行時(shí),若輸入123450<回車>,由輸出結(jié)果是()。A.6566456B.66656C.66666D.6666656
3.若有說(shuō)明:int*p,m=5,n;以下正確的程序段是
A.p=&n;scanf("%d",&p);
B.p=&n;scanf("%d",*p)
C.scanf("%d",&n);*p=n;
D.p=&n;*p=m;
4.若有定義語(yǔ)句“chars[10]=“1234567\0\0”;”,則Strlen(s)的值是()。
A.7B.8C.9D.10
5.將兩個(gè)字符串連接起來(lái)組成一個(gè)字符串時(shí),選用()函數(shù)。A.strlen()B.strcpy()C.strcat()D.strcmp()
6.C語(yǔ)言中,要求參加運(yùn)算的數(shù)必須是整數(shù)的運(yùn)算符是()。
A./B.!C.%D.==
7.
8.
9.
10.以下是if語(yǔ)句的基本形式:
if(表達(dá)式.語(yǔ)句
其中“表達(dá)式”()。
A.必須是邏輯表達(dá)式B.必須是關(guān)系表達(dá)式C.必須是邏輯表達(dá)式或關(guān)系表達(dá)式D.可以是任意合法的表達(dá)式
11.下面程序的輸出結(jié)果是______。#inc1ude<stdio.h>main(){char*p[]={"BOOL","OPK","H","SP"};inti;for(i=3;i>=0;i-,i-)prinf("%c",*p[i]);print("\n")}
A.SOB.SPC.SPOPKD.SHOB
12.下面結(jié)構(gòu)中最適于表示稀疏無(wú)向圖的是()。
A.鄰接矩陣B.逆鄰接表C.鄰接多重表D.十字鏈表
13.有以下程序:int*f(int*x,int*y){if(*x<*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf("%d,%d,%d\n",*p,*q,*r);}程序運(yùn)行后輸出結(jié)果是______。
A.7,8,8B.7,8,7C.8,7,7D.8,7,8
14.若有定義“intb[8],*p=b;”,則p+6表示()。
A.數(shù)組元素b[6]的值B.數(shù)組元素b[6]的地址C.數(shù)組元素b[7]的地址D.數(shù)組元素b[0]的值加上6
15.有以下程序:#includc<stdio.h>voidfun(int*p){printf("%d\n",p[5]);}main(){inta[10]={1,2,3,4,5,6,7,8,9,10};fun(&a[3]);}程序運(yùn)行后的輸出結(jié)果是()。A.5B.6C.8D.9
16.下面C程序段中count++語(yǔ)句執(zhí)行的次數(shù)為()A.15B.16C.31D.32
17.以下程序的輸出結(jié)果是()。main{charch[3][4]={"123","456","78"),*p[3];inti;for(i=0;i<3;i++)p[i]=ch[i];for(i=0;i<3;i++)printf("%s",p[i]);}A.123456780B.123456780C.12345678D.147
18.當(dāng)接受用戶輸入的含有空格的字符串時(shí),應(yīng)使用()函數(shù)。
A.gets()B.getchar()C.scanf()D.printf()
19.有以下程序
#include<stdio.h>
voidfun(intx)
{if(x/2>1)fun(x/2);
printf(”%d”,x);
}
main()
{fun(7);printf(”\n”);}
程序運(yùn)行后的輸出結(jié)果是()。A.137B.731C.73D.37
20.以下正確的字符串常量是()。A.“\\\”B.‘a(chǎn)bc’C.OlympicGamesD.“”
二、2.填空題(20題)21.若有以下定義和語(yǔ)句,則使指針p指向值為36的數(shù)組元素的表達(dá)式是【】。
inta[10]={19,23,44,17,37,28,49,36},*p;
p=a;
22.順序存儲(chǔ)方法是把邏輯上相鄰的結(jié)點(diǎn)存儲(chǔ)在物理位置______的存儲(chǔ)單元中。
23.以下isprime函數(shù)的功能是判斷形參a是否為素?cái)?shù),如果是素?cái)?shù),函數(shù)返回1,否則返回0。
intisprime(inta)
inti;
for(i=2;i<=a/2;i++)
if(a%i==0)【】;
【】;
}
24.請(qǐng)?jiān)谝韵鲁绦虻谝恍械南聞澗€處填寫適當(dāng)內(nèi)容,使程序能正常運(yùn)行。
#include<stdio.h>
【】(double,double);
main()
{doublex,y;
scanf("%If%If",&x,&y);
printf("%If\n",max(x,y));
}
doublemax(doublea,doubleb)
{return(a>b?a:b);}
25.以下程序的輸出結(jié)果是【】。
main()
{charc=′z′;
printf("%c",c-25);}
26.二叉樹的遍歷可以分為三種:前序遍歷、()遍歷和后序遍歷。
27.閱讀下列程序,則在執(zhí)行后,程序的運(yùn)行結(jié)果為#include"stdio.h"#include"string.h"main(){chara[30]="nicetomeetyou!";strcpy(a+strlen(a)/2,"you");printf("%s\n",a);}
28.數(shù)據(jù)的______結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空問(wèn)中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)。
29.在樹形結(jié)構(gòu)中,樹根結(jié)點(diǎn)沒(méi)有______。
30.算法的復(fù)雜度主要包括【】復(fù)雜度和空間復(fù)雜度。
31.以下條件表達(dá)式可計(jì)算:1+|a|的值,請(qǐng)?zhí)羁?。a>=0?【】:【】
32.實(shí)體之間的聯(lián)系可以歸結(jié)為一對(duì)一的聯(lián)系,一對(duì)多的聯(lián)系與多對(duì)多的聯(lián)系。如果一個(gè)學(xué)校有許多學(xué)生,而一個(gè)學(xué)生只屬于一個(gè)學(xué)校,則實(shí)體集學(xué)校與實(shí)體集學(xué)生之間的聯(lián)系屬于【】的聯(lián)系。
33.Fibonacci數(shù)列中的頭兩個(gè)數(shù)是1和1,從第3個(gè)數(shù)開始,每個(gè)數(shù)等于前兩個(gè)數(shù)之和。下述程序計(jì)算此數(shù)列的前20個(gè)數(shù),且每行輸出5個(gè)數(shù),請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{intf,f1=1,f2=1;
inti;
printf("%6d%6d",f1,f2);
for(i=3;i<=20;i++)
{f=【】;
printf("%6d",f);
if(【】)
printf("\n");
f1=f2;
【】;
}
}
34.以下程序的功能是建立—個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表結(jié)點(diǎn)中的數(shù)據(jù)通過(guò)鍵盤輸入,當(dāng)輸入數(shù)據(jù)為-1時(shí),表示輸入結(jié)束(鏈表頭結(jié)點(diǎn)的data域不放數(shù)據(jù),表空的條件是ph->next==NULL),請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
structlist{intdata;structlist*next;};
structlist*creatlist()
{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(struct
35.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
voidswap(int*a,int*b)
{int*t;
t=a;a=b;b=t;
}
main()
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d\n",*p,*q);
}
36.在面向?qū)ο蠓椒ㄖ?,信息隱蔽是通過(guò)對(duì)象的______性來(lái)實(shí)現(xiàn)的。
37.以下程序的運(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;
case3:a++;b++;
}
printf("a=%d,b=%d\n",a,b);
}
38.下列程序運(yùn)行后的輸出結(jié)果是______。
#include<stdio.h>
main()
{chars[20];
scanf("%s",s);
printf("%s",s);
}
運(yùn)行程序,輸入HOWAREYOU。
39.在面向?qū)ο蟮姆椒ㄖ?,______描述的是具有相似屬性與操作的一組對(duì)象。
40.執(zhí)行以下程序后的輸出結(jié)果是【】。
main()
{inta=10;
a=(3*5,a+4);printf("a=%d\n",a);
}
三、1.選擇題(20題)41.有以下程序intfa(intx){returnx*x;}intfb(intx){returnx*x*x;}intf(int(*f1)(),int(*f2)(),intx){returnf2(x)-f1(x);}main(){inti;i=f(fa,fb,2);pfintf(“%d\n”,i);}程序運(yùn)行后的輸出結(jié)果是
A.-4B.1C.4D.8
42.以下函數(shù)調(diào)用語(yǔ)句中實(shí)參的個(gè)數(shù)是()func((exp1,exp2),(exp3,exp4,exp5));
A.1B.2C.4D.5
43.s1和s2已正確確定義并分別指向兩個(gè)字符串。若要求:當(dāng)s1所指字符串大于s2所指字符串時(shí),執(zhí)行語(yǔ)句S;則以下選項(xiàng)中正確的是()。
A.if(s1>s2)S;
B.if(strcmp(s1,s2))S;
C.if(strcmp(s2,s1)>0)S;
D.if(stremp(s1,s2)>0)S;
44.若i是int型變量,且有下面的程序段:for(i=4;i<6;i++)printf((i%2)?("**%d\n"):("##%d\n"),i);上面程序段的輸出結(jié)果是______。
A.**4##5B.##4**5C.**4**5D.##4##5
45.以下程序的輸出結(jié)果是#include<stdio.h>inta[3][3]={1,2,3,4,5,6,7,8,9,},*p;main(){p=(int*)malloc(sizeof(int));f(p,a);printf("%d\n",*p);free(p);}f(int*s,intp[][3]){*s=p[1][1];}
A.1B.4C.7D.5
46.有以下程序:#include<stdio.h>point(char*p){p+=3;}main()charb[4]={'a','b','c','d'},*p=b;point(p);printf("%c\n",*p);
A.aB.bC.cD.d
47.X、Y、Z被定義為mt型變量,若從鍵盤給X、Y、2輸入數(shù)據(jù),正確的輸入語(yǔ)句是______。
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);
48.表達(dá)式3.6-5/2+1.2+5%2的值是A.4.3B.4.8C.3.3D.3.8
49.若t為double類型,表達(dá)式t=1,t+5,t++;的值是______。
A.1B.6C.2D.1
50.假設(shè)a和b為int型變量,則執(zhí)行以下語(yǔ)句后,b的值為______。a=1;b=10;do{b-=a;a++;}while(b--<0);
A.9B.-2C.-1D.8
51.以下程序的輸出結(jié)果是______。main(){inta=-1,b=1,k;if((++a<0)&&!(b--<=0))printf("%d%d\n",a,b);elseprintf("%d%d\n",b,a);}
A.-11B.01C.10D.00
52.下面程序的輸出結(jié)果為______。#include<string.h>main(){charP[17]="abc"="ABC".STR[50]="xyz";strcpy(str,strcat(p1,p2));printf(%s,str);}
A.xyzabcABCB.abcABCC.xyzabcD.xyzABC
53.有以下程序:#include<stdio.h>intf(inta)returna%2;}main()ints[8]={1,3,5,2,4,6},i,d=0;for(i=0;f(s[i]);i++)d+=s[i];prinff("%d\n",d);程序運(yùn)行后的輸出的結(jié)果是().
A.9B.11C.19D.21
54.下列敘述中正確的是()。
A.線性鏈表的各元素在存儲(chǔ)空間中的位置必須是連續(xù)的
B.線性鏈表的頭元素一定存儲(chǔ)在其他元素的前面
C.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,但表頭元素一定存儲(chǔ)在其他元素的前面
D.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,且各元素的存儲(chǔ)順序也是任意的
55.有以下程序#include<stdio.h>intfun(inta,intB){if(b=0)returna;elsereturn(fun(--a,--B));}main(){pdntf("%d\n",fun(4,2));}程序的運(yùn)行結(jié)果是()。
A.1B.2C.3D.4
56.結(jié)構(gòu)化分析方法是面向()的自頂向下、逐步求精進(jìn)行需求分析的方法
A.對(duì)象B.數(shù)據(jù)結(jié)構(gòu)C.數(shù)據(jù)流D.目標(biāo)
57.設(shè)x為int型變量,執(zhí)行以下語(yǔ)句,x=10;x+=x-=x-x;x的值為______。
A.10B.20C.30D.40
58.在說(shuō)明語(yǔ)句int*f()中,標(biāo)識(shí)符f代表的是______。
A.—個(gè)用于指向整型數(shù)據(jù)的指針變量
B.—個(gè)用于指向一維數(shù)組的行指針
C.—個(gè)用于指向函數(shù)的指針變量
D.一個(gè)返回值為指針型的函數(shù)名
59.若整型變量a、b、c、d中的值依次為1、4、3、2。則條件表達(dá)式a<b?a:c<d?c:d的值是______。A.1B.2C.3D.4
60.設(shè)有如下三個(gè)關(guān)系表:
下列操作中正確的是()。
A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S
四、選擇題(20題)61.有如下說(shuō)明
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
則數(shù)值為9的表達(dá)式是
A.*p+9B.*(p+8)C.*p+=9D.p+8
62.
63.對(duì)于循環(huán)隊(duì)列,下列敘述中正確的是()。
A.隊(duì)頭指針是固定不變的
B.隊(duì)頭指針一定大于隊(duì)尾指針
C.隊(duì)頭指針一定小于隊(duì)尾指針
D.隊(duì)頭指針可以大于隊(duì)尾指針,也可以小于隊(duì)尾指針
64.(22)下列關(guān)于棧的敘述中正確的是()
A.在棧中只能插入數(shù)據(jù)
B.在棧中只能刪除數(shù)據(jù)
C.棧是先進(jìn)先出的線性表
D.棧是先進(jìn)后出的線性表
65.
66.
67.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.0304B.2050C.3344D.3040
68.
69.下列敘述中正確的是()。
A.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象之間具有密切的關(guān)系
B.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,各個(gè)對(duì)象都是公用的
C.在面向?qū)ο蟮某绦蛟O(shè)中,各個(gè)對(duì)象之間相對(duì)獨(dú)立,相互依賴性小
D.上述3種說(shuō)法都不對(duì)
70.
71.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.16B.1C.32D.0
72.
73.模塊獨(dú)立性是軟件模塊化所提出的要求,衡量模塊獨(dú)立性的一般度量標(biāo)準(zhǔn)是
A.抽象和信息隱蔽B.局部化和封裝化C.內(nèi)聚性和耦合性D.激活機(jī)制和控制方法
74.
75.有以下程序語(yǔ)句,正確的是()。
chara,b,c*d;
A)a=′56′;B)b=′\xbc′;
C)c=′\0xab′;D)d=′\0127′;
76.若fp是指向某文件的指針,且尚未讀到文件末尾,則函數(shù)feof(fp)的返回值是()。
A.EOFB.-lC.非零值D.0
77.有以下程序:
從第一列開始輸入以下數(shù)據(jù)(<CR>代表一個(gè)回車符.:
2743<CR>
程序的輸出結(jié)果是()。
A.66877B.668966C.6677877D.6688766
78.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
79.有以下程序程序運(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,
80.假定X和Y為double型,則表達(dá)式x=2,y=x+3/2的值是()。
A.3.500000B.3C.2.000000D.3.000000
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:根據(jù)形參m(2≤m≤9)的值,在m行m列的二維數(shù)組中存放如下所示的數(shù)據(jù),由main()函數(shù)輸出。
請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.編寫函數(shù)fun(),其功能是:實(shí)現(xiàn)兩個(gè)字符串的連接(不要使用庫(kù)函數(shù)strcat),即把p2所指的字符串連接到p1所指的字符串的后面。例如,分別輸入下面兩個(gè)字符串:“FirstString——”“SecondString”程序輸出:“FirstString——SecondString”注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫的若干語(yǔ)句。試題程序:
參考答案
1.C
2.A根據(jù)題意,當(dāng)s=1時(shí),輸出65;當(dāng)s=2時(shí),輸出6;當(dāng)S=3時(shí),則輸出64;當(dāng)S=4時(shí),輸出5;當(dāng)s=5時(shí),輸出6;當(dāng)s=0時(shí),程序直接退出。所以最后答案為6566456,A選項(xiàng)正確。
3.D解析:“&”是求址運(yùn)算符,“*”是指變量說(shuō)明符。選項(xiàng)A)、B)應(yīng)改為scanf('%d',p);選項(xiàng)C)中指針變量p未指向一確定的內(nèi)存單元,不能為其賦值,并且這樣做很危險(xiǎn),建議不使用。
4.Astrlen函數(shù)計(jì)算字符串長(zhǎng)度時(shí),遇到結(jié)束標(biāo)識(shí)為止,且長(zhǎng)度不包括結(jié)束標(biāo)識(shí)。本題中的字符串從第1個(gè)字符開始,遇到第1個(gè)結(jié)束標(biāo)識(shí)‘\\0’為止,注意不占字符串長(zhǎng)度,所以字符串長(zhǎng)度為7。故本題答案為A選項(xiàng)。
5.C將兩個(gè)字符串連接起來(lái)組成一個(gè)字符串,選用strcat函數(shù)來(lái)連接。
6.C
7.C
8.A
9.D
10.D解析:本題主要考查關(guān)于if語(yǔ)句的說(shuō)明,if后面圓括號(hào)中的表達(dá)式,可是任意合法的C語(yǔ)言表達(dá)式(如:邏輯表達(dá)式、關(guān)系表達(dá)式、算術(shù)表達(dá)式、賦值表達(dá)式等),也可以是任意類型的數(shù)據(jù)(如:整型、實(shí)型、字符型、指針型等。)
11.A解析:p[0]存放的是“BOOL\\0”的首地址;p[1]存放的是“OPk\\0”的首址等。在printf語(yǔ)句中輸出的*p[i]表示p[i]字符串中的第一個(gè)字符。在for循環(huán)中,i的初值為3,那么輸出的第—個(gè)字符為“S”,接著兩次i--,則輸出的值為*p[1],即字符“O”,所以本題的輸出為SO。
12.C
13.B解析:f函數(shù)的功能是返回地址為x,y的兩個(gè)數(shù)中值鉸的數(shù)的地址,本題輸出結(jié)果是7,8,7。
14.B指針中存放的是變量的地址,指針也可以進(jìn)行增減運(yùn)算,這時(shí)指針移動(dòng)的最小單位是一個(gè)存儲(chǔ)單元,而不是一個(gè)字節(jié)。所以題中“P+6”指的是將指針向后移動(dòng)了6個(gè)存儲(chǔ)單元,即指向uE63,存放的是b[6]的地址。
15.B由題可知,fun(&a[3])是將&a[3]作為參數(shù),而fun(int*p)后執(zhí)行的語(yǔ)句為p[5],由數(shù)組a可知輸出的為6。
16.A
17.B第一個(gè)for循環(huán)的作用是讓p指向每行的首地址,第二個(gè)for循環(huán)的作用是把它指向的字符串輸出,故選擇B選項(xiàng)。
18.A
19.D解析:本程序主要考查遞歸函數(shù)。fun(7),首先將參數(shù)代入函數(shù),因?yàn)?7/2)>1,所以執(zhí)行f(3),以此類推直到f(1.5),(1.5/2)<1,所以執(zhí)行打印函數(shù),此時(shí)x值為3,然后退出f(1.5)返回f(3),打印x值即7。所以選D。
20.D在C語(yǔ)言中,字符串常量是用雙引號(hào)標(biāo)注的字符序列,因此B選項(xiàng)和C選項(xiàng)不正確。字符序列中可包含一些轉(zhuǎn)義字符,轉(zhuǎn)義字符以“\\”開頭。A選項(xiàng)中包含3個(gè)前兩個(gè)(\\\\)代表一個(gè)“\\”字符,后面一個(gè)為“””。因?yàn)閈\”被看作一個(gè)“””,所以該字符串缺少一個(gè)結(jié)束的“””。因此A選項(xiàng)不正確。D選項(xiàng)的兩個(gè)“”之間沒(méi)有任何字符,代表的是一個(gè)空串,是合法的字符串常量,因此D選項(xiàng)正確。B選項(xiàng)的abc應(yīng)該使用雙引號(hào)標(biāo)注。故本題答案為D選項(xiàng)。
21.p=p+7或p+=7p=p+7或p+=7解析:本題考查通過(guò)指針引用數(shù)組元素。值為36的數(shù)組元素在a數(shù)組中是第8個(gè)元素,即a[7]。在程序中,p=a;語(yǔ)句將數(shù)組a的首地址賦給了指針變量p,則可以用*(p+i)來(lái)表示數(shù)組元素,*(p+i)與a[i]等價(jià),a[7]可表示為*(p+7)。要使指針p指向a[7],可以用p=p+7移動(dòng)指針,故填寫p=p+7或p+=7。
22.相鄰相鄰
23.return0或return(0)return1或return(1)return0或return(0)\r\nreturn1或return(1)解析:素?cái)?shù)是指只能被1和其本身整除,不能被其他任何整數(shù)整除的數(shù)。根據(jù)if條件語(yǔ)句,若形參a對(duì)i取余等于0,則形參a可以被其他數(shù)整除,所以第一處填return0;若形參a對(duì)i取余不等于0,則形參s不可以被其他數(shù)整除,所以第二處填return1。
24.doublemax或externdoublemaxdoublemax或externdoublemax解析:main函數(shù)中調(diào)用了一個(gè)max函數(shù),而max函數(shù)是在調(diào)用之后定義的,所以要求填空的內(nèi)容應(yīng)該是對(duì)函數(shù)進(jìn)行聲明的語(yǔ)句。由max函數(shù)的定義可知此函數(shù)是double型的,因此空格處應(yīng)該填doublemax或externdoublemax。
25.aa解析:'z'的ASCII碼值為122,經(jīng)過(guò)c-25運(yùn)算后,得97,以字符形式輸出是a。
26.中序中序解析:二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷。前序遍歷是指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先訪問(wèn)根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹。后序遍歷指在訪問(wèn)根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問(wèn)根
27.D
28.邏輯邏輯解析:數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)或物理結(jié)構(gòu)。
29.前件前件
30.時(shí)間時(shí)間解析:算法的復(fù)雜度主要指時(shí)間復(fù)雜度和空間復(fù)雜度。所謂算法的時(shí)間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量;算法的空間復(fù)雜度,一般是指執(zhí)行這個(gè)算法所需要的內(nèi)存空間。
31.1+a1-a1+a,1-a解析:考查條件運(yùn)算符的使用。因?yàn)轭}目中求的是1+|a|的值,即1和a的絕對(duì)值之和,所以根據(jù)數(shù)學(xué)中求絕對(duì)值的規(guī)則;當(dāng)a>=0時(shí),絕對(duì)值取本身,當(dāng)a<0時(shí),絕對(duì)值取相反數(shù),再結(jié)合條件運(yùn)算符的計(jì)算規(guī)則,可得到本題的答案為a>=0。
32.一對(duì)多一對(duì)多解析:實(shí)體之間的聯(lián)系可以歸結(jié)為一對(duì)一、一對(duì)多與多對(duì)多。如果一個(gè)學(xué)校有許多學(xué)生,而一個(gè)教師只歸屬于一個(gè)學(xué)生,則實(shí)體集學(xué)校與實(shí)體集學(xué)生之間的聯(lián)系屬于一對(duì)多的聯(lián)系。
33.f1+f2i%5==0f2=ff1+f2\r\ni%5==0\r\nf2=f解析:f用來(lái)保存前兩個(gè)數(shù)之和,并作為第三個(gè)數(shù),計(jì)算后把第二個(gè)數(shù)(f2)賦給f1,第三個(gè)數(shù)(f)賦給f2,再執(zhí)行for循環(huán)。
34.解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對(duì)結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點(diǎn)是結(jié)構(gòu)體變量中有兩個(gè)域,一個(gè)是數(shù)據(jù),另一個(gè)是指向該結(jié)構(gòu)體變量類型的指針,用以指明鏈表的下一個(gè)結(jié)點(diǎn)。
35.3535解析:函數(shù)swap(int*a,int*b)的功能是實(shí)現(xiàn)*a和*b中兩個(gè)數(shù)據(jù)的交換,在主函數(shù)中調(diào)用swap(p,q)后,形參指針變量a和b分別指向i和j,在swap(int*a,int*b)執(zhí)行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒(méi)有發(fā)生變化,所以輸出結(jié)果為35。
36.封裝封裝
37.a=2b=1a=2,b=1解析:本題考查了switch結(jié)構(gòu)的內(nèi)容。C語(yǔ)言中,程序執(zhí)行完一個(gè)case標(biāo)號(hào)的內(nèi)容后,如果沒(méi)有break語(yǔ)句,控制結(jié)構(gòu)會(huì)轉(zhuǎn)移到下一個(gè)case繼續(xù)執(zhí)行,因?yàn)閏ase常量表達(dá)式只是起語(yǔ)句標(biāo)號(hào)作用,并不是在該處進(jìn)行條件判斷。本題程序在執(zhí)行完內(nèi)部switch結(jié)構(gòu)后,繼續(xù)執(zhí)行了外部switch結(jié)構(gòu)的case2:分支,最后a和b的值分別為2和1。
38.HOWHOW解析:在scanf()函數(shù)中,使用空格作為分隔符,如果輸入含有空格的字符中,則不能使用scanf()數(shù),所以本題中輸入空格就返回了'\\0\\,s數(shù)組也就確定了,后面的輸入就不再讀入數(shù)組s中。
39.類類解析:在面向?qū)ο蟮姆椒ㄖ?,把具有相同屬性和方法的?duì)象稱為類,類是對(duì)象的抽象,對(duì)象是類的實(shí)例。
40.a=14a=14解析:逗號(hào)表達(dá)式的值是以逗號(hào)分隔的最后一個(gè)表達(dá)式的值。所以題目中的語(yǔ)句a=(3*5,a+4);就等價(jià)于a=a+4;。故本題輸出結(jié)果是a=14。
41.C解析:函數(shù)f()有3個(gè)形式參數(shù)f1、f2和x,其中f1、f2是指向函數(shù)的指針變量。在main()函數(shù)中執(zhí)行了函數(shù)調(diào)用“f(fa,fb,2)”,從而使f()的形式參數(shù)f1指向了fa,形式參數(shù)f2指向了fb,把實(shí)參2傳給了形參變量x。函數(shù)f()中的return語(yǔ)句相當(dāng)于“fb(2)-fa(2)”(fb(2)的返回值為2*2*2=8,fa(2)返回值為2*2=4)即(8-4),值為4。函數(shù)f()執(zhí)行后把返回值4賦給了i,輸出i的值是4。
42.B
43.D字符串的比較不能直接用關(guān)系運(yùn)算符,可用字符串比較函數(shù)strcmp(char.s1,char*s2)實(shí)現(xiàn),其比較規(guī)則是對(duì)兩個(gè)字符串自左至右逐個(gè)字符按其對(duì)應(yīng)的ASCII碼值進(jìn)行比較,直到出現(xiàn)不同的字符或遇到'\\0'為止。若對(duì)應(yīng)字符都相同,則兩字符串相等;若出現(xiàn)不相同的字符,則以第一個(gè)不相同的字符的比較結(jié)果為準(zhǔn)。比較的結(jié)果由函數(shù)值帶回。當(dāng)s1<s2時(shí),返回負(fù)數(shù);當(dāng)s1=s2時(shí),返回0;當(dāng)s1>s2時(shí),返回正數(shù)。所以在此題中要使得s1所指串大于s2所指串,就必定使得strcmp(s1,s2)>0。
44.B解析:函數(shù)printf中的參數(shù)是三目條件表達(dá)式,循環(huán)控制變量i值為4時(shí),i%2為0,格式控制字符串為'##%d\\n',輸出為##4;循環(huán)控制變量i值為5時(shí),i%2為1,格式控制字符串為'**%d\\n',輸出為*5,兩次輸出不在同一行。
45.D解析:本題考查了二維數(shù)組元素引用的方法。題中用動(dòng)態(tài)存儲(chǔ)分配函數(shù)malloc分配了一個(gè)int型數(shù)據(jù)長(zhǎng)度大小的內(nèi)存,然后指針p指向了這段內(nèi)存,函數(shù)f()中對(duì)p所指向的數(shù)據(jù)進(jìn)行了賦值,p[1][1]為二維數(shù)組第二行第二列的元素,對(duì)應(yīng)于實(shí)參a的元素5,所以輸出結(jié)果為5。
46.A解析:C函數(shù)的參數(shù)傳遞方式采用按值傳遞,不能通過(guò)調(diào)用函數(shù)改變形參指針本身的值,只能改變指針?biāo)缸兞康闹怠U{(diào)用point函數(shù)時(shí),將實(shí)參指針p的值(b數(shù)組的首地址)傳給了形參指針P,P+=3運(yùn)算使形參指針指向字符d,但并不能改變main函數(shù)中p的值,所以本題正確答案應(yīng)該是選項(xiàng)A)。
47.B解析:C語(yǔ)言中沒(méi)有輸入輸出語(yǔ)句,它是通過(guò)C語(yǔ)言提供的函數(shù)來(lái)實(shí)現(xiàn)的,本題C中,應(yīng)為變量地址。
48.D解析:*、/和%的優(yōu)先級(jí)要高于+和—,同級(jí)別的運(yùn)算符從左至右運(yùn)算。所以本題首先計(jì)算5/2和5%2,雖然我們都知道5/2的結(jié)果應(yīng)該是2.5,但C語(yǔ)言中規(guī)定了兩個(gè)整數(shù)相除的結(jié)果為整數(shù),而且是截尾取整,所以5/2的結(jié)果是2;5%2表示的是5除以2所得的余數(shù),其結(jié)果為1。計(jì)算完后,表達(dá)式變?yōu)?.6-2+1.2+1,從左至右計(jì)算不難得出結(jié)果為3.8,故應(yīng)該選擇D。
49.D
50.D解析:本題程序第一輪循環(huán)后b的值為9,在進(jìn)行循環(huán)條件測(cè)試時(shí),先取b的現(xiàn)值9與0比較,然后再將b減1。由于9<0不成立,因此循環(huán)結(jié)束,這時(shí)b的值已變成8,本題正確答案為D。
51.C解析:C語(yǔ)言中如果邏輯與運(yùn)算符左邊的表達(dá)式為假,右邊的表達(dá)式就不再運(yùn)算了,(++a<0)=(0<0)=0,所以邏輯與右邊的表達(dá)式就不參與運(yùn)算,沒(méi)有改變b的值。因此輸出b=1,a=0。
52.B解析:strcpy(strl,s1):作用是將字符串s1拷貝到字符數(shù)組strl中去。strcat(字符數(shù)組1,字符數(shù)組2):把字符串2接到字符串1的后面,結(jié)果放在字符數(shù)組1中,函數(shù)調(diào)用后返回字符數(shù)組1的地址。本題定義了三個(gè)字符數(shù)組pl,p2,str,strcat(pl,p2)函數(shù)的作用是將字符串?dāng)?shù)組p2接到字符串p1的后面,結(jié)果放在字符數(shù)組p1中,再通過(guò)strcpy()函數(shù)將該字符串拷貝到str數(shù)組中,原str數(shù)組中的字符串xyz被覆蓋,因此打印輸出字符串str即可得到abcABC。
53.A解析:在主函數(shù)main中,f(s[i])為for語(yǔ)句的循環(huán)終止條件,當(dāng)f函數(shù)返回非零值時(shí),則繼續(xù)執(zhí)行循環(huán),否則終止循環(huán),輸出d的值。程序的運(yùn)行步驟為:當(dāng)i=0時(shí),f(s[i])返回值為1,執(zhí)行d+=1,d=1;當(dāng)i=1時(shí),將s[1];3傳給形參變量s,f函數(shù)返回a%2=1,執(zhí)行d=d+s[1]=1+3=4;當(dāng)i=2時(shí),將s[2]=5傳給形參變量a,f函數(shù)返回a%2=1,執(zhí)行d=d+s[2]=4+5=9;當(dāng)i=3時(shí),將a[3]=2傳給形參變量a,f函數(shù)返回a%2=0,終止循環(huán),輸出d的值9。
54.DD.【解析】在線性鏈表中,各元素在存儲(chǔ)空間中的位置是任意的,各元素的順序也是任意的,依靠指針來(lái)實(shí)現(xiàn)數(shù)據(jù)元素的前后件關(guān)系。
55.B
56.CC。【解析】結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法,采用自頂向下、逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。
57.B解析:本題x=10,表達(dá)式“x+=x-=x-x;”的求解步驟如下:先進(jìn)行x-=x-x的運(yùn)算,相當(dāng)于)x=x-(x-x)=x=10;再進(jìn)行x+=x的運(yùn)算,即x=x+x=20。
58.D解析:返回指針值的函數(shù),其—般定義形式為:類型標(biāo)識(shí)符*函數(shù)名(參數(shù)表);例如:int*f(x,y);其中,f是函數(shù)名,調(diào)用它以后能得到—個(gè)指向整型數(shù)據(jù)的指針(地址),x,y是函數(shù)f的形參。在f的兩側(cè)為別為*運(yùn)算符和()運(yùn)算符,而()優(yōu)先級(jí)高于*,因此f先與()結(jié)合,顯然是函數(shù)形式。這個(gè)函數(shù)前面有一個(gè)*,表示此函數(shù)是指針型函數(shù)(函數(shù)值是指針)。前面的int表示返回的指針指向整型變量。
59.A解析:條件表達(dá)式的形式如下:表達(dá)式1?表達(dá)式2:表達(dá)式3,所以本題條件表達(dá)式a<b?a:c<d?c:d應(yīng)該理解為a<b?a:(c<d?c:d),首先求出條件表達(dá)式c<d?c:d的值等于2,再求條件表達(dá)式a<b?a:2的值,由于a-1<b-4成立,所以上述條件表達(dá)式的值等于1。
60.C解析:本題考查數(shù)據(jù)庫(kù)的關(guān)系代數(shù)運(yùn)算。R表中只有一個(gè)域名A,有兩個(gè)記錄(也叫元組),分別是m和n;S表中有兩個(gè)域名,分別是B和C,其所對(duì)應(yīng)的記錄分別為1和3。注意觀察表T,它是由R的第一個(gè)記錄依次與S的所有記錄組合,然后再由R的第二個(gè)記錄與S的所有記錄組合,形成的一個(gè)新表。上述運(yùn)算恰恰符合關(guān)系代數(shù)的笛卡兒積運(yùn)算規(guī)則。關(guān)系代數(shù)中,笛卡兒積運(yùn)算用“×”來(lái)表示。因此,上述運(yùn)算可以表示為T=R×S。因此,本題的正確答案為C。
61.B本題主要考查指針變量對(duì)數(shù)組元素的引用。在本題中,首先定義了一個(gè)一維數(shù)組a,并對(duì)其進(jìn)行初始化操作,然后定義了一個(gè)同類型的指針變量p,使其指向數(shù)組a的首地址。
通過(guò)指針引用數(shù)組元素主要分如下兩種情況。
(1)引用數(shù)組a首元素的常用等價(jià)方式有:
①獲取首元素地址:a,p;
②訪問(wèn)首地址的值:a[0],p[0],*a,*p。
(2)引用數(shù)組第i個(gè)元素(從0開始計(jì)數(shù))的常用等價(jià)方式有:
①獲取i元素地址:a+i,&a[i],p+i,&p[i];
②訪問(wèn)i運(yùn)算的值:*(a+i),a[i],*(p+i),p[i]。
題目要求訪問(wèn)值為9的元素,從數(shù)組中不難看出該元素是數(shù)組的第8個(gè)元素(從0開始計(jì)數(shù)),結(jié)合上面的分析可以知道,用指針變量p引用數(shù)組a中的第8個(gè)元素的值的方法可以為*(p+8)或p[8],因此本題的正確答案選B。
62.D
63.D循環(huán)隊(duì)列的隊(duì)頭指針與隊(duì)尾指針都不是固定的,隨著入隊(duì)與出隊(duì)操作要進(jìn)行變化。因?yàn)槭茄h(huán)利用的隊(duì)列結(jié)構(gòu),所以隊(duì)頭指針有時(shí)可能大于隊(duì)尾指針,有時(shí)也可能小于隊(duì)尾指針。
64.D
65.B
66.D
67.D第一次循環(huán)i為0,i%2為o,執(zhí)行switch(a[O]%2)中的ca∞0語(yǔ)句后內(nèi)容即a[0]++,a[0]的值變成3;第二次循環(huán)i的值為l,i%2為1,執(zhí)行ca∞1:a[i]=0;所以a[1]的值變成0;第三次循環(huán)i的值為2,i%2為0,執(zhí)行switch(a[2]%2)中的ca∞1語(yǔ)句后的內(nèi)容a[2]一一,8[2]的值變成4;第四次循環(huán)i的值為3,i%2為1,執(zhí)行casel:a[i]=0;所以a[3]的值變成0。
68.D
69.C本題考查對(duì)面向?qū)ο蟮睦斫?,面向?qū)ο蟮某绦蛟O(shè)計(jì)是對(duì)象模擬問(wèn)題領(lǐng)域中的實(shí)體,各對(duì)象之間相對(duì)獨(dú)立,相互依賴性小,通過(guò)消息來(lái)實(shí)現(xiàn)對(duì)象之間的相互聯(lián)系。
70.A
71.B無(wú)符號(hào)整型變量a的值為8,二進(jìn)制表示為00001000,右移3位后為00000001,即十進(jìn)制的l,所以輸出1。
72.A
73.C本題考查衡量模塊獨(dú)立性的標(biāo)準(zhǔn)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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版施工現(xiàn)場(chǎng)安全評(píng)價(jià)與驗(yàn)收協(xié)議責(zé)任書3篇
- 2025版?zhèn)€人退股協(xié)議書:創(chuàng)業(yè)投資退出與收益確認(rèn)合同4篇
- 2025年全球及中國(guó)絕緣干式電力變壓器行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025-2030全球光強(qiáng)度調(diào)制器行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球多相真空萃取機(jī)行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025-2030全球太陽(yáng)能商用EV充電車棚行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)紫外超快光纖激光器行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2024年科普知識(shí)競(jìng)賽試題庫(kù)及答案(共60題)
- 2025年度個(gè)人個(gè)人間環(huán)保技術(shù)研發(fā)借款協(xié)議4篇
- 2025年度個(gè)人住宅租賃定金支付與保障協(xié)議書2篇
- 2024-2025學(xué)年北京石景山區(qū)九年級(jí)初三(上)期末語(yǔ)文試卷(含答案)
- 第一章 整式的乘除 單元測(cè)試(含答案) 2024-2025學(xué)年北師大版數(shù)學(xué)七年級(jí)下冊(cè)
- 春節(jié)聯(lián)歡晚會(huì)節(jié)目單課件模板
- 中國(guó)高血壓防治指南(2024年修訂版)
- 糖尿病眼病患者血糖管理
- 抖音音樂(lè)推廣代運(yùn)營(yíng)合同樣本
- 《春酒》琦君完整版
- 教育促進(jìn)會(huì)會(huì)長(zhǎng)總結(jié)發(fā)言稿
- 北師大版(2024新版)七年級(jí)上冊(cè)數(shù)學(xué)第四章《基本平面圖形》測(cè)試卷(含答案解析)
- 心理調(diào)適教案調(diào)整心態(tài)積極應(yīng)對(duì)挑戰(zhàn)
- 小學(xué)數(shù)學(xué)6年級(jí)應(yīng)用題100道附答案(完整版)
評(píng)論
0/150
提交評(píng)論