




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年湖北省荊門(mén)市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)測(cè)試卷一(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.以下說(shuō)法中正確的是()。
A.C程序總是從第一個(gè)定義的函數(shù)開(kāi)始執(zhí)行
B.C程序總是從main函數(shù)開(kāi)始執(zhí)行
C.C函數(shù)必須有返回值,否則不能使用函數(shù)
D.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個(gè)程序文件中
2.在下面的一維數(shù)組定義中,哪一個(gè)有語(yǔ)法錯(cuò)誤()。A.inta[]={1,2,3};B.inta[10]={0};C.inta[];D.inta[5];
3.有以下程序:#include<stdio.h>main(){inta[3][3]={0,1,2,3,4,5,6,7,8},(*p)[3],i;p=a;for(i=0;i<3;i++){printf(“%d”,(*p)[i]);p++;}}程序的運(yùn)行結(jié)果是()。
A.036B.012C.048D.147
4.
5.有如下程序:
longfib(intn)
{if(n>2)return(fib(n-1)+fib(n-2));
elsereturn(2);
}
main()
{printf("%d\n",fib(3));}
該程序的輸出結(jié)果是A.A.2B.4C.6D.8
6.有以下程序:#include<stdio.h>#defineN4voidfun(inta[][N],intb[]){inti;for(i=0;i<N;i++)b[i]=a[i][i]-a[i][N-1-i];}main(){intx[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;fun(x,y);for(i=0;i<N;i++)printf(“%d”,y[i]);printf(“\n”);}程序的運(yùn)行結(jié)果是()。
A.-3,-1,1,3,B.-12,-3,0,0,C.0,1,2,3,D.-3,-3,-3,-3,
7.有以下程序:#include<stdio.h>main(){intc;while((c=getchar())!='\n'){switch(c-'3'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);case4:putchar(c+3);break;}}printf("\n");}從第一列開(kāi)始輸入數(shù)據(jù)(<CR>代表…個(gè)回車(chē)符):3845<CR>,則狴序輸出結(jié)果為()。
A.77889B.77868C.776810D.7.78866e+007
8.數(shù)據(jù)庫(kù)管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語(yǔ)言是()。A.數(shù)據(jù)定義語(yǔ)言B.數(shù)據(jù)管理語(yǔ)言C.數(shù)據(jù)操縱語(yǔ)言D.數(shù)據(jù)控制語(yǔ)言
9.設(shè)有兩個(gè)串p和q,求q在p中首次出現(xiàn)的位置的運(yùn)算稱(chēng)為()。
A.連接B.模式匹配C.求子串D.求串長(zhǎng)
10.在一個(gè)被調(diào)用函數(shù)中,關(guān)于return語(yǔ)句使用的描述,()是錯(cuò)誤的。
A.被調(diào)用函數(shù)中可以不用return語(yǔ)句
B.被調(diào)用函數(shù)中可以使用多個(gè)return語(yǔ)句
C.被調(diào)用函數(shù)中,如果有返回值,就一定要有return語(yǔ)句
D.被調(diào)用函數(shù)中,一個(gè)return語(yǔ)句可以返回多個(gè)值給調(diào)用函數(shù)
11.
12.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。A.AaB.AbC.abD.Ba
13.下列程序的輸出結(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
14.若有以下程序
則程序的輸出結(jié)果是
A.China!B.toChina!C.meyoutoChina!D.youtoChina!
15.若已知一個(gè)棧的進(jìn)棧序列是1,2,3…n,其輸出序列是P1,P2,P3,…PN,若P1=n,則Pi(1<i<p)為()。
A.IB.n-iC.n-i+1D.不確定
16.有以下程序段intj;floaty;charname[50];scanf("%2d%f%s",&i,&y,name);當(dāng)執(zhí)行上述程序段,從鍵盤(pán)上輸入555667777abc后,y的值為()。A.55566.0B.566.0C.7777.0D.566777.0
17.下面哪些使用的不是貪心算法()
A.單源最短路徑中的Dijkstra算法
B.最小生成樹(shù)的Prim算法
C.最小生成樹(shù)的Kruskal算法
D.計(jì)算每對(duì)頂點(diǎn)最短路徑的Floyd-Warshall算法
18.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.0B.1C.2D.3
19.已知i,j,k為int型變量,若從鍵盤(pán)輸入:1,2,3<回車(chē)>,使i的值為1,j的值為2,k的值為3,以下選項(xiàng)中正確的輸入語(yǔ)句是A.scanf("%2d%2d%2d",&i,&j,&k);
B.scanf("%d%d%d",&i,&j,&k);
C.scanf("%d,%d,%d",&i,&j,&k);
D.scanf("i=%d,j=%d,k=%d",&i,&j,&k);
20.在E-R圖中,用來(lái)表示實(shí)體的圖形是______。A.矩形B.橢圓形C.菱形D.三角形
二、2.填空題(20題)21.無(wú)論對(duì)于順序存儲(chǔ),還是鏈接存儲(chǔ)的棧和隊(duì)列來(lái)說(shuō),進(jìn)行插入或刪除運(yùn)算的時(shí)間復(fù)雜性均相同,則為【】。
22.數(shù)據(jù)結(jié)構(gòu)分為線(xiàn)性結(jié)構(gòu)和非線(xiàn)性結(jié)構(gòu),帶鏈的隊(duì)列屬于[]。
23.下列程序段的輸出結(jié)果是______。
intn='c':
switch(n++)
{default:printf("error");break;
case'a':printf("good");break;
case'c':printf("moming");
case'd':printf("class");
}
24.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線(xiàn)性鏈表屬于【】。
25.對(duì)下列二叉樹(shù)進(jìn)行中序遍歷的結(jié)果為【】。
26.對(duì)于軟件測(cè)試,從是否需要執(zhí)行被測(cè)軟件的角度,可以分為靜態(tài)測(cè)試和動(dòng)態(tài)測(cè)試。代碼檢查屬于______測(cè)試。
27.注釋一般分為序言性注釋和______注釋。
28.下面的語(yǔ)句要使指針p指向一個(gè)double類(lèi)型的動(dòng)態(tài)存儲(chǔ)單元,請(qǐng)?zhí)羁铡?/p>
p=【】malloc(sizeof(double));
29.下列程序段的輸出結(jié)果是【】。
intn='c';
switch(n++)
{default:printf("error");break;
case'a':
case'A':
case'b':
case'B':printf("good");break;
case'c':case'C':printf("pass");
case'd':case'D':printf("warn");
}
30.對(duì)軟件是否能達(dá)到用戶(hù)所期望的要求的測(cè)試稱(chēng)為【】。
31.算法的工作量大小和實(shí)現(xiàn)算法所需的存儲(chǔ)單元多少分別稱(chēng)為算法的【】。
32.下面程序的功能是:將字符數(shù)組a中下標(biāo)值為偶數(shù)的元素從小到大排列,其他元素不變。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#include<string.h>
main()
{chara[]="clanguage",t;
inti,j,k;
k=strlen(a);
for(i=0;i<=k-2;i+=2)
for(j=i+2;j<=k;j+=2;)
if(【】)
{t=a[i];a[i]=a[j];a[j]=t;}
puts(a);
printf("\n");
}
33.數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別為_(kāi)_____模式、內(nèi)部級(jí)模式與外部級(jí)模式。
34.近年來(lái)形成了軟件開(kāi)發(fā)的多種模式,大致有3種類(lèi)型:基于瀑布模型的結(jié)構(gòu)化生命周期方法、基于動(dòng)態(tài)定義需求的【】方法和基于結(jié)構(gòu)的面向?qū)ο蟮能浖_(kāi)發(fā)方法。
35.下面程序的輸出是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)
arr[i]=i;
fov(i=1;i<4;i++)
k+=arr[i]+i;
printf("%d\n",k);}
36.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),帶鏈的棧屬于【】。
37.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
inta[4]]4]={{1,2,3,4},{5,6,7,8},{11,12,13,14},{15,16,17,18}};
inti=0.j=0,s=0;
while(i++<4}
if(i==2||i==4)continue;
j=0;
do
{
s+=a[i][j]:
j++;
}while(j<4);
}
printf("%d\n",s);
}
voidfun(intx,inty)
}
38.以下isprime函數(shù)的功能是判斷形參a是否為素?cái)?shù),是素?cái)?shù),函數(shù)返回1,否則返回0。請(qǐng)?zhí)羁铡?/p>
intisprime(inta)
for(i=2;i<=a/2;i++)
if(a%i==0)[8];
[9];
39.以下程序運(yùn)行結(jié)果是【】。
#include<stdio.h>
main()
{intfun();fun();}
fun()
{staticinta[3]={0,1,2};
inti;
for(i=0;i<3;i++)a[i]+=a[i];
for(i=0;i<3;i++)printf("%d,",a[i]);
printf("\n");}
40.若a的值為1,則表達(dá)式!a‖++a的值是______。
三、1.選擇題(20題)41.有以下程序:main(){inta[3][3],*p,i;p=&a[0][0];for(i=0;i<9;1++)p[i]=i;for(i=0;i<3;i++)printf("%d",a[1][i]);程序運(yùn)行后的輸出結(jié)果是______。
A.012B.123C.234D.345
42.下列敘述中,不正確的是______。
A.字符型數(shù)組中可以存放字符串
B.可以對(duì)字符型數(shù)組進(jìn)行整體輸入、輸出
C.可以對(duì)整型數(shù)組進(jìn)行整體輸入、輸出
D.不能在賦值語(yǔ)句中通過(guò)賦值運(yùn)算符:對(duì)字符型數(shù)組進(jìn)行整體賦值
43.變量a中的數(shù)據(jù)用二進(jìn)制表示的形式是01011101,變量b中的數(shù)據(jù)用二進(jìn)制表示的形式是11110000。若要求將a的高4位取反,低4位不變,所要執(zhí)行的運(yùn)算是
A.a^bB.a|bC.a&bD.a<<4
44.假定當(dāng)前盤(pán)符下有兩個(gè)如下文本文件:文件名a1.txta2.txt內(nèi)容123#321#則下面程序段執(zhí)行后的結(jié)果為#include"stdio.h"voidfc(FILE*p){charc;while((c=fgetc(p))!='#')putchar(c);}main(){FILE*fp;fp=fopen("a1.txt","r");fc(fp);fclose(fp);
A.123321B.123C.321D.以上答案都不正確
45.以下敘述中不正確的是()。
A.在不同函數(shù)中可以使用相同名字的變量
B.函數(shù)中的形式參數(shù)是局部變量
C.在一個(gè)函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效
D.在一個(gè)函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量在本函數(shù)范圍內(nèi)有效
46.在“文件包含”預(yù)處理語(yǔ)句的使用形式中,當(dāng)#include后面的文件名用"",(雙撇號(hào))括起時(shí),尋找被包含文件的方式是()。
A.直接按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索目錄
B.先在源程序所在的目錄搜索,如沒(méi)找到,再按系統(tǒng)設(shè)定的標(biāo)準(zhǔn)方式搜索
C.僅僅搜索源程序所在目錄
D.僅僅搜索當(dāng)前目錄
47.設(shè)有以下聲明語(yǔ)句streetex{intx;floaty;charz;}example;則下面的敘述中不正確的是______。
A.struct是結(jié)構(gòu)體類(lèi)型的關(guān)鍵字
B.example是結(jié)構(gòu)體類(lèi)型名
C.x,y,z都是結(jié)構(gòu)體成員名
D.structex是結(jié)構(gòu)體類(lèi)型
48.有如下程序:main(){inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;for(i=1;i<3;i++)for(j=0;j<=i;j++)s+=a[i][j];printf("%d\n",s);}該程序的輸出結(jié)果是______。
A.18B.19C.20D.21
49.下列程序段中,不能正確賦值的是
A.char*p,ch;p=&ch;scanf("%c,&p")
B.char*p;p=(char*)malloc(1)scanf("%c",p);
C.char*p*p=getchar();
D.char*p,ch;p=&ch;*p=getchar();
50.C語(yǔ)言規(guī)定,在一個(gè)C程序中,main()函數(shù)的位置()。
A.必須在系統(tǒng)調(diào)用的庫(kù)函數(shù)之后B.必須在程序的開(kāi)始C.必須在程序的最后D.可以在任意位置
51.分析下列程序:#include<stdio.h>main(){int*p1,*p2,*p;inta=6,b=9;p1=&a;p2=&b;if(a<b){p=p1;p1=p2;p2=p;}printf("%d,%d",*p1,*p2);printf("%d,%d",a,b);}程序的輸出結(jié)果為()。
A.9,66,9B.6,99,6C.6,96,9D.9,69,6
52.有以下程序:main(){intm,n,P;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想從鍵盤(pán)上輸入數(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
53.下面不屬于軟件工程的3個(gè)要素的是______。
A.工具B.過(guò)程C.方法D.環(huán)境
54.假設(shè)在turboc2.0采用small模式編譯如下程序main(){chara[4]={'a','b'};char*b="abc";printf("%d,%d",sizeof(a),sizeof(b));}其輸出結(jié)果為_(kāi)_____。
A.4,2B.4,4C.4,3D.2,2
55.若有定義:char*st="howareyou";下列程序段中正確的是
A.chara[11],*p;strcpy(p=a+1,&st[4]);
B.chara[11];strcpy(++a,st);
C.chara[11];strcpy(a,st);
D.chara[],*p;strcpy(p=&a[1],st+2);
56.下列敘述中不正確的是
A.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)共享的問(wèn)題
B.數(shù)據(jù)庫(kù)系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致
C.數(shù)據(jù)庫(kù)設(shè)計(jì)是指設(shè)計(jì)一個(gè)能滿(mǎn)足用戶(hù)要求,性能良好的數(shù)據(jù)庫(kù)
D.數(shù)據(jù)庫(kù)系統(tǒng)是一個(gè)獨(dú)立的系統(tǒng),但是需要操作系統(tǒng)的支持
57.若有下列定義,則對(duì)a數(shù)組元素地址的正確引用是()。inta[5],*p=a;
A.p+5B.a+1C.&a+1D.&a[0]
58.軟件危機(jī)產(chǎn)生的原因從根本上說(shuō)是()
A.軟件需求的增長(zhǎng)超過(guò)軟件生產(chǎn)率的提高
B.軟件需求的增長(zhǎng)小于軟件生產(chǎn)率的提高
C.軟件需求的減少大于軟件生產(chǎn)率的減少
D.軟件需求的減少小于軟件生產(chǎn)率的減少
59.以下程序的功能是進(jìn)行位運(yùn)算:#include<stdio.h>main()unsignedchara,b;a=7∧3;b=~4&3;printf("%d%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。
A.43B.73C.70D.40
60.有以下程序段:intk=0;while(k=1)k++;while循環(huán)執(zhí)行的次數(shù)是______。
A.無(wú)限次B.有語(yǔ)法錯(cuò),不能執(zhí)行C.一次也不執(zhí)行D.執(zhí)行1次
四、選擇題(20題)61.函數(shù)ftell(fp)的作用是()。
A.得到fp所指向文件的當(dāng)前讀寫(xiě)位置B.初始化流式文件的位置指針C.移動(dòng)流式文件的位置指針D.以上答案均正確
62.
63.在16位編譯系統(tǒng)上,若有定義“inta[]={10,20,30},*p=&a;”,當(dāng)執(zhí)行“P++;”后,下列說(shuō)法錯(cuò)誤的是()。
A.P向高地址移了一個(gè)字節(jié)B.P向高地址移了一個(gè)存儲(chǔ)單元C.P向高地址移了兩個(gè)字節(jié)D.P與a+1等價(jià)
64.下列程序的輸出結(jié)果是()。main{inti=1,j=2,k=3;if(i++==1&&(++j==3==||k++==3))printf("%d%d%d\n",i,j,k);}
A.123B.234C.223D.233
65.
66.設(shè)有條件表達(dá)式:(EXP)?i++;j--,則以下表達(dá)式中(EXP)完全等價(jià)的是()。
A.(EXP==0)B.(EXP!=0)C.(EXP==1)D.(EXP!=1)
67.下列敘述中正確的是()。
A.軟件測(cè)試應(yīng)該由程序開(kāi)發(fā)者來(lái)完成
B.程序經(jīng)調(diào)試后一般不需要測(cè)試
C.軟件維護(hù)只包括對(duì)程序代碼的維護(hù)
D.以上三種說(shuō)法都不對(duì)
68.有以下程序:
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.A.7B.3C.2D.0
69.
70.
在下列給出的表達(dá)式中,與while(E)中的(E)不等價(jià)的表達(dá)式是()。
A.(!E==0)B.(E>0C.D.E<0)E.(E==0)F.(E!=0)
71.
72.下列敘述中錯(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ù)的
73.
74.設(shè)有以下函數(shù):
voidfun(intn,char*s){…}
則下面對(duì)函數(shù)指針的定義和賦值均正確的是()。
A.void(*pf)();pf=fun;
B.void*pf();pf=fun
C.void*pf();*pf=fun;
D.void(*pf)(int,char);pf=&fun;
75.軟件工程出現(xiàn)的原因是
A.程序設(shè)計(jì)方法學(xué)的影響B(tài).軟件產(chǎn)業(yè)化的需要C.軟件危機(jī)的出現(xiàn)D.計(jì)算機(jī)的發(fā)展
76.
已有定義:charc;,程序前面已在命令行中包含ctype.h文件,不能用于判斷c中的字符是否為大寫(xiě)字堪的表達(dá)式是()。
A.isupper(c)
B.A<=c<=Z
C.A<=c&&c<=Z
D.c<=(z-32)&&(a-32)<=c
77.開(kāi)發(fā)大型軟件時(shí),產(chǎn)生困難的根本原因是()
A.大系統(tǒng)的復(fù)雜性B.人員知識(shí)不足C.客觀世界千變?nèi)f化D.時(shí)間緊、任務(wù)重
78.有以下程序
main()
{inta,b,d=5;
a=d*10%8;b=a&&(-1);
printf("%d,%d\n",a,b);
}
程序運(yùn)行后的輸出結(jié)果是
A.10,1B.2,1
C.10,0D.2,0
79.
80.有如下程序
main()
{
chars[]="ABCD",*p;
for(p=s+1;p<s+4;p++)
printf("%s\n",p);
}
該程序的輸出結(jié)果是
五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:將長(zhǎng)整型數(shù)中各位上為奇數(shù)的數(shù)依次取出,構(gòu)成一個(gè)新數(shù)放在t中。高位仍在高位,低位仍在低位。
例如,當(dāng)s中的數(shù)為87653142時(shí),t中的數(shù)為7531。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
六、程序設(shè)計(jì)題(1題)82.假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫(xiě)函數(shù)proc(),它的功能是:將字符串中的前導(dǎo)*號(hào)全部刪除,中間和后面的*號(hào)不刪除。例如,若字符串中的內(nèi)容為****a*bc*def*g****,刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是a*bc*def*g****。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.B解析:C++程序總是從main函數(shù)開(kāi)始執(zhí)行。
2.C
3.Cmain函數(shù)定義3行3列的整型二維數(shù)組a;定義數(shù)組指針P,P指向包含3個(gè)元素的數(shù)組。程序首先將a賦給p。for循環(huán)中,i=0時(shí),P指向a的第1個(gè)元素{0,1,2},輸出p[0]即0;i=1時(shí),p指向a的第2個(gè)元素{3,4,5},輸出P[1]即4;i=2時(shí),p指向a的第3個(gè)元素{6,7,8},輸出P[2]即8。所以程序輸出048。故本題答案為C選項(xiàng)。
4.A
5.B
6.A本題由fun函數(shù)可知,執(zhí)行for循環(huán),當(dāng)i=0時(shí),b[0]=a[0][0]-a[0][3]=1-4=-3;當(dāng)i=1時(shí),b[1]=a[1][1]-a[1][2]=6-7=-1;當(dāng)i=2時(shí),b[2]=a[2][2]-a[2][1]=11-10=1;當(dāng)i=3時(shí),b[3]=a[3][3]-a[3][0]=16-13=3。主函數(shù)中輸出y數(shù)組元素的值為:-3,-1,1,3。故本題答案為A選項(xiàng)。
7.A
8.AA。數(shù)據(jù)定義語(yǔ)言(DDL)是集中負(fù)責(zé)數(shù)據(jù)庫(kù)模式定義與數(shù)據(jù)庫(kù)對(duì)象定義的語(yǔ)言。數(shù)據(jù)操縱語(yǔ)言(DML)是指用來(lái)查詢(xún)、添加、修改和刪除數(shù)據(jù)庫(kù)中數(shù)的語(yǔ)句。數(shù)據(jù)控制語(yǔ)言(DCL)是用來(lái)設(shè)置或者更改數(shù)據(jù)為用戶(hù)或角色權(quán)限的語(yǔ)句。據(jù)此,本題正確答案為選項(xiàng)A。
9.B
10.D
11.C
12.B函數(shù)fun將形參b賦給形參a,使得a和b都指向原b所指向的地址,然后對(duì)該地址的值執(zhí)行自增1;main函數(shù)中p1指向ch1,p2指向ch2。通過(guò)fun函數(shù)的調(diào)用,將ch2的值完成自增1,字符’a’自增1后變成字符’b’,所以程序輸出:Ab。本題答案為B選項(xiàng)。
13.B解析:算術(shù)運(yùn)行符“/”、“%”的優(yōu)先級(jí)處于同一級(jí),并且兩者的結(jié)合性都是從左到右。所以算術(shù)表達(dá)式運(yùn)算過(guò)程為:a=25/10%9=2%9=2:當(dāng)邏輯運(yùn)算符“&&”兩邊的值都是非零時(shí),邏輯表達(dá)式的值才為真(即為1)。所以b=2&&(-1)=1。
14.D該程序首先定義*a和b[],并進(jìn)行初始化。主函數(shù)中通過(guò)外層for循環(huán)語(yǔ)句,遍歷字符數(shù)組b[],并且將符合if條件語(yǔ)句的字符賦給數(shù)組p;for內(nèi)層循環(huán)語(yǔ)句,遍歷字符數(shù)組a[]。再將符合if條件語(yǔ)句的結(jié)果輸出。因此D選項(xiàng)正確。
15.C
16.B變量J只接收輸入數(shù)據(jù)的前兩位,從第三位開(kāi)始直到空格之間的輸入整數(shù)都會(huì)被保存到浮點(diǎn)型變量Y中。
17.D
18.B第一次執(zhí)行外循環(huán)i的值為1,滿(mǎn)足條件,判斷第一次內(nèi)循環(huán),j的值為3,不滿(mǎn)足條件,跳出內(nèi)循環(huán)。第二次執(zhí)行外循環(huán)i的值為2,同理也不滿(mǎn)足內(nèi)循環(huán)條件,跳出內(nèi)循環(huán)。第三次執(zhí)行外循環(huán)i的值為3,此時(shí)進(jìn)入內(nèi)循環(huán)判斷條件時(shí),條件成立,執(zhí)行m=m%j,m的值為1,跳出內(nèi)循環(huán),跳出外循環(huán)打印m的值。
19.C
20.A解析:在E-R圖中,用三種圖框分別表示實(shí)體、屬性和實(shí)體之間的聯(lián)系,其規(guī)定如下:用矩形框表示實(shí)體,框內(nèi)標(biāo)明實(shí)體名;用橢圓狀框表示實(shí)體的屬性,框內(nèi)標(biāo)明屬性名;用菱形框表示實(shí)體間的聯(lián)系,框內(nèi)標(biāo)明聯(lián)系名。所以,選項(xiàng)A正確。
21.O(2)
22.線(xiàn)性結(jié)構(gòu)線(xiàn)性結(jié)構(gòu)解析:與棧類(lèi)似,隊(duì)列也是線(xiàn)性表,也町以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
23.morningclassmorningclass解析:本題考查了兩個(gè)知識(shí)點(diǎn):①“++、--”運(yùn)算后綴形式是先使用變量原來(lái)的值,使用完后再使其增1或減1;②在switch語(yǔ)句中,當(dāng)n=\'c\'時(shí),執(zhí)行“case\'c\':”,輸出morning;因?yàn)榇司渲袥](méi)有break語(yǔ)句,因此接著執(zhí)行'case\'d\':”,輸出class,最終輸出結(jié)果為morningclass。
24.存儲(chǔ)結(jié)構(gòu)
25.ACBDFEHGPACBDFEHGP解析:中序遍歷方法的遞歸定義;當(dāng)二叉樹(shù)的根不為空時(shí),依次執(zhí)行如下3個(gè)操作:①按中序遍歷左子樹(shù)。②訪(fǎng)問(wèn)根結(jié)點(diǎn)。③技中序遍歷右子樹(shù)。根據(jù)遍歷規(guī)則來(lái)遍歷本題中的二叉樹(shù)。首先遍歷F的左子樹(shù),同樣按中序遍歷。先遍歷C的左子樹(shù),即結(jié)點(diǎn)A,然后訪(fǎng)問(wèn)C,接著訪(fǎng)問(wèn)C的右子樹(shù),同樣按中序遍歷C的右子樹(shù),先訪(fǎng)問(wèn)結(jié)點(diǎn)B,然后訪(fǎng)問(wèn)結(jié)點(diǎn)D,因?yàn)榻Y(jié)點(diǎn)D沒(méi)有右子樹(shù),因此遍歷完C的右子樹(shù),以上就遍歷完根結(jié)點(diǎn)F的左子樹(shù)。然后訪(fǎng)問(wèn)根結(jié)點(diǎn)F,接下來(lái)遍歷F的右子樹(shù),同樣按中序遍歷。首先訪(fǎng)問(wèn)E的左子樹(shù),E的左子樹(shù)為空,則訪(fǎng)問(wèn)結(jié)點(diǎn)E,然后訪(fǎng)問(wèn)結(jié)點(diǎn)E的右子樹(shù),同樣按中序遍歷。首先訪(fǎng)問(wèn)G的左子樹(shù),即H,然后訪(fǎng)問(wèn)結(jié)點(diǎn)G,最后訪(fǎng)問(wèn)G的右子樹(shù)P。以上就把整個(gè)二叉樹(shù)遍歷一遍,中序遍歷的結(jié)果為ACBDFEHGP。因此,劃線(xiàn)處應(yīng)填入“ACBDFEHGP”。
26.靜態(tài)靜態(tài)解析:靜態(tài)測(cè)試包括代碼檢查、靜態(tài)結(jié)構(gòu)分析,代碼質(zhì)量度量等。靜態(tài)測(cè)試不實(shí)際運(yùn)行軟件。
27.功能性功能性解析:注釋一般分為序言性注釋和功能性注釋。序言性注釋通常位于每個(gè)程序的開(kāi)頭部分,給出程序的整體說(shuō)明;功能性注釋一般嵌在源程序體之中,主要描述其后的語(yǔ)句或程序做什么,
28.(double*)(double*)解析:本題考查強(qiáng)制類(lèi)型轉(zhuǎn)換。函數(shù)malloc的默認(rèn)返回是void*,若要使指針指向double類(lèi)型,必須進(jìn)行類(lèi)型轉(zhuǎn)換,類(lèi)型轉(zhuǎn)換格式為:(數(shù)據(jù)類(lèi)型*)。
29.passwarnpasswarn解析:n++是在執(zhí)行完其所在的語(yǔ)句后再加1,因此,在執(zhí)行case的時(shí)候,n的值依然為'c',執(zhí)行case'c'后面的語(yǔ)句,先打印出“pass”;在執(zhí)行完case'c'后,未遇到break跳出switch,便接著執(zhí)行下面的語(yǔ)句,又打印出warn。所以此題輸出結(jié)果是passwarn。
30.有效性測(cè)試有效性測(cè)試
31.時(shí)間復(fù)雜度和空間復(fù)雜度時(shí)間復(fù)雜度和空間復(fù)雜度
32.a[i]>a[j]a[i]>a[j]解析:本題中的嵌套的循環(huán)結(jié)構(gòu)用在了數(shù)組元素的排序上。本題需要注意的一點(diǎn)是:由于題目只要求將下標(biāo)值為偶數(shù)的元素從小到大排序,所以?xún)?nèi)外層for循環(huán)的條件變量變更條件都是+=2。最后通過(guò)條件a[i]>a[j]對(duì)元素大小進(jìn)行判斷并交換。
33.概念(或概念級(jí))概念(或概念級(jí))
34.原型化原型化
35.1212解析:本題通過(guò)第一個(gè)for循環(huán)將數(shù)組arr[0]=arr[9]分別賦值為0-9,通過(guò)第二個(gè)for循環(huán)的三次循環(huán)累加,求出結(jié)果為12,具體分析如下:
i=1:k=0+arr[1]+1即k=2;
i=2:k=2+arr[2]+2即k=6;
i=3:k=6+arr[3]+3即k=12:
36.存儲(chǔ)結(jié)構(gòu)存儲(chǔ)結(jié)構(gòu)解析:帶鏈的棧屬于棧的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)。
37.9292解析:本主函數(shù)中首先定義了一個(gè)4行4列的二維數(shù)組,然后執(zhí)行一個(gè)while循環(huán),該循環(huán)中又嵌套了一個(gè)do-while循環(huán)。現(xiàn)看while循環(huán),該循環(huán)通過(guò)i++的值來(lái)判斷是否結(jié)束循環(huán)當(dāng)i++的值為4的時(shí)候結(jié)束循環(huán),當(dāng)i=0時(shí),執(zhí)行while的循環(huán)體,顯然if語(yǔ)句條件不滿(mǎn)足不執(zhí)行,接著讓j=4,然后執(zhí)行do-while循環(huán)體,我們不難看出do-while循環(huán)的功能是將笫i+1行的所有元素加起來(lái),所以這時(shí)s的值為s=a[1][0]+a[1][1]+a[1][2]+a[1][3]26,當(dāng)i=1時(shí),i+1=2,if后面括號(hào)里的表達(dá)式的值為真執(zhí)行后面的continue語(yǔ)句,結(jié)束該次循環(huán);當(dāng)i=2時(shí),i加1變?yōu)?,把笫3+1行的所有元素的加到s上,此時(shí)s=s+a[2][0]+a[2][1]a[2][2]+a[2][3]=92,當(dāng)i=3時(shí),3+1=4,if后面括號(hào)里的表達(dá)式的值為真執(zhí)行后面的continue語(yǔ)句,結(jié)束該次循環(huán),當(dāng)i=3時(shí),if后面括號(hào)里的表達(dá)式的值為真執(zhí)行后面的confulue語(yǔ)句,結(jié)束該次循環(huán)當(dāng)i=4時(shí)while循環(huán)結(jié)束,所以最后輸出的s的值為92。
38.如果a能被i整除,則a是素?cái)?shù),返回值為0。如果a不能被i整除,則a不是素?cái)?shù),返回值為1。
39.0240480,2,4\r\n0,4,8解析:本題主要考查了for循環(huán)語(yǔ)句的使用以及靜態(tài)局部變量的特點(diǎn)。
40.11解析:邏輯運(yùn)算中,非1即0,非0即1,!a=0,++a為邏輯1,所以0和1相或結(jié)果為1。
41.D解析:p指向的a的首地址,由于C語(yǔ)言是行優(yōu)先存儲(chǔ)的,一維數(shù)組p就依次存放了a中從第0行到第2行的所有元素,因此a[1][i]就對(duì)應(yīng)了p[3]~p[5]。
42.C
43.A解析:本題考查的是位運(yùn)算的知識(shí),對(duì)于任何二進(jìn)制數(shù),和1進(jìn)行異或運(yùn)算會(huì)讓其取反,而和0進(jìn)行異或運(yùn)算不會(huì)產(chǎn)生任何變化。
44.A解析:本題的功能是順序的讀兩個(gè)文本文件,依次輸出。當(dāng)打開(kāi)文件時(shí)出現(xiàn)錯(cuò)誤,fopen函數(shù)將返回NULL。
45.D解析:C語(yǔ)言在函數(shù)中說(shuō)明的變量為局部變量,只在函數(shù)內(nèi)起作用,不會(huì)影響到其他函數(shù)。在不同函數(shù)中使用相同的變量名不代表是同一變量,A)項(xiàng)正確;在函數(shù)定義時(shí)聲明的參數(shù)只在函數(shù)內(nèi)部起作用,是函數(shù)的局部變量,B)正確;在一個(gè)函數(shù)中定義的變量是這個(gè)函數(shù)的局部變量,所以只在這個(gè)函數(shù)內(nèi)起作用,C)正確;復(fù)合語(yǔ)句中定義的變量其作用域是這個(gè)復(fù)合語(yǔ)句,不會(huì)擴(kuò)大到整個(gè)函數(shù),所以D)項(xiàng)錯(cuò)誤。
46.B解析:本題考查庫(kù)函數(shù)調(diào)用的知識(shí)點(diǎn)。格式1:#include<文件名>,預(yù)處理程序在標(biāo)準(zhǔn)目錄下查找指定的文件;格式2:#include'文件名',預(yù)處理程序首先在引用被包含文件的源文件所在的目錄下搜索指定的文件,如沒(méi)找到,再按系統(tǒng)指定的標(biāo)準(zhǔn)目錄搜索。
47.B解析:example是結(jié)構(gòu)體變量名。
48.A解析:題中的外循環(huán)只執(zhí)行了2次:
第1次:a[1][0]=3,a[1][1]=4,所以s=7;
第2次:a[2][0]=5,a[2][1]=6,a[2][2]=0,所以s=7+5+6+0=18。
49.C解析:本題考查了字符的輸入函數(shù)getchar和利用scanf函數(shù)輸入一個(gè)字符。用scanf輸入字符時(shí),格式說(shuō)明字符應(yīng)該為%c。本題選項(xiàng)C)因?yàn)橹羔榩沒(méi)有賦初值,所以是一個(gè)不定值,不能直接將getchar讀入的字符賦給指針p所指向的字符,所以選項(xiàng)C錯(cuò)誤。
50.D解析:每個(gè)C程序有且只有一個(gè)主函數(shù)(main),且程序必須從main()函數(shù)開(kāi)始執(zhí)行,而且main()函數(shù)可以放在程序中的任意位置。
51.A解析:通過(guò)p1=&a,p2=&b分別將a、b的地址賦給指針p1、p2,接著執(zhí)行if語(yǔ)句,發(fā)現(xiàn)a<b成立,則通過(guò)交換p1、p2的值,即交換a、b所在存儲(chǔ)單元的地址,但是a、b的值并沒(méi)有發(fā)生變化。
52.A解析:本題的考點(diǎn)是關(guān)于C語(yǔ)言的輸入語(yǔ)句scanf的通配符。C語(yǔ)言規(guī)定:scanf中的雙引號(hào)中的輸入格式(就是俗稱(chēng)的通配符)決定了輸入的格式。要輸入123給m,456給n,789給p,由scanf的輸入格式:“m=%dn=%dp=%d”決定了輸入必須的格式是:m=123n=456p=789。
53.D解析:軟件工程包括3個(gè)要素,即方法、工具和過(guò)程。方法是完成軟件工程項(xiàng)目的技術(shù)手段;工具支持軟件的開(kāi)發(fā)、管理、文檔生成;過(guò)程支持軟件開(kāi)發(fā)的各個(gè)環(huán)節(jié)的控制和管理。
54.A解析:用small模式編譯,指針變量占2個(gè)字節(jié)。sizeof(array):數(shù)組名array代表數(shù)組本身,sizeof函數(shù)測(cè)出的是整個(gè)數(shù)組的大小。a數(shù)組的大小為4,b指針變量的大小為2。
55.A解析:本題綜合考查字符數(shù)組的賦值和strcpy函數(shù)的用法。C語(yǔ)言不允許用賦值表達(dá)式對(duì)字符數(shù)組賦值,如下面的語(yǔ)句就是非法的:strl=“China”,如果想把“China”這5個(gè)字符放到數(shù)組strl中,除了逐個(gè)地輸入外,還能使用strcpy函數(shù),該函數(shù)的功能是將一個(gè)字符串復(fù)制到一字符數(shù)組中。例如:strcpy(strl,“China”);或strcpy(strl,str2);注意,不能企圖用以下語(yǔ)句來(lái)實(shí)行賦值(將str2的值傳給strl):strl=str2;不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。
strcpy函數(shù)的結(jié)構(gòu)是:strcpy(字符數(shù)組1,字符串2)
其中,需要注意的是,字符數(shù)組1的長(zhǎng)度不應(yīng)小于字符串2的長(zhǎng)度,“字符數(shù)組1”必須寫(xiě)成數(shù)組名形式,如(strl),“字符串2”可以是字符數(shù)組名,也可以是字符串常量,不能用賦值語(yǔ)句將一個(gè)字符串常量或字符數(shù)組直接給一個(gè)字符數(shù)組。
56.B解析:B選項(xiàng)錯(cuò)誤,原因是,數(shù)據(jù)庫(kù)應(yīng)該具有物理獨(dú)立性和邏輯獨(dú)立性,改變其一而不影響另一個(gè)。
57.D解析:本題考查如何引用數(shù)組元素的地址。
選項(xiàng)A)中,p+5引用的是a[5]的地址,而數(shù)組a只有5個(gè)元素,即a[0]、a[1],a[2]、a[3]、a[4],所以引用錯(cuò)誤;選項(xiàng)B)中,*a+1指的是將數(shù)組a的第一個(gè)元素加1;選項(xiàng)C)中,這種引用方式錯(cuò)誤;選項(xiàng)D)中,&a[0]引用的是數(shù)組的首地址。
58.B
59.A解析:“^”是按位異或運(yùn)算,運(yùn)算規(guī)則是:當(dāng)兩個(gè)二進(jìn)制數(shù)對(duì)應(yīng)位上的數(shù)相同時(shí),異或結(jié)果為0,否則結(jié)果為1。73相當(dāng)于0110011,所以a的值為4?!?”是按位與運(yùn)算符,其運(yùn)算規(guī)則是:當(dāng)二進(jìn)制數(shù)的所有對(duì)應(yīng)位上的數(shù)值都為1時(shí),結(jié)果才為1;“~”是按位取反?!?&3相當(dāng)于1011&0011=0011,所以b的值為3。
60.A解析:注意本題有個(gè)陷阱,馬虎的考生將紛紛落馬。本來(lái)、while中的表達(dá)式應(yīng)為k==1,而本題卻為k=1,是賦值表達(dá)式而不是邏輯表達(dá)式。因此,編譯器將其值一直認(rèn)為是1,因此表達(dá)式一直為真,陷入無(wú)限次的循環(huán)。
61.A解析:位置指針當(dāng)前值函數(shù)ftell()的基本調(diào)用格式為:ftell(fp)。
ftell()函數(shù)的參數(shù)說(shuō)明:“fp”是指向文件的文件型指針。
ftell函數(shù)的功能:得到fp所指向文件的當(dāng)前讀寫(xiě)位置,即位置指針的當(dāng)前值,如果函數(shù)的返回值為-1L,表示出錯(cuò)。
62.B
63.A因?yàn)镻是整型的指針變量,因此其移動(dòng)一個(gè)位置即兩個(gè)字節(jié),故選擇A選項(xiàng)。
64.D本題考查自增運(yùn)算符“++”、邏輯與運(yùn)算符“&&”和邏輯或運(yùn)算符“||”。自增運(yùn)算符“++”出現(xiàn)在變量之前,表示先使用變量的值加l,再使用變量的值進(jìn)行運(yùn)算;出現(xiàn)在變量之后,表示先使用變量的值進(jìn)行運(yùn)算,再使用變量的值加l。當(dāng)邏輯與運(yùn)算符“&&’’兩邊的運(yùn)算對(duì)象都為真時(shí),邏輯表達(dá)式的值才為真;當(dāng)邏輯或運(yùn)算符“||”只要一個(gè)值為1,值就為1。根據(jù)運(yùn)算符的優(yōu)先級(jí),題中應(yīng)先計(jì)算內(nèi)層括號(hào)中的值。++j是先自加后運(yùn)算,因此運(yùn)算時(shí)j的值等于3,所以表達(dá)式++j=3成立,即表達(dá)式的值為1;1與任何數(shù)都為進(jìn)行或(||)運(yùn)算,結(jié)果都為1,因此k=3的表達(dá)式i++是先運(yùn)算后自加,因此運(yùn)算時(shí)i為1,所以i++=1成立,自加1后i=2。if語(yǔ)句的條件為真即“1”,所以輸出i、j、k的值分別是2,3,3。
65.A
66.B解析:條件表達(dá)式的形式為:“表達(dá)式1?表達(dá)式2:表達(dá)式3”。其含義為:當(dāng)“表達(dá)式1”的值為非零時(shí),求出“表達(dá)式2”的值,此時(shí)“表達(dá)式2”的值就是整個(gè)條件表達(dá)式的值;當(dāng)“表達(dá)式1”的值為零時(shí),求出“表達(dá)式3”的值,此時(shí)“表達(dá)式3”的值就是整個(gè)條件表達(dá)式的值。對(duì)于本題來(lái)說(shuō),當(dāng)表達(dá)式EXP為非0值時(shí)條件成立,即執(zhí)行語(yǔ)句i++;當(dāng)EXP等于0時(shí),執(zhí)行語(yǔ)句j--;這等同于條件表達(dá)式“(EXP!=0)?i++:i++;”。
67.D程序調(diào)試是由程序開(kāi)發(fā)者完成診斷和改正程序中的錯(cuò)誤的過(guò)程;軟件測(cè)試是由專(zhuān)門(mén)的測(cè)試人員完成,是發(fā)現(xiàn)錯(cuò)誤而執(zhí)行程序的過(guò)程
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年高壓液壓柱塞泵馬達(dá)項(xiàng)目發(fā)展計(jì)劃
- 2025年度新能源材料研發(fā)保密與共享合同
- 2025年度綠色建筑項(xiàng)目財(cái)產(chǎn)贈(zèng)與合同
- 2025年(半)干式煙氣脫硫成套設(shè)備項(xiàng)目建議書(shū)
- 2025年度出境領(lǐng)隊(duì)帶團(tuán)操作規(guī)范合同范本
- 水務(wù)生態(tài)保護(hù)規(guī)劃計(jì)劃
- 2025年食品分離機(jī)械項(xiàng)目合作計(jì)劃書(shū)
- 持續(xù)改進(jìn)教學(xué)工作的機(jī)制計(jì)劃
- 高危行業(yè)的安全防控計(jì)劃
- 合理安排急診排班的重要性計(jì)劃
- 《煤礦安全培訓(xùn)知識(shí)》課件
- 消防安全電動(dòng)車(chē)培訓(xùn)
- 阿爾茲海默病的家庭護(hù)理
- 腹水形成的原因及治療
- 糖尿病酮癥酸中毒小講課
- 高中地理必修第一冊(cè)期末試卷及答案-中圖版-2024-2025學(xué)年
- 護(hù)理核心制度測(cè)試題+參考答案
- 《2023版CSCO卵巢癌診療指南》解讀課件
- 福建省公路水運(yùn)工程試驗(yàn)檢測(cè)費(fèi)用參考指標(biāo)
- 人教版一年級(jí)道德與法治下冊(cè)全冊(cè)教案
- 2024-2030年中國(guó)化妝鏡行業(yè)市場(chǎng)發(fā)展趨勢(shì)與前景展望戰(zhàn)略分析報(bào)告
評(píng)論
0/150
提交評(píng)論