版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021-2022年貴州省安順市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.若有定義floata[15],*p=a;,且數(shù)組a的首地址為300H,則p+13所指向的數(shù)組元素的地址為()。
A.334HB.30DHC.352HD.31AH
2.數(shù)字字符0的ASCII值為48,運(yùn)行下列程序的輸出結(jié)果是()。main(){chara='1',b='2';printf("%c,",b++);printf("%d\n",b-A);}
A.3,2B.50,2C.2,2D.2,50
3.需要分配較大空間,插入和刪除不需要移動(dòng)元素的線性表,其存儲(chǔ)結(jié)構(gòu)是()。A.單鏈表B.靜態(tài)鏈表C.線性鏈表D.順序存儲(chǔ)結(jié)構(gòu)
4.設(shè)有定義:
inta=1,b=2,C=3;
以下語句中執(zhí)行效果與其他三個(gè)不同的是()。
A.if(a>B.C=a,a=b,b=C;
B.if(a>B.{C=a,a=b,b=C;}
C.if(a>B.C=a;a=b;b=c;
D.if(a>B.{C=a;a=b;b=c;}
5.向一個(gè)棧頂指針為H的鏈棧中執(zhí)行出棧運(yùn)算時(shí),需執(zhí)行()。
A.p=H;H=H->link;free(p);
B.H=H->link;free(H);
C.p=H;H->link=H->link->link;free(p);
D.p=H;H=H->link;
6.求2n個(gè)數(shù)中的最大值和最小值,最少的比較次數(shù)是()
A.4n/3B.2n-2C.3n-2D.3n/2
7.在一個(gè)有頭結(jié)點(diǎn)的鏈隊(duì)列中,假設(shè)f和r分別為隊(duì)首和隊(duì)尾指針,則插入s所指的結(jié)點(diǎn)的運(yùn)算是()。
A.f->next=s;f=s;
B.r->next=s;r=s;
C.s->next=r;r=s;
D.s->next=f;f=s;
8.用鏈表表示線性表的優(yōu)點(diǎn)是()。
A.便于隨機(jī)存取B.花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少C.便于捅入和刪除操作D.數(shù)據(jù)元素的物理順序與邏輯順序相同
9.關(guān)于排序算法的以下說法,錯(cuò)誤的是()
A.歸并排序的平均時(shí)間復(fù)雜度O(nlogn),最壞時(shí)間復(fù)雜度O(n^2)
B.堆排序平均時(shí)間復(fù)雜度O(nlogn),最壞時(shí)間復(fù)雜度O(nlogn)
C.冒泡排序平均時(shí)間復(fù)雜度O(n^2),最壞時(shí)間復(fù)雜度O(n^2)
D.快速排序的平均時(shí)間復(fù)雜度O(nlogn),最壞時(shí)間復(fù)雜度O(n^2)
10.以下程序的輸出結(jié)果是
longfun(intn)
{longs;
if(n==1||n==2)s=2;
elses=n-fun(n-1);
returns;}
main()
{printf("%ld\n",fun(3));}
A.1B.2C.3D.4
11.廣義表((a))的表頭是(a),表尾是()。A.aB.()C.(a)D.((a))
12.串的長度是指()。
A.串中所含不同字母的個(gè)數(shù)B.串中所含字符的個(gè)數(shù)C.串中所含不同字符的個(gè)數(shù)D.串中所含非空格字符的個(gè)數(shù)
13.有以下程序:#include<stdio.h>main(){inta[]={10,20,30,40},*p=a,j;for(i=0;i<=3;i++){a[i]=*P;p++;}printf("oAd\n",a[2]);}程序運(yùn)行后的輸出結(jié)果是()。A.30B.40C.10D.20
14.下列二維數(shù)組的說明中,不正確的是()。
A.floata[][4]={0,1,8,5,9};
B.inta[3][4]
C.#defineN5floata[N][3]
D.inta[2][9.5];
15.若有以下語句:typedefstructS{intg;charh;}T;以下敘述中正確的是()。A.可用S定義結(jié)構(gòu)體變量B.可用T定義結(jié)構(gòu)體變量C.S是struct類型的變量D.T是structS類型的變量
16.表示關(guān)系a≤b≤c的C語言表達(dá)式為()。
A.(a<=B)&&(b<=C)
B.(a<=B)and(b<=C)
C.(a<=b<=C)
D.(a<=B)&(b<=C)
17.C語言中的變量名只能由字母,數(shù)字和下劃線三種字符組成,且第一個(gè)字符()。
A.必須為字母B.必須為下劃線C.必須為字母或下劃線D.可以是字母,數(shù)字或下劃線中的任意一種
18.下面關(guān)于B樹和B+樹的敘述中,不正確的結(jié)論是()。
A.B樹和B+樹都能有效的支持順序查找
B.B樹和B+樹都能有效的支持隨機(jī)查找
C.B樹和B+樹都是平衡的多叉樹
D.B樹和B+樹都可用于文件索引結(jié)構(gòu)
19.設(shè)有定義:intk=1,m=2;noatf=7;則下列選項(xiàng)中錯(cuò)誤的表達(dá)式是()。
A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m
20.
二、2.填空題(20題)21.將代數(shù)式轉(zhuǎn)換成程序設(shè)計(jì)中的表達(dá)式為【】。
22.十進(jìn)制數(shù)111用八位二進(jìn)制數(shù)表示為【】。
23.在關(guān)系數(shù)據(jù)庫中把數(shù)據(jù)表示成二維表,每一個(gè)二維表稱為【】。
24.下列程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{inta=2,b=1,c=2;
if(a<b)
if(b<0)c=0;
elsec++;
printf("%d\n",c);
}
25.執(zhí)行下面程序段后,k值是【】。
k=1;n=263;
do
{k*=n%10;n/=10;
}while(n);
26.下面程序的功能是輸出數(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);}
27.表示“整數(shù)x的平方大于36"時(shí)的值為“真”的C語言邏輯表達(dá)式是【】。
28.以下程序輸出的結(jié)果是【】。
main()
{inta=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
29.以下程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
longfib(intg)
{switch(g)
{case0:return0;
case1:
case2:return1;}
return(fib(g-1)+fib(g-2));}
main()
{longk;
k=fib(5);
printf("k=%51d\n",k);}
30.軟件生命周期分為軟件定義期、軟件開發(fā)期和軟件維護(hù)期,詳細(xì)設(shè)計(jì)屬于______中的一個(gè)階段。
31.設(shè)a,b,c為整型數(shù),且a=2,b=3,c=4,則執(zhí)行完以下語句后,a的值是【】。
a*=16+(b++)-(++c);
32.下面函數(shù)的功能是:找出一維數(shù)組元素中最大的值和它所在的下標(biāo),最大的值和它所在的下標(biāo)通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個(gè)數(shù),max存放最大值,index存放最大值所在元素的下標(biāo)。請(qǐng)?zhí)羁铡?/p>
#include<stdlib.h>
#include<stdio.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);}
33.以下程序用于判斷a、b、c能否構(gòu)成三角形,若能,輸出YES,否則輸出NO。當(dāng)給a、b、c輸入三角形三條邊長時(shí),確定a、b、c能構(gòu)成三角形的條件是需同時(shí)滿足三個(gè)條件:a+b>c,a+c>b,b+c>a。
請(qǐng)?zhí)羁铡?/p>
main()
{floata,b,c;
scanf("%f%f%f",&a,&b,&c);
if(【】)printf("YES\n");/*a、b、c能構(gòu)成三角形*/
elseprintf("NO\n");/*a、b、c不能構(gòu)成三角形*/
}
34.下列程序的運(yùn)行結(jié)果是______。
#definePOW(r)(r)*(r)
main()
{intx=3,y=2,t;
t=POW(x+y);
printf("%d\n",t);
}
35.在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
36.有以下程序
intf(intn)
{if(n==1)return1;
elsereturnf(n-1)+1;}
main()
{inti,j=0;
for(i=1;i<3;i++)j+=f(i);
printf("%d\n"j);}
程序運(yùn)行后的輸出結(jié)果是______。
37.下列程序的輸出結(jié)果是______。
main()
{inta=1,b=2,c=3,t=0;
if(a<B){t=a;a=b;b=t;}
if(a<C){t=a;a=c;c=t;}
printf("%d,%d,%d\n",a,b,C);
}
38.下面程序中的數(shù)組a包括10個(gè)整數(shù)元素,從a中第二個(gè)元素起,分別將后項(xiàng)減前項(xiàng)之差存入數(shù)組b,并按每行4個(gè)元素輸出數(shù)組b,請(qǐng)?zhí)羁铡ain(){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");}}
39.表示“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”的C語言表達(dá)式是______。
40.軟件開發(fā)環(huán)境是全面支持軟件開發(fā)全過程的【】集合。
三、1.選擇題(20題)41.在深度為5的滿二叉樹中,葉子結(jié)點(diǎn)的個(gè)數(shù)為A.32B.31C.16D.15
42.用樹形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型是
A.關(guān)系模型B.網(wǎng)狀模型C.層次模型D.以上三個(gè)都是
43.按照“先進(jìn)先出”組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是()。
A.隊(duì)列B.棧C.雙向鏈表D.二叉樹
44.設(shè)x=015,則x=x^017的值是()。A.00001111B.11111101C.00000010D.11000000
45.需求分析階段的任務(wù)是()
A.軟件開發(fā)方法B.軟件開發(fā)工具C.軟件開發(fā)費(fèi)用D.軟件系統(tǒng)功能
46.下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是()。
A.自頂向下B.逐步求精C.模塊化D.可復(fù)用
47.若有說明chars1[30]="abc",s2[]="defghi";,則在使用函數(shù)strcat(s1,s2)后,結(jié)果是()。
A.s1的內(nèi)容更新為abcdefghi
B.s1的內(nèi)容更新為defghi\0
C.s1的內(nèi)容更新為defghiabc\0
D.s1的內(nèi)容更新為abcdefghi\0
48.軟件生命周期中所花費(fèi)用最多的階段是()。
A.詳細(xì)設(shè)計(jì)B.軟件編碼C.軟件測(cè)試D.軟件維護(hù)
49.以下語句或語句組中,能正確進(jìn)行字符串賦值的是______。A.char*sp;*sp="right!";
B.chars[10];s="right!";
C.chars[10];*s="right!";
D.char*sp="right!";
50.在關(guān)系數(shù)據(jù)庫中,用來表示實(shí)體之間聯(lián)系的是
A.樹結(jié)構(gòu)B.網(wǎng)結(jié)構(gòu)C.線性表D.二維表
51.有以下程序:voidsort(inta[],intn){inti,j,t;for(i=0;i<n-1;i+=2)for(j=i+2;j<n;j+=2)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,10);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.10,9,8,7,6,5,4,3,2.,1,
C.9,2,7,4,5,6,3,8,1,10,
D.1,10,3,8,5,6,7,4,9,2,
52.以下程序的輸出結(jié)果是()。#include<stdio.h>charcchar(chareh){if(ch>='A,&&ch<='Z')ch=ch-'A'+'a';returnch;}main(){chars[]="ABC+abc=defDEF",*p=s;while(*p){*p=cchsr(*p);p++;}printf("%s\n",s);}
A.abc+ABC=DEFdef
B.abc+abc=defdef
C.abcABCDEFdef
D.abcabcdefdef
53.若已定義x和y為double類型,則表達(dá)式x=1,y=x+5/2的值是______。
A.3B.4C.3D.3.5
54.已有定義:intx=3,y=4,z=5;,則表達(dá)式!(x+y)+z-1&&y+z/2的值是
A.6B.0C.2D.1
55.有以下程序:#include<stdio.h>main(){FILE*fp;inti=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n);printf("%d%d\n",k,n);fclose(fp);}程序運(yùn)行后的輸出結(jié)果是()。
A.2030B.2050C.3050D.3020
56.下列選項(xiàng)中不會(huì)引起二義性的宏定義是()。
A.#defineS(x)x*x
B.#defineS(x)(x)*(x)
C.#defineS(x)(x*x)
D.#defineS(x)((x)*(x))
57.若有定義:inta[4][10];,則以下選項(xiàng)中對(duì)數(shù)組元素a[i][j]引用錯(cuò)誤的是______。(0<=i<4,0<=j<10)
A.*(&a[0][0]+10*i+j)B.*(a+i)+jC.*(*(a+i)+j)D.*(a[i]+j)
58.若有說明語句:charc='\72'則變量c()。
A.包含1個(gè)字符B.包含2個(gè)字符C.包含3個(gè)字符D.說明不合法,c的值不確定
59.以下4個(gè)選項(xiàng)中,不能看作一條語句的是
A.{;}B.a=0,b=0,c=0;C.if(a>0);D.if(b==0)m=1;n=2;
60.若有以下定義和語句:inta[]={1,2,3,4,5,6,7,8,9,10},*p=a;則值為3的表達(dá)式是______。
A.p+=2,*(p++)B.P+=2,*++pC.P+=3,*p++D.P+=2,++*p
四、選擇題(20題)61.
62.設(shè)有以下程序段:
intX=0,s=0;
while(!X!=0.s+=++X;
prinff(”%d”,S.;
則()。
A.運(yùn)行程序段后輸出0B.運(yùn)行程序段后輸出lC.程序段中的控制表達(dá)式是非法的D.程序段執(zhí)行無限次
63.有以下程序
main()
{intm=14,n=24;
printf("%d,%d",m++,++n);
printf("%d,%d\n",n++,++m);
}
程序運(yùn)行后的輸出結(jié)果是
A.15252616B.14252515
C.14252516D.14252615
64.
有以下程序:
intfun(intn)
{if(n==l)returnl;
elsereturn(n+fun(n一1)):
}
main
{intx;
scanf("%d",&x);x=fun(x);printf("%d\n",
x):
}
執(zhí)行程序時(shí),給變量X輸入10,程序的輸出結(jié)果是()。
A.55B.54C.65D.45
65.
66.軟件設(shè)計(jì)中模塊劃分應(yīng)遵循的準(zhǔn)則是()。A.低內(nèi)聚低耦合
B.高內(nèi)聚低耦合
C.低內(nèi)聚高耦合
D.高內(nèi)聚高耦合
67.
有以下程序:
voidf(intx,inty)
{intt;
if(x<y){t=x;x=Y;y=t;)
}
main
{inta=4,b=3,c=5;
f(a,b);f(a,c);f(b,c);
printf("%d,%d,%d\n",a,b,c);
}
執(zhí)行后輸出結(jié)果是()。
A.3,4,5B.5,3,4C.5,4,3D.4,3,5
68.
69.以下敘述中錯(cuò)誤的是()。
A.對(duì)于double類型數(shù)組,不可以直接用數(shù)組名對(duì)數(shù)組進(jìn)行整體輸入或輸出
B.數(shù)組名代表的是數(shù)組所占存儲(chǔ)區(qū)的首地址,其值不可改變
C.當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時(shí),系統(tǒng)將給出“下標(biāo)越界”的出錯(cuò)信息
D.可以通過賦初值的方式確定數(shù)組元素的個(gè)數(shù)
70.
71.
72.
73.
74.
下列程序的輸出結(jié)果是()。
#include<stdio.h>
voidp(int*x)
{printf("%d¨,++*x);
}
voidmain()
{inty=3;
p(&y);
}
A.3B.4C.2D.5
75.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.0B.1C.2D.3
76.有以下程序
#include"stdio.h"
main()
{structdate
{intnumber;
floatfenzhi;
charname;
}stu;
printf("%d\n",sizeof(stu));
}程序的運(yùn)行結(jié)果是
A.3B.5
C.7D.8
77.在下列關(guān)于二叉樹的敘述中,選出正確的一項(xiàng)()。
A.在二叉樹中,任何一個(gè)結(jié)點(diǎn)的度都是2
B.二叉樹的度為2
C.在二叉樹中至少有一個(gè)結(jié)點(diǎn)的度是2
D.一棵二叉樹的度可以小于2
78.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.10,One*Dream!B.9,One*Dream!C.9,One*WorldD.10,One*World
79.
80.
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fun()的功能是:求兩個(gè)非零正整數(shù)的最大公約數(shù),并作為函數(shù)值返回。例如,若num1和num2分別為49和21,則輸出的最大公約數(shù)為7;若num1和num2分別為27和81,則輸出的最大公約數(shù)為27。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.三個(gè)整數(shù)a、b、c,由鍵盤輸入,輸出其中最大的一個(gè)數(shù)。
參考答案
1.C解析:解答本題,首先要明白在對(duì)指針進(jìn)行加、減運(yùn)算的時(shí)候,數(shù)字“1”不是十進(jìn)制的數(shù)“1”,而是指'1'個(gè)存儲(chǔ)單元長度,而1個(gè)存儲(chǔ)單元長度占多少存儲(chǔ)空間,應(yīng)該視具體情況而定。如果基本類型是int型,移動(dòng)1個(gè)存儲(chǔ)單元的長度就是位移2個(gè)字節(jié),如果基本類型是float型,移動(dòng)1個(gè)存儲(chǔ)單元的長度就是位移4個(gè)字節(jié)。所以p+13所指向的數(shù)組元素的地址:300H+(13*上標(biāo))4)H=352H。
2.C解析:自增運(yùn)算符“++”,出現(xiàn)在變量之前,表示先使變量的值加1,再使用變量的值進(jìn)行運(yùn)算;出現(xiàn)在變量之后,表示先使用變量的值進(jìn)行運(yùn)算,冉使變量的值加1。例如題中的“b++”,題中第一條語句先輸出字符b的值,此時(shí)變量b='2',因此輸出值為2;再使b的值加1,b='3',因此第二條語句輸出:b-a='3'-'1'=2。
3.B
4.C由于a小于b,所以所有選項(xiàng)中的條件都為假,c選項(xiàng)中實(shí)際執(zhí)行了a=b;b=c;兩個(gè)操作。而A、B、D選項(xiàng)由于條件不成立,所以什么也沒有做,所以選擇c選項(xiàng)。
5.A
6.A
7.B
8.C數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)有順序存儲(chǔ)結(jié)構(gòu)和鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)兩種。不同存儲(chǔ)結(jié)構(gòu)的數(shù)據(jù)處理效率不同。由于鏈表采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),元素的物理順序并不連續(xù),對(duì)于插入和刪除無需移動(dòng)元素,很方便,當(dāng)查找元素時(shí)就需要逐.個(gè)元素查找,因此查找的時(shí)間相對(duì)更長。
9.A
10.A解析:該題考查的是遞歸函數(shù)的調(diào)用,題中讀fun函數(shù)進(jìn)行了遞歸調(diào)用,第1次調(diào)用:fun(3)n=3s=3-fun(2);第二次調(diào)用時(shí):fun(2)n=2s=2返回第一次調(diào)用后,s=3-2=1。
11.B
12.B解析::串的長度定義為串中字符的數(shù)目。所以B)為正確答案。C)答案不正確,因?yàn)榇锌梢院邢嗤淖址籄)答案不正確,因?yàn)榇锌赡芎邢嗤淖帜福乙部赡芎袛?shù)字等其他非字母字符;D)答案不正確,因?yàn)榭崭褚彩且环N字符,在計(jì)算長度時(shí)理應(yīng)將其計(jì)算在內(nèi)。
13.AFor循環(huán)結(jié)束后,數(shù)組a的值并沒有變化,由于數(shù)組是由0開始,所以a[2]的值是30。
14.D解析:C語言規(guī)定,對(duì)于二維數(shù)組,只可以省略第一個(gè)方括號(hào)中的常量表達(dá)式,而不能省略第二個(gè)方括號(hào)中的常量表達(dá)式:二維數(shù)組的一般定義格式是:類型說明符數(shù)組名[常量表達(dá)式][常量表達(dá)式]。
15.B解析:語句typedefstructS{intg;charh;}T的作用是用T作為struetS{intg;charh;)的簡寫,所以選B。
16.A解析:本題考查邏輯與運(yùn)算符&&。在C語言中使用運(yùn)算符“&&”連接兩個(gè)表達(dá)式,也可以表示邏輯與運(yùn)算符。在C語言中不允許出現(xiàn)a<=b<=c這種格式。
17.C
18.A
19.C解析:在C語言中,求余運(yùn)算符“%”兩邊的運(yùn)算對(duì)象都應(yīng)為整型數(shù)據(jù),所以需要對(duì)變量f進(jìn)行強(qiáng)制類型轉(zhuǎn)換,正確的寫法為k%(int)f。在C語言中,邏輯運(yùn)算符與賦值運(yùn)算符、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符之間從高到低的運(yùn)算優(yōu)先次序是:!(邏輯“非”)、算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、&&(邏輯“與”)、‖(邏輯“或”)、賦值運(yùn)算符。根據(jù)運(yùn)算符的優(yōu)先級(jí)與結(jié)合性,對(duì)于選項(xiàng)A),先計(jì)算k>=k的值(為真,即1),再用1對(duì)k進(jìn)行賦值。對(duì)于選取項(xiàng)B),先計(jì)算k什的值,再對(duì)其取負(fù)數(shù)。對(duì)于選項(xiàng)D),先計(jì)算k>=f的值(為假,即0),再用0與m進(jìn)行比較,故最終結(jié)果為0。
20.C
21.SQRT(x2+y2)/(a+b)
22.11011111101111解析:本題通過除2取余法即可求出十進(jìn)制數(shù)111所對(duì)應(yīng)的二進(jìn)制數(shù)1101111。
23.關(guān)系或一個(gè)關(guān)系關(guān)系或一個(gè)關(guān)系解析:在關(guān)系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,而一個(gè)二維表就是一個(gè)關(guān)系。
24.22解析:分析程序,a=2,b=-1,c=2時(shí),if語句的表達(dá)式a<b不成立,不再柱下判斷,直接退出if語句,執(zhí)行后面的輸出語句,程序結(jié)束。在這個(gè)程序中a、b、c的值沒做任何改變。
25.3636解析:本題循環(huán)體共執(zhí)行了3次。第一次:k=3,n=26:第二次:k=18,n=2;第三次:k=36,n=0。
26.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),考查是從首元素開始順序向后繼元素考查。程序中,存儲(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;”。
27.x<-6||x>6
28.00解析:本題的關(guān)鍵在于對(duì)變量c的賦值運(yùn)算:
d=(a>b>c)
d=(5>4>3)
先算5>4,為真,得1,即:d=(1>3),此時(shí)1>3,為假,得0。
29.k=5k=5解析:本題主要考查了函數(shù)的遞歸調(diào)用方法。g=0或g=1或g=2是遞歸的終止條件,然后用回代的方法從一個(gè)已知值推出下一個(gè)值,直到計(jì)算出最終結(jié)果。
30.軟件開發(fā)軟件開發(fā)解析:軟件生命周期分為3個(gè)時(shí)期共8個(gè)階段:軟件定義期(問題定義、可行性研究和需求分析)、軟件開發(fā)期(系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試)、軟件維護(hù)期(即運(yùn)行維護(hù)階段)。
31.28
32.I<na[I]I<n,a[I]解析:該程序直接使用形參max和d,由于它們都是指針變量,所以要引用它們所指向的變量時(shí),要對(duì)它們進(jìn)行指針運(yùn)算,即*號(hào)運(yùn)算。
33.a+b>c&&a+c>b&&b+c>aa+b>c&&a+c>b&&b+c>a解析:在邏輯表達(dá)式中,如果要同時(shí)滿足幾個(gè)條件可以使用邏輯與運(yùn)算符“&&”,故本題的答案應(yīng)該為:a+b>c&&a+c>b&&b+c>a或其他等價(jià)形式。
34.2525解析:本題考查帶參數(shù)的宏的定義及相關(guān)運(yùn)算。運(yùn)算過程為:t=POW(x+y)=(2+3)*(2+3)=25。
35.中序中序解析:在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結(jié)點(diǎn)、遍歷左了樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹:并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。后序遍歷指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹;并且遍歷左、右子樹時(shí),仍然光遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹。
36.3
37.3123,1,2解析:分析程序,第一個(gè)if語句,a=1,b=2,控制條件a<b成立,則交換a、b的值,此時(shí)a=2,b=1。第二個(gè)if語句,a=2,c=3,控制條件a<c成立,則交換a、c的值,此時(shí)a=3,c=2。
38.b[i-1]=a[i]-a[i-1]
39.(x>-5)&&(x<5)(x>-5)&&(x<5)解析:本題考查基本邏輯表達(dá),“整數(shù)x的絕對(duì)值大于5”時(shí)值為“假”,即整數(shù)x的絕對(duì)值小于等于5,也就是整數(shù)x要大于等于-5且要小于等于5。這里“且”用“與(&&)”表示,所以C語言表達(dá)式為:(x>-5)&&(x<5)。
40.軟件工具軟件工具
41.C2(n-1)
=2(5-1)=16
42.C解析:在數(shù)據(jù)庫系統(tǒng)中,由于采用的數(shù)據(jù)模型不同,相應(yīng)的數(shù)據(jù)庫管理系統(tǒng)(DBMS)也不同。目前常用的數(shù)據(jù)模型有三種:層次模型、網(wǎng)狀模型和關(guān)系模型。在層次模型中,實(shí)體之間的聯(lián)系是用樹形結(jié)構(gòu)來表示的,其中實(shí)體集(記錄型)是樹中的結(jié)點(diǎn),而樹中各結(jié)點(diǎn)之間的連線表示它們之間的關(guān)系。因此,本題的正確答案是C。
43.A隊(duì)列是一種特殊的線性表,只允許在表的一端插八元素,在表的另一端刪除元素,插入元素的一端叫“隊(duì)尾”,刪除元素的一端叫“隊(duì)頭”。先插入的元素先被刪除,是按“先進(jìn)先出”的原則組織數(shù)據(jù)的。
【知識(shí)拓展】“隊(duì)列”和“?!倍际且环N特殊的線性表。之所以稱之為“隊(duì)列”,其形式如“排隊(duì)”。要講究“先來后到”,先進(jìn)先出,后進(jìn)后出。
44.C
\n本題考查按位異或運(yùn)算,異或就是相同為0,不同為1(化為二進(jìn)制00001101),017的二進(jìn)制為000001111,兩者異或結(jié)果為00000010。
\n
45.DD)【解析】需求分析是軟件定義時(shí)期的最后一個(gè)階
\n段,它的基本任務(wù)就是詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象,充分了解原系統(tǒng)的工作概況,明確用戶的各種需求,然后在這些基礎(chǔ)上確定新系統(tǒng)的功能。
46.D解析:20世紀(jì)70年代以來,提出了許多軟件設(shè)計(jì)方法,主要有①逐步求精:對(duì)復(fù)雜的問題,應(yīng)設(shè)計(jì)一些子目標(biāo)作過渡,逐步細(xì)化;②自頂向下:程序設(shè)計(jì)時(shí)應(yīng)先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)。不要一開始就過多追求眾多的細(xì)節(jié),先從最上層總目標(biāo)開始設(shè)計(jì),逐步使問題具體化;⑧模塊化:一個(gè)復(fù)雜問題,肯定是由若干稍簡單的問題構(gòu)成。模塊化是把程序要解決的總目標(biāo)分解為分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo),把每個(gè)小目標(biāo)稱為一個(gè)模塊,而可復(fù)用是面向?qū)ο蟪绦蛟O(shè)計(jì)的一個(gè)優(yōu)點(diǎn)。
47.D解析:strcat(s1,s2)是把s2字符串連接到s1字符串的末尾,要保證s1能容納下連接后的字符串。
48.D解析:軟件生命周期分為軟件定義、軟件開發(fā)及軟件運(yùn)行維護(hù)3個(gè)階段。本題中,詳細(xì)設(shè)計(jì)、軟件編碼和軟件測(cè)試都屬于軟什開發(fā)階段;維護(hù)是軟件生命周期的最后一個(gè)階段,也是持續(xù)時(shí)間最長,花費(fèi)代價(jià)最大的一個(gè)階段.軟件工程學(xué)的一個(gè)目的就是提高軟件的可維護(hù)性,降低維護(hù)的代價(jià)。
49.D解析:本題考查了考生對(duì)字符串常量的理解。字符串常量是一段以雙引號(hào)括起來的字符序列,它既可以出現(xiàn)在對(duì)字符數(shù)組的初始化中,也可以出現(xiàn)在表達(dá)式中。當(dāng)它用于對(duì)字符數(shù)組的初始化時(shí),應(yīng)注意系統(tǒng)自動(dòng)為其添加的結(jié)束標(biāo)志'\\0'。而當(dāng)它出現(xiàn)在表達(dá)式中時(shí),應(yīng)該將其看作一個(gè)constchar*類型的指針常量。在選項(xiàng)A中,首先定義了一個(gè)字符指針sp,然后將一個(gè)字符串賦給甲所指的地址,這是錯(cuò)誤的。因?yàn)閟p是一個(gè)未經(jīng)初始化的野指針,不知其指向哪兒,往一個(gè)不確定的地址中寫數(shù)據(jù)很容易讓程序出錯(cuò)。選項(xiàng)B首先定義了一個(gè)字符數(shù)組,然后將一個(gè)字符串賦給數(shù)組名,這是錯(cuò)誤的。因?yàn)閿?shù)組名是一個(gè)指針常量,不可以被改變。選項(xiàng)C首先定義了一個(gè)字符數(shù)組,然后將一個(gè)字符串賦給數(shù)組的第一個(gè)元素,這也是錯(cuò)誤的。因?yàn)樽址诒磉_(dá)式中相當(dāng)于一個(gè)常字符指針,將一個(gè)指針值賦給一個(gè)字符型變量是行不通的。選項(xiàng)D是定義一個(gè)字符指針sp,同時(shí)使其指向一個(gè)字符串常量,即將一個(gè)常字符型指針賦給sp。這是可行的。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
50.D解析:在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱為一個(gè)關(guān)系。即關(guān)系模型是用表格數(shù)據(jù)來表示實(shí)體本身及其相互之間的聯(lián)系。本題的正確答案是D。
51.C解析:函數(shù)sort的功能是將a[0]、a[2]、a[4]、a[6]和a[8]按照由大到小的次序排序,其他元素值不變。正確答案為C。
52.B解析:本題中cchar函數(shù)的作用是:如果參數(shù)ch是大寫字母,則將它轉(zhuǎn)換成小寫字母,而對(duì)大寫字母以外的字符不起作用。
53.C解析:本題注意數(shù)據(jù)類型的轉(zhuǎn)換以及“/”的使用方法。
54.D解析:本題考查的知識(shí)點(diǎn)是!和&&的運(yùn)算規(guī)則.本題中,&&左邊的表達(dá)式!(x+y)為!(3+7),結(jié)果為假,即為0。再加上2,然后減一,相當(dāng)于0+5-1=4。左邊等于4,&&右邊的表達(dá)式y(tǒng)+z/2相當(dāng)于4+5/2為6,所以整個(gè)表達(dá)式相當(dāng)于4&&6為真,即為1,所以選項(xiàng)D正確。
55.A解析:本題主要考查有關(guān)文件操作的函數(shù)的應(yīng)用,其中:
①函數(shù)fopen的功能是打開一個(gè)文件,調(diào)用方式是:FILE*fp;
fp=fopen(文件名,使用文件方式);
②函數(shù)fprintf的功能是將格式化數(shù)據(jù)輸出到一個(gè)文件中,調(diào)用方式是:
fprintf(文件指針,格式字符串,輸出表列);
③函數(shù)fclose的功能是關(guān)閉一個(gè)文件,調(diào)用方式是:
fclose(文件指針);
④函數(shù)fscanf的功能是從磁盤文件執(zhí)行格式化輸入,調(diào)用方式是:
fscanf(文件指針,格式字符串,輸入表列)。
56.D本題考查參數(shù)的宏替換。為避免二義性有些參數(shù)表達(dá)式必須加括號(hào),否則在實(shí)參表達(dá)式替換時(shí),會(huì)出現(xiàn)錯(cuò)誤。例如x為(m+n)時(shí)替換A:m+n*m+n,所以選項(xiàng)D最符合條件。
57.B解析:本題中選項(xiàng)B是錯(cuò)誤的引用,*(a+i)+j只代表了a[i][j]的地址。
58.A解析:C語言的字符型常量中,允許用一種特殊形式的字符常量,就是以一個(gè)“\\”開頭的字符。其中,“\\ddd”表示用ASCII碼(八進(jìn)制數(shù))表示一個(gè)字符,本題中的charc='\\72'H口表示占一個(gè)字符的變量c的ASCII碼值。
59.D解析:C語言的語句都用“;”結(jié)束。如果只有一個(gè)分號(hào),稱為“空語句”。用一對(duì)花括號(hào)把若干語句括起來構(gòu)成一個(gè)語句組,稱為“復(fù)合語句”,在語法上視為一條語句。因此選項(xiàng)A是一條語句。選項(xiàng)B是逗號(hào)表達(dá)式加分號(hào)構(gòu)成的語句。選項(xiàng)C是一條if語句,該語句的if子句是一條空語句。選項(xiàng)D中“if(b==0)m=1;n=2;”是兩個(gè)表達(dá)式語句。所以,4個(gè)選項(xiàng)中選項(xiàng)D符合題意。
60.A解析:引用一個(gè)數(shù)組元素,可以用:(1)下標(biāo)法,如a[i]形式;(2)指針法,如*(a+i)或*(p+i)。數(shù)組的下標(biāo)從0開始,值為3的數(shù)組元素是a[2]。B、C的內(nèi)容為a[3],D將a[2]前自加,結(jié)果為4。
61.A
62.B考查while語句的使用,邏輯非運(yùn)算符和不等于運(yùn)算符的區(qū)別,邏輯非運(yùn)算符”!”的優(yōu)先級(jí)大于不等于運(yùn)算符”!=”的優(yōu)先級(jí)。
63.C本題考查自增運(yùn)算符的使用。
自增運(yùn)算符與變量的結(jié)合方向?yàn)樽杂蚁蜃?。題目中
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣東松山職業(yè)技術(shù)學(xué)院《地圖與測(cè)量學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東水利電力職業(yè)技術(shù)學(xué)院《草食動(dòng)物生產(chǎn)學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東石油化工學(xué)院《工程技術(shù)基礎(chǔ)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東汕頭幼兒師范高等專科學(xué)?!度沼锰沾蓜?chuàng)新設(shè)計(jì)》2023-2024學(xué)年第一學(xué)期期末試卷
- 廣東培正學(xué)院《商務(wù)公文寫作》2023-2024學(xué)年第一學(xué)期期末試卷
- 七年級(jí)上冊(cè)《第一章 有理數(shù)章末小結(jié)與考點(diǎn)檢測(cè)》課件
- 廣東茂名幼兒師范??茖W(xué)校《科技論文撰寫實(shí)踐》2023-2024學(xué)年第一學(xué)期期末試卷
- 關(guān)愛生命-慢病識(shí)別及管理(蘇州衛(wèi)生職業(yè)技術(shù)學(xué)院)學(xué)習(xí)通測(cè)試及答案
- 【備戰(zhàn)2021高考】全國2021屆高中地理試題匯編(11月份):E2內(nèi)外力作用對(duì)地形的影響
- 【名師一號(hào)】2020-2021學(xué)年高中英語(北師大版)必修5隨堂演練:第十四單元綜合測(cè)評(píng)
- iqc部門年終工作總結(jié)
- 五年級(jí)上冊(cè)脫式計(jì)算100題及答案
- 2024年人工智能發(fā)展引領(lǐng)AI應(yīng)用創(chuàng)新
- 智能智能化智能眼鏡
- 四川省眉山市2023-2024學(xué)年高二上學(xué)期期末生物試題【含答案解析】
- 三年級(jí)下冊(cè)數(shù)學(xué)混合計(jì)算100題及答案
- 社會(huì)工作專業(yè)見習(xí)教學(xué)大綱
- 中國動(dòng)畫賞析
- 浙江省溫州市2023-2024學(xué)年八年級(jí)上學(xué)期道德與法治期末測(cè)試(含答案)
- 地方國企重組改制實(shí)施方案
- 空壓機(jī)及氣罐故障事故應(yīng)急救援預(yù)案
評(píng)論
0/150
提交評(píng)論