




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年廣東省韶關(guān)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________一、單選題(20題)1.有以下程序:#includeMain(){Intx=1,y=0;if(!x)y++;elseif(x==0)if(x)y+=2;Elsey+=3;print("%d\n",y);}程序運(yùn)行后的輸出結(jié)果是()。A.2B.1C.0D.3
2.以下選項(xiàng)中表示一個(gè)合法的常量是(說(shuō)明:符號(hào)口表示空格)()。
A.9口9口9B.0XabC.123E0.2D.2.7e
3.當(dāng)接受用戶輸入的含有空格的字符串時(shí),應(yīng)使用()函數(shù)。
A.gets()B.getchar()C.scanf()D.printf()
4.下列敘述中錯(cuò)誤的是()。
A.C程序可以由多個(gè)程序文件組成
B.—個(gè)C語(yǔ)言程序只能實(shí)現(xiàn)一種算法
C.C程序可以由一個(gè)或多個(gè)函數(shù)組成
D.—個(gè)C語(yǔ)言函數(shù)可以單獨(dú)作為一個(gè)C語(yǔ)言程序文件存在
5.以下敘述中錯(cuò)誤的是()。
A.將函數(shù)內(nèi)的局部變量說(shuō)明為static存儲(chǔ)類是為了限制其他編譯單位的引用
B.—個(gè)變量作用域的開始位置完全取決于變量定義語(yǔ)句的位置
C.全局變量可以在函數(shù)以外的任何部位進(jìn)行定義
D.局部變量的“生存期”只限于本次函數(shù)調(diào)用,因此不能將局部變量的運(yùn)算結(jié)果保存至下一次調(diào)用
6.有以下程序:#include<stdio,h>main(){charc1='1',c2='2';c1=getchar();c2=getchar();putchar(c1);putchar(c2);}當(dāng)運(yùn)行時(shí)輸入:a<回車>后,以下敘述正確的是()。
A.變量c1被賦予字符a,c2被賦予回車符
B.程序?qū)⒌却脩糨斎氲诙€(gè)字符
C.變量c1被賦予字符a,c2中仍是原有字符2
D.變量c1被賦予字符a,c2中將無(wú)確定值
7.若有定義:“inta,b;”,通過(guò)語(yǔ)句“scan[("%d;%d".,&a,&b);”,能把整數(shù)3賦給變量a,5賦給變量b的輸入數(shù)據(jù)是()。
A.35B.3,5C.3;5D.35
8.以下敘述中錯(cuò)誤的是()。
A.C語(yǔ)言程序在運(yùn)行過(guò)程中的所有計(jì)算都以二進(jìn)制方式進(jìn)行
B.C語(yǔ)言程序在運(yùn)行過(guò)程中的所有計(jì)算都以十進(jìn)制方式進(jìn)行
C.所有C語(yǔ)言程序都需要編譯、鏈接無(wú)誤后才能運(yùn)行
D.C語(yǔ)言程序中字符變量存放的是字符的ASCII值
9.
10.以下不合法的字符常量是()。
A.‘\\’B.‘\”’C.‘\018’D.‘\xcc’
11.有以下程序:#include<stdio.h>voidfunc(intn){staticintnum=1);num=num+n;printf("%d",num);}main(){funo(3);func(4);printf("n");}程序運(yùn)行后的輸出結(jié)果是()。A.48B.34C.35D.45
12.有以下程序
#include<stdio.h>
main()
{structnode{intn;structnode*next;}*p;
structnodex[3]={{2,x+1},{4,x+2},{6,NULL}};
p=x:
printf("%d,",p->n);
printf("%d\n",P->next->n);
}
程序運(yùn)行后的輸出結(jié)果是A.A.2,3B.2,4C.3,4D.4,6
13.有以下程序:Voidf(inta[],ihti,intj){intt;if(i<j){t=a[i];a[i]=a[j];a[j]=t;f(a,i+1,i-1);}}main(){inti,aa[5]={1,2,3,4,5};f(aa,0,4);for(i=0;i<5;i++)printf("%d",aa[i]);printf("\n");}執(zhí)行后輸出結(jié)果是
A.5,4,3,2,1,B.5,2,3,4,1,C.1,2,3,4,5,D.1,5,4,3,2,
14.在圖采用鄰接表存儲(chǔ)時(shí),求最小生成樹的Prim算法的時(shí)間復(fù)雜度為()。
A.O(n)B.O(n+e)C.O(n2)D.O(n3)
15.有以下程序:main(){chara[]="abcdefg",b[10]="abcdefg";printf("%d%d\n",sizeof(a),sizeof(b));}執(zhí)行后輸出結(jié)果是()。
A.77B.88C.810D.1010
16.設(shè)有定義“doublea;chard;floatb;”,若想把1.2賦給變量a、字符‘k’賦給變量d、3.4賦給變量b,程序運(yùn)行時(shí)通過(guò)鍵盤輸入1.2k3.4并按<Enter>鍵,則以下正確的讀入語(yǔ)句是()。A.scanf(“%lf%c%f”,&a,&d,&b);
B.scanf(“%lf%c%f”,&a,&d,&b);
C.scanf(“%f%c%f”,&a,&d,&b);
D.scanf(“%f%c%f”,&a,&d,&b);
17.設(shè)有兩個(gè)串p和q,其中q是p的子串,求q在p中首次出現(xiàn)的位置的算法稱為()。
A.求子串B.聯(lián)接C.匹配D.求串長(zhǎng)
18.若有定義intx=3,y=2和floata=2.5,b=3.5,則表達(dá)式:(x+y)%2+(int)a/(int)b的值是()。
A.0B.2C.1.5D.1
19.給出以下定義:charx[]="abcdefg";chary[]={'a','b','c','d','e','f','g'};則正確的敘述為()。
A.數(shù)組x和數(shù)組y等價(jià)B.數(shù)組x和數(shù)組y的長(zhǎng)度相同C.數(shù)組x的長(zhǎng)度大于數(shù)組y的長(zhǎng)度D.數(shù)組x的長(zhǎng)度小于數(shù)組y的長(zhǎng)度
20.以下程序的輸出結(jié)果是()。main{intx=0.5;charz=‘a(chǎn)’;printf(“d\n”,(x&1)&&(z<‘z’));}A.0B.1C.2D.3
二、2.填空題(20題)21.請(qǐng)?jiān)谝韵鲁绦虻谝恍械南聞澗€處填寫適當(dāng)內(nèi)容,使程序能正確運(yùn)行。
【】(double,double);
main()
{doublex,y;
scanf("%1f%1f",&x,&y);
printf("%1f\n",max(x,y));
}
doublemax(doublea,doubleB)
{return(a>b?a:b);}
22.子程序通常分為兩類:【】和函數(shù),前者是命令的抽象,后者是為了求值。
23.已有定義如下:
structnode
{intdata;
structnode*next;
}*p;
以下語(yǔ)句調(diào)用malloc函數(shù),使指針p指向一個(gè)具有structnode類型的動(dòng)態(tài)存儲(chǔ)空間。請(qǐng)?zhí)羁铡?/p>
p=(structnode*)malloc(【】);
24.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intx=0210;
printf("%X\n",x);
}
25.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
26.如下圖所示的二叉樹后序遍歷序列是【】。
27.若有如下定義,則該數(shù)組的第一維大小為【】。
intb[][4]={1,2,3,4,5,6,7,8,9}
28.常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC),也稱程序結(jié)構(gòu)圖。其中,用矩形表示______,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。
29.程序測(cè)試分為靜態(tài)分析和動(dòng)態(tài)測(cè)試。其中【】是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢查,通過(guò)閱讀和討論,分析和發(fā)現(xiàn)程序中的錯(cuò)誤。
30.黑盒測(cè)試是從【】觀點(diǎn)的測(cè)試。
31.下列程序的功能是將字符串s中所有的字符c刪除。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{chars[80];
inti,j;
gets(s);
for(i=j=0;s[i]!='\0';i++)
if(s[i]!='c')______;
s[j]='\O';
puts(s);
}
32.在面向?qū)ο蟮姆椒ㄖ?,______描述的是具有相似屬性與操作的一組對(duì)象。
33.下面程序執(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);
}
34.請(qǐng)讀程序片段:
inta=17;
printf("%d,%o\n",a,a);
以上程序片段的輸出結(jié)果是【】。
35.若有定義doublea[5];,則a數(shù)組元素下標(biāo)的上限為______。
36.樹中度為零的結(jié)點(diǎn)稱為______。
37.執(zhí)行下面程序段后,k的值是【】。
r=1;n=203;k=1
do}k*=n%10*r;n/=10;r++;}while(n);
38.不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)的是()。
39.觀察題目要求,可以知道以下幾點(diǎn):}
40.當(dāng)運(yùn)行以下程序時(shí),輸入abcd,程序的輸出結(jié)果是:()。
insert(charstr[])
{inti;
i=strlen(str);
while(i>0)
{str[2*i]=str[i];str[2*i-1]='*';i--;}
printf("%s\n",str);
}
main()
{charstr[40];
scanf("%s",str);insert(str);
}
三、1.選擇題(20題)41.以下程序的輸出結(jié)果是______。intx=1;fun(intp){intx=4;x+=p++;printf("%d",x);}main(){inta=3;fun(a);x+=a++;printf("%d\n",x);}
A.84B.45C.74D.95
42.以下程序運(yùn)行后的輸出結(jié)果是______。main(){intx=0210;printf("%x\n",x);}
A.88B.86C.77D.21
43.在軟件設(shè)計(jì)中,不屬于過(guò)程設(shè)計(jì)工具的是()。
A.PDL(過(guò)程設(shè)計(jì)語(yǔ)言)B.PAD圖C.N-S圖D.DFD圖
44.有以下程序:main(){intk=4,n=0;for(;n<k;){n++;if(n%3!=O)continue;k--;}printf("%d,%d\n",k,n);}程序運(yùn)行后的輸出結(jié)果是()。
A.1,1B.2,2C.3,3D.4,4
45.下列程序段的運(yùn)行結(jié)果是()。#include<stdio.h>voidmain(){charstr[]="ABC",*p=str;printf("%d\n",*(p+3));}
A.67B.0C.字符'C'的地址D.字符'C'
46.以下不屬于對(duì)象的基本特點(diǎn)的是()
A.分類性B.多態(tài)性C.繼承性D.封裝性
47.在微機(jī)中,微處理器的主要功能是()
A.算術(shù)邏輯運(yùn)算B.算術(shù)運(yùn)算C.存儲(chǔ)程序和數(shù)據(jù)D.算術(shù)邏輯運(yùn)算及全機(jī)的控制
48.以下程序
intf(intn)
{if(n==1)return1;
elsereturnf(n-1)+1;}
main()
{inti,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n",j);}
程序運(yùn)行后的輸出結(jié)果是
A.4B.3C.2D.1
49.下列程序執(zhí)行后的輸出結(jié)果是voidfunc(int*a,intb[]){b[0]=*a+6;}main(){inta,b[5];a=0;b[0]=3;func(&a,b);printf("%d\n",b[0]);}
A.6B.7C.8D.9
50.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){printf("%d\n",NULL);}
A.不確定(因變量無(wú)定義)B.0C.-1D.1
51.下面程序的運(yùn)行結(jié)果是
#include<stdio.h>
main()
{staticchara[]="Languagef",b[]="programe";
char*p1,*p2;intk;
p1=a;p2=b;
for(k=0;k<=7;k++)
if(*(p1+k)==*(p2+k))printf("%c",*(p1+k));}
A.gaeB.gaC.LanguageD.有語(yǔ)法錯(cuò)
52.下面函數(shù)調(diào)用語(yǔ)句含有實(shí)參的個(gè)數(shù)為func((exp1,exp2),(exp3,exp4,exp5));
A.1B.2C.4D.5
53.在下列選項(xiàng)中,沒有構(gòu)成死循環(huán)的程序段是_____。
A.inti=100;while(1){i=i%100+1;if(i>100)break;}
B.for(;;);
C.intk=1000;do{++k;}while(k>=1000);
D.ints=36:while(s);--s;
54.在數(shù)據(jù)庫(kù)技術(shù)中,面向?qū)ο髷?shù)據(jù)模型是一種______。
A.概念模型B.結(jié)構(gòu)模型C.物理模型D.形象模型
55.以下函數(shù)值的類型是_______。fun(floatx){floaty;y=3*x-4;returny;}
A.intB.不確定C.voidD.float
56.下列敘述中錯(cuò)誤的是()。
A.在C語(yǔ)言中的保留字必須小寫
B.變量的存儲(chǔ)類型決定了變量的存儲(chǔ)位置及其生存期
C.宏定義以#define開頭,行未必須加分號(hào)
D.在C語(yǔ)言中的注釋行可以出現(xiàn)在程序的任何位置
57.下面是對(duì)宏定義的描述,不正確的是______。
A.宏不存在類型問題,宏名無(wú)類型,它的參數(shù)也無(wú)類型
B.宏替換不占用運(yùn)行時(shí)間
C.宏替換時(shí)先求出實(shí)參表達(dá)式的值,然后代入形參運(yùn)算求值
D.宏替換只不過(guò)是字符替代而已
58.下面語(yǔ)句的輸出結(jié)果是______。printf("%d\n",strlen("\t\"065\xff\n"));
A.14B.8C.5D.輸出項(xiàng)不合法,無(wú)正常輸出
59.下列程序執(zhí)行后的輸出結(jié)果是______。main(){chararr[2][4];atrcpy(arr,"you");strcpy(arr[1],"me");art[0][3]='&';printf("%s\n",arr);}
A.you&meB.youC.meD.err
60.有以下程序prt(int*m,intn){inti;for(i=0;i<n;i++)m[i]++;}main(){inta[]={1,2,3,4,5},i;prt{a,5);for[i=0;i<5;i++)printf("%d",a[i]);}程序運(yùn)行后輸出結(jié)果是
A.1,2,3,4,5,B.2,3,4,5,6,C.3,4,5,6,7,D.2,3,4,5,1
四、選擇題(20題)61.已知大寫字母A的ASCIl碼的值是65,小寫字母a的ASCIl碼的值是97,以下不能將變量。中的大寫字母轉(zhuǎn)換為對(duì)應(yīng)小寫字母的語(yǔ)句是()。
A.
B.
C.
D.
62.有下列程序:
fun(intx,inty)
{staticintm=0,i=2;
i+=++rn;m=ixy;returnm;
}
main
{intj=l,m=1,k;
k=fun(j,m);printf("%d,",k);
k=fun(j.m);printf(”%d\n”,k);
}
執(zhí)行后的輸出結(jié)果是()。
A.5.5B.5,11C.11,11D.11,5
63.若有以下程序
#include<stdio.h>
inta[]={2,4,6,8};
main()
{inti;
int*p=a;
for(i=0;i<4;i++)a[i]=*p;
printf("%d\n",a[2]);
}
上面程序的輸出結(jié)果是
A.6B.8
C.4D.2
64.已知大寫:字母A的ASCIl碼是65,小寫字母a的ASCIl碼是97。以下不能將變量c中的大寫字母轉(zhuǎn)換為對(duì)應(yīng)小寫字母的語(yǔ)句是()。
65.若有定義語(yǔ)句:
66.
若變量已正確定義,有以下程序段
i—o;
doprintf("%d,",i);while(i++);
printf("%d",i)
其輸出結(jié)果是()。
A.0,0B.0,1C.1,1D.程序進(jìn)入無(wú)限循環(huán)
67.在軟件設(shè)計(jì)中不使用的工具是()。A.系統(tǒng)結(jié)構(gòu)圖B.PAD圖C.數(shù)據(jù)流圖D.程序流程圖
68.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1002,ZhangDa,1202.0
B.1002,ChangRon9,1202.0
C.1001,ChangRon9,1098.0
D.1001,ZhangDa,1098.0
69.若有定義語(yǔ)句:“intx=12,y=8,z;”,在其后執(zhí)行語(yǔ)句“z=0.9+x/y;”,則z的值為()。A.1.9B.1C.2D.2.4
70.
71.
72.若有說(shuō)明:intn=2,*p=&n,*q=p;,則以下非法的賦值語(yǔ)句是()。
A.p=qB.*p=*qC.n=*qD.p=*n
73.下列定義變量的語(yǔ)句中錯(cuò)誤的是()。
A.intjnt;B.doubleint_;C.charFor;D.floatUS$;
74.若有以下定義:chara;intb;floatc;doubled;則表達(dá)式a*b+b-c值的類型為()。A.floatB.intC.charD.double
75.
76.以下敘述中正確的是()。
A.預(yù)處理命令行必須位于C源程序的起始位置
B.在C語(yǔ)言中,預(yù)處理命令行都以“#”開頭
C.每個(gè)C程序必須在開頭包含預(yù)處理命令行:#include
D.C語(yǔ)言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能
77.
78.
79.有以下程序:
程序執(zhí)行后變量w中的值是()。
A.5.21B.5C.5.0D.0.0
80.在長(zhǎng)度為n的有序線性表中進(jìn)行二分法查找,最壞情況下需要比較的次數(shù)是()。A.O(n)B.0(n2)C.O(log2n)D.O(nlog2n)
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是:讀入一個(gè)字符串(長(zhǎng)度<20),將該字符串中的所有字符按ASCII碼升序排序后輸出。
例如,輸入opdye,則應(yīng)輸出deopy。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include<string.h>
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
//****found****
intproc(charstr[])
{
charc;
unsignedi,j;
for(i=0;i<strlen(str)-1;i++)
for(j=i+1;j<strlen(str);j++)
if(str[i]>str[j])
{
c=str[j]:
//****found****
str[j]=str[i++];
str[i]=c;
}
}
voidmain
{
charstr[81];
system("CLS");
printf("\nPleaseenteracharacter
string:");
gets(str);
printf("\n\nBeforesorting:\n%s",str);
proc(str);
printf("\nAftersortingdecendingly:\n
%s",str);
}
六、程序設(shè)計(jì)題(1題)82.有N個(gè)學(xué)生,每個(gè)學(xué)生的信息包括學(xué)號(hào)、性別、姓名、四門課的成績(jī),從鍵盤上輸入N個(gè)學(xué)生的信息,要求輸出總平均成績(jī)最高的學(xué)生信息,包括學(xué)號(hào)、性別、姓名和平均成績(jī)。
參考答案
1.C在ifelse語(yǔ)句中else,總是與離它最近的配對(duì)。本題目中x勸1所以!x為0,所以執(zhí)行else齬句中的內(nèi)容,判斷(x==0)是否成立,因?yàn)閤為1所以條件不成立,所以else部分的近.else語(yǔ)句不再執(zhí)行,所以y的值還是初始值0。
2.B當(dāng)用指數(shù)形式表示浮點(diǎn)數(shù)據(jù)時(shí),E的前后都要有數(shù)據(jù),并且E的后面數(shù)要為整數(shù)。
3.A
4.B在一個(gè)C語(yǔ)言程序中可以實(shí)現(xiàn)多種算法,所以B選項(xiàng)錯(cuò)誤。故本題答案為B選項(xiàng)。
5.A將函數(shù)內(nèi)的局部變量說(shuō)明為static存儲(chǔ)類,第1次調(diào)用該函數(shù)時(shí)才對(duì)其初始化,后續(xù)調(diào)用時(shí)使用上一次調(diào)用結(jié)束后的值;函數(shù)體內(nèi)的局部變量無(wú)論是否聲明為stat\x1fic,外部編譯單位都不能引用,選項(xiàng)A錯(cuò)誤,其他選項(xiàng)正確。本題答案為A選項(xiàng)。
6.A解析:函數(shù)getchar()的作用是從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入一個(gè)字符,且只能接受一個(gè)字符(回車符也是一個(gè)字符)。故本題中變量c1被賦予字符a,c2被賦予回車符。
7.C\n在輸入時(shí)必須遵守scanf函數(shù)中的格式才能正確地賦值給相應(yīng)的變量,由于scanf函數(shù)為“%d;%d”,所以在輸入時(shí)要輸入3;5,答案為C。
\n
8.BC語(yǔ)言程序在運(yùn)行過(guò)程中的所有計(jì)算都以二進(jìn)制方式進(jìn)行,所以B選項(xiàng)錯(cuò)誤。故本題答案為B選項(xiàng)。
9.A
10.C轉(zhuǎn)義字符中,八進(jìn)制的表示形式為\\ddd,但是八進(jìn)制中不能包含數(shù)字8,所以C選項(xiàng)不合法。故本題答案為C選項(xiàng)。
11.A第一調(diào)用func函數(shù)時(shí)輸出4,第二次調(diào)用func函數(shù)時(shí)num的值并不會(huì)釋放,仍然是上次修改后的值4,第二次調(diào)用結(jié)果為8,所以輸出結(jié)果是48。
12.B解析:p指向x的第一個(gè)元素,所以p->n的值為2,p->next指向x+1,即指向x的第二個(gè)元素,所以p->next->n為4。
13.A解析:在C語(yǔ)言中所謂函數(shù)的遞歸是在指在調(diào)用一個(gè)函數(shù)的過(guò)程中,又出現(xiàn)了直接或間接地調(diào)用該函數(shù)本身,直接調(diào)用該函數(shù)本身的稱為函數(shù)遞歸,而間接調(diào)用該函數(shù)稱為函數(shù)的間接遞歸調(diào)用.由程序可以看出函數(shù)f(a,i,j)為一遞歸函數(shù),其功能是i
14.B
15.C解析:本題考核的知識(shí)點(diǎn)是字符數(shù)組的定義、賦初值以及函數(shù)sizeof()的應(yīng)用。本題中定義兩個(gè)字符型數(shù)組,其中a省略了長(zhǎng)度,定義了b的長(zhǎng)度為10,并賦初值分別為“abcdefg”和“abcdfg”。所以a的長(zhǎng)度為賦值給它的字符串的字符個(gè)數(shù)7加上一個(gè)結(jié)束轉(zhuǎn)義字符,即a的長(zhǎng)度為7+1為8.定義時(shí)b的長(zhǎng)度定義為10,故b的長(zhǎng)度為10,因此最后通過(guò)函數(shù)sizeof()求得的數(shù)組a和數(shù)組b的長(zhǎng)度分別為8和10,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
16.B變量a是double類型,輸入格式符為%lf;變量d是char類型,輸入格式符為%c;變量b是float類型,輸入格式符為%f,選項(xiàng)C、D錯(cuò)誤。由于輸入的數(shù)據(jù)之間使用空格間隔,因此scanf函數(shù)中的格式控制字符串中,格式字符之間也要使用空格。故本題答案為B選項(xiàng)。
17.C
18.D
19.C解析:在C語(yǔ)言中,字符串以'\\0'作為結(jié)束符,因此數(shù)組x的長(zhǎng)度為7+1=8,而數(shù)組y的長(zhǎng)度等于7。
20.B(x&1)&&(z<‘z’)=(0.5&1)&&(‘a(chǎn)’<‘z’)=1&&1=1,故選擇B選項(xiàng)。
21.doublemax或externdoublemaxdoublemax或externdoublemax解析:本題中main()函數(shù)需要調(diào)用max()函數(shù),在main()之前就需要聲明函數(shù)max(),并且可以用extern說(shuō)明符使變量的作用域擴(kuò)充到需要用到它的函數(shù),所以,填寫doublemax(或externdoublemax)。
22.過(guò)程過(guò)程
23.sizeof(structnode)或4sizeof(structnode)或4解析:malloc(sizeof(struetnode))的作用是開辟一個(gè)長(zhǎng)度為sizeof(struetnode)的內(nèi)存區(qū)。(structnode*)的作用是使malloc返回的指針轉(zhuǎn)換為指向structnode類型數(shù)據(jù)的指針。
24.8888解析:C語(yǔ)言規(guī)定,以0開頭的整型常量為八進(jìn)制。另外,在primf()函數(shù)中,%X表示以十六進(jìn)制無(wú)符號(hào)形式輸出一個(gè)整數(shù),且十六進(jìn)制中的ABCDEF為大寫字母。本題的輸出應(yīng)該是八進(jìn)制210的十六進(jìn)制形式。將八進(jìn)制轉(zhuǎn)換為十六進(jìn)制,可以先將其轉(zhuǎn)換為二進(jìn)制。因?yàn)?位八進(jìn)制表示3位二進(jìn)制,4位二進(jìn)制表示1位十六進(jìn)制。(210)8=(10001000)2=(88)16,故本題輸出為880
25.概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)
26.GDBHIEFCAGDBHIEFCA解析:后序遍歷二叉樹的順序?yàn)椋汉笮虮闅v左子樹→后序遍歷右子樹→訪問根結(jié)點(diǎn)。按照定義,后序遍歷序列是GDBHIEFCA。
27.3
28.模塊模塊解析:矩形表示的是模塊,箭頭表示的是模塊間的調(diào)用關(guān)系。用帶實(shí)心圓的箭頭表示傳遞的是控制信息,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。
29.靜態(tài)分析靜態(tài)分析解析:程序測(cè)試分為靜態(tài)分析和動(dòng)態(tài)測(cè)試。其中,靜態(tài)分析是指不執(zhí)行程序,而只是對(duì)程序文本進(jìn)行檢查,通過(guò)閱讀和討論,分析和發(fā)現(xiàn)程序中的錯(cuò)誤。
30.用戶用戶解析:黑盒測(cè)試又稱為功能測(cè)試,黑盒測(cè)試是把程序看作一個(gè)黑盒子,完全不考慮程序內(nèi)部的結(jié)構(gòu)和處理過(guò)程。測(cè)試者只考慮該程序輸入和輸出的關(guān)系,或只考慮程序的功能。黑盒測(cè)試是一種從用戶觀點(diǎn)出發(fā)的測(cè)試。
31.s[j++]=s[i]s[j++]=s[i]解析:循環(huán)開始后如果數(shù)組s中儲(chǔ)存值與字符c相同,則i++直接跳過(guò)當(dāng)前值;如果不相同,則將當(dāng)前值賦予數(shù)組指定位置,并通過(guò)j++將下標(biāo)加1,指向下一元素要存儲(chǔ)的位置。
32.類類解析:在面向?qū)ο蟮姆椒ㄖ?,把具有相同屬性和方法的?duì)象稱為類,類是對(duì)象的抽象,對(duì)象是類的實(shí)例。
33.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。
34.1721
35.44解析:一維數(shù)組元素的定義形式為:數(shù)組名[N],則該數(shù)組中元素的下限是0,上限是N-1。
36.葉子結(jié)點(diǎn)葉子結(jié)點(diǎn)解析:樹中度為零的結(jié)點(diǎn),也就是沒有后件的結(jié)點(diǎn),稱為葉子結(jié)點(diǎn)。
37.00解析:本題考查的是do…while循環(huán)。第一次執(zhí)行循環(huán)體,因?yàn)閗=1,r=1,n=20;所以k=1*20%10*1=0,n=20/10=2,r=2;第二次執(zhí)行循環(huán)體,k=0*2%10*2=0,n=10/10=1,r=3;第三次執(zhí)行循環(huán)體,k=0*1%10*3=0,n=1/10=0,r=4。所以k的值為0。
38.選擇選擇解析:關(guān)系數(shù)據(jù)庫(kù)的專門關(guān)系運(yùn)算包括選擇、投影和連接3種,其中選擇不改變關(guān)系表中的屬性個(gè)數(shù)但能減少元組個(gè)數(shù)。
39.p=i;i>=pi<=Np=i;\r\ni>=p\r\ni<=N解析:本題主要考查了插入排序。由于程序中的數(shù)組在開始已經(jīng)按從小到的大順序排好。在插入時(shí),首先要查到第一個(gè)大于待插入數(shù)的數(shù)組下標(biāo),即當(dāng)待插入元素小于數(shù)組中當(dāng)前元素時(shí),記下數(shù)組的當(dāng)前下標(biāo)p,并結(jié)束循環(huán)。故第一空目的是為了記下數(shù)組下標(biāo),應(yīng)填p=i;插入的第二部是將大于待插入元素的所有元素都向后移動(dòng)一位,故在循環(huán)時(shí),要從最后一個(gè)元素到第p個(gè)元素都要后移一位,因此第二空應(yīng)填i>=p。最后一個(gè)循環(huán)是將N+1個(gè)元素都輸出,故最后一空應(yīng)為i<=N。(注:本題有多種答案,以上僅提供一種)
40.a*b*c*d*a*b*c*d*解析:字符處理函數(shù)strlen()測(cè)試字符串常量的長(zhǎng)度,不包括‘\\0’在內(nèi)。因此,函數(shù)insert()實(shí)現(xiàn)了將字符數(shù)組中每個(gè)非‘\\0’的字符后插入字符‘*’的功能。故輸出結(jié)果是a*b*c*d*。
41.C解析:本題考查局部變量和全局變量的關(guān)系。在調(diào)用fun函數(shù)時(shí),形參p值為3(實(shí)參a傳遞的),在x+=p++中,x是局部變量(局部?jī)?yōu)先),x和p的和7放在變量x中,p再自加變?yōu)?,顯示輸出x的值7;主函數(shù)中的x是全局變量,值為1,x和a的和4放在變量x中,a再自加變?yōu)?,顯示輸出x的值4。
42.A解析:x以0開頭是以八進(jìn)制的形式賦值的,輸出時(shí)要輸出其對(duì)應(yīng)的十六進(jìn)制。0210對(duì)應(yīng)的十六進(jìn)制是88。
43.D解析:PDL一種設(shè)計(jì)性語(yǔ)言,用于書寫軟件設(shè)計(jì)規(guī)約。它是軟件設(shè)計(jì)中廣泛使用的語(yǔ)言之一。N-S圖是無(wú)線的流程圖,是算法描述工具;PAD圖是問題分析圖,它用二維樹狀結(jié)構(gòu)的圖表示程序的控制流,將這種圖轉(zhuǎn)換為程序代碼比較容易。此3類均是過(guò)程設(shè)計(jì)工具,數(shù)據(jù)流圖(DataFunctionDiagram):又名數(shù)據(jù)功能圖表,簡(jiǎn)稱DFD,是采用圖形方式來(lái)表達(dá)系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過(guò)程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達(dá)工具及用于表示軟件模型的一種圖示方法。
44.C解析:在本程序的for循環(huán)中,用到了一個(gè)continue語(yǔ)句,continue語(yǔ)句的作用是停止本次循環(huán),不執(zhí)行循環(huán)體內(nèi)continue語(yǔ)句后面的其他語(yǔ)句,繼續(xù)下次循環(huán)的條件判斷。首先在for循環(huán)中n自加1(值變?yōu)?),然后執(zhí)行后面的if語(yǔ)句,由于if語(yǔ)句后面括號(hào)的表達(dá)式1%3!=0的值為真,程序執(zhí)行continue語(yǔ)句,回到for循環(huán)的開始部分,并且判斷for循環(huán)中的條件表達(dá)式(n<k)為真,重復(fù)執(zhí)行“n++;”語(yǔ)句,如此循環(huán)直到n=3時(shí),if語(yǔ)句判定條件中表達(dá)式3%3!=0的值為假,程序執(zhí)行if語(yǔ)句后面的“k--;”語(yǔ)句,此時(shí)k的值為3,不滿足n<k,退出for循環(huán)。故最后的k和n的值為3和3,選項(xiàng)C符合題意。
45.B解析:先定義了一個(gè)指向字符型數(shù)組str的指針p,指針p旨向數(shù)組str的首地址,p+3將指針指向str[3],又因?yàn)樽址蛿?shù)組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上'\\0',所以*(p+3)=0。
46.C解析:對(duì)象的基本特點(diǎn)包括;標(biāo)識(shí)惟一性、分類性、多態(tài)性、封裝性和獨(dú)立性等。繼承性不屬于對(duì)象的基本特點(diǎn)。
47.D
48.B解析:在main函數(shù)中,對(duì)f(1)和f(2)的值進(jìn)行了累加。
f(1)=1
f(2)=f(1)+1=2
最后,j的值為1+2=3
49.A解析:函數(shù)的參數(shù)不僅可以是整型、實(shí)型、字符型等數(shù)據(jù),還可以是指針型。它的作用是將一個(gè)變量的地址傳遞到另一個(gè)函數(shù)中。當(dāng)數(shù)組名作參數(shù)時(shí),如果形參數(shù)組中的各元素的值發(fā)生變化,實(shí)參數(shù)組元素的值也將隨之發(fā)生變化。
50.B
51.A解析:考查用指針來(lái)引用字符數(shù)組元素的方法。指針p1+k相當(dāng)于指針p1向后移動(dòng)了k個(gè)字符的位置,指針p2同理。
52.B解析:函數(shù)調(diào)用的一般形式為:函數(shù)名(形參表)若函數(shù)無(wú)形參,調(diào)用形式為:函數(shù)名(),當(dāng)所調(diào)用的函數(shù)用于求出某個(gè)值時(shí),函數(shù)的調(diào)用可作為表達(dá)式出現(xiàn)在允許表達(dá)式出現(xiàn)的任何地方,本題中調(diào)用語(yǔ)句的參數(shù)個(gè)數(shù)為2個(gè)。
53.C
54.B解析:數(shù)據(jù)模型可以劃分為兩類:概念模型和數(shù)據(jù)模型。概念模型,也稱信息模型,它是按用戶的觀點(diǎn)來(lái)對(duì)數(shù)據(jù)和信息建模,主要用于數(shù)據(jù)庫(kù)設(shè)計(jì)。數(shù)據(jù)模型,也稱結(jié)構(gòu)模型,主要包括網(wǎng)狀模型、層次模型、關(guān)系模型、面向?qū)ο髷?shù)據(jù)模型等,它是按計(jì)算機(jī)系統(tǒng)的觀點(diǎn)對(duì)數(shù)據(jù)建模,主要用于DBMS的實(shí)現(xiàn)。
55.A解析:函數(shù)定義時(shí)如果數(shù)據(jù)類型默認(rèn),則默認(rèn)為int。函數(shù)中如果有“retum(表達(dá)式):”語(yǔ)句,表達(dá)式的類型可能與函數(shù)的類型不一致,但它并不能改變函數(shù)的類型,實(shí)際情況是把表達(dá)式轉(zhuǎn)換為函數(shù)值的類型作為返回值,因此本題的函數(shù)值類型是int。
56.C解析:本題涉及C語(yǔ)言最基本的4個(gè)知識(shí)點(diǎn):①C語(yǔ)言的保留字必須小寫;②變量的存儲(chǔ)類型不同,其存儲(chǔ)位置和生存期也不一樣;③C語(yǔ)言允許其注釋部分出現(xiàn)在程序中的任何位置;④宏定義以#define開頭,行末不需要加分號(hào)。
57.C解析:宏替換實(shí)質(zhì)上就是字符替代,它不可能進(jìn)行計(jì)算,故C錯(cuò)誤。帶參數(shù)的宏與函數(shù)相比,宏在程序編譯之前已經(jīng)將代碼替換到程序內(nèi),執(zhí)行時(shí)不會(huì)產(chǎn)生類似于函數(shù)調(diào)用的問題,可以說(shuō)不占用運(yùn)行時(shí)間。
58.C解析:在C語(yǔ)言中,以“\\”開頭的字符均為轉(zhuǎn)義字符,其中“\\”后可跟1~3位八進(jìn)制數(shù)或在“\\”后跟字母x及1~2位十六進(jìn)制數(shù),以此來(lái)代表一個(gè)特定的字符。
59.A
60.B解析:本題考查的是數(shù)組名作函數(shù)的參數(shù)。數(shù)組名實(shí)際上是一個(gè)指向該數(shù)組首地址的指針常量,所以數(shù)組名作函數(shù)的參數(shù)和用同類型的指針作參數(shù)沒有區(qū)別.題目首先定義了一個(gè)函數(shù),該函數(shù)通過(guò)一個(gè)for循環(huán)將指針m到m+n-1所指內(nèi)存中的數(shù)據(jù)自增1,所以主函數(shù)中執(zhí)行了prt(a,5);語(yǔ)句后,數(shù)組a中的所有元素被自增1。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
61.D無(wú)論大小寫,字母問的間隔都相等,所以
62.B
\n變量m和i聲明為局部靜態(tài)變量,因此第1次調(diào)用fun函數(shù)后,局部靜態(tài)變量m和i的值為5和3,第l次調(diào)用結(jié)束時(shí),它們的值不變,第2次調(diào)用時(shí),m和i的初始值分別為5和3,在執(zhí)行“i+=m+1”后,i的值為9,因此,最終m的值為11。
63.D本題中,程序開始定義了一個(gè)全局?jǐn)?shù)組a,并對(duì)這個(gè)數(shù)組進(jìn)行賦初值。在主函數(shù)中,定義一個(gè)整型變量i和一個(gè)整型指針變量p,并使指針變量p指向全局?jǐn)?shù)組a的首地址。然后執(zhí)行for循環(huán),循環(huán)變量i的初值為0,循環(huán)結(jié)束條件為變量i的值大于等于4,循環(huán)變量i的值每循環(huán)一次自加1,通過(guò)這些分析我們知道,循環(huán)執(zhí)行了4次結(jié)束。
第一次循環(huán)時(shí),由于*p表示數(shù)組的第一個(gè)元素值2,那么執(zhí)行a[i]=*p;語(yǔ)句,即將數(shù)組的第一個(gè)元素變?yōu)?;第二次循環(huán)時(shí),由于i為1,即將數(shù)組的第二個(gè)元素變?yōu)?,同理,第三次與第四次循環(huán)分別將數(shù)組的第三和第四個(gè)元素值變?yōu)?。
循環(huán)結(jié)束,程序執(zhí)行輸出語(yǔ)句,這時(shí)數(shù)組中所有元素的值都為2。因此,程序最后的輸出結(jié)果是2。
64.A大寫字母轉(zhuǎn)換為對(duì)應(yīng)小寫字母,即加上32,A)選項(xiàng)不是累加32,所以選擇A)
65.A++優(yōu)先級(jí)高于*,*p++值為year下一個(gè)變量的值(如果有的話),不能滿足題意,所以選擇A)
66.B
\n本題中,變量i的初始值等于0,執(zhí)行循環(huán)體中的語(yǔ)句后,輸出i的值為0。while后面括號(hào)中表達(dá)式i++的值為0,循環(huán)結(jié)束。此時(shí)變量i自加1,所以再次“1”。
\n
67.C系統(tǒng)結(jié)構(gòu)圖是對(duì)軟件系統(tǒng)結(jié)構(gòu)的總體設(shè)計(jì)的圖形顯示。在需求分析階段。已經(jīng)從系統(tǒng)開發(fā)的角度出發(fā),把系統(tǒng)按功能逐次分割成層次結(jié)構(gòu),是在概要設(shè)計(jì)階段用到的。PAD圖是在詳細(xì)設(shè)計(jì)階段用到的。程序流程圖是對(duì)程序流程的圖形表示,在詳細(xì)設(shè)計(jì)過(guò)程中用到。數(shù)據(jù)流圖(DFD圖)是結(jié)構(gòu)化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動(dòng)和處理的過(guò)程,由于它只反映系統(tǒng)必須完成的邏輯功能,因此它是一種功能模型,是在可行性研究階段用到的而非軟件設(shè)計(jì)時(shí)用到,所以本題答案為C)。
68.D本題考查結(jié)構(gòu)體的相關(guān)操作以及傳值、傳址的區(qū)別,該題中調(diào)用f函
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 通過(guò)游戲促進(jìn)幼兒認(rèn)知發(fā)展計(jì)劃
- 團(tuán)隊(duì)文化塑造的重要性計(jì)劃
- 學(xué)校社團(tuán)工作計(jì)劃鼓勵(lì)學(xué)生寫詩(shī)
- 2025年羧甲淀粉鈉項(xiàng)目合作計(jì)劃書
- 七年級(jí)下冊(cè)《一元一次不等式的應(yīng)用》課件與練習(xí)
- 制冷空調(diào)培訓(xùn)課件
- 強(qiáng)化廢棄物管理推動(dòng)生物降解
- 構(gòu)建系統(tǒng)耦合度控制與優(yōu)化機(jī)制
- 關(guān)于員工培訓(xùn)的會(huì)議紀(jì)要及培訓(xùn)計(jì)劃
- 功能、使用與維護(hù)指南
- 雙溪漂流可行性報(bào)告
- 采購(gòu)流程各部門關(guān)系圖
- 力士樂工程機(jī)械液壓培訓(xùn)資料(共7篇)課件
- 英語(yǔ)單詞詞根
- 問題學(xué)生轉(zhuǎn)化策略課件
- GMP附錄計(jì)算機(jī)化系統(tǒng)整體及條款解讀
- 村光伏發(fā)電申請(qǐng)書
- 腰椎間盤突出癥中醫(yī)特色療法課件
- 施工現(xiàn)場(chǎng)專項(xiàng)消防安全檢查表
- 如何當(dāng)好學(xué)校的中層干部
- 2022-2023學(xué)年廣東省佛山市順德區(qū)高三(下)模擬英語(yǔ)試卷
評(píng)論
0/150
提交評(píng)論