版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年廣東省江門(mén)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.程序運(yùn)行后的輸出結(jié)果是()。A.0304.B.2050C.3344D.3040
2.關(guān)于數(shù)組和指針,以下說(shuō)法錯(cuò)誤的是()。
A.數(shù)組名本身就是一個(gè)指針,指向數(shù)組內(nèi)存的起始位置
B.既可以讀入數(shù)據(jù)到數(shù)組中,也可以讀入數(shù)據(jù)到未賦初值的指針中
C.可以將指針指向一個(gè)同類(lèi)型的數(shù)組
D.指針可以指向同類(lèi)型的數(shù)組中的任意一個(gè)元素
3.
4.下列關(guān)于信息系統(tǒng)的敘述中,錯(cuò)誤的是()。
A.廣播電視是一種雙向的、點(diǎn)到多點(diǎn)的信息交互系自
B.網(wǎng)絡(luò)聊天是一種雙向的,以信息交互為主要目的系統(tǒng)
C.電話(huà)是一種雙向的、點(diǎn)對(duì)點(diǎn)的、以信息交互為主要的的系統(tǒng)
D.雷達(dá)是一種以感測(cè)和識(shí)別為主要目的的系統(tǒng)
5.
6.下列程序段的輸出結(jié)果是()。chara=9,b=020;prihtf("%o\n",~a&b<<1);
A.100000B.8C.40D.77
7.若有以下程序段intm=0xabc,n=0xabc;m-=n;printf("%X\n",m);執(zhí)行后輸出結(jié)果是A.0X0B.0x0C.0D.0XABC
8.設(shè)有兩個(gè)串p和q,其中q是p的子串,求q在p中首次出現(xiàn)的位置的算法稱(chēng)為()。
A.求子串B.聯(lián)接C.匹配D.求串長(zhǎng)
9.設(shè)有定義:structcomplex{intreal,unreal;}data1={1,8},data2;則以下賦值語(yǔ)句中錯(cuò)誤的是()。
A.data2=(2,6);
B.data2=data1;
C.data2.real=data1.real;
D.data2.real=data1.unreal;
10.有以下程序段:charstr[4][12]={“aaa”,“bbb”,“ccc”,“ddd”},*p[4];inti;for(i=0;i<4;i++)p[i]=str[i];以下選項(xiàng)中不能正確引用字符串的是()。
A.*p[3]B.p[3]C.str[2]D.*p
11.A[N][N]是對(duì)稱(chēng)矩陣,將下面三角(包括對(duì)角線)以行序存儲(chǔ)到一維數(shù)組T[N(N+1)/2]中,則對(duì)任一上三角元素a[i][j]對(duì)應(yīng)T[k]的下標(biāo)k是()。
A.i(i-1)/2+jB.j(j-1)/2+iC.i(j-i)/2+1D.j(i-1)/2+1
12.下列選項(xiàng)中,能夠滿(mǎn)足“若字符串s1等于字符串s2,則執(zhí)行ST”要求的是()。A.if(strcmp(s2,s1)==0)ST;
B.if(s1===s2)ST;
C.if(strcpy(s1,s2)==1)ST;
D.if(s1,s2==0)ST;
13.在關(guān)系數(shù)據(jù)庫(kù)中,用來(lái)表示實(shí)體間聯(lián)系的是()。
A.網(wǎng)狀結(jié)構(gòu)B.樹(shù)狀結(jié)構(gòu)C.屬性D.二維表
14.下面軟件中,屬中應(yīng)用軟件的是()
A.UnixB.人事管理系統(tǒng)C.數(shù)據(jù)庫(kù)管理理系統(tǒng)D.DOS
15.眾所周知數(shù)據(jù)結(jié)構(gòu)中非常基本的樹(shù)結(jié)構(gòu)包括二叉查找樹(shù)(BST)。當(dāng)我們把如下序列:10,5,19,4,13,7,6,3,1按順序建立一棵BST時(shí),樹(shù)的最大深度是?(令根節(jié)點(diǎn)深度為0,不執(zhí)行平衡二叉樹(shù)操作)()
A.5B.4C.3D.2
16.定義根節(jié)點(diǎn)深度為1,有n個(gè)元素的完全二叉樹(shù)的深度是()
A.D(n)=log2(n)
B.D(n)=1+log2(n)
C.D(n)=n+log2(n)
D.D(n)=1+n*log2(n)
17.
18.有以下程序
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
*q=*(p+5);
printf("%d%d\n",*p,*q);
}
程序運(yùn)行后的輸出結(jié)果是A.運(yùn)行后報(bào)錯(cuò)B.66C.611D.510
19.設(shè)有二元關(guān)系R和三元關(guān)系s,下列運(yùn)算合法的是()。
A.R∩SB.R∪SC.R-SD.R×S
20.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。
A.控制流B.加工C.數(shù)據(jù)存儲(chǔ)D.源和潭
二、2.填空題(20題)21.以下程序運(yùn)行后輸入3,abcde<回車(chē)>,則輸出結(jié)果是【】。
#include<string.h>
move(char*str,intn)
{chartemp;inti;
temp=str[n-1];
for(i=n-1;i>0;i--)str[i]=str[i-1];
str[0]=temp;
}
main()
{chars[50];intn,i,z;
scanf("%d,%s",&n,s);
z=strlen(S);
for(i=1;i<=n;i++)move(s,z);
printf("%s\n",s);
}
22.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱(chēng)為一個(gè)______。
23.下列語(yǔ)句的輸出結(jié)果是【】。
chara=3;printf("%d,%o,%x,%u\n",a,a,a,a);
24.以下程序的定義語(yǔ)句中,x[1]的初值是(),程序運(yùn)行后輸出的內(nèi)容是()。#include<stdio.h>main(){intx[]={1,2,3,4,5,6,7,8,9,10,1l,12,13,14,15,16},*p[4],i;for(i=0;i<4;i++){p[i]=&x[2*i+1],printf("q%d”,p[i][0]);}printf("\n");}
25.由25人圍坐成圓圈,先從任意一人出發(fā)用1到25順時(shí)針依次編號(hào),然后從1號(hào)開(kāi)始順時(shí)針報(bào)數(shù)(1、2、3…),凡報(bào)5的倍數(shù)者出圈,剩下者繼續(xù)報(bào)數(shù),求出最后出圈者的編號(hào)。
#include<stdio.h>
【】
{inta[26],j,n,count;
for(j=1;j<=25;j++)a[j]=j(luò);
j=1;count=0;n=【】;
do
{if(a[j]!=0)
{n++;
if(n%5==0)
{【】;
if(count==24)printf("%d\n",j);
count++;
}
}
j++;
if(j>25)j=1;
}
while(【】);
}
26.下面程序的功能是將一個(gè)字符串str的內(nèi)容倒序,請(qǐng)?zhí)羁铡?/p>
#inelude<stdio.h>
#include<strins.h>
main()
{inti,j,【】;
charstr[]={"1234567"};
for(i=0,j=strlen(str)【】;i<j;i++,j--)
{k=str[i];str[i]=str[j];str[j]=k;}
printf("%s\n",str);
}
27.軟件生命周期分為軟件定義期、軟件開(kāi)發(fā)期和軟件維護(hù)期,詳細(xì)設(shè)計(jì)屬于______中的一個(gè)階段。
28.下列程序的運(yùn)行結(jié)果是______。
#definePOWER(x)((x)*(x))
main()
{inti=1;
primtf("%d,%d",POWER(i++),i);
}
29.用以下語(yǔ)句調(diào)用庫(kù)函數(shù)malloc,使字符指針st指向具有11個(gè)字節(jié)的動(dòng)態(tài)存儲(chǔ)空間,請(qǐng)?zhí)羁?。st=(char*)【】;
30.設(shè)有如下定義
#defineMYSWAP(z,x,y){z=x;x=y;y=z;}
floata=5,b=16,c;
MYSWAP(______,a,b);
31.執(zhí)行以下程序后sum的值是【】。
main()
{
inti,sum;
for(i=1;i<6;i++)
sum+=i;
printf("%d\n",sum);
}
32.設(shè)有定義:FILE*fw;,請(qǐng)將以下打開(kāi)文件的語(yǔ)句補(bǔ)充完整,以便可以向文本文件readme.txt的最后續(xù)寫(xiě)內(nèi)容。
fw=fopen("readme.txt",【】);
33.設(shè)有宏定義:
#defineWIDTH80
#defineLENGTHWIDTH+40
則執(zhí)行賦值語(yǔ)句“v=LENGTH*20;"(v為int型變量)后,v的值是【】。
34.下面程序的功能是兩個(gè)整數(shù)進(jìn)行交換,請(qǐng)?zhí)羁铡?/p>
sub(int*x,int*y)
{【】
z=*x;*x=*y;*y=z;
return;}
main()
{intm,n,*t1,*t2;
scanf("%d,%d",&m,&n);
t1=&m;t2=&n;
【】
printf("%d,%d\n",m,n);}
35.棧中允許進(jìn)行插入和刪除的一端叫做______。
36.函數(shù)delete(s,i,n)是作用是從字符串s中刪除從第i個(gè)字符開(kāi)始的n個(gè)字符,請(qǐng)?zhí)羁铡?/p>
voiddelete(chars[],inti,intn)
{intj,k,length=0;
while(s[length])
【】;
-i;
j=i
}
if(【】)
{k=i+n;
if(i+n<=length)
while(k<length)
s[j++]=s[k++];
s[j]='\0';
}
37.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見(jiàn)的排序方法有插入排序、【】和選擇排序等。
38.以下程序的功能是調(diào)用函數(shù)fun計(jì)算:m=1-2+3-4+…+9-10,并輸出結(jié)果。請(qǐng)?zhí)羁铡?/p>
intfun(intn)
{intm=0,f=1,i;
for(i=1;i<=n;i++)
m+=i*f;
f=【】;
returnm;
}
main()
{printf("m=%d\n",【】);}
39.算法的執(zhí)行過(guò)程中,所需要的存儲(chǔ)空間稱(chēng)為算法的【】。
40.若有定義floatb[15],*p=b;,且數(shù)組b的首地址為200H,則p+13所指向的數(shù)組元素的地址為_(kāi)_____。
三、1.選擇題(20題)41.下面程序的輸出是______。main(){intx=3,y=6,a=0;while(x++!=(y-=1)){a+=1;if(y<x)break;}printf("x=%d,y=%d,a=%d\n",x,y,a);}
A.x=4,y=4,a=1B.x=5,y=5,a=1C.x=5,y=4,a=3D.x=5,y=4,a=1
42.下面各選項(xiàng)中,均是C語(yǔ)言合法標(biāo)識(shí)符的選項(xiàng)組是
A.33weautoB._23me_3ewC._433e_elseD.ER-DF32
43.以下4個(gè)選項(xiàng)中,不能看作一條語(yǔ)句的是
A.{;}B.a=0,b=0,c=0;C.if(a>0);D.if(b==0)m=1;n=2;
44.數(shù)據(jù)存儲(chǔ)和數(shù)據(jù)流都是______,僅僅是所處的狀態(tài)不同。
A.分析結(jié)果B.事件C.動(dòng)作D.數(shù)據(jù)
45.下列程序的輸出結(jié)果是()。main(){inta,b,d=25;a=d/10%9;b=a&&(-1);printf("%d,%d\n",a,b);}
A.6,1B.2,1C.6,0D.2,0
46.下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是()。
A.自頂向下B.逐步求精C.模塊化D.可復(fù)用
47.在執(zhí)行下述程序時(shí),若從鍵盤(pán)輸入6和8,則結(jié)果為
main()
{inta,b,s;
scanf("%d%d",&a,&b);
s=a
if(a<b)
s=b;
s*=s;
printf("%d",s);}
A.36B.64C.48D.以上都不對(duì)
48.有以下程序intf1(intx,inty){returnx>y?x:y;}intf2(intx,inty){returnx>y?y:x;}main(){inta=4,b=3,c=5,d,e,f;d=f1(a,b);d=f1(d,c);e=f2(a,b);e=f2(e,c);f=a+b+c-d-e;printf("%d,%d,%d\n",d,f,e);}執(zhí)行后輸出結(jié)果是
A.3,4,5B.5,3,4C.5,4,3D.3,5,4
49.設(shè)x=015,則x=x^017的值是()。A.00001111B.11111101C.00000010D.11000000
50.設(shè)a和b均為double型變量,且a=5.5,b=2.5,則表達(dá)式(int)a+b/b的值是A.6.5B.6C.5.5D.6
51.設(shè)有以下定義:strucksk{inta;floatb;}data;int*p;若要使p指向data中的a域,正確的賦值語(yǔ)句是()。
A.p=&a;B.p=data.a;C.p=&data.a;D.*p=data.a;
52.設(shè)有以下語(yǔ)句:charstr1[]="string"mstr2[8],*str3,*str4=="string";則______不是對(duì)庫(kù)函數(shù)的正確調(diào)用。
A.strcpy(str1,"HELLO1");
B.strcpy(str2,"HELLO2");
C.strcpy(str3,"HELLO3");
D.strcpy(str4,"HELLO4");
53.在下列給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是()。
A.(!E==0)B.(E>0‖E<0)C.(E==0)D.(E!=0)
54.下述程序向文件輸出的結(jié)果是______。#include<stdio.h>voidmain(){FILE*fp=fopen("TEST","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)制文件而不可讀
55.以下程序的輸出結(jié)果是()main(){inta[10]={1,2,3,4,5,6,7,8,9,10,},*p=a;printf("%d\n",*(p+2));}
A.3B.4C.1D.2
56.有以下程序main(){chara,b,c,d;scanf("%c,%c,%d,%d",&a,&b,&c,&d);printf("%c,%c,%c,%c\n",a,b,c,d);}若運(yùn)行時(shí)從鍵盤(pán)上輸入:6,5,65,66<回車(chē)>。則輸出結(jié)果是
A.6,5,A,BB.6,5,65,66C.6,5,6,5D.6,5,6,6
57.在關(guān)系型的數(shù)據(jù)庫(kù)管理系統(tǒng)中,3種基本關(guān)系運(yùn)算是______。
A.選擇、投影和連接B.選擇、刪除和復(fù)制C.創(chuàng)建、修改和合并D.統(tǒng)計(jì)、連接和分類(lèi)
58.若變量已正確定義,則以下語(yǔ)句的輸出結(jié)果是______。s=32;s^=32;printf("%d",s);
A.-1B.0C.1D.32
59.請(qǐng)選出可用作C語(yǔ)言用戶(hù)標(biāo)識(shí)符的一組()。
A.voiddefineWORD
B.a3_b3_123IF
C.For_abccase
D.2aDOsizeof
60.若有以下說(shuō)明,則能打印出“Yu”的語(yǔ)句是______。structsamp{charname[10];intnumber;}kk[3]={{"WarBin",1},{"LiYu",2},{"LuHui",3}};structsamp*str[3];str[0]=&kk[0];str[1]=&kk[1];str[2]=&kk[2];
A.printf("%s\n",str[1].name[2]);
B.printf("%s\n",str[1]->name+2);
C.printf("%s\n",str[2].name[2]);
D.printf("%s\n",str[2]->name+2);
四、選擇題(20題)61.下列敘述中正確的是()。
A.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)只能有一種存儲(chǔ)結(jié)構(gòu)
B.邏輯結(jié)構(gòu)屬于線性結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)屬于非線性結(jié)構(gòu)
C.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存諸結(jié)構(gòu)不影響數(shù)據(jù)處理的效率
D.一個(gè)邏輯數(shù)據(jù)結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu),且各種存諸結(jié)構(gòu)影響數(shù)據(jù)處理的效率
62.
63.有以下程序:main(){chars[]="\n123\\";printf("%d,%d\n",strlen(s),sizeof(s));}執(zhí)行后輸出結(jié)果是()。
A.賦初值的字符串有錯(cuò)B.6,7C.5,6D.6,6
64.有以下程序
65.函數(shù)ftell(fp)的作用是()。
A.得到fp所指向文件的當(dāng)前讀寫(xiě)位置B.初始化流式文件的位置指針C.移動(dòng)流式文件的位置指針D.以上答案均正確
66.
67.
68.若有以下定義和語(yǔ)句:
chars[10]="abcd!",*s2="\nl23\\";
Drintf("%d%d\n",strlen(sl),strlen(s2));
則輸出結(jié)果是()。
A.55B.105C.107D.58
69.有以下程序:#include〈stdio.h〉intabe(intu,intv);main{inta=24,b=16,c;c=abc(a,b);printf(“%d\n”,c);}intabc(intu,intv){intw;while(v){w=u%v;u=v;v=w;)returnu;}輸出結(jié)果是()。A.6B.7C.8D.9
70.若變量x、y已正確定義并賦值,以下符合C語(yǔ)言語(yǔ)法的表達(dá)式是()。
A.X+1=yB.++X.Y=X一一C.X=X+10=X+YD.double(X)/10
71.程序中已構(gòu)成如下圖所示的不帶頭結(jié)點(diǎn)的單向鏈表結(jié)構(gòu),指針變量s、p、q均已正確定義,并用于指向鏈表結(jié)點(diǎn),指針變量s總是作為指針指向鏈表的第一個(gè)結(jié)點(diǎn)。
若有以下程序段:
該程序段實(shí)現(xiàn)的功能是()。
A.刪除尾結(jié)點(diǎn)B.尾結(jié)點(diǎn)成為首結(jié)點(diǎn)C.刪除首結(jié)點(diǎn)D.首結(jié)點(diǎn)成為尾結(jié)點(diǎn)
72.
73.以下選項(xiàng)中,能用作數(shù)據(jù)常量的是()。
A.115LB.0118C.1.5el.5D.0115
74.
75.在執(zhí)行下述程序時(shí),若從鍵盤(pán)輸入6和8,則結(jié)果為()。
A.36B.64C.48D.以上都不對(duì)
76.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.0987654321
B.4321098765
C.5678901234
D.0987651234
77.若x,i,j和k都是int型變量,則計(jì)算表達(dá)式x=(i=4,j=16,k=32)后,x的值為()。
A.4B.16C.32D.52
78.對(duì)于一個(gè)正常運(yùn)行的C程序,以下敘述中正確的是()。
A.程序的執(zhí)行總是從main函數(shù)開(kāi)始,在程序的最后一個(gè)函數(shù)中結(jié)束
B.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開(kāi)始,在main函數(shù)結(jié)束.
C.程序的執(zhí)行總是從main函數(shù)開(kāi)始、
D.程序的執(zhí)行總是從程序的第一個(gè)函數(shù)開(kāi)始,在程序的最后一個(gè)函數(shù)中結(jié)束
79.若變量已正確定義,有以下程序段:
其輸出結(jié)果是()。
A.0,0B.0,1C.1,1D.程序進(jìn)入無(wú)限循環(huán)
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:在字符串str中找出ASCⅡ碼值最大的字符,將其放在第一個(gè)位置上,并將該字符前的原字符向后順序移動(dòng)。例如,調(diào)用proc()函數(shù)之前給字符串輸入DcybkdGT,調(diào)用后字符串中的內(nèi)容為yDcbkdOT。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)proc(),它的功能是:將字符串中的前導(dǎo)*號(hào)全部刪除,中間和后面的*號(hào)不刪除。例如,若字符串中的內(nèi)容為****a*bc*def*g****,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是a*bc*def*g****。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.D[解析]第一次循環(huán)溈0.i%2為0.執(zhí)行switch(a[0]%62)中的case0語(yǔ)句后內(nèi)容即a[0]++,a[0]的值變成3;第二次循環(huán)的值為1.i%62為1.執(zhí)行case1:a[]=0;所以a[1]的值變成0;第三次循環(huán)的值為2.i%62為0.執(zhí)行switch([2]%62)中的case1語(yǔ)句后的內(nèi)容a[2]--,a[2]的值變成4;第四次循環(huán)的值為3.i%2為1.執(zhí)行case1:ai]=0;所以a[3]的值變成0.
2.BC語(yǔ)言中,數(shù)組名本身就是一個(gè)指針,指向數(shù)組內(nèi)存的起始位置,選項(xiàng)A正確;已經(jīng)定義的數(shù)組被分配了內(nèi)存空間,所以可以讀入數(shù)據(jù)到數(shù)組中,未賦初值的指針沒(méi)有分配內(nèi)存空間,不可以讀入數(shù)據(jù),選項(xiàng)B錯(cuò)誤;可以將指針指向一個(gè)同類(lèi)型的數(shù)組,選項(xiàng)C正確;指針指向一個(gè)數(shù)組后,可以通過(guò)移動(dòng)指針,指向該數(shù)組中的任意一個(gè)元素,選項(xiàng)D正確。故本題答案為B選項(xiàng)。
3.A
4.A廣播/電視是一種單向的、點(diǎn)對(duì)多點(diǎn)(面)的以信息傳遞為主要目的的系統(tǒng)。
5.B
6.C解析:將變量a按位求反,再與b按位與,最后左移1位。9的二進(jìn)制表示為00001001,020的二進(jìn)制表示為00010000。a按位求反為11110110,再與b按位與結(jié)果為00010000,左移1位結(jié)果為00100000。按八進(jìn)制輸出為040。
7.C解析:格式字符x或x是以十六進(jìn)制無(wú)符號(hào)形式輸出整型數(shù)(不帶前導(dǎo)0x或OX)。對(duì)于x用abc輸出,X用ABC輸出。
8.C
9.A結(jié)構(gòu)體變量初始化的具體成員值使用花括號(hào)標(biāo)注,選項(xiàng)A錯(cuò)誤。故本題答案為A選項(xiàng)。
10.A“*P[3]”是一個(gè)字符,也就是str[3][0],不是字符串,選項(xiàng)A錯(cuò)誤。“P[3]”“str[2]”和“*p”分別代表了ddd、ccc、aaa。故本題答案為A選項(xiàng)。
11.B
12.A解析:strcmp(char*,char*),函數(shù)strcmp用于比較兩個(gè)字符串的長(zhǎng)度,長(zhǎng)者為大,若字符個(gè)數(shù)也一樣,則從左至右依次比較相同位上的字符,字符大小按ASCⅡ表值計(jì)算,直到最后一個(gè)字符,若還相同,則兩個(gè)字符串相等,返回值0。選項(xiàng)A中if(strcmp(s2,s1)=0)ST,若s2等于s1,則返回值0,0等于0,所以邏輯表達(dá)式strcmp(s2,s1)=0為真執(zhí)行ST。
13.D單一的數(shù)據(jù)結(jié)構(gòu)——關(guān)系,現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種聯(lián)系均用關(guān)系來(lái)表示。數(shù)據(jù)的邏輯結(jié)構(gòu)——二維表,從用戶(hù)角度,關(guān)系模型中數(shù)據(jù)的邏輯結(jié)構(gòu)是一張二維表。但是關(guān)系模型的這種簡(jiǎn)單的數(shù)據(jù)結(jié)構(gòu)能夠表達(dá)豐富的語(yǔ)義,描述出現(xiàn)實(shí)世界的實(shí)體以及實(shí)體間的各種關(guān)系。
14.B
15.B
16.B
17.C
18.C解析:本題中第一行代碼對(duì)指針P進(jìn)行了初始化,其指向數(shù)組a的第6個(gè)元素,在其后的操作中p的值也沒(méi)有改變過(guò),所以最后輸出*p=*\u3000\u3000(p+0)\u3000\u3000=a\u3000[5]\u3000=6,而第二行代碼中對(duì)q指向的值進(jìn)行賦值,等價(jià)于*q=a[10]=11,所以輸出結(jié)果*q為11。
19.D本題給出的兩個(gè)關(guān)系R與S的表結(jié)構(gòu)是不同的(R是二元關(guān)系,S是三元關(guān)系),它們不能進(jìn)行∩、∪、一運(yùn)算。而兩個(gè)不同結(jié)構(gòu)的關(guān)系是可以進(jìn)行笛卡兒積(×)運(yùn)算的。
20.A解析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫(huà)數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲(chǔ)文件(數(shù)據(jù)源)、源和潭。
21.cdeabcdeab解析:本題move()函數(shù)的作用,是將形參s仕所指地址的連續(xù)n位循環(huán)右移1位,即讓str[n-1]=str[n-2],str[n-2]=str[n-3],…,str[1]=str[0],str[0]=str[n-1](原)。主函數(shù)中用了一個(gè)for循環(huán)調(diào)用move()函數(shù),共循環(huán)3次,所以數(shù)組s被循環(huán)右移了3位,故最后輸出的值為cdeab。
22.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個(gè);維表代表一種關(guān)系。
23.31371f3131,37,1f,31解析:此題考查了printf函數(shù)的格式字符,題中d是以十進(jìn)制形式輸出,o是以八進(jìn)制形式輸出,x是以十六進(jìn)制形式輸出,u以不帶符號(hào)的十進(jìn)制數(shù)輸出。
24.2246822468解析:p為指向數(shù)組的指針變量,數(shù)組x[1]為數(shù)組x[]的第二個(gè)元素,值為2;進(jìn)入for循環(huán)i=0時(shí),p[0]=&x[1]…直到循環(huán)完畢,指針?lè)謩e指向數(shù)組x[]中的第2、4、6、8個(gè)元素,所以第二個(gè)空白處應(yīng)填2468。
25.main()0a[j]=0count<25
26.k-1k-1解析:第一處應(yīng)該是定義的某個(gè)變量,讀程序可知,變量k沒(méi)有定義,所以此處應(yīng)填入k。字符串的倒序,就是將首尾對(duì)應(yīng)的字符(數(shù)組元素)兩兩交換??捎脙蓚€(gè)游標(biāo)變量i和j分別代表前端元素的下標(biāo)和后端元素的下標(biāo),交換以這兩個(gè)變量值為下標(biāo)的元素str[i]和str[j]。開(kāi)始時(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,所以在第二處應(yīng)填入-1。
27.軟件開(kāi)發(fā)軟件開(kāi)發(fā)解析:軟件生命周期分為3個(gè)時(shí)期共8個(gè)階段:軟件定義期(問(wèn)題定義、可行性研究和需求分析)、軟件開(kāi)發(fā)期(系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試)、軟件維護(hù)期(即運(yùn)行維護(hù)階段)。
28.111,1解析:POWER(i++)中先引用i的值1,再將i的值加1,POWER(i++)=1*1=1。
29.malloc(11)malloc函數(shù)的格式是void*(或char*)malloc(size),size表示應(yīng)分配的存儲(chǔ)區(qū),此題要分配11字節(jié)的單元,把11代入即可。
30.CC解析:本題關(guān)鍵在考生是不是了解宏的基本運(yùn)用,再使用宏的時(shí)候明顯少了一個(gè)實(shí)參。在定義宏的時(shí)候變量z是用來(lái)做中間變量的,題目中缺的變量就是一個(gè)中間變量C。
31.1515解析:程序的功能是求1、2、3、4、5的和即15。
32.aa解析:本題考查的是文件的打開(kāi)方式。要向文本文件的末尾續(xù)寫(xiě)內(nèi)容,需要使用方式“a”(追加)打開(kāi)文件。
33.880
34.intz;sub(t1t2);
35.棧頂棧頂解析:棧是限定在表的一端進(jìn)行插入和刪除操作的線性表。在表中,允許插入和刪除的一端叫做“棧頂”,不允許插入和刪除的一端叫做“棧底”。
36.length++i<lengthlength++\r\ni<length解析:第一個(gè)循環(huán)極有可能是計(jì)算串的長(zhǎng)度,在i<=length時(shí)字符才被刪除,被刪除的是從第i個(gè)到第i+n或最后一個(gè)間的所有字符。刪除前,應(yīng)判斷i<=length。由于已經(jīng)進(jìn)行了-i運(yùn)算,故實(shí)際應(yīng)填入i<length。
37.交換排序交換排序解析:常見(jiàn)的排序方法有插入排序(包括簡(jiǎn)單插入排序法和希爾排序法等)、交換排序(包括冒泡排序和快速排序法等)和選擇排序(包括簡(jiǎn)單選擇排序和堆排序等)。注意:常見(jiàn)的排序方法及其作用機(jī)制和區(qū)別。
38.-f或f*-1或-1*f或f*(-1)或(-1)*ffun(10)-f或f*-1或-1*f或f*(-1)或(-1)*f\r\nfun(10)解析:調(diào)用fun()函數(shù)計(jì)算m的值,在主函數(shù)中的空格處應(yīng)該填調(diào)用fun()函數(shù)的語(yǔ)句。fun()函數(shù)有一個(gè)形參n,為每次參加計(jì)算的值的個(gè)數(shù),故在主函數(shù)中的空格處應(yīng)該填fun(10),回到fun()函數(shù),函數(shù)用到了一個(gè)for循環(huán),共循環(huán)n次,當(dāng)循環(huán)第i次的時(shí)候,m的值等于m=1-2+……+[(-1)的i-1次方]*i,所以在fun()函數(shù)的空格處應(yīng)該填使f改變符號(hào)的語(yǔ)句,故應(yīng)填-f或f*-1或-1*f或f*(-1)或(-1)*f。
39.空間復(fù)雜度空間復(fù)雜度解析:算法執(zhí)行時(shí)所需要的存儲(chǔ)空間,稱(chēng)為算法的空間復(fù)雜度。
40.252H252H解析:要解答本題,首先要明白在對(duì)指針進(jìn)行加,減運(yùn)算時(shí),數(shù)字“1”不是十進(jìn)制數(shù)的“1”,而是指“1”個(gè)存儲(chǔ)單元長(zhǎng)度。1個(gè)存儲(chǔ)單元長(zhǎng)度占存儲(chǔ)空間的多少,應(yīng)該視具體情況而定,如果存儲(chǔ)單元的基類(lèi)型是血型,則移動(dòng)1個(gè)存儲(chǔ)單元的長(zhǎng)度就是位移2個(gè)字節(jié);如果存儲(chǔ)單元基類(lèi)型是float型,則移動(dòng)1個(gè)存儲(chǔ)單元的長(zhǎng)度就是位移4個(gè)字節(jié)。所以p+13所指向的數(shù)組元素的地址為:200H+(13*4)H=252H。
41.D解析:注意的是X++中x值的引用時(shí),這里應(yīng)當(dāng)是先引用,后自加,具體執(zhí)行過(guò)程如下:
第一次while循環(huán);條件為真,執(zhí)行a=a+1=1;此時(shí),x的值已為4,判斷y<x不成立,繼續(xù)執(zhí)行循環(huán);
第二次while循環(huán):條件為假,此時(shí)x的值已為5,退出while循環(huán),執(zhí)行printf。
42.B解析:合法的標(biāo)識(shí)符是由字母、數(shù)字和下劃線組成,并且第一個(gè)字符必須為字母或下劃線,用戶(hù)定義的標(biāo)識(shí)符不能與關(guān)鍵字相同。選項(xiàng)A),數(shù)字不能為第一個(gè)字母,auto為關(guān)鍵字;選項(xiàng)C)中,也是數(shù)字不能為第一個(gè)字母,else為關(guān)鍵字;選項(xiàng)D)中負(fù)號(hào)不合法。
43.D解析:C語(yǔ)言的語(yǔ)句都用“;”結(jié)束。如果只有一個(gè)分號(hào),稱(chēng)為“空語(yǔ)句”。用一對(duì)花括號(hào)把若干語(yǔ)句括起來(lái)構(gòu)成一個(gè)語(yǔ)句組,稱(chēng)為“復(fù)合語(yǔ)句”,在語(yǔ)法上視為一條語(yǔ)句。因此選項(xiàng)A是一條語(yǔ)句。選項(xiàng)B是逗號(hào)表達(dá)式加分號(hào)構(gòu)成的語(yǔ)句。選項(xiàng)C是一條if語(yǔ)句,該語(yǔ)句的if子句是一條空語(yǔ)句。選項(xiàng)D中“if(b==0)m=1;n=2;”是兩個(gè)表達(dá)式語(yǔ)句。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
44.D解析:數(shù)據(jù)流圖有4種成分:源點(diǎn)或終點(diǎn)、處理、數(shù)據(jù)存儲(chǔ)和哦數(shù)據(jù)流。數(shù)據(jù)存儲(chǔ)是處于靜止?fàn)顟B(tài)的數(shù)據(jù),數(shù)據(jù)流是處于運(yùn)動(dòng)中的數(shù)據(jù)。
45.B解析:算術(shù)運(yùn)行符“/”、“%”的優(yōu)先級(jí)處于同一級(jí),并且兩者的結(jié)合性都是從左到右。所以算術(shù)表達(dá)式運(yùn)算過(guò)程為:a=25/10%9=2%9=2:當(dāng)邏輯運(yùn)算符“&&”兩邊的值都是非零時(shí),邏輯表達(dá)式的值才為真(即為1)。所以b=2&&(-1)=1。
46.D解析:20世紀(jì)70年代以來(lái),提出了許多軟件設(shè)計(jì)方法,主要有①逐步求精:對(duì)復(fù)雜的問(wèn)題,應(yīng)設(shè)計(jì)一些子目標(biāo)作過(guò)渡,逐步細(xì)化;②自頂向下:程序設(shè)計(jì)時(shí)應(yīng)先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)。不要一開(kāi)始就過(guò)多追求眾多的細(xì)節(jié),先從最上層總目標(biāo)開(kāi)始設(shè)計(jì),逐步使問(wèn)題具體化;⑧模塊化:一個(gè)復(fù)雜問(wèn)題,肯定是由若干稍簡(jiǎn)單的問(wèn)題構(gòu)成。模塊化是把程序要解決的總目標(biāo)分解為分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo),把每個(gè)小目標(biāo)稱(chēng)為一個(gè)模塊,而可復(fù)用是面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)優(yōu)點(diǎn)。
47.B解析:本題中a的值為6,b的值為8,最后s的值為8,s*=s等價(jià)于s=s*s。
48.C解析:函數(shù)f1()的作用是返回形參x和y的較大值,函數(shù)f2()的作用是返回形參x和y的較小值,在main()函數(shù)中通過(guò)調(diào)用兩次f1()函數(shù),求得a、b、c的最大值并存放在變量d中,通過(guò)調(diào)用兩次f2()函數(shù),求得a、b、c的最小值并存放到變量e中。由程序可知d值為5,f的值為4,e的值為3,因此最后輸出的d、f、e的值為5、4、3。
49.C
\n本題考查按位異或運(yùn)算,異或就是相同為0,不同為1(化為二進(jìn)制00001101),017的二進(jìn)制為000001111,兩者異或結(jié)果為00000010。
\n
50.D解析:本題考查的知識(shí)點(diǎn)是運(yùn)算符的優(yōu)先級(jí)。在這個(gè)表達(dá)式中,優(yōu)先級(jí)最高的是(int)a,也就是對(duì)5.5取整,結(jié)果是5,其次是b/b,即2.5/2.5,結(jié)果是1.000000,最后相加結(jié)果為6.000000(表達(dá)式的最終結(jié)果為實(shí)型),所以4個(gè)選項(xiàng)中D正確。
51.C解析:p定義為指針變量。選項(xiàng)A中對(duì)結(jié)構(gòu)體分量a的引用錯(cuò)誤,應(yīng)為data.a。選項(xiàng)B中data.a是取分量的值,它是一個(gè)整型數(shù)據(jù),而p的值應(yīng)為地址,所以不能將data.a賦值給p。&為取地址符,取分量data.a的地址賦值給p,是正確的賦值語(yǔ)句。*是間接訪問(wèn)運(yùn)算符,選項(xiàng)D中的浯句是將分量data.a的值賦值給p所指存儲(chǔ)單元,*p相當(dāng)于一個(gè)變量,而不能實(shí)現(xiàn)使p指向data中的a域。
52.C解析:C語(yǔ)言中:strcpy(st1,st2);,其兩個(gè)參數(shù)均為字符指針或字符數(shù)組,選項(xiàng)C中的目的串指針str3沒(méi)有指向具體有效的存儲(chǔ)單元,故是錯(cuò)誤的調(diào)用。
53.B解析:在while(E)中,表達(dá)式E可以是C語(yǔ)言中任意合法的條件表達(dá)式,但不能為空,由它來(lái)控制循環(huán)體是否執(zhí)行。在選項(xiàng)B)中表達(dá)式E>0‖E<0是一個(gè)邏輯表達(dá)式。
54.C解析:fprintf函數(shù)工作時(shí),多個(gè)數(shù)據(jù)間不會(huì)自動(dòng)加分隔符,選項(xiàng)A錯(cuò)誤:浮點(diǎn)數(shù)的輸出格式是“%5.0f”表明其小數(shù)部分輸出0位,即沒(méi)有輸出,所以選項(xiàng)B也是錯(cuò)誤的。
55.A
56.A解析:主函數(shù)中首先定義了4個(gè)字符變量a、b、cd,然后通過(guò)scanf()函數(shù)輸入a、b、c、d輸入中a和b是按字符格式c輸入的,c和d是按整型符號(hào)d輸入的。在看下面的printf()函數(shù)中,要求a、b、c、d都按字符輸出,故a和b原樣輸出為6、5,c和d將把與其ASCII碼對(duì)應(yīng)的字符輸出,65和66的ASCII碼對(duì)應(yīng)字符A和B,故最后的輸出為6,5,A,B。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合愿意。
57.A解析:在關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)中,基本的關(guān)系運(yùn)算有選擇、投影和聯(lián)接3種操作。選擇,指的是從二維關(guān)系表的全部記錄中,把那些符合指定條件的記錄挑選出來(lái)。對(duì)于投影,是指從所有字段中選取一部分字段及其值進(jìn)行操作,它是一種縱向操作。投影操作可以改變關(guān)系的結(jié)構(gòu)。而聯(lián)接運(yùn)算則通常是對(duì)兩個(gè)關(guān)系進(jìn)行投影操作來(lái)連接生成一個(gè)新的關(guān)系。當(dāng)然,這個(gè)新的關(guān)系可以反映出原來(lái)兩個(gè)關(guān)系之間的聯(lián)系。
58.B解析:為按二進(jìn)制異或運(yùn)算符,變量s與其相等的數(shù)值異或的結(jié)果為0。
59.B解析:C語(yǔ)言規(guī)定,標(biāo)識(shí)符只能由字母、數(shù)字和下劃線三種符號(hào)組成,而且第一個(gè)字符必須是字母或下劃線。A)中的void與C語(yǔ)言的關(guān)鍵字重名,不合法;C)中的case和C語(yǔ)言的關(guān)鍵字重名,不合法;D)中的2a是數(shù)字開(kāi)頭,而且sizeof與C語(yǔ)言的關(guān)鍵字重名,不合法。
60.B解析:str是指針數(shù)組,每個(gè)元素存放的是指向結(jié)構(gòu)體類(lèi)型數(shù)據(jù)的地址,每個(gè)元素可看作是一個(gè)指針變量,通過(guò)結(jié)構(gòu)體指針變量引用結(jié)構(gòu)體變量各成員的形式有兩種:一是(*指針變量名).成員名;二是指針變量名->成員名。本題可以是'(*str[1]).name+2'或'str[1]->name+2'。
61.D數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式,一種數(shù)據(jù)結(jié)構(gòu)可以根據(jù)需要采用不同的存儲(chǔ)結(jié)構(gòu),用的存儲(chǔ)結(jié)構(gòu)有順序和鏈?zhǔn)浇Y(jié)構(gòu)。用不同的存儲(chǔ)結(jié)構(gòu),其處理的效率是不同的。
62.D
63.C解析:本題在定義字符數(shù)組時(shí)沒(méi)有定義數(shù)組長(zhǎng)度,但用字符常量給數(shù)組賦了初值,這時(shí)初值的個(gè)數(shù)即為數(shù)組的長(zhǎng)度,故數(shù)組長(zhǎng)度為6(包括'\\0')。字符串的長(zhǎng)度為有效字符的個(gè)數(shù)5。strlen(s)返回值為串中字符的個(gè)數(shù)(不計(jì)最后的'\\0'),則輸出值為5。sizeof(s)計(jì)算數(shù)組所占的字節(jié)數(shù),包含'\\0',則輸出值為6。因此,C選項(xiàng)正確
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024美容院客戶(hù)投訴處理協(xié)議
- 2024年銷(xiāo)售代表就業(yè)協(xié)議書(shū)3篇
- 二零二五年度現(xiàn)代簡(jiǎn)約餐廳裝飾裝修與品牌推廣合同3篇
- 2025年度大米種植與收購(gòu)金融服務(wù)合同3篇
- 2025年度道路施工安全防護(hù)及交通疏導(dǎo)協(xié)議3篇
- 2024年運(yùn)輸合同之貨物運(yùn)輸路線與時(shí)間保障
- 2025年度智能調(diào)光窗簾系統(tǒng)項(xiàng)目合同書(shū)3篇
- 2025年度臨時(shí)運(yùn)輸司機(jī)績(jī)效考核及獎(jiǎng)勵(lì)合同4篇
- 2024衣柜墻板吊頂裝修工程款項(xiàng)支付與結(jié)算合同
- 2025年度二零二五廠區(qū)生態(tài)修復(fù)與綠化養(yǎng)護(hù)綜合服務(wù)合同3篇
- 2025年中國(guó)高純生鐵行業(yè)政策、市場(chǎng)規(guī)模及投資前景研究報(bào)告(智研咨詢(xún)發(fā)布)
- 湖北省黃石市陽(yáng)新縣2024-2025學(xué)年八年級(jí)上學(xué)期數(shù)學(xué)期末考試題 含答案
- 2022-2024年浙江中考英語(yǔ)試題匯編:完形填空(學(xué)生版)
- 2025年廣東省廣州市荔灣區(qū)各街道辦事處招聘90人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 中試部培訓(xùn)資料
- 硝化棉是天然纖維素硝化棉制造行業(yè)分析報(bào)告
- 央視網(wǎng)2025亞冬會(huì)營(yíng)銷(xiāo)方案
- 北師大版數(shù)學(xué)三年級(jí)下冊(cè)豎式計(jì)算題100道
- 計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)全套教學(xué)課件
- 屋頂分布式光伏發(fā)電項(xiàng)目施工重點(diǎn)難點(diǎn)分析及應(yīng)對(duì)措施
- 胃鏡下超聲穿刺護(hù)理配合
評(píng)論
0/150
提交評(píng)論