版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2021-2022年江西省吉安市全國計算機等級考試C語言程序設計預測試題(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.有以下程序:#include<stdio.h>intfun(intx[],intn){staticintsum=0,i;for(i=0;i<n;i++)sum+=x[i];returnsum;}main(){inta[]={1,2,3,4,5},b[]={6,7,8,9},s=0;s=fun(a,5)+fun(b,4);printf(“%d\n”,s);}程序的運行結果是()。
A.55B.50C.45D.60
2.在下面的字符數組定義中,哪一個有語法錯誤()。A.chara[20]=”abcdefg”;
B.chara[]=”x+y=55.”;
C.chara[15];
D.chara[10]=’5’;
3.若有說明“chars1[30]="abc",s2[]="defghi";",則在使用函數stoat(s1,s2)后,結果是()。
A.s1的內容更新為abcdefghi
B.s1的內容更新為defghi\0
C.s1的內容更新勾defghiabc\0
D.s1的內容更新為abcdefghi\0
4.有以下程序:#include<stdio.h>intf(intx);main(){intn=1,m;m=f(f(f(n)));printf(“%d\n”,m);}intf(intx){returnx*2;}程序的運行結果是()。
A.8B.2C.4D.1
5.對于哈希函數H(key)=key%13,被稱為同義詞的關鍵字是_______
A.35和41B.23和39C.15和44D.25和51
6.以下非法的賦值語句是
A.n=(i=2,++i);B.j++;C.++(i+1);D.x=j>0;
7.任何一棵二叉樹的葉子結點在前序、中序和后序遍歷序列中的相對次序()。
A.不發(fā)生改變B.發(fā)生改變C.不能確定D.以上都不對
8.函數原形中,下列()是不必要的。
A.函數的類型B.形式參數名C.函數名D.形式參數類型
9.以下不構成無限循環(huán)的語句或語句組的是()。
A.n=0;do{++n;}while(n<=0);
B.n=0;while(1){n++;}
C.n=10;while(n);{n--;}
D.for(n=0,i=1;i++)n+=i;
10.對于線性表(7,34,55,25,64,46,20,10)進行散列存儲時,若選用H(K)=K%9作為散列函數,則散列地址為1的元素有()個。
A.1B.2C.3D.4
11.有以下程序:voidfunl(char*p)程序執(zhí)行后的輸出結果是()A.ProhsbnB.PrphsbnC.ProgsbnD.Program
12.在位運算中,操作數左移一位,其結果相當于A.A.操作數乘以2
B.操作數除以2
C.操作數除以4
D.操作數乘以4
13.在一個鏈式隊列中,假設f和r分別為隊頭和隊尾指針,則插入S所指結點的運算是()。
A.f->next=s;f=s;
B.r->next=s;r=s;
C.S->next=rr=s;
D.r->next=f;f=s;
14.若變量已正確定義為int型,要通過語句“scanf(“%d,%d,%d”,&a,&b,&c);”將a賦值為1、將b賦值為2、將c賦值為3,以下輸入形式中錯誤的是(注:□代表一個空格符)()。
A.1,2,3<Enter>
B.□□□1,2,3<Enter>
C.1,□□□2,□□□3<Enter>
D.1□2□3<Enter>
15.以下選項中的表達式調用庫函數依次求-4.5的絕對值、-4.0的平方根值、30°角的正弦值和2的3次方值。正確的調用是()
A.abs(-4.5)B.sqrt(-4.0)C.sin(3.1416/6.0)D.paw(2.0,3.0)
16.設有定義“struct{charmark[12];intnum1;doublenum2;}t1,t2;”,若變量均已正確賦初值,則下列語句中錯誤的是()。
A.t1=t2;
B.t2.num1=t1.num1;
C.t2.mark=t1.mark;
D.t2.num2=t1.num2;
17.程序中若有如下說明和定義語句charfun(char*);main(){char*s="one",a[5]={0},(*f1)()=fun,ch;.....}以下選項中對函數Fun的正確調用語句是______。A.(*f1)(a);B.*f1(*s);C.fun(&a);D.ch=*f1(s);
18.若有定義floata[15],*p=a;,且數組a的首地址為300H,則p+13所指向的數組元素的地址為()。
A.334HB.30DHC.352HD.31AH
19.下列定義中,不正確的有______。
A.#definePI3.141592
B.#defineS345;
C.intmax(x,y);
D.staticcharc;intx,y;{...}
20.
二、2.填空題(20題)21.排序是計算機程序設計中的一種重要操作,常見的排序方法有插入排序、______和選擇排序。
22.寫出下列程序的輸出結果______。
main()
{intn=0;
while(n++<=1);
printf("%d,",n);
printf("%d",n++);
}
23.軟件維護活動包括以下幾類:改正性維護、適應性維護、【】維護和預防性維護。
24.以下程序的輸出結果是______。
intfun(int*x,int*y)
{staticintm=4;
m=*X+*y;*x-=m;*y+=m;
returnm;
}
main()
{inta=2,b=6,n;
n=fun(&a,&B);printf("%d,",n);
n=fun(&a,&B);printf("%d\n",n);
}
25.以下fun函數的功能是:累加數組元素中的值,n為數組中元素的個數,累加的和值放入x所指的存儲單元中。請?zhí)羁铡?/p>
fun(intb[],intn,int*x)
{intk,r=0;
for(k=0,k<n;k++)r=【】;
【】=r;
}
26.以下程序的輸出結果是______。
floatfun(intx,inty)
{return(x+y);}
main()
{inta=2,b=5,c=8;
printf("%3.Of\n",fun((int)fun(a+c,b),a-c));}
27.數據庫保護分為:安全性控制、______、并發(fā)性控制和數據的恢復。
28.以下程序的輸出結果是【】。
#include<stdio.h>
main()
{intn=12345,d;
while(n!=0){d=n%10;printf("%d",D);n/=10;}
}
29.模式/內模式映射為數據庫提供了【】數據獨立性。
30.閱讀程序:
#include<string.h>
#include<strdio.h>
strle(chara[],charb[])
{intnum=0,n=0;
while(*(a+num)!='0')num++;
while(b[n])
{*(a+num)=b[n];num++;n++;}
return(num);
}
main()
{charstrl[81],str2[81],*p1=strl,*p2=str2;
gets(p1);gets(p2);
prinf("%d\n",strle(p1,p2));
}
運行上面的程序,如果從鍵盤上輸入字符串qwerty和字符串abcd,則程序的輸出結果是【】。
31.排序是計算機程序設計中的一種重要操作,常見的排序方法有插入排序、【】和選擇排序等。
32.數據庫管理系統(tǒng)常見的數據模型有層次模型、網狀模型和【】3種。
33.下列程序的循環(huán)次數是______。
x=2;
do
{x=x*x;}
while(!x);
34.下面程序的運行結果是______。
#defineN10
#defines(x)x*x
#definef(x)(x'x)
main()
{
inti1,i2;
i1-1000/s(N);i2=1000/f(N);
printf("%d%d\n",i1,i2);
}
35.下面程序的功能是將一個字符串str的內容顛倒過來,請?zhí)羁铡?/p>
#include<string.h>
main()
{inti,j,【】;charstr[]={"1234567"};
for(i=0,j=strlen(str)【】;i<j;i++,j--)
{k=str[i];str[i]=str[j];str[j]=k;}
printf("%s\n",str);}
36.下面程序的運行結果是【】。
#include<stdio.h>
main()
{inty,a;
y=2,a=1;
while(y--!=-1)
{do{a*=y;a++;}while(y--);}
printf("%d,%d",a,y);}
37.軟件產品從提出、實現、使用維護到停止使用退役的過程稱為()。
38.若有定義:inta[4][4]={{1,2,3,4},{0},{4,6,8,10},<1,3,5,7}},則初始化后,a[2][2]得到的初值是______。
39.以下程序的定義語句中,x[1]的初值是(),程序運行后輸出的內容是()。#include<stdio.h>main(){intx[]={1,2,3,4,5,6,7,8,9,10,1l,12,13,14,15,16},*p[4],i;for(i=0;i<4;i++){p[i]=&x[2*i+1],printf("q%d”,p[i][0]);}printf("\n");}
40.實體之間的聯系可以歸結為一對一的聯系,一對多的聯系與多對多的聯系。如果一個學校有許多教師,而一個教師只歸屬于一個學校,則實體集學校與實體集教師之間的聯系屬于【】的聯系。
三、1.選擇題(20題)41.軟件系統(tǒng)生命周期的第一個階段是______。
A.軟件分析階段B.軟件設計階段C.軟件運行階段D.軟件維護階段
42.下列敘述中,錯誤的是()。
A.在同一C程序文件中,不同函數中可以使用名字相同的變量
B.在main()函數體內定義的變量是全局變量
C.形參是局部變量,函數調用完成即失去意義
D.若同一文件中全局和局部變量同名,則全局變量在局部變量作用范圍內不起作用
43.若有定義inta[10],*p=a,則p+6表示()。
A.數組元素a[5]的值B.數組元素a[5]的地址C.數組元素a[6]的地址D.數組元素a[0]的值加上5
44.在E-R圖中,用來表示實體的圖形是
A.矩形B.橢圓形C.菱形D.三角形
45.下列選項中,不屬于模塊間耦合的是()
A.內容耦合B.異構耦合C.控制耦合D.數據耦合
46.執(zhí)行下面的程序后,a的值為()。main(){inta,b;for(a=1,b=1;a<=10;a++){if(b%3==1){b+=3;continue;}b=5;}}
A.7B.8C.9D.10
47.設計軟件結構是在軟件生命周期的()。
A.軟件定義期B.軟件開發(fā)期C.軟件維護期D.以上3個都不是
48.有以下程序:#include<stdio.h>intf1(intx,inty){returnx>y?x:y;}intf2(imx,inty){returnx>y?y:x;}main()inta=4,b=3,c=5,d=2,e,f,g;e=f2(f1(a,b),f1(c,d));f=f1(f2(a,b),f2(e,d));g=a+b+e+d-e-f;printf("%d,%d,%d\n",e,f,g);}程序運行后的輸出結果是()。
A.4,3,7B.3,4,7C.5,2,7D.2,5,7
49.以下敘述中正確的是
A.用C程序實現的算法必須要有輸入和輸出操作
B.用C程序實現的算法可以沒有輸出但必須要有輸入
C.用C程序實現的算法可以沒有輸入但必須要有輸出
D.用C程序實現的算法可以既沒有輸入出沒有輸出
50.下面各選項中,均是C語言合法標識符的選項組是
A.33weautoB._23me_3ewC._433e_elseD.ER-DF32
51.下列語句組中,不正確的是()。
A.char*s;s="Olympic";
B.chars[]="Olympic";
C.char*s;s={"Olympic"};
D.chars[]={"Olympic"};
52.設有以下語句:structst{intn;structst*next;};staticstructsta[3]={5,&a[1],7,&a[2],9,'\0'},*p;p=&a[0];則表達式的值是6的為______。
A.p++->nB.p->n++C.(*p).n++D.++p->n
53.以下敘述中正確的是()。
A.構成C程序的基本單位是函數
B.可以在一個函數中定義另一個函數
C.main函數必須放在其他函數之前
D.C函數定義的格式是K&R格式
54.下列選項中,值為1的表達式是()。
A.1-'0'B.1-'\0'C.'1'-0D.'\0','0'
55.下列不屬于軟件工程的3個要素的是______。
A.工具B.過程C.方法D.環(huán)境
56.在順序表(3,6,8,10,12,15,16,18,21,25,30)中,用二分法查找關鍵碼值11,所需的關鍵碼比較次數為______。
A.2B.3C.4D.5
57.請選出正確的程序段
A.int*p;scanf("%d",p);…
B.int*s,k;*s=100;…
C.int*s,k;char*p,c;s=&k;p=&c;*p=′a′;…
D.int*s,k;char*p,e;s=&k;p=&c;s=p;*s=1;…
58.以下程序的輸出結果是______。#include<stdio.h>structstu{intnum;charname[10];intage;};voidfun(structstu*p){printf("%s\n",(*p).name);}main(){structstustudents[3]={{9801,"Zhang",20},{9802,"Wang",19},{9803,"Zhao",18}};fun(students+2);}
A.ZhangB.ZhaoC.WangD.18
59.下列程序的輸出結果是()。
#include<stdio.h>
#defineF(x)2.84+x
#definew(y)printf("%d",(int(y))
#defineP(y)w(y)pmchar('\n'》
main()
{intx=2;
P(F(5)*x);
}
A.12B.13C.14D.16
60.下列程序的輸出結果是______。main(){intn[5]={0,0,0},i,k=2;for(i=0;i
A.不確定的值B.2C.1D.0
四、選擇題(20題)61.
以下程序的輸出結果是()。
voidfun(int*a,inti,inti)
{intt;
if(i<i)
{t=a[i[;a[i]=a[j];a[j]一t;
i++;j--;fun(a,i,j);
}
}
main
{intK[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i<1;i++)printf("%2d",x[i]);
printf("\n");
}
A.1,2,6,8B.8,6,2,1C.8,1,6,2D.8,6,1,2
62.有以下程序
63.
64.
65.有以下程序
66.
67.下列程序的輸出結果是()。
A.a=4,b=4
B.a=4,b=5
C.a=5,b=4
D.a=5,b=5
68.
69.在以下給出的表達式中,與while(E)中的(E)不等價的表達式是()。
70.
71.下列選項中屬于軟件生命周期開發(fā)階段任務的是()。
A.可行性研究
B.需求分析
C.詳細設計
D.軟件維護
72.
73.以下程序運行后的輸出結果是()。
A.2B.4C.6D.3
74.
75.
76.有以下程序:
程序運行后的輸出結果是()。
A.2B.4C.6D.8
77.下列敘述中正確的是()。
A.數據的邏輯結構與存儲結構是一一對應的
B.算法的時間復雜度與空間復雜度一定相關
C.算法的效率只與問題的規(guī)模有關,而與數據的存儲結構無關
D.算法的時間復雜度是指執(zhí)行算法所需要的計算工作量
78.
設有下列程序段:
charstr[]="HelloWorld":
char*plr;
ptr=str:
執(zhí)行上面的程序段后,*(ptr+10)的值為()。
A.\0B.0C.不確定的值D.0的地址
79.軟件按功能可以分為應用軟件、系統(tǒng)軟件和支撐軟件(工具軟件)。下面屬于應用軟件的是().
A.學生成績管理系統(tǒng)B.C語言編譯程序C.UNIX操作系統(tǒng)D.數據庫管理系統(tǒng)
80.以下敘述中正確的是()。
A.程序設計的任務就是編寫程序代碼并上機調試
B.程序設計的任務就是確定所用數據結構
C.程序設計的任務就是確定所用算法
D.以上三種說法都不完整
五、程序改錯題(1題)81.下列給定程序中,函數proc的功能是:讀入一個字符串(長度<20),將該字符串中的所有字符按ASCIl碼升序排序后輸出。
例如,輸入opdye,則應輸出deopy。
請修改程序中的錯誤,使它能得到正確結果。
注意:不要改動main函數,不得增行或刪行,也不得更改程序的結構。
試題程序:
#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);j4-+)
if(str[i]>str[j])
{
c=str[j]:
//****found****
str[j]=str[i++];
str[i]=C;
}
}
voidmain
{
charst/[81];
system("CLS");
printf("\nPleaseenteracharacter
string:");
gets(str);
printf("\nknBeforesorting:\n%s",str);
proc(str);
printf("\nAftersortingdecendingly:\n
%S",str);
}
六、程序設計題(1題)82.實現字符串拷貝的函數strcpy為()。
參考答案
1.D靜態(tài)變量是始終存在的,當函數變量退出后,靜態(tài)變量會保存數據,再次調用該函數時,以前的靜態(tài)變量值仍然保留著。fun(a,5)的值是15,再次調用后sum=15,所以fun(b,4)=45,s=45+15=60。故本題答案為D選項。
2.D
3.Dstrcat(s1,s2)函數的功能是把s2字符串連接到s1字符串的末尾,要保證s1有足夠的空間容納下連接后的字符串。
4.A第1次調用為m=f(f(f(1))),第2次調用為m=f(f(2)),第3次調用為m=f(4),即返回值為8。故本題答案為A選項。
5.D
6.C解析:本題考查的知識點是賦值語句的基本知識。在表達式的運算中,雙目賦值運算符的格式為“變量二表達式”,單目運算符一般形式為“運算符表達式”或“表達式運算符”。常量和表達式是不能被賦值的。選項A為復合表達式,首先計算(i=2,++i)的值,然后賦值給n,故選項A正確;選項B為簡單自加運算,故選項B正確;選項C在表達式++(i+1);中,(i+1)不是變量,該表達式的值為常量,而在++運算中,其運算對象必須為變量,故選項C錯誤;選項D中為復合賦值表達式,正確.所以應當選擇C。
7.A
8.A
9.AA選項中do后面的語句只執(zhí)行了一次便結束了循環(huán);B選項中條件while(1)永遠成立,所以是死循環(huán);C選項中n的值為10,而循環(huán)體為空語句,所以while(n)永遠為真,進入死循環(huán);D選項中for語句第2個表達式為空,所以沒有判斷條件,進入死循環(huán)。故本題答案為A選項。
10.D
11.A本題中使用了函數的調用,由funl函數中的while循環(huán)可知,循環(huán)的作用是為了把q所指向的內容增加1,而從主函數傳到函數時是從下標為3開始傳,因此當調用函數執(zhí)行完后,傳過去的字符串為hsbn,前面不變。
12.A左移運算符“<<”是雙目運算符,其功能是把“<<”左邊的運算數的各二進位全部左移若干位,由“<<”右邊的數指定移動的位數,高位丟棄,低位補0。例如,a<<4是把a的各二進位向左移動4位。如a=00000011(十進制3),左移4位后為00110000(十進制48)。
13.B
14.D在輸入整數或實數這類數值型數據時,輸入數據之間必須用空格、回車符、制表符等間隔符隔開,間隔符個數不限。scanf的格式控制字符串也可以使用其他非空白字符,如本題中的逗號,但在輸入時必須輸入這些字符,以保證匹配,所以逗號必須輸入。故本題答案為D選項。
15.C
16.Cmark為結構體中的數組,不能直接賦值,所以C選項錯誤。故本題答案為C選項。
17.A解析:題中將函數fun的入口地址賦給了指針變量f1,這時f1和fun都指向函數的開頭,調用*f1就是調用函數fun。
18.C解析:解答本題,首先要明白在對指針進行加、減運算的時候,數字“1”不是十進制的數“1”,而是指'1'個存儲單元長度,而1個存儲單元長度占多少存儲空間,應該視具體情況而定。如果基本類型是int型,移動1個存儲單元的長度就是位移2個字節(jié),如果基本類型是float型,移動1個存儲單元的長度就是位移4個字節(jié)。所以p+13所指向的數組元素的地址:300H+(13*上標)4)H=352H。
19.C
20.D
21.交換排序交換排序解析:所謂排序是指將一個無序序列整理成按值非遞減順序排列成的有序序列,常用的排序方法有:交換排序、插入排序和選擇排序。其中交換排序包括冒泡排序和快速排序,插入排序包括簡單插入排序和希爾排序,選擇排序包括直接選擇排序和堆排序。
22.333,3解析:本題在while(n++<=1)語句后,直接加了分號,說明如果while()的條件為真時,該循環(huán)什么都不做:n++是先取n的當前值和1做比較,然后再將n加1。第一次循環(huán),n=0時,循環(huán)條件n++=<1成立,執(zhí)行循環(huán),然后得到n=1。第二次循環(huán),n=1時,循環(huán)條件n++=1<=1成立,執(zhí)行循環(huán),然后得到n=2。第三次循環(huán),n=2時,循環(huán)條件n++=2<=1不成立,不執(zhí)行循環(huán),但在判斷循環(huán)條件時仍將n加1,得到n=3.退出循環(huán)后執(zhí)行printf語句,第二個printf語句輸出n++,是先輸出n的當前值3,然后再將n加l,即程序結束后得到n=4,但輸出的是3。
23.完善性軟件維護活動包括以下幾類:改正性維護,適應性維護、完善性維護和預防性維護,完善性維護是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴充軟件功能、增強軟件性能、改進加工效率、提高軟件的可維護性。
24.88。8,8。解析:本題考查靜態(tài)局部變量值的特點,請參考第10章有關習題的解析。
25.r+b[k]*x
26.本題考查函數的綜合知識。首先,我們可以利用強制轉換類型轉換運算符,將一個表達式轉換成所需類型。如:(double)a是將a轉換成double類型;(int)(x+y)是將x+y的值轉換成整型。
本題可按部就班地逐步運算:
fun((int)fun(a+c,b),a-c)
fun((int)fun(10,5),2-8)
fun((int)15.000000,-6)
fun(15,-6)
9
27.完整性控制完整性控制
28.5432154321解析:在while循環(huán)中,d=n%10;語句每次求得的結果是n個位上的數值,例如12345÷10所得的余數就是個位上的5。接下來輸出得到的個位數字d,然后執(zhí)行n/=10;語句,該語句等價于n=n/10;。在C語言中,如果/運算的兩個運算分量都是整數,那所得的結果也截尾取整,所以12345/10=1234,即n-=n/10;語句的作用是讓n截去個位上的數字。由此可知,隨著while循環(huán)的繼續(xù),n依次為12345、1234、123、12、1,而每次輸出n的個位數字將為5、4、3、2、1。故本題應填543210。
29.物理物理
30.10
31.交換排序交換排序解析:常見的排序方法有插入排序(包括簡單插入排序法和希爾排序法等)、交換排序(包括冒泡排序和快速排序法等)和選擇排序(包括簡單選擇排序和堆排序等)。注意:常見的排序方法及其作用機制和區(qū)別。
32.關系模型關系模型解析:數據庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數據庫之間的一個標準接口。其總是基于某種數據模型,可以分為層次模型、網狀模型和關系模型。
33.11解析:do…while語句的功能是:首先執(zhí)行循環(huán)體語句,然后檢測循環(huán)控制條件表達式的值,若為真,則重復執(zhí)行循環(huán)體語句,否則退出循環(huán);do…while語句的特點是先執(zhí)行后判斷,因此循環(huán)體至少執(zhí)行1次.本程序中x=2不符合循環(huán)條件,所以只循環(huán)1次。
34.100010100010解析:首先將程序中的宏替換掉,兩處的宏替換后分別為i1=1000/10*10和i2=1000/(10*10),即i1=1000,i2=10,所以最后輸出的i1和i2的值分別為1000和10。
35.k-1k\r\n-1解析:顛倒一個字符串中的字符,就是首尾對應的元素兩兩交換。簡單地可用兩個游標變量i和j,i是前端元素的下標,j是后端元素的下標,交換以這兩個變量值為下標的元素str[i]和str[j]。開始時,i的值為0,j的值為字符串末元素的下標(字符串長度減1)。每次交換后,i增1,j減1。繼續(xù)交換的條件是str[i]還位于str[j]的前面,即i<j。字符串末元素的下標是它的長度減1,所以在第二個空框處應填入-1。程序為了交換str[i]和str[j],使用了變量k,該變量應在程序的變量定義部分中一起定義,所以在第一個空框處應填入k。
36.1-21,-2解析:考查嵌套的循環(huán)結構。題中外層while循環(huán)的循環(huán)條件是\ue008y--!=-1\ue009,即y>=0;內層do厀hile循環(huán)的循環(huán)條件是y--,即y-->0,y>=1。
37.軟件生命周期軟件生命周期解析:軟件產品從提出、實現、使用維護到停止使用退役的過程稱為軟件生命周期。在國家標準“計算機軟件開發(fā)規(guī)范”中,把軟件生命周期劃分為8個階段,即可行性研究與計劃、需求分析、概要設計、詳細設計、實現、綜合測試、確認測試、使用與維護,對每個階段,都明確規(guī)定了該階段的任務、實施方法、實施步驟和完成標志,其中特別規(guī)定了每個階段需要產生的文檔。
38.88解析:二維數組可以看成是按矩陣形式排列的,題目中給二維數組賦初值是按行分段賦值的,a[4][4]可以分解為4個一維數組,其數組名分別為a[0]、a[1]、a[2]、a[3],這4個一維數組都有4個元素,a[0]的元素為a[0][0]、a(0][1]、a[0][2]、a[0][3]
39.2246822468解析:p為指向數組的指針變量,數組x[1]為數組x[]的第二個元素,值為2;進入for循環(huán)i=0時,p[0]=&x[1]…直到循環(huán)完畢,指針分別指向數組x[]中的第2、4、6、8個元素,所以第二個空白處應填2468。
40.一對多一對多解析:實體之間的聯系可歸結為一對一、一對多與多對多的聯系。如一個學校有許多教師,一個教師只歸屬于一個學校,則實體集學校與實體集教師之間的聯系屬于一對多的聯系。
41.A解析:軟件工程的第一個階段是軟件分析階段。軟件分析階段的工作是由軟件分析員和用戶一起來做的。軟件分析的結果是分析人員寫出的分析報告,該分析報告實際上就是軟件系統(tǒng)的系統(tǒng)總體設計方案。
42.B解析:本題考查函數調用時變量的作用域。形參是局部變量,函數調用完就失去意義了,所以在同一個C程序文件中,不同的函數體中可以使用名字相同的局部變量。注意:在函數之外定義的變量稱為外部變量,外部變量是全局變量,全局變量可以為本文件中其他函數所共用。它的有效范圍為:從定義變量的位置開始到本源文件結束.
43.C解析:指針中存放的是變量的地址,指針也可以進行加減運算,這時指針移動的最小單位是一個存儲單元,而不是一個字節(jié)。所以題中p+6指的是將指針向后移動了6個存儲單元,指向a[6],存放的是a[6]的地址。
44.A解析:在E-R圖中,用三種圖框分別表示實體、屬性和實體之間的聯系,其規(guī)定如下:用矩形框表示實體,框內標明實體名;用橢圓狀框表示實體的屬性,框內標明屬性名;用菱形框表示實體間的聯系,框內標明聯系名。所以,選項A正確。
45.B\nB)【解析】耦合可以分為下列幾種,它們之間的耦合度由高到低排列:
\n內容耦合——若一個模塊直接訪問另一模塊的內容,則這兩個模塊稱為內容耦合。
\n公共耦合——若一組模塊都訪問同一全局數據結構,則稱為公共耦合。
\n外部耦合——若一組模塊都訪問同一全局數據項,則稱為外部耦合
\n控制耦合——若一模塊明顯地把開關量、名字等信息送入另一模塊控制另一模塊的功能,則稱為控制耦合。
\n標記耦合——若兩個以上的模塊都需要其余某一數據結構的子結構時,不使用其余全局變量的方式而全使用記錄傳遞的方式,這樣的耦合稱為標記耦合。
\n數據耦合——若一個模塊訪問另一個模塊,被訪問模塊的輸入和輸出都是數據項參數,則這兩個模塊為數據耦合。
\n直接耦合——若兩個模塊沒有直接關系,它們之間的聯系完全是通過程序的控制和調用來實現的,則稱這兩個模塊為非直接耦合,這樣的耦合獨立性最強。
\n
46.D解析:continue語句的作用是結束本次循環(huán),直接進入到下次循環(huán)中。
47.BB。【解析】設計軟件結構,是在軟件概要設計階段進行的,而概要設計屬于軟件開發(fā)期。
48.A解析:函數f1的功能是返回兩個數中的較大數,熳的功能是返回兩個數中較小的數。具體執(zhí)行過程如下:
①執(zhí)行f1(a,b),即f1(4,3),返回值引執(zhí)行f1(c,d),即f1(5,2),返回值5;執(zhí)行e=f2(f1(a,b),f1(c,d)),即f2(4,5),返回值4。
②執(zhí)行f2(a,b),即f2(4,3),返回值3;執(zhí)行f2(c,d),即f2(5,2),返回值2;執(zhí)行f=f1(f2(a,b),f2(c,d)),即f1(3,2),返回值3。
③執(zhí)行g=a+b+c+d+e+f,即g=7。所以,程序輸出結果為4,3,7。
49.C解析:算法是指為解決某個特定問題而采取的確定且有限的步驟。一個算法應當具有以下五個特性:有窮性;確定性;可行性;有零個或多個輸入;有一個或多個輸出。所以,4個選項中選項C符合題意。
50.B解析:合法的標識符是由字母、數字和下劃線組成,并且第一個字符必須為字母或下劃線,用戶定義的標識符不能與關鍵字相同。選項A),數字不能為第一個字母,auto為關鍵字;選項C)中,也是數字不能為第一個字母,else為關鍵字;選項D)中負號不合法。
51.C
52.D解析:本題主要考查結構體變量的定義和應用,以及運算符的優(yōu)先級。
53.A解析:本題考查C語言的綜合基礎知識。構成C程序的基本單位是函數,一個C程序總是從main函數開始執(zhí)行,而不論main函數在整個程序中的位置如何。C語言的函數定義都是互相平行、獨立的,在定義函數時,一個函數內不能定義另一個函數。C函數定義的一般格式有兩種:傳統(tǒng)格式和現代格式。傳統(tǒng)格式也稱K&R格式,是早期編譯系統(tǒng)使用的格式;現代格式又稱ANSI格式,是現代編譯系統(tǒng)使用的格式。
54.B解析:在C程序中,字符量可參與任何整數運算。字符參與運算時,首先要將字符轉換為對應的ASCII碼值再參與整數運算。字符'1'對應的ASCII碼值是49,字符'0'對應的ASCII碼值是48,字符'\\0'是字符串結束標識符NULL,其對應的ASCII碼值是0。
55.D解析:本題考查了軟件工程的基本概念。軟件工程包括3個要素,即方法、工具和過程。方法是完成軟件工程項目的技術手段;工具支持軟件的開發(fā)、管理和文檔生成;過程支持軟件開發(fā)的各個環(huán)節(jié)的控制和管理。
56.C解析:二分法查找是一種線性查找方法,其基本方法是:首先要用要查找的關鍵碼與線性表中間位置結點的關鍵碼值進行比較,這個中間結點把線性表分為兩個子表,比較相等則查找完畢,不等則根據查找結果確定下一步的查找應該在哪一個子表中進行,如此下去,直到找到滿足條件的結點:或者確定表中沒有這樣的結點。用二分法查找關鍵碼值11的順序如下所示,其中[]內為本次栓索的子表,()內為該子表的中間結果。從圖中可以看出,經四次查找后,確定表中沒有這樣的結點。因此本題正確答案為選項C(4)。
第一次:[3,6,8,10,12,(15),16,18,21,25,30]
第二次:[3,6,(8),10,12],15,16,18,21,25,30
第三次:
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年天津機電職業(yè)技術學院單招綜合素質筆試備考試題含詳細答案解析
- 2026年常州信息職業(yè)技術學院高職單招職業(yè)適應性測試模擬試題及答案詳細解析
- 2026年湖北輕工職業(yè)技術學院單招職業(yè)技能考試模擬試題含詳細答案解析
- 2026年池州職業(yè)技術學院高職單招職業(yè)適應性測試備考試題及答案詳細解析
- 2026年云南新興職業(yè)學院單招綜合素質考試備考試題含詳細答案解析
- 2026年第一批黃山市屯溪區(qū)國有投資集團及權屬子公司公開招聘工作人員考試重點試題及答案解析
- 2026年湖北三峽職業(yè)技術學院高職單招職業(yè)適應性測試備考題庫及答案詳細解析
- 2026年遼寧醫(yī)藥職業(yè)學院單招綜合素質考試模擬試題含詳細答案解析
- 2026年邯鄲科技職業(yè)學院單招綜合素質考試模擬試題含詳細答案解析
- 2026年濟寧職業(yè)技術學院高職單招職業(yè)適應性測試備考題庫及答案詳細解析
- 醫(yī)學生基礎醫(yī)學 急性腹痛護理課件
- GB/T 42706.4-2025電子元器件半導體器件長期貯存第4部分:貯存
- 食管良性腫瘤的護理
- 消防設施操作規(guī)程標準
- 2025及未來5年手持探頭項目投資價值分析報告
- 2025年湖南省公務員錄用考試《申論》真題(縣鄉(xiāng)卷)及答案解析
- 醫(yī)療器械專員工作計劃及產品注冊方案
- GB/T 20002.5-2025標準中特定內容的編寫指南第5部分:涉及可持續(xù)性
- TSGT5002-2025電梯維護保養(yǎng)規(guī)則
- 紀法教育微型課件
- 2025司法鑒定人資格考試高頻考題試題及答案
評論
0/150
提交評論