![2021-2022年湖北省荊門市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第1頁](http://file4.renrendoc.com/view/a1dc55c534d3bac7f830706fcb90bad4/a1dc55c534d3bac7f830706fcb90bad41.gif)
![2021-2022年湖北省荊門市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第2頁](http://file4.renrendoc.com/view/a1dc55c534d3bac7f830706fcb90bad4/a1dc55c534d3bac7f830706fcb90bad42.gif)
![2021-2022年湖北省荊門市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第3頁](http://file4.renrendoc.com/view/a1dc55c534d3bac7f830706fcb90bad4/a1dc55c534d3bac7f830706fcb90bad43.gif)
![2021-2022年湖北省荊門市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第4頁](http://file4.renrendoc.com/view/a1dc55c534d3bac7f830706fcb90bad4/a1dc55c534d3bac7f830706fcb90bad44.gif)
![2021-2022年湖北省荊門市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)_第5頁](http://file4.renrendoc.com/view/a1dc55c534d3bac7f830706fcb90bad4/a1dc55c534d3bac7f830706fcb90bad45.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
2021-2022年湖北省荊門市全國計算機等級考試C語言程序設(shè)計重點匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.有以下程序:
程序運行后的輸出結(jié)果是()。A.34B.55C.10D.18
2.遞歸式的先序遍歷一個n節(jié)點,深度為d的二叉樹,則需要棧空間的大小為()
A.O(logn)B.O(nlogn)C.O(n)D.O(d)
3.設(shè)串s1='ABCDEFG',s2='PQRST',函數(shù)StrCat(x,y)返回x和y串的連接串,StrSub(s,i,j)返回串s的從序號i的字符開始的j個字符組成的子串,StrLen(s)返回串s長度,則StrCat(StrSub(s1,2,StrLen(s2)),StrSub(s1,StrLen(s2),2))的結(jié)果串()。
A.BCDEFB.BCDEFGC.BCPQRSTD.BCDEFEF
4.在n個結(jié)點的線性表的數(shù)組實現(xiàn)中,算法的時間復(fù)雜度是O(1)的操作是()。
A.訪問第i(1<=i<=n)個結(jié)點和求第i個結(jié)點的直接前驅(qū)(1<i<=n)
B.在第i(1<=i<=n)個結(jié)點后插入一個新結(jié)點
C.刪除第i(1<=i<=n)個結(jié)點
D.以上都不對
5.有以下程序:
程序運行后的輸出結(jié)果是().
A.1,3
B.2,3
C.1,4
D.1,2
6.
7.執(zhí)行下面的程序后,a的值為()。main{inta,b;for(a=1,b=1;a<=10;a++){if(b%3==l){b+=3;continue;}b-=5;}}A.7B.8C.9D.10
8.以下敘述中錯誤的是()。
A.一個C程序中可以包含多個不同名的函數(shù)
B.一個C程序只能有一個主函數(shù)
C.C程序在書寫時,有嚴(yán)格的縮進要求,否則不能編譯通過
D.C程序的主函數(shù)必須用main作為函數(shù)名
9.有以下程序:#include<stdio.h>main(){inta=-2,b=0;while(a++++b);printf("%d,%d\n",a,b);}程序運行后的輸出結(jié)果是()。A.1,3B.0,2C.0,3D.1,2
10.在多媒體計算機系統(tǒng)中,不能用以存儲多媒體信息的是A.光纜B.軟盤C.硬盤D.光盤
11.下列選項中,當(dāng)x為大于1的奇數(shù)時,值為0的表達式是()。
A.x%2==1B.x/2C.x%2!=0D.x%2==0
12.在軟件開發(fā)中,需求分析階段產(chǎn)生的主要文檔是()。A.軟件集成測試計劃B.軟件詳細設(shè)計說明書C.用戶手冊D.軟件需求規(guī)格說明書
13.若變量已正確定義,有以下程序段“i=0;do{printf(“%d,”,i);}while(i++);printf(“%d\n”,i);”,程序段的運行結(jié)果是()。A.0,1B.0,0C.1,1D.程序進入無限循環(huán)
14.有以下程序
#include<stdio.h>
main()
{inty=10
while(y--);
printf(“y=%d\n”,y);
}
程序執(zhí)行后的輸出結(jié)果是()。A.y=0B.y=-1C.y=1D.while構(gòu)成無限循環(huán)
15.帶頭結(jié)點的雙向循環(huán)鏈表L為空的條件是()。
A.L==NULLB.L->next==NULLC.L->prior==NULLD.L->next==L
16.有以下程序:#include<stdio.h>main(){intc;while((c=getchar())!='\n'){switch(c-'3'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);case4:putchar(c+3);break;}}printf("\n");}從第一列開始輸入數(shù)據(jù)(<CR>代表…個回車符):3845<CR>,則狴序輸出結(jié)果為()。
A.77889B.77868C.776810D.7.78866e+007
17.C語言的邏輯表達式在特定情況下會產(chǎn)生“短路”現(xiàn)象。若有邏輯表達式“x++&&y++,”則以下敘述中正確的是()。
A.若x的值為0,則“y++”操作被“短路”,y值不變
B.若x的值為1,則“y++”操作被“短路”,y值不變
C.若y的值為0,則“&&”運算被“短路”,y值不變
D.若y或x的值為0,則表達式值為0,“x++”和“y++”均不執(zhí)行
18.在Windows環(huán)境下,單擊當(dāng)前應(yīng)用程序窗口中的“關(guān)閉”按鈕,其功能是A.將當(dāng)前應(yīng)用程序轉(zhuǎn)為后臺運行
B.退出Windows后再關(guān)機
C.退出Windows后重新啟動計算機
D.終止當(dāng)前應(yīng)用程序的運行
19.程序流程圖(PFD)中的箭頭代表的是
A.數(shù)據(jù)流B.控制流C.調(diào)用關(guān)系D.組成關(guān)系
20.判斷char型變量c1是否為小寫字母的正確表達式為()。
A.'a'<=c1<='Z'
B.(c1>=A)‖c1<=z)
C.('a'=>c1‖("z"<=c1)
D.(c1>='a')&&(c1<='z')
二、2.填空題(20題)21.下面程序的運行結(jié)果是【】。
#include<stdio.h>
#defineN10
#defines(x)x*x
#definef(x)(x*x)
main()
{inti1,i2;
i1=1000/s(N);i2=1000/f(N);
printf("%d%d\n",i1,i2);
}
22.以下程序運行后的輸出結(jié)果是______。
#include<strlng.h>
main()
{
charch[]="abc",x[3][4];inti;
for(i=0;i<3;i++)strcpy(x[i],ch);
for(i=0;i<3;i++)printf("%s",&x[i][i]);
printf("\n");
23.數(shù)據(jù)模型是用來描述數(shù)據(jù)庫的結(jié)構(gòu)和語義的,數(shù)據(jù)模型有概念數(shù)據(jù)模型和結(jié)構(gòu)數(shù)據(jù)模型兩類,E-R模型是【】
24.以下程序運行后的輸出結(jié)果是【】。
main()
{intx,a=1,b=2,c=3,d=4;
x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;
printf("%d\n",x);
}
25.以下程序中給指針p分配3個double型動態(tài)內(nèi)存單元,請?zhí)羁铡?/p>
#include<stdio.h>
main()
{double*p;
p=(double*)malloc((【】);
p[0]=1.5;p[1]=2.5;p[2]=3.5;
printf("%f%f%f\n",p[0],p[1],p[2]);
}
26.函數(shù)YangHui的功能是把楊輝三角形的數(shù)據(jù)賦給二維數(shù)組的下半三角,形式如下:
1
11
121
1331
14641
其構(gòu)成規(guī)律是,第0列元素和主對角線元素均為1,其余元素為其左上方和正上方元素之和,數(shù)據(jù)的個數(shù)每行遞增1。請將程序補充完整。
#defintN6
voidYangHui(int*[N][N])
{
inti,j;
x[0][0]=1
for(i=1;i<N;i++)
{
x[i][0]=【】=1
for(j=1;j<i;j++)
x[i][j]=【】;
}
}
27.某二叉樹中度為2的結(jié)點有18個,則該二叉樹中有【】個葉子結(jié)點。
28.多媒體計算機所用的CD-ROM是【】。
29.實現(xiàn)算法所需的存儲單元多少和算法的工作量大小分別稱為算法的【】。
30.軟件測試是保證軟件質(zhì)量的重要手段,而軟件測試的主要和重要的測試方法是通過測試數(shù)據(jù)和【】的設(shè)計來實現(xiàn)。
31.軟件生命周期包括2今階段。為了使各時期的任務(wù)更明確,又可分為3個時期:軟件定義期、軟件開發(fā)期、軟件維護期。編碼和測試屬于【】期。
32.以下程序可把輸入的十進制數(shù)以十六進制數(shù)的形式輸出,請?zhí)羁铡?/p>
#inelude<stdio.h>
main()
{eharb[17]={"0123456789ABCDEF"};
intc[64],d,i=0,base=16;
longn;
printf("Enteranumber:\n");
seanf("%ld",&n);
do{c[i]=【】;i++;n=n/base;}
while(n!=0);
printf("Transmitenewbase:\n");
for(--i;i>=0;--i)
{d=c[i];printf("%c",b【】);}
printf("\n");
}
33.下面程序的功能是:輸出100以內(nèi)能被3整除且個位數(shù)為6的所有整數(shù),請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti,j;
for(i=0【】;i++)
{j=i*10+6;
if(【】)continue;
printf("%d",j);
}
}
34.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過程。
35.數(shù)據(jù)結(jié)構(gòu)包括數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的【】以及對數(shù)據(jù)的操作運算。
36.有以下定義和語句,則sizeof(a.share)的值是()。
structdate
{unsignedintday;
unsignedintmouth;
unsignedintyear;
union{intshare1;
floatshare2;
}share;
}a;
37.已知字符A的ASCII代碼值為65,以下程序運行時若從鍵盤輸入:B33<回車>。則輸出結(jié)果是______。
#include<stdio,h>
main()
{
chara,b;
a=geCchar();scanf("%d“,&b);
a=a-'A'+‘0';b=b*2;
printf('%c%c\n",a,b);
}
38.若用0至9之間不同的三個數(shù)構(gòu)成一個三位數(shù),下面程序?qū)⒔y(tǒng)計出共有多少種方法。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{inti,j,k,count=0;
for(i=0;i<=9;i++)
for(j=0;i<=9;j++)
if(【】)continue;
elsefor(k=0;k<=9;k++)
if(【】)count++;
printf("%d",count);}
39.以下程序的運行結(jié)果是【】。
#include<string.h>
typeaefstructstudent{
charname[10];
longsno;
floatscore;
{STU;
main()
{STUa={"zhangsan",2001,95},b={"Shangxian",2002,90},c={"Anhua",2003,95},d,*p=&d;
d=a;
if(strcmp(a.name,b.name)>0)d=b;
if(strcmp(C.name,)>0)d=C;
printf("%1d%s\n",d.sno,p->name);
}
40.以下程序運行后的輸出結(jié)果是【】。
main()
{inta=l,b=3,c=5;
if(C=a+b)printf("yes\n");
elseprintf("no\n");
}
三、1.選擇題(20題)41.在結(jié)構(gòu)化程序設(shè)計中,模塊劃分的原則是()。
A.各模塊應(yīng)包括盡量多的功能
B.各模塊的規(guī)模應(yīng)盡量大
C.各模塊之間的聯(lián)系應(yīng)盡量緊密
D.模塊內(nèi)具有高內(nèi)聚度,模塊間具有低耦合度
42.下列選項中,不是一個算法的基本特征的是()。
A.完整性B.可行性C.有窮性D.擁有足夠的情報
43.有以下程序
#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);
}
程序運行后,若從鍵盤輸入(從第1列開始)
123<回車>
45678<回車>
則輸出結(jié)果是
A.1267B.1256C.1278D.1245
44.有以下程序:main(){intx=0,y=0,i;for(i=1;++i){if(i%2==0){x++;continue;}if(i%5==0){y++;break;}}printf("%d,%d",x,y);}程序的輸出結(jié)果是()。
A.2,1B.2,2C.2,5D.5,2
45.結(jié)構(gòu)化程序設(shè)計主要強調(diào)的是______。
A.程序的規(guī)模B.程序的易讀性C.程序的執(zhí)行效率D.程序的可移植性
46.設(shè)變量已正確定義,則以下能正確計算f=n!的程序段是______。A.f=0;for(i=1;i<n;i++)f*=i;
B.f=1;for(i=1;i<n;i++)f*=i;
C.f=1;for(i=n;i>1;i++)f*=i;
D.f=1;for(i=n;i>=2;i--)f*=i;
47.對于下述程序,在方式串分別采用"wt"和"wb"運行時,兩次生成的文件TEST的長度分別是
#include<stdio.h>
voidmain()
{FILE*fp=fopen("TEST",);
fputc(′A′,fp);fputc(′\n′,fp);
fputc(′B′,fp);fputc(′\n′,fp);
fputc(′C′,fp);
fclose(fp);}
A.7字節(jié)、7字節(jié)B.7字節(jié)、5字節(jié)C.5字節(jié)、7字節(jié)D.5字節(jié)、5字節(jié)
48.經(jīng)過以下語句定義后,表達式z+=x>y?++x:++y的值是______。intx=1,y=2,z=3;
A.2B.3C.6D.5
49.下列說法錯誤的是()。
A.下列結(jié)構(gòu)體定義時,占據(jù)了5個字節(jié)的空間structstudent{intnum;intage;charsex;}
B.結(jié)構(gòu)體的成員名可以與程序中的變量名相同
C.對結(jié)構(gòu)體中的成員可以單獨使用,它的作用相當(dāng)于普通變量
D.結(jié)構(gòu)體可以嵌套定義
50.假定w,x,y,z和m均為int型變量,有如下程序段:w=1;x=2,y=3;z=4;m=(w<x)?w:x;m=(m<y)?m:y;m(m<2)?m:2;則該程序段執(zhí)行后,m的值為()
A.4B.3C.2D.1
51.執(zhí)行以下語句的結(jié)果為______。intx=3,y;int*px=&x;y=*px++;
A.x=3,y=4B.x=3,y=3C.x=4,y=4D.x=3,y不知
52.有以下程序main(){unsignedchar,a,b,c;a=0x3;b=a|0x8;c=b<<1;printf(“%d%d\n”,b,c);}程序運行后的輸出結(jié)果是
A.-1112B.-19C.1224D.1122
53.以下4個程序中,完全正確的是()。
A.#include<stdio.h>main();{/*programming*/printf("programming!\n");}
B.#include<stdio.h>main(){/*/programming/*/printf("programming!\n");}
C.#include<stdio.h>main(){/*/*programming*/*/printf("programming!\n");}
D.#include<stdio.h>main(){/*programming*/printf("programming!\n");}
54.關(guān)于結(jié)構(gòu)化程序設(shè)計原則和方法的描述錯誤的是()。
A.選用的結(jié)構(gòu)只準(zhǔn)許有一個入口和一個出口
B.復(fù)雜結(jié)構(gòu)應(yīng)該用嵌套的基本控制結(jié)構(gòu)進行組合嵌套來實現(xiàn)
C.不允許使用GOTO語句
D.語言中所沒有的控制結(jié)構(gòu),應(yīng)該采用前后一致的方法來模擬
55.定義下列結(jié)構(gòu)體(聯(lián)合)數(shù)組:structst{charname[15];intage;}a[10]={"ZHAO",14,"WANG",15,"LIU",16,"ZHANG",17};執(zhí)行語句printf["%d,%c",a[2].age,*(a[3].name+2))的輸出結(jié)果為()。
A.15,AB.16,HC.16,AD.17,H
56.以下敘述不正確的是
A.一個C源程序可由一個或多個函數(shù)組成
B.一個C源程序必須包含一個main函數(shù)
C.C程序的基本組成單位是函數(shù)
D.在C程序中,注釋說明只能位于一條語句的后面
57.有以下函數(shù):fun(char*a,char*b){while((*a!='\0')&&(*b!='\0')&&(*a==*b)){a++;b++;}return(*a-*b);}該函數(shù)的功能是()。
A.計算a和b所指字符串的長度之差
B.將b所指字符串復(fù)制到a所指字符串中
C.將b所指字符串連接到a所指字符串后面
D.比較a和b所指字符串的大小
58.請選出以下程序的輸出結(jié)果()。#include<stdio.h>sub(int*s,inty){staticintt=3;y=s[t];t--;}main(){inta[]={1,2,3,4},i,x=0;for(i=0;i<4;i++){sub(a,x);printf("%d",x);}printf("\n");}
A.1234B.4321C.0D.4444
59.用scanf("%d,%d",&a,&b)輸入數(shù)據(jù)時,下面輸入法中,正確的是______。
A.123,4B.1234C.123;4D.123:4
60.下列可用于C語言標(biāo)識符的一組是_______。
A.voidWORDdefine
B.a6$sysFor
C.2asizeofabc
D.Intdefinesizeof
四、選擇題(20題)61.
下述程序的輸出結(jié)果是()。
#include<stdio.h>
voidmain
{intb[6]={2,4,6,8,10,12);
int*p=b,**q=&p;
printf("%d,",*(p++));
printf("%d,",**q);
}
A.4,4B.2,2C.4,5D.2,4
62.以下敘述中正確的是()。
A.C語句必須在一行內(nèi)寫完
B.C程序中的每一行只能寫一條語句
C.C語言程序中的注釋必須與語句寫在同一行
D.簡單C語句必須以分號結(jié)束
63.
64.有以下程序:
程序運行后的輸出結(jié)果是()。
A.0B.一1C.1D.7
65.
66.
67.設(shè)有定義:intx-2;,以下表達式中,值不為6的是()。A.2*x,X+=2B.x++,2*xC.x*=(1+x)D.x*=x+1
68.設(shè)“intx=2,y=1;”,則表達式(!x||Y--)的值是()。
A.0B.1C.2D.-1
69.(44)對長度為N的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為()
A.N+1
B.N
C.(N+1)/2
D.N/2
70.
71.
72.有以下程序程序運行后的輸出結(jié)果是()。
73.有以下程序程序運行后的輸出結(jié)果是()。
A.8B.4C.6D.2
74.設(shè)x為int型變量,則執(zhí)行以下語句后,x的值為()。x=10;x=x-=x-x;
A.10B.20C.40D.30
75.有以下程序:
程序運行后的輸出結(jié)果是()。
A.8B.2C.4D.1
76.
下列程序輸出結(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
77.
78.
79.在E—R圖中,用來表示實體聯(lián)系的圖形是()。
A.橢圓形B.矩形C.菱形D.三角形
80.有以下程序:
程序運行后的輸出結(jié)果是()。
A.6B.3C.8D.12
五、程序改錯題(1題)81.下列給定程序中proc()函數(shù)的功能是:將n個無序整數(shù)按從小到大排序。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.編寫函數(shù)proc(),它的功能是:根據(jù)公式求p的值,結(jié)果由函數(shù)值帶回。m與n為兩個正數(shù)且要求m>;n。p=m!/(n!(m-n)!),例如,m=20,n=10時,運行結(jié)果為184756.000000。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.D題干中,函數(shù)fun的功能是通過遞歸,將數(shù)組a中下標(biāo)為0~n-1位置的元素累加,作為函數(shù)返回值返回。main函數(shù)調(diào)用fun時,傳入的a+2作為數(shù)組參數(shù),傳入n的值是4,所以函數(shù)返回值是元素a[2]、a[3]、a[4]、a[5]的和,程序輸出18。本題答案為D選項。
2.D
3.D
4.A
5.Af函數(shù)功能使第二個指針指向的元素增1,第一個指針指向的元素不變,所以答案選擇A)。
6.D
7.D本題考查continue的用法,continue語句的作用是結(jié)束本次循環(huán),直接進行下次循環(huán)。所以在程序中,只有當(dāng)a=10時,才退出循環(huán),故選擇D選項。
8.C【答案】C
【知識點】C程序的函數(shù)
【解析】C程序必須有且只有一個主函數(shù)main()。一個C程序可以包含多個不重名的子函數(shù)。C程序在書寫時沒有嚴(yán)格的縮進要求,語句前的縮進隨意。
9.D輸出的結(jié)果是:-1,1\r\n0,2\r\n1,2
10.A解析:光纜是傳輸多媒體信息的通道,不能用以存儲多媒體信息。
11.D解析:因為x的值為大于1的奇數(shù),所以x除以2的余數(shù)等于1。所以選項D)等于關(guān)系表達式的結(jié)果為假,即等于0。
12.D需求分析階段的工作可以概括為:需求獲取、需求分析、編寫需求規(guī)格說明書、需求評審四個方面。所以選擇D。
13.A第1次首先執(zhí)行循環(huán)體,輸出i的值為0,然后判斷while的條件“i++”,因為“i++”是后綴自增運算,先使用后自增,所以判斷時條件為假,跳出循環(huán),但是仍執(zhí)行了i的自增操作,i的值為1,在接下來的printf語句中進行輸出。故本題答案為A選項。
14.B解析:y-的作用是先取其值作為表達式的值,然后y的值減1存入y。當(dāng)y>0時循環(huán)繼續(xù),直到y(tǒng)=0時循環(huán)結(jié)束,然后y值減1存入y中,所以選B。
15.D
16.A
17.A題干中,“x++&&y++”屬于邏輯與表達式。僅當(dāng)“x++”和“y++”的結(jié)果為真,整個邏輯表達式的結(jié)果才為真,否則整個表達式的結(jié)果為假。當(dāng)“x++”的結(jié)果為0時,“y”就會被短路,即不再執(zhí)行“y++”表達式,整個表達式的結(jié)果為假。所以當(dāng)x的值為0時,“x”的結(jié)果也是0,“y”操作被“短路”,y值不變。故本題答案為A選項。
18.D
19.B解析:程序流程圖(PFD)是一種傳統(tǒng)的、應(yīng)用廣泛的軟件過程設(shè)計表示工具,通常也稱為程序框圖,其箭頭代表的是控制流。
20.D解析:C語言規(guī)定,字符常量在程序中要用單引號括起來。判斷c1是否為小寫字母的充要條件c1>='a'和c1<='z',用邏輯與(&&)來表示。A選項的這種形式在C語言中沒有,所以選項D)正確.
21.100010100010解析:對于define宏定義語句,系統(tǒng)在編譯前進行如下替換:
i1=1000/s(N)i1=1000/s(10)i1=1000/10*10
i2=1000/f(N))i2=1000/f(10)i2=1000/(10*10)
22.abcbccabcbcc解析:strcpy()函數(shù)有兩個字符指針參數(shù),功能是將第2個參數(shù)所指的字符串(包括字符串結(jié)束標(biāo)志\'\\0\')復(fù)制到第1個參數(shù)所指的內(nèi)存地址中.題目程序中使用?兩個for循環(huán),都是讓i從0遞增到2循環(huán)3次。第1個循環(huán)將字符數(shù)組ch中的字符串'abe'復(fù)制到;維數(shù)組x[3][4]的每1行,笫2個for循環(huán)每次輸出x[i][j]中的字符串,即三次分別輸出從x[0][0]、x[1][1]、x[2][2]開始的字符串的內(nèi)容。故三次分別輸出abc、bc、c,結(jié)果為abcbcc。
23.概念數(shù)據(jù)模型概念數(shù)據(jù)模型
24.11解析:因為在條件表達式(a<b)?a:b中,比較表達式a<b為真,所以x的值等于a的值等于1,后面兩個條件表達式中的比較表達式都為真,所以最終x的值等于1。
25.3*sizeof(double)或size(double)*3或24或3*8或8*33*sizeof(double)或size(double)*3或24或3*8或8*3解析:該函數(shù)的調(diào)用格式是malloc(n),作用是申請n個字符的存儲單元,并返回該存儲區(qū)的首地址,實際調(diào)用的時候可在前面加上“(類型說明符*)”,以轉(zhuǎn)換成需要的類型的地址。所以在此空白處應(yīng)該填寫3*sizeof(double)或size(double)*3或其他等價的表達式。
26.x[i][i]x[i-1][j-1]+x[i-1][j]或x[i-1][j]+x[i-1][j-1]x[i][i]\r\nx[i-1][j-1]+x[i-1][j]或x[i-1][j]+x[i-1][j-1]解析:在程序中有兩重循環(huán)。在第一層for循環(huán)中將每行的第0列賦值為1,對角線上的元素賦值為1,顯然在第一個空白處應(yīng)該填入對角線上的元素即x[i][i],在第二重循環(huán)中給每行其他元素賦值,而在每行中除了第0列和對角線的元素外其他元素為其對應(yīng)的上一行中同列和同列的前一列的元素相加,所以在第二個空白處應(yīng)該填入x[i-1][j-1]+x[i-1][j]。
27.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。本題中度為2的結(jié)點數(shù)為18,故葉子結(jié)點數(shù)為18+1=19個。
28.只讀光盤只讀光盤
29.空間復(fù)雜度和時間復(fù)雜度算法的復(fù)雜性是指對一個在有限步驟內(nèi)終止算法和所需存儲空間大小的估計。算法所需存儲空間大小是算法的空間復(fù)雜性,算法的計算量是算法的時間復(fù)雜性。
30.測試實例測試實例解析:進行軟件測試時,應(yīng)精心設(shè)計測試實例和選擇測試數(shù)據(jù),以對系統(tǒng)進行全面測試。
31.軟件開發(fā)軟件開發(fā)解析:軟件生命周期包括8個階段:問題定義、可行性研究、需求分析、系統(tǒng)設(shè)計、詳細設(shè)計、編碼、測試、運行維護。為了使各時期的任務(wù)更明確,又可以分為3個時期:軟件定義期,包括問題定義、可行性研究和需求分析3個階段;軟件開發(fā)期,包括系統(tǒng)設(shè)計、詳細設(shè)計、編碼和測試4個階段;軟件維護期,即運行維護階段??芍幋a和測試屬于軟件開發(fā)階段。
32.n%base[d]n%base[d]解析:程序中的字符數(shù)組b存儲了十六進制16個數(shù)字的字符,整型數(shù)組c用于存儲轉(zhuǎn)換的十六進制數(shù)的各位數(shù)值。將整數(shù)n轉(zhuǎn)換成它的各位十六進制數(shù)值,需采用除以16取余的方法,即求n除以16的余,得到它的十六進制的末位數(shù),接著將n除以16,在n不等于0的情況下循環(huán),順序求出n的十六進制的倒數(shù)第一、第二、第三位數(shù)等。程序中變量base已預(yù)置16,所以在第一處填n%base。當(dāng)n的十六進制數(shù)的倒數(shù)第一、第二、第三位等依次存放于數(shù)組c中后,就從最高位至最低位,參照數(shù)組c[i]的內(nèi)容d(以其內(nèi)容為下標(biāo)),取十六進制數(shù)字符表中的字符b[d)輸出,所以在第二處填[d]。
33.i<=9或i<10或9>=i或10>ij%3!=0或j%3i<=9或i<10或9>=i或10>i\r\nj%3!=0或j%3
34.數(shù)據(jù)存儲數(shù)據(jù)存儲
35.存儲結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)包括3個方面,即數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的存儲結(jié)構(gòu)及對數(shù)據(jù)的操作運算。
36.4
37.1B1B解析:在C語古中,字符型變量可以看作整型變量來對待,與整型所不同的是字符型變量在內(nèi)存中只占1個字節(jié),而整型是2個字節(jié).字符型變量中所有的數(shù)值是它所表示字符的ASCII碼值.ASCII碼中的一些相關(guān)字符是順序排列的,如'0',的ASCII碼值為48,'1'為49以此類推一直到'9';'A'的ASCII碼值為65,'B'為66以此類推一直到'Z'。本題程序首先定義了兩個字符型變量a和b,然后分別使用getchar()和scanf()函數(shù)讀取輸入的字符'B'和十進制整數(shù)33到a和b中,因為a-'A'+'0'等于,'B'-'A'+'0'='1'+'0'='1',而b*2等于33*2=66'A'+1='B'。所以最終輸出的結(jié)果是:1B。
38.i==jk!i&&k!ji==j\r\nk!i&&k!j解析:本題用雙重for循環(huán)寫了一段0~9之間不同的3個數(shù)構(gòu)成一個三位數(shù)的程序,因為要求三位數(shù)各個位數(shù)的數(shù)不能相同,所以第一個空if語句的條件應(yīng)為i==j,即當(dāng)兩個位數(shù)上的數(shù)相同的時候,不再執(zhí)行下面的操作,轉(zhuǎn)去執(zhí)行for循環(huán)的下一次循環(huán)。第二個空,需要判斷第三位上的數(shù)不能與其他兩位的數(shù)相同。
39.2002Shanxian2002Shanxian解析:本題中第一個if語句將結(jié)構(gòu)體變量a.name和結(jié)構(gòu)體變量b.name中較小的那個賦值給結(jié)構(gòu)體變量d,第二個if語句將結(jié)構(gòu)體變量c.name和結(jié)構(gòu)體變量d.name較大的那個賦給結(jié)構(gòu)體變量d。通過函數(shù)strcmp比較。strcmp()函數(shù)有兩個參數(shù),分別為被比較的兩個字符串。如果第一個字符串大于第二個字符串返回值大于0,若第一個小于第二個返回值小于0,相等時返回值為0。字符串比較大小的標(biāo)準(zhǔn)是從第一個字符開始依次向右比較,遇到某一個字符大,該字符所在的字符串就是較大的字符串,如果遇到某一個字符小,該字符所在的字符串就是較小的字符串。本程序中第一個if語句strcmp(a.name,b.name)>0為真,故將b的值賦給d,第二個if語句strcmp(c.name,d.name)>0為假,故不執(zhí)行后面的語句,最后d的值為b的值,因此d.sno和p->name的值為2002Shangxian。
40.yesyes解析:本題中,if后面括號里的表達式為c=a+b為真(即c=1+3=4為真),所以,執(zhí)行printf('yes\\n'),最后輸出yes。
41.D解析:本題考查軟件工程中軟件設(shè)計的概念和原理。人們在開發(fā)計算機軟件的長期實踐中積累了豐富的經(jīng)驗,總結(jié)這些經(jīng)驗得到如下的啟發(fā)式規(guī)則:
(1)改進軟件結(jié)構(gòu),提高模塊獨立性;通過模塊的分解或合并,力求降低耦合提高內(nèi)聚。低耦合也就是降低不同模塊間相互依賴的緊密程度,高內(nèi)聚是提高一個模塊內(nèi)各元素彼此結(jié)合的緊密程度。
(2)模塊的規(guī)模應(yīng)適中。一個模塊的規(guī)模不應(yīng)過大,過大的模塊往往是由于分解不夠充分:過小的模塊開銷大于有益操作,而且模塊過多將使系統(tǒng)接口復(fù)雜。因此過小的模塊有時不值得單獨存在。
(3)模塊的功能應(yīng)該可以預(yù)測,但也要防止模塊功能過分局限。如果模塊包含的功能太多,則不能體現(xiàn)模塊化設(shè)計的特點:如果模塊的功能過分的局限,使用范圍就過分狹窄。
經(jīng)過上述分析,本題的正確答案是選項D。
42.A解析:作為一個算法,一般應(yīng)該具有下列4個特征:(1)可行性,即考慮到實際的條件能夠達到一個滿意的結(jié)果;(2)確定性,算法中的每一個步驟都必須是有明確定義的,(3)有窮性,一個算法必須在有限的時間內(nèi)做完;(4)擁有足夠的情報。
43.D解析:putchar(c1)輸出1,putchar(c2)輸出2,printf('%c%c\\n',c5,c6)輸出45。
44.A解析:本題考查了continue和break語句用在循環(huán)語句中的作用。break語句的作用是結(jié)束本層循環(huán),而continue語句的作用是結(jié)束本次循環(huán)直接進入到下次循環(huán)。
45.B解析:采用結(jié)構(gòu)化編程方法的好處主要在于:一是便于控制、降低程序的復(fù)雜性,因此便于編寫程序。二是程序清晰易讀,可理解性好。因此,結(jié)構(gòu)化程序設(shè)計主要強調(diào)的是程序的易讀性,而不是程序的規(guī)模、程序的執(zhí)行效率和程序的可移植性。
46.D解析:n!=n*(n-1)*……*2*1,由于選項A中f的初值為0,所以循環(huán)n次后,f值依然為0,故選項A錯誤:選項B中循環(huán)的終止條件是“i<n”,即只執(zhí)行i-1次循環(huán),得到的f值為(n-1)*……*2*1的值,故選項B錯誤;選項C中,當(dāng)n>1時,由于初值“i=n”是符合條件“i>1”的,且增量為+1,故循環(huán)中永遠不會出現(xiàn)不滿足條件“i>1”的值,所以出現(xiàn)死循環(huán)。
47.B解析:以'wt'方式寫入的是字符文件,轉(zhuǎn)義字符\'\\n\'被看作兩個字符來處理。而'wb'方式寫入的是二進制文件,轉(zhuǎn)義字符\'\\n\'是一個字符。
48.C
49.A解析:本題主要考查定義結(jié)構(gòu)體的幾個特點:①結(jié)構(gòu)的定義明確了結(jié)構(gòu)的組成形式,定義了一種C語言中沒有而用戶需要的新的數(shù)據(jù)類型。與其他的數(shù)據(jù)類型不同,在程序編譯的時候結(jié)構(gòu)的定義并不會使系統(tǒng)為該結(jié)構(gòu)分配內(nèi)存空間,只有在說明結(jié)構(gòu)變量時才分配內(nèi)存空間;②結(jié)構(gòu)體的成員名可以與程序中的變量名相同;⑧結(jié)構(gòu)體中的成員可以單獨使用,它的作用相當(dāng)于普通變量;④結(jié)構(gòu)體可以嵌套定義。
50.D
51.B解析:++和*的運算優(yōu)先級別相同,且從右到左結(jié)合,y=*px++也就是y=*(px++),++運算只對px有效。這里++是后置的,應(yīng)當(dāng)先將px所指向的變量*px(也就是變量x)的值賦給變量y,然后px才增1。
52.D解析:將a的值轉(zhuǎn)換為二進制位:00000011,再與Ox8的二進制“00001000”位與,得到結(jié)果“00001011”賦值給b,b的值為11,再將b左移一位得到:00010110,賦值給c,c的值為22,所以最后輸出的b,c的值位11,22。
53.B解析:選項A在定義main()函數(shù)時,函數(shù)頭后面多了一個分號,故選項A不正確;C語言中的注釋是不能嵌套的,故選項C不正確:選項D在使用預(yù)編譯指令#include時漏掉了#號,所以也是錯誤的。故應(yīng)該選擇B。
54.C解析:限制使用GOTO語句是結(jié)構(gòu)化程序設(shè)計的原則和方法之一,但不是絕對不允許使用GOTO語句。其他3項為結(jié)構(gòu)化程序設(shè)計的原則。
55.C解析:本題主要考查結(jié)構(gòu)體數(shù)組。a[2].age為結(jié)構(gòu)體a[2]的age成員,即16。a[3].name為指向結(jié)構(gòu)體a[3]的name成員的第一個元素的指針,即指向“Z”,(a[3].name+2)將指針后移兩位指向第三個元素“A”,*(a[3].name+2))是取指針?biāo)赶虻刂返膬?nèi)容。
56.D解析:本題考查C語言的基本基礎(chǔ)知識。在C程序中,注釋用符號“/*”開始,而以符號“*/”結(jié)束。程序的注釋可以放在程序的任何位置。通常將注釋放在程序的開始,以說明本程序的功能;或者放在程序的某個語句后面,以對此語句的功能進行描述。無論將注釋放有何處,在程序進行編譯時,編譯程序不會處理注釋的內(nèi)容;且注釋內(nèi)容也不會出現(xiàn)在目標(biāo)程序中。
57.D解析:本題要求閱讀的代碼是一個函數(shù),閱
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- S-3-Keto-sphinganine-d18-0-hydrochloride-生命科學(xué)試劑-MCE-1677
- CP-LC-0729-生命科學(xué)試劑-MCE-3226
- Actinobolin-plus-Actinobolin-生命科學(xué)試劑-MCE-7644
- 3-4-Methylenedioxy-pyrovalerone-metabolite-2-hydrochloride-生命科學(xué)試劑-MCE-1172
- 2025年度國際貿(mào)易違約風(fēng)險預(yù)防與處理合同
- 2025年度范文正式版合同文員崗位職責(zé)規(guī)范與職業(yè)素養(yǎng)培養(yǎng)協(xié)議
- 二零二五年度2025年競業(yè)禁止及保密協(xié)議模板
- 2025年度風(fēng)力發(fā)電場租賃定金協(xié)議模板
- 2025年度籃球聯(lián)賽裁判員免責(zé)聲明及賽事執(zhí)行合同
- 二零二五年度自媒體合伙人合同版:自媒體平臺內(nèi)容創(chuàng)作與推廣合同
- 小兒肺炎治療與護理
- 《高處作業(yè)安全》課件
- 春節(jié)后收心安全培訓(xùn)
- 小學(xué)教師法制培訓(xùn)課件
- 電梯操作證及電梯維修人員資格(特種作業(yè))考試題及答案
- 市政綠化養(yǎng)護及市政設(shè)施養(yǎng)護服務(wù)方案(技術(shù)方案)
- SLT824-2024 水利工程建設(shè)項目文件收集與歸檔規(guī)范
- 鍋爐本體安裝單位工程驗收表格
- 我國水體中抗生素的污染現(xiàn)狀、危害及防治建議
- 手術(shù)出血量的評估
- 報價單(產(chǎn)品報價單)
評論
0/150
提交評論