版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2022年江西省景德鎮(zhèn)市全國計算機等級考試C語言程序設計重點匯總測試卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.如下程序的時間復雜度為(其中m>1,e>0)A.logmB.m的平方C.m的1/2方D.m的1/3方
2.設單鏈表中結點的結構為已知指針p所指結點不是尾結點,若在*p之后插入結點*s,則應執(zhí)行下列哪一個操作______。A.s->link=p;p->link=s;
B.s->link=p->link;p->link=s;
C.s->link=p->link;p=s;
D.p->link=s;s->link=p;
3.有以下程序:#include<stdio.h>main(){inta=-2,b=0;while(a++++b);printf("%d,%d\n",a,b);}程序運行后的輸出結果是()。A.1,3B.0,2C.0,3D.1,2
4.設有定義“doublea;chard;floatb;”,若想把1.2賦給變量a、字符‘k’賦給變量d、3.4賦給變量b,程序運行時通過鍵盤輸入1.2k3.4并按<Enter>鍵,則以下正確的讀入語句是()。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);
5.對線性表進行折半查找時,要求線性表必須()。A.A.以順序方式存儲
B.以順序方式存儲,且結點按關鍵字有序排列
C.以鏈式方式存儲
D.以鏈式方式存儲,且結點按關鍵字有序排列
6.十六進制數(shù)FF.1轉(zhuǎn)換成十進制數(shù)是()
A.255.0625B.255.125C.127.0625D.127.125
7.數(shù)據(jù)庫管理系統(tǒng)中負責數(shù)據(jù)模式定義的語言是()。A.數(shù)據(jù)定義語言B.數(shù)據(jù)管理語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言
8.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程
B.軟件從需求分析、設計、實現(xiàn)到測試完成的過程
C.軟件的開發(fā)過程
D.軟件的運行維護過程
9.
10.有以下程序:
程序執(zhí)行后的輸出結果是()。
A.1B.2C.3D.4
11.下面是有關C語言字符數(shù)組的描述,其中錯誤的是()。
A.不可以用賦值語句給字符數(shù)組名賦字符串
B.可以用輸入語句把字符串整體輸入給字符數(shù)組
C.字符數(shù)組中的內(nèi)容不一定是字符串
D.字符數(shù)組只能存放字符串
12.若有以下說明和定義uniondt{inta;charb;doublec;}data;以下敘述中錯誤的是
A.data的每個成員起始地址都相同
B.變量data所占內(nèi)存字節(jié)數(shù)與成員c所占字節(jié)數(shù)相等
C.程序段:data.a=5;printf(“%I'm”,data.C);輸出結果為5.000000
D.data可以作為函數(shù)的實參
13.求2n個數(shù)中的最大值和最小值,最少的比較次數(shù)是()
A.4n/3B.2n-2C.3n-2D.3n/2
14.
15.有以下程序:fun(intx){intP;if(x==0||x==l)return(3);p=x-fun(x-2);returnp;}main{printf("%d\n",fun(7));}程序執(zhí)行后的輸出結果是()。A.7B.3C.2D.0
16.程序運行后的輸出結果是()。A.3B.4C.1D.9
17.對n個元素的有序表A[1..n]進行順序查找,其成功查找的平均查找長度(即在查找表中找到指定關鍵碼的元素時,所進行比較的表中元素個數(shù)的期望值)為()
A.nB.(n+1)/2C.log2nD.n^2
18.有以下程序:#includeintfun(intx,inty){if(x!=y)return(x+y)/2);elsereturn(x);}Main(){Inta=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c));}A.6B.3C.8D.12
19.若需要0(nlog2n)的時間內(nèi)完成對數(shù)組的排序,且要求排序是穩(wěn)定的,則可選擇排序方法是()。A.快速排序B.堆排序C.歸并排序D.直接插入排序
20.若有說明語句:inta,b,c,*d=&c;,則能正確從鍵盤讀入3個整數(shù)分別賦給變量a、b、c的語句是______。
A.scanf("%d%d%d",&a,&b,d);
B.scanf("%d%d%d",&a,&b,&d);
C.scanf("%d%d%d",a,b,d);
D.scanf("%d%d%d",a,b,*d);
二、2.填空題(20題)21.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項、數(shù)據(jù)結構、數(shù)據(jù)流、______和處理過程。
22.以下程序運行后的輸出結果是【】。
main()
{inta=1,b=3,c=5;
if(c=a+b)printf("yes\n");
elseprintf("no\n");
}
23.下面程序的運行結果是()。#definePOW(r)r*rmain(){intx=2,y=3,t;t=POW(x+y);printf("%d\n",t);}
24.軟件維護活動包括以下幾類:改正性維護、適應性維護、【】維護和預防性維護。
25.下面程序中函數(shù)fun的功能是:找出一維數(shù)組元素中的最大值和它所在的下標,并將最大值和其下標通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個數(shù),max存放最大值,index存放最大值所在元素的下標。請?zhí)羁铡?/p>
#include<stdlib.h>
#include<sldio.h>
voidfun(inta[],intn,int*max,int*d)
{inti;
*max=a[0];*d=0;
for(i=0;【】;i++)
if(*max<【】)
{*max=a[i];*d=i;}
}
main()
{inti,x[20],max,index,n=10;
randomize();
for(i=0;i<n;i++)
{x[i]=rand()%50;printf("%4d",x[i]);}
printf("\n");
fun(x,n,&max.&index);
printf("Max=%5d,Index=%4d\n",max,index);
}
26.在一棵二叉樹上第6層的結點個數(shù)最多是【】。
27.一個項目具有一個項目主管,一個項目主管可管理多個項目,則實體"項目主管"與實體"項目"的聯(lián)系屬于【】的聯(lián)系。
28.一棵二叉樹第6層(根結點為第一層)的結點最多為______個。
29.在對文件操作的過程中,若要求文件的位置指針回到文件的開始處,應當調(diào)用的函數(shù)是【】。
30.函數(shù)sstrcmp的功能是對兩個字符串進行比較。當s所指字符串和t所指字符串相等時,返回值為0;當s所指字符串大于t所指字符串時,返回值大于0;當s所指字符串小于t所指字符串時,返回值小于0(功能等同于庫函數(shù)strcmp)。請?zhí)羁铡?/p>
#include<stdio.h>
intsstrcmp(char*s,char*t)
{while(*s&&*t&&*s==【】)
{s++;t++;}
return【】;
}
31.二分法查找僅限于這樣的表:表中的數(shù)據(jù)元素必須有序,其存儲結構必須是______。
32.以下程序的運行結果是【】。
#include<string.h>
typedefstructstudent{
charname[10];
longsno);
floatscore
}STU;
main()
{STUa={"zhangsan",2001,95},b={"Shangxian",2002,90}
c={"Anhua",2003,95},d,*p=&d;
d=a;
if(strcmp(,)>0)d=b;
if(strcmp(,)>0)d=c;
printf("%1d%s\n",d.sno,p->name);
}
33.數(shù)據(jù)元素之間______的整體稱為邏輯結構。
34.下面程序
main()
{inti,j,m,n;
i=5;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}
運行后,i,j,m,n的值分別是_______。
35.設有定義:intn,*k=&n;以下語句將利用指針變量k讀寫變量n中的內(nèi)容,請將語句補充完整。
scanf(“%d”,______);
printf(“%d\n”,______);
36.對軟件是否能達到用戶所期望的要求的測試稱為【】。
37.下列程序中的數(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]);
}
}
38.下列程序的運行結果是______。
#include<stdio.h>
main()
{inta=10,b=3;
printf("%d,",a%b);
printf("%d,",(a-h,a+b));
printf("%d\n",a-b?a-b:a+b);
}
39.根據(jù)以下if語句寫出與其功能相同的switch語句(x的值在0~100之間)。
if語句:
if(x<60)m=1;
elseif(x<70)m=2;
elseif(x<80)m=3;
elseif(x<90)m=4;
elseif(x<100)m=5;
switch語句:
switch(【】)
{
【】m=1;break;
case6:m=2;break;
case7:m=3;break;
case8:m=4;break;
【】m=5;
}
40.下面的程序可對指定字符串中的字符串進行從大到小排序,請將程序完整。(注:程序采用了冒泡排序算法)
#include<stdio.h>
#include<string.h>
main()
{char*str="ABCDabcd",temp;
intn,i;
n=strlen(str);
while(n->1)
for(i=0;i<n;i++)
if(str[i]<str[i+1])
{temp=【】;
str[i]=str[i+1];
【】=temp;
}
printf(【】);
}
三、1.選擇題(20題)41.若x和y代表整型數(shù),以下表達式中不能正確表示數(shù)學關系|x-y|<10的是()。
A.abs(x-y)<10
B.x-y>-10&&x-y<10
C.!(x-y)<-10||!(y-x)>10
D.(x-y)*(x-y)<100
42.需求分析階段的任務是()
A.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件開發(fā)費用D.軟件系統(tǒng)功能
43.有以下程序main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}執(zhí)行扣輸出的結果是
A.11122B.12C.12020D.120
44.有以下程序:#include<stdio.h>main(){intk=4,n=0;for(;n<k;){n++;if(n%3!=0)continue;k--;}printf("%d,%d\n",k,n);}程序運行后的輸出結果是()。
A.1,1B.2,2C.3,3D.4,4
45.下列選項中,不能用作標識符的是A._1234_B._1_2C.int_2_D.2_int_
46.下列數(shù)據(jù)模型中,具有堅實理論基礎的是()。
A.層次模型B.網(wǎng)狀模型C.關系模型D.以上3個都是
47.程序中對fun()函數(shù)有如下說明void*fun();此說明的含義是______。
A.fun函數(shù)無返回值
B.fun函數(shù)的返回值可以是任意的數(shù)據(jù)類型
C.fun函數(shù)的返回值是無值型的指針類型
D.指針fun指向一個函數(shù),該函數(shù)無返回值
48.使計算機病毒傳播范圍最廣的媒介是________
A.硬磁盤B.軟磁盤C.內(nèi)部存儲器D.互聯(lián)網(wǎng)
49.有如下程序#include<stdio.h>main(){FILE*fp1;fp1;fopen("ftxt","w");fprintf(fpl,"abc")fclose(fpl);}若文本文件f1.txt中原有內(nèi)容為:good,則運行以上:程序后文件f1.Mt中的內(nèi)容為
A.goodabcB.abcdC.abcD.abcgood
50.下面程序的輸出結果是()。#include"stdio.h"intsub(intm){statica=4;a+=m;returna;}voidmain(){inti=2,j=1,k;k=sub(i);k=sub(j);printf("%d",k);}
A.6B.7C.8D.9
51.下列數(shù)據(jù)結構中能應用二分查找的是()。
A.有序線性鏈表B.有序順序表C.順序存儲的棧D.順序存儲的隊列
52.下列關于字符串的說法中錯誤的是
A.在C語言中,字符串是借助于字符型一維數(shù)組來存放的,并規(guī)定以字符′\0′作為字符串結束標志
B.′\0′作為標志占用存儲空間,計入串的實際長度
C.在表示字符串常量的時候不需要人為在其末尾加入′\0′
D.在C語言中,字符串常量隱含處理成以′\0′結尾
53.有下列程序段:
intn,t=-1,S=0;
scanf("%d",&n);
do{s=s+t;t=t-2;}while(t!=n);
為使此程序段不陷入死循環(huán),從鍵盤輸入的數(shù)據(jù)應該是()。
A.任意正奇數(shù)B.任意負偶數(shù)C.任意正偶數(shù)D.任意負奇數(shù)
54.下列程序執(zhí)行后輸出的結果是______。intd=1;fun(intp){intd=5;d+=p++;printh("%d,",d);}main(){inta=3;fuin(a);d+=a++;printf(:%d\n",d);}
A.8,12B.9,13C.8,4D.9,5
55.有以下程序:voidsum(int*A){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--)sum(&aa[i]);printf("%d\n",aa[0]);}執(zhí)行后的輸出結果是
A.4B.3C.2D.1
56.軟件調(diào)試的目的是______。
A.發(fā)現(xiàn)錯誤B.改正錯誤C.改善軟件的性能D.挖掘軟件的潛能
57.若指針p已正確定義,要使p指向兩個連續(xù)的整型動態(tài)存儲單元,則正確的語句是()。
A.p=2*(int*)malloc(sixeof(int))
B.p=(int*)calloc(2*sixeof(int))
C.p=(int*)malloc(2*sizeof(int))
D.p=2*(int*)calloc(sizeof(int))
58.有以下程序:main(){inta[][3]={{1,2,3},{4,5,0}},(*pa)[3],i;pa=a;for(i=0;i<3;i++)if(i<2)pa[1][i]=pa[1][i]-1;elsepa[1][i]=1;printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}執(zhí)行后輸出結果是()。
A.7B.6C.8D.無確定值
59.閱讀下面程序段,則執(zhí)行后的結果為#include"stdio.h"main(){intm=4,n=2,k;k=fun(m,n);printf("%d\n",k);}fun(intm,intn){return(m*m*m-n*n*n);}
A.64B.8C.56D.0
60.有以下結構體說明和變量定義,如圖所示:struetnode{intdata;structnode*next;}*p,*q,*r;
現(xiàn)要將q所指結點從鏈表中刪除,同時要保持鏈表的連續(xù),以下不能完成指定操作的語句是
A.p->next=q->next;
B.p->next=p->next->next;
C.p->next=r;
D.p=q->next;
四、選擇題(20題)61.有以下程序:
程序運行后的輸出結果是()。
A..3,2,1,B.1,2,3,4,5,6,C.1,1,1,1,1,lD.6,6,6,6,6,6,
62.若變量已正確定義,在if(W)塒ntf(”%d\n”,k);中,以下不可替代w的是()。
A.a<>b+CB.ch=getcharC.a==b+CD.a++
63.
下列程序的輸出結果是()。
#include<stdio.h>
main()
{inta=2,b=3,P;
p=f(a,b);
printf(”%d”,p);
}
intf(a,b)
{intc;
if(a>b)c=1;
elseif(a==b)c=0;
elsec=-l;
return(c);
}
A.-lB.0C.1D.2
64.有以下程序:
程序運行后的輸出結果是()。
A.1*1=11*2=21*3=32*1=22*2=43*1=3
B.1*1=11*2=21*3=32*2=42*3=63*3=9
C.1*1=11*2=22*2=41*3=32*3=63*3=9
D.1*1=12*l=22*2=43*1=33*2=63*3=9
65.表達式:(im)((double)9/2)一9%2的值是()。
A.0B.3C.4D.5
66.有以下程序運行時,‘若輸入l23450<回車>,則輸出結果是()。
A.6566456B.66656C.66666D.6666656
67.
68.在軟件設計中不使用的工具是()。
A.系統(tǒng)結構圖
B.程序流程圖
C.PAD圖
D.數(shù)據(jù)流圖(DFD圖)
69.
70.以下語句中存在語法錯誤的是()。
71.
72.(20)數(shù)據(jù)庫設計包括兩個方面的設計內(nèi)容,它們是()
A.概念設計和邏輯設計
B.模式設計和內(nèi)模式設計
C.內(nèi)模式設計和物理設計
D.結構特性設計和行為特性設計
73.若有定義:intX=0,*P=&x;,則語句printf(”%d\n”,*P.的輸出結果是()。
A.隨機值B.0C.X的地址D.P的地址
74.有下列程序
voidfunc1(inti);
voidfunc2(inti);
charst[]="hello,friend!";
voidfunc1(inti)
{printf("%c",st[i]);
if(i<3){i+=2;func2(i);}
}
voidfunc2(inti)
{printf("%c",st[i]);
if(i<3){i+=2;func1(i);}
}
main()
{inti=0;func1(i);
printf("\n");
}
執(zhí)行后的輸出結果是
A.helloB.hel
C.hloD.hlm
75.數(shù)據(jù)庫系統(tǒng)的核心是()。
A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫D.數(shù)據(jù)庫管理員
76.以下敘述中錯誤的是()。
A.可以給指針變量賦一個整數(shù)作為地址值
B.函數(shù)可以返回地址值
C.改變函數(shù)形參的值,不會改變對應實參的值
D.當在程序的開頭包含頭文件stdi0.h時,可以給指針變量賦NULL、、、
77.在面向?qū)ο蠓椒ㄖ?,不屬于“對象”基本特點的是A.一致性B.分類性C.多態(tài)性D.標識唯一性
78.以下程序的輸出結果是()。
A.1,2,3,4,5,6,7,8,9,10,
B.1,2,3,4,10,12,14,16,9,10,
C.1,2,6,8,10,12,7,8,9,10,
D.1,2,6,8,10,12,14,16,9,10,
79.有以下函數(shù)intaaa(char*s){char*t=s;while(*t+t);t--:return(t-s);}以下關于aaa函數(shù)的功能敘述正確的是()。A.求字符串S的長度B.比較兩個串的大小C.將串S復制到串tD.求字符串S所占字節(jié)數(shù)
80.有以下程序:
程序執(zhí)行后的輸出結果是()。
A.20B.25C.45D.36
五、程序改錯題(1題)81.下列給定程序中,函數(shù)fun()的功能是:將長整型數(shù)中各位上為奇數(shù)的數(shù)依次取出,構成一個新數(shù)放在t中。高位仍在高位,低位仍在低位。例如,當s中的數(shù)為87653142時,t中的數(shù)為7531。請改正程序中的錯誤,使它能得出正確的結果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構!試題程序:
六、程序設計題(1題)82.編寫函數(shù)fun,其功能是:實現(xiàn)兩個字符串的連接(不要使用庫函數(shù)strcat),即把p2所指的字符串連接到pl所指的字符串的后面。
例如,分別輸人下面兩個字符串:FirstString——SecondString
程序運行后的輸出結果是:FirstString————SecondString
注意:部分源程序在文件PROGl.C中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
參考答案
1.A
2.B
3.D輸出的結果是:-1,1\r\n0,2\r\n1,2
4.B變量a是double類型,輸入格式符為%lf;變量d是char類型,輸入格式符為%c;變量b是float類型,輸入格式符為%f,選項C、D錯誤。由于輸入的數(shù)據(jù)之間使用空格間隔,因此scanf函數(shù)中的格式控制字符串中,格式字符之間也要使用空格。故本題答案為B選項。
5.B
6.A
7.AA。數(shù)據(jù)定義語言(DDL)是集中負責數(shù)據(jù)庫模式定義與數(shù)據(jù)庫對象定義的語言。數(shù)據(jù)操縱語言(DML)是指用來查詢、添加、修改和刪除數(shù)據(jù)庫中數(shù)的語句。數(shù)據(jù)控制語言(DCL)是用來設置或者更改數(shù)據(jù)為用戶或角色權限的語句。據(jù)此,本題正確答案為選項A。
8.A通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。也就是說,軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。
9.D
10.C該程序中int8pl=&a,+p2=&b,4P=&c;指定義三個指針變量,并賦值,即使pl指向a;p2指向b;p指向c。+P=。pl$(+p2)。;該條語句是給P所指的存儲單元c賦值,就是pl所指的存儲單元的值,即a的值,與p2所指的存儲單元b的值相乘,也就是c=a+b,等價于c=1·3=3;因此C選項正確。‘
11.D\n用來存放字符量的數(shù)組稱為字符數(shù)組。字符數(shù)組也可以是二維或多維數(shù)組,對一個字符數(shù)組,如果不作初始化賦值,則必須說明數(shù)組長度,還可用printf函數(shù)和scarlf函數(shù)一次性輸出/輸入一個字符數(shù)組中的字符串,而不必使用循環(huán)語句逐個地輸入/輸出每個字符。通常用一個字符數(shù)組來存放一個字符串。所以D選項不正確。
\n
12.C解析:本題考查的共用體的概念。共用體變量中的所有成員共享一段公共存儲區(qū),所以共用體變量所占內(nèi)存字節(jié)數(shù)與其成員中占字節(jié)數(shù)最多的那個成員相等.本題定義的共用體中成員C所占的內(nèi)存最多,因此選項B是正確的。由于共用體變量中的所有成員共享存儲空間,因此變量中的所有成員的首地址相同,選項A是正確的。同結構體變量一樣,共用體類型的變量可以作為實參進行傳遞,也可以傳送共用體變量的地址,選項D也是正確的。在內(nèi)存中,實數(shù)與整數(shù)的存放形式完全不一樣,共用體的成員共用的是同一塊內(nèi)存,而不是同一個數(shù)值,因此選項C是錯誤的。
13.A
14.A
15.C在函數(shù)funlintx)中,有個if語句判斷,如果參數(shù)x等于0或1時,返回值,否則進入下面的p=x-fun(x-2)遞歸函數(shù)。當在主函勢中調(diào)用fun(7)時,其過程為:“fun(7)=7-fun(5)=7-(5一fun(3))=7-(5-(3-fun(1)))=7-(5-(3—3))=7-5=2”,所以最后的輸出結果為2。
16.B[解析]每次內(nèi)循環(huán)只循環(huán)一-次就結束,第一次外循環(huán)時t=t+b[][0][]=1+b[0][0]=1+0=1;第二次外循環(huán)時t=t+b[1][b[1][1]]=1+b[1][1]=1+1=2;第三次外循環(huán)時t=t+b[][2][]=2+b[2][2]=2+2=40
17.B
18.A本題中第一次調(diào)用為fun(8,fun(5,6)),因為fun(5,6)返回值為5,所以第二次調(diào)用為fun(8,5)=6。所以選擇A)。
19.C
20.A解析:選項B中d已經(jīng)為地址,不應在加上求地址符號“&”,故選項B不正確;選項C中,a和b都為變量不是地址,應該在a和b之前加上求地址符號“&”,故選項C不正確:選項D中指針d所指向的存儲空間的位置為變量c的值,不為地址,故選項D不正確,所以,4個選項中A為所選。
21.數(shù)據(jù)存儲數(shù)據(jù)存儲
22.yesyes解析:if語句的條件語句為c=a+b=1+3=4,即條件為真,執(zhí)行語句printf('yes\\n');,輸出結果為yes。
23.11
24.完善性軟件維護活動包括以下幾類:改正性維護,適應性維護、完善性維護和預防性維護,完善性維護是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴充軟件功能、增強軟件性能、改進加工效率、提高軟件的可維護性。
25.i<na[i]i<na[i]解析:在main函數(shù)中,randomize是為了生成隨機種子,以便在使用rand函數(shù)時產(chǎn)生不同的數(shù)。通過循環(huán)用rand函數(shù)產(chǎn)生10個隨機數(shù)。在fun函數(shù)中,要在n個數(shù)中找最大值,所以第一處填寫i<n,每次將當前最大值與數(shù)組中的某元素比較,第二處填寫a[i]。
26.3232解析:根據(jù)二叉樹的性質(zhì),在二叉樹的第k層上,最多有2的k-1次方個結點。所以,第6層的結點數(shù)最多為32。
27.一對多(或1∶N)一對多(或1∶N)解析:兩個實體集間的聯(lián)系實際上是實體集間的函數(shù)關系,這種函數(shù)關系可以有3種,即一對一(1∶1)的聯(lián)系、一對多(1∶N)或多對一(N∶1)的聯(lián)系和多對多(N∶N)的聯(lián)系。
28.3232解析:二叉樹第k層上,最多有2k-1(k≥1)個結點。第6層的結點數(shù)最多是26-1=32。注意區(qū)別“二叉樹的結點最多數(shù)”和“某一層的結點最多數(shù)”。前者的計算是深度為m的二叉樹最多有2m-1個結點。
29.rewind()或fseek()rewind()或fseek()
30.*t或t[0]*s-*t或*s-t[0]或s[0]-*t或s[0]-t[0]*t或t[0]\r\n*s-*t或*s-t[0]或s[0]-*t或s[0]-t[0]解析:函數(shù)sstrcmp()有兩個字符型指針變量,用來指向兩個字符串。比較兩個字符串的大小方法是:從第一個字符開始依次向后比較,若對應的字符相等則接著比較下一個字符,一直到兩個字符串中對應字符不等,或者有一個為\\0,此時字符的ASCII碼大的字符串就大。故循環(huán)條件是*s和*t不為\\0,且*s和*t相同,第一處應填“*t”或其他等價形式。根據(jù)題意可知第二處應填*s-*t或其等價形式。
31.順序存儲(順序方式存儲)順序存儲(順序方式存儲)解析:二分法查找對表的要求是有序的順序表,即第一要求是數(shù)據(jù)元素有序,第二要求是按順序方式存儲。
32.2002shangxian2002shangxian解析:\'B\'的ASCII值是66。本題中指針變量p指向d,執(zhí)行第一個if語句時,條件成立,d=b;執(zhí)行第二個if語句時,條件不成立,故d=b,所以d.sno=2002,p->name'Shangxian'。
33.邏輯關系邏輯關系
34.611610。6,11,6,10。解析:本題考查自加的前置和后置的區(qū)別。
35.k*kk*k解析:本題考查的知識點是scarf()函數(shù)和printf()函數(shù)的用法。scanf()函數(shù)有兩個參數(shù),第一個參數(shù)是格式控制部分(格式控制部分是字符串,主要由“%”號和格式字符組成)第二個參數(shù)是一地址列表(地址列表是由多個地址組成,可以是變量的地址,也可以是字符串的首地址)。而第一個空格處位于scanf()函數(shù)的第二個參數(shù)處,所以,第一個空應該填地址k。printf()函數(shù)有兩個參數(shù),第一個參數(shù)是輸出格式字符串(輸出格式字符串是由控制輸出格式的字符和非格式字符組成的,通常是字符常量。非格式字符作為輸出數(shù)據(jù)的間隔,輸出時原樣輸出)第二個參數(shù)為一輸出表達式表(輸出表達式表是由若干個需要計算和輸出的表達式組成的,表達式之間用逗號分隔開)。而第;個空位于printf()函數(shù)的第二個參數(shù)處,所以應該填*K。
36.有效性測試有效性測試
37.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ù)組。
38.11371,13,7解析:本題考查3個知識點:①余數(shù)的計算,題中的a=10,b=3,a%b=1:②(表達式1,表達式2)形式的結果為最后一個表達式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運算符的使用,題中的a-b?a-b:a+b,判斷語句a-b=7不為0,所以執(zhí)行a-b,結果為7。
39.x/10case0:case1:case2:case3:case4:case5:case9:x/10\r\ncase0:case1:case2:case3:case4:case5:\r\ncase9:
40.str[i]str[i+1]"%s"strstr[i]\r\nstr[i+1]\r\n'%s',str解析:本題要求將字符串str中的字符用冒泡排序算法從大到小排列,其實現(xiàn)過程是將相鄰兩個字符進行比較,如果當前字符小于下一個字符;則通過中間變量temp將字符兩兩交換,所以第一空應填:str[i],第二空應填:str[i+1]。最終打印輸出得到的字符串str,所以第三空應填;'%s',str。
41.C解析:選項A用了一個絕對值函數(shù)abs(),故選項A正確;選項B中用了一個“&&”邏輯與,故選項B正確;選項C中,“||”左邊的式子如為真,將不再判斷其后的表達式的值,故選項C不正確;選項D為本題中數(shù)學關系式的一個等價命題,故選項D正確。所以,4個選項中選項C符合題意。
42.DD)【解析】需求分析是軟件定義時期的最后一個階
\n段,它的基本任務就是詳細調(diào)查現(xiàn)實世界要處理的對象,充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在這些基礎上確定新系統(tǒng)的功能。
43.A解析:本題考核的知識點是for循環(huán)和switch語句的綜合運用。for循環(huán)執(zhí)行了3次,第一次時i的值為0,執(zhí)行其后的switch語句,沒有匹配的case,執(zhí)行default語句后的pdntf語句,輸出為0;第二次循環(huán)時i的值為1,執(zhí)行其后的switch語句,與第一個case分支匹配,執(zhí)行其后的printf語句,輸出1,由于沒有遇到break語句,所以一直向下執(zhí)行,又輸出了兩個1,第三次循環(huán)時i值為2,執(zhí)行其后的switch語句,同理輸出兩個2。所以,A選項為所選。
44.C解析:本題考查循環(huán)和continue語句,continue語句的功能是結束本次循環(huán)。n從0開始循環(huán),判斷n%3!=0是否成立,如果成立,結束本次循環(huán),繼續(xù)下一次for循環(huán);否則執(zhí)行k--,并繼續(xù)下一次for循環(huán),直至循環(huán)結束。在程序中,當n取1,2時,不執(zhí)行k--,當n取3時,執(zhí)行k--,k變?yōu)?,循環(huán)結束,輸出k,n的值分別為3,3。
45.D解析:本題考核的知識點是用戶的標識符。在C語言中,合法的標識符由字母、數(shù)字和下劃線組成,并且第一個字符必須為字母或者下劃線,如:acd,d_ad、_adf124,_124等都是合法的標識符號.而2asdf、_sd/=都不是合法的標識符.在C語言中大寫字母和小寫字母被認為是兩個不同的字符,如:ACD和acd是兩個不同的標識符號。選項D中用下劃線作為第一個字符,這是不合法的,故選項D不正確,所以,4個選項中選項D符合題意。
46.C在數(shù)據(jù)庫設計中,目前常用的數(shù)據(jù)模型主要有三種,分別是層次模型、網(wǎng)狀模型和關系模型。
層次模型是數(shù)據(jù)庫系統(tǒng)中最早出現(xiàn)的數(shù)據(jù)模型。我們通常把滿足以下兩個條件的數(shù)據(jù)模型稱為層次模型。
(1)有且僅有一個結點無雙親,這個結點稱為根結點。
(2)其他結點有且僅有一個雙親。
層次模型用樹形結構來表示各實體與實體間的聯(lián)系。實體是數(shù)據(jù)庫中數(shù)據(jù)描述的對象,可以是一個人、一種商品等。在層次模型中,每個結點表示一個記錄類型,記錄之間的聯(lián)系用結點之間的連線表示,這種聯(lián)系是父子之間一對多的聯(lián)系。記錄就是描述實體的相關數(shù)據(jù)。
如果取消層次模型中的兩個限制,即允許一個以上的結點無雙親,則每一個結點可以有多個父結點,便形成了網(wǎng)狀。我們把網(wǎng)狀表示實體之間聯(lián)系的模型稱為網(wǎng)狀模型。
關系模型用表格形式表示實體類型及其實體間的聯(lián)系。關系模型是目前最重要的一種模型,它是建立在嚴格的數(shù)學概念的基礎上的,具有最堅實的理論基礎。關系模型的基本數(shù)據(jù)結構是二維表,每一張二維表稱為一個關系。
47.C解析:C語言中函數(shù)的定義分為有參函數(shù)的定義和無參函數(shù)的定義。無參函數(shù)的定義形式為:
類型標識符函數(shù)名()
{說明部分
語句
}
有參函數(shù)的定義有兩種形式:
類型標識符函數(shù)名(形式參數(shù)列表)
形式參數(shù)說明
{說明部分
語句
}
或
類型標識符函數(shù)名(類型名形參1,類型名形參2,…)
{說明部分
語句
}
其中函數(shù)名為用戶定義的C語言的合法標識符,其前面的類型標識符用來說明函數(shù)值的類型,可以是C允許的任何類型,如int、char、float、double和指針類型等。當函數(shù)值為整型時類型標識符可以省略,如果函數(shù)沒有返回值,類型標識符可以是void型。當函數(shù)的形參多于一個時,各個形參之間用逗號分隔。
48.D
49.C解析:本題考核的知識點是操作文件的幾個基本函數(shù)。主函數(shù)中定義了一個文件指針中1,然后通過fopen()函數(shù),以寫的方式打開文件“f1.txt’,并讓指針印1指向它,接著調(diào)用fptind()函數(shù)將“abc”寫到文件fp1所指的文件里,由于開始fp1指向文件的“f1.txt”的開始位置,因此“abc”將把文件“f1.txt”里原來的內(nèi)容“good”覆蓋掉,故文件“f1.txt”里最后的內(nèi)容為“abc”,所以,4個選項中選項C符合題意。
50.B解析:在函數(shù)sub()的函數(shù)體中定義了一個靜態(tài)存儲變量a,a的值在函數(shù)調(diào)用完畢返回主函數(shù)后仍存在。第一次調(diào)用sub(i),a=a+m=4+2=6,返回值為6。第二次調(diào)用sub(j),a=a+m=6+1=7,返回值為7,最后輸出k的值為7。
51.B解析:二分查找的具體過程為:將x與線性表的中間項進行比較,若中間項的值等于x,則說明查到,查找結束:若x小于中間項的值,則性表的前半部分(即中間項以前的部分)以相同的方法進行查找:若x大于中間項的值,則性表的后半部分(即中間項以后的部分)以相同的方法進行查找。這個過程一直進行到查找成功或子表長度為0(說明線性表中沒有這個元素)為止。由此可知,有序線性表/頃序存儲時才能采用二分查找。所以,本題的正確答案為B。
52.B解析:'\\0'作為標志占用存儲空間,但是不計入串的實際長度。當給一個字符型指針賦值時,賦給這個指針的是這個字符串的地址。
53.D解析:因為變量t的初始值等于1,經(jīng)過第一次d。while循環(huán)中,執(zhí)行t=t-2這條語句一次,所以變量t的值為-1,判斷關系表達式t!=n是否成立,如果關系表達式成立,則執(zhí)行第二次循環(huán),再執(zhí)行t=t-2這條語句一次,所以變量t的值為-3,接著再判斷關系表達式t!=n是否成立,如果關系表達式成立,執(zhí)行第三次循環(huán),否則退出循環(huán)。由此可知,所以只要輸入變量n的值為負奇數(shù),則一定會使t==n成立,則退出dowhile循環(huán)。
54.C解析:本題執(zhí)行過程如下:首先調(diào)用fun函數(shù),使得實參a的值3傳遞給形參p,得到局部變量d=8,打印出局部變量d的值8;返回主函數(shù)執(zhí)行“d+=a++”,此處的d為全局變量,所以d=1+3=4(由于本題是值傳遞,所以在函數(shù)fun中對p值的改變并不能引起a的改變),故本題的輸出是8,4。
55.A解析:本題考核的知識點是數(shù)組的定義、賦初值以及函數(shù)調(diào)用的組合應用.本題中函數(shù)sum(int*A)的作用是:將形參a所指的數(shù)組中的第二個元素的值a[1]賦給第一個元素a[0]。主函數(shù)中定義一個長度為10的整型數(shù)組并賦初值,接著執(zhí)行一個for循環(huán),該循環(huán)共執(zhí)行了3次.當i=2時,調(diào)用函數(shù)sum(&aa[2]),主函數(shù)中將&aa[2]作為實參傳給行參a,所以此時形參a所指的數(shù)組的第一個元素和第二個元素分別為aa[2]和aa[3],故執(zhí)行完該函數(shù)后將aa[3]的值賦給aa[2],即aa[1]=aa[3]=4,當i=1時,調(diào)用函數(shù)sum(&aa[1]),主函數(shù)中將&aa[1]作為實參傳給行參a,所以此時形參a所指的數(shù)組的第一個元素和第二個元素分別為aa[1]和aa[2],故執(zhí)行完該函數(shù)后將aa[2]的值賦給aa[1],即aa[1]=aa[2]=4;當i=0時;調(diào)用函數(shù)sum(&aa[0]),,主函數(shù)中將&aa[0]作為實參傳給行參a,所以此時形參a所指的數(shù)組的第一個元素和第二個元素分別為aa[0]和aa[1],故執(zhí)行完該函數(shù)后將aa[1]的值賦給aa[0],即aa[0]=aa[1]=4;故最后輸出的aa[0]的值為4,所以,4個選項中選項A符合題意。
56.B解析:在對程序進行測試時會發(fā)現(xiàn)錯誤,這就要進行程序調(diào)試(排錯)。程序調(diào)試活動由三部分組成:一是錯誤定位,根據(jù)錯誤的外部表現(xiàn)形式,確定程序中出錯的位置,找出錯誤的內(nèi)在原因;二是對程序進行修改,排除這個錯誤;三是進行回歸測試,防止引進新的錯誤。所以程序調(diào)試的目的就是診斷和改正程序中的錯誤。軟件調(diào)試不能改善軟件的性能,也不能挖掘軟件的潛能。
57.C解析:malloc函數(shù)的調(diào)用形式:malloc(size)。malloc函數(shù)用來分配size個字節(jié)的存儲區(qū),返回一個指向存儲區(qū)首地址基類型為void的地址,可以利用強制類型轉(zhuǎn)換將其換成所需的類型,這里需轉(zhuǎn)換為整型(int*)。若不能確定數(shù)據(jù)類型所占的字節(jié)數(shù),可使用sizeof運算符來求得,這里要求兩個連續(xù)的整型動態(tài)存儲單元即2*sizeof(int)。4個選項中只有C符合題意。
58.A解析:本題定義了一個指向由3個元素組成的一維數(shù)組的指針變量pa,通過賦值讓它指向具有2行3列的數(shù)組a,此時用指針變量pa,表示數(shù)組元素a[i][j]的形式是pa[im][j])。for循環(huán)執(zhí)行了3次;第一次i值為0,執(zhí)行pa[1][0]=pa[1][0]-1,執(zhí)行后a[1][0]的值變?yōu)?;第二次i值為1,執(zhí)行pa=[1][1]=pa[1][1]-1,執(zhí)行后a[1][1]的值為4;第三次i值為2,執(zhí)行pa[1][2]=1,執(zhí)行后a[1][2]的值變?yōu)?。故prinff語句輸入的值為2+4+1=7。所以,A選項為所選。
59.C解析:如果沒有指明函數(shù)值類型,則默認函數(shù)返回值的類型為int型。注意:順序程序結構的執(zhí)行過程。
60.D解析:本題考查鏈表結點的刪除。q->next中存放的是r所指結點的首地址,將r所指結點的首地址存于p->next中,則實現(xiàn)刪除q所指結點的功能,并保持鏈表連續(xù),p所指結點與r所指結點相連。
61.Afopen(”data.chit“,”w+”);W+打開可讀寫文件,若文件存在則文件長度清為零,即該文件內(nèi)容會消失。若文件存在則建立該文件。rewind(fp);使文件fp的I位置指針指向文件開始。fprintf(fp,”%d\n”,a[5一i]);將8[i]輸出到fp指向的文件中。fseanf(fp,”%d”,&k);將fp讀I入到變量k中,第一個for循環(huán)將數(shù)組中元素倒著輸入到fp指l向的文件中,rewind()則指向文件開始,因此打印是數(shù)組a的I倒敘。故打印為6,5,4,3,2,1。答案為A選項。
62.A選項A是非法的表達式,C語言中沒有<>運算符。
63.A
\n本題考查if-else語句。if為真則執(zhí)行C=1,if為假則執(zhí)行else中的條件,不符合繼續(xù)執(zhí)行else。
\n
64.B本題考查的是循環(huán)嵌套。在一個循環(huán)體內(nèi)又完整地包含了另一個循環(huán),稱為循環(huán)嵌套。外循環(huán)i的值分別為1、2、3,當i=1,內(nèi)循環(huán)J=1時,輸出1*1=1;當內(nèi)循環(huán)j=2時,輸出l*2=2;當內(nèi)循環(huán)j=3時,輸出l*3=3,此時跳出內(nèi)層for循環(huán)打印換行符”\n”;當i=2,內(nèi)循環(huán)j=2時,輸出2*2=4;當內(nèi)循環(huán)j=3時,輸出2*3=6,此時跳出內(nèi)層for循環(huán)打印換行符”\n”.;當i=3,內(nèi)循環(huán)j=3時,輸出3*3=9。
65.B先將整型數(shù)據(jù)9強制轉(zhuǎn)換成double型,然后除以2得到的結果與double型保持一致,即為4.5,然后將4.5強制轉(zhuǎn)換成整型數(shù)據(jù)4,然后計算9%2的值為1,最后計算4一l的值為3,所以選擇B選項。
66.A第一次循環(huán)輸出65;然后s接收到2,第二次循環(huán)輸出6;。接收到3,第三次循環(huán)輸出64;接收到4,第四次循環(huán)輸出5;接收到5,第五次循環(huán)輸出6;接收到0,結束循環(huán),所以答案為A):
67.C
68.D【答案】:D
【知識點】:軟件設計中使用的工具
【解析】:數(shù)據(jù)流圖是結構化分析方法中使用的工具,它以圖形的方式描繪數(shù)據(jù)在系統(tǒng)中流動和處理的過程,由于它只反映系統(tǒng)必須完成的邏輯功能,所以它是一種功能模型,是在可行性研究階段用到的。PAD圖是問題分析圖(ProblemAnalysisDiagram)的英文縮寫,是在詳細設計階段用到的。系統(tǒng)結構圖是對軟件系統(tǒng)結構的總體設計的圖形顯示,是在概要設計階段用到的。程序流程圖是對程序流程的圖形表示,故選D。
69.A
70.A數(shù)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 土地租賃協(xié)議2023
- 部編版六年級語文上冊第八單元知識梳理填空
- (2024)1-4酸鈉鹽生產(chǎn)建設項目可行性研究報告(一)
- 2023年天津市益中學校高考語文模擬試卷
- 2023年家政服務項目融資計劃書
- 零食行業(yè)藍皮書
- 電力電纜模擬習題+參考答案
- 養(yǎng)老院老人生活設施維修人員管理制度
- 養(yǎng)老院老人訪客管理制度
- 2024年旅游產(chǎn)品銷售與推廣合同3篇
- 財政投資評審咨詢服務預算和結算評審項目投標方案(技術標)
- 理工英語3-01-國開機考參考資料
- 綿綿用力久久為功-堅持每天進步一點點初中期末動員班會-2023-2024學年初中主題班會課件
- 2024屆湖北高三元月調(diào)考數(shù)學試卷含答案
- 視頻會議系統(tǒng)保障方案
- 西方園林史智慧樹知到期末考試答案章節(jié)答案2024年內(nèi)蒙古農(nóng)業(yè)大學
- 學年上學期期末職業(yè)高中高二年級數(shù)學練習試卷2
- 湖北省麻城市白鴨山礦區(qū)Ⅴ號礦段Ⅴ-1、Ⅶ號礦段Ⅶ-1、Ⅶ-5礦體飾面用花崗巖礦礦產(chǎn)資源開發(fā)利用與生態(tài)復綠方案
- 轉(zhuǎn)基因的科學-基因工程智慧樹知到期末考試答案章節(jié)答案2024年湖南師范大學
- 小學英語時態(tài)練習大全附答案
- 工程部設計部崗位職責
評論
0/150
提交評論