版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年寧夏回族自治區(qū)石嘴山市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.棧和隊(duì)列的共同點(diǎn)是()。
A.都是先進(jìn)后出B.都是先進(jìn)先出C.只允許在端點(diǎn)處插入和刪除元素D.沒(méi)有共同點(diǎn)
2.以下敘述中錯(cuò)誤的是()。
A.C語(yǔ)言的可執(zhí)行程序是由一系列機(jī)器指令構(gòu)成的
B.用C語(yǔ)言編寫的源程序不能直接在計(jì)算機(jī)上運(yùn)行
C.通過(guò)編譯得到的二進(jìn)制目標(biāo)程序需要連接才可以運(yùn)行
D.在沒(méi)有安裝C語(yǔ)言集成開(kāi)發(fā)環(huán)境的機(jī)器上不能運(yùn)行C源程序生成的.exe文件
3.下列定義數(shù)組的語(yǔ)句中,正確的是()。
A.intN=10;intx[N]:
B.#defineNl0;intx[N];
C.intx[0..10];
D.intx[];
4.下列關(guān)于return語(yǔ)句的敘述中正確的是()。
A.—個(gè)自定義函數(shù)中必須有一條return語(yǔ)句
B.—個(gè)自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語(yǔ)句
C.定義成void類型的函數(shù)中可以有帶返回值的return語(yǔ)句
D.沒(méi)有return語(yǔ)句的自定義函數(shù)在執(zhí)行結(jié)束時(shí)不能返回到調(diào)用處
5.
6.有以下程序:#includeMain(){intb[3][3]={0.1,2.0,1,},i,j,t=1;for(i=0;i<3;i++)for(j=i;j<=i;j++)t+=b[i][b[j][i]];printf(“%d\n”,t);程序運(yùn)行后的輸出結(jié)果是()。A.3B.4C.1D.9
7.有以下程序:voidsum(inta[]){a[0]=a[-1]+a[1];}main(){inta[10]={1,2,3,4,5,6,7,8,9,10};sum(&a[2]);printf("%d\n",a[2]);}程序運(yùn)行后的輸出結(jié)果是()。
A.6B.7C.5D.8
8.設(shè)x和y均為bool量,則x&&y為真的條件是()。
A.它們均為真B.其中一個(gè)為真C.它們均為假D.其中一個(gè)
9.與“y=(x>0?1:x<0?-1:0)”;的功能相同的if語(yǔ)句是()。A.A.if(x>0)y=1;elseif(x<0)y=1;else=""y="0;
B."x="">0)y=1;elseif(x<0)y=-l;else=""y="0;"
C.y="-l"x="">O)y=1;elseif(x=-0)y=0;elsey=-l;
D.y=0;if(x>=0)if(x>=0)y=1;elsey=-l;
10.有以下程序#include<stdio.h>voidfun(int*a,intn)/*fun函數(shù)的功能是將a所指數(shù)組元素從大到小排序*/{intt,i,j;for(i=0;i<n-1;j++)for(j=i+l;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main{intc[10]={1,2,3,4,5,6,7,8,9,0),i;fun(c+4,6);for(i=0;i<10;i++)printf("%d,",c[i]);printf("\n");}程序運(yùn)行的結(jié)果是()。A.1,2,3,4,5,6,7,8,9,0,
B.0,9,8,7,6,5,1,2,3,4,
C.0,9,8,7,6,5,4,3,2,1,
D.1,2,3,4,9,8,7,6,5,0,
11.數(shù)據(jù)流圖用于抽象描述一個(gè)軟件的邏輯模型,數(shù)據(jù)流圖由一特定的圖符構(gòu)成。下列圖符名標(biāo)識(shí)的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。
A.控制流B.加工C.數(shù)據(jù)存儲(chǔ)D.源和潭
12.在具有n個(gè)結(jié)點(diǎn)的有序單鏈表中插入一個(gè)新結(jié)點(diǎn)并使鏈表仍然有序的時(shí)間復(fù)雜度是________
A.O(1)B.O(n)C.O(nlogn)D.O(n2)
13.下列程序的輸出結(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
14.對(duì)于循環(huán)隊(duì)列()。
A.無(wú)法判斷隊(duì)列是否為空B.無(wú)法判斷隊(duì)列是否為滿C.隊(duì)列不可能滿D.以上說(shuō)法都不對(duì)
15.有以下程序程序執(zhí)行后的輸出結(jié)果是()
A.60B.50C.45D.55
16.下列對(duì)隊(duì)列的敘述正確的是A.隊(duì)列屬于非線性表B.隊(duì)列按“先進(jìn)后出”原則組織數(shù)據(jù)C.隊(duì)列在隊(duì)尾刪除數(shù)據(jù)D.隊(duì)列按“先進(jìn)先出”原則組織數(shù)據(jù)
17.樹(shù)最適合用來(lái)表示()。
A.有序數(shù)據(jù)元素B.無(wú)序數(shù)據(jù)元素C.元素之間具有分支層次關(guān)系的數(shù)據(jù)D.元素之間無(wú)聯(lián)系的數(shù)據(jù)
18.以下選項(xiàng)中錯(cuò)誤的是()。A.printf(“%s\n”,‘s’);
B.printf“%d%c\n”,‘s’,‘s’);
C.printf(“%c\n”,‘s’-32);
D.printf(“%c\n”,65);
19.
20.一個(gè)C語(yǔ)言程序總是從()開(kāi)始執(zhí)行:
A.主程序B.子程序C.主函數(shù)D.第一個(gè)函數(shù)
二、2.填空題(20題)21.有如圖所示的雙鏈表結(jié)構(gòu),請(qǐng)根據(jù)圖示完成結(jié)構(gòu)體的定義:
structaa
{intdata;
【】}node;
22.下列程序中的數(shù)組a包括10個(gè)整數(shù)元素,分別將前項(xiàng)和后項(xiàng)之和存入數(shù)組b,并按每行4個(gè)元素輸出數(shù)組b。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{inta[10],b[10],i;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++)
______;
for(i=0;i<9;i++)
{if(i%4=0)printf("\n");
printf("%3d",b[i]);
}
}
23.執(zhí)行下面程序后,輸出結(jié)果是【】。
main()
{chars[12]="verygood!";
printf("%d",strlen(s));
}
24.下面程序的輸出是【】。
main()
{inta[]={2,4,6},*ptr=&a[0],x=8,y,z;
for(y=0;y<3;y++)z=(*(ptr+y)<x)?*(prt+y):x;
printf("%d\n",z);
}
25.下列程序的運(yùn)行結(jié)果為【】。
#include<stdio.h>
main()
{staticcharstr1[40];
charstr2140];
strcpy(str2,"China");
strcat(str1,str2);
strcat(str1,"isagreatcountry!");
printf("%s%s",str2,strl);
printf("%d%d\n",strlen(str2),strlen(str1));
}
26.設(shè)變量已正確定義為整型,則表達(dá)式n=i=2,++i,i++的值為【】。
27.以下函數(shù)creat用來(lái)建立一個(gè)帶頭結(jié)點(diǎn)的單向鏈表,新產(chǎn)生的結(jié)點(diǎn)是插在鏈表頭的
末尾。單向鏈表的頭指針作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
structlist
{chardata;
structlist*next;
};
structlist*creat;
{structlist*h,*p,*q;
charch;
h=(【】)malloc(sizeof(structlist));
p=q=h;
ch=getchar();
while(ch!='?')
{p=(【】)mallco(sizeof(structlist));
p->data=ch;
q->next=p;
q=p;
ch=getchar();
}
p->next='\0';
【】;
}
28.下面程序中的數(shù)組a包括10個(gè)整數(shù)元素,從a中第二個(gè)元素起,分別將后項(xiàng)減前項(xiàng)之差存入數(shù)組b,并按每行4個(gè)元素輸出數(shù)組b,請(qǐng)?zhí)羁?。main(){inta[10],b[10],i;for(i=0;i<10;i++)scanf("%d",&a[i]);for(i=1;i<10;i++)();for(i=0;i<9;i++){printf("%d",b[i]);if(i%4==0)printf("\n");}}
29.下面程序的功能是輸出數(shù)組s中最大元素的下標(biāo),請(qǐng)?zhí)羁铡?/p>
main()
{intk,p,s[]={1,-9,7,2,-10,3};
for(p=0,k=p;p<6;p++)
if(s[p]>s[k])【】
printf("%d\n",k);}
30.設(shè)有chara,b;,若要通過(guò)a&b運(yùn)算屏蔽掉a中的其他位,只保留第2位和第8位(右起為第1位),則b的二進(jìn)制是【】。
31.以下程序的功能是:將輸入的正整數(shù)按逆序輸出。例如:若輸入135則輸出531。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{intn,s;
printf("Enteranumber:");scanf("%d",&n);
printf("Output:");
do
{s=n%10;printf("%d",s);【】;
}while(n!=0);
printf("\n");
}
32.設(shè)有下列的程序段;
charstr[]="Hello";
char*ptr;
ptr=str;
執(zhí)行上面的程序段后,*(ptr+5)的值為_(kāi)_____。
33.以下函數(shù)用來(lái)求出數(shù)組的最大元素在數(shù)組中的下標(biāo)并存放在k所指的存儲(chǔ)單元中。請(qǐng)?zhí)羁铡?/p>
#include<conio.h>
#include<stdio.h>
intfun(int*s,intt,int*k)
{inti;
*k=0;
【】
if(s[*k]<s[i])*k=i;
return【】;}
main()
{inta[10]={876,675,896,101,301,401,980,431,451,777},k;
fun(a,10,&k);
printf("%d,%d\n",k,a[k]);}
34.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{inta=10,b=3;
printf("%d,",a%b);
printf("%d,",(a-b,a+b));
printf("%d\n",a-b?a-b:a+b);
}
35.以下程序的作用是:從名為filea.dat的文本文件中逐個(gè)讀入字符并顯示在屏幕上。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{FILE*fp;charch;
fp=fopen(【】);
ch=fgetc(fp);
while(!feof(fp)){putchar(ch);ch=fgetc(fp);}
putchar('\n');fclose(fp);
}
36.數(shù)據(jù)庫(kù)設(shè)計(jì)分為以下6個(gè)設(shè)計(jì)階段:需求分析階段、______、邏輯設(shè)計(jì)階段、物理設(shè)計(jì)階段、實(shí)施階段、運(yùn)行和維護(hù)階段。
37.下列程序的功能是:求出ss所指字符串中指定字符的個(gè)數(shù),并返回此值。例如,若輸入字符串123412132,輸入字符1,則輸出3,請(qǐng)?zhí)羁铡?include<conio.h>#include<stdio.h>#defineM81intfun(char*ss,charC){inti=0;for(;();ss++)if(*ss==C)i++;returni;}main(){chara[M],ch;printf("\nPleaseenterastring:");gets(A);printf("\nPleaseenterachar:");ch=getchar();printf("\nThenumberofthecharis:%d\n",fun(a,ch));}
38.軟件工程的出現(xiàn)是由于【】。
39.在面向?qū)ο蠓椒▽W(xué)中,直接反映了用戶對(duì)目標(biāo)系統(tǒng)的要求的模型是【】。
40.下列程序段的運(yùn)行結(jié)果是______。
charstr[]="ABCD",*p=str;
printf("%d\n",*(p+3));
三、1.選擇題(20題)41.設(shè)有以下說(shuō)明語(yǔ)句typedefstruct{intn;charch[8];}PER;
A.PER是結(jié)構(gòu)體變量名
B.PER是結(jié)構(gòu)體類型名
C.typedefstruct是結(jié)構(gòu)體類型
D.struct是結(jié)構(gòu)本類型名
42.有以下程序:voidsott(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+2,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.1,2,7,6,3,4,5,8,9,10,
C.1,2,7,6,5,4,3,8,9,10,
D.1,2,9,8,7,6,5,4,3,10,
43.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的()。
A.存儲(chǔ)問(wèn)題B.共享問(wèn)題C.安全問(wèn)題D.保護(hù)問(wèn)題
44.下列SQL語(yǔ)句中,用于修改表結(jié)構(gòu)的是()。A.A.ALTERB.CREATEC.UPDATED.INSERT
45.以下程序中函數(shù)reverse的功能是對(duì)a所指數(shù)組中的內(nèi)容進(jìn)行逆置。voidreverse(inta[],intn){inti,t;for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-1];a[n-1-i]=t;}}main(){intb[10]={1,2,3,4,5,6,7,8,9,10};inti,s=0;reverse(b,8);for(i=6;i<10;i++)s+=b[i];printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是______。
A.22B.10C.34D.30
46.以下程序的輸出結(jié)果是
#include<stdio.h>
main()
{inta=15,b=21,m=0;
switch(a%3)
{case0:m++;break;
case1:m++;
switch(b%2)
{default:m++;
case0:m++;break;}}
printf("%d\n",m);}
A.1B.2C.3D.4
47.有以下程序main(){intk=5,n=0;while(k>0){switch(k){default:break;case1:n+=k;case2:case3:n+=k;}k--;}printf("%d\n",n);程序運(yùn)行后的輸出結(jié)果是
A.0B.4C.6D.7
48.堆排序是一種()排序。
A.插入B.選擇C.交換D.歸并
49.下列敘述中,不符合良好程序設(shè)計(jì)風(fēng)格要求的是
A.程序的效率第一,清晰第B.程序的可讀性好C.程序中要有必要的注釋D.輸入數(shù)據(jù)前要有提示信息
50.以下程序的輸出結(jié)果是_______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7});Print("%d%d%d%d\n",a[0][3],a[l][2],a[2][1],a[3][0]);}
A.650B.1470C.5430D.輸出值不定
51.下列選項(xiàng)中不屬于軟件生命周期開(kāi)發(fā)階段任務(wù)的是()。
A.軟件測(cè)試B.概要設(shè)計(jì)C.軟件維護(hù)D.詳細(xì)設(shè)計(jì)
52.以下不是面向?qū)ο笏枷胫械闹饕卣鞯氖?/p>
A.多態(tài)B.繼承C.封裝D.垃圾回收
53.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inta=4printf("%d\n",(a+=a-=a*A));}
A.-8B.14C.0D.-24
54.以下敘述正確的是______。
A.構(gòu)成C程序的基本單位是函數(shù)
B.可以在函數(shù)中定義另一個(gè)函數(shù)
C.main()函數(shù)必須放在其他函數(shù)之前
D.所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義
55.在下列敘述中,錯(cuò)誤的一條是()
A.scanf()函數(shù)可以用來(lái)輸入任何類型的多個(gè)數(shù)據(jù)
B.數(shù)組名作函數(shù)參數(shù)時(shí),也采用“值傳遞”方式
C.如果形參發(fā)生改變,不會(huì)改變主調(diào)函數(shù)的實(shí)參值
D.函數(shù)的實(shí)參與形參的類型應(yīng)一致
56.在執(zhí)行以下程序時(shí),為了使輸出結(jié)果為:t=4,則給a和b輸入的值應(yīng)滿足的條件是______。main(){ints,t,a,b;scanf("%d,%d",&a,&b);s=1,t=1;if(a>0)s=s+1;if(a>b)t=s+1;elseif(a==b)t=5;elset=2*s;printf("%d\n",t);}
A.a>bB.a<b<0C.0<a<bD.0>a>b
57.下列程序的輸出結(jié)果是______。#includemain(){char*a="abcdefghi";intk;fun(a);puts(a);}fun(char*s){intx,y;charc;for(x=0,y=strlen(s)-1;x<y;x++,y--){c=s[y];s[y]=s[x];s[x]=c;}}
A.ihgfsdcbaB.abcdcfghiC.abcdedebaD.ihgfefghi
58.在下列敘述中,錯(cuò)誤的一條是______。
A.定義char*string="China"中的string是一個(gè)字符串變量,其值為China
B.若有一個(gè)多維數(shù)組a,則*(a+i)與a[i]等價(jià)
C.int(*p)[4]表示p為指針變量,它指向包含4個(gè)元素的一維數(shù)組
D.數(shù)組名代表數(shù)組的首地址,固定不變。指針變量可通過(guò)指向數(shù)組首地址來(lái)代表對(duì)應(yīng)的數(shù)組,但其值可以改變
59.若整型變量a、b、c、d中的值依次為1、4、3、2。則條件表達(dá)式a<b?a:c<d?c:d的值是______。A.1B.2C.3D.4
60.若有定義:"inta[2][3];"則對(duì)a數(shù)組的第i行第j列無(wú)素的正確引用為()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
四、選擇題(20題)61.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.2,4,3,9,12,12,11,11,18,9,
B.3,4,2,7,9,8,6,5,11,10,
C.2,3,1,6,8,7,5,4,10,9,
D.1,2,3,6,8,7,5,4,10,9,
62.
63.在黑盒測(cè)試方法中,設(shè)計(jì)測(cè)試用例的主要根據(jù)是()。
A.程序內(nèi)部邏輯B.程序外部功能C.程序數(shù)據(jù)結(jié)構(gòu)D.程序流程圖
64.以下描述中正確的是()。
A.由于do-while循環(huán)中循環(huán)體語(yǔ)句只能是一條可執(zhí)行語(yǔ)句,所以循環(huán)體內(nèi)不能使用復(fù)合語(yǔ)句
B.do-while循環(huán)由do開(kāi)始,用while結(jié)束,在while(表達(dá)式.后面不能寫分號(hào)
C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進(jìn)行判斷
D.do-while循環(huán)中,根據(jù)情況可以省略while
65.軟件生命周期中,能準(zhǔn)確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()。
A.概要設(shè)計(jì)B.軟件設(shè)計(jì)C.可行性研究和計(jì)劃制定D.需求分析
66.專門的關(guān)系運(yùn)算不包括下列的()運(yùn)算。
A.連接運(yùn)算B.選擇運(yùn)算C.投影運(yùn)算D.并運(yùn)算
67.有以下程序:
#definef(x)(x*x)main
{
inti1,i2;
i1=f(8)/(4);i2=f(4+4)/f(2+2);
printf("%d,%d\n",i1,i2);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.64,28B.4,4C.4,3D.64,64
68.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.xy,aaaaCeB.aaaaCC,xyC.bCC,aabCCD.aabCC,bCC
69.
70.有以下程序
#defineP(a)a+a
voidF(intx)
{return(P(2)*x*x);}
main()
{printf("%d\n",F(1+3));}
程序的運(yùn)行結(jié)果是
A.10B.34
C.64D.編譯出錯(cuò)
71.算法分析最重要的目的是
A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.找出算法中輸入和輸出之間的關(guān)系
C.分析算法的易懂性和可靠性D.分析算法的效率以求改進(jìn)
72.
以下程序輸出結(jié)果是()。
main
{intm=5;
if(m++>5)printf("%d\n",m):
elseprintf("%d\n",m--);
}
A.7B.6C.5D.4
73.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.0B.4C.6D.7
74.有以下程序則輸出結(jié)果是()。A.1245B.1256C.1278D.1267
75.
76.
77.
78.以下選項(xiàng)中能表示合法常量的是()。
A.1,200B.1.5E2.0C.”\”D.”\007”
79.
有以下程序:
fun(intx)
{intP;
if(x==0||x==l)return(3);
p=x-fun(x-2);
returnp;
}
main
{printf("%d\n",fun(7));}
程序執(zhí)行后的輸出結(jié)果是()。
A.7B.3C.2D.0
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是逐個(gè)比較str1,str2兩個(gè)字符串對(duì)應(yīng)位置中的字符,把比ASCⅡ值大或相等的字符依次存放到str數(shù)組中,形成一個(gè)新的字符串。
例如,str1中的字符串為fshADfg,str2中的字符串為sdAEdi,則str中的字符串應(yīng)為sshEdig。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫一個(gè)函數(shù)proc(),它的功能是:求出一個(gè)4×N整型二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:
參考答案
1.C棧和隊(duì)列都是一種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進(jìn)行插入或刪除操作,是一種“后進(jìn)先出”的線性表;而隊(duì)列只允許在表的一端進(jìn)行插入操作,在另一端進(jìn)行刪除操作,是一種“先進(jìn)先出”的線性表:本題答案為C)。
2.Dc語(yǔ)言的可執(zhí)行程序是由一系列機(jī)器指令組成的。用C語(yǔ)言編寫的源程序必須經(jīng)過(guò)編譯生成二進(jìn)制目標(biāo)代碼,再經(jīng)過(guò)連接才能運(yùn)行,并且可以脫離c語(yǔ)言集成開(kāi)發(fā)環(huán)境。故答案為D)。
3.D選項(xiàng)A、B中n為變量,C語(yǔ)言中不允許動(dòng)態(tài)定義數(shù)組維數(shù),即維數(shù)不能是變量。選項(xiàng)C無(wú)此語(yǔ)法。
4.B在函數(shù)中允許有多個(gè)return語(yǔ)句,但每次調(diào)用只能有一個(gè)return語(yǔ)句被執(zhí)行,因此只能返回一個(gè)函數(shù)值,A選項(xiàng)描述錯(cuò)誤。定義成void類型的函數(shù),不允許從該函數(shù)取得返回值,也不允許使用return語(yǔ)句,C選項(xiàng)描述錯(cuò)誤。沒(méi)有return語(yǔ)句的函數(shù)在執(zhí)行到函數(shù)的最后一條語(yǔ)句后會(huì)自動(dòng)返回到調(diào)用處,D選項(xiàng)描述錯(cuò)誤。故本題答案為B選項(xiàng)。
5.A
6.B
7.A解析:在主函數(shù)main()中,語(yǔ)句“sum(&a[2]);”把數(shù)組元素a[0]的地址傳遞給了sun函數(shù)的形參a[],使得sum函數(shù)中的“(a+0)”為主函數(shù)中a[2]的地址,所以a[-1]的值為主函數(shù)中a[1]的值;a[1]的值為主函數(shù)中a[3]的伉,故函數(shù)sum中a[0]=2+4=6,由于此函數(shù)中的a是指向主函數(shù)中的a[2],所以a[2]的值為6。
8.A
9.By=(x=)071:x<0?-1:0)中有兩個(gè)三目運(yùn)算符,因此按從右到在的順序運(yùn)算,可寫成y=(x>071:(x<0?-1:0)),故選擇8選項(xiàng)。
10.Dfun函數(shù)的功能是對(duì)數(shù)組a[]的元素從大到小進(jìn)行排序。
11.A解析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲(chǔ)文件(數(shù)據(jù)源)、源和潭。
12.B
13.B當(dāng)邏輯運(yùn)算符“&&”兩邊的值是非零時(shí),邏輯表達(dá)式的值為真(即為1)。所以b=2&&(-1)=1,2%9=2,故a=2,故先算a/10=25/10=2。
14.D
15.A函數(shù)fun的功能是求數(shù)組的n個(gè)元素之和。fun(a,5)=15。由于s岫是靜態(tài)局部變量,所以保持l5不變,fun(b,4)=45,所以s=fun(a,5)+fun(b,4)=60。
16.D解析:本題考查數(shù)據(jù)結(jié)構(gòu)中隊(duì)列的基本知識(shí)。隊(duì)列是一種限定性的線性表,它只允許在表的一端插入元素,而在另一端刪除元素,所以隊(duì)列具有先進(jìn)先出的特性。在隊(duì)列中,允許插入元素的一端叫做隊(duì)尾,允許刪除的一端則稱為隊(duì)頭。這與日常生活中的排隊(duì)是一致的,最早進(jìn)入隊(duì)列的人最早離開(kāi),新來(lái)的人總是加入到隊(duì)尾。因此,本題中只有選項(xiàng)D的說(shuō)法是正確的。
17.C樹(shù)最適合用來(lái)表示元素之間具有分支層次關(guān)系的數(shù)據(jù),故本題選C。
18.A%d表示以字符和整型類型的格式輸出,%c表示以字符類型的格式輸出,%s表示以字符串類型的格式輸出。選項(xiàng)A中,‘s’是字符,不能用%s格式來(lái)輸出。故本題答案為A選項(xiàng)。
19.C
20.C
21.structaa*lhead*rchild;structaa*lhead,*rchild;解析:結(jié)構(gòu)體對(duì)鏈表的定義。
22.b[i]=a[i]+a[i+1]b[i]=a[i]+a[i+1]解析:將數(shù)組a中元素a[i]與a[j+1]值相加后的值賦予數(shù)組b中元素b[i],即可實(shí)現(xiàn)將一個(gè)數(shù)組的前項(xiàng)和后項(xiàng)之和存入另一數(shù)組。
23.1010解析:strlen(s)函數(shù)的返回值為字符串s包含的字符個(gè)數(shù)<不計(jì)最后的'\\0')。
24.66解析:本題變量z的值應(yīng)為最后一次給它賦的值,且最后一次for循環(huán)使prt指向a[2]
25.ChinaChinaisagreatcountry!525
26.33解析:本題考查的是C語(yǔ)言逗號(hào)表達(dá)式的相關(guān)知識(shí)。程序在計(jì)算逗號(hào)表達(dá)式時(shí),從左到右計(jì)算由逗號(hào)分隔各表達(dá)式的值,整個(gè)逗號(hào)表達(dá)式的值等于其中最后一個(gè)表達(dá)式的值。本題中,首先i被賦值為2,再自加1,最后i++的值計(jì)算為3。
27.strcurlist*strucrlist*return(h)
28.b[i-1]=a[i]-a[i-1]
29.k=p;k=p;解析:為要尋找數(shù)組中的最大元素的下標(biāo),需先預(yù)設(shè)1個(gè)臨時(shí)最大元素的下標(biāo),并順序逐一考查數(shù)組的元素,當(dāng)發(fā)現(xiàn)當(dāng)前元素比臨時(shí)最大元素更大時(shí),就用當(dāng)前元素的下標(biāo)更新臨時(shí)最大元素下標(biāo)。直至考查了數(shù)組的全部元素后,這臨時(shí)最大元素下標(biāo)就是數(shù)組的最大元素下標(biāo)。通常預(yù)設(shè)的最大元素下標(biāo)是數(shù)組的首元素下標(biāo),考查是從首元素開(kāi)始順序向后繼元素考查。程序中,存儲(chǔ)臨時(shí)最大元素下標(biāo)的變量是k,變量p控制順序考查的循環(huán)控制變量。當(dāng)發(fā)現(xiàn)當(dāng)前元素s[p]比臨時(shí)最大元素s[k)更大時(shí),應(yīng)該用p更新k。所以在空框處應(yīng)填入代碼“k=p;”。
30.1000001010000010解析:運(yùn)算“&”的規(guī)則是只有當(dāng)兩個(gè)相應(yīng)的二進(jìn)制位都為1時(shí),該位的結(jié)果才為1。要保留第2、8位,只要將其與二進(jìn)制數(shù)10000010相與。
31.n/=10或n=n/10n/=10或n=n/10解析:每次循環(huán)把n除以10所得的商賦給n。
32.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個(gè)知識(shí)點(diǎn):①在C語(yǔ)言中,字符型數(shù)組在存放字符串時(shí)會(huì)自動(dòng)在末尾加上字符串結(jié)束標(biāo)識(shí)符'\\0'所以題中數(shù)組str有6個(gè)元素。②ptr指向數(shù)組str的首地址,ptr+5是指向str[5],*(ptr+5)是引用str[5]的值,即'\\0'。
33.for(I=0;I<t;I++)0for(I=0;I<t;I++),0解析:本題中直接使用指針變量k,但在使用時(shí)要注意對(duì)k的指針運(yùn)算,此外,一開(kāi)始應(yīng)使*k的值為數(shù)組中的某一下標(biāo)值,即*k=0。
34.11371,13,7解析:本題考查3個(gè)知識(shí)點(diǎn):①余數(shù)的計(jì)算,題中的a=10,b=3,a%b=1;②(表達(dá)式1,表達(dá)式2)形式的結(jié)果為最后一個(gè)表達(dá)式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運(yùn)算符的使用,題中的a-b?a-b:a+b,判斷語(yǔ)句a-b=7不為0,所以執(zhí)行a-b,結(jié)果為7。
35.“filea.dat”“r”“filea.dat”,“r”解析:fopen函數(shù)的調(diào)用方式通常為fopen(文件名,使用文件方式)。本題中要求程序可以打開(kāi)filea.dat文件,并且是要讀取文件中的內(nèi)容,所以空白處應(yīng)當(dāng)填入'filea.dat','r'。
36.概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)概念設(shè)計(jì)階段(數(shù)據(jù)庫(kù)概念設(shè)計(jì)階段)
37.*ss!='\0'*ss!='\\0'解析:本題考查的是指針的應(yīng)用。題目要求求出字符串ss中指定字符的個(gè)數(shù)。分析整個(gè)程序,空缺處是檢驗(yàn)指針ss是否指向了字符串的末尾,如沒(méi)有,即執(zhí)行下面語(yǔ)句,判斷指針ss指向的字符是否字符c,若是,i自加1;所以空缺處填入*ss!='\\0',作為循環(huán)終止的條件。
38.軟件危機(jī)的出現(xiàn)軟件危機(jī)的出現(xiàn)
39.功能模型功能模型
40.6868解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個(gè)指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時(shí)是以“%d”格式輸出的,即輸出其相應(yīng)ASCII碼值68。
41.B解析:本題考核的知識(shí)點(diǎn)是如何使用typedef定義新的類型。本題通過(guò)typedef在定義一個(gè)結(jié)構(gòu)體類型的同時(shí),把它自定義成類型名PER,故PER是結(jié)構(gòu)體類型名。所以,4個(gè)選項(xiàng)中B為所選。
42.C解析:aa+2=aa[2],因此sort(aa+2,5)是從aa[2]開(kāi)始,依次與后面的元素進(jìn)行比較,將當(dāng)前值小于其后一項(xiàng)的值進(jìn)行互換,循環(huán)5次。
43.B解析:數(shù)據(jù)庫(kù)產(chǎn)生的背景就是計(jì)算機(jī)的應(yīng)用范圍越來(lái)越廣泛,數(shù)據(jù)量急劇增加,對(duì)數(shù)據(jù)共享的要求越來(lái)越高。共享的含義是多個(gè)用戶、多種語(yǔ)言、多個(gè)應(yīng)用程序相互覆蓋的使用一些公用的數(shù)據(jù)集合。在這樣的背景下,為了滿足多用戶、多應(yīng)用共,享數(shù)據(jù)的要求,就出現(xiàn)了數(shù)據(jù)庫(kù)技術(shù),以便對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理。因此,數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)就是解決數(shù)據(jù)的共享問(wèn)題。故選項(xiàng)B正確。
44.A解析:在SQL語(yǔ)句中,凡是創(chuàng)建都用CREATE,刪除都用DROP,改變用ALTER,后面跟類型和名字,附加子句。
45.A解析:主函數(shù)調(diào)用reverse時(shí)。實(shí)參為b和8,即reverse函數(shù)的功能是將數(shù)組b中的前8個(gè)元素逆置,其余元素不變。因此函數(shù)調(diào)用結(jié)束后數(shù)組b的內(nèi)容為:8、7,6、5、4、3、2、1、9、10。main函數(shù)中for循環(huán)語(yǔ)句的功能是求b[6]元素到b[9]元素的和,即s=b[6]+b[7]+b[8]+b[9]=2+1+9+10=22,因此printf語(yǔ)句的輸出結(jié)果是22。
46.A解析:考查switch語(yǔ)句的使用。switch語(yǔ)句的條件是'a%3=15%3=0',所以執(zhí)行case0后面的語(yǔ)句,m++;m=1,然后就執(zhí)行break,跳出switch語(yǔ)句,所以最后輸出m的值為1\ue009。
47.D解析:本題考查的是switch語(yǔ)句。switch語(yǔ)句中的case或default只是一種入口標(biāo)號(hào),它并不形成一種子句的概念。當(dāng)滿足其中某個(gè)標(biāo)號(hào)的條件而進(jìn)入switch語(yǔ)句中時(shí),如果沒(méi)碰到break語(yǔ)句,將一直執(zhí)行到switch語(yǔ)句的結(jié)尾。題目中使用了一個(gè)while循環(huán)使k從5遞減到1,當(dāng)k=5或4的時(shí)候從default標(biāo)號(hào)進(jìn)入switch,碰到break;語(yǔ)句立即跳出,沒(méi)有改變n:當(dāng)k=3時(shí),執(zhí)行了一次n+=k;;k=2時(shí),也執(zhí)行了一次n+=k;k=1時(shí),執(zhí)行了兩次n+=k;所以最終n的值為3+2+1+1=7。故應(yīng)該選擇D。
48.B解析:堆排序是一種選擇排序。選擇排序有直接選擇排序和堆排序兩種。
49.A解析:當(dāng)今主導(dǎo)的程序設(shè)計(jì)風(fēng)格是“清晰第一,效率第二”的觀點(diǎn)。結(jié)構(gòu)化程序設(shè)計(jì)思想提出之前,在程序設(shè)計(jì)中曾強(qiáng)調(diào)程序的效率,而在實(shí)際應(yīng)用中,人們更注重程序的可理解性。
50.A解析:對(duì)未給出初始值的整數(shù)數(shù)組元素,被默認(rèn)初始化為零。
51.C解析:軟件生命周期由軟件定義、軟件開(kāi)發(fā)和軟件維護(hù)三個(gè)時(shí)期組成,每個(gè)時(shí)期又進(jìn)一步劃分為若干個(gè)階段。軟件定義時(shí)期的基本任務(wù)是確定軟件系統(tǒng)的工程需求。軟件定義可分為軟件系統(tǒng)的可行性研究和需求分析兩個(gè)階段。軟件開(kāi)發(fā)時(shí)期是具體設(shè)計(jì)和實(shí)現(xiàn)在前一時(shí)期定義的軟件,它通常由下面五個(gè)階段組成:概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編寫代碼、組裝測(cè)試和確認(rèn)測(cè)試。軟件維護(hù)時(shí)期的主要任務(wù)是使軟件持久地滿足用戶的需要。即當(dāng)軟件在使用過(guò)程中發(fā)現(xiàn)錯(cuò)誤時(shí)應(yīng)加以改正;當(dāng)環(huán)境改變時(shí)應(yīng)該修改軟件,以適應(yīng)新的環(huán)境;當(dāng)用戶有新要求時(shí)應(yīng)該及時(shí)改進(jìn)軟件,以滿足用戶的新要求。根據(jù)上述對(duì)軟件生命周期的介紹,可知選項(xiàng)C中的軟件維護(hù)不是軟件生命周期開(kāi)發(fā)階段的任務(wù)。因此,本題的正確答案是C。
52.D解析:面向?qū)ο笏枷胫械娜齻€(gè)主要特征是:封裝性、繼承性和多態(tài)性。
53.D解析:表達(dá)式a+=a-=a*a看起來(lái)復(fù)雜,其實(shí)將它分成兩個(gè)表達(dá)式來(lái)計(jì)算就簡(jiǎn)單了:①第一個(gè)表達(dá)式(a-=a*a)=(a=a-a*a=-12);②第二個(gè)表達(dá)式(a+=a-=a*a)=(a=a+a=-24)。
54.A解析:C語(yǔ)言是由函數(shù)構(gòu)成的。一個(gè)C程序可以包含一個(gè)主函數(shù),即main()函數(shù),也可以包含一個(gè)main()函數(shù)和若干其他函數(shù)。函數(shù)是C程序的基本單位。被調(diào)用的函數(shù)可以是系統(tǒng)提供的庫(kù)函數(shù),也可以是自定義的函數(shù)。從函數(shù)的形式上分為有參函數(shù)和無(wú)參函數(shù)。main()函數(shù)可以位于程序最前頭,也可以位于程序結(jié)尾或中間,C程序總是從main()函數(shù)開(kāi)始執(zhí)行,不論main()函數(shù)在程序中的位置如何。C語(yǔ)言中函數(shù)必須獨(dú)立定義,不能在一個(gè)函數(shù)中定義另一個(gè)函數(shù),但可以在一個(gè)函數(shù)中調(diào)用另一個(gè)函數(shù),而且被調(diào)函數(shù)的定義可以在程序中的任何位置,不一定要在調(diào)用函數(shù)之前進(jìn)行定義。若被調(diào)函數(shù)在調(diào)用函數(shù)之后定義,在調(diào)用函數(shù)中需要對(duì)被調(diào)函數(shù)進(jìn)行類型說(shuō)明。
55.B
56.C
57.A
58.A
59.A解析:條件表達(dá)式的形式如下:表達(dá)式1?表達(dá)式2:表達(dá)式3,所以本題條件表達(dá)式a<b?a:c<d?c:d應(yīng)該理解為a<b?a:(c<d?c:d),首先求出條件表達(dá)式c<d?c:d的值等于2,再求條件表達(dá)式a<b?a:2的值,由于a-1<b-4成立,所以上述條件表達(dá)式的值等于1。
60.A解析:本題考查如何通過(guò)地址來(lái)引用數(shù)組元素。通過(guò)地址來(lái)引用數(shù)組元素的方法有下列5種:①a[i][j];②*(a[i]+j);③*(*(a+i)+j);④*(a[i])[j];⑤*(&a[0][0]+3*i+j)。
61.A本題考查的是結(jié)構(gòu)體成員的引用。在主函數(shù)main中定義了一個(gè)整型變量i和一個(gè)結(jié)構(gòu)體變量s。f函數(shù)中,通過(guò)指針a來(lái)引用數(shù)組中的元素;通過(guò)for循環(huán)語(yǔ)句將數(shù)組中除最后一個(gè)元素外的其他元素(由條件i<n-1決定的)分別加上由0開(kāi)始的遞增數(shù)據(jù)(即0、1、2…8),所以最后的輸出結(jié)果為2,4,3,9,12,12,11,11,18,9,。
62.B
63.B黑盒測(cè)試法指的是根據(jù)程序的外部功能,把程序本身看成一個(gè)黑盒子,設(shè)計(jì)測(cè)試用例來(lái)驗(yàn)證程序外部功能的正確性。
64.C解析:do-while語(yǔ)句的一般形式為:do循環(huán)體語(yǔ)句while(表達(dá)式);,其中循環(huán)體語(yǔ)句可以是復(fù)合型語(yǔ)句,但必須用花括號(hào)括起來(lái)。while后必須要有分號(hào)作為語(yǔ)句的結(jié)束,在do-while循環(huán)中,不可以省略while。
65.D\n通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用、退役的過(guò)程稱為軟件生命周期。也就是說(shuō),軟件產(chǎn)品從考慮其概念開(kāi)始,到該軟件產(chǎn)品不能使用為止的整個(gè)時(shí)期都屬于軟件生命周期。軟件生命周期的主要活動(dòng)階段為:可行性研究和計(jì)劃制定。確定待開(kāi)發(fā)軟件系統(tǒng)的開(kāi)發(fā)目標(biāo)和總的要求,給出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成開(kāi)發(fā)任務(wù)的實(shí)施計(jì)劃。
\n需求分析。對(duì)待開(kāi)發(fā)軟件提出的需求進(jìn)行分析并給出詳細(xì)定義,即準(zhǔn)確地確定軟件系統(tǒng)的功能。編寫軟件規(guī)格說(shuō)明書及初步的用戶手冊(cè),提交評(píng)審。
\n軟件設(shè)計(jì)。系統(tǒng)設(shè)計(jì)人員和程序設(shè)計(jì)人員應(yīng)該在反復(fù)理解軟件需求的基礎(chǔ)上,給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程。
\n軟件實(shí)現(xiàn)。把軟件設(shè)計(jì)轉(zhuǎn)換成計(jì)算機(jī)可以接受的程序代碼。即完成源程序的編碼,編寫用戶手冊(cè)、操作手冊(cè)等面向用戶的文檔,編寫單元測(cè)試計(jì)劃。
\n軟件測(cè)試。在設(shè)計(jì)測(cè)試用例的基礎(chǔ)上,檢驗(yàn)軟件的各個(gè)組成部分。編寫測(cè)試分析報(bào)告。
\n運(yùn)行和維護(hù)。將已交付的軟件投入運(yùn)行,并在運(yùn)行使用中不斷地維護(hù),根據(jù)新提出的需求進(jìn)行必要而且可能的擴(kuò)充和刪改。
\n本題答案是D)。
\n
66.D關(guān)系運(yùn)算有傳統(tǒng)的集合運(yùn)算和專門的關(guān)系運(yùn)算,傳統(tǒng)的集合運(yùn)算有交,差,并,除和笛卡爾積,專門的關(guān)系運(yùn)算有鏈接,選擇,投影。
67.C本題考套的是宏定義。對(duì)帶參數(shù)的宏的
展開(kāi)只是將語(yǔ)句中宏名后面括號(hào)內(nèi)的實(shí)參字符串代替#define命令行中的形參。本題中“i1=f(8)/f(4)”用"#definef(x)(x*x)"代替得i1=(8*8)/(4*4),結(jié)果為4;
"i2=f(4+4)/f(2+2)"用“#definef(x)(x*x)”代替得i2=(4+4+4+4)/(2+2+2+2),求得結(jié)果為3。故本題輸出的值為4,3
68.A函數(shù)fun(char*s[],intn)的功能是對(duì)字符串?dāng)?shù)組的元素按照字符串的長(zhǎng)度從小到大排序。在主函數(shù)中執(zhí)
溫馨提示
- 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 機(jī)械課程設(shè)計(jì)干啥的啊
- 智能核儀器基礎(chǔ)課程設(shè)計(jì)
- 稅收法制教育課程設(shè)計(jì)
- 編曲音樂(lè)創(chuàng)作課程設(shè)計(jì)
- 羽毛球上課課程設(shè)計(jì)
- 機(jī)械設(shè)計(jì)課程設(shè)計(jì)記錄
- 網(wǎng)站前段課課程設(shè)計(jì)
- 自動(dòng)掃地機(jī)課程設(shè)計(jì)
- 藝術(shù)燈課程設(shè)計(jì)拱形門
- 家電維修行業(yè)維修技巧培訓(xùn)總結(jié)
- 糧食工程技術(shù)專業(yè)人才培養(yǎng)方案(三年制高職)
- 理發(fā)店承包方案
- 機(jī)電材料見(jiàn)證取樣復(fù)試
- 二線干部工作總結(jié)
- 土石方挖運(yùn)工程承包合同范本
- 山東省濟(jì)南市七年級(jí)上學(xué)期期末英語(yǔ)試卷(附答案)
- 心身疾病的心理與康復(fù)治療
- 2024年02月四川省省直機(jī)關(guān)2024年度公開(kāi)遴選和公開(kāi)選調(diào)公務(wù)員筆試參考題庫(kù)附帶答案詳解
- 2024安吉桃花源萌寵露營(yíng)節(jié)活動(dòng)方案
- 壯醫(yī)藥水蛭療法
- 2024年高考語(yǔ)文備考之語(yǔ)用新題“語(yǔ)境+語(yǔ)義”專練
評(píng)論
0/150
提交評(píng)論