![2021年黑龍江省綏化市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第1頁](http://file4.renrendoc.com/view/c7b134b64804f7e11f2f11d5f112d738/c7b134b64804f7e11f2f11d5f112d7381.gif)
![2021年黑龍江省綏化市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第2頁](http://file4.renrendoc.com/view/c7b134b64804f7e11f2f11d5f112d738/c7b134b64804f7e11f2f11d5f112d7382.gif)
![2021年黑龍江省綏化市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第3頁](http://file4.renrendoc.com/view/c7b134b64804f7e11f2f11d5f112d738/c7b134b64804f7e11f2f11d5f112d7383.gif)
![2021年黑龍江省綏化市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第4頁](http://file4.renrendoc.com/view/c7b134b64804f7e11f2f11d5f112d738/c7b134b64804f7e11f2f11d5f112d7384.gif)
![2021年黑龍江省綏化市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)_第5頁](http://file4.renrendoc.com/view/c7b134b64804f7e11f2f11d5f112d738/c7b134b64804f7e11f2f11d5f112d7385.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2021年黑龍江省綏化市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)重點(diǎn)匯總測試卷(含答案)學(xué)校:________班級:________姓名:________考號:________一、單選題(20題)1.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.21B.11C.20D.10
2.有以下程序
voidswap(char*x,char*y)
{chart;
t=*x;*x=*y;*y=t;
}
main()
{char*s1="abc",*s2="123";
swap(s1,s2);printf("%s,%s\n",s1,s2);
}
程序執(zhí)行后的輸出結(jié)果是A.123,abcB.abc,123C.1bc,a23D.321,cba
3.下列定義語句中錯誤的是()。
A.intx[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
B.intx[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
C.intx[][3]={0},{1},{2},{3}};
D.intx[][3]={1,2,3,4};
4.下列敘述中正確的是A.為了建立一個關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系
B.表示關(guān)系的二維表中各元組的每一個分量還可以分成若干數(shù)據(jù)項(xiàng)
C.一個關(guān)系的屬性名表稱為關(guān)系模式
D.一個關(guān)系可以包括多個二維表
5.若有如下定義,則__________是對數(shù)組元素的正確的引用。.
inta[10],*p;p=a;
A.*&a[10]B.a[11]C.*(p+11)D.*p*p*p
6.C語言中,組成數(shù)據(jù)文件的成分是()。A.A.記錄
B.數(shù)據(jù)行
C.數(shù)據(jù)塊
D.字符(字節(jié))序列
7.下列選項(xiàng)中合法的賦值語句是()。
A.a=b=34B.a=34,b=34C.i-1;D.m=(int)(x+y);
8.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
9.軟件生命周期中,花費(fèi)最多的階段是()。
A.詳細(xì)設(shè)計(jì)B.軟件編碼C.軟件測試D.軟件維護(hù)
10.樹是結(jié)點(diǎn)的集合,它的根結(jié)點(diǎn)數(shù)目是()。
A.有且只有1B.1或多于1C.0或1D.至少2
11.
12.有以下程序:
#include<stdio.h>
voidfun(char*t,char*s)
{while(*t!=0)t++;
while((*t++=*s++)!=0);
}
main()
{charss[10]="acc",aa[10]="bbxxyy";
fun(ss,aa);
printf("%s,%s\n",ss,aa);
}
程序運(yùn)行結(jié)果是A.A.accxyy,bbxxyy
B.acc,bbxxyy
C.accxxyy,bbxxyy
D.accbbxxyy,bbxxyy
13.以下選項(xiàng)中合法的C語言常量是()。
A.2.0KbB.”C++’C.”\2.0D.1.01
14.若有定義語句:intX=10;,則表達(dá)式x-=x+X的值為A.-20B.-10C.0D.10
15.
16.函數(shù)調(diào)用:strcat(strcpy(str1,str2),str3)的功能是______。
A.將串str1復(fù)制到串str2中后再連接到串str3之后
B.將串str1連接到串str2之后再復(fù)制到串str3之后
C.將串str2復(fù)制到串str1中后再將串sir3連接到串str1之后
D.將串str2連接到串str1之后再將串str1復(fù)制到串str3中
17.
18.設(shè)有定義“intx=2;”,以下表達(dá)式中,值不為6的是()。
A.2*x,x+=2B.x++,2*xC.x*=(1+x)D.x*=x+1
19.有定義語句:“int*p[4];”,以下選項(xiàng)中與此語句等價的是()。
A.intp[4];B.int**P;C.int*(p[4]);D.int(*p)[4];
20.如果要求一個線性表既能較快地查找,又能適應(yīng)動態(tài)變化的要求,可以采用下列哪一種查找方法()
A.分塊B.順序C.折半D.哈希
二、2.填空題(20題)21.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{inti,m=0,n=0,k=0;
for(i=9;i<=11;i++)
switch(i/10)
{case0:m++;n++;break;
case1:n++;break;
default:k++;n++;
}
printf("%d%d%d\n",m,n,k);
}
22.執(zhí)行下面程序段時輸出suet,請?zhí)羁铡?/p>
main()
{staticchara[]="student";
char*p;
for(p=a;p<【】;p+=2)
putchar(*p);
}
23.子程序通常分為兩類:【】和函數(shù),前者是命令的抽象,后者是為了求值。
24.隊(duì)列是限定在表的一端進(jìn)行插入和在另一端進(jìn)行刪除操作的線性表。允許插入的一端稱作______。
25.下面程序的運(yùn)行結(jié)果是【】。
#include<stdio.h>
#defineSIZE12
main()
{chars[SIZE];intI;for(I=0;I<SIZE;I++)s[I]=′A′+I+321;
sub(s,7,SIZE-1);
for(I=0;I<SIZE;I++)printf("%c",s[I]);
printf("\n");}
sub(char*a,intt1,intt2)
{charch;
while(t1<t2)
{ch=*(a+t1);
*(a+t1)=*(a+t2);
*(a+t2)=ch;
t1++;t2--;}}
26.設(shè)有如下宏定義
#defineMYSWAP(z,x,y){z=x;x=Y;Y=z;}
以下程序段通過宏調(diào)用實(shí)現(xiàn)變量a、b內(nèi)容的交換,請?zhí)羁铡?/p>
floata=5,b=16,c;
MYSWAP(【】,a,b);
27.二分法查找僅限于這樣的表:表中的數(shù)據(jù)元素必須有序,其存儲結(jié)構(gòu)必須是______。
28.以下程序的輸出結(jié)果是【】。
#include<string.h>
main()
{printf("%d\n",strlen("IBM\n012\1\\"));}
29.下列程序段的輸出結(jié)果是______。
intn='c';
switch(n++)
{default:printf("error");break;
case'a':printf("good");break;
case'c':printf("morning");
case'd':printf("class");
}
30.以下程序的輸出結(jié)果是【】。
floatfun(intx,inty)
{return(x+y);}
main()
{inta=2,b=5,c=8;
printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}
31.算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)稱為算法的______。
32.對數(shù)據(jù)元素之間的邏輯關(guān)系的描述是()。
33.下面的程序通過函數(shù)average計(jì)算數(shù)組中各元素的平均值,請?zhí)羁铡?/p>
floatavetage(int*pa,intn)
{inti;
floatavg=0.0;
for(i=0;i<n;i++);
avg=avg+【】;avg=【】;
returnavg;
}
main()
{inti,a[5]={2,4,6,8,10,};
floatmean;
prinf("%mean=%f\n",mean);
}
34.用以下語句調(diào)用庫函數(shù)malloc,使字符指針st指向具有11個字節(jié)的動態(tài)存儲空間。
st=(char*)【】;
35.以下函數(shù)rotate的功能是:將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組的第0列中,把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,b所指二維數(shù)組中其他數(shù)據(jù)不變。
#defineN4
voidrotade(inta[][N],intb[][N])
{intI,j;
for(I=0;I<N;I++)
{b[I][N-1]=【】;【】=a[N-1][I];}}
36.若有定義:inta[4][4]={{1,2,3,4},{0},{4,6,8,10},{1,3,5,7}},則初始化后,a[2][2]得到的初值是______。
37.以下函數(shù)的功能是刪除字符串s中的所有數(shù)字字符。請?zhí)羁铡?/p>
vioddele(char*s)
{intn=0,i;
for(i=0;s[i];i++)
if(______)
s[n++];s[i];
s[n]=______;
}
38.結(jié)構(gòu)化程序設(shè)計(jì)的三種基本邏輯結(jié)構(gòu)為順序、選擇和【】。
39.調(diào)用C語言標(biāo)準(zhǔn)庫函數(shù)時要求用【】命令。
40.下面程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){chara[80],*p="AbabCDcd";inti=0,j=0;while(*(p++)!='\0'){if(*p>='a'&&*p<='z'){a[i]=*p;i++;}}a[i]='\0';puts(A);}
三、1.選擇題(20題)41.下列不屬于軟件工程的3個要素的是______。
A.工具B.過程C.方法D.環(huán)境
42.下面程序的輸出結(jié)果是()main(){intx=10,y=3;printf("%d\n",y=x/y);}
A.0B.1C.3D.不確定的值
43.若有以下程序:#include<stdio.h>inta[]={2,4,6,8};main(){inti;int*p=a;for(i=0;i<4;i++)a[i]=*p;printf("%d\n",a[2]);}上面程序的輸出結(jié)果是()。
A.6B.8C.4D.2
44.若有下面的程序段:chars[]="china";char*p;p=s;則下列敘述正確的是()。
A.s和p完全相同
B.數(shù)組s中的內(nèi)容和指針變量p中的內(nèi)容相等
C.數(shù)組s的長度和p所指向的字符串長度相等
D.*p與s[0]相等
45.函數(shù)fun的返回值是fun(char*a,char*b){intnum=0,n=0;while(*(a+num)!='\0')num++;while(b[n]){*(a+num)=b[n];num++;n++;}returnnum;}
A.字符串a(chǎn)的長度B.字符串b的長度C.字符串a(chǎn)和b的長度之差D.字符串a(chǎn)和b的長度之和
46.兩個或兩個以上模塊之間關(guān)聯(lián)的緊密程度稱為()。
A.耦合度B.內(nèi)聚度C.復(fù)雜度D.數(shù)據(jù)傳輸特性
47.下列敘述中,不屬于測試的特征的是
A.測試的挑剔性B.完全測試的不可能性C.測試的可靠性D.測試的經(jīng)濟(jì)性
48.有以下程序intf(intn){if(n==1)return1;elsereturnf(n-1)+1;}main(){inti,j=0;for(i=1;i<5;i++)j+=f(i);printf("%d\n",j);}程序運(yùn)行后的輸出結(jié)果是()
A.15B.10C.6D.3
49.有以下程序#include<stdio.h>main(){inta[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+5,*q=NULL;*q=*(p+5);printf("%d%d\n",*p,*q);}程序運(yùn)行后的輸出結(jié)果是______。
A.運(yùn)行后報錯B.66C.611D.510
50.有以下程序:fun(intx){intp;if(x==0||x==1)return(3);p=x-fun(x-2);returnp;}main(){printf("%d\n",fun(7));}執(zhí)行后的輸出結(jié)果是()。
A.7B.3C.2D.0
51.有如下程序:#include<stdio.h>intfunc(inta,intb){return(a+b):}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);printf("%d\n",r);}該程序的輸出結(jié)果是()。
A.12B.13C.14D.15
52.以下程序的輸出結(jié)果是______。main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;printf("%d%d%d",a[2],a[5],a[8]);}
A.258B.741C.852D.369
53.下列關(guān)于C語言的說法不正確的是
A.C語言既具有高級語言的一切功能,也具有低級語言的一些功能
B.C語言中的每一條執(zhí)行語句都必須用分號結(jié)束,分號不是C語言的一部分,是語句之間的分隔符號
C.注釋可以出現(xiàn)在程序中任意合適的地方
D.命令行后面不能加分號,命令行不是C語言的語句
54.有下列程序:main(){intm,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想從鍵盤上輸入數(shù)據(jù),使變量m中的值為123,n中的值為456,P中的值為789,則正確的輸入是()。
A.m=123n=456p=789
B.m=123n=456p=789
C.m=123,n=456,p=789
D.123456789
55.以下程序的輸出結(jié)果是unionmyun{struct{intx,y,z;}u;intk;}a;main(){a.u.x=4;a.u.y=5;a.u.z=6;a.k=0;printf("%d\n",a.u.x);}
A.4B.5C.6D.0
56.以下敘述正確的是()。
A.C語言中的文件是流式文件,因此只能順序存取數(shù)據(jù)
B.打開一個已存在的文件并進(jìn)行了寫操作后,原有文件中的全部數(shù)據(jù)必定被覆蓋
C.在一個程序中當(dāng)對文件進(jìn)行了寫操作后,必須先關(guān)閉該文件然后再打開,才能讀到第一個數(shù)據(jù)
D.當(dāng)對文件的讀(寫)操作完成之后,必須將它關(guān)閉,否則可能導(dǎo)致數(shù)據(jù)丟失
57.假設(shè)有語句sizeof(double),則它是()。
A.一個整型表達(dá)式B.一個雙精度浮點(diǎn)型表達(dá)式C.一種函數(shù)調(diào)用D.一種函數(shù)定義
58.下列程序的輸出結(jié)果是#include"stdio.h"#defineM(x,y)x%ymain(){inta,m=12,n=100;a=M(n,m);printf("%d\n",a--);}
A.2B.3C.4D.5
59.以下程序的輸出結(jié)果是()。main(){inta=4,b=3,c=2,d=1;printf("%d",a>b?a:d>c?d:B);}
A.1B.3C.2D.4
60.函數(shù)調(diào)用語句;fseek(fp,-20L,SEEK_END);的含義是()
A.將文件位置指針移到距離文件頭20個字節(jié)處
B.將文件位置指針從當(dāng)前位置向后移動20個字節(jié)
C.將文件位置指針從文件末尾處向后退20個字節(jié)
D.將文件位置指針移到離當(dāng)前位置20個字節(jié)處
四、選擇題(20題)61.
62.下列關(guān)于棧的敘述中正確的是()。
A.在棧中只能插入數(shù)據(jù),不能刪除數(shù)據(jù)
B.在棧中只能刪除數(shù)據(jù),不能插入數(shù)據(jù)
C.棧是先進(jìn)后出(FILO.的線性表
D.棧是先進(jìn)先出(FIFO.的線性表
63.設(shè)有定義:charpE]={’1’,‘2’,’3’},*q=p;,以下不能計(jì)算出一個char型數(shù)據(jù)所占字節(jié)數(shù)的表達(dá)式是()。
A.sizeof(p)B.sizeof(char)C.sizeof(*q)D.sizeof(p[0])
64.表達(dá)式3.6-5/2+1.2+5%2的值是()。A.3.8B.4.8C.3.3D.4.3
65.有以下程序:
main()
{intp[7]={11,13,14,15,16,17,18},i=0,k=0;
while(i<7&&p[i]%2){k=k+p[i++];i++}
Printf("%d\n",k);
}
執(zhí)行后輸出的結(jié)果是()。
A.57B.39C.24D.11
66.下列程序的輸出結(jié)果是
intb=2;
intfunc(int*a)
{b+=*a;return(b);}
main()
{inta=2,res=2;
res+=func(&a);
printf("%d\n",res);
}A.2
B.4C.6
D.8
67.
下列程序的輸出結(jié)果是()。
main
{inta,b,d=25;
a=d/10%9;
b=a&&(一1);
printf("%d,%d\n",a,b);}
A.6,1B.2,1C.6,0D.2,0
68.下列語句中,顯示沒有下畫線的超鏈接的語句是()。
A.a{text—decoration:none}
B.a{text—decoration:nounderline}
C.a{underline:none}
D.a{decoration:nounderline}
69.以下敘述中錯誤的是()。
A.gets函數(shù)用于從終端讀人字符串
B.getehar函數(shù)用于從磁盤文件讀人字符
C.fputs函數(shù)用于把字符串輸出到文件
D.fwrite函數(shù)用于以二進(jìn)制形式輸出數(shù)據(jù)到文件
70.設(shè)有下列二叉樹:
對此二叉樹中序遍歷的結(jié)果為()。
A.ACBDEFB.DEBFCAC.ABDECFD.DBEAFC
71.定義無符號整數(shù)類為UInt,下面可以作為類UInt實(shí)例化值的是()。
A.-369B.369C.0.369D.整數(shù)集合{1,2,3,4,5}
72.待排序的關(guān)鍵碼序列為15,20,9,30,67,65,45,90,要按關(guān)鍵碼值遞增的順序排序,采取簡單選擇排序法,第一趟排序后關(guān)鍵碼15被放到第()個位置。
A.2B.3C.4D.5
73.(75)下列不屬于結(jié)構(gòu)化分析的常用工具的是()
A.數(shù)據(jù)流圖
B.數(shù)據(jù)字典
C.判定樹
D.PAD圖
74.
75.若變量已正確定義并賦值,以下符合C++語言語法的表達(dá)式是()。
A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b
76.以下敘述中正確的是(.。
A.調(diào)用printf函數(shù)時,必須要有輸出項(xiàng)
B.使用putChar函數(shù)時,必須在之前包含頭文件stdio.h
C.在C語言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出
D.調(diào)用getChar函數(shù)讀入字符時,可以從鍵盤上輸入字符所對應(yīng)的ASCIl碼
77.
78.
79.
80.
五、程序改錯題(1題)81.下列給定程序中函數(shù)fun()的功能是:把從主函數(shù)中輸人的3個數(shù)。最大的數(shù)放在a中,中間的數(shù)放在b中,最小的數(shù)放在C中。例如,若輸入的數(shù)為:55,12,34,輸出的結(jié)果應(yīng)當(dāng)是:a=55.0,b=34.0,c=12.0。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.有N個學(xué)生,每個學(xué)生的信息包括學(xué)號、性別、姓名、四門課的成績,從鍵盤上輸入N個學(xué)生的信息,要求輸出總平均成績最高的學(xué)生信息,包括學(xué)號、性別、姓名和平均成績。
參考答案
1.A聲明data是結(jié)構(gòu)S的數(shù)組。初始化時data[0].a(chǎn)=10;data[0].b:104);data[1].a(chǎn)=20;data[1].b=200。主函數(shù)中p=data[1];即p.a(chǎn)=data[1].a(chǎn);p.b=data[11.b;執(zhí)行語句prinff(”%dkn”,++(p.A));打印輸出時p.a(chǎn)先增l再打印。即p.a(chǎn)=data[1].a(chǎn)=20,先增1等于21,因此程序運(yùn)行結(jié)果是21。
2.C解析:此題考核的知識點(diǎn)是指針變量值的交換。c語言中,字符串常量在內(nèi)存中是以字符數(shù)組的形式進(jìn)行存放的,因此字符指針x和y指向的是各字符串的首地址,也就是字符串第—個字符的地址,則*x與*y交換的是字符串的第—個字符,即字符“a”與“1”的交換,而字符串中其它字符保持不變,所以答案選C。
3.B二維數(shù)組定義的一般形式是:類型說明符數(shù)組名[常量表達(dá)式1][常量表達(dá)式2]。其中常量表達(dá)式1表示第1維長度,常量表達(dá)式2表示第2維長度。若對二維數(shù)組的全部元素賦初值,第1維長度可以不給出。但如果只確定行數(shù),而不確定列數(shù),就無法正確賦值。故本題答案為B選項(xiàng)。
4.C解析:在格式化模型中,要事先根據(jù)應(yīng)用的需要,確定數(shù)據(jù)之間的邏輯關(guān)系,即先對數(shù)據(jù)進(jìn)行結(jié)構(gòu)化。在關(guān)系模型中,不需要事先構(gòu)造數(shù)據(jù)的邏輯關(guān)系,只要將數(shù)據(jù)按照一定的關(guān)系存入計(jì)算機(jī),也就是建立關(guān)系。所以選項(xiàng)A錯誤。對于一個表示關(guān)系的二維表,其最基本的要求是表中元組的每一個分量必須是不可分的數(shù)據(jù)項(xiàng),即不允許表中再有表。所以,選項(xiàng)B、D說法是錯誤的。一個關(guān)系的屬性名表稱為關(guān)系模式,也就是二維表的表框架,相當(dāng)于記錄型。因此,選項(xiàng)C說法正確。
5.D
6.D解析:C語言中的文件是流式文件。流式文件是一種無結(jié)構(gòu)文件,即整個文件是一串字符流或二進(jìn)制流。文件的存取以字符或字節(jié)為單位。
7.D解析:選項(xiàng)A)是一個合法的賦值表達(dá)式,但結(jié)尾沒加分號,所以它不是一個賦值語句;選項(xiàng)B)是一個逗號表達(dá)式,也因?yàn)榻Y(jié)尾沒有加分號而不是合法的賦值語句,選項(xiàng)C)是一個算術(shù)表達(dá)式,雖然有分號,但這個表達(dá)式?jīng)]有賦值操作,因此,也不是一條賦值語句。
8.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。
9.D本題考查對軟件生命周期的理解,軟件生命周期整體上可分為定義階段、開發(fā)階段和維護(hù)階段。其中定義階段包括可行性研究與計(jì)劃制訂和需求分析;開發(fā)階段包括概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、開發(fā)和測試;維護(hù)階段是一個單獨(dú)階段,不包含在開發(fā)階段內(nèi),它是所花費(fèi)用最多的一個階段。
10.A樹形結(jié)構(gòu)是一類重要的非線性數(shù)據(jù)結(jié)構(gòu)。樹是n(n≥0)個結(jié)點(diǎn)的集合,對應(yīng)任意一棵非空樹,它具有以下幾點(diǎn)重要的性質(zhì)。
①有且僅有一個特定的稱為根的結(jié)點(diǎn)。
②當(dāng)n>1時,其余結(jié)點(diǎn)可分為m(m>0)個互不相交的有限集T1,T2,…,TM,其中每一個集合本身又是一棵樹,稱為子樹。
因此,本題的正確答案有且只有一個。
11.D
12.D
13.DC語言中,常量有整型常量、實(shí)型常量、字符常量和字符串常量等。整型常量和實(shí)型常量又稱為數(shù)值型常量。其中整型常量只能用數(shù)字表示,不帶小數(shù)點(diǎn)。實(shí)型常量必須用帶小數(shù)點(diǎn)的數(shù)表示,所以選項(xiàng)A錯誤,選項(xiàng)D正確;字符型常量是用單引號標(biāo)注的單個字符,字符串常量是用雙引號標(biāo)注的若干個字符,選項(xiàng)B、C錯誤。故本題答案為D選項(xiàng)。
14.B解析:x-=x+x可化為:x=x-(x+x),由于x初始值為10,所以計(jì)算后,x=10-20=-10,因此選B)。
15.D
16.C解析:題目中所給函數(shù)的功能是;先用函數(shù)strcpy把參數(shù)串str2復(fù)制到參數(shù)串str1中去,然后用函數(shù)strcat把參數(shù)串str3連接到經(jīng)過修改后的參數(shù)串str1后,因此選項(xiàng)C正確。
17.B
18.AA選項(xiàng)中先計(jì)算逗號表達(dá)式的第1個表達(dá)式“2*x”,然后計(jì)算第2個表達(dá)式“x+=2”,即“x=x+2=4”,整個逗號表達(dá)式為第2個表達(dá)式的值4。所以A選項(xiàng)正確。B選項(xiàng)中首先計(jì)算逗號表達(dá)式的第1個表達(dá)式“x++”,此時x為3;再計(jì)算第2個表達(dá)式“2*x=2*3=6”,所以逗號表達(dá)式為第2個表達(dá)式的值6。C選項(xiàng)中的表達(dá)式可以表示為“x=x*(1+x)=2*(1+2)=6”。D選項(xiàng)中的表達(dá)式可以表示為“x=x*(x+1)=2*3=6”。故本題答案為A選項(xiàng)。
19.D本題int*p[4]的作用是聲明一個指針數(shù)組,每個元素都是int*型指針。
20.D
21.130130解析:本題主函數(shù)中用了一個for循環(huán),循環(huán)了3次:當(dāng)i=9時,i/10=0,執(zhí)行switch語句中case0分支,m和n的值各增1,變?yōu)?和1,然后遇到break語句,退出switch語句;當(dāng)i=10和11時,i/10都等于1,執(zhí)行switch語句中的case1分支,兩次使n增1,變?yōu)?,退出switch語句。故該空格處應(yīng)該填130。
22.a+strlen(a)或strlen(a)+aa+strlen(a)或strlen(a)+a解析:要輸出suet就要將指針從字符串開始移動到字符串結(jié)尾,表達(dá)式p=a使p指向字符串的首地址;表達(dá)式p+=2使每次循環(huán)p值加2,是向前移動指針;空白處應(yīng)判斷是否到達(dá)字符串結(jié)尾,因此應(yīng)填字符串的首地址加字符串長度,strlen(a)的返回值為字符串a(chǎn)所含的字符個數(shù)。
23.過程過程
24.隊(duì)尾隊(duì)尾解析:在隊(duì)列中,允許插入的一端叫做“隊(duì)尾”,允許刪除的一端叫做“隊(duì)頭”。
25.abcdefglkjIhabcdefglkjIh解析:本題主要考查了字符變量可參與的運(yùn)算。因?yàn)樽址谟?jì)算機(jī)中是以ASCII碼的形式存放的,所以字符變量可看作整型變量來處理,如參與算術(shù)運(yùn)算等,某字符的大寫字母的ASCII碼值比它對應(yīng)的小寫字母ASCII碼值小32。
26.cc解析:本題關(guān)鍵在考生是不是了解宏的基本運(yùn)用,在使用宏的時候明顯少了—個實(shí)參。在定義宏的時候變量z是用來做中間變量的,題目中缺的變量就是一個中間變量c。
27.順序存儲(順序方式存儲)順序存儲(順序方式存儲)解析:二分法查找對表的要求是有序的順序表,即第一要求是數(shù)據(jù)元素有序,第二要求是按順序方式存儲。
28.99解析:本題要輸出的結(jié)果是字符串'IBM\\n012\\1\\\\'的長度,'IBM'是3個字符,\'\\n\'是1個字符,'012'又是3個字符,最后的\'\\1\'和\'\\\\\'都是1個字符。所以最終字符串的長度應(yīng)該是3+1+3+1+1=9。故本題應(yīng)該填9。
29.morningclassmorningclass解析:本題考查了兩個知識點(diǎn):①“++,--”運(yùn)算后綴形式是先使用變量原來的值,使用完后再使其增1或減1;②在switch語句中,當(dāng)n='c'時,執(zhí)行“case'c'”,輸出morning;因?yàn)榇司渲袥]有break語句,因此接著執(zhí)行“case'd':”,輸出class,最終輸出結(jié)果為morningclass。
30.99解析:本題考查函數(shù)的綜合知識。首先,我們可以利用強(qiáng)制轉(zhuǎn)換類型轉(zhuǎn)換運(yùn)算符,將一個表達(dá)式轉(zhuǎn)換成所需類型。如:(double)a是將a轉(zhuǎn)換成double類型;(int)(x+y)是將x+y的值轉(zhuǎn)換成整型。
本題可按部就班地逐步運(yùn)算:
fun((int)fun(a+c,b),a-c)
fun((int)fun(10,5),2-8)
fun((int)15.000000,-6)
fun(15,-6)
9
31.時間復(fù)雜度時間復(fù)雜度解析:算法在執(zhí)行過程中所執(zhí)行的基本運(yùn)算的次數(shù),也就是執(zhí)行算法所需要的計(jì)算工作量,稱為算法的時間復(fù)雜度。
32.數(shù)據(jù)的邏輯結(jié)構(gòu)數(shù)據(jù)的邏輯結(jié)構(gòu)解析:數(shù)據(jù)的邏輯結(jié)構(gòu)是對數(shù)據(jù)元素之間的邏輯關(guān)系的描述,它可以用一個數(shù)據(jù)元素的集合和定義在此集合中的若干關(guān)系來表示。
33.pa[i]avg/n
34.malloc(11)或malloc(sizeof(char*)11)malloc(11)或malloc(sizeof(char*)11)解析:該題主要考查malloc函數(shù)的使用。一個字符在內(nèi)存中占一個字節(jié),因此malloc的參數(shù)為11。也可按指向字符指針的大小來分配。
35.a[0][I]b[I][0]a[0][I],b[I][0]解析:b[i][N-1]=a[0][i]實(shí)現(xiàn)把a(bǔ)所指二維數(shù)組中的第0行放到b所指二維數(shù)組的最后一列中,\ue008b[I][0]=a[N-1][I]實(shí)現(xiàn)將a所指N行N列的二維數(shù)組中的最后一行放到b所指二維數(shù)組中的第0列。
36.88解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個一維數(shù)組都有4個元素,a[0]的元素為ap[0][0]、a[0][1]、a[0][2]、a[0][3]。
37.s[i]<'0'‖s[i]>9或!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))isdigit(s[i])==0或s[i]>'9'‖s[i>'0'或!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'‖*(s+i)>'9'或!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或*(s+i)>='9'&&*(s+i)<='0'!(*(s+i)<='9'&&*(s+i)>='0'或iss[i]<'0'‖s[i]>9,或\r\n!(s[i]>='0'&&s[i]<='9')或!(isdigit(s[i]))\r\nisdigit(s[i])==0或s[i]>'9'‖s[i>'0'或\r\n!(s[i]<='9'&&s[i]>='0')或*(s+i)<'0'‖*(s+i)>'9'或\r\n!(*(s+i)>='0'&&*(s+i)<=9或!(isdigit(*(s+i)))或\r\n*(s+i)>='9'&&*(s+i)<='0'\r\n!(*(s+i)<='9'&&*(s+i)>='0'或is解析:本題考核的知識點(diǎn)是字符指針變量作為函數(shù)的參數(shù)以及與字符串有關(guān)的算法。從一個字符串中刪除某字符的方法是從字符串的第一個字符開始一一判斷該字符是否是要刪除的字符,若不是則把它放到結(jié)果字符串中,若是則不放入結(jié)果字符串中。本題的第一個空應(yīng)判斷a[i]是否為數(shù)字字符,只有在不是數(shù)字字符的情況下才存入結(jié)果字符串,所以應(yīng)填入s[i]<'0'‖s[i]>'9'。最后應(yīng)在結(jié)果字符串的末尾填上字符串結(jié)束標(biāo)志“\\0”。
38.重復(fù)(或循環(huán))重復(fù)(或循環(huán))
39.includeinclude解析:include命令可調(diào)用標(biāo)準(zhǔn)的C語言庫函數(shù),可以用一對尖括號或一對雙引號將“.h”文件括起來,在include前面要加“#”。
40.babcdbabcd解析:C語言中“\\0”表示字符串的結(jié)束。程序?qū)指針指向字符串“AbabCDcd”的首地址,循環(huán)開始后若指針不是指向當(dāng)前字符串的結(jié)束標(biāo)志位,則進(jìn)入循環(huán)體。循環(huán)中每次檢驗(yàn)字符串中字母是否在'a'與'z'之間,若滿足則將當(dāng)前值賦值給數(shù)組a,最后給數(shù)組添加字符結(jié)束標(biāo)志。此程序可以篩選出字符串中的小寫字母。
41.D解析:本題考查了軟件工程的基本概念。軟件工程包括3個要素,即方法、工具和過程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開發(fā)、管理和文檔生成;過程支持軟件開發(fā)的各個環(huán)節(jié)的控制和管理。
42.C
43.D解析:在C語言中,數(shù)組元素下標(biāo)是從0開始的;指針變量p指向數(shù)組的首地址。for循環(huán)語句中,指針變量p始終指向數(shù)組的首地址,因而執(zhí)行循環(huán)賦值語句后數(shù)組各元素的值均變?yōu)?。
44.D解析:字符型指針變量p中存放的是“china'的首地址,所以選項(xiàng)A)和B)錯誤;s數(shù)組長度為6,而p所指向的字符串長度為5,二者不相等,排除選項(xiàng)C)。
45.D解析:第一個while循環(huán)是字符串a(chǎn)的長度,第二個while是將字符串b接在a的后面,num在a串長度上繼續(xù)累計(jì),為兩個字符串長度之和。
46.A解析:本題考核模塊獨(dú)立性的評價。評價模塊獨(dú)立性的主要標(biāo)準(zhǔn)有兩個;一是模塊之間的耦合,它表明兩個模塊之間互相獨(dú)立的程度,也可以說是兩個或兩個以上模塊之間關(guān)聯(lián)的緊密程度(所以,本題的正確答案為選項(xiàng)A);二是模塊內(nèi)部之間的關(guān)系是否緊密,稱為內(nèi)聚。一般來說,要求模塊之間的耦合盡可能地弱,即模塊盡可能獨(dú)立,而要求模塊的內(nèi)聚程度盡量地高。
47.C解析:軟件測試的目標(biāo)是在精心控制的環(huán)境下執(zhí)行程序,以發(fā)現(xiàn)程序中的錯誤,給出程序可靠性的鑒定。它有3個方面的重要特征,即測試的挑剔性、完全測試的不可能性及測試的經(jīng)濟(jì)性。其中沒有測試的可靠性這一說法。注意:軟件測試與軟件調(diào)試的概念,以及相應(yīng)的方法。
48.B
49.A解析:本題考核的知識點(diǎn)是通過指針引用數(shù)組的元素的方法.本題中首先定義了一個一維數(shù)組a并初始化,由于定義該數(shù)組的時候省略了長度,因此該數(shù)組的長度為初始化時候賦初值的個數(shù)即為12。數(shù)組名a代表數(shù)組的首地址,所以*p=a+5語句使得p指向數(shù)組的第6個元素,而在程序中定義了一個指針q并讓它指向空,實(shí)際上程序并沒有在內(nèi)存中為指針q開辟存儲空間,這樣給q賦值不允許的,故該程序運(yùn)行后報錯。所以,4個選項(xiàng)中選項(xiàng)A符合題意。
50.C解析:函數(shù)fun是一個遞歸調(diào)用函數(shù),首先主函數(shù)將實(shí)參7傳遞給fun函數(shù)中的形參x,由于x=7不滿足if語句的條件,則執(zhí)行下面的“p=x-fun(x-2);”語句,此語句繼續(xù)調(diào)用本身,直到當(dāng)x=1時,返回函數(shù)值3代入到調(diào)用它的表達(dá)式中,以此類推,最終p的值為2。
51.D解析:在表達(dá)式r=func(func(x,y),z)中,func(x,y)是第一次調(diào)用函數(shù),它的返回值7作為func函數(shù)第二次調(diào)用的實(shí)參,結(jié)果為15。
52.C解析:在本題運(yùn)行時主要注意的是當(dāng)i=9時,a[i]=10-9=1;i=8時,a[i]=10-8=2;i=7時,a[i]=10-7=3;……依此類推,直到i=0時,a[i]=10-0=10;此時,i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8],分別為8,5,2。
53.B解析:分號是C語言的一部分,不是語句之間的分隔符號。C語言中的每一條執(zhí)行語句都必須用分號“;”結(jié)束,分號是C語言的一部分,不是語句之間的分隔符號。
54.A解析:scanf()函數(shù)中格式控制字符串是為了輸入數(shù)據(jù)用的,無論其中有什么字符,在輸入數(shù)據(jù)時,按照一一對應(yīng)的位置原樣輸入這些字符。
55.D解析:本題考查共用體變量起作用的范圍。共用體變量中起作用的成員是最后一次存放的成員,在存入一個新的成員后原有的成員就失去作用,在本題中,當(dāng)對a.u.y成員賦值時,a.u.x的值就不存在了,當(dāng)對a.u.2賦值時,a.u.y的值就不存在了。
56.D解析:C語言中的文件有兩種存取方式:順序存取和直接存取。文件打開之后,就可以進(jìn)行讀寫操作。讀寫操作函數(shù)可以指定文件使用方式。在使用完一個文件后應(yīng)關(guān)閉它,以防誤操作。
57.A解析:sizeof(double)是C語言內(nèi)部規(guī)定的一個計(jì)算參數(shù)(double)在計(jì)算機(jī)的內(nèi)存中所占用的字節(jié)數(shù)量的函數(shù),它返回一個整數(shù)值。
58.C解析:帶參數(shù)的宏定義命令行形式如下:
#define宏名(形參表)替換文本
在編譯的時候編譯預(yù)處理程序用“替換文本”來替換宏,即M(n,m)被替換為n%m,之后計(jì)算,將計(jì)算的結(jié)果賦給a。注意,宏替換是在編譯時由預(yù)處理程序完成的,宏替換不占用運(yùn)行的時間,而函數(shù)調(diào)用是在程序運(yùn)行時進(jìn)行的,在函數(shù)的調(diào)用過程中需要占用一系列的處理時間。
59.D解析:本題首先判斷a>b,當(dāng)a>b時結(jié)果等于a,否則等于“d>c?d:b”,因?yàn)閍>b,所以直接輸出a的值,注:這里“a:d>c?d:b”是用來干擾考生的。
60.C
61.C
62.C\n棧是限定在一端進(jìn)行插入與刪除的線性表。棧是按照“先進(jìn)后出”的或后進(jìn)先出的原則組織數(shù)據(jù)的,因此,棧也被稱為“先進(jìn)后出”表或“后進(jìn)先出”表。本題答案是C)。
\n
63.A根據(jù)題目中的定義可以知道sizeof(p),計(jì)算的是數(shù)組P中所有元素所占用的字節(jié)數(shù),而不是ch”型數(shù)據(jù)所占字節(jié)數(shù)。
64.A5,2值為2,5%2值為l,所以3.6—2+1.2+1值為3.8。
65.D循環(huán)的條件是i<7并且p[i]是奇數(shù),當(dāng)i=0時,i<7,p[i]=11,滿足條件,所以k=0+11=11,然后i++,i++,所以i=2,p[2]=14,為偶數(shù),退出循環(huán),這時k還是11.
66.C在本題程序中,首先定義了一個全局整型變量b,并給其賦初值為2,然后定義一個函數(shù)func,該函數(shù)帶有一個指針類型的形參,在函數(shù)體中,通過形參的值來改變?nèi)肿兞縝的值,b+=*a等價于b=b+(*a),然后通過return語句返回計(jì)算后的變量b的結(jié)果。
在主函數(shù)中,定義兩個整型變量a和res,并都賦初值為2,然后調(diào)用func函數(shù),傳遞的形參是變量a的地址,即使形參指針變量a指向?qū)崊⒆兞縜的值,通過b+=*a計(jì)算,可以得到b=2+2=4。由于變量b是一個全局變量,作用域是整個程序,而非函數(shù)func,因此,在主函數(shù)中變量res的最后結(jié)果為
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 1 折彩粽(說課稿)蘇教版二年級下冊綜合實(shí)踐活動001
- Unit 4 My home Part B Lets learn(說課稿)-2024-2025學(xué)年人教PEP版英語四年級上冊
- 2025樓房承包合同協(xié)議模板
- 2025家居裝修工程施工合同范文
- 2025房地產(chǎn)銷售代理合同范本
- 2025正規(guī)的工業(yè)品購銷合同范本
- 2025正規(guī)版裝修合同范本
- 2023六年級數(shù)學(xué)下冊 四 正比例與反比例第1課時 變化的量說課稿 北師大版
- 2023三年級英語上冊 Assessment 4說課稿1 湘少版001
- 2025關(guān)于合同訂立的原則
- 2024年4月27日浙江省事業(yè)單位招聘《職業(yè)能力傾向測驗(yàn)》試題
- 2024年6月浙江省高考地理試卷真題(含答案逐題解析)
- 物業(yè)管理服務(wù)應(yīng)急響應(yīng)方案
- 醫(yī)院培訓(xùn)課件:《如何撰寫護(hù)理科研標(biāo)書》
- 風(fēng)車的原理小班課件
- 河南省鄭州市2023-2024學(xué)年高二上學(xué)期期末考試 數(shù)學(xué) 含答案
- 2024年山東省濟(jì)南市中考英語試題卷(含答案)
- 2024年北師大版八年級上冊全冊數(shù)學(xué)單元測試題含答案
- 江蘇省南京市第二十九中2025屆數(shù)學(xué)高二上期末學(xué)業(yè)質(zhì)量監(jiān)測模擬試題含解析
- 六年級數(shù)學(xué)競賽試題及答案(六套)
- 八年級下學(xué)期期末考試語文試題(PDF版含答案)
評論
0/150
提交評論