版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021年河南省漯河市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.下列敘述中正確的是()。
A.continue語句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
B.break語句只能用在循環(huán)體內(nèi)和switch語句體內(nèi)
C.在循環(huán)體內(nèi)使用break語句和continue語句的作用相同
D.break語句只能用于switch語句體中
3.有如下程序:#include<stdio.h>msin(){chars[]="ABCD",*P;for(p=s+1;p<s+4;p++)Printf("%s\n",p);}該程序的輸出結(jié)果是()。
A.ABCDBCDCDDB.ABCDC.BCDD.BCDCDD
4.有以下程序:voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i+=2)for(j=i+2;j<n;j+=2)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(aa,10);for(i=0;i<10;i++)printf("%d",aa[i]);printf("\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.9,2,7,4,5,6,3,8,1,10,
D.1,10,3,8,5,6,7,4,9,2,
5.軟件按功能可以分為應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是()。
A.學(xué)生成績管理系統(tǒng)B.C語言編譯程序C.UNIX操作系統(tǒng)D.數(shù)據(jù)庫管理系統(tǒng)
6.
7.下列語句中存在語法錯(cuò)誤的是()。
A.charss[6][20];ss[1]=“right?”;
B.charss[][20]={“right?”};
C.char*ss[6];ss[1]=“right?”;
D.char*ss={“right?”};
8.
9.若需要利用形參直接訪問實(shí)參,則應(yīng)把形參變量說明為____參數(shù)。
A.指針B.引用C.值D.變量
10.x>0||y==5的相反表達(dá)式為()。
A.x<=0||y!=5B.x<=0&&y!=5C.x>0||y!=5D.x>0&&y==5
11.
12.有以下程序:#include<stdio.h>main(){inta,b,k,m,*pl,*p2;k=1,m=8;p1=&k,p2=&m;a=/*pl-m;b=*p1+*p2+6;printf("%d",a);printf("%d\n",b);}編譯時(shí)編譯器提示錯(cuò)誤信息,你認(rèn)為出錯(cuò)的語句是()。A.a=/*pl-m;B.b=*p1+*p2+6;C.k=1,m=8;D.pl=&k,p2-&m;
13.設(shè)R是一個(gè)二元關(guān)系,S是一個(gè)三元關(guān)系,則下列運(yùn)算中正確的是()。
A.R-SB.R×SC.R∩SD.R∪S
14.下面函數(shù)的功能是()intfunl(char*X){char*y=X;whar(*y++);return(y-x-1);}
A.求字符串的長度B.比較兩個(gè)字符串的大小C.將字符串x復(fù)制到字符串y中D.將字符串x連接到字符串y后面
15.對于如圖所示二叉樹采用中根遍歷,正確的遍歷序列應(yīng)為()A.ABCDEFB.ABECDFC.CDFBEAD.CBDAEF
16.下列描述錯(cuò)誤的是()。
A.繼承分為多重繼承和單繼承
B.對象之問的通信靠傳遞消息來實(shí)現(xiàn)
C.在外面看不到對象的內(nèi)部特征是基于對象的“模塊獨(dú)立性好”這個(gè)特征
D.類是具有共同屬性、共同方法的對象的集合
17.有以下程序:#include<stdio.h>main(){inta=2,b=2,C=2;print{("%d\n",a/b&c);}程序運(yùn)行后的輸出結(jié)果是()。A.0B.1C.2D.3
18.在數(shù)據(jù)庫設(shè)計(jì)中,將E-R圖轉(zhuǎn)換成關(guān)系數(shù)據(jù)模型的過程屬于()。A.需求分析階段B.概念設(shè)計(jì)階段C.邏輯設(shè)計(jì)階段D.物理設(shè)計(jì)階段
19.下列敘述中正確的是()。
A.只能在循環(huán)體內(nèi)和switch語句體內(nèi)使用break語句
B.eotinue語句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行
C.在循環(huán)體內(nèi)使用break語句或continue語句的作用相同
D.從多層循環(huán)嵌套中退出時(shí),只能使用got0語句
20.
下述程序的輸出結(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
二、2.填空題(20題)21.______是數(shù)據(jù)庫應(yīng)用的核心。
22.設(shè)有下列宏定義:
#defineA2
#defineB(A+3)
則執(zhí)行賦值語句“k=B*20;”(k為int型變量)后,k的值是______。
23.數(shù)據(jù)流圖有兩種典型的結(jié)構(gòu)形式,它們分別是變換型和【】。
24.下列程序的輸出結(jié)果是______。
#defineP(A)printf("%d,",(int)(A))
#definePRINT(A)P(A);printf("theend")
main()
{inti,a=0;
for(i=1;i<5.i++)
PRINT(a+i);
printf("\n");
}
25.買來一張新盤后,在存入文件前,必須進(jìn)行【】處理。
26.有以下程序段,且變量已正確定義和賦值
for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));
printf("s=%f\n\n",s);
請?zhí)羁?使下面程序段的功能與之完全相同
s=1.0;k=1;
while(【】){s=s+1.0/(k*(k+1));【】;}
printf("s=%f\n\n",s);
27.在ER圖中,矩形表示【】。
28.在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
29.以下程序是求矩陣a、b的和,結(jié)果存入矩陣c中,請?zhí)羁铡?include<stdio.h>main(){inta[4][4]={1,2,6,7},{0,4,2,-8},{1,4,5,2},{2,4,6,8}};intb[4][4]={{-4,0,7,9},{2,-7,7,4),{6,9,0,1),{8,8,6,5)};inti,j,c[4][4];for(i=0;i<4;i++)for(j=0;j<4;j++)c[i][j]=();for(i=0;i<4;i++)for(j=0;j<4;j++)printf("%d",c[i][j]);}
30.下列程序段中循環(huán)體的執(zhí)行次數(shù)是______。
a=15;
b=0;
do{b+=2;a-=2+b;}while(a>=0);
31.在宏定義#defineP13.14159中,用宏名PI代替一個(gè)______。
32.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲結(jié)構(gòu),線性鏈表屬于【】。
33.\13'在內(nèi)存中占1個(gè)字節(jié),"\12"在內(nèi)存中占______個(gè)字節(jié)。
34.某二叉樹中度為2的結(jié)點(diǎn)有18個(gè),則該二叉樹中有【】個(gè)葉子結(jié)點(diǎn)。
35.設(shè)x、y、z均為int型變量,請寫出描述“x或y中至少有一個(gè)小于z”的表達(dá)式______。
36.下面程序執(zhí)行后輸出的結(jié)果是【】。
intm=13;
intfun(intx,inty)
{intm=3;
return(x*y-m);
}
main()
{inta=7,b=5;
printf("%d\n",fun(a,b)/m);
}
37.設(shè)函數(shù)findbig已定義為求3個(gè)數(shù)中的最大值。以下程序?qū)⒗煤瘮?shù)指針調(diào)用findbig函數(shù)。請?zhí)羁铡?/p>
main()
{intfindbig(int,int,int);
int(*f)(),x,y,z,big;
f=【】;
seanf("%d%d%d",&x,&y,&z);
big=(*f)(x,y,2);
printf("big=%d\n",big);
}
38.以下程序的功能是建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,鏈表結(jié)點(diǎn)中的數(shù)據(jù)通過鍵盤輸入,當(dāng)輸入數(shù)據(jù)為-1時(shí),表示輸入結(jié)束(鏈表頭結(jié)點(diǎn)的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(structlist));
p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");
scanf("%d",&a);
while(a!=-1)
{p=(structlist*)malloc(sizeof(structlist));
【】=a;q->next=p;【】=p;scanf("%d",&a);}
p->next=′\0;return(ph);}
main()
{structlist*head;head=creatlist();}
39.下述函數(shù)用于統(tǒng)計(jì)—行字符中的單詞個(gè)數(shù),單詞之間用空格分隔。
word_num(str)
charstr[];
{int,num=O,word=O;
for(i=0;str[i]!=【】;i++)
if(【】=")wprd=0
elseif(word=O)
{
word=1:
【】;
}
return(num);
}
40.下面程序的輸出是【】
main()
{enumem{eml=3,em2=1,em3};
char*aa[]={"AA',"BB","CC","DD"}
printf("%s%s%\n",aa[em1],aa[em2],aa[em3]);
}
三、1.選擇題(20題)41.以下語句的輸出結(jié)果是()printf("%d,%d,%u\n",016,16,-16);
A.16,16,65420B.14,16,6542C.16,16,-16D.14,16,-16
42.有以下程序
#include<stdio.h>
main()
{ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;
for(i=0;i<12;i++)c[s[i]]++;
for(i=1;i<5;i++)printf("%d",c[i]);
printf("\n");
}
程序的運(yùn)行結(jié)果是
A.1234B.2344C.4332D.1123
43.若進(jìn)棧序列為1,2,3,4,進(jìn)棧過程中可以出棧,則下列不可能的一個(gè)出棧序列是______。
A.1,4,3,2B.2,3,4,1C.3,1,4,2D.3,4,2,1
44.下列程序的運(yùn)行結(jié)果為()。#include<stdio.h>main(){structdate{intyear,month,day;}today;printf("%d\n",sizeof(structdate));}
A.8B.6C.10D.12
45.下列關(guān)于隊(duì)列的敘述中正確的是______。A.在隊(duì)列中只能插入數(shù)據(jù)B.在隊(duì)列中只能刪除數(shù)據(jù)C.隊(duì)列是先進(jìn)先出的線性表D.隊(duì)列是先進(jìn)后出的線性表
46.有以下程序main(){chars[]="Yes\n/No",*ps=s;puts(ps+4);*(ps+4)=0;puts(s);}程序運(yùn)行后的輸出結(jié)果是(選項(xiàng)D中的第一行是空行)A.n/NoYes/NoB./NoYesYesC.n/No/NoD.Yes/No
47.有下列二叉樹,對此二叉樹前序遍歷的結(jié)果為()。
A.XZCYABB.XYZABCC.XYABCZD.XYAZBC
48.以下程序輸出的結(jié)果為______。main(){char*alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX");char**p;inti;p=alpha;for(i=0;i<4;i++)printf("%s",p[i]);}
A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOPD.AEIM
49.若變量均已正確定義并賦值,以下合法的C語言賦值語句是()。
A.x=y==5;B.X=n%2.5:C.x+n=i;D.x=5=4+1:
50.下列敘述中錯(cuò)誤的是()。
A.一個(gè)C語言程序只能實(shí)現(xiàn)一種算法
B.c程序可以由多個(gè)程序文件組成
C.C程序可以由一個(gè)或多個(gè)函數(shù)組成
D.一個(gè)c函數(shù)可以單獨(dú)作為一個(gè)C程序文件存在
51.在下列選項(xiàng)中,沒有構(gòu)成死循環(huán)的程序段是()。
A.inti=100;for(;;){i=i%10+1;if(i>10)break;}
B.while(1);
C.intk=0;do{++k;}while(k<=10);
D.ints=12;while(s);--s;
52.請讀程序:#include<stdio.h>#include<string.h>main(){char*s1="AbCdEf",*s2="aB";s1++;s2++;printf("%d\n",strcmp(s1,s2));}上面程序的輸出結(jié)果是______。
A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值
53.以下選項(xiàng)中合法的實(shí)型常數(shù)是A.5E2.0B.E-3C.2.00E-01D.1.3E
54.下列描述中,正確的一條是______。
A.關(guān)系表達(dá)式的值是一個(gè)邏輯值,即“真”或“假”,可以賦給一個(gè)邏輯變量
B.在C語言中,判斷一個(gè)量是否為:真”時(shí),以0代表“假”,以1代表“真”.
C.設(shè)a=3、b=4、c=5,則表達(dá)式!(x=a)&&(y=b)&&0的值為0
D.一個(gè)數(shù)組的各個(gè)數(shù)組元素可屬于不同的數(shù)據(jù)類型
55.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inta=3,b=2,c=1;if(a<b)if(b<O)c=0;elsec++;printf("%d\n",c);}
A.0B.2C.1D.3
56.有以下程序
main()
{intk=5,n=0;
do
{switch(k)
{case1:case3:n+=1;k--;break;
default:n=0;k--;
case2:case4:n+=2;k--;break;
}
printf("%d",n);
}while(k>0&&n<5);
}
程序運(yùn)行后的輸出結(jié)果是
A.235B.0235C.02356D.2356
57.以下選項(xiàng)中,正確運(yùn)用指針變量的程序段是()。
A.int*i=NULL;
B.float*f=NULL;scanf("%d",i);*f=10.5;
C.chart='m',*C=&t;
D.long*L;*C=&t;L='0';
58.若要說明x是整型變量,p為指向x的整型指針變量,則正確的說明是______。
A.ihtx,*p=&x;
B.intx,p=&x;
C.intx,*p=*x;
D.int*p=&x,x;
59.對線性表進(jìn)行二分法檢索,其前提條件是()。
A.線性表以順序方式存儲,并按關(guān)鍵碼值排好序
B.線性表以順序方式存儲,并按關(guān)鍵碼的檢索頻率排好序
C.線性表以鏈?zhǔn)椒绞酱鎯Γ搓P(guān)鍵碼值排好序
D.線性表以鏈?zhǔn)椒绞酱鎯?,并按關(guān)鍵碼的檢索頻率排好序
60.下列程序中c的二過值是()。chara=2,b=4,c;c=a^b>>2;
A.11B.10100C.11100D.11000
四、選擇題(20題)61.
62.有以下程序
.程序運(yùn)行后的輸出結(jié)果是()。
A.6B.9C.11D.7
63.設(shè)有以下定義inta=0;doubleb=1.25;charc=’A’;#defined2則下面語句中錯(cuò)誤的是()
A.a++;B.b++C.c++;D.d++;
64.下面描述中,符合結(jié)構(gòu)化程序設(shè)計(jì)風(fēng)格的是()。
A.使用順序、選擇和重復(fù)(循環(huán).三種基本控制結(jié)構(gòu)表示程序的控制邏輯
B.模塊只有一個(gè)入口,可以有多個(gè)出口
C.注重提高程序的執(zhí)行效率
D.不使用goto語句
65.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.0B.一12C.一20D.10
66.下列對于軟件測試的描述正確的是()。
A.軟件測試的主要目的是發(fā)現(xiàn)程序中的錯(cuò)誤
B.軟件測試的目的是證明程序是否正確
C.軟件測試的目的是使程序運(yùn)行結(jié)果正確
D.軟件測試是證明軟件中沒有錯(cuò)誤
67.以下程序中,函數(shù)sort的功能是對a數(shù)組中的數(shù)據(jù)進(jìn)行由大到小的排序。
voidsort(inta[],intn)
{inti,j,t;
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j])
{t=a[i];a[i]=a[j];a[j]=t;}
}
main()
{intaa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&aa[3],5);
for(i=0;i<10;i++)printf("%d,",aa[i]);
printf("\n");
}
程序運(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.1,2,3,8,7,6,5,4,9,10
D.1,2,10,9,8,7,6,5,4,3
68.
69.以下選項(xiàng)中不能作為C語言合法常量的是
A.’Fab’B.0.7e+9C."\b"D.’\01211’
70.
71.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.197B.143C.33D.28
72.下列選項(xiàng)不符合良好程序設(shè)計(jì)風(fēng)格的是()。
A.源程序要文檔化B.數(shù)據(jù)說明的次序要規(guī)范化C.避免濫用goto語句D.模塊設(shè)計(jì)原則是高耦合、高內(nèi)聚
73.下面結(jié)構(gòu)體的定義語句中,錯(cuò)誤的是()。
A.
B.
C.
D.
74.下列字符數(shù)組初始化語句中,不正確的是()。A.A.charc[]='goodmorning';
B.charc[20]="goodmorning";
C.charc[]={'a','b','c','d');
D.charc[]={"ffgoodmorning"};
75.
76.
77.定義下列結(jié)構(gòu)體(聯(lián)合)數(shù)組:
structst
{charname[15];
intage;
}a[10]={"ZHA0",14,"WANG",15,"LIU",16,"ZHANG",17);
執(zhí)行語句printf("%d,%C",a[2].a(chǎn)ge,*(a[3].name+2))的輸出結(jié)果為()。A.A.15,AB.16,HC.16,AD.17,H
78.若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。
A.函數(shù)的實(shí)參和其對應(yīng)的形參共占同一存儲單元
B.形參只是形式上的存在,不占用具體存儲單元
C.同名的實(shí)參和形參占同一存儲單元
D.函數(shù)的形參和實(shí)參分別占用不同的存儲單元
79.以下敘述中錯(cuò)誤的是()。
A.改變函數(shù)形參的值,不會(huì)改變對應(yīng)實(shí)參的值
B.函數(shù)可以返回地址值
C.可以給指針變量賦一個(gè)整數(shù)作為地址值
D.當(dāng)在程序的開頭包含文件stdi0.h時(shí),可以給指針變量賦NULL
80.設(shè)有如圖所示二叉樹,對此二叉樹后序遍歷的結(jié)果為()。
A.ZBTYCPXAB.ATBZXCYPC.TZBACYXPD.ATBZXCPY
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun()的功能是:求兩個(gè)非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。例如,若num1和num2分別為49和21,則輸出的最大公約數(shù)為7;若num1和num2分別為27和81,則輸出的最大公約數(shù)為27。請改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.三個(gè)整數(shù)a、b、c,由鍵盤輸入,輸出其中最大的一個(gè)數(shù)。
參考答案
1.C
2.Bcontinue語句的作用是跳過循環(huán)體中剩余的語句而進(jìn)行下一次循環(huán),所以A選項(xiàng)錯(cuò)誤。break語句的作用是終止正在執(zhí)行的switch語句體,跳出switch語句體或者強(qiáng)制終止當(dāng)前循環(huán),從當(dāng)前執(zhí)行的循環(huán)中跳出,所以C、D選項(xiàng)錯(cuò)誤。故本題答案為B選項(xiàng)。
3.D解析:本題考查指向字符串指針的運(yùn)算方法。執(zhí)行p=s+1后,指針變量p就指向字符串中的第二個(gè)字符“B”,然后輸出字符串“BCD”并換行;下面繼續(xù)執(zhí)行循環(huán)語句,指針變量p指向下一個(gè)字符“C”,輸出字符串“CD”,最后一次循環(huán),p指向字符“D”,輸出字符串“D”。
4.C解析:本題考核的知識點(diǎn)是程序中算法的基本分析。sort()函數(shù)作用是將數(shù)組aa中的下標(biāo)為偶數(shù)的元素按大到小排序.主函數(shù)中首先定義了一個(gè)長度為10的數(shù)組并賦值,然后調(diào)用sort()函數(shù),將數(shù)組aa中奇數(shù)個(gè)元素的值按大到小排序,因此執(zhí)行完該函數(shù)后,數(shù)組中奇數(shù)個(gè)元素的值為9,7、5、3和1,故主函數(shù)中最后通過一個(gè)for循環(huán)輸出數(shù)組aa中各元素的值為9、2、7、4、5、6、3、8、1和10,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
5.A
6.D
7.A數(shù)組定義后,不可以對數(shù)組整體賦值。ss是二維數(shù)組,因ss[1]是一維字符數(shù)組,相當(dāng)于一維數(shù)組的數(shù)組名,是常量,不能重新賦值,A選項(xiàng)錯(cuò)誤。B選項(xiàng)和D選項(xiàng)是定義時(shí)對數(shù)組初始化。在C選項(xiàng)中,將字符串在內(nèi)存中的首地址賦給指針數(shù)組的一個(gè)元素。故本題答案為A選項(xiàng)。
8.D
9.A
10.B
11.B
12.A本題考查指針,pl=&k表示P指向k的地址,則*p=k,依次類推,在對指針進(jìn)行賦值時(shí)沒有錯(cuò)誤。a=/*p+m賦值,在c語言中"/*"表示的注釋,所以答案選擇A。
13.BB?!窘馕觥筷P(guān)系的交(∩)、并(∪)和差(-)運(yùn)算要求兩個(gè)關(guān)系是同元的,顯然作為二元的R和三元的S只能做笛卡兒積運(yùn)算。
14.A
15.D
16.C對象的封裝性是指從外面看只能看到對象的外部特性,而對象的內(nèi)部,其處理能力的實(shí)行和內(nèi)部狀態(tài)對外是不可見的,是隱蔽的。
17.A根據(jù)C語言運(yùn)算符的優(yōu)先級與結(jié)合性,先計(jì)算a/b,結(jié)果為l,再將a/b的結(jié)果與C做按位與運(yùn)算,即l與2做按位與運(yùn)算,其結(jié)果為0。
18.CE-R圖轉(zhuǎn)換成關(guān)系模型數(shù)據(jù)則是把圖形分析出來的聯(lián)系反映到數(shù)據(jù)庫中,即設(shè)計(jì)出表,所以屬于邏輯設(shè)計(jì)階段。
19.A本題考查循環(huán)跳出的知識點(diǎn):①break語句可以出現(xiàn)在switch循環(huán)體內(nèi)及語句體內(nèi),它的作用是跳出循環(huán)體,不能用于其他的語句;②continue語句的作用是結(jié)束本次循環(huán),即跳過循環(huán)體中下面尚未執(zhí)行的語句,而接著判定循環(huán)條件是否成立,確定下一次循環(huán)是否繼續(xù)執(zhí)行,執(zhí)行contiune語句不會(huì)使整介循環(huán)終止;③循環(huán)體內(nèi)使用break語句會(huì)使循環(huán)提前終止;④從多層循環(huán)嵌套中退出時(shí),可以使用90t0語句或者break語句。
20.D
\n首先定義了一個(gè)指向一維數(shù)組b的指針P,一個(gè)指向指針P的指針變量q;輸出*(p++)是先輸出*p,即b[O]的值,再將指針P指向數(shù)組的下一個(gè)元素b[1];輸出**q是輸出指針P所指單元的內(nèi)容。
\n
21.數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)
22.100100解析:本題考查帶參數(shù)的宏定義及相關(guān)運(yùn)算。運(yùn)算過程為:k=B*20=(A+3)*20=(2+3)*20=100。
23.事務(wù)型事務(wù)型解析:數(shù)據(jù)流圖中有眾多的加工,但必有一個(gè)加工是起核心作用的,即中心加工。由數(shù)據(jù)流圖導(dǎo)出結(jié)構(gòu)圖的關(guān)鍵是找出中心加工。一般來說,中心加工有兩種存在形態(tài),即數(shù)據(jù)流圖的兩種典型結(jié)構(gòu)形式:變換型和事務(wù)型。
24.1234theend1,2,3,4,theend解析:本題考查帶參數(shù)的宏的定義。第1次循環(huán),i=1時(shí),調(diào)用PRINT(1),P(1)輸出1;第2次循環(huán),i=2時(shí),調(diào)用PRINT(2),P(2)輸出2:第3次循環(huán),i=3時(shí),調(diào)用PRINT(3),P(3)輸出3:第4次循環(huán),i=4時(shí),調(diào)用PRINT(4),P(4)輸出4,theend。
25.格式化(或初始化、FORMAT)格式化(或初始化、FORMAT)
26.k<=nk++k<=n,k++解析:本題要求將一個(gè)for循環(huán)改成while循環(huán)。首先要保證循環(huán)條件相同,在for循環(huán)中,每次執(zhí)行循環(huán)之后,循環(huán)控制變量k都會(huì)加1,而while循環(huán)則沒有,故需在循環(huán)體中增加改變k數(shù)值的語句'k++;'\ue009。
27.實(shí)體實(shí)體解析:在E-R圖中用矩形表示實(shí)體;橢圓形表示屬性;菱形表示聯(lián)系。
28.中序中序解析:在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結(jié)點(diǎn)、遍歷左了樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹:并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。后序遍歷指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹;并且遍歷左、右子樹時(shí),仍然光遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹。
29.a[i][j]+b[i][j]a[i][j]+b[i][j]解析:求兩個(gè)矩陣的和只要將對應(yīng)元素相加即可。
30.33解析:本題考查do…while語句形式:
do循環(huán)體
while表達(dá)式
首先執(zhí)行循環(huán)體語句,然后檢測循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語句,否則退出循環(huán)。第1次循環(huán):b+=2,b=2,a-=2+b,a=11;第2次循環(huán):b=4,a=5;第3次循環(huán):b=6,a=-3,此時(shí)再判斷循環(huán)條件不滿足,退出循環(huán)。
31.本題考查字符替換格式:#define標(biāo)識符字符串。
32.存儲結(jié)構(gòu)
33.22解析:'\\13':表示八進(jìn)制數(shù)13表示的ASCII字符,是一個(gè)字符,占一個(gè)字節(jié);而”\\12”是個(gè)字符串,除了八進(jìn)制數(shù)12表示的ASCII字符占一個(gè)字節(jié)外,還有在字符串的末尾加上串結(jié)束標(biāo)志“'\\0'”,所以共有2個(gè)字節(jié)。
34.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(diǎn)(即葉子結(jié)點(diǎn))總是比度為2的結(jié)點(diǎn)多一個(gè)。本題中度為2的結(jié)點(diǎn)數(shù)為18,故葉子結(jié)點(diǎn)數(shù)為18+1=19個(gè)。
35.x<z‖y<zx<z‖y<z解析:本題考查邏輯運(yùn)算符和邏輯表達(dá)式。x或y中至少有一個(gè)小于z,即x<z或y<z,是“或”的關(guān)系。
36.22解析:本題變量m既是外部變量(值是13),又是fun函數(shù)的局部變量(值為3)。函數(shù)fun(x*y-m)的值為7*5-3=32,在main函數(shù)中,fun(a,b)/m中的m應(yīng)取外部變量的值13,因此輸出2。
37.findbigfindbig解析:本題首先定義了一個(gè)指向函數(shù)的指針變量f,如果希望讓它指向某個(gè)函數(shù),只需把函數(shù)名賦給該指針變量即可。所以說本題的空格處應(yīng)該填入函數(shù)名findbig。
38.p->dataqp->data,q解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點(diǎn)是結(jié)構(gòu)體變量中有兩個(gè)域,一個(gè)是數(shù)據(jù),另一個(gè)是指向該結(jié)構(gòu)體變量類型的指針,用以指明鏈表的下一個(gè)結(jié)點(diǎn)。
39.\0'或0或NULLstr[i]num++或num=num+1或mum+=l\\0'或0或NULL\r\nstr[i]\r\nnum++或num=num+1或mum+=l解析:觀察題目要求,可以知道以下幾點(diǎn):
①for循環(huán)的結(jié)束條件應(yīng)當(dāng)是:str[i]已是字符串的最后一個(gè)字符;
②str[i]代表字符串str中的第i+1個(gè)字符;
③整型變量num的值是要記錄的單詞的個(gè)數(shù)。
C語言中規(guī)定字和會(huì)串的最后一個(gè)字和會(huì)是一個(gè)隱含的字符串結(jié)束符“\\0”,所以在題中第一個(gè)空中應(yīng)填寫“\\0”;題中第二個(gè)空應(yīng)填寫“str[i]”,以判斷當(dāng)前位置的字符是否為空格;題中第三個(gè)空中應(yīng)當(dāng)填寫“num++”,通地變量num的加1累加到字符串中的單詞個(gè)數(shù)。
40.DDBBCCDDBBCC解析:C語言對枚舉的定義規(guī)定:在枚舉中聲明的各個(gè)枚舉元素,如果沒有明確指出某個(gè)枚舉元素的值,它的上—個(gè)元素存在并有明確值的情況下,這個(gè)牧舉元素的值為其上一個(gè)元素的值+1。在本題中,沒有明確說明枚舉元素em3的值,則em3=cm2+1=1+1=2,進(jìn)而可知,在printf()打印函數(shù)中,要打印的數(shù)組元素是aa[3]、aa[1]、aa[2],因此最后的打印結(jié)果應(yīng)當(dāng)為'DDBBCC'。
41.B
42.C解析:在for(i=0;i<12;i++)c[s[i]]++中,數(shù)組元素s[i]的值作為數(shù)組c的下標(biāo),當(dāng)退出循環(huán)時(shí),數(shù)組c的4個(gè)元素的值分別為4、3、3、2。
43.C解析:棧是一種后進(jìn)先出表,選項(xiàng)C中,先出棧的是3,說明此時(shí)棧內(nèi)必然有1,2,由于1先于2進(jìn)淺,所以1不可能在2之前出棧,故選項(xiàng)C這種出棧序列是不可能的。
44.B解析:解答本題需要注意兩個(gè)知識點(diǎn);①結(jié)構(gòu)體變量的長度是其內(nèi)部成員長度的總和,本題中,structdate中包含year、month、day這3個(gè)整型變量,一個(gè)整型變量占2個(gè)字節(jié):②sizeof是求所占字節(jié)數(shù)的運(yùn)算符。
45.C隊(duì)列是指允許在一端進(jìn)行插入、而在另一端進(jìn)行刪除的線性表,選項(xiàng)A和選項(xiàng)B錯(cuò)誤。允許插入的一端稱為隊(duì)尾,允許刪除的一端稱為隊(duì)頭。在隊(duì)列中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除。所以,隊(duì)列又稱為“先進(jìn)先出”或“后進(jìn)后出”的線性表,它體現(xiàn)了“先來先服務(wù)”的原則,選項(xiàng)C正確,選項(xiàng)D錯(cuò)誤。
46.B本題考核的知識點(diǎn)是puts()函數(shù)的應(yīng)用。主函數(shù)中定義了一個(gè)字符數(shù)組s并賦初值,一個(gè)字符串指針變量ps并讓它指向s。程序中p+4的地址為數(shù)組第5個(gè)元素的地址,而調(diào)用put(str_adr)函數(shù)時(shí),將從str_adr這一地址開始,依次輸出存儲單元中的字符,遇到第一個(gè)“\\0”時(shí)結(jié)束輸出,并自動(dòng)輸出一個(gè)換行符。所以put(p++4)將輸出n/No,put(s)將從s第一個(gè)元素開始輸出到第3個(gè)元素結(jié)束(因?yàn)閳?zhí)行*(p4)c0語句后s中的第5個(gè)元素的值為0,而s中的第4個(gè)元素為“\\”,puts將遇到“\\0”,結(jié)束輸出),即輸出yes。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
47.D解析:對二叉樹的前序遍歷是指先訪問根結(jié)點(diǎn),然后訪問左于樹,最后訪問右子樹,并且在訪問左、右子樹時(shí),先訪問根結(jié)點(diǎn),再依次訪問其左、右于樹。
48.C解析:alpha[0]指向“ABCD”的首地址;alpha[1]指向“EFGH”的首地址;alpha[2]指向“IJKL”的首地址,依此類推。當(dāng)執(zhí)行p=alpha后,p指向指針數(shù)組alpha的首地址。for循環(huán)中輸出了4個(gè)字符串。
49.AB選項(xiàng)中運(yùn)算符“%”的運(yùn)算對象為整數(shù)。C選項(xiàng)中不能將變量賦給表達(dá)式“x+n”。D選項(xiàng)中不能將表達(dá)式“4+1”賦給常量5。故本題答案為A選項(xiàng)。
50.A答案A
解析:一個(gè)C程序可以有一個(gè)或多個(gè)程序文件,也可以有一個(gè)或多個(gè)函數(shù),所以一個(gè)C語言程序可以實(shí)現(xiàn)多種算法。
51.C
52.A解析:本題考查字符串比較函數(shù)strcmp()的應(yīng)用。strcmp(s1,s2)是中比較函數(shù),當(dāng)s1>s2時(shí)返回值為正數(shù),當(dāng)s1<s2時(shí)返回值為負(fù)數(shù),當(dāng)s1=s2時(shí)返回值為零。本題中s1,s2分別表示兩個(gè)串中第一個(gè)字符的地址,s1++和s2++是將指針指向串的第二個(gè)字符,指針變量s1指向的是串“bCdEf”的首地址,即字符b的地址,而指針變量s2指向的是字符'B'的地址。而在字符串比較中,寧符串大小的確定是各個(gè)字符串相應(yīng)位置字符的ASCII碼值的大小決定的,字符'B'的ASCII碼值為66,字符“b”的ASCII碼值為98,所以s1>s2,返回值為正數(shù)。
53.C解析:在C語言中,實(shí)數(shù)有兩種表示形式:小數(shù)形式與指數(shù)形式。小數(shù)形式的實(shí)數(shù)由整數(shù)部分、小數(shù)點(diǎn)和小數(shù)部分組成(必須要有小數(shù)點(diǎn))。指數(shù)形式字母e(E)之前必須有數(shù)字,且e或E后的指數(shù)必須為整數(shù)。選項(xiàng)A中,5E2.0中E后面的2.0不是整數(shù);選項(xiàng)B中,E前面沒有數(shù)字;選項(xiàng)D中,E后面沒有數(shù)字,只有選項(xiàng)C正確。
54.D
55.C解析:本題考查if語句。第一個(gè)if語句,先判斷條件,發(fā)現(xiàn)a<b不成立,不再執(zhí)行下列的語句,直接執(zhí)行最后的printf輸出語句,然后結(jié)束程序,整個(gè)過程c的值沒有發(fā)生變化。
56.A解析:因?yàn)樽兞康某跏贾捣謩e為'k=5,n=0',所以程序第一次進(jìn)入循環(huán)時(shí),執(zhí)行default語句,這時(shí)k=4,執(zhí)行'case4:'這個(gè)分支,結(jié)果是'n=2,k=3',打印出2;程序然后進(jìn)行第二次循環(huán),這時(shí)'n=2,k=3',執(zhí)行'case3:'這個(gè)分支,結(jié)果是'n=3,k=2',打印出3;程序進(jìn)行第三次循環(huán),這時(shí)'n=3,k=2',執(zhí)行'case2:case4:'這兩個(gè)分支,結(jié)果是\ue008'n=5,k=1'\ue009,打印出5,這時(shí)因?yàn)閚=5不滿足n<5的循環(huán)條件,因此退出循環(huán),程序運(yùn)行結(jié)束,故輸出結(jié)果為235。
57.D解析:選項(xiàng)A定義了一個(gè)整型變量i,并且初始化讓它指向NULL,接著通過scarnf()函數(shù),改變i指向的存儲空間的值,選項(xiàng)A中首先定義了整型指針變量i并初始化為NULL,即表示指針i不指向任何存儲單元,即此時(shí)還沒有為i在內(nèi)存中開辟存儲單元,而在scanf()函數(shù)中第二個(gè)參數(shù)是地址參數(shù),顯然在這里i不表示地址,所以下面的scanf('%d',i)語句是不正確的,故選項(xiàng)A不正確。選項(xiàng)B定義了一個(gè)實(shí)型指針變量f并初始化使它指向NULL,即還沒有為f在內(nèi)存中開辟存儲單元,不能向*f代表的存儲單元(不存在)中寫數(shù)據(jù),故選項(xiàng)B錯(cuò)誤;選項(xiàng)C中首先定義了一個(gè)字符變量t并給它賦初值\'m\',然后定義一個(gè)字符型指針c并讓它指向了變量t,這一部分正確,然后接著用了一個(gè)語句“*c=&t;”應(yīng)該將該語句中c前的*去掉,故選項(xiàng)C運(yùn)用指針變量不正確。選項(xiàng)D中的\'\\0\'是一個(gè)轉(zhuǎn)移字符,稱作“空值”,可以給指針變量L賦值。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
58.A解析:整型指針變量p指向整型變量x,顯然是先定義x,后定義p。定義p時(shí),必須在指針變量名前加*(否則,p只是不同整型變量),取變量x的地址,要用取地址符&。
59.A解析:對線性表進(jìn)行二分法檢索,要求線性表是按順序方式存儲的,并按關(guān)鍵碼值的大小排好序,而不是按關(guān)鍵碼的檢索頻率排序。
60.A解析:本題主要考查按位異或和右移運(yùn)算。b=4的二進(jìn)制為00000100,b>>2后為00000001,a=2的二進(jìn)制為00000010,兩者異或?yàn)?0000011。
61.C
62.A本題首先定義了3個(gè)字符數(shù)flip、q、r,并分別被初始化。數(shù)組p;}i旨定的大小為20,初始化列表為la,b,c,d},即只指定了前4個(gè)元素的內(nèi)容,根據(jù)c語言的規(guī)定,初始化列表不足時(shí),其余元素均自動(dòng)初始化為0。然后通過streat()函數(shù),將字符串r連接到字符串p之后,即執(zhí)行后p中的內(nèi)容為“123d123de”。因?yàn)椤皊trlen(q)”表示求字符串q的長度,很明顯為3,所以語句“strcpy(p+strlen(q),q);”的作用就是:將字符串q復(fù)制到數(shù)9lp的第4個(gè)元素位置處。
63.D++是自增運(yùn)算符,作用是使變量的值增加1,選項(xiàng)D中的d不是變量,而是一個(gè)標(biāo)識符,它代表常量2,常量是不允許進(jìn)行自增運(yùn)算的。故本題答案為D。
64.A解析:結(jié)構(gòu)化程序設(shè)計(jì)方法的四條原則是:①自頂向下;②逐步求精;③模塊化;④限制使用goto語句?!白皂斚蛳隆笔侵冈诔绦蛟O(shè)計(jì)時(shí),先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)?!爸鸩角缶笔侵笇?fù)雜問題應(yīng)設(shè)計(jì)一些子目標(biāo)作過渡,逐步細(xì)節(jié)化?!澳K化”是指一個(gè)復(fù)雜問題由若干稍簡單的問題構(gòu)成;解決這個(gè)復(fù)雜問題的程序,也應(yīng)由若干稍簡單問題的小程序組成。
65.C本題考在宏定義,宏定義只是做簡單的替換,所以本題中SUB(a+b)·c=(a+b)一(a+b)·e=一20,所以答案為C選項(xiàng)。
66.A\n軟件測試的目標(biāo)是發(fā)現(xiàn)軟件中的錯(cuò)誤。
\n
67.C本題題目給出了函數(shù)sort的功能是對a數(shù)組中的數(shù)據(jù)進(jìn)行由大到小的排序。在函數(shù)sort中,帶有兩個(gè)形參,其中一個(gè)為要操作的數(shù)組a,在函數(shù)體中,通過雙重循環(huán)對a數(shù)組元素進(jìn)行排序。
在主函數(shù)中,定義了一個(gè)數(shù)字aa,并賦了初值,然后調(diào)用函數(shù)sort,其兩個(gè)參數(shù)分別為&aa[3]和5,其中&aa[3]表示從數(shù)組aa的第四個(gè)元素作為首地址,即使形參數(shù)組a的首地址等于實(shí)參數(shù)組aa第四個(gè)元素的地址,從數(shù)組aa的第四個(gè)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 景德鎮(zhèn)藝術(shù)職業(yè)大學(xué)《配合物化學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 遼寧大學(xué)《嵌入式技術(shù)》2023-2024學(xué)年第一學(xué)期期末試卷
- 江蘇海事職業(yè)技術(shù)學(xué)院《口腔科學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 黑龍江工程學(xué)院昆侖旅游學(xué)院《建筑施工組織》2023-2024學(xué)年第一學(xué)期期末試卷
- 重慶三峽職業(yè)學(xué)院《食品儀器分析原子吸收測定水中鈣(標(biāo)準(zhǔn)曲線法)》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江越秀外國語學(xué)院《漆畫表現(xiàn)灰料新語言》2023-2024學(xué)年第一學(xué)期期末試卷
- 浙江海洋大學(xué)《GIS氣象應(yīng)用與開發(fā)》2023-2024學(xué)年第一學(xué)期期末試卷
- 中國計(jì)量大學(xué)《生物信息學(xué)入門(雙語)》2023-2024學(xué)年第一學(xué)期期末試卷
- 中央財(cái)經(jīng)大學(xué)《工程建筑制圖》2023-2024學(xué)年第一學(xué)期期末試卷
- 小學(xué)德育工作的管理制度
- 大學(xué)生職業(yè)生涯規(guī)劃-自我認(rèn)知-課件
- 硬件研發(fā)產(chǎn)品規(guī)格書mbox103gs
- 直升機(jī)結(jié)構(gòu)與系統(tǒng)版
- 青春期教育-女生版青春期性教育-青春期性教育自慰課件
- 新生兒疾病診療規(guī)范診療指南診療常規(guī)2022版
- 兒科學(xué) 新生兒顱內(nèi)出血
- YY/T 0065-2016眼科儀器裂隙燈顯微鏡
- 喜報(bào)可編輯11張
- 食管癌護(hù)理查房20352
- 餐飲服務(wù)投標(biāo)文件
- 城投公司的債務(wù)風(fēng)險(xiǎn)及化解方式
評論
0/150
提交評論