版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2021-2022年湖南省長沙市全國計算機(jī)等級考試C語言程序設(shè)計真題二卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.有以下程序:
程序運行后的輸出結(jié)果是()。
A.4321098765B.5678901234C.0987654321D.0987651234
2.
3.健壯的算法不會因非法的輸入數(shù)據(jù)而出現(xiàn)莫名其妙的狀態(tài)()
A.對B.錯
4.下列程序段中完全正確的是()。A.int*p;scanf(“%d”,&p);
B.int*p;scanf(“%d”,p);
C.intk,*p=&k;scanf(“%d”,p);
D.intk,*p;*p=&k;scanf(“%d”,p);
5.假定已建立以下鏈表結(jié)構(gòu),且指針p和q已指向如圖所示的結(jié)點:
則以下選項中司將q所指結(jié)點從鏈表中刪除并釋放該結(jié)點的語句組是______。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);
6.深度為5的二叉樹至多有_____個結(jié)點。
A.16B.32C.31D.10
7.以下敘述中不正確的是()。
A.在一個函數(shù)中,可以有多條return語句
B.函數(shù)的定義不能嵌套,但函數(shù)的調(diào)用可以嵌套
C.函數(shù)必須有返回值
D.不同的函數(shù)中可以使用相同名字的變量
8.
9.對表進(jìn)行水平方向和垂直方向的分割,分別對應(yīng)的關(guān)系運算是()
A.選擇和投影B.投影和選擇C.選擇和聯(lián)接D.投影和聯(lián)接
10.在一個單鏈表HL中,若要在指針q所指結(jié)點的后面插入一個由指針p所指向的結(jié)點,則執(zhí)行____。
A.q一>next=p一>next;p一>next=q;
B.q一>next=p一>next;p一>next=q;
C.p一>next=q一>next;q=p;
D.p一>next=q一>next;q一>next=p;
11.在C語言中,函數(shù)返回值的類型最終取決于()。
A.函數(shù)定義時在函數(shù)首部所說明的函數(shù)類型
B.return語句中表達(dá)式值的類型
C.調(diào)用函數(shù)時主調(diào)函數(shù)所傳遞的實參類型
D.函數(shù)定義時形參的類型
12.順序結(jié)構(gòu)的本質(zhì)特點是()。
A.數(shù)據(jù)元素存儲在地址連續(xù)的內(nèi)存空間
B.數(shù)據(jù)元素緊鄰
C.數(shù)據(jù)元素在內(nèi)存中的相對位置表示數(shù)據(jù)之間的邏輯關(guān)系
D.不使用指針
13.順序查找法適合于存儲結(jié)構(gòu)為()的線性表。
A.散列存儲B.順序存儲或鏈?zhǔn)酱鎯.壓縮存儲D.索引存儲
14.
15.數(shù)據(jù)結(jié)構(gòu)通常是研究數(shù)據(jù)的及它們之間的聯(lián)系______。A.存儲和邏輯結(jié)構(gòu)B.存儲和抽象C.理想和抽象D.理想與邏輯
16.設(shè)有二元關(guān)系R和三元關(guān)系s,下列運算合法的是()。
A.R∩SB.R∪SC.R-SD.R×S
17.數(shù)據(jù)在計算機(jī)存儲器內(nèi)表示時,如果元素在存儲器中的相對位置能反映數(shù)據(jù)元素之間的邏輯關(guān)系,則稱這種存儲結(jié)構(gòu)為()。
A.存儲結(jié)構(gòu)B.邏輯結(jié)構(gòu)C.順序存儲結(jié)構(gòu)D.鏈?zhǔn)酱鎯Y(jié)構(gòu)
18.
19.閱讀以下程序及對程序功能的描述,其中正確的是#include<stdio.h>main(){FILE*in,*out;charch,infile[10],outfile[10];printf(“Entertheinfilename:\n”);scanf(“%s”,infile);printf(“Entertheoutfilename:\n”);scanf(“%s”,outfile);if((in=foen(infile,“r”))==NULL)printf(“cannotopeninfile\n”);exit(0);if((out=fopen(outfile,“w”))==NULL)printf(“cannotopenoutfile\n”);exit(0);while(!feof(in))fputc(fgetc(in),out);fclose(in);fclose(out);A.程序完成將磁盤文件的信息在屏幕上顯示的功能
B.程序完成將兩個磁盤文件合二為一的功能
C.程序完成將一個磁盤文件復(fù)制到另一個磁盤文件中
D.程序完成將兩個磁盤文件合并并在屏幕上輸出
20.若有定義:“inta,b,c,*p=&c;”,接著執(zhí)行以下選項中的語句,則能正確執(zhí)行的語句是()。
A.scanf(“%d”,a,b,c);
B.scanf(“%d%d%d”,a,b,c);
C.scanf(“%d”,p);
D.scanf(“%d”,&p);
二、2.填空題(20題)21.在樹形結(jié)構(gòu)中,樹根結(jié)點沒有______。
22.函數(shù)sstrcmp的功能是對兩個字符串進(jìn)行比較。當(dāng)s所指字符串和t所指字符串相等時,返回值為0;當(dāng)s所指字符串大于t所指字符串時,返回值大于0;當(dāng)s所指字符串小于t所指字符串時,返回值小于0(功能等同于庫函數(shù)strcmp)。請?zhí)羁铡?/p>
#include<stdio.h>
intsstrcmp(char*s,char*t)
{while(*s&&*t&&*s==【】)
{s++;t++;}
return【】;
}
23.【】是數(shù)據(jù)庫設(shè)計的核心。
24.下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為[]。
25."print("%d\n",strlen("\t\"\023\xABC\n"));”語句的輸出結(jié)果是______。
26.設(shè)Y是int型變量,請寫出判斷Y為奇數(shù)的關(guān)系表達(dá)式【】。
27.語句:x++;、++x;、x=x+1;、x=1+x;,執(zhí)行后都使變量x中的值增1,請寫出一條同一功能的賦值語句(不得與列舉的相同)【】。
28.x、y、x均為int型變量,描述“x、y和z中至少有兩個為正數(shù)”的表達(dá)式是______。
29.若a=1,b=2,則表達(dá)式!(x=A)‖(y=B)&&0的值是______。
30.以下程序的功能是建立—個帶有頭結(jié)點的單向鏈表,鏈表結(jié)點中的數(shù)據(jù)通過鍵盤輸入,當(dāng)輸入數(shù)據(jù)為-1時,表示輸入結(jié)束(鏈表頭結(jié)點的data域不放數(shù)據(jù),表空的條件是ph->next==NULL),請?zhí)羁铡?/p>
#include<stdio.h>
structlist{intdata;structlist*next;};
structlist*creatlist()
{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(struct
31.軟件危機(jī)出現(xiàn)于20時紀(jì)60年代末,為了解決軟件危機(jī),人們提出了()的原理來設(shè)計軟件,這就是軟件工程誕生的基礎(chǔ)。
32.以下程序的功能是:求出數(shù)組x中各相鄰兩個元素的和依次存放到a數(shù)組中,然后輸出。請?zhí)羁铡?/p>
main()
{intx[10],a[9],i;
for(i=0;i<10;i++)scanf("%d",&x[i]);
for([11];i<10;i++)
a[i-1]=x[i]+[12];
for(i=0;i<9;i++)printf("%d",a[i]);
printf("");
}
33.下列程序利用指針將2個數(shù)按從大到小的順序輸出。
main()
{inta,b,【】;
printf("inputa,b:");
scanf("%d%d",&a,&b);
【】;
p2=&b;
if(a<b)
{p=p1;
p1=p2;
p2=p;
}
printf("a=%db=%d\n",a,b);
printf("max=%dmin=%d\n",【】);
34.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{inti;
for(i='a';i<'f';i++,i++)printf("%c",i-'a'+'A');
printf("\n");
}
35.對下列二叉樹進(jìn)行中序遍歷的結(jié)果為【】。
36.樹中度為零的結(jié)點稱為______。
37.設(shè)有以下程序,為使之正確運行,請在橫線中填入應(yīng)包含的命令行。(注:try_me()函數(shù)在a:\myfile.txt中有定義。)
______
main()
{printf("\n");
try_me();
printf("\n");}
38.【】是從二維表列的方向進(jìn)行的運算。
39.以下程序輸出的結(jié)果是【】。
main()
{inta=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
40.下面程序的功能是將一個字符串str的內(nèi)容顛倒過來,請?zhí)羁铡?/p>
#include<string.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);}
三、1.選擇題(20題)41.當(dāng)變量c的值不為2、4、6時,值也為"真"的表達(dá)式是
A.(c==2)||(c==4)||(c==6)
B.(c>=2&&c<=6)||(c!=3)||(c!=5)
C.(c>=2&&c<=6)&&!(c%2)
D.(c>=2&&c<=6)&&(c%2!=1)
42.結(jié)構(gòu)化程序設(shè)計所規(guī)定的三種基本控制結(jié)構(gòu)是()
A.輸入、處理、輸出B.樹形、網(wǎng)形、環(huán)形C.順序、選擇、循環(huán)D.主程序、子程序、函數(shù)
43.已有定義:intx=3,y=4,z=5,則表達(dá)式!(x+y)+z-1&&y+x/2的值是
A.6B.0C.2D.1
44.算法的空間復(fù)雜度是指()。
A.算法程序的長度B.算法程序中的指令條數(shù)C.算法程序所占的存儲空間D.算法執(zhí)行過程中所需要的存儲空間
45.將E-R圖轉(zhuǎn)換到關(guān)系模式時,實體與實體間的聯(lián)系可以表示成()。
A.屬性B.關(guān)系C.鍵D.域
46.以下程序的輸出結(jié)果是()main(){inta=5,b=4,c=6,d;printf(”%d\n",d=a>b?(a>c?a:c):(b));}
A.5B.4C.6D.不確定
47.下面的程序執(zhí)行后,文件test.t中內(nèi)容是______。#include<stdio.h>voidfun(char*fname,char*st){FILE*myf;inti;myf=fopen(fname,"W");for(i=0;i<strlen(st);i++)foutc(st[i]myf;fclose(myf);}main(){fun("test.t","newworld");fun("test.t","hello,");}
A.hello,B.newworldhelloC.newworldD.hello,rid
48.下列程序的輸出結(jié)果是()。
#include<stdio.h>
intfun(intx)
{intp;
if(x==0‖x=1)
return3;
else
p=x-fun(x-2);
returnp;
}
voidmain()
{printf("\n%d",fun(5));
}
A.5B.3C.7D.1
49.以下程序輸出的結(jié)果是_______。main(){inta=65535;printf("%d%u",a,A);}
A.-1-1B.6553565535C.-165535D.65535-1
50.若已定義:inta[]={0,1,2,3,4,5,6,7,8,9},*p=a,i;其中0≤i≤9,則對a數(shù)組元素不正確的引用是______。
A.a[p-a]B.*(&a[i])C.p[i]D.a[10]
51.以下對C語言函數(shù)的有關(guān)描述中,正確的是
A.在C語言中調(diào)用函數(shù)時,只能把實參的值傳給形參,形參的值不能傳送給實參
B.C函數(shù)既可以嵌套定義又可以遞歸調(diào)用
C.函數(shù)必須有返回值,否則不能使用函數(shù)
D.函數(shù)必須有返回值,返回值類型不定
52.下列對于軟件測試的描述中正確的是()。
A.軟件測試的目的是證明程序是否正確
B.軟件測試的目的是使程序運行結(jié)果正確
C.軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯誤
D.軟件測試的目的是使程序符合結(jié)構(gòu)化原則
53.以下正確的說法是
A.用戶若需調(diào)用標(biāo)準(zhǔn)庫函數(shù),調(diào)用前必須重新定義
B.用戶可以重新定義標(biāo)準(zhǔn)庫函數(shù),若如此,該函數(shù)將失去原有含義
C.系統(tǒng)根本不允許用戶重新定義標(biāo)準(zhǔn)庫函數(shù)
D.用戶若需調(diào)用標(biāo)準(zhǔn)庫函數(shù),調(diào)用前不必使用預(yù)編譯命令將該函數(shù)所在文件包括到用戶源文件中,系統(tǒng)自動調(diào)用
54.以下不正確的定義語句是
A.doublex[5]={2.0,4.0,6.0,8.0,10.0};
B.inty[5]={0,1,3,5,7,9};
C.charc1[]={'1','2','3','4','5'};
D.charc2[]={'\x10','\xa','\x8'};
55.下面程序的輸出是______。main(){char*s="12134211";intv1=0,v2=0,v3=0,v4=0,k;for(k=0;s[k];k++)switch(s[k]){default:v4++;case'1':v1++;case'3':v3++;case'2':v2++;}printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4);}
A.v1=4,v2=2,v3=1,v4=1
B.v1=4,v2=9,v3=3,v4=1
C.v1=5,v2=8,v3=6,v4=1
D.v1=8,v2=8,v3=8,v4=8
56.以下不正確的轉(zhuǎn)義字符是()。
A.'\\'B.'\d'C.'\s'D.'088'
57.線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)是一種
A.隨機(jī)結(jié)構(gòu)B.順序結(jié)構(gòu)C.索引結(jié)構(gòu)D.散列結(jié)構(gòu)
58.數(shù)據(jù)的存儲結(jié)構(gòu)是指()。
A.存儲在外存中的數(shù)據(jù)B.數(shù)據(jù)所占的存儲空間量C.數(shù)據(jù)在計算機(jī)中的順序存儲方式D.數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機(jī)中的表示
59.有以下程序main(){char*s[]={"one","two","three"},*P;p=s[1];printf("%c,%s\n",*(p+1),s[0]);}執(zhí)行后輸出結(jié)果是
A.n,twoB.t,oneC.w,oneD.o,two
60.在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示()。
A.模塊之間的調(diào)用關(guān)系B.程序的組成成份C.控制程序的執(zhí)行順序D.數(shù)據(jù)的流向
四、選擇題(20題)61.
62.有以下程序:
#include<stdio.h>
#defineN3
voidfun(inta[][N],intb[])
{inti,j;
for(i=0;i<N;i++)
{b[i]=a[i][0];
for(j=i;j<N;j++)
if(b[i]<a[i][j])b[i]=a[i][j];
}
}
main()
{intx[N][N]={1,2,3,4,5,6,7,8,9},y[N],i;
fun(x,y);
for(i=0;i<N;i++)printf("%d,",y[i]);
printf("\n");
}
程序運行后的輸出結(jié)果是(,)。
A.2,4,8,
B.3,6,9,
C.3,5,7,
D.1,3,5,
63.
64.
65.有如下程序:
則b的值是()。
A.15B.16C.18D.19
66.有以下程序段:
當(dāng)執(zhí)行上述程序段,從鍵盤上輸入555667777abc后,y的值為()。
A.566.0B.55566.0C.7777.0D.566777.0
67.軟件設(shè)計中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合
B.高內(nèi)聚低耦合
C.低內(nèi)聚高耦合
D.高內(nèi)聚高耦合
68.下列選項中屬于軟件生命周期開發(fā)階段任務(wù)的是()。
A.可行性研究
B.需求分析
C.詳細(xì)設(shè)計
D.軟件維護(hù)
69.對于一個正常運行的C程序,以下敘述中正確的是()。
A.程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束
B.程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)結(jié)束.
C.程序的執(zhí)行總是從main函數(shù)開始、
D.程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束
70.有下列程序:
main
{inty=10;
do{y--;}while(--y);
printf("%d\n",--y);
)
當(dāng)執(zhí)行程序時,輸出的結(jié)果是()。
A.-1B.1C.4D.0
71.
72.
現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針p、q、r分別指定一個鏈表中連續(xù)的3個結(jié)點。
structnode
{bardata;
structnode*next;}*p,*q,*r;
現(xiàn)要將q和r所指結(jié)點交換前后位置,同時要保持鏈表的結(jié)構(gòu),下列不能完成此操作的語句是()。
A.q->next=r->next;P>next=r;r->next=q;
B.q->next=r;q->next=r->next;r->next=q;
C.q->next=r->next;r->next=q;P->next=r:
D.q->next=q;P->next=r;q->next=r->next;
73.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實現(xiàn)、使用維護(hù)到停止使用退役的過程
B.軟件從需求分析、設(shè)計、實現(xiàn)到測試完成的過程
C.軟件的開發(fā)過程
D.軟件的運行維護(hù)過程
74.以下程序運行后的輸出結(jié)果是()。
A.s=67B.s=61C.S=63D.S=56
75.若a是數(shù)值類型,則邏輯表達(dá)式(a==1)II(a!=1)的值是()。
A.1B.0C.2D.不知道a的值,不能確定
76.
77.有以下程序:
voidf(int*x,int*y)
{int*t;
t=x;x=y;y=t;*x=*y;
}
main()
{inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;
p=a;q=&a[7];
while(p>q)
{f(p,q);p++;q--}
for(i=0;i<8;i++)printf("d,",a[i]);
}
程序運行后的輸出結(jié)果是()。
A.8,2,3,4,5,6,7,1,
B.5,6,7,8,1,2,3,4,
C.1,2,3,4,5,6,7,8,
D.8,7,6,5,4,3,2,1,
78.
79.
80.以下程序運行后的輸出結(jié)果是()。
A.zB.0C.元素Ch[5]地址D.字符y的地址
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:通過某種方式實現(xiàn)兩個變量值的交換,規(guī)定不允許增加語句和表達(dá)式。例如變量num1中的值原為2,num2中的值原為1,程序運行后,num1中的值為l,num2中的值為2。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.規(guī)定輸入的字符串中只包含字母和奉號。編寫函數(shù)fun,其功能是:刪除字符串中所有的。號。編寫函數(shù)時,不得使用c語言提供的字符串函數(shù)。例如,字符串中的內(nèi)容為,刪除后,字符串中的內(nèi)容應(yīng)當(dāng)是“ABCDEFG”。注意:部分源程序給出如下。請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)缸的花括號中填入你編寫的若干語句。試題程序:
參考答案
1.B該程序首先給一維數(shù)組賦值,然后三次調(diào)用fun函數(shù),其中fun(a,0,3);功能是將一維數(shù)組中第1個元素和第4個元素互換,第2個元素和第3個元素互換;其中fun(a,4,9);功能是將一維數(shù)組中第5個元素和第10個元素互換,第6個和第9個元素互換,第7個元素和第8個元素互換;其中fun(a.O,9);功能是將將一維數(shù)組中第l個元素和第10個元素互換,第2個元素和第9個元素互換……依此類推。因此B選項正確。
2.A
3.A
4.CA選項中,沒有對指針進(jìn)行初始化,屬于無效指針,并且在“scanf(“%d”,&p);”中無須再進(jìn)行取地址操作;B選項中,沒有對指針進(jìn)行初始化,屬于無效指針;D選項中,語句“*p=&k;”書寫錯誤,應(yīng)為“P=&k;”。故本題答案為C選項。
5.D解析:本題題面要求刪除q所指結(jié)點并釋放該結(jié)點,而選項A中雖然是刪除了q所指鮚點,但并未釋放q這個結(jié)點,而釋放的是p結(jié)點,所以選項A錯誤;選項B是將q的下一結(jié)點的地址賦值給指針變量p,這意味著p原來的成員變量內(nèi)容被q的下一結(jié)點的成員變量內(nèi)容所代替,即原p結(jié)點也被刪除了,所以選項B錯誤;選項C相當(dāng)于將q的所有成員變量內(nèi)容代替了p的所有成員變量內(nèi)容,即p結(jié)點被刪除,所以錯誤;選項D是將q的下—結(jié)點的地址賦值給p的成員next\u3000(成員next用于存放一結(jié)點的地址),使得p的next成員不再指向q,而是指向q的下一結(jié)點,相當(dāng)于刪除了q這個結(jié)點,同叫用free函數(shù)正確釋放了q這一結(jié)點,所以選項D正確。
6.C
7.C
8.B
9.A解析:從關(guān)系中找出滿足給定條件的那些元組稱為選擇,是從行的角度進(jìn)行的運算,即水平方向抽取元組。從關(guān)系模式中挑選若干屬性組成新的關(guān)系稱為投影,是從列的角度進(jìn)行的運算,相當(dāng)于對關(guān)系進(jìn)行垂直分解。所以,本題選擇A。
10.D
11.A解析:在C語言中,應(yīng)當(dāng)在定義函數(shù)時指定函數(shù)值的類型。凡不加類型說明的函數(shù),默認(rèn)按整型處理。在定義函數(shù)時對函數(shù)值說明的類型一般應(yīng)該和return語句中的表達(dá)式類型一致。如果函數(shù)值的類型和return語句中的表達(dá)式類型不一致,則以函數(shù)值的類型為準(zhǔn),由系統(tǒng)自動進(jìn)行轉(zhuǎn)換,即函數(shù)類型決定返回值的類型。
12.C
13.B
14.D
15.A
16.D本題給出的兩個關(guān)系R與S的表結(jié)構(gòu)是不同的(R是二元關(guān)系,S是三元關(guān)系),它們不能進(jìn)行∩、∪、一運算。而兩個不同結(jié)構(gòu)的關(guān)系是可以進(jìn)行笛卡兒積(×)運算的。
17.C
18.B
19.C
20.Cscanf函數(shù)要求為:輸入的變量為地址形式。4個選項中,C選項符合要求。故本題答案為C選項。
21.前件前件
22.*t或t[0]*s-*t或*s-t[0]或s[0]-*t或s[0]-t[0]*t或t[0]\r\n*s-*t或*s-t[0]或s[0]-*t或s[0]-t[0]解析:函數(shù)sstrcmp()有兩個字符型指針變量,用來指向兩個字符串。比較兩個字符串的大小方法是:從第一個字符開始依次向后比較,若對應(yīng)的字符相等則接著比較下一個字符,一直到兩個字符串中對應(yīng)字符不等,或者有一個為\\0,此時字符的ASCII碼大的字符串就大。故循環(huán)條件是*s和*t不為\\0,且*s和*t相同,第一處應(yīng)填“*t”或其他等價形式。根據(jù)題意可知第二處應(yīng)填*s-*t或其等價形式。
23.數(shù)據(jù)模型數(shù)據(jù)模型
24.33解析:軟件系統(tǒng)結(jié)構(gòu)圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示。
25.66解析:strlen()函數(shù)的作用是計算字符串的長度并作為函數(shù)的返回值,這里的長度不包括串尾的結(jié)束標(biāo)志,\'\\0\'。
\'\\t\',是轉(zhuǎn)義字符,代表橫向跳若干格;\'\\\''是轉(zhuǎn)義字符,代表雙引號;\'\\023\'只代表一個字符,而不管轉(zhuǎn)義字符后面有幾個字符:\'\\xAB\'是以兩位十六進(jìn)制數(shù)AB表示的ASCII碼字符,只代表一個字符:\'\\n\'是轉(zhuǎn)義字符,代表回車換行?!?/p>
5個子符常量各代表一個字符,再加上字母C,所以返回的長度是6。
26.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。
27.x+=1;
28.((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))((x>0)&&<y>0))‖(x>0)&&(z>0)‖y>0)&&(z>0))解析:題目要求“x、y和z中至少有兩個為正數(shù)”,即x、y和x這3個數(shù)中必須有兩個是正數(shù),且這3個數(shù)中的哪兩個數(shù)都有可能是正數(shù),所以它們之間是或的關(guān)系。
29.00解析:根據(jù)運算符的運算順序可知,該表達(dá)式最后運算的是與(&&)運算,而任何表達(dá)式與“0”進(jìn)行“與”運算,結(jié)果都為0。
30.解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點是結(jié)構(gòu)體變量中有兩個域,一個是數(shù)據(jù),另一個是指向該結(jié)構(gòu)體變量類型的指針,用以指明鏈表的下一個結(jié)點。
31.軟件工程學(xué)軟件工程學(xué)解析:為了消除軟件危機(jī),通過認(rèn)真研究解決軟件危機(jī)的方法,認(rèn)識到軟件工程是使計算機(jī)軟件走向工程科學(xué)的途徑。逐步形成了軟件工程的概念,開辟了工程學(xué)的新興領(lǐng)域——軟件工程學(xué)。
32.i=1x[i-1]i=1\r\nx[i-1]解析:對于10個數(shù),相鄰的兩個數(shù)相加取和,總共要進(jìn)行9次加法運算,所以空11處應(yīng)填入i=1。相鄰的兩個數(shù)相加取和,放在數(shù)組a中,x[0]與x[1]的和存放在a[0]中,所以空12處應(yīng)填入x[i-1]。
33.*p*p1*p2p1:&a*p1*p2
34.ACEACE解析:在本題中,for循環(huán)體每執(zhí)行完一次,變量i的值自加兩次。i的初值為“a”,執(zhí)行一次循環(huán)后變?yōu)椤癱”,之后再變成“e”,當(dāng)其變?yōu)椤癵”時,循環(huán)條件若不滿足,循環(huán)終止,故本題共輸出3個字符。表達(dá)式“i-'a'+'A'”即表示輸出i對應(yīng)的大寫字母,結(jié)果為ACE。
35.ACBDFEHGPACBDFEHGP解析:中序遍歷方法的遞歸定義;當(dāng)二叉樹的根不為空時,依次執(zhí)行如下3個操作:①按中序遍歷左子樹。②訪問根結(jié)點。③技中序遍歷右子樹。根據(jù)遍歷規(guī)則來遍歷本題中的二叉樹。首先遍歷F的左子樹,同樣按中序遍歷。先遍歷C的左子樹,即結(jié)點A,然后訪問C,接著訪問C的右子樹,同樣按中序遍歷C的右子樹,先訪問結(jié)點B,然后訪問結(jié)點D,因為結(jié)點D沒有右子樹,因此遍歷完C的右子樹,以上就遍歷完根結(jié)點F的左子樹。然后訪問根結(jié)點F,接下來遍歷F的右子樹,同樣按中序遍歷。首先訪問E的左子樹,E的左子樹為空,則訪問結(jié)點E,然后訪問結(jié)點E的右子樹,同樣按中序遍歷。首先訪問G的左子樹,即H,然后訪問結(jié)點G,最后訪問G的右子樹P。以上就把整個二叉樹遍歷一遍,中序遍歷的結(jié)果為ACBDFEHGP。因此,劃線處應(yīng)填入“ACBDFEHGP”。
36.葉子結(jié)點葉子結(jié)點解析:樹中度為零的結(jié)點,也就是沒有后件的結(jié)點,稱為葉子結(jié)點。
37.#include<a:\myfile.txt>#include<a:\\myfile.txt>解析:本題考查了函數(shù)的存儲分類的概念。如果沒有特別說明,函數(shù)的存儲范圍是從定義函數(shù)的位置到文件的結(jié)尾,如果其他文件想使用這個函數(shù),需要用ginclude文件包含命令將定義函數(shù)的文件包含進(jìn)來。
38.投影投影解析:在關(guān)系模型的數(shù)據(jù)語言中,一般除了運用常規(guī)的集合運算,(并、交,差、笛卡爾積等)外,還定義了一些專門的關(guān)系運算,如投影、選擇、連接等。投影是從二維表的列方向上進(jìn)行的運算。
39.00解析:本題的關(guān)鍵在于對變量c的賦值運算:
d=(a>b>c)
d=(5>4>3)
先算5>4,為真,得1,即:d=(1>3),此時1>3,為假,得0。
40.k-1k,-1解析:顛倒一個字符串中的字符,就是首尾對應(yīng)的元素兩兩交換。簡單地可用兩個游標(biāo)變量i和j,i是前端元素的下標(biāo),j是后端元素的下標(biāo),交換以這兩個變量值為下標(biāo)的元素str[i]和str[j]。開始時,i的值為0,j的值為字符串末元素的下標(biāo)(字符串長度減1)。每次交換后,i增1,j減1。繼續(xù)交換的條件是str[i]位于str[j]的前面,即i<j。字符串末元素的下標(biāo)是它的長度減1,所以在第二個空框處應(yīng)填入-1。程序為了交換str[i]和str[j],使用了變量k,該變量應(yīng)在程序的變量定義部分中一起定義,所以在第一個空框處應(yīng)填入k。
41.B解析:滿足表達(dá)式(c>=2&&c<=6)的整型變量c的值是2,3,4,5,6。當(dāng)變量c的值不為2,4,6時,其值只能為3或5,所以表達(dá)式c!=3和c!=5中至少有一個為真,即不論c為何值,選項B中的表達(dá)式都為'真'。
42.C
43.D解析:本題中,&&左邊的表達(dá)式!(x+y)為!(3+7),結(jié)果為假,即為0。再加上z,然后減1,相當(dāng)于0+5-1。左邊等于4,&&右邊的表達(dá)式y(tǒng)+z/2相當(dāng)于4+5/2為6,所以整個表達(dá)式相當(dāng)于4&&6為真,即為1。
44.D【解析】算法的空間復(fù)雜度是指執(zhí)行這個算法所需要的內(nèi)存空間。一個算法所占用的存儲空間包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行中所需要的額外空間。其中額外空間包括算法程序執(zhí)行過程中的工作單元以及某種數(shù)據(jù)結(jié)構(gòu)所需要的附加存儲空間。如果額外空間量相對于問題規(guī)模來說是常數(shù),則稱該算法是原地工作的。在許多實際問題中,為了減少算法所占的存儲空間,通常采用壓縮存儲技術(shù),以便盡量減少不必要的額外空間。
45.B解析:將E-R圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式是數(shù)據(jù)庫邏輯設(shè)計的主要工作。從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實體和聯(lián)系都可以表示成關(guān)系。
46.C
47.A解析:C語言中文件有文本文件與二進(jìn)制文件,對文件的使用前必須先打開,打開方式有只讀、寫入、讀寫等方式。
48.A解析:本題考查函數(shù)的遞歸調(diào)用。在函數(shù)遞歸調(diào)用時,fun(5):a=5-fun(3)->fun3:a=3-fun(1)->fun(1):a=3,反推回去fun(3):a=3-3=O->fun(5):a=5-0=5,最后的計算結(jié)果為5。
49.C解析:printf函數(shù)中不同類型的數(shù)據(jù)用不同的格式字符,其中%d是按整型數(shù)據(jù)的實際長度輸出十進(jìn)制整數(shù)。變量a=65535以%d格式輸出時溢出輸出值為該數(shù)的補碼值,即-1:%u用來輸出unsigned型數(shù)據(jù),無符號整型變量的數(shù)值范圍為0~65535,所以變量a=65535以%u格式輸出的值為65535。
50.D解析:通常,引用一個數(shù)組元素可以用下標(biāo)法,如a[P-a]形式,或指針法,如*(&a[i])的形式。本題中a[9]=9,a[10]顯然超出了數(shù)組范圍,注意,數(shù)組的下標(biāo)是從0開始的。
51.A解析:C語言中的函數(shù)可以進(jìn)行遞歸調(diào)用,但不能在函數(shù)中定義函數(shù),即函數(shù)不能嵌套定義。函數(shù)可以沒有返回值,若有返回值,則返回值類型必須確定。
52.C解析:關(guān)于軟件測試的目的,GrenfordJ.Myers在《TheArtofSoftwareTesting》一書中給出了深刻的闡述:軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;一個好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯誤的用例;一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。整體來說,軟件測試的目的就是盡可能多地發(fā)現(xiàn)程序中的錯誤。本題答案為C。
53.B解析:用戶調(diào)用標(biāo)準(zhǔn)庫函數(shù)前不必重新定義,而只需使用預(yù)編譯命令將該函數(shù)所在文件包括到用戶源文件中即可。而且,系統(tǒng)允許用戶重新定義標(biāo)準(zhǔn)庫函數(shù),但此時該函數(shù)將失去原有含義。因此,正確答案為選項B)。調(diào)用函數(shù)時,必須要注意以下語法:
①函數(shù)名必須與所調(diào)用的函數(shù)名字完全一致;
②實參的個數(shù)與形參的個數(shù)一致;
③函數(shù)必須先定義,后調(diào)用。如果被調(diào)用的函數(shù)的返回值為int型或char型,則被調(diào)用函數(shù)的定義也可以放在調(diào)用的位置之后。
如果在函數(shù)調(diào)用之前沒有對函數(shù)作聲明,則編譯系統(tǒng)會把第一次遇到的該函數(shù)形式作為函數(shù)的聲明,并將函數(shù)類型默認(rèn)為int型。
54.B解析:在一維數(shù)組中要注意的是作為下標(biāo)表達(dá)式的常量表達(dá)式的值必須是大于等于0,選項B)中定義有5個元素,但賦值時有6個元素,所以是錯誤的。
55.C解析:當(dāng)switch后面括弧內(nèi)的表達(dá)式的值與某一個case后面的常量的表達(dá)式的值相等時,就執(zhí)行此case后面的語句,若所有的case中的常量表達(dá)式的值都沒有與表達(dá)式的值匹配的,就執(zhí)行default后面的語句。
56.D解析:'\\\\'是反斜線符,'\\d'是整型變量轉(zhuǎn)義字符,'\\s'是字符串型轉(zhuǎn)義字符,C語言中沒有規(guī)定'088'為轉(zhuǎn)義字符。
57.B解析:線性表的鏈?zhǔn)酱鎯Y(jié)構(gòu)中的每一個存儲結(jié)點不僅含有一個數(shù)據(jù)元素,還包括指針,每一個指針指向一個與本結(jié)點有邏輯關(guān)系的結(jié)點。此類存儲方式屬于順序存儲。
58.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ī)中的物理實現(xiàn),有時也稱作數(shù)據(jù)的物理結(jié)構(gòu)。兩者的區(qū)別是數(shù)據(jù)的邏輯結(jié)構(gòu)只涉及到數(shù)據(jù)之間抽象的數(shù)學(xué)關(guān)系。存儲結(jié)構(gòu)則涉及到如何在計算機(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)的物理實現(xiàn),即數(shù)據(jù)的存儲結(jié)構(gòu)不止一種。因此選項D正確。
59.C解
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年銷售經(jīng)理工作計劃模板
- 2025年財務(wù)部工作計劃 財務(wù)科2025年工作計劃
- 2025年醫(yī)院年度工作計劃 醫(yī)院年度工作計劃
- Unit 3 第3課時 Section B (1a-2b)2024-2025學(xué)年新教材七年級英語上冊同步說課稿(人教版2024)河北專版
- 行政總監(jiān)的工作職責(zé)范文15篇
- 2025年小學(xué)四年級上冊數(shù)學(xué)教學(xué)計劃
- 2025年度七年級班主任工作計劃
- 2025年第一學(xué)期衛(wèi)生工作計劃
- 2025年財務(wù)科人員工作計劃
- Unit6 In a nature park Part A(說課稿)-2024-2025學(xué)年人教PEP版英語五年級上冊
- (八省聯(lián)考)河南省2025年高考綜合改革適應(yīng)性演練 思想政治試卷(含答案)
- 綜合測試 散文閱讀(多文本)(解析版)-2025年高考語文一輪復(fù)習(xí)(新高考)
- 鈑金設(shè)備操作培訓(xùn)
- 2024駕校經(jīng)營權(quán)承包合同
- 福建省能化集團(tuán)筆試題目
- 快遞公司與驛站合作協(xié)議模板 3篇
- 水利工程招標(biāo)文件樣本
- 品質(zhì)管控培訓(xùn)質(zhì)量管理與質(zhì)量控制課件
- 手糊補強(qiáng)工A卷考試 (1)附有答案
- 消防四個能力
- 機(jī)動車環(huán)檢標(biāo)準(zhǔn)方法驗證模板
評論
0/150
提交評論