版權(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.有下面程序段#include"stdio.h"#include"string.h"main(){chara[3][20]={{"china"};{"isa"},{bigcountry!"}};chark[100]={0},*p=k;inti;for(j=0;j<3;i++){p=strcat(p,a[i]);}i=strlen(p);printf("%d\n",i);}則程序段的輸出結(jié)果是
A.18B.19C.20D.21
3.已知一個長度為32的有序表,若采用二分查找一個不存在的元素,則比較次數(shù)最多是()
A.4B.5C.6D.7
4.衡量顯示器的主要技術(shù)指標(biāo)是()
A.波特率B.分辨率C.主頻D.顯示速度
5.有以下程序:#include<stdio.h>voidfunc(intn){inti;for(i=0;i<=n;i++)printf("*"):printf("#");}main(){func(3);printf("????");func(4);printf("n\");程序運(yùn)行后的輸出結(jié)果()。A.****#????***#
B.***#????****#
C.**#????****#
D.****#????*****#
6.以下屬于C語言實(shí)型常量的是()。
A.+6eB.e6+6C.6e+6D..e+6
7.若有定義語句:"inta[4][10],*P,*q[4];"且0≤i<4,則錯誤的賦值是()。
A.D=aB.q[i]=a[i]C.p=a[l]D.P=&a[2][1]
8.下列程序的輸出結(jié)果是()。#include<stdio.h>voidp(int*x){printf("%d¨,++*x);}voidmain(){inty=3;p(&y);}A.3B.4C.2D.5
9.以下有關(guān)宏的描述不正確的是()。
A.宏定義不做語法檢查B.雙引號中出現(xiàn)的宏名不進(jìn)行替換C.宏名無類型D.宏名必須用大寫字母表示
10.A[N][N]是對稱矩陣,將下面三角(包括對角線)以行序存儲到一維數(shù)組T[N(N+1)/2]中,則對任一上三角元素a[i][j]對應(yīng)T[k]的下標(biāo)k是()。
A.i(i-1)/2+jB.j(j-1)/2+iC.i(j-i)/2+1D.j(i-1)/2+1
11.數(shù)據(jù)表A中有10000個元素,如果僅要求求出其中最大的10個元素,則采用()最節(jié)省時間。
A.堆排序B.希爾排序C.快速排序D.希爾排序
12.以下敘述正確的是()。
A.C語言程序是由過程和函數(shù)組成的
B.C語言函數(shù)可以嵌套調(diào)用,例如:fun(fun(x))
C.C語言函數(shù)不可以單獨(dú)編譯
D.C語言中除了main函數(shù),其他函數(shù)不可作為單獨(dú)文件形式存在
13.有以下程序
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
*q=*(p+5);
printf("%d%d\n",*p,*q);
}
程序運(yùn)行后的輸出結(jié)果是A.運(yùn)行后報(bào)錯B.66C.611D.510
14.已有定義:chara[]="xyz",b[]={'x','y','z'};,以下敘述中正確的是()。
A.數(shù)組a和b的長度相同B.a數(shù)組長度小于b數(shù)組長度C.a數(shù)組長度大于b數(shù)組長度D.以述說法都不對
15.
16.以下敘述中錯誤的是()。
A.一個C程序中可以包含多個不同名的函數(shù)
B.一個C程序只能有一個主函數(shù)
C.C程序在書寫時,有嚴(yán)格的縮進(jìn)要求,否則不能編譯通過
D.C程序的主函數(shù)必須用main作為函數(shù)名
17.層次型、網(wǎng)狀型和關(guān)系型數(shù)據(jù)庫劃分原則是()。
A.記錄長度B.文件的大小C.聯(lián)系的復(fù)雜程度D.數(shù)據(jù)之間的聯(lián)系方式
18.關(guān)于排序算法的以下說法,錯誤的是()
A.歸并排序的平均時間復(fù)雜度O(nlogn),最壞時間復(fù)雜度O(n^2)
B.堆排序平均時間復(fù)雜度O(nlogn),最壞時間復(fù)雜度O(nlogn)
C.冒泡排序平均時間復(fù)雜度O(n^2),最壞時間復(fù)雜度O(n^2)
D.快速排序的平均時間復(fù)雜度O(nlogn),最壞時間復(fù)雜度O(n^2)
19.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1,2,6,24,120,B.1,2,3,4,5,C.1,1,1,1,1,D.1,2,4,6,8,
20.下面不能正確表示a*b/(c*d)的表達(dá)式是()。
A.(a*b)/c*dB.a*b/(c*d)C.a/c/d*bD.a*b/c/d
二、2.填空題(20題)21.下列程序段的輸出結(jié)果是【】。
main()
{charb[]="Hello,you";
b[5]=0;
printf("%s\n",B);
}
22.軟件測試按功能劃分的方法劃分,通常分為【】測試方法和黑盒測試方法。
23.在數(shù)據(jù)的存儲結(jié)構(gòu)中,不僅需要存儲各數(shù)據(jù)元素的信息,還要存放各元素之間______的信息。
24.以下程序的功能是:刪去一維數(shù)組中所有相同的數(shù),使之只剩一個。數(shù)組中的數(shù)已按由小到大的順序排列,函數(shù)返回刪除后數(shù)組中數(shù)據(jù)的個數(shù)。
例如,若一維數(shù)組中的數(shù)據(jù)是:
2223445666677899101010
刪除后,數(shù)組中的內(nèi)容應(yīng)該是:
2345678910。
請?zhí)羁铡?/p>
#include<stdio.h>
#defineN80
intfun(inta[],intn)
{inti,j=1;
for(i=1;i<n;i++)
if(a[j-1]【】a[i])
a[j++]=a[i];
【】;
}
main()
{inta[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10},i,n=19;
printf("Theoriginaldata:\n");
for(i=0;i<n;i++)printf("%3d",a[i]);
n=fun(a,n);
printf("\nThedataafterdeleted:\n");
for(i=0;i<n;i++)printf("%3d",a[i]);printf("\n\n");
}
25.子程序通常分為兩類:【】和函數(shù),前者是命令的抽象,后者是為了求值。
26.隊(duì)列是限定在表的一端進(jìn)行插入和在另一端進(jìn)行刪除操作的線性表。允許刪除的一端稱作()。
27.通常,將軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程稱為【】。
28.關(guān)系操作的特點(diǎn)是______操作。
29.若有定義:inta[4][4]={{1,2,3,4},{0},{4,6,8,10},{1,3,5,7}},則初始化后,a[2][2]得到的初值是______。
30.下面程序的輸出結(jié)果是【】。
#defineMAX3
inta[MAX];
main()
{fun1();{un2(A);printf("\n");}
funl()
{intk,t=0;
for(k=0;k<MAX;k++,t++)a[k]=t+t;
}
fun2(intb[])
{intk;
for(k=0;k<MAX;k++)printf("%d",*(b+k));
}
31.已知字母A的ASCⅡ碼為65。以下程序運(yùn)行后的輸出結(jié)果是()。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,B);
}
32.軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的【】集合。
33.下列程序段的輸出結(jié)果是【】。
intn='c';
switch(n++)
{default:printf("error");break;
case'a':
case'A':
case'b':
case'B':printf("good");break;
case'c':case'C':printf("pass");
case'd':case'D':printf("warn");
}
34.以下程序的輸出結(jié)果是【】。
#defineMCRA(m)2*m
#defineMCRB(n,m)2*MCRA(n)+m
main()
{
inti=2,j=3;
printf("%d\n",MCRB(j,MCRA(i)));
}
35.算法的復(fù)雜度主要包括時間復(fù)雜度和______復(fù)雜度。
36.軟件維護(hù)活動包括以下幾類:改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。
37.數(shù)據(jù)庫系統(tǒng)其內(nèi)部分為三級模式,即概念模式、內(nèi)模式和外模式。其中,______是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。
38.設(shè)有下列宏定義:#defineA2
#defineBA+3
則執(zhí)行賦值語句;t=B*2;t為int型變量后的值是______。
39.下列程序的輸出結(jié)果是______。
#include<stdio.h>
fun()
{staticinta=0;
a+=3;printf("%d",A);
}
main()
{intcc;
for(cc=1;cc<5;cc++)fun();
printf("\n");
}
40.按照邏輯結(jié)構(gòu)分類,結(jié)構(gòu)可以分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),棧屬于______。
三、1.選擇題(20題)41.若有下列定義(設(shè)int類型變量占2個字節(jié)):inti=8,j=9;則下列語句:printf("i=%u,j=%x\n",i,j);輸出的結(jié)果是()。
A.i=8,j=9B.8.9C.89D.i=8,j=8
42.下列敘述中,不屬于軟件需求規(guī)格說明書的作用的是()
A.便于用戶,開發(fā)人員進(jìn)行理解和交流
B.反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù)
C.作為確認(rèn)測試和驗(yàn)收的依據(jù)
D.便于開發(fā)人員進(jìn)行需求分析
43.以下不正確的定義語句是
A.doublex[5]={2.0,4.0,6.0,8.0,10.0};
B.inty[5]={0,1,3,5,7,9};
C.charc1[]={′1′,′2′,′3′,′4′,′5′};
D.charc2[]={′\x10′,′xa′,′\x8′};
44.以下程序的輸出結(jié)果是______。main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;printf("%d%d%d",a[a],a[5],a[8]);}
A.258B.741C.852D.369
45.已知函數(shù)的調(diào)用形式:fread(buf,size,count,fp),參數(shù)buf的含義是
A.一個整型變量,代表要讀入的數(shù)據(jù)項(xiàng)總數(shù)
B.一個文件指針,指向要讀的文件
C.一個指針,指向要讀入數(shù)據(jù)的存放地址
D.一個存儲區(qū),存放要讀的數(shù)據(jù)項(xiàng)
46.若有定義:intaa[8]則以下表達(dá)式中不能代表數(shù)組元aa[1]的地址的是
A.&aa[0]+1B.&aa[1]C.&aa[0]++D.aa+1
47.若有說明:int*p,m=5,n;以下正確的程序段是
A.p=&n;scanf("%d",&p);
B.p=&n;scanf("%d",*p)
C.scanf("%d",&n);*p=n;
D.p=&n;*p=m;
48.以下能正確表示x在-5到-1或5到1范圍(含5和1)內(nèi),值為“真”的表達(dá)式是()
A.(x>=-5)||(x<=-1)&&(x<=5)&&(x>=1)
B.!(x>=-5||x<=-1&&x<=5||x>=1)
C.x<-5&&x>-1||x<1&&x>5
D.(x<-5)||(x>-1&&x<1)||(x>5)
49.數(shù)據(jù)的存儲結(jié)構(gòu)是指______。
A.數(shù)據(jù)所占的存儲空間量B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式D.存儲在外存中的數(shù)據(jù)
50.下列程序的輸出結(jié)果是______。main(){inti;for(i=l;i<6;i++){if(i%2){printf("#");continue;}printf("*");}printf("\n");}
A.#*#*#B.#####C.****D.*#*#*
51.下面四個選項(xiàng)中,均是不合法的用戶標(biāo)識符的選項(xiàng)是()。
A.AP_0doB.floatla0_AC.b-agotointD._123tempint
52.若要用下面的程序片段使指針變量p指向一個存儲整型變量的動態(tài)存儲單元int*pp=______malloc(sizeof(int));則應(yīng)填入______。
A.intB.int*C.(*int)D.(int*)
53.以下敘述中正確的是()。
A.構(gòu)成C程序的基本單位是函數(shù)
B.可以在一個函數(shù)中定義另一個函數(shù)
C.main()函數(shù)必須放在其他函數(shù)之前
D.所有被調(diào)用的函數(shù)一定要在調(diào)用之前進(jìn)行定義
54.下面程序的運(yùn)行結(jié)果是
#include<stdio.h>
main()
{inta=28,b;
chars[10],*p;
p=s;
do{b=a%16;
if(b<10)*p=b+48;
else*p=b+55;
p++;a=a/5;}while(a>0);
*p=′\0′;puts(s);}
A.10B.C2C.C51D.\0
55.C語言中各種基本數(shù)據(jù)類型的存儲空間長度排列為()
A.char≤long≤int≤float≤double
B.double≤float≤long≤int≤char
C.char≤int≤long≤float≤double
D.float≤int≤long≤char≤double
56.設(shè)有如下關(guān)系表:
則下列操作正確的是()。
A.T=R/SB.T=R×SC.T=R∩SD.T=R∪S
57.以下關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對象的敘述中正確的是______。A.只能是整數(shù)0或1B.只能是整數(shù)0或非0整數(shù)C.可以是結(jié)構(gòu)體類型的數(shù)據(jù)D.可以是任意合法的表達(dá)式
58.能正確表示“當(dāng)x的取值在[1,10]和[100,110]范圍內(nèi)為真,否則為假”的表達(dá)式是()
A.(x>=1)&&(x<=l0)&&(x>=100)&&(x<=110)
B.(x>=0‖(x<=10)‖(x>=100)‖x<=110)
C.(x>)&&(x<=10)‖(x>=100)&&(x<=110)
D.(x>=)‖x<=10)&&(x>=100)‖x<=110)
59.設(shè)有定義:10ngx=-123456L,則以下能夠正確輸出變量x值的語句是()。
A.printf("x=%d\n",x);
B.printf("x=%1d\n",x);
C.peintf("x=%8dL\n",x);
D.printf('x=%LD\n",x);
60.對長度為n的線性表進(jìn)行順序查找,在最壞情況下需要比較的次數(shù)為()。
A.125B.n/2C.nD.n+1
四、選擇題(20題)61.語句:“printf("%d",(a=)&&(b=-2));”的輸出結(jié)果是()。
A.無輸出B.結(jié)果是不確定C.-1D.1
62.
63.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1,1,2,0B.0,0,0,3C.編譯有錯D.0,1,2,0
64.設(shè)有定義:,以下不能計(jì)算出一"/Pchar型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是()。
65.
66.下列描述錯誤的是()。
A.繼承分為多重繼承和單繼承
B.對象之問的通信靠傳遞消息來實(shí)現(xiàn)
C.在外面看不到對象的內(nèi)部特征是基于對象的“模塊獨(dú)立性好”這個特征
D.類是具有共同屬性、共同方法的對象的集合
67.數(shù)據(jù)的存儲結(jié)構(gòu)是指()。
A.存儲在外存中的數(shù)據(jù)
B.數(shù)據(jù)所占的存儲空間
C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲方式
D.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的表示
68.當(dāng)變量c的值不為2、4、6時,值也為”真”的表達(dá)式是()。
A.(c>=2&&c<=6)&&(c%21=1)
B.(c==2)ll(e==4)II(C==6)
C.(C>=2&&c<=6)&&!(c%2)-
D.(c>=2&&c<=6)Il(c!=3)I|(C!=5)
69.
表示關(guān)系X<=Y<=Z的C語言表達(dá)式為()。
A.(X<=Y)&&(Y<=Z)
B.(X<=Y)AND(Y<=Z)
C.(X<=Y<=Z)
D.(X<一Y)&(Y<一Z)
70.
71.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實(shí)現(xiàn)、使用維護(hù)到停止使用退役的過程
B.軟件從需求分析、設(shè)計(jì)、實(shí)現(xiàn)到測試完成的過程
C.軟件的開發(fā)過程
D.軟件的運(yùn)行維護(hù)過程
72.
73.
74.(12)下列敘述中正確的是______。
A.線性表是線性結(jié)構(gòu)
B.棧與隊(duì)列是非線性結(jié)構(gòu)
C.線性鏈表是非線性結(jié)構(gòu)
D.二叉樹是線性結(jié)構(gòu)
75.有以下程序
.程序運(yùn)行后的輸出結(jié)果是()。
A.6B.9C.11D.7
76.
77.
78.
以下敘述中正確的是()。
A.預(yù)處理命令行必須位于C源程序的起始位置
B.在C語言中,預(yù)處理命令行都以“#”開頭
C.每個C程序必須在開頭包含預(yù)處理命令行:#include<stdio.h>
D.C語言的預(yù)處理不能實(shí)現(xiàn)宏定義和條件編譯的功能
79.以下程序的功能是計(jì)算:s=1+12+123+1234+12345
A.tB.t*10C.t*100D.t+10
80.
五、程序改錯題(1題)81.下列給定程序中,函數(shù)fun的功能是:求兩個非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。例如,若nmnl和num2分別為49和21,則輸出的最大公約數(shù)為7;若num1和num2分別為27和81,則輸也的最大公約數(shù)為27。請改正程序中的錯誤,使它能得出正確結(jié)果。注意:不要改動main函數(shù),不得增行或硼行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),其功能是找出一維整型數(shù)組元素中最大的值及其所在的下標(biāo),并通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n表示x中的元素個數(shù),max存放最大值,index存放最大值所在元素的下標(biāo)。注意:部分源程序給出如下。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:#include<time.h>#include<stdlib.h>#include<stdio.h>voidfun(inta[],intn,int*max,int*d){}voidmain(){ inti,x[20],max,index,n=10; srand((unsigned)time(NULL)); for(i=0;i<=n;i++) { x[i]=rand()%50; printf(“%4d”,x[i]); /*輸出一個隨機(jī)數(shù)組*/ } printf(n\nH); fun(xfnf&max,&index); printf(“Max=%5d,Index=%4d\n”,max,index);}
參考答案
1.D
2.B解析:字符串連接函數(shù)strcat的調(diào)用形式如下:strcat(s1,s2)。此函數(shù)用來把s2所指字符串的內(nèi)容連接到s1所指的字符串后面,并自動覆蓋s1串末尾的尾標(biāo),函數(shù)返回s1的地址值。
3.C
4.B
5.D本題考查簡單的for循環(huán),func(3)由于i是從0開始,所以會輸出四個“*”和一個“#”,然后打印四個“?”func(4),會輸出五個“*”和一個“#”,所以答案選擇D。
6.CC語言的實(shí)型常量可以用小數(shù)形式、指數(shù)形式來表示。題中的選項(xiàng)都是指數(shù)形式,指數(shù)形式的一般形式為:尾數(shù)E(或e)整型指數(shù)。C語言規(guī)定,字母E或e之前必須要有數(shù)字,且E或e后面的指數(shù)必須為整數(shù),E或e的前后以及數(shù)字之間不得插入空格。故本題答案為C選項(xiàng)。
7.A數(shù)組名是一個存放一個數(shù)組首地址的值,是一個地址常量。而p=a不是合法的,因?yàn)閜和a的基本類型不同。
8.B本題考查函數(shù)調(diào)用時的參數(shù)傳遞。在函數(shù)調(diào)用時,形參是指向?qū)崊⒌闹羔樧兞?,則printf的執(zhí)行結(jié)果為++x;x=3,則3+1=4。
9.D解析:本題考查宏的使用規(guī)則:①字符替換格式:#define標(biāo)識符字符串.標(biāo)識符稱為宏名,無類型;②雙引號中出現(xiàn)的宏名不替換;③宏名的定義通常用大寫字母,但不是必須用大寫;④宏定義不是賦值語句,不做語法檢查。
10.B
11.B
12.B解析:C語言中只有函數(shù)沒有過程,故選項(xiàng)A錯誤;C語言可以嵌套調(diào)用,故選項(xiàng)B正確;C語言函數(shù)可以單獨(dú)編譯成.dll文件,故選項(xiàng)C錯誤;C語言中除main函數(shù)以外,其他函數(shù)可作為單獨(dú)文件形式存在,故選項(xiàng)D也錯誤。
13.C解析:本題中第一行代碼對指針P進(jìn)行了初始化,其指向數(shù)組a的第6個元素,在其后的操作中p的值也沒有改變過,所以最后輸出*p=*\u3000\u3000(p+0)\u3000\u3000=a\u3000[5]\u3000=6,而第二行代碼中對q指向的值進(jìn)行賦值,等價于*q=a[10]=11,所以輸出結(jié)果*q為11。
14.C解析:對字符型一維數(shù)組在定義時初始化,既可以使用初始化列表,也可以使用字符串常量。不過由于字符串常量會自動在結(jié)尾添加\'\\0\',字符做結(jié)束標(biāo)志,所以用字符串常量的初始化列表項(xiàng)個數(shù)是字符串的長度加1。因此題目中的chara[]='xyz';等價于chara[]={\'x\',\'y\',\'z\',\'\\0\');,所以a數(shù)組長度大于b數(shù)組長度,應(yīng)該選C。
15.B
16.C【答案】C
【知識點(diǎn)】C程序的函數(shù)
【解析】C程序必須有且只有一個主函數(shù)main()。一個C程序可以包含多個不重名的子函數(shù)。C程序在書寫時沒有嚴(yán)格的縮進(jìn)要求,語句前的縮進(jìn)隨意。
17.D層次模型的基本結(jié)構(gòu)是樹形結(jié)構(gòu),網(wǎng)狀模型是一個不加任何條件限制的無向圖,關(guān)系模型采用二維表來表示,所以三種數(shù)據(jù)庫的劃分原則是數(shù)據(jù)之間的聯(lián)系方式。
18.A
19.Astatic靜態(tài)變量只在聲明時初始化一次。mul()累乘,第一次init=1,init}=val,第二次init=1,val=2,第三次init=2,val=3,第四次init=6,val=4,第五層init=24,val=5,因此結(jié)果為l,2,6,24,120。故答案為A選項(xiàng)。
20.A
21.HelloHello解析:字符串中,數(shù)值0或符號'/0'表示字符串的結(jié)束。本題中,b[5]被賦了0值,表明字符串b的第六個字符就是結(jié)束標(biāo)志。因此,只輸出前五個字符,即Hello。
22.白盒白盒解析:軟件測試的方法分為白盒測試方法和黑盒測試方法。
23.前后件關(guān)系前后件關(guān)系解析:在數(shù)據(jù)存儲結(jié)構(gòu)中,除了要存儲數(shù)據(jù),還要存儲數(shù)據(jù)的前后件關(guān)系,對于順序存儲的數(shù)據(jù)結(jié)構(gòu),前后件之間的關(guān)系,是通過存儲空間的位置來實(shí)現(xiàn)的,而對于鏈?zhǔn)酱鎯碚f,數(shù)據(jù)元素之間的前后件關(guān)系是通過指針來實(shí)現(xiàn)的。
24.!=returnj!=,returnj解析:本題程序的流程是:讓i,j都從1開始,其中j用于控制刪除后剩下的數(shù)中的下標(biāo),i用于搜索原數(shù)組中的元素。j始終是新數(shù)組已有元素中最后一個元素的下一個元素的下標(biāo),所以if()中的條件是a[j-1]!=a[i],其中a[j-1]就是新數(shù)組中的最后一個元素,若條件成立則表示出現(xiàn)了不同的值,所以a[i]要留到新數(shù)組中。注本題中i、j的初值都要從1開始,該算法只能用于數(shù)組已排序的題目中。
25.過程過程
26.隊(duì)頭隊(duì)頭解析:隊(duì)列是只允許在一端刪除,在另一端插入的順序表,在隊(duì)列中,允許插入的一端叫做“隊(duì)尾”,允許刪除的一端叫做“隊(duì)頭”。
27.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。一般包括可行性研究與需求分析、設(shè)計(jì)、實(shí)現(xiàn)、測試、交付使用以及維護(hù)等活動。
28.集合集合
29.88解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個一維數(shù)組都有4個元素,a[0]的元素為ap[0][0]、a[0][1]、a[0][2]、a[0][3]。
30.24
31.67G67G解析:根據(jù)題意,a=‘A’+‘5’-‘3’=65+2=67,b=67+4=71,71即為字母G的ASCⅡ碼值。程序要求按十進(jìn)制形式輸出a,按字符形式輸出b,所以結(jié)果為67G。
32.軟件工具軟件工具
33.passwarnpasswarn解析:n++是在執(zhí)行完其所在的語句后再加1,因此,在執(zhí)行case的時候,n的值依然為'c',執(zhí)行case'c'后面的語句,先打印出“pass”;在執(zhí)行完case'c'后,未遇到break跳出switch,便接著執(zhí)行下面的語句,又打印出warn。所以此題輸出結(jié)果是passwarn。
34.1616解析:首先用j和MCRA(i)替換MCRB(n,m)中的參數(shù)n和m,變成2*MCRA(j)+MCRA(i),再用j和i替換MCRA(m)中的參數(shù)m,變成2*2*j+2*i=2*2*3+2*2=16。
35.空間空間解析:算法的復(fù)雜度主要包括時間復(fù)雜度和空間復(fù)雜度。所謂算法的時間復(fù)雜度,是指執(zhí)行算法所需要的計(jì)算工作量。一個算法的空間復(fù)雜度,一般是指執(zhí)行這個算法所需要的內(nèi)存空間。
36.完善性軟件維護(hù)活動包括以下幾類:改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。
37.外模式外模式解析:數(shù)據(jù)庫系統(tǒng)的三級模式分別是內(nèi)模式、概念模式和外模式。其中,物理模式給出了數(shù)據(jù)庫的物理存儲結(jié)構(gòu)和存取方法;概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述;外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。
38.88解析:本題考查帶參數(shù)的宏定義及相關(guān)運(yùn)算.運(yùn)算過程為:t=B*2=A+3*2=2+3*2=8。
39.3691236912解析:本題考查最基本的for循環(huán):for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數(shù)為4次,每次a+=3即每次a的值增3,但因?yàn)閒un函數(shù)中變量a為static類型,所以每次調(diào)用完于函數(shù)之后,變量a所做的改變都要保存。
40.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是指數(shù)據(jù)元素之間的邏輯關(guān)系,分為線性結(jié)構(gòu)和非線性結(jié)構(gòu)。常見的線性結(jié)構(gòu)有線性表、棧和隊(duì)列等,常見的非線性結(jié)構(gòu)有樹、二叉樹等。
41.A解析:本題考查函數(shù)printf()的格式。“%x”表示以十六進(jìn)制輸出整型數(shù)據(jù);“%u”表示以十進(jìn)制無符號型輸出整型數(shù)據(jù)。printf函數(shù)中格式說明符之前插入的任何字符都原樣輸出。
42.D解析:軟件需求規(guī)格說明書SRS,SoftwareRequirementSpecification)是需求分析階段的最后成果,是軟件開發(fā)中的重要文檔之一。它有以下幾個方面的作用,①便于用戶、開發(fā)人員進(jìn)行理解和交流;②反映出用戶問題的結(jié)構(gòu),可以作為軟件開發(fā)工作的基礎(chǔ)和依據(jù);③作為確認(rèn)測試和驗(yàn)收的依據(jù)。
43.B解析:在一維數(shù)組中要注意的是作為下標(biāo)表達(dá)式的常量表達(dá)式的值必須是大于等于0,選項(xiàng)B)中定義有5個元素,但賦值時有6個元素,所以是錯誤的。
44.C解析:在本題運(yùn)行時主要注意的是當(dāng)i=9時,a[i]=10-9=1;i=8時,a[i]=10-8=2;i=7時,a[i]=10-7=3;……依此類推,直到i=0時,a[i]=10-0=10;此時,i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8]分別為8,5,2。
45.C本題主要考查成塊讀函數(shù)fread。在C語言中,提供了一種成塊的讀寫方式來操作文件,使其數(shù)組或結(jié)構(gòu)體等類型可以進(jìn)行一次性讀寫。成塊讀文件函數(shù)的調(diào)用形式為:
intfread(void*buf,intsize,intcount,FILE*stream)
fread()函數(shù)的意思是從stream指向的流文件讀取count(字段數(shù))個字段,每個字段為size(字段長度)個字符長,并把它們放到buf(緩沖區(qū))指向的字符數(shù)組中,然后進(jìn)行讀取操作。fread()函數(shù)返回實(shí)際已讀取的字段數(shù)。
從上面的分析我們可以知道,參數(shù)buf是一個無返回類型的指針,指向要讀入數(shù)據(jù)的存放地址,它其實(shí)是一個緩沖區(qū)。因此本題正確的答案選C。
46.C解析:本題考核的知識點(diǎn)是數(shù)組中元素地址的表示方法。在C語言中:數(shù)組的地址和數(shù)組中的第一個元素的地址相同。數(shù)組中第一個元素地址的表示方法為&aa[0],與其等價的有&aa[0]++,所以選項(xiàng)C不正確的;選項(xiàng)A為數(shù)組的第1個元素的地址下移一位即是第二個元素aa[1]的地址;B也為數(shù)組的第二個元素的地址,選項(xiàng)D中aa表示數(shù)組的地址,加1表示數(shù)組首地址后移一位,即代表數(shù)組元素中的第二個元素aa[1]的地址。所以,4個選項(xiàng)中C為所選。
47.D解析:“&”是求址運(yùn)算符,“*”是指變量說明符。選項(xiàng)A)、B)應(yīng)改為scanf('%d',p);選項(xiàng)C)中指針變量p未指向一確定的內(nèi)存單元,不能為其賦值,并且這樣做很危險,建議不使用。
48.A
49.B解析:數(shù)據(jù)元素在計(jì)算機(jī)存儲空間中的位置關(guān)系與它們的邏輯關(guān)系不一定是相同的,而且一般不可能相同。數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲空間中的存放形式稱為數(shù)據(jù)的存儲結(jié)構(gòu),也稱數(shù)據(jù)的物理結(jié)構(gòu)。
50.A
51.C解析:C語言規(guī)定的標(biāo)識符只能由字母、數(shù)字和下劃線3種字符組成,第一個字符必須為字母或下劃線,并且不能使用C語言中的關(guān)鍵字作為標(biāo)識符。選項(xiàng)C)中g(shù)oto和int是關(guān)鍵字,b-a中'-'不是組成標(biāo)識符的3種字符之一;選項(xiàng)D)中int是關(guān)鍵字,所以,均是不合法用戶標(biāo)識符的選項(xiàng)是C)。
52.D解析:不論p是指向什么類型的指針變量,都可以通過強(qiáng)制類型轉(zhuǎn)換的方法使之類型一致,強(qiáng)制類型轉(zhuǎn)換的格式為(數(shù)據(jù)類型*)。
53.A解析:本題綜合考查C語言的概念部分,關(guān)于C語言,我們應(yīng)該了解以下必須要掌握的基礎(chǔ)知識:
①C程序是由函數(shù)構(gòu)成的。
②一個函數(shù)由兩部分組成:函數(shù)的首部和函數(shù)體。
③一個C程序總是從main函數(shù)開始執(zhí)行的,而不論main函數(shù)的整個程序中的位置如何(main函數(shù)可以放在程序最開始,也可以放在程序最后,或?qū)懺谝恍┖瘮?shù)之前,在另一些函數(shù)之后)。
④C程序在書寫上,表現(xiàn)形式比較自由,一行內(nèi)可以寫幾個語句,一個語句可以分寫在幾行上。每個語句和數(shù)據(jù)定義的最后必須有一個分號。
⑤C程序本身沒有輸入輸出語句。輸入和輸出的操作是由庫函數(shù)scanf和printf等函數(shù)來完成。
⑥可以用/*……*/對C語言的程序的任何部分作注釋。
54.C解析:考查用字符指針處理字符串的方法。語句'p=s;'是使指針p指向字符數(shù)組s。*p則引用了p所指位置的數(shù)組元素。通過指針來引用一維數(shù)組元素。
55.C
56.C解析:T就是關(guān)系R中有的,同時S中也有的有序組(1、2、3),即交運(yùn)算(∩)。
57.D只要是合法的表達(dá)式,都可以作為邏輯運(yùn)算符的運(yùn)算對象。因此可知選項(xiàng)A、B、C錯誤。故本題答案為D選項(xiàng)。
58.C解析:本題考查邏輯與(&&)和邏輯或(‖)運(yùn)算符的使用。x>=1和x<=10是邏輯與的關(guān)系,因此C語言表達(dá)式應(yīng)寫成'(x>=1)&&(x<=10)',x>:100和x<=110也是邏輯-與的關(guān)系,因此C語言表達(dá)式應(yīng)寫成“(x>=100)&&(x<=110)”;[1\'10]和[100,110]是邏輯或的關(guān)系,因此只要將前兩個表達(dá)式用邏輯或運(yùn)算符連接起來即可,所以最后的表達(dá)式:(x>=1)&&(x<=10)‖(x>=100)&&(x<=110)。
59.B解析:x為一個長整型的變量,而且是一個十進(jìn)制的數(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026江蘇無錫市錫山區(qū)教育系統(tǒng)招聘青年人才120人備考考試試題及答案解析
- 冬季主題策劃活動方案(3篇)
- 超市晚場活動方案策劃(3篇)
- 實(shí)體餐飲活動策劃方案(3篇)
- 2026廣東省疾病預(yù)防控制中心招聘科研助理2人備考考試試題及答案解析
- 2026廣西來賓市第一中學(xué)招聘編外教師2人備考考試試題及答案解析
- 2026云南師范大學(xué)實(shí)驗(yàn)中學(xué)巫家壩校區(qū)招聘7人備考考試題庫及答案解析
- 2026年荊州市中心城區(qū)企業(yè)(民辦高校)引進(jìn)人才780人備考考試題庫及答案解析
- 2026河北省某省級三甲醫(yī)院現(xiàn)誠招肝病科醫(yī)師備考考試題庫及答案解析
- 護(hù)理技能展示:5分鐘內(nèi)答對30題
- 輸電線路巡視
- 2025至2030全球及中國變壓器監(jiān)測行業(yè)調(diào)研及市場前景預(yù)測評估報(bào)告
- 2025年世界職業(yè)院校技能大賽中職組“護(hù)理技能”賽項(xiàng)考試題庫(含答案)
- 中藥麥冬多糖的提取與免疫調(diào)節(jié)
- 產(chǎn)程中入量管理的研究進(jìn)展
- 08J02 彩色壓型鋼板外墻保溫隔熱建筑構(gòu)造
- 光伏發(fā)電安全管理制度匯編
- 國際發(fā)展合作署面試輔導(dǎo)
- 電力設(shè)備檢測方案
- 2020中國藥典無水乙醇輔料標(biāo)準(zhǔn)解讀
- 工程造價英語核心詞匯手冊
評論
0/150
提交評論