




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領
文檔簡介
2021年寧夏回族自治區(qū)石嘴山市全國計算機等級考試C語言程序設計預測試題(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.棧和隊列的共同點是()。
A.都是先進后出B.都是先進先出C.只允許在端點處插入和刪除元素D.沒有共同點
2.以下敘述中錯誤的是()。
A.C語言的可執(zhí)行程序是由一系列機器指令構(gòu)成的
B.用C語言編寫的源程序不能直接在計算機上運行
C.通過編譯得到的二進制目標程序需要連接才可以運行
D.在沒有安裝C語言集成開發(fā)環(huán)境的機器上不能運行C源程序生成的.exe文件
3.下列定義數(shù)組的語句中,正確的是()。
A.intN=10;intx[N]:
B.#defineNl0;intx[N];
C.intx[0..10];
D.intx[];
4.下列關(guān)于return語句的敘述中正確的是()。
A.—個自定義函數(shù)中必須有一條return語句
B.—個自定義函數(shù)中可以根據(jù)不同情況設置多條return語句
C.定義成void類型的函數(shù)中可以有帶返回值的return語句
D.沒有return語句的自定義函數(shù)在執(zhí)行結(jié)束時不能返回到調(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);程序運行后的輸出結(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]);}程序運行后的輸出結(jié)果是()。
A.6B.7C.5D.8
8.設x和y均為bool量,則x&&y為真的條件是()。
A.它們均為真B.其中一個為真C.它們均為假D.其中一個
9.與“y=(x>0?1:x<0?-1:0)”;的功能相同的if語句是()。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");}程序運行的結(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ù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一特定的圖符構(gòu)成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。
A.控制流B.加工C.數(shù)據(jù)存儲D.源和潭
12.在具有n個結(jié)點的有序單鏈表中插入一個新結(jié)點并使鏈表仍然有序的時間復雜度是________
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.對于循環(huán)隊列()。
A.無法判斷隊列是否為空B.無法判斷隊列是否為滿C.隊列不可能滿D.以上說法都不對
15.有以下程序程序執(zhí)行后的輸出結(jié)果是()
A.60B.50C.45D.55
16.下列對隊列的敘述正確的是A.隊列屬于非線性表B.隊列按“先進后出”原則組織數(shù)據(jù)C.隊列在隊尾刪除數(shù)據(jù)D.隊列按“先進先出”原則組織數(shù)據(jù)
17.樹最適合用來表示()。
A.有序數(shù)據(jù)元素B.無序數(shù)據(jù)元素C.元素之間具有分支層次關(guān)系的數(shù)據(jù)D.元素之間無聯(lián)系的數(shù)據(jù)
18.以下選項中錯誤的是()。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.一個C語言程序總是從()開始執(zhí)行:
A.主程序B.子程序C.主函數(shù)D.第一個函數(shù)
二、2.填空題(20題)21.有如圖所示的雙鏈表結(jié)構(gòu),請根據(jù)圖示完成結(jié)構(gòu)體的定義:
structaa
{intdata;
【】}node;
22.下列程序中的數(shù)組a包括10個整數(shù)元素,分別將前項和后項之和存入數(shù)組b,并按每行4個元素輸出數(shù)組b。請?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.下列程序的運行結(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.設變量已正確定義為整型,則表達式n=i=2,++i,i++的值為【】。
27.以下函數(shù)creat用來建立一個帶頭結(jié)點的單向鏈表,新產(chǎn)生的結(jié)點是插在鏈表頭的
末尾。單向鏈表的頭指針作為函數(shù)值返回。請?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個整數(shù)元素,從a中第二個元素起,分別將后項減前項之差存入數(shù)組b,并按每行4個元素輸出數(shù)組b,請?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中最大元素的下標,請?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.設有chara,b;,若要通過a&b運算屏蔽掉a中的其他位,只保留第2位和第8位(右起為第1位),則b的二進制是【】。
31.以下程序的功能是:將輸入的正整數(shù)按逆序輸出。例如:若輸入135則輸出531。請?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.設有下列的程序段;
charstr[]="Hello";
char*ptr;
ptr=str;
執(zhí)行上面的程序段后,*(ptr+5)的值為______。
33.以下函數(shù)用來求出數(shù)組的最大元素在數(shù)組中的下標并存放在k所指的存儲單元中。請?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.下列程序的運行結(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的文本文件中逐個讀入字符并顯示在屏幕上。請?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ù)庫設計分為以下6個設計階段:需求分析階段、______、邏輯設計階段、物理設計階段、實施階段、運行和維護階段。
37.下列程序的功能是:求出ss所指字符串中指定字符的個數(shù),并返回此值。例如,若輸入字符串123412132,輸入字符1,則輸出3,請?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中,直接反映了用戶對目標系統(tǒng)的要求的模型是【】。
40.下列程序段的運行結(jié)果是______。
charstr[]="ABCD",*p=str;
printf("%d\n",*(p+3));
三、1.選擇題(20題)41.設有以下說明語句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");}程序運行后的輸出結(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ù)庫技術(shù)的根本目標是要解決數(shù)據(jù)的()。
A.存儲問題B.共享問題C.安全問題D.保護問題
44.下列SQL語句中,用于修改表結(jié)構(gòu)的是()。A.A.ALTERB.CREATEC.UPDATED.INSERT
45.以下程序中函數(shù)reverse的功能是對a所指數(shù)組中的內(nèi)容進行逆置。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);}程序運行后的輸出結(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);程序運行后的輸出結(jié)果是
A.0B.4C.6D.7
48.堆排序是一種()排序。
A.插入B.選擇C.交換D.歸并
49.下列敘述中,不符合良好程序設計風格要求的是
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.下列選項中不屬于軟件生命周期開發(fā)階段任務的是()。
A.軟件測試B.概要設計C.軟件維護D.詳細設計
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ù)中定義另一個函數(shù)
C.main()函數(shù)必須放在其他函數(shù)之前
D.所有被調(diào)用的函數(shù)一定要在調(diào)用之前進行定義
55.在下列敘述中,錯誤的一條是()
A.scanf()函數(shù)可以用來輸入任何類型的多個數(shù)據(jù)
B.數(shù)組名作函數(shù)參數(shù)時,也采用“值傳遞”方式
C.如果形參發(fā)生改變,不會改變主調(diào)函數(shù)的實參值
D.函數(shù)的實參與形參的類型應一致
56.在執(zhí)行以下程序時,為了使輸出結(jié)果為:t=4,則給a和b輸入的值應滿足的條件是______。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.在下列敘述中,錯誤的一條是______。
A.定義char*string="China"中的string是一個字符串變量,其值為China
B.若有一個多維數(shù)組a,則*(a+i)與a[i]等價
C.int(*p)[4]表示p為指針變量,它指向包含4個元素的一維數(shù)組
D.數(shù)組名代表數(shù)組的首地址,固定不變。指針變量可通過指向數(shù)組首地址來代表對應的數(shù)組,但其值可以改變
59.若整型變量a、b、c、d中的值依次為1、4、3、2。則條件表達式a<b?a:c<d?c:d的值是______。A.1B.2C.3D.4
60.若有定義:"inta[2][3];"則對a數(shù)組的第i行第j列無素的正確引用為()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
四、選擇題(20題)61.有以下程序:
程序運行后的輸出結(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.在黑盒測試方法中,設計測試用例的主要根據(jù)是()。
A.程序內(nèi)部邏輯B.程序外部功能C.程序數(shù)據(jù)結(jié)構(gòu)D.程序流程圖
64.以下描述中正確的是()。
A.由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復合語句
B.do-while循環(huán)由do開始,用while結(jié)束,在while(表達式.后面不能寫分號
C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進行判斷
D.do-while循環(huán)中,根據(jù)情況可以省略while
65.軟件生命周期中,能準確地確定軟件系統(tǒng)必須做什么和必須具備哪些功能的階段是()。
A.概要設計B.軟件設計C.可行性研究和計劃制定D.需求分析
66.專門的關(guān)系運算不包括下列的()運算。
A.連接運算B.選擇運算C.投影運算D.并運算
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);
}
程序運行后的輸出結(jié)果是()。
A.64,28B.4,4C.4,3D.64,64
68.有以下程序:
程序的運行結(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));}
程序的運行結(jié)果是
A.10B.34
C.64D.編譯出錯
71.算法分析最重要的目的是
A.找出數(shù)據(jù)結(jié)構(gòu)的合理性B.找出算法中輸入和輸出之間的關(guān)系
C.分析算法的易懂性和可靠性D.分析算法的效率以求改進
72.
以下程序輸出結(jié)果是()。
main
{intm=5;
if(m++>5)printf("%d\n",m):
elseprintf("%d\n",m--);
}
A.7B.6C.5D.4
73.有以下程序:
程序運行后的輸出結(jié)果是()。
A.0B.4C.6D.7
74.有以下程序則輸出結(jié)果是()。A.1245B.1256C.1278D.1267
75.
76.
77.
78.以下選項中能表示合法常量的是()。
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.
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是逐個比較str1,str2兩個字符串對應位置中的字符,把比ASCⅡ值大或相等的字符依次存放到str數(shù)組中,形成一個新的字符串。
例如,str1中的字符串為fshADfg,str2中的字符串為sdAEdi,則str中的字符串應為sshEdig。
請修改程序中的錯誤,使它能得到正確結(jié)果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設計題(1題)82.請編寫一個函數(shù)proc(),它的功能是:求出一個4×N整型二維數(shù)組中最大元素的值,并將此值返回調(diào)用函數(shù)。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.C棧和隊列都是一種特殊的操作受限的線性表,只允許在端點處進行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進行插入或刪除操作,是一種“后進先出”的線性表;而隊列只允許在表的一端進行插入操作,在另一端進行刪除操作,是一種“先進先出”的線性表:本題答案為C)。
2.Dc語言的可執(zhí)行程序是由一系列機器指令組成的。用C語言編寫的源程序必須經(jīng)過編譯生成二進制目標代碼,再經(jīng)過連接才能運行,并且可以脫離c語言集成開發(fā)環(huán)境。故答案為D)。
3.D選項A、B中n為變量,C語言中不允許動態(tài)定義數(shù)組維數(shù),即維數(shù)不能是變量。選項C無此語法。
4.B在函數(shù)中允許有多個return語句,但每次調(diào)用只能有一個return語句被執(zhí)行,因此只能返回一個函數(shù)值,A選項描述錯誤。定義成void類型的函數(shù),不允許從該函數(shù)取得返回值,也不允許使用return語句,C選項描述錯誤。沒有return語句的函數(shù)在執(zhí)行到函數(shù)的最后一條語句后會自動返回到調(diào)用處,D選項描述錯誤。故本題答案為B選項。
5.A
6.B
7.A解析:在主函數(shù)main()中,語句“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)中有兩個三目運算符,因此按從右到在的順序運算,可寫成y=(x>071:(x<0?-1:0)),故選擇8選項。
10.Dfun函數(shù)的功能是對數(shù)組a[]的元素從大到小進行排序。
11.A解析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲文件(數(shù)據(jù)源)、源和潭。
12.B
13.B當邏輯運算符“&&”兩邊的值是非零時,邏輯表達式的值為真(即為1)。所以b=2&&(-1)=1,2%9=2,故a=2,故先算a/10=25/10=2。
14.D
15.A函數(shù)fun的功能是求數(shù)組的n個元素之和。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)中隊列的基本知識。隊列是一種限定性的線性表,它只允許在表的一端插入元素,而在另一端刪除元素,所以隊列具有先進先出的特性。在隊列中,允許插入元素的一端叫做隊尾,允許刪除的一端則稱為隊頭。這與日常生活中的排隊是一致的,最早進入隊列的人最早離開,新來的人總是加入到隊尾。因此,本題中只有選項D的說法是正確的。
17.C樹最適合用來表示元素之間具有分支層次關(guān)系的數(shù)據(jù),故本題選C。
18.A%d表示以字符和整型類型的格式輸出,%c表示以字符類型的格式輸出,%s表示以字符串類型的格式輸出。選項A中,‘s’是字符,不能用%s格式來輸出。故本題答案為A選項。
19.C
20.C
21.structaa*lhead*rchild;structaa*lhead,*rchild;解析:結(jié)構(gòu)體對鏈表的定義。
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],即可實現(xiàn)將一個數(shù)組的前項和后項之和存入另一數(shù)組。
23.1010解析:strlen(s)函數(shù)的返回值為字符串s包含的字符個數(shù)<不計最后的'\\0')。
24.66解析:本題變量z的值應為最后一次給它賦的值,且最后一次for循環(huán)使prt指向a[2]
25.ChinaChinaisagreatcountry!525
26.33解析:本題考查的是C語言逗號表達式的相關(guān)知識。程序在計算逗號表達式時,從左到右計算由逗號分隔各表達式的值,整個逗號表達式的值等于其中最后一個表達式的值。本題中,首先i被賦值為2,再自加1,最后i++的值計算為3。
27.strcurlist*strucrlist*return(h)
28.b[i-1]=a[i]-a[i-1]
29.k=p;k=p;解析:為要尋找數(shù)組中的最大元素的下標,需先預設1個臨時最大元素的下標,并順序逐一考查數(shù)組的元素,當發(fā)現(xiàn)當前元素比臨時最大元素更大時,就用當前元素的下標更新臨時最大元素下標。直至考查了數(shù)組的全部元素后,這臨時最大元素下標就是數(shù)組的最大元素下標。通常預設的最大元素下標是數(shù)組的首元素下標,考查是從首元素開始順序向后繼元素考查。程序中,存儲臨時最大元素下標的變量是k,變量p控制順序考查的循環(huán)控制變量。當發(fā)現(xiàn)當前元素s[p]比臨時最大元素s[k)更大時,應該用p更新k。所以在空框處應填入代碼“k=p;”。
30.1000001010000010解析:運算“&”的規(guī)則是只有當兩個相應的二進制位都為1時,該位的結(jié)果才為1。要保留第2、8位,只要將其與二進制數(shù)10000010相與。
31.n/=10或n=n/10n/=10或n=n/10解析:每次循環(huán)把n除以10所得的商賦給n。
32.'\0''\\0'解析:本題涉及字符數(shù)組和指針的兩個知識點:①在C語言中,字符型數(shù)組在存放字符串時會自動在末尾加上字符串結(jié)束標識符'\\0'所以題中數(shù)組str有6個元素。②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,但在使用時要注意對k的指針運算,此外,一開始應使*k的值為數(shù)組中的某一下標值,即*k=0。
34.11371,13,7解析:本題考查3個知識點:①余數(shù)的計算,題中的a=10,b=3,a%b=1;②(表達式1,表達式2)形式的結(jié)果為最后一個表達式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運算符的使用,題中的a-b?a-b:a+b,判斷語句a-b=7不為0,所以執(zhí)行a-b,結(jié)果為7。
35.“filea.dat”“r”“filea.dat”,“r”解析:fopen函數(shù)的調(diào)用方式通常為fopen(文件名,使用文件方式)。本題中要求程序可以打開filea.dat文件,并且是要讀取文件中的內(nèi)容,所以空白處應當填入'filea.dat','r'。
36.概念設計階段(數(shù)據(jù)庫概念設計階段)概念設計階段(數(shù)據(jù)庫概念設計階段)
37.*ss!='\0'*ss!='\\0'解析:本題考查的是指針的應用。題目要求求出字符串ss中指定字符的個數(shù)。分析整個程序,空缺處是檢驗指針ss是否指向了字符串的末尾,如沒有,即執(zhí)行下面語句,判斷指針ss指向的字符是否字符c,若是,i自加1;所以空缺處填入*ss!='\\0',作為循環(huán)終止的條件。
38.軟件危機的出現(xiàn)軟件危機的出現(xiàn)
39.功能模型功能模型
40.6868解析:本題考查如何用指針引用數(shù)組元素。本題先定義了一個指向字符型數(shù)組str的指針p,指針p指向數(shù)組str的首地址,p+3將指針指向str[3],*(p+3)指的是字符“D”,輸出時是以“%d”格式輸出的,即輸出其相應ASCII碼值68。
41.B解析:本題考核的知識點是如何使用typedef定義新的類型。本題通過typedef在定義一個結(jié)構(gòu)體類型的同時,把它自定義成類型名PER,故PER是結(jié)構(gòu)體類型名。所以,4個選項中B為所選。
42.C解析:aa+2=aa[2],因此sort(aa+2,5)是從aa[2]開始,依次與后面的元素進行比較,將當前值小于其后一項的值進行互換,循環(huán)5次。
43.B解析:數(shù)據(jù)庫產(chǎn)生的背景就是計算機的應用范圍越來越廣泛,數(shù)據(jù)量急劇增加,對數(shù)據(jù)共享的要求越來越高。共享的含義是多個用戶、多種語言、多個應用程序相互覆蓋的使用一些公用的數(shù)據(jù)集合。在這樣的背景下,為了滿足多用戶、多應用共,享數(shù)據(jù)的要求,就出現(xiàn)了數(shù)據(jù)庫技術(shù),以便對數(shù)據(jù)庫進行管理。因此,數(shù)據(jù)庫技術(shù)的根本目標就是解決數(shù)據(jù)的共享問題。故選項B正確。
44.A解析:在SQL語句中,凡是創(chuàng)建都用CREATE,刪除都用DROP,改變用ALTER,后面跟類型和名字,附加子句。
45.A解析:主函數(shù)調(diào)用reverse時。實參為b和8,即reverse函數(shù)的功能是將數(shù)組b中的前8個元素逆置,其余元素不變。因此函數(shù)調(diào)用結(jié)束后數(shù)組b的內(nèi)容為:8、7,6、5、4、3、2、1、9、10。main函數(shù)中for循環(huán)語句的功能是求b[6]元素到b[9]元素的和,即s=b[6]+b[7]+b[8]+b[9]=2+1+9+10=22,因此printf語句的輸出結(jié)果是22。
46.A解析:考查switch語句的使用。switch語句的條件是'a%3=15%3=0',所以執(zhí)行case0后面的語句,m++;m=1,然后就執(zhí)行break,跳出switch語句,所以最后輸出m的值為1\ue009。
47.D解析:本題考查的是switch語句。switch語句中的case或default只是一種入口標號,它并不形成一種子句的概念。當滿足其中某個標號的條件而進入switch語句中時,如果沒碰到break語句,將一直執(zhí)行到switch語句的結(jié)尾。題目中使用了一個while循環(huán)使k從5遞減到1,當k=5或4的時候從default標號進入switch,碰到break;語句立即跳出,沒有改變n:當k=3時,執(zhí)行了一次n+=k;;k=2時,也執(zhí)行了一次n+=k;k=1時,執(zhí)行了兩次n+=k;所以最終n的值為3+2+1+1=7。故應該選擇D。
48.B解析:堆排序是一種選擇排序。選擇排序有直接選擇排序和堆排序兩種。
49.A解析:當今主導的程序設計風格是“清晰第一,效率第二”的觀點。結(jié)構(gòu)化程序設計思想提出之前,在程序設計中曾強調(diào)程序的效率,而在實際應用中,人們更注重程序的可理解性。
50.A解析:對未給出初始值的整數(shù)數(shù)組元素,被默認初始化為零。
51.C解析:軟件生命周期由軟件定義、軟件開發(fā)和軟件維護三個時期組成,每個時期又進一步劃分為若干個階段。軟件定義時期的基本任務是確定軟件系統(tǒng)的工程需求。軟件定義可分為軟件系統(tǒng)的可行性研究和需求分析兩個階段。軟件開發(fā)時期是具體設計和實現(xiàn)在前一時期定義的軟件,它通常由下面五個階段組成:概要設計、詳細設計、編寫代碼、組裝測試和確認測試。軟件維護時期的主要任務是使軟件持久地滿足用戶的需要。即當軟件在使用過程中發(fā)現(xiàn)錯誤時應加以改正;當環(huán)境改變時應該修改軟件,以適應新的環(huán)境;當用戶有新要求時應該及時改進軟件,以滿足用戶的新要求。根據(jù)上述對軟件生命周期的介紹,可知選項C中的軟件維護不是軟件生命周期開發(fā)階段的任務。因此,本題的正確答案是C。
52.D解析:面向?qū)ο笏枷胫械娜齻€主要特征是:封裝性、繼承性和多態(tài)性。
53.D解析:表達式a+=a-=a*a看起來復雜,其實將它分成兩個表達式來計算就簡單了:①第一個表達式(a-=a*a)=(a=a-a*a=-12);②第二個表達式(a+=a-=a*a)=(a=a+a=-24)。
54.A解析:C語言是由函數(shù)構(gòu)成的。一個C程序可以包含一個主函數(shù),即main()函數(shù),也可以包含一個main()函數(shù)和若干其他函數(shù)。函數(shù)是C程序的基本單位。被調(diào)用的函數(shù)可以是系統(tǒng)提供的庫函數(shù),也可以是自定義的函數(shù)。從函數(shù)的形式上分為有參函數(shù)和無參函數(shù)。main()函數(shù)可以位于程序最前頭,也可以位于程序結(jié)尾或中間,C程序總是從main()函數(shù)開始執(zhí)行,不論main()函數(shù)在程序中的位置如何。C語言中函數(shù)必須獨立定義,不能在一個函數(shù)中定義另一個函數(shù),但可以在一個函數(shù)中調(diào)用另一個函數(shù),而且被調(diào)函數(shù)的定義可以在程序中的任何位置,不一定要在調(diào)用函數(shù)之前進行定義。若被調(diào)函數(shù)在調(diào)用函數(shù)之后定義,在調(diào)用函數(shù)中需要對被調(diào)函數(shù)進行類型說明。
55.B
56.C
57.A
58.A
59.A解析:條件表達式的形式如下:表達式1?表達式2:表達式3,所以本題條件表達式a<b?a:c<d?c:d應該理解為a<b?a:(c<d?c:d),首先求出條件表達式c<d?c:d的值等于2,再求條件表達式a<b?a:2的值,由于a-1<b-4成立,所以上述條件表達式的值等于1。
60.A解析:本題考查如何通過地址來引用數(shù)組元素。通過地址來引用數(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中定義了一個整型變量i和一個結(jié)構(gòu)體變量s。f函數(shù)中,通過指針a來引用數(shù)組中的元素;通過for循環(huán)語句將數(shù)組中除最后一個元素外的其他元素(由條件i<n-1決定的)分別加上由0開始的遞增數(shù)據(jù)(即0、1、2…8),所以最后的輸出結(jié)果為2,4,3,9,12,12,11,11,18,9,。
62.B
63.B黑盒測試法指的是根據(jù)程序的外部功能,把程序本身看成一個黑盒子,設計測試用例來驗證程序外部功能的正確性。
64.C解析:do-while語句的一般形式為:do循環(huán)體語句while(表達式);,其中循環(huán)體語句可以是復合型語句,但必須用花括號括起來。while后必須要有分號作為語句的結(jié)束,在do-while循環(huán)中,不可以省略while。
65.D\n通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用、退役的過程稱為軟件生命周期。也就是說,軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。軟件生命周期的主要活動階段為:可行性研究和計劃制定。確定待開發(fā)軟件系統(tǒng)的開發(fā)目標和總的要求,給出它的功能、性能、可靠性以及接口等方面的可能方案,制定完成開發(fā)任務的實施計劃。
\n需求分析。對待開發(fā)軟件提出的需求進行分析并給出詳細定義,即準確地確定軟件系統(tǒng)的功能。編寫軟件規(guī)格說明書及初步的用戶手冊,提交評審。
\n軟件設計。系統(tǒng)設計人員和程序設計人員應該在反復理解軟件需求的基礎上,給出軟件的結(jié)構(gòu)、模塊的劃分、功能的分配以及處理流程。
\n軟件實現(xiàn)。把軟件設計轉(zhuǎn)換成計算機可以接受的程序代碼。即完成源程序的編碼,編寫用戶手冊、操作手冊等面向用戶的文檔,編寫單元測試計劃。
\n軟件測試。在設計測試用例的基礎上,檢驗軟件的各個組成部分。編寫測試分析報告。
\n運行和維護。將已交付的軟件投入運行,并在運行使用中不斷地維護,根據(jù)新提出的需求進行必要而且可能的擴充和刪改。
\n本題答案是D)。
\n
66.D關(guān)系運算有傳統(tǒng)的集合運算和專門的關(guān)系運算,傳統(tǒng)的集合運算有交,差,并,除和笛卡爾積,專門的關(guān)系運算有鏈接,選擇,投影。
67.C本題考套的是宏定義。對帶參數(shù)的宏的
展開只是將語句中宏名后面括號內(nèi)的實參字符串代替#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)的功能是對字符串數(shù)組的元素按照字符串的長度從小到大排序。在主函數(shù)中執(zhí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 樂器批發(fā)市場的行業(yè)規(guī)范與標準考核試卷
- 生物制藥進展考核試卷
- 規(guī)培外科基本操作
- 電容器電荷存儲能力分析與優(yōu)化考核試卷
- 焙烤食品制造的市場開拓與銷售策略考核試卷
- 木材的擠出和注塑工藝考核試卷
- 電池結(jié)構(gòu)設計與仿真分析考核試卷
- 有機化學原料的全球市場趨勢考核試卷
- 電聲器件在智能機器人清潔器中的應用考核試卷
- 雜糧加工健康食品配方設計考核試卷
- 農(nóng)業(yè)推廣學復習要點
- 人員素質(zhì)測評理論與方法
- 【人教版】《勞動教育》六上 勞動項目六《制造手工肥皂》課件
- 部編版四年級語文下冊期中試卷+ 答題卡(含答案)
- DB53∕T 1269-2024 改性磷石膏用于礦山廢棄地生態(tài)修復回填技術(shù)規(guī)范
- 財務報表分析-第五章 營運能力分析
- mm立式矯直機輥系設計
- (教學設計)專題4 第2單元 基礎課時13 羧酸的性質(zhì)及應用2023-2024學年新教材高中化學選擇性必修3(蘇教版2019)
- 《建筑玻璃膜應用技術(shù)規(guī)程 JGJT351-2015》
- 2024年黑龍江龍東地區(qū)初中畢業(yè)學業(yè)統(tǒng)一考試中考物理試卷(真題+答案解析)
- 人教版音樂三年級下冊第五單元 打字機 教案
評論
0/150
提交評論