版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年江蘇省徐州市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)重點(diǎn)匯總測(cè)試卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.用不帶頭結(jié)點(diǎn)的單鏈表存儲(chǔ)隊(duì)列時(shí),其隊(duì)頭指針指向隊(duì)頭結(jié)點(diǎn),其隊(duì)尾指針指向隊(duì)尾結(jié)點(diǎn),則在進(jìn)行刪除操作時(shí)()。
A.僅修改隊(duì)頭指針B.僅修改隊(duì)尾指針C.隊(duì)頭、隊(duì)尾指針都要修改D.隊(duì)頭,隊(duì)尾指針都可能要修改
2.
3.下列關(guān)于AOE網(wǎng)的敘述中,不正確的是()。
A.關(guān)鍵活動(dòng)不按期完成就會(huì)影響整個(gè)工程的完成時(shí)間
B.任何一個(gè)關(guān)鍵活動(dòng)提前完成,那么整個(gè)工程將會(huì)提前完成
C.所有的關(guān)鍵活動(dòng)提前完成,那么整個(gè)工程將會(huì)提前完成
D.某些關(guān)鍵活動(dòng)提前完成,那么整個(gè)工程將會(huì)提前完成
4.給定下列代碼:已知n是一個(gè)整數(shù):foo()時(shí)間復(fù)雜度為O(1),上述代碼的時(shí)間復(fù)雜度是()A.O(logn)B.O(n)C.O(n*log(n))D.O(log(n)^2)
5.如果要求一個(gè)線性表既能較快地查找,又能適應(yīng)動(dòng)態(tài)變化的要求,可以采用下列哪一種查找方法()
A.分塊B.順序C.折半D.哈希
6.線性表的順序存儲(chǔ)結(jié)構(gòu)是一種()。
A.隨機(jī)存取的存儲(chǔ)結(jié)構(gòu)B.順序存取的存儲(chǔ)結(jié)構(gòu)C.索引存取的存儲(chǔ)結(jié)構(gòu)D.Hash存取的存儲(chǔ)結(jié)構(gòu)
7.有以下程序:#include<stdio.h>#defineF(x,y)(x)*(y)main(){inta=3,b=4;printf("%d\n",F(a++,b++));}程序運(yùn)行后的輸出結(jié)果是()。
A.12B.15C.16D.20
8.以下選項(xiàng)中的表達(dá)式調(diào)用庫(kù)函數(shù)依次求-4.5的絕對(duì)值、-4.0的平方根值、30°角的正弦值和2的3次方值。正確的調(diào)用是()
A.abs(-4.5)B.sqrt(-4.0)C.sin(3.1416/6.0)D.paw(2.0,3.0)
9.設(shè)有定義:structcomplex{intreal,unreal;}data1={1,8},data2;則下列賦值語(yǔ)句中錯(cuò)誤的是()。
A.data2=(2,6);
B.data2=data1;
C.data2.real=data1.real;
D.data2.real=data1.unreal;
10.
11.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
12.若有以下說(shuō)明和定義uniondt{inta;charb;doublec;}data;以下敘述中錯(cuò)誤的是
A.data的每個(gè)成員起始地址都相同
B.變量data所占內(nèi)存字節(jié)數(shù)與成員c所占字節(jié)數(shù)相等
C.程序段:data.a=5;printf(“%I'm”,data.C);輸出結(jié)果為5.000000
D.data可以作為函數(shù)的實(shí)參
13.下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是______。
A.數(shù)據(jù)庫(kù)是一個(gè)DBF文件B.數(shù)據(jù)庫(kù)是一個(gè)關(guān)系C.數(shù)據(jù)庫(kù)是一個(gè)結(jié)構(gòu)化的數(shù)據(jù)集合D.數(shù)據(jù)庫(kù)是一組文件
14.C語(yǔ)言中邏輯表達(dá)式的值為()
A.0或1B.非零值或者零值C.ture或falseD.'ture'或者'false'
15.已知char**s,下面正確的語(yǔ)句是()。A.A.s="ABCDEF";
B.*s="ABCDEF";
C.**s="ABCDEF";
D.*s='A';
16.若有以下程序:inta=1,b=2;a=a^b;b=b^a;則執(zhí)行以上語(yǔ)句后a和b的值分別是()。A.a=1,b=2B.a=3,b=lC.a=3,b=2D.a=2,b=l
17.
18.
19.已知shortint類型變量占用兩個(gè)字節(jié),若有定義:shortintx[10]={0,2,4};,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是()。
A.3B.6C.10D.20
20.下列程序的運(yùn)行結(jié)果是()。
A.2,3,2B.2,3,1C.1,3,3D.3,1,2
二、2.填空題(20題)21.診斷和改正程序中錯(cuò)誤的工作通常稱為【】。
22.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{intx,a=1,b=2,c=3,d=4;
x=(a<b)?a:b;x=(x<c)?x:c;x=(d>x)?x:d;
printf("%d\n",x);
}
23.執(zhí)行下列語(yǔ)句段后,x的值是______。
int*p,x;
x=100;
p=&x;
x=*p+50;
24.\13'在內(nèi)存中占1個(gè)字節(jié),"\12"在內(nèi)存中占______個(gè)字節(jié)。
25.以下程序的功能是從鍵盤上輸入一行字符,存入一個(gè)字符數(shù)組中,然后輸出該字符串。請(qǐng)?zhí)羁铡?/p>
main()
{charstr[81],*sptr;
inti;
for(i=0;i<80;i++)
{str[i]=getchar();
if(str[i]=='\n')break;
}
str[i]=【】;
sptr=str1
while(*sptr)putchar(*sptr【】);
}
26.表示條件;10<x<100或x<0的C語(yǔ)言表達(dá)式是【】。
27.以下函數(shù)的功能是求x的y次方,請(qǐng)?zhí)羁铡?/p>
doublefun(doublex,inty)
{inti;
doublez;
for(i=1,z=x;i<y;i++)z=z*【】;
returnz;
}
28.在宏定義#definePI3.14159中,用宏名PI代替一個(gè)______。
29.下列程序的輸出結(jié)果是【】。
main()
{inta=1,b=2;
a=a+b;b=a-b,a=a-b;
printf("%d,%d\n",a,b);
}
30.長(zhǎng)度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【】。
31.以下程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{FILE*fp;inta[10]={1,2,3,0,0},i;
fp=fopen("d2.dat","wb");
fwtite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i++)printf("%d",a[i]);
}
32.若有定義:intk;,以下程序段的輸出結(jié)果是______。for(k=2;k<6;k++,k++)printf("##%d",k);
33.閱讀下面程序段,則執(zhí)行后輸出的結(jié)果是【】。
#include"stdio.h"
main()
{charfun(char,int);
chara='A';
intb=13;
a=fun(a,b);
putchar(a);}
charfun(chara,intb)
{chark;
k=a+b;
returnk;}
34.以下程序的功能是輸入任意整數(shù)給n后,輸出n行由大寫字母A開始構(gòu)成的三角形字符陣列圖形。例如,輸入整數(shù)5時(shí)(注意:n不得大于10),程序運(yùn)行結(jié)果如下:
ABCDE
FGHI
JKL
MN
O
請(qǐng)?zhí)羁胀瓿稍摮绦颉?/p>
main()
{inti,j,n;charch='A';
scanf("%d",&n);
if(n<11)
{for(i=1;i<=n;i++)
{for(j=1;j<=n-i+1;j++)
{printf("%2c",ch);
【】;
}
【】;
}
}
elseprintf("nistoolarge!\n")
printf("\n"0);
}
35.若有下列定義和語(yǔ)句:
char*s1="12345",*s2="1234";
printf("%d\n",strlen(strcpy(s1,s2)));
則輸出結(jié)果為______。
36.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio.h>
msin()
{inti,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
}
37.問題處理方案的正確而完整的描述稱為______。
38.請(qǐng)?jiān)谝韵鲁绦虻谝恍械南聞澗€處填寫適當(dāng)內(nèi)容,使程序能正確運(yùn)行。
______(double,double);
main()
{doublex,y;
scanf("%lf%lf",&x.&y);
printf("%lf\n…,max(x,y));
}
doublemax(doublea,doubleB)
{return(a>b?a=B);}
39.數(shù)據(jù)庫(kù)管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【】3種。
40.若輸入3、4、5,程序的輸出結(jié)果為【】。
#include"math.h"
main()
{floata,b,c,s,area;
scanf("%f,%f,%f",&a,&b,&c);
s=1.0/2*(a+b+c);
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f",a,b,c,s);
printf("area=%7.2f\n",area);
}
三、1.選擇題(20題)41.有以下程序段typedefstructNODE{intnum;structNODE*next;}OLD;以下敘述中正確的是
A.以上的說(shuō)朗形式非法B.NODE是一個(gè)結(jié)構(gòu)體類型C.OLD是一個(gè)結(jié)構(gòu)體類型D.OLD是一個(gè)結(jié)構(gòu)體變量
42.判斷字符串s1是否大于字符串s2,應(yīng)該使用()。
A.if(strcmp(s1,s2)<0)
B.if(s1>s2)
C.if(strcmp(s2,s1)<0)
D.if(strcmp(s1,s2))
43.下列程序執(zhí)行輸出的結(jié)果是()。#include<stdio.h>f(inta){intb=0;staticc=3;a=c++;b++;return(a);}main(){inta=2,i,k;for(i=0;i<2;i++)k=f(a++);printf("%d\n",k);}
A.3B.4C.5D.6
44.下面描述中,不符合結(jié)構(gòu)化程序計(jì)風(fēng)格的是_______。
A.使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯
B.自頂向下
C.注重提高程序的執(zhí)行效率
D.限制使用goto語(yǔ)句
45.下列程序的運(yùn)行結(jié)果為______。main(){inta,*p;p=&a;a=100;printf("a=%d*p=%d*&a=%d&*p=%u",a,*p,*&a,&*p);a++;printf("a++=%d",a);(*p)++;printf("(*p)++=%d",*p);*p++;printf("*p++=%d\n",*p);}
A.a=100*p=100*&a=100&*p=65498a++=101(*p)++=102*p++=-24
B.a=100*p=100*&a=100&*p=65498a++=101(*p)++=102*p++=-102
C.a=100*p=100*&a=65498&*p=65498a++=101(*p)++=102*p++=-24
D.a=100*p=100*&a=100&*p=65498a++=101(*p)++=101*p++=-24
46.以下不屬于對(duì)象的基本特點(diǎn)的是()
A.分類性B.多態(tài)性C.繼承性D.封裝性
47.若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。
A.函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元
B.形參只是形式上的存在,不占用具體存儲(chǔ)單元
C.同名的實(shí)參和形參占同一存儲(chǔ)單元
D.函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元
48.下列選項(xiàng)中正確的語(yǔ)句組是()。
A.chars[8];s={"Beijing"};
B.char*s;s={"Beijing"};
C.chars[8];s="Beijing";
D.char*s;s="Beijing";
49.冒泡排序在最壞情況下的比較次數(shù)是()。
A.n(n+1)/2B.nlog2nC.n(n-1)/2D.n/2
50.假設(shè)有語(yǔ)句sizeof(double),則它是()。
A.一個(gè)整型表達(dá)式B.一個(gè)雙精度浮點(diǎn)型表達(dá)式C.一種函數(shù)調(diào)用D.一種函數(shù)定義
51.下列敘述中錯(cuò)誤的是()。
A.一種數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)
B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率無(wú)關(guān)
C.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)
D.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)在計(jì)算機(jī)中所占的空間不一定是連續(xù)的
52.有如下程序main(){intx=3;do{printf("%d",x--);}while(!x);}該程序的執(zhí)行結(jié)果是______。
A.321B.3C.不輸出任何內(nèi)容D.陷入死循環(huán)
53.對(duì)計(jì)算機(jī)軟件正確的態(tài)度是()
A.計(jì)算機(jī)軟件不需要維護(hù)
B.計(jì)算機(jī)軟件只要能復(fù)制得到就不必購(gòu)買
C.受法律保護(hù)的計(jì)算機(jī)軟件不能隨便復(fù)制
D.計(jì)算機(jī)軟件不必有備份
54.有下列程序:#include<stdio.h>main(){inta=6,b=7,m=1;switch(a%2){case0:m++;break;case1=m++;switch(b%2){defaut:m++;case0:m++;break;}}printf("%d\n",m);}程序運(yùn)行后的輸
A.1B.2C.3D.4
55.沒有以下語(yǔ)句,其中不是對(duì)a數(shù)組元素的正確引用的是:______(其中0≤i<10)inta[10]={1,1,2,3,4,5,6,7,8,9,},*p=a;
A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))
56.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inta=3,b=2,c=1;if(a<b)if(b<O)c=0;elsec++;printf("%d\n",c);}
A.0B.2C.1D.3
57.有下列函數(shù):intfun(char*s){char*t=s;while(*t++);return(t-s);}該函數(shù)的功能是()。
A.比較兩個(gè)字符串的大小
B.計(jì)算s所指字符串占用內(nèi)存字節(jié)的個(gè)數(shù)
C.計(jì)算s所指字符串的長(zhǎng)度
D.將s所指字符串復(fù)制到字符串t中
58.下列敘述中正確的是A.線性表是線性結(jié)構(gòu)B.棧與隊(duì)列是非線性結(jié)構(gòu)C.線性鏈表是非線性結(jié)構(gòu)D.二叉樹是線性結(jié)構(gòu)
59.有以下函數(shù):intfun(char*s){char*t=s;while(*t++);return(t-s)該函數(shù)的功能是______。
A.比較兩個(gè)字符串的大小
B.計(jì)算s所指字符串占用內(nèi)存字節(jié)個(gè)數(shù)
C.計(jì)算s所指字符串的長(zhǎng)度
D.將s所指字符串復(fù)制到字符串t中
60.有如下程序#defineN2#defineMN+1#defineNUM2*M+1main(){inti;for(i=1;i<=NUM;i++)printf("%d\n"i)}該程序中的for循環(huán)執(zhí)行的次數(shù)是______。
A.5B.6C.7D.8
四、選擇題(20題)61.以下程序的輸出結(jié)果是()。#defineM(x,y,z)x*y+zmain(){inta=l,b=2,c=3;printf("%d\n",m(a+b.b+c,c+a));}A.19B.17C.15D.12
62.若有定義語(yǔ)句:
63.下列敘述中正確的是()。
A.可以用關(guān)系運(yùn)算符比較字符串的大小
B.空字符串不占用內(nèi)存,其內(nèi)存空間大小是0
C.兩個(gè)連續(xù)的單引號(hào)是合法的字符常量
D.兩個(gè)連續(xù)的雙引號(hào)是合法的字符串常量
64.以下敘述中正確的是()。A.A.當(dāng)對(duì)文件的讀(寫)操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
B.打開一個(gè)已存在的文件并進(jìn)行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
C.在一個(gè)程序中當(dāng)對(duì)文件進(jìn)行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第1個(gè)數(shù)據(jù)
D.c語(yǔ)言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
65.
66.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.4B.10C.14D.6
67.
68.
69.下列程序的輸出結(jié)果是()。
#include<stdio.h>
main()
{inti,s=0;
for(i=1;i<10;i++)
if(!(i%2)&&!(i%3))s+=i;
printf("%d\n",s);
}A.4B.39C.45D.6
70.以下函數(shù)返回a所指數(shù)組中最小的值所在的下標(biāo)值:fun(int*a,intn){inti,j=0,P;p=j;for(i=j;i<n;i++)if(a[i]<a[j])____return(p);}在下劃線處應(yīng)填入的是()。A.i=PB.a[p]=a[i]C.p=jD.p=i
71.
72.
73.當(dāng)變量c的值不為2、4、6時(shí),值也為”真”的表達(dá)式是()。
A.
B.
C.
D.
74.
下列程序的輸出結(jié)果是()。
voidfun(int*X,inty)
{printf("%d%d",*x,*y);*x=3;*y=1;}
main
{intx=1,y=2;
fun(&y,&x);
printf("%d%d",x,y);
}
A.2143B.1212C.1234D.2112
75.
76.有以下程序
77.以下敘述中錯(cuò)誤的是()。
A.C語(yǔ)言編寫的函數(shù)源程序,其文件名后綴可以是C
B.C語(yǔ)言編寫的函數(shù)都可以作為一個(gè)獨(dú)立的源程序文件
C.C語(yǔ)言編寫的每個(gè)函數(shù)都可以進(jìn)行獨(dú)立的編譯并執(zhí)行
D.一個(gè)C語(yǔ)言程序只能有一個(gè)主函數(shù)
78.
79.若有定義intx'y;并已正確給變量賦值。則以下選項(xiàng)中與表達(dá)式(x-y)?(x++):(y++)中的條件表達(dá)式(x_y)等價(jià)的是()。
A.(x-y011x-y>0)B.(x-y<0)C.(x-y>0)D.(x-y=o)
80.選出下列標(biāo)識(shí)符中不是合法的標(biāo)識(shí)符的是()。
A.hot_doB.cat1C._priD.2ab
五、程序改錯(cuò)題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:將str所指字符串中出現(xiàn)的t1所指字符串全部替換成t2所指字符串,所形成的新的字符串放在w所指的數(shù)組中。在此處,要求t1和t2所指字符串的長(zhǎng)度相同。例如,當(dāng)str所指字符串中所指的內(nèi)容為abcdabcdef9,t1所指字符串中的內(nèi)容為bc,t2所指字符串中的內(nèi)容為11時(shí),結(jié)果在w所指的數(shù)組中的內(nèi)容應(yīng)為alldalldefg。請(qǐng)修改程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),它的功能是計(jì)算:s=(1-1n(1)-1n(2)-1n(3)-…-1n(m))2s作為函數(shù)值返回。在C語(yǔ)言中可調(diào)用log(n)函數(shù)求1n(n)。log函數(shù)的引用說(shuō)明是doublelog(doublex)。例如,若m的值為10,則proc()函數(shù)值為l98.934454。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:
參考答案
1.D
2.B
3.B
4.B
5.D
6.A
7.A解析:本題考查帶參數(shù)的宏定義,參數(shù)只是簡(jiǎn)單的替換而不是求出其值后再替換形式參數(shù)。本題中用a++替換X,用b++替換Y,再求(a++)*(b++)的值,即3*4的值,其結(jié)果為12。
8.C
9.AA選項(xiàng)中的語(yǔ)句可以在聲明變量的同時(shí)為data2賦值,賦值語(yǔ)句應(yīng)寫作“data2={2,6};”。故本題答案為A選項(xiàng)。
10.B
11.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。
12.C解析:本題考查的共用體的概念。共用體變量中的所有成員共享一段公共存儲(chǔ)區(qū),所以共用體變量所占內(nèi)存字節(jié)數(shù)與其成員中占字節(jié)數(shù)最多的那個(gè)成員相等.本題定義的共用體中成員C所占的內(nèi)存最多,因此選項(xiàng)B是正確的。由于共用體變量中的所有成員共享存儲(chǔ)空間,因此變量中的所有成員的首地址相同,選項(xiàng)A是正確的。同結(jié)構(gòu)體變量一樣,共用體類型的變量可以作為實(shí)參進(jìn)行傳遞,也可以傳送共用體變量的地址,選項(xiàng)D也是正確的。在內(nèi)存中,實(shí)數(shù)與整數(shù)的存放形式完全不一樣,共用體的成員共用的是同一塊內(nèi)存,而不是同一個(gè)數(shù)值,因此選項(xiàng)C是錯(cuò)誤的。
13.C解析:數(shù)據(jù)庫(kù)(Database,簡(jiǎn)稱DB)是數(shù)據(jù)的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲(chǔ)介質(zhì)內(nèi),是多種應(yīng)用數(shù)據(jù)的集成,并可被各個(gè)應(yīng)用程序所共享。數(shù)據(jù)庫(kù)中的數(shù)據(jù)具有“集成”、“共事”之特點(diǎn)。
14.A
15.C
16.B本題考查按位異或的用法。按位異或運(yùn)算的規(guī)則是:兩個(gè)運(yùn)算數(shù)的相應(yīng)二進(jìn)制位相同,則結(jié)果為0,相異則結(jié)果為1。b=2的二進(jìn)制為00000010,a=1的二進(jìn)制為00000001,a=a^b一00000011,轉(zhuǎn)化為十進(jìn)制后為3,b=b^a=00000010^00000011=00000001,即1。
17.D
18.B
19.D
20.D本題考查while循環(huán)。第一次循環(huán),y=y-1,y=2,循環(huán)條件成立,x=1,x++后值為1,x自加變成2,進(jìn)入循環(huán),a=a+1=1,判斷if語(yǔ)句條件是否成立,y<x不成立,接著執(zhí)行下一次循環(huán)。第二次循環(huán),x=2,y-1=1.循環(huán)條件成立,進(jìn)入循環(huán),a=a+1=2,判斷if語(yǔ)句的控制條件是否成立,y<x成立,執(zhí)行break語(yǔ)句。退出循環(huán)。結(jié)果為D。
21.程序調(diào)試程序調(diào)試解析:程序調(diào)試的任務(wù)是診斷和改正程序中的錯(cuò)誤。程序調(diào)試與軟件測(cè)試不同,軟件測(cè)試是盡可能多地發(fā)現(xiàn)軟件中的錯(cuò)誤。先要發(fā)現(xiàn)軟件的錯(cuò)誤,然后借助于調(diào)試工具找出軟件錯(cuò)誤的具體位置。軟件測(cè)試貫穿整個(gè)軟件生命期,而調(diào)試主要在開發(fā)階段。
22.11解析:因?yàn)樵跅l件表達(dá)式(a<b)?a:b中,比較表達(dá)式a<b為真,所以x的值等于a的值等于1,后面兩個(gè)條件表達(dá)式中的比較表達(dá)式都為真,所以最終x的值等于1。
23.150150解析:本題先給變量x賦初始值100,然后將指針p指向變量x,*p是取指針p所指地址的內(nèi)容,即100,所以x=100+50=150。
24.22解析:'\\13':表示八進(jìn)制數(shù)13表示的ASCII字符,是一個(gè)字符,占一個(gè)字節(jié);而”\\12”是個(gè)字符串,除了八進(jìn)制數(shù)12表示的ASCII字符占一個(gè)字節(jié)外,還有在字符串的末尾加上串結(jié)束標(biāo)志“'\\0'”,所以共有2個(gè)字節(jié)。
25.\0'++
26.(x>10&&x<100)||x<0
27.xx解析:函數(shù)的定義形式為;
函數(shù)類型函數(shù)名(形參表)
{
類型說(shuō)明語(yǔ)句;
執(zhí)行語(yǔ)句;
}
本題中函數(shù)的功能是:累積變量以求得變量的Y次方。
28.字符串字符串解析:本題考查字符替換格式:#define標(biāo)識(shí)符字符串。
29.21
30.n/2性表的任何位置插入一個(gè)元素的概率相等,即概率為p=1/(n+1),則插入一個(gè)元素時(shí)所需移動(dòng)元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。
31.12300123001,2,3,0,0,1,2,3,0,0,解析:本題考查文件讀寫函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個(gè)元素輸出到文件fp中兩次,共10個(gè)字節(jié),再調(diào)用fread函數(shù)從文件fp中讀取這10個(gè)字節(jié)的數(shù)據(jù)到數(shù)組a中,此時(shí)數(shù)組a的內(nèi)容就變?yōu)閧1,2,3,0,0,1,2,3,0,0},最后的輸出結(jié)果為“1,2,3,0,0,1,2,3,0,0”。
32.本題主要考查for循環(huán)語(yǔ)句。for循環(huán)的增量表達(dá)式為逗號(hào)表達(dá)式,相當(dāng)于k+=2;,即每次循環(huán)后k增加2。第一次循環(huán)時(shí),k=2,因此輸出##2;第二次循環(huán)時(shí)k=4,輸出##4。此后k=6,不滿足循環(huán)條件。\r\n\r\n
33.NN解析:函數(shù)說(shuō)明語(yǔ)句中的類型名必須與函數(shù)返回值的類型一致。本題實(shí)現(xiàn)的是在字符“A”的ASCII碼值上加上一個(gè)常數(shù),使之變成另一個(gè)ASCII碼值,從而輸出字符。
34.ch++;或++ch;或ch=ch+1;或ch=1+ch;或ch+=1;priintf("\n");或putchar('\n');ch++;或++ch;或ch=ch+1;或ch=1+ch;或ch+=1;\r\npriintf('\\n');或putchar(\'\\n\');解析:因?yàn)閏h被初始化為\'A\',而內(nèi)循環(huán)中有—條輸出ch的語(yǔ)句,整個(gè)程序都沒有一條改變ch值的語(yǔ)句。所以,第1空應(yīng)該填ch++或其它類似的表達(dá)式,以使每次輸出一個(gè)字母后ch都能變?yōu)橄乱粋€(gè)字母。內(nèi)循環(huán)結(jié)束后,代表這一行已經(jīng)輸出完畢,此時(shí)即將開始下一行的輸出,所以在第2空位置應(yīng)該輸出一個(gè)換行符,故應(yīng)填入printf('\\n');或其他等價(jià)形式。
35.44解析:strcpy(s1,s2)函數(shù)的作用是將字符串s2中的內(nèi)容拷貝到字符串s1中的內(nèi)容覆蓋。strlen()函數(shù)是求字符串的長(zhǎng)度。本題實(shí)際上是要求s2字符串的長(zhǎng)度,即是4。
36.1371513715解析:程序中n是一個(gè)有5個(gè)元素,且元素值全為0的數(shù)組。在for循環(huán)中,當(dāng)i=1時(shí),n[1]=n[0]*2+1,此時(shí)n[1]=1;i=2時(shí),n[2]=n[1]*2+1,此時(shí)n[2]=3;i=3時(shí),n[3]=n[2]*2+1,此時(shí)n[3]=7;i=4時(shí),n[4]=n[3]*2+1,此時(shí)n[4]=15,循環(huán)結(jié)束。輸出函數(shù)中%d后有空格,因此輸出結(jié)果為13715。
37.算法或程序或流程圖算法或程序或流程圖解析:算法是問題處理方案正確而完整的描述。
38.doublemax或externdoublemaxdoublemax或externdoublemax解析:函數(shù)聲明是對(duì)所用到的函數(shù)的特征進(jìn)行必要的聲明,編譯系統(tǒng)以函數(shù)聲明中給出的信息為依據(jù),對(duì)調(diào)用表達(dá)式進(jìn)行檢測(cè),以保證調(diào)用表達(dá)式與函數(shù)之間的參數(shù)正確傳遞.函數(shù)聲明的一般格式為:類型標(biāo)識(shí)符函數(shù)名(類型標(biāo)識(shí)符形參,…);這些信息就是函數(shù)定義中的第一行的內(nèi)容。本題中main()函數(shù)需要調(diào)用max()函數(shù),在main()之前就需要聲明函數(shù)max(),并且可以用extern說(shuō)明符使變量的作用域擴(kuò)充到需要用到它的函數(shù),所以,填寫doublemax(或externdoublemax)。
39.關(guān)系模型關(guān)系模型解析:數(shù)據(jù)庫(kù)管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫(kù)之間的一個(gè)標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。
40.a=3.00b=4.00c=5.00s=6.00area=6.00
41.C解析:將題目中的定義語(yǔ)句去掉前面的typedef和后面的OLD(分號(hào)保留),就是一條完整的結(jié)構(gòu)體定義語(yǔ)句,其中struct是說(shuō)明符,NODE是結(jié)構(gòu)體名,大括號(hào)里面的是結(jié)構(gòu)體成員的定義.此時(shí)要聲明該結(jié)構(gòu)體變量時(shí)需要使用struct加結(jié)構(gòu)體名一起來(lái)聲明,structNODE一起構(gòu)成一個(gè)結(jié)構(gòu)體類型,就好像字符類型char。若只去掉前面的typedef,就是一條結(jié)構(gòu)體定義同時(shí)聲明一個(gè)結(jié)構(gòu)體變量OLD的語(yǔ)句,因?yàn)镺LD的前面部分是structNODE的完整寫法,可以看作是structNODE。C語(yǔ)言允許用typcdcf說(shuō)明一種新類型名,其語(yǔ)法格式為:
typedef類型名標(biāo)識(shí)符;
以后就可以用該標(biāo)識(shí)符來(lái)代替被說(shuō)明的類型名了。因此,當(dāng)前面存在typedef時(shí),該語(yǔ)句就變成7給structNODE的完整寫法定義一個(gè)新的名稱OLD。所以,此時(shí)的OLD是一個(gè)結(jié)構(gòu)體類型,它相當(dāng)于structNODE,即可以和char一樣單獨(dú)用來(lái)聲明該結(jié)構(gòu)體變量,而NODE只是一個(gè)結(jié)構(gòu)體名,不能單獨(dú)用來(lái)聲明變量。所以,4個(gè)選項(xiàng)中C符合題意.
42.C解析:本題考查字符串比較函數(shù)strcmp()。調(diào)用形式:strcmp(s1,s2),其中s1、s2分別是字符串存儲(chǔ)區(qū)的首地址。函數(shù)功能:比較字符串str1和str2,當(dāng)str1<str2時(shí),返回值為負(fù)數(shù);當(dāng)str1=str2時(shí),返回0;當(dāng)str1>str2,返回值為正數(shù)(注意:不能使用關(guān)系運(yùn)算符比較兩個(gè)字符串的大小)。
43.B解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。在函數(shù)調(diào)用時(shí),static變量在函數(shù)調(diào)用結(jié)束后所做的所有變化均保持(即上次調(diào)用結(jié)束時(shí)的值)。
在主函數(shù)中,第一次循環(huán),i=0,調(diào)用k-f(a++)=f(2),調(diào)用完之后才將a加1,a變?yōu)?,在f(2)中,先將c=3賦值給a返回,然后將c加1,得到k=a=3,c=4。
第二次循環(huán),i=1,調(diào)用k=f(a++)=f(3),調(diào)用完之后才將a加1,a變?yōu)?,在f(3)中,先將c=4賦值給a返回,然后將c加1,得到k=a=4,c=5。
44.C解析:結(jié)構(gòu)化程序設(shè)計(jì)方法的四條原則是:1.自頂向下;2.逐步求精;3.模塊化;4.限制使用goto語(yǔ)句。
45.A
46.C解析:對(duì)象的基本特點(diǎn)包括;標(biāo)識(shí)惟一性、分類性、多態(tài)性、封裝性和獨(dú)立性等。繼承性不屬于對(duì)象的基本特點(diǎn)。
47.D解析:在定義函數(shù)時(shí)函數(shù)名后面括弧中的變量名稱為“形式參數(shù)”(簡(jiǎn)稱形參),在主調(diào)函數(shù)中調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名后面括弧中的參數(shù)(可以是一個(gè)表達(dá)式)稱為“實(shí)際參數(shù)”(簡(jiǎn)稱實(shí)參)。C語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來(lái)給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。故本題應(yīng)該選擇D。
48.D解析:字符數(shù)組初始化可以有兩種方式:方式一,按單個(gè)字符的方式賦初值。方式二,把一個(gè)字符串作為初值賦給字符數(shù)組。選項(xiàng)A定義的字符數(shù)組長(zhǎng)度為8,由于最后還要加一個(gè)“、0”做結(jié)束標(biāo)志,所以賦給他的字符串長(zhǎng)度應(yīng)小于等于7;在給字符數(shù)組賦初值的時(shí)候,應(yīng)該用花括號(hào)“{”和“}“將字符串括起來(lái)。將字符型指針變量指向字符串也有兩種方法,一是在定義指針變量時(shí)就給其賦初值,比如:char*p=“student”;二是給指針變量賦值,比如:p=“student”;(p已經(jīng)被定義為字符型指針變量;)。
49.C冒泡排序的基本思想是:將相鄰的兩個(gè)元素進(jìn)行比較,如果反序,則交換;對(duì)于一個(gè)待排序的序列,經(jīng)一趟排序后,最大值的元素移動(dòng)到最后的位置,其他值較大的元素也向最終位置移動(dòng),此過程稱為一趟冒泡。對(duì)于有n個(gè)數(shù)據(jù)的序列,共需n-1趟排序,第i趟對(duì)從l到n-i個(gè)數(shù)據(jù)進(jìn)行比較、交換。冒泡排序的最壞情況是待排序序列逆序,第l趟比較n-1次,第2趟比較n-2次。依此類推,最后趟比較1次,一共進(jìn)行n-l趟排序。因此,冒泡排序在最壞情況下的比較次數(shù)是(n-1)+(n-2)+…+l,結(jié)果為n(n-1)/2。本題的正確答案是選項(xiàng)C。
50.A解析:sizeof(double)是C語(yǔ)言內(nèi)部規(guī)定的一個(gè)計(jì)算參數(shù)(double)在計(jì)算機(jī)的內(nèi)存中所占用的字節(jié)數(shù)量的函數(shù),它返回一個(gè)整數(shù)值。
51.BB。【解析】數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)分為順序結(jié)構(gòu)和鏈?zhǔn)浇Y(jié)構(gòu),一個(gè)數(shù)據(jù)的邏輯結(jié)構(gòu)可以有多種存儲(chǔ)結(jié)構(gòu)。順序結(jié)構(gòu)中數(shù)據(jù)元素所占的存儲(chǔ)空間是連續(xù)的,而鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,數(shù)據(jù)元素所占的存儲(chǔ)空間不一定是連續(xù)的。數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)與數(shù)據(jù)的處理效率密切相關(guān)。
52.B解析:本題x賦初值為3,當(dāng)執(zhí)行printf('%d',x-);時(shí),由于X--的作用是先運(yùn)算x,再將x的值減1,所以,printf輸出的x值為3,等輸出后,x的值減1變?yōu)?,繼續(xù)執(zhí)行,判斷條件!x為假,循環(huán)只被執(zhí)行一次。
53.C解析:A、B、D都不是對(duì)待軟件的正確態(tài)度。
54.B解析:本題考查switch語(yǔ)句。第一個(gè)switch語(yǔ)句,因?yàn)閍=6,a%2=0,所以執(zhí)行case0,將m加1,遇到break語(yǔ)句跳出switch語(yǔ)句,結(jié)束循環(huán)。
55.D解析:觀察程序可知,a實(shí)際上就是數(shù)組a的首地址,所以“*(a+i)”表示的就是數(shù)組a中的第i個(gè)元素的值,進(jìn)而,我們可以知道*(*(a+i))必然不是對(duì)a數(shù)組元素的正確引用。
56.C解析:本題考查if語(yǔ)句。第一個(gè)if語(yǔ)句,先判斷條件,發(fā)現(xiàn)a<b不成立,不再執(zhí)行下列的語(yǔ)句,直接執(zhí)行最后的printf輸出語(yǔ)句,然后結(jié)束程序,整個(gè)過程c的值沒有發(fā)生變化。
57.C解析:在函數(shù)fun(char*s)中,首先用字符指針變量t指向s,而循環(huán)語(yǔ)句while(*t++);的功能是使指針變量t指向字符串變量s的末尾,這時(shí)退出循環(huán),因而語(yǔ)句return(t-s);返回的就是字符串s所指字符串的長(zhǎng)度。
58.A根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個(gè)條件:1,有且只有一根節(jié)結(jié)點(diǎn),2,每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件,則稱該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱線性表。所以線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。
59.C解析:定義一個(gè)字符指針t,并將字符指針s的首地址賦給字符指針t;通過while語(yǔ)句將指針t往下移到字符串最后一個(gè)字符后面的地址,指針s始終指向首地址,將末地址減去首地址可以計(jì)算出字符串的長(zhǎng)度。
60.B解析:該題目測(cè)試考生對(duì)宏替換的理解。這是一種簡(jiǎn)單的情況:不帶參數(shù)的宏。關(guān)鍵要注意在對(duì)2*M+1進(jìn)行宏替換時(shí),要將宏名M原封不動(dòng)地代進(jìn)去,得到NUM的形式為2*N+1+1(千萬(wàn)不要隨意給N+1加上小括號(hào),使NUM變?yōu)?。(N+1)+1,這就是
溫馨提示
- 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 微型貨車課程設(shè)計(jì)
- 2024年汽車空氣懸掛配件銷售合同范本3篇
- 照明定時(shí)電路課程設(shè)計(jì)
- 甜品制作視頻課程設(shè)計(jì)
- 液壓課程設(shè)計(jì)專用上料機(jī)
- 等值電路課程設(shè)計(jì)
- 《外源添加物對(duì)畜禽糞便無(wú)害化處理技術(shù)研究》
- 洗瓶機(jī)課程設(shè)計(jì)凸輪鉸鏈
- 照明燈自控裝置課程設(shè)計(jì)
- 幼兒園自然啟蒙課程設(shè)計(jì)
- 《地籍與房產(chǎn)測(cè)繪》課程課程標(biāo)準(zhǔn)
- 病毒 課件 初中生物人教版八年級(jí)上冊(cè)(2023~2024學(xué)年)
- 三年級(jí)科學(xué)上冊(cè)水和空氣復(fù)習(xí)課教案
- 2022年1月福建省普通高中學(xué)生學(xué)業(yè)基礎(chǔ)會(huì)考生物試卷
- 外語(yǔ)慕課mooc中國(guó)文化概況(英)(東華理工大學(xué))期末測(cè)試答案
- 助產(chǎn)學(xué)導(dǎo)論學(xué)習(xí)通章節(jié)答案期末考試題庫(kù)2023年
- 2023-2024學(xué)年北京市平谷區(qū)三年級(jí)數(shù)學(xué)第一學(xué)期期末達(dá)標(biāo)測(cè)試試題含答案
- 鋼結(jié)構(gòu)工程報(bào)價(jià)單
- 寧波大學(xué)“一頁(yè)開卷”考試專用紙
- 新疆維吾爾自治區(qū)石河子市初中語(yǔ)文九年級(jí)期末高分通關(guān)題詳細(xì)答案和解析
- 軟件安全之惡意代碼機(jī)理與防護(hù)-武漢大學(xué)中國(guó)大學(xué)mooc課后章節(jié)答案期末考試題庫(kù)2023年
評(píng)論
0/150
提交評(píng)論