版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021-2022年江西省九江市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序: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
2.若變量c為char類(lèi)型,能正確判斷出c為小寫(xiě)字母的表達(dá)式是_______。A.′a′<=c<=′z′
B.(c>=′a′)||(c<=′z′)
C.(′a′=C)
D.(c>=′a′)&&(c<=′z′)
3.算法能正確地實(shí)現(xiàn)預(yù)定功能的特性稱(chēng)為算法的()。
A.正確性B.易讀性C.健壯性D.高效率
4.算法的時(shí)間復(fù)雜度是指()A.執(zhí)行算法程序所需要的時(shí)間B.算法程序的長(zhǎng)度C.算法程序中的指令條數(shù)D.算法執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)
5.有以下程序:程序運(yùn)行后的輸出結(jié)果是()。A.1.000000B.0.000000C.0.250000D.0.500000
6.
7.鏈表不具有的特點(diǎn)是()。
A.插入、刪除不需要移動(dòng)元素B.可隨機(jī)訪問(wèn)任一元素C.不必事先估計(jì)存儲(chǔ)空間D.所需空間與線性長(zhǎng)度成正比
8.設(shè)長(zhǎng)度為n的鏈隊(duì)列用單循環(huán)鏈表表示,若只設(shè)頭指針,則入隊(duì)操作的時(shí)間復(fù)雜度為_(kāi)______。
A.O(1)B.O(log2n)C.O(n)D.O(n2)
9.廣告系統(tǒng)為了做地理位置定向,將IPV4分割為627672個(gè)區(qū)間,并標(biāo)識(shí)了地理位置信息,區(qū)間之間無(wú)重疊,用二分查找將IP地址映射到地理位置信息,請(qǐng)問(wèn)在最壞的情況下,需要查找多少次?()
A.17B.18C.19D.20
10.針對(duì)二分查找算法,假設(shè)一個(gè)有序數(shù)組有136個(gè)元素,那么要查找到第10個(gè)元素,需要比較的元素為()
A.68,34,17,9,13,11,10
B.68,34,17,8,12,10
C.69,35,18,10
D.68,34,18,9,13,11,10
11.若函數(shù)調(diào)用時(shí)的實(shí)參為變量,下列關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。
A.函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元
B.形參只是形式上的存在,不占用具體存儲(chǔ)單元
C.同名的實(shí)參和形參占同一存儲(chǔ)單元
D.函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元
12.在C語(yǔ)言中,char型數(shù)據(jù)在內(nèi)存中的存儲(chǔ)形式是()。
A.補(bǔ)碼B.反碼C.原碼D.ASCII碼
13.程序運(yùn)行后的輸出結(jié)果是()。
A.m=4
B.m=2
C.m=6
D.m=5
14.數(shù)據(jù)的獨(dú)立性是指______。
A.數(shù)據(jù)庫(kù)的數(shù)據(jù)相互獨(dú)立
B.DBMS和DB相互獨(dú)立
C.用戶應(yīng)用程序與數(shù)據(jù)庫(kù)的數(shù)據(jù)相互獨(dú)立
D.用戶應(yīng)用程序與DBMS相互獨(dú)立
15.
16.
17.有以下程序:#include<stdio.h>main(){inta;scanf("%d",&a);if(a++<9)printf("%d\n",a);clscprintf("%d\n",a--);}程序運(yùn)行時(shí)從鍵盤(pán)輸入9<回車(chē)>,則輸出結(jié)果是()。A.10B.11C.9D.8
18.無(wú)向圖中一個(gè)頂點(diǎn)的度是指圖中與該頂點(diǎn)相鄰接的頂點(diǎn)數(shù)。若無(wú)向圖G中的頂點(diǎn)數(shù)為n,邊數(shù)為e,則所有頂點(diǎn)的度數(shù)之和為()
A.n*eB.n+eC.2nD.2e
19.以下程序段中,與語(yǔ)句“k=a>b?(b>c?1:0):0;”功能相同的是()。
A.if((a>b)||(b>c))k=1;elsek=0;
B.if((a>b)&&(b>c))k=1;elsek=0;
C.if(a<=b)k=0;elseif(b<=c)k=1;
D.if(a>b)k=1;elseif(b>c)k=1;elsek=0;
20.數(shù)組A中,每個(gè)元素的長(zhǎng)度為4個(gè)字節(jié),行下標(biāo)i從1到8,列下標(biāo)j從1到10,從首地址SA開(kāi)始連續(xù)存放在存儲(chǔ)器內(nèi),該數(shù)組按行存放時(shí),元素A[8][5]的起始地址為()。
A.SA+292B.SA+296C.SA+300D.304
二、2.填空題(20題)21.下列循環(huán)的循環(huán)次數(shù)是______。
intk=2;
while(k=0)
printf["%d",k);
k--;
printf("\n");
22.在結(jié)構(gòu)化設(shè)計(jì)方法中,數(shù)據(jù)流圖表達(dá)了問(wèn)題中的數(shù)據(jù)流與加工間的關(guān)系,并且每一個(gè)______實(shí)際上對(duì)應(yīng)一個(gè)處理模塊。
23.以下程序的功能是從名為filea.dat的文本文件中逐個(gè)讀入字符并顯示在屏幕上。請(qǐng)?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);
}
24.下面程序的輸出結(jié)果是()。
main()
{inti=0,a=0;
while(i<20)
{for(;;)
{if((i%10)==0)break;
elsei--;}
i+=11;
a+=i;
}
printf("%d\n",A);
}
25.以下程序調(diào)用invert函數(shù)按逆序重新放置a數(shù)組元素的值。a數(shù)組中的值在main函數(shù)中讀入。
#include<stdio.h>
#defineN10
invert(s,i,j)
int*s,i,j;
{intt;
if(i<j)
{t=*(s+i);
*(s+i)=(s+j);
*(s+j)=t;
invert(s,【】,j-1);
}
}
main()
{
inta[N],i;
for(i=0;i<N;i++)scanf("%d",a+【】);
invert(a,0,N-1);
for(i=0,i<N;i++)printf("%d",a[i]);
printf("\n")
}
26.下列程序的功能是對(duì)輸入的一行字符中的數(shù)字字符的字面值累加,輸出此累加和,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#include<ctype.h>
main()
{charc;
inta,s=0;
while(______)
if(isdigit(C))
{a=c-'0';s+=a;}
printf("s=%d",s);
}
27.以下程序運(yùn)行后的輸出結(jié)果是()。main(){inta,b,c;a=10;b=20;c=(a/b<1)&&(a%b<1);printf("%d%d%d\n",a,b,C);}
28.單元測(cè)試又稱(chēng)模塊測(cè)試,一般采用【】測(cè)試。
29.以下程序的輸出結(jié)果是【】。
intfun(int*x,intn)
{if(n==0)returnx[0];
elsereturnx[0]+fun(x+1,n-1);
}
main()
{inta[]={1,2,3,4,5,6,7};
printf("%d\n",fun(a,3));}
30.在面向?qū)ο蟮脑O(shè)計(jì)中,用來(lái)請(qǐng)求對(duì)象執(zhí)行某一處理或回答某些信息的要求稱(chēng)為【】。
31.在關(guān)系模型中,把數(shù)據(jù)看成一個(gè)二維表,每一個(gè)二維表稱(chēng)為一個(gè)______。
32.寫(xiě)出下列程序的執(zhí)行結(jié)果。swap(p1,p2)int*p1,*p2;{intp;p=*p1;*p1=*p2;*p2=p;}main(){inta,b,*p1,*p2;scanf("%d%d",&a,&B);p1=&a;p2=&b;if(a<B)swap(p1,p2);printf("\na=%d,b=%d\n",a,B);}若a=7,b=8,則程序的運(yùn)行結(jié)果為()。
33.下列程序?qū)⒍S數(shù)組a的行和列元素互換后存放到另一個(gè)二維數(shù)組b中。請(qǐng)?zhí)羁铡?/p>
main()
{inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;
for(i=0;i<2;i++)
{for(j=0;j<3;j++)
}
}
34.下列的for語(yǔ)句的循環(huán)次數(shù)為_(kāi)_____。
for(x=1,y=0;(y!=19)&&(x<7);x++);
35.語(yǔ)句:x++;++x;x=1+x;執(zhí)行后都使變量x中的值增1,請(qǐng)寫(xiě)出一條同一功能的賦值語(yǔ)句______。
36.以下程序的輸出結(jié)果是12.00,請(qǐng)將空白處填寫(xiě)完整。
main()
{inta=9,b=2;
floatx=【】,y=1.1,z;
z=a/2+b*x/y+1*2;
printf("%52f\n",z);
}
37.實(shí)體聯(lián)系模型是一種常用的高級(jí)概念數(shù)據(jù)模型,而______是實(shí)體聯(lián)系模型中的核心。
38.軟件維護(hù)活動(dòng)包括以下幾類(lèi):改正性維護(hù)、適應(yīng)性維護(hù)、【】維護(hù)和預(yù)防性維護(hù)。
39.若有如下程序:
main()
{intx=4,y=3,x=2,t;
t=x<y<z;
printf("%d\n",t);}
則程序運(yùn)行后的輸出結(jié)果是【】。
40.在一個(gè)容量為15的循環(huán)隊(duì)列中,若頭指針front=6,尾指針Year=9,則該循環(huán)隊(duì)列中共有【】個(gè)元素。
三、1.選擇題(20題)41.下列敘述中正確的是()。
A.break語(yǔ)句只能用于switch語(yǔ)句體中
B.continue語(yǔ)句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)
C.break語(yǔ)句只能用在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)
D.在循環(huán)體內(nèi)使用break語(yǔ)句和continue語(yǔ)句的作用相同
42.設(shè)有如下3個(gè)關(guān)系表:
下列操作中正確的是()。
A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S
43.下列4項(xiàng)中說(shuō)法不正確的是______。A.A.數(shù)據(jù)庫(kù)減少了數(shù)據(jù)冗余
B.數(shù)據(jù)庫(kù)中的數(shù)據(jù)可以共享
C.數(shù)據(jù)庫(kù)避免了一切數(shù)據(jù)的重復(fù)
D.數(shù)據(jù)庫(kù)具有較高的數(shù)據(jù)獨(dú)立性
44.十進(jìn)制數(shù)1385轉(zhuǎn)換成十六進(jìn)制數(shù)為()
A.568B.569C.D85D.D55
45.下面關(guān)于對(duì)象概念的描述中,錯(cuò)誤的是
A.對(duì)象就是C語(yǔ)言中的結(jié)構(gòu)體變量
B.對(duì)象代表著正在創(chuàng)建的系統(tǒng)中的一個(gè)實(shí)體
C.對(duì)象是一個(gè)狀態(tài)和操作(或方法)的封裝體
D.對(duì)象之間的信息傳遞是通過(guò)消息進(jìn)行的
46.下列4組選項(xiàng)中,均不是C語(yǔ)言關(guān)鍵字的選項(xiàng)是______。
A.definesumtype
B.getccharprintf
C.includescanfcase
D.whilegopow
47.對(duì)于下述程序,在方式串分別采用"wt"和"wb"運(yùn)行時(shí),兩次生成的文件TEST的長(zhǎng)度分別是
#include<stdio.h>
voidmain()
{FILE*fp=fopen("TEST",);
fputc(′A′,fp);fputc(′\n′,fp);
fputc(′B′,fp);fputc(′\n′,fp);
fputc(′C′,fp);
fclose(fp);}
A.7字節(jié)、7字節(jié)B.7字節(jié)、5字節(jié)C.5字節(jié)、7字節(jié)D.5字節(jié)、5字節(jié)
48.有以下程序:intf(inta){returna%2;}main(){ints[8]={1,3,5,2,4,6},i,d=0;for(i=0;f(s[i]);i++)d+=s[i];printf("%d\n",d);}程序運(yùn)行后的輸出結(jié)果是()。
A.9B.11C.19D.21
49.下列敘述中正確的是A.程序設(shè)計(jì)就是編制程序
B.程序的測(cè)試必須由程序員自己去完成
C.程序經(jīng)調(diào)試改錯(cuò)后還應(yīng)進(jìn)行再測(cè)試
D.程序經(jīng)調(diào)試改錯(cuò)后不必進(jìn)行再測(cè)試
50.有以下程序
intfun1(doublea){returna*=a;}
intfun2(doublex,doubley)
{doublea=0,b=0;
a=fun1(x);b=fun1(y);return(int)(a+b);
}
main()
{doublew;w=fun2(1.1,2.0);……}
程序執(zhí)行后變量w中的值是A.5.21B.5C.5.0D.0.0
51.若a、b、c、d都是血型變量且都已經(jīng)正確賦初值,則下列不正確的賦值語(yǔ)句是()。
A.a+d;B.a++;C.a=b=c=d=100;D.a=(b=3)+(d=5);
52.下列程序的輸出結(jié)果是______。structst{intx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[0],60,&dr[0],60,&dr[0],}main(){p=aa;printf("%d\n",++(p->x));}
A.51B.11C.10D.60
53.已定義c為字符型變量,則下列語(yǔ)句中正確的是()。
A.c='97'B.c="97"C.c=97D.c="a"
54.若a是float型變量,b是unsigned型變量,以下輸入語(yǔ)句合法的是()
A.scanf("%6.2f%d",&a,&b);
B.scanf("%f%n",&a,&b);
C.scanf("%f%30",&a,&b);
D.scanf("%f%d",&a,&b);
55.若a,b,c1,c2,x,y均是整型變量,正確的switch語(yǔ)句是______。
A.switch(a+b);{case1:y=a+b;break;case0:y=a-b;break;}
B.switch(a*a+b*b){case3;case1:y=a+b;break;case3:y=b-a;break;}
C.switcha{casec1:y=a-b;break;casec2;x=a*b;break;default:x=a+b;}
D.switch(a-b){default:y=a*b;break;case3:case4:x=a+b;break;case10:case11:y=a-b;break;}
56.在面向?qū)ο蠓椒ㄖ?,一個(gè)對(duì)象請(qǐng)求另一對(duì)象為其服務(wù)的方式是通過(guò)發(fā)送()。A.調(diào)用語(yǔ)句B.命令C.口令D.消息
57.有以下程序main(){inta[3][2]={0},(*ptr)[2],i,j;for(i=0;i<2;i++){ptr=a+i;scanf("%d",ptr);ptr++;}for(i=0;i<3;i++){for(j=0;j<2;j++)printf("%2d",a[i][j]);printf("\n");}}若運(yùn)行時(shí)輸入:123<回車(chē)>,則輸出結(jié)果是
A.產(chǎn)生錯(cuò)誤信息B.102000C.123000D.102030
58.以下能將字符串,youareluck!正確讀入的語(yǔ)句組是()
A.chars[80];scanf("%s",s);
B.char*s:scanf("%s",s);
C.chars[80];gets(s);
D.char*s;gets(3);
59.下面程序段的運(yùn)行結(jié)果是charstr[]="ABC",*p=str;printf("%d\n",*(p+3));
A.67B.0C.字符'C'的地址D.字符'C'
60.以下程序有錯(cuò),錯(cuò)誤原因是main(){int*p,i;char*q,ch;p=&i;q=&ch;*p=40;*p=*q;……}
A.p和q的類(lèi)型不一致,不能執(zhí)行*p=*q;語(yǔ)句
B.*p中存放的是地址值,因此不能執(zhí)行*p=40;語(yǔ)句
C.q沒(méi)有指向具體的存儲(chǔ)單元,所以*q沒(méi)有實(shí)際意義
D.q雖然指向了具體的存儲(chǔ)單元,但該單元中沒(méi)有確定的值,所以執(zhí)行*p=*q;沒(méi)有意義,可能會(huì)影響后面語(yǔ)句的執(zhí)行結(jié)果
四、選擇題(20題)61.在C語(yǔ)言程序中可用做用戶標(biāo)識(shí)符的是()。
A.void123BBNB.aa_abccasC.as+b3-123IfD.6fDoSIG
62.設(shè)變量已正確定義,則以下能正確計(jì)算f=n!的程序段是()。
A)f=0;B)f=1;
for(i=1;i<=n;i++)f*=i;for(i=1;i<n;i++)f*=i;
C)f=1;D)f=1;
for(i=n;i>1;i++)f*=i;for(i=n;i>=2;i--)f*=i;
63.以下敘述中錯(cuò)誤的是()。。
A.C程序必須由一個(gè)或一個(gè)以上的函數(shù)組成
B.函數(shù)調(diào)用可以作為一個(gè)獨(dú)立的語(yǔ)句存在
C.NN數(shù)NNN值,必須通過(guò)return語(yǔ)句返回
D.函數(shù)形參的值也可以傳回給對(duì)應(yīng)的實(shí)參
64.
65.用鏈表表示線性表的優(yōu)點(diǎn)是()。
A.便于隨機(jī)存取B.花費(fèi)的存儲(chǔ)空間較順序存儲(chǔ)少C.便于插入和刪除操作D.數(shù)據(jù)元素的物理順序與邏輯順序相同
66.
67.下面四個(gè)選項(xiàng)中,均是不合法的用戶標(biāo)識(shí)符的選項(xiàng)是()。
A.
B.
C.
D.
68.
69.
70.
71.要求通過(guò)while循環(huán)不斷讀人字符,當(dāng)讀入字母N時(shí)結(jié)束循環(huán)。若變量已正確定義,以下正確的程序段是
()。
72.設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是()。
A.x=y*5=x+z
B.int(15.8%5.
C.x=y+z+5,++y
D.x=25%5.0
73.下述程序的運(yùn)行結(jié)果是()。
#includedstdio.h>
#includedstrin9.h>
main
{char*s1="abDuj";
char*s2="ABdUG";
intt;
t=strcmp(s1,s2);
printf("%d",t);
}
A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值
74.下列敘述中正確的是()。
A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系
B.表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)
C.一個(gè)關(guān)系的屬性名表稱(chēng)為關(guān)系模式
D.一個(gè)關(guān)系可以包括多個(gè)二維表
75.一個(gè)棧中初始元素依次為A、B、C、D、E?,F(xiàn)將元素1、2、3、4、5依次入棧,然后將所有的元素依次出棧,則元素出棧的順序是
A.12345ABCDEB.EDCBA54321C.ABCDE12345D.54321EDCBA
76.有以下程序程序執(zhí)行后的輸出結(jié)果是()。
A.abe,a23B.abe,123C.123,abeD.321,cba
77.以下關(guān)于字符串的敘述中正確的是()。
78.有以下程序:
main()
{
chara[7]="a0\OaO\0";inti,j;
i=sizeof(a);j=strlen(a);
printf("%d%d\n",i,j);
}
程序運(yùn)行后的輸出結(jié)果是()。
A)22B)76
C)75D)62
79.以下說(shuō)法中正確的是()。
A.C語(yǔ)言程序總是從第一個(gè)的函數(shù)開(kāi)始執(zhí)行
B.在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main函數(shù)中定義
C.C語(yǔ)言程序總是從main函數(shù)開(kāi)始執(zhí)行
D.C語(yǔ)言程序中的main函數(shù)必須放在程序的開(kāi)始部分
80.有以下程序:
#include<stdi0.h>
#include<string.h>
structA
{inta;charb[10];doubleC;);
voidf(structAt);
main()
{structAa={"1001,"ZhangDa",l098,0};
f(a);printf("%d,%S,%6.1f\n",a.a(chǎn),a.b,a.c);}
voidf(structAt)
{t.a(chǎn)=1002;strcpy(t.b,"ChangRon9");t.c=1202.0;}
程序運(yùn)行后的輸出結(jié)果是()。
A.1001,ZhangDa,1098.0
B.1002,ChangRong,1202.0
C.1001,ChangRong,1098.0
D.1002,ZhangDa,1202.0
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的功能是:對(duì)M名學(xué)生的學(xué)習(xí)成績(jī),按從低到高的順序找出前m(m≤10)名學(xué)生來(lái),并將這些學(xué)生數(shù)據(jù)存放在一個(gè)動(dòng)態(tài)分配的連續(xù)存儲(chǔ)區(qū)中,此存儲(chǔ)區(qū)的首地址作為函數(shù)值返回。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫(xiě)函數(shù)fun(),它的功能是求出能整除x且不是偶數(shù)的整數(shù),并將這些整數(shù)按從小到大的順序放在PP所指的數(shù)組中,總個(gè)數(shù)通過(guò)形參n返回。如x中的值為30,則有4個(gè)數(shù)符合要求,它們是1、3、5、15。注意:部分源程序在文件prog1.c中。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.C在函數(shù)funlintx)中,有個(gè)if語(yǔ)句判斷,如果參數(shù)x等于0或1時(shí),返回值,否則進(jìn)入下面的p=x-fun(x-2)遞歸函數(shù)。當(dāng)在主函勢(shì)中調(diào)用fun(7)時(shí),其過(guò)程為:“fun(7)=7-fun(5)=7-(5一fun(3))=7-(5-(3-fun(1)))=7-(5-(3—3))=7-5=2”,所以最后的輸出結(jié)果為2。
2.D
3.A
4.D解析:算法的時(shí)間復(fù)雜度實(shí)際上就是執(zhí)行算法程序所需要的計(jì)算工作量。為了客觀地反映算法性能,在度量算法的時(shí)間復(fù)雜度時(shí),應(yīng)該與編寫(xiě)算法程序所使用的程序設(shè)計(jì)語(yǔ)言、執(zhí)行算法程序時(shí)所使用的計(jì)算工具以及程序員的水平無(wú)關(guān)。
選項(xiàng)A錯(cuò)誤,因?yàn)橥凰惴ǔ绦蛟谶\(yùn)行速度不同的計(jì)算機(jī)上運(yùn)行時(shí),其計(jì)算時(shí)間是不同的。選項(xiàng)B錯(cuò)誤。因?yàn)樗惴ㄋ帉?xiě)的程序長(zhǎng)度往往與程序設(shè)計(jì)語(yǔ)言以及程序員的水平有關(guān),同一個(gè)算法,用不同的程序設(shè)計(jì)語(yǔ)言或者不同的程序員所編寫(xiě)出的程序其長(zhǎng)度可能會(huì)大不相同。
選項(xiàng)C錯(cuò)誤,因?yàn)楦鶕?jù)一個(gè)算法所編制出的程序程序中,其指令條數(shù)往往與程序設(shè)計(jì)語(yǔ)言以及程序員的水平有關(guān),不能用算法程序中的指令條數(shù)來(lái)度量算法的時(shí)間復(fù)雜度。
所以,本題的正確答案為D。
5.D程序定義double變量x、y,給x賦初值2.0。if語(yǔ)句判斷,當(dāng)x小于0.0時(shí),給y賦值0.0。否則當(dāng)x小于10.0時(shí),y的值為1.0/x;當(dāng)x大于等于10.0時(shí),y的值為1.0。題干中x的值為2.0,所以y的值為1.0/x,即0.500000。本題答案為D選項(xiàng)。
6.C
7.BB選項(xiàng)的特點(diǎn)是順序存儲(chǔ)結(jié)構(gòu)的特點(diǎn),即數(shù)組的特點(diǎn)。
8.C
9.D
10.B
11.A在定義函數(shù)時(shí),函數(shù)名后面圓括號(hào)中的變量名稱(chēng)為“形式參數(shù)”(簡(jiǎn)稱(chēng)形參)。在主調(diào)函數(shù)中調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名后面圓括號(hào)中的參數(shù)(可以是一個(gè)表達(dá)式)稱(chēng)為“實(shí)際參數(shù)”(簡(jiǎn)稱(chēng)實(shí)參)。C語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。故本題答案為A選項(xiàng)。
12.D解析:在C語(yǔ)言中,將一個(gè)字符常量放到一個(gè)字符變量中,實(shí)際并不是把該字符本身放到內(nèi)存單元中,而是將與該字符相對(duì)應(yīng)的ASCII碼放到存儲(chǔ)單元中。
13.C[解析]第一次外循環(huán)的值為1.第一次內(nèi)循環(huán)的值為3.不滿足條件執(zhí)行m*=j即m的值為3;第二次的值為2.不滿足條件執(zhí)行m*=*j,即m的值為6;第三次的值為1.不滿足條件執(zhí)行m*=j,即m的值仍為6.第二次外循環(huán)的值為2.j的值為3.滿足條件,執(zhí)行break語(yǔ)句,跳出循環(huán)。
14.C解析:修改數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)或邏輯結(jié)構(gòu)時(shí),通過(guò)兩級(jí)映像,可以使得應(yīng)用程序不必修改,保證數(shù)據(jù)的獨(dú)立性。數(shù)據(jù)的獨(dú)立性包括物理獨(dú)立性和邏輯獨(dú)立性。
15.D
16.B
17.A本題考查簡(jiǎn)單的運(yùn)算符操作.當(dāng)輸入9時(shí),(a++<9)為假,所以執(zhí)行else語(yǔ)句中的printf("%d\n",a--),在執(zhí)行時(shí)此時(shí)a經(jīng)過(guò)a++操作a=10,所以答案為A。
18.D
19.B條件表達(dá)式的含義是:如果表達(dá)式1成立,結(jié)果為表達(dá)式2的值,如果不成立,則為表達(dá)式3的值。在題干中,如果“a>b”且“b>c”,則k值為1;如果“a>b”且“b<c”,則k值為0;如果“a<b”,則k值為0。條件“a>b”與“b>c”中只要有一個(gè)條件不成立,k的值就為0。故本題答案為B選項(xiàng)。
20.B
21.00解析:解答本題需要注意表達(dá)式“k=0”,它是賦值表達(dá)式而不是關(guān)系表達(dá)式,不論k為何值,表達(dá)式k=0總會(huì)使k為0,所以不能進(jìn)入循環(huán)。
22.加工加工解析:數(shù)據(jù)流圖是從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫(huà)數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。其中的每一個(gè)加工對(duì)應(yīng)一個(gè)處理模塊。
23.“filea.dat”“r”“filea.dat”,“r”解析:考查對(duì)文件的操作。fopen函數(shù)的調(diào)用方式通常為fopen(文件名,使用文件方式)。本題中要求程序可以打開(kāi)filea.dat文件,并且是要讀取文件中的內(nèi)容,所以空白處應(yīng)當(dāng)填入'filea.dat','r'。
24.3232解析:while(表達(dá)式)的功能是:首先計(jì)算表達(dá)式的值.若為真,則執(zhí)行循環(huán)體語(yǔ)句,執(zhí)行完畢,再計(jì)算表達(dá)式的值.若仍為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,直到表達(dá)式的值為假,結(jié)束while語(yǔ)句的執(zhí)行,繼續(xù)執(zhí)行while語(yǔ)句后面的語(yǔ)句;i=0時(shí)滿足循環(huán)條件,也滿足if的條件,執(zhí)行語(yǔ)句得i=11,a=11,第2次循環(huán)不滿足if的條件,執(zhí)行i--,i=10,執(zhí)行i+=11;a+=i后,得i=21,a=32,不滿足i<20,循環(huán)結(jié)束。
25.i+1i
26.(c=getchar())!='\n'(c=getchar())!='\\n'解析:分析題目可知,程序中運(yùn)用函數(shù)c=getchar()從標(biāo)準(zhǔn)輸入設(shè)備讀取下一個(gè)字符,而且是一行的字符(即沒(méi)有換行),所以條件為(c=getchar())!='\\n'。
27.1020010200解析:本題考查的是混合運(yùn)算?!?a/b<1)&&(a%b<1)”的運(yùn)算順序?yàn)椋豪ㄌ?hào)>算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符。其中a%b=10,a,b=0,所以a%b<1的值為0,a/b<1的值為1,故整個(gè)表達(dá)式的結(jié)果為0,所以輸出的a,b,c的值為10200。
28.白盒法白盒法
29.1010解析:題目中的fun()函數(shù)直接調(diào)用了自身,所以它是遞歸函數(shù)。函數(shù)中只有一條if語(yǔ)句,意思是:若n為0,則返回x所指內(nèi)容(x[0]等價(jià)于*x),否則返回x所指內(nèi)容加上fun(x+1,n-1)。即,當(dāng)n>0時(shí),fun(x,n)=x[0]+fun(x+1,n-1)=x[0]+x[1]+fun(x+2,n-2)=…=x[0]+x[1]+…+x[n];當(dāng)n=0時(shí),fun(x,n)=x[0];當(dāng)n<0時(shí),函數(shù)將無(wú)限循環(huán)遞歸調(diào)用下去,因?yàn)閚-1下去永遠(yuǎn)也不會(huì)等于0。所以本題中fun(a,3)=a[0]+a[1]+a[2]+a[3]=12+3+4=10。故應(yīng)該填10。
30.消息消息解析:在面向?qū)ο蠹夹g(shù)中,主要用到對(duì)象(object)、類(lèi)(class)、方法(method)、消息(message)、繼承(inheritance)、封裝(encapsulation)等基本概念。其中消息是用來(lái)請(qǐng)求對(duì)象執(zhí)行某一處理或回答某些信息的要求。
31.關(guān)系關(guān)系解析:關(guān)系模型用;維表表示,則每個(gè);維表代表一種關(guān)系。
32.a=8b=7
33.b[j][i]=a[i][j]b[j][i]=a[i][j]解析:本題考查二維數(shù)組的基本知識(shí)。它是要將一個(gè)二維數(shù)組,的行和列元素互換后存放到另一個(gè)二維數(shù)組b中,只要將數(shù)組a的行標(biāo)和列標(biāo)互換,然后賦給數(shù)組b即可。
34.66解析:分析程序可知,每循環(huán)一次,x的值加1,然后檢測(cè)循環(huán)控制條件(y!=19)&&(x<7),因y的值不變,故滿足x<7時(shí)循環(huán)6次。
35.x+=1x+=1解析:本題考查“++”,“--”運(yùn)算符。“++”、“--”只能作用于變量,不能用于表達(dá)式或常量;前綴形式是在使用變量之前先將其值增1或減1,后綴形式是先使用變量原來(lái)的值,使用完后再使其增1或減1。
解析:a/2=9/2=4,1/2=0,于是根據(jù)輸出結(jié)果就有下列等式:z=4+2*x/1.1=12.0,化簡(jiǎn)后,為x/1.1=4,x=4.4。
37.實(shí)體聯(lián)系圖或E-R圖實(shí)體聯(lián)系圖或E-R圖解析:實(shí)體聯(lián)系圖(B-R圖)是實(shí)體聯(lián)系模型中的核心。由于E-R圖描述的是數(shù)據(jù)流圖中數(shù)據(jù)存儲(chǔ)及其之間的關(guān)系,因此它是數(shù)據(jù)庫(kù)觀念設(shè)計(jì)的最常用的工具。
38.完善性軟件維護(hù)活動(dòng)包括以下幾類(lèi):改正性維護(hù),適應(yīng)性維護(hù)、完善性維護(hù)和預(yù)防性維護(hù),完善性維護(hù)是指為了滿足用戶對(duì)軟件提出的新功能與性能要求,需要修改或再開(kāi)發(fā)軟件,以擴(kuò)充軟件功能、增強(qiáng)軟件性能、改進(jìn)加工效率、提高軟件的可維護(hù)性。
39.1
40.3
41.C解析:只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句。當(dāng)break出現(xiàn)在循環(huán)體的switch語(yǔ)句體內(nèi)時(shí),其作用只是跳出該switch語(yǔ)句體,并不能中止循環(huán)體的執(zhí)行。若想強(qiáng)行中止循環(huán)體的執(zhí)行,可以在循環(huán)體中,但并不在switch語(yǔ)句中設(shè)置break語(yǔ)句,滿足某種條件,則跳出本層循環(huán)體。
42.C解析:R表中只有一個(gè)域名A,有兩個(gè)記錄,分別是m和n;s表中有兩個(gè)域名,分別是B和C,其所對(duì)應(yīng)的記錄分別為1和3。表T是由R的第一個(gè)記錄依次與s的所有記錄組合,然后再由R的第二個(gè)記錄與S的所有記錄組合,形成的一個(gè)新表。上述運(yùn)算符合關(guān)系代數(shù)的笛卡爾積運(yùn)算規(guī)則。關(guān)系代數(shù)中,笛卡爾積運(yùn)算用“×”來(lái)表示。因此,上述運(yùn)算可以表示為T(mén)=R×S。
43.C解析:數(shù)據(jù)庫(kù)的特點(diǎn)包括:數(shù)據(jù)結(jié)構(gòu)化,共享性好,獨(dú)立性好,管理統(tǒng)一度高,數(shù)據(jù)的冗余小,數(shù)據(jù)重復(fù)性低等。故只有選項(xiàng)C的說(shuō)法不正確。數(shù)據(jù)庫(kù)只能降低數(shù)據(jù)的重復(fù)性,但并不能避免一切重復(fù)性。
44.B
45.A解析:對(duì)象是由數(shù)據(jù)和容許的操作組成的封裝體,與客觀實(shí)體有直接的對(duì)應(yīng)關(guān)系,對(duì)象之間通過(guò)傳遞消息互相聯(lián)系,從模擬現(xiàn)實(shí)世界中不同事物彼此之間的聯(lián)系,B)、C)、D)是正確的,對(duì)象的思想廣泛應(yīng)用于C++、Java等語(yǔ)言中,因此A)錯(cuò)誤。
46.A解析:本題各選項(xiàng)中的關(guān)鍵字只有三個(gè):char,case,while。
47.B解析:以'wt'方式寫(xiě)入的是字符文件,轉(zhuǎn)義字符\'\\n\'被看作兩個(gè)字符來(lái)處理。而'wb'方式寫(xiě)入的是二進(jìn)制文件,轉(zhuǎn)義字符\'\\n\'是一個(gè)字符。
48.A解析:函數(shù)f()的作用是形參a為偶數(shù)的時(shí)候返回0,主函數(shù)中首先定義了一個(gè)長(zhǎng)度為8的一維數(shù)組,然后給它賦初值使得s[0]=1、s[1]=3、s[2]=5、s[3]=2、s[4]=4、s[5]=6。其他沒(méi)有賦值的數(shù)組元素將自動(dòng)賦值為0。for循環(huán)中,當(dāng)s[i]不為偶數(shù)的時(shí),將s[i]相加,即當(dāng)i=3時(shí),s[i]=2為偶數(shù),退出循環(huán),此時(shí)d的值為d=s[0]+s[1]+s[2]=1+3+5=9,因此最后輸出的d的值為9。
49.C解析:軟件設(shè)計(jì)的基本目標(biāo)是用比較抽象概括的方式確定目標(biāo)系統(tǒng)如何完成預(yù)定的任務(wù),軟件沒(méi)計(jì)是確定系統(tǒng)的物理模型。軟件測(cè)試即使用人工或自動(dòng)手段來(lái)運(yùn)行或測(cè)定某個(gè)系統(tǒng)的過(guò)程,其日的在于檢驗(yàn)它是否滿足規(guī)定的需求或是弄清預(yù)期結(jié)果與實(shí)際結(jié)果之間的差別。軟件調(diào)試后要進(jìn)行回歸測(cè)試,防止引進(jìn)新的錯(cuò)誤。
50.C(33)C)解析:題中變量w的定義為double型,函數(shù)fun2()的定義為int型,按照各類(lèi)數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。
51.A解析:C語(yǔ)言規(guī)定,賦值號(hào)的右邊可以是一個(gè)賦值表達(dá)式,因此選項(xiàng)C)、選項(xiàng)D)正確;在選項(xiàng)B)中,a++是一個(gè)自加1的表達(dá)式,a被重新賦值,因此它是一個(gè)合法的賦值表達(dá)式;在選項(xiàng)A)中,a+d是一個(gè)算術(shù)表達(dá)式,雖然最后有一個(gè)分號(hào),但這個(gè)表達(dá)式中沒(méi)有賦值操作,因此它不是一條賦值語(yǔ)句。
52.A
53.C解析:本題考核的知識(shí)點(diǎn)是字符型變量的基本概念。用單引號(hào)括起來(lái)的一個(gè)字符稱(chēng)為字符常量,而選項(xiàng)B和選項(xiàng)D中用的是雙引號(hào),而用雙引號(hào)括起來(lái)的字符為字符串常量,故選項(xiàng)B和選項(xiàng)D不正確。因?yàn)樵贑語(yǔ)言中,字符常量在存儲(chǔ)時(shí),并不是把該字符本身放到內(nèi)存單元中去,而是將該字符的相應(yīng)的ASCII代碼放到存儲(chǔ)單元中,所以C語(yǔ)言使字符型數(shù)據(jù)和整形數(shù)據(jù)之間可以通用,選項(xiàng)C正確.而選項(xiàng)A中,給字符型變量賦值時(shí)只能賦一個(gè)字符,而9,7作為字符時(shí)為兩個(gè)字符且必須分別為單引號(hào)括起來(lái),故選項(xiàng)A不正確,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
54.C
55.D解析:由switch語(yǔ)句的格式排除A、C項(xiàng),選項(xiàng)B中出現(xiàn)了兩個(gè)相同的case標(biāo)號(hào)。
56.D解析:面向?qū)ο蟮氖澜缡峭ㄟ^(guò)對(duì)象與對(duì)象間彼此的相互合作來(lái)推動(dòng)的,對(duì)象間的這種相互合作需要一個(gè)機(jī)制協(xié)助進(jìn)行,這樣的機(jī)制稱(chēng)為消息。消息是一個(gè)實(shí)例與另一個(gè)實(shí)例之間傳遞的信息,它請(qǐng)求對(duì)象執(zhí)行某一處理或回答某一要求的信息,它統(tǒng)一了數(shù)據(jù)流和控制流。
57.B解析:二維數(shù)組指針第一個(gè)for循環(huán)中,第一次循環(huán)ptr指向a[0][0]的首地址,所以經(jīng)過(guò)輸入語(yǔ)句,a[0][0]=1;第二次循環(huán)ptr指向a[1][0]的首地址,所以經(jīng)過(guò)輸入語(yǔ)句,a[1][0]=2。此時(shí),除了這兩個(gè)元素,其他元素沒(méi)有改變,等于初值0。
58.C
59.B解析:考查指向字符串的指針變量。在該題中,指針變量p指向的應(yīng)該是該字符串中的首地址,p+3指向的是字符串結(jié)束標(biāo)志'\\0'的地址,因而。(p+3)的值為0。
60.D解析:該程序的執(zhí)行過(guò)程是:首先聲明整型指針變量P和整型變量i,字符型指針變量q和字符型變量ch,將i的地址賦給指針變量p,將ch的地址賦給指針變量q,將40賦給*p,此時(shí),q已經(jīng)指向了一個(gè)具體的存儲(chǔ)單元,但ch的值不確定,即*p沒(méi)有確定的值,所以不能執(zhí)行*p=*q語(yǔ)句。
61.Bc語(yǔ)言規(guī)定,標(biāo)識(shí)符是由字母、數(shù)字或下劃線組成,并且它的第一個(gè)字符必須是字母或者下劃線,不能使用關(guān)鍵字和數(shù)字,A中void,C中if,D中D0,都屬于關(guān)鍵字。
62.DA項(xiàng)不成立,因?yàn)閒=0,乘以任何數(shù)都為0,B項(xiàng)的判斷條件錯(cuò)誤,i<n,計(jì)算的結(jié)果為(n-1)!,C項(xiàng)也不對(duì),計(jì)算的是一個(gè)無(wú)限循環(huán),n*(n+1)*(n+2)…….
63.D形參是函數(shù)定義時(shí)由用戶定義的形式上的變量,實(shí)參是函數(shù)調(diào)用時(shí),主調(diào)函數(shù)為被調(diào)函數(shù)提供的原始數(shù)據(jù)。在C語(yǔ)言中,實(shí)參向形參傳送數(shù)據(jù)的方式是“值傳遞”。因此D選項(xiàng)正確。
64.D
65.CC?!窘馕觥繑?shù)據(jù)結(jié)構(gòu)是相互之間存在一種或多種特定關(guān)系的數(shù)據(jù)元素的集合。”關(guān)系”描述的是數(shù)據(jù)元素之間的邏輯關(guān)系,因此又稱(chēng)數(shù)據(jù)的邏輯結(jié)構(gòu)。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù)的邏輯結(jié)構(gòu))在計(jì)算機(jī)中的表示,又稱(chēng)物理結(jié)構(gòu)。數(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ì)于插入和刪除無(wú)需移動(dòng)元素,很方便,當(dāng)查找元素時(shí)就需要逐個(gè)元素查找,因此查找的時(shí)間相對(duì)更長(zhǎng)。
66.C
67.AC語(yǔ)言規(guī)定的標(biāo)識(shí)符只能由字母、數(shù)字和下劃線3種字符組成,第一個(gè)字符必須為字母或下劃線,并且不能使用C語(yǔ)言中的關(guān)鍵字作為標(biāo)識(shí)符。選項(xiàng)A)中g(shù)ot0和
68.C
69.B\r\n
70.A
71.A本題考查的知識(shí)點(diǎn)是:9etCharl函數(shù)和邏輯表達(dá)式的判定。題目要求“當(dāng)讀人字母N時(shí)結(jié)束循環(huán)”,所WE)、D)選項(xiàng)不對(duì);選項(xiàng)B)中,作為條件的表達(dá)式的值恒成立,不符合題目要求,故本題選A)。
72.C解析:求余運(yùn)算符'%'兩邊的運(yùn)算對(duì)象必須是整型,而選項(xiàng)B)和D)中'%'兩邊的運(yùn)算對(duì)象
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 護(hù)理倫理決策圖示
- 學(xué)堂在線 雨課堂 中醫(yī)與診斷-學(xué)做自己的醫(yī)生 期末考試答案
- 護(hù)理溝通中的情緒管理
- 母嬰護(hù)理工具與用品選擇
- 眼科護(hù)理新進(jìn)展與新技術(shù)應(yīng)用
- 告別課件教學(xué)課件
- DSA護(hù)理與患者安全管理
- 如何正確處理鼻腔出血
- 聽(tīng)見(jiàn)聲音課件
- 致命說(shuō)服話術(shù)
- 三叉神經(jīng)術(shù)后護(hù)理講課件
- 慢性呼吸疾病肺康復(fù)護(hù)理專(zhuān)家共識(shí)
- 乒乓球培訓(xùn)學(xué)員管理制度
- 申論筆試題目及答案
- 基于顯性核不育的棉花分子輪回選擇育種體系的建立
- 網(wǎng)絡(luò)游戲跨平臺(tái)兼容性測(cè)試計(jì)劃制定
- 有限空間作業(yè)中毒窒息應(yīng)急處理預(yù)案
- DB46T665-2025 鄉(xiāng)鎮(zhèn)(街道)民政服務(wù)站建設(shè)和管理規(guī)范
- 承插式盤(pán)扣腳手架專(zhuān)項(xiàng)施工方案
- 《客家文化之擂茶》課件
- 【MOOC】行政法與行政訴訟法學(xué)-西南政法大學(xué) 中國(guó)大學(xué)慕課MOOC答案
評(píng)論
0/150
提交評(píng)論