版權(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ì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.有以下程序,其中函數(shù)f的功能是將多個(gè)字符串按字典順序排序:#include<string.h>voidf(char*p[],intn){char*t;inti,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)ifstrcmp(p[i],p[j])>0{t=p[i]p[i]=p[j];p[j]=t;}}main(){char*p[5]=("abc","aabdfg","abbd","dcdbe","cd"};f(p,5);printf("%d\n",strlen(p[1]));}程序運(yùn)行后的輸出結(jié)果是______。A.2B.3C.6D.4
2.
3.有以下程序:
A.CDEFB.ABEFC.ABCDD.CDAB
4.有以下程序
#include<stdio.h>
main()
{inty=10
while(y--);
printf(“y=%d\n”,y);
}
程序執(zhí)行后的輸出結(jié)果是()。A.y=0B.y=-1C.y=1D.while構(gòu)成無(wú)限循環(huán)
5.若i、j已定義成mt型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.30
6.
7.若有定義語(yǔ)句:“intx=12,y=8,z;”,在其后執(zhí)行語(yǔ)句“z=0.9+x/y;”,則z的值為()。A.1.9B.1C.2D.2.4
8.下列敘述中正確的是()。
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ǔ)句的作用相同
9.下列關(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ì)提前完成
10.以下敘述中正確的是()。
A.文件指針是一種特殊的指針類型變量
B.文件指針的值等于文件當(dāng)前讀寫位置,以字節(jié)為單位
C.文件指針的值等于文件在計(jì)算機(jī)硬盤中的存儲(chǔ)位置
D.調(diào)用fscanf函數(shù)只能向文本文件中寫入任意字符
11.若有如下程序:main(){inta=0,t=0;while(!a!=0)t+=a++;printf("%d,%d\n",t,A);}則程序運(yùn)行后的輸出結(jié)果是()
A.0,1B.1,0C.0,0D.1,1
12.對(duì)線性表進(jìn)行折半查找最方便的存儲(chǔ)結(jié)構(gòu)是()。
A.順序表B.有序順序表C.鏈表D.有序鏈表
13.
14.設(shè)有以下語(yǔ)句:inta=1,b=2,c;c=a^(b<<2);執(zhí)行后,c的值為()。A.6B.7C.8D.9
15.以下各選項(xiàng)中的代碼段執(zhí)行后,變量y的值不為1的是()。A.intx=5,y=0;if(5)y=1;
B.intx=5,y=0;if(x)y=1;
C.intx=10,y=0;if(x=y)y=1;
D.intx=5,y=10;if(x=y)y=1;
16.若輸入“abcdef”“abdef”,下述程序的輸出結(jié)果為()。#include<stdio.h>#include<string.h>main{intn;chars1[20],s2[20],*p1,*p2;scanf("%s",s1);scanf("%S",s2);p1=s1;p2=s2;n=strcmp(p1,p2);printf("Vood\n",n);}A.-1B.0C."abcdef"D."abdef"
17.下列敘述中正確的是______。
A.線性表是線性結(jié)構(gòu)B.棧與隊(duì)列是非線性結(jié)構(gòu)C.線性列表是非線性性結(jié)構(gòu)D.二叉樹(shù)是線性結(jié)構(gòu)
18.
19.
20.已知一個(gè)有序表為(15,19,30,33,49,50,65,88,93,126,164),當(dāng)二分查找值為126的元素時(shí),檢索成功需進(jìn)行的比較次數(shù)為()。
A.1次B.2次C.3次D.4次
二、2.填空題(20題)21.設(shè)inta=5,b=6,表達(dá)式(++a==b--)?++a:--b的值是【】。
22.有以下程序段,且變量已正確定義和賦值
for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1));
printf("s=%f\n\n",s);
請(qǐng)?zhí)羁?使下面程序段的功能與之完全相同
s=1.0;k=1;
while(【】){s=s+1.0/(k*(k+1));【】;}
printf("s=%f\n\n",s);
23.性結(jié)構(gòu)中,隊(duì)列的操作順序是先進(jìn)先出,而棧的操作順序是______。
24.以下程序用來(lái)輸出結(jié)構(gòu)體變量ex所占存儲(chǔ)單元的字節(jié)數(shù),請(qǐng)?zhí)羁铡?/p>
structst
{charname[20];doublescore;};
main()
{structstex;
pfintf("exsize:%d\n",sizeof(______));}
25.數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和______兩大類。
26.有定義chara,b;若想通過(guò)&運(yùn)算符保留a對(duì)應(yīng)的二進(jìn)制數(shù)的第3位和第6位的值,其余位置0,則b的二進(jìn)制數(shù)應(yīng)是【】。
27.下面程序的功能是:將字符數(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");
}
28.一個(gè)關(guān)系表的行稱為()。
29.以下程序的輸出結(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));}
30.若有以下程序:
main()
{
inta[4][4]={{l,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},
{-31,32,-33,0}};
inti,j,s=0;
for(i=0;i<4;i++)
{
for(j=0;j<4;j++)
{
if(a[i][j]<0)continue;
if(a[i][j]==0)break;
s+=a[i][j];
}
}
printf("%d\n",s);
}
執(zhí)行后輸出的結(jié)果是【】。
31.在結(jié)構(gòu)化設(shè)計(jì)方法中,數(shù)據(jù)流圖表達(dá)了問(wèn)題中的數(shù)據(jù)流與加工間的關(guān)系,并且每一個(gè)______實(shí)際上對(duì)應(yīng)一個(gè)處理模塊。
32.下列程序執(zhí)行后輸出的結(jié)果是【】。
structs
{intx,y;}data[2]={10,100,20,200};
main()
{
structs*p=data;
printf("%d\n",++(p->x));
}
33.下面函數(shù)的功能是將一個(gè)字符串的內(nèi)容顛倒過(guò)來(lái),請(qǐng)?zhí)羁铡?/p>
voidfun(charstr[])
{inti,j,k;
for(i=0,j=【】;i<j;i++,j--)
{k=str[i];
str[i]=str[j];
str[j]=k;}}
34.常用的黑箱測(cè)試有等價(jià)類劃分法、【】和錯(cuò)誤推測(cè)法3種。
35.執(zhí)行以下for語(yǔ)句后,變量i的值是【】。
for(i=1;i++<=5;);
36.下面程序的功能是兩個(gè)整數(shù)進(jìn)行交換,請(qǐng)?zhí)羁铡?/p>
sub(int*x,int*y)
{【】
z=*x;*x=*y;*y=z;
return;}
main()
{intm,n,*t1,*t2;
scanf("%d,%d",&m,&n);
t1=&m;t2=&n;
【】
printf("%d,%d\n",m,n);}
37.以下程序的運(yùn)行結(jié)果是()。#defineS(x)x*xmain(){intk=1;while(k<=4){printf("%d,",S(k));k++;}
38.有以下程序
main()
{intt=1,i=5;
for(;i>=0;i--)t*=i;
printf("%d\n",t);
}
執(zhí)行后輸出結(jié)果是______。
39.下列程序段中循環(huán)體的執(zhí)行次數(shù)是______。
a=15;
b=0;
do{b+=2;a-=2+b;}while(a>=0);
40.下列程序的輸出結(jié)果是______。
longfun5(intn)
{longs;
if((n==1)‖(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);
}
main()
{longx;
x=fun5(4);
printff"%1d\n",x);}
三、1.選擇題(20題)41.若定義了以下函數(shù):voidf(…){…*p=(double*)malloc(10*sizeof(double));…}p是該函數(shù)的形參,要求通過(guò)p把動(dòng)態(tài)分配存儲(chǔ)單位的地址傳回主調(diào)函數(shù),則形參p的正確定義應(yīng)當(dāng)是()
A.double*pB.float**pC.double**pD.float*p
42.數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的()。
A.存儲(chǔ)問(wèn)題B.共享問(wèn)題C.安全問(wèn)題D.保護(hù)問(wèn)題
43.有以下程序:#include<stdlib.h>main(){char*p,*q;p=(char*)malloc(sizeof(char)*20);q=p;scanf("%s%s",p,q);ptintf("%s%s\n",p,q);}若從鍵盤輸入abcdef<回車>,則輸出的結(jié)果是()。
A.defdefB.abcdefC.abcdD.dd
44.以下不屬于面向?qū)ο蟮幕咎攸c(diǎn)的是()。
A.分類性B.多態(tài)性C.繼承性D.封裝性
45.以下關(guān)于return語(yǔ)句的敘述中不正確的是()。
A.一個(gè)自定義函數(shù)中必須有一條return語(yǔ)句
B.一個(gè)自定義函數(shù)中可以根據(jù)不同情況設(shè)置多條return語(yǔ)句
C.如果一個(gè)函數(shù)有多個(gè)return語(yǔ)句,那么不論運(yùn)行到哪一個(gè)return語(yǔ)句,該函數(shù)將結(jié)束
D.沒(méi)有return語(yǔ)句的自定義函數(shù)在執(zhí)行完最后一條語(yǔ)句時(shí)返回到調(diào)用處
46.以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),請(qǐng)選擇正確答案填入。#include<stdio.h>main(){inta[10]=0;while(i<10)scan("%d"______);::}
A.a+(i++)B.&a[i+1]C.a+iD.&a[++i]
47.下列程序執(zhí)行后的輸出結(jié)果是
voidfunc1(inti);
voidfunc2(inti);
charst[]="hello,friend!";
voidfunc1(inti)
{printf("%c",st[i]);
if(i<3){i+=2;func2(i);}}
voidfunc2(inti)
{printf("%c",st[i]);
if(i<3){i+=2;func1(i);}}
main()
{inti=0;func1(i);printf("\n");}
A.helloB.helC.hloD.m
48.在下列敘述中,正確的一條是______。A.if(表達(dá)式)語(yǔ)句中,表達(dá)式的類型只限于邏輯表達(dá)式
B.語(yǔ)句“goto12;”是合法的
C.for(;;)語(yǔ)句相當(dāng)于while(1)語(yǔ)句
D.break語(yǔ)句可用于程序的任何地方,以終止程序的執(zhí)行
49.在深度為7的滿二叉樹(shù)中,葉子節(jié)點(diǎn)的個(gè)數(shù)為()。
A.32B.31C.64D.63
50.以下程序輸出的結(jié)果是#include<stdio.h>main(){inti=010,j=10;printf("%d,%d\n",++i,j--);}
A.11,10B.9,10C.010,9D.10,9
51.有定義語(yǔ)句doublda,b;intw;longc;若各變量已正確賦值,則下列選項(xiàng)中正確的表達(dá)式是()。
A.a=a+b=b++B.w%((int)a+b)C.(c+w)%(int)aD.w=a==b;
52.已有定義inta=3;和輸出語(yǔ)句printf("%8x",A);以下正確的敘述是()。
A.整型變量的輸出格式符只有%d一種
B.%x是格式符的一種,它可以適用于任何一種類犁的數(shù)據(jù)
C.%x是格式符的一種,其變量的值按十六進(jìn)制數(shù)輸出,但%08x是錯(cuò)誤的
D.%8x是正確的格式符,其中數(shù)字8規(guī)定了輸出字段的寬度
53.下面程序輸出的結(jié)果是______。main(){inti=5,j=9,x;x=(i==j?i:(j=7));printf("\n%d,%d",i,j);}
A.5,7B.5,5C.語(yǔ)法錯(cuò)誤D.7,5
54.下列程序的輸出結(jié)果是()。
#include<stdio.h>
voidmain()
{intb[6]-<2,4,6,8,10,12};
int*p=b,**q=&p;
printf("%d",*(p++));
printf("%d,",**q);
}
A.4,4B.2,2C.4,5D.2,4
55.有以下定義#include<stdio.h>chara[10],*b=a;不能給數(shù)組a輸入字符串的語(yǔ)句是()A.gets(a)B.gets(a[0])C.gets(&a[0]);D.gets(b);
56.下述程序向文件輸出的結(jié)果是_______。#include<stdio.h>voidmain(){FILE*fp=fopen("TEST","wb");fprintf(fp,"%d%5.of%c%d",58,76273.0,'-'2278);fclose(fp);}
A.5876273-2278
B.5876273.000000-2278
C.5876273-2278
D.因文件為二進(jìn)制文件而不可讀
57.已知下面的程序段,正確的判斷是______。#defineA3#defineB(A)((A+1)*a)inta=3;......X=3*(A+B(7));
A.程序錯(cuò)誤,不允許嵌套定義B.X=93C.X=81D.程序錯(cuò)誤,宏定義不允許有參數(shù)
58.有以下程序段
intj;floaty;charname[50];
scanf("%2d%f%s",&j,&y,name);
當(dāng)執(zhí)行上述程序段,從鍵盤上輸入555667777abe后,y的值為
A.55566.0B.566.0C.7777.0D.566777.0
59.下面程序的輸出結(jié)果是()。func(intX){staticinta=2;return(a+=X);}main(){intb=2,c=4,d;d=func(b);d=func(c);printf("%d\n",d);}
A.4B.6C.8D.12
60.下列關(guān)于棧的描述正確的是()。
A.在棧中只能插入元素而不能刪除元素
B.在棧中只能刪除元素而不能插入元素
C.棧是特殊的線性表,只能在一端插入或刪除元素
D.棧是特殊的線性表,只能在一端插入元素,而在另一端刪除元素
四、選擇題(20題)61.
62.
63.現(xiàn)有如下程序段:
則程序段的輸出結(jié)果為()。
A.7,8
B.8,8
C.7,10
D.8,10
64.在以下選項(xiàng)中,能IE確聲明數(shù)組并進(jìn)行初始化的語(yǔ)句是()。
A.str=newDimension(1,2,3);
B.str=newdimension(1,2,3);
C.str:newArray(1,2,3);
D.str=newarray(1,2,3);
65.設(shè)有以下定義inta=0;doubleb=1.25;charc=’A’;#defined2則下面語(yǔ)句中錯(cuò)誤的是()
A.a++;B.b++C.c++;D.d++;
66.有以下程序:#include<stdio.h>main(){chars[]={"012xy"};inti,n=o;for(i=0;s[i]!='0';i++)if(s[i]>=as[i]<=z)n++;printf("%d\n",n);}程序運(yùn)行后的輸出結(jié)果是()。A.0B.2C.3D.5
67.軟件設(shè)計(jì)中劃分模塊的一個(gè)準(zhǔn)則是()。A.低內(nèi)聚低耦合B.高內(nèi)聚低耦合C.低內(nèi)聚高耦合D.高內(nèi)聚高耦合
68.
69.下列關(guān)于C語(yǔ)言的敘述錯(cuò)誤的是()。
A)大寫字母和小寫字母的意義相同
B)不同類型的變量可以在一個(gè)表達(dá)式中
C)在賦值表達(dá)式中等號(hào)(=)左邊的變量和右邊的值可以是不同類型
D)同一個(gè)運(yùn)算符號(hào)在不同的場(chǎng)合可以有不同的含義
70.以下選項(xiàng)中正確的語(yǔ)句組是()。
A.char*s;8={1.BOOK!”}i
B.char*s;8=”BOOK!”;
C.charS[10];S=”BOOK!”;
D.charS[];S=”BOOK!”;
71.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.b,B"b,AB.b,B,B,AC.a,B,B,aD.a,B,a,B
72.有以下程序:
intfun()
{staticints=0;
s+=1;
returns;
}
main(intargc,char*argv[])
{intn,i=0;
while(argv[1][i]!=’\0’)
{n=fun();i++;}
printf("%d\n",n*argc);
}
假設(shè)程序經(jīng)編譯、鏈接后生成可執(zhí)行文件exam.exe,若鍵入以下命令:exam123<回車>,則運(yùn)行結(jié)果為()。
A.6B.8C.3D.4
73.下列敘述中錯(cuò)誤的是()。
A.一個(gè)C語(yǔ)言程序只能實(shí)現(xiàn)一種算法
B.c程序可以由多個(gè)程序文件組成
C.C程序可以由一個(gè)或多個(gè)函數(shù)組成
D.一個(gè)c函數(shù)可以單獨(dú)作為一個(gè)C程序文件存在
74.結(jié)構(gòu)化程序設(shè)計(jì)的基本原則不包括A.多態(tài)性B.自頂向下C.模塊化D.逐步求精
75.有以下程序:main{inti,n=0:for(i=2;i<5;i++){do{if(i%3)continue:n++:}while(!i);n++:}printf("n=%d\n",n);}程序執(zhí)行后輸出結(jié)果是()。A.n=5B.n=2C.n=3D.n=4
76.“商品”與“顧客”兩個(gè)實(shí)體集之間的聯(lián)系一般是
A.一對(duì)一B.一對(duì)多C.多對(duì)一D.多對(duì)多
77.
78.作為信息處理熱點(diǎn)技術(shù)之一的“多媒體技術(shù)”中的媒體,強(qiáng)調(diào)的是()。
A.存儲(chǔ)媒體B.表現(xiàn)媒體C.傳輸媒體D.感覺(jué)媒體
79.
80.下列字符數(shù)組初始化語(yǔ)句中,不正確的是()。A.A.charc[]='goodmorning';
B.charc[20]="goodmorning";
C.charc[]={'a','b','c','d');
D.charc[]={"ffgoodmorning"};
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)fIm和funx的功能是:用二分法求方程的一個(gè)根,并要求絕對(duì)誤差不超過(guò)0.001。
.例如,若給m輸入一100,n輸入90,則函數(shù)求得的二個(gè)根為2.000。請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)!試題程序:
六、程序設(shè)計(jì)題(1題)82.M名學(xué)生的成績(jī)已在主函數(shù)中放人一個(gè)帶頭結(jié)點(diǎn)的鏈表結(jié)構(gòu)中,h指向鏈表的頭結(jié)點(diǎn)。請(qǐng)編寫函數(shù)proc(),它的功能是:找出學(xué)生的最高分,由函數(shù)值返回。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:
參考答案
1.D解析:字符串比較函數(shù)“strcmp(char*s1,char*s2)”的比較規(guī)則是對(duì)兩個(gè)字符串自左至右逐個(gè)字符相比(按ASCII碼值大小比較),直到出現(xiàn)不同的字符或遇到到"\\0"為止。如果全部相同,則認(rèn)為相等:若出現(xiàn)不相同的字符,則以第一個(gè)不相同的字符的比較結(jié)果為準(zhǔn)。當(dāng)s1<s2,返回值<0;當(dāng)s1=s2時(shí),返回值二0:當(dāng)s1>s2時(shí),返回值>0。故本題經(jīng)過(guò)排序后,得到第二個(gè)字符串是“abbd”,所以輸出結(jié)果是4。
2.B
3.A在函數(shù)funl()之前定義了全局字符變量a和b。這兩個(gè)變量的作用域是從其定義處開(kāi)始到整個(gè)程序末結(jié)束。在函數(shù)funl()之內(nèi)定義了兩個(gè)變量a和b,并且分別初始化為字符ˊCˊ和ˊDˊ。
4.B解析:y-的作用是先取其值作為表達(dá)式的值,然后y的值減1存入y。當(dāng)y>0時(shí)循環(huán)繼續(xù),直到y(tǒng)=0時(shí)循環(huán)結(jié)束,然后y值減1存入y中,所以選B。
5.B本題考查for循環(huán)的使用。對(duì)于第1個(gè)for循環(huán),任何一個(gè)i,內(nèi)層j的循環(huán)都要使j~0到3,j=4時(shí)不符合,所以退出j循環(huán);然后i減1,J仍然要從0~3,j=4時(shí)退出J循環(huán)直到i變成0,退出i循環(huán)。第一條for語(yǔ)句執(zhí)行6次,第二條for語(yǔ)句執(zhí)行4次,所以內(nèi)循環(huán)體執(zhí)行6*4=24次。
6.C
7.B此題考查除法運(yùn)算,根據(jù)先乘除后加減,有括號(hào)先算括號(hào)的原則,先計(jì)算x/y,即l2/8=1,所以z=0.9+1=1.9。但是Z是整型的,轉(zhuǎn)化一下取整除部分,結(jié)果Z=1
8.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)體。
9.B
10.A文件指針實(shí)際上是指向一個(gè)結(jié)構(gòu)體類型的指針。這個(gè)結(jié)構(gòu)體中包含緩沖區(qū)的地址、在緩沖區(qū)中當(dāng)前存取字符的位置、對(duì)文件是“讀”還是“寫”、是否出錯(cuò)、是否已經(jīng)遇到文件結(jié)束標(biāo)識(shí)等信息。選項(xiàng)A正確,選項(xiàng)B、C錯(cuò)誤;fscanf函數(shù)只能從文本文件中輸入數(shù)據(jù)到內(nèi)存,選項(xiàng)D錯(cuò)誤。故本題答案為A選項(xiàng)。
11.A
12.B
13.C
14.D本題考查兩個(gè)知識(shí)點(diǎn),按位異或左移把b左移2位化成二進(jìn)制c=a(b<<2)=a^(000010<<2)=a^001000=0000001^O01000=9,故選擇D。
15.C選項(xiàng)A的if條件表達(dá)式的值是5,結(jié)果為真,執(zhí)行“y=1”,y的值為1;選項(xiàng)B的if條件表達(dá)式x的值為5,結(jié)果也是真,執(zhí)行“y=1”,y的值為1;選項(xiàng)C的if條件表達(dá)式“x=y”是賦值語(yǔ)句,將y的值0賦給x,表達(dá)式的值為0,if語(yǔ)句不執(zhí)行,y的值為0;選項(xiàng)D的if條件表達(dá)式“x=y”是賦值語(yǔ)句,將y的值10賦給x,表達(dá)式的值為10,執(zhí)行“y=1”,y的值為1。故本題答案為C選項(xiàng)。
16.D本題考查字符串比較函數(shù)strcmp(s1,s2),若s1>s2,則返回1;若s1=s2,則返回0;若s1<s2,則返回-1。字符串依次比較的是它們字符的ASCIl碼值。
17.A解析:一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹(shù)是非線性結(jié)構(gòu)。
18.B
19.B
20.C
21.77解析:此表達(dá)式為三目運(yùn)算符,++a的值為6,b--的值為6,則整個(gè)表達(dá)式的值為++a的值,++a的值為7。請(qǐng)注意前綴++,--和后綴++,--的區(qū)別。
22.k<=nk++k<=n,k++解析:本題要求將一個(gè)for循環(huán)改成while循環(huán)。首先要保證循環(huán)條件相同,在for循環(huán)中,每次執(zhí)行循環(huán)之后,循環(huán)控制變量k都會(huì)加1,而while循環(huán)則沒(méi)有,故需在循環(huán)體中增加改變k數(shù)值的語(yǔ)句'k++;'\ue009。
23.先進(jìn)后出先進(jìn)后出解析:隊(duì)列和棧都是線性結(jié)構(gòu),但是不同之處在于隊(duì)列的操作順序是先進(jìn)先出,而棧的操作順序是先進(jìn)后出。
24.
25.非線性結(jié)構(gòu)非線性結(jié)構(gòu)
26.100100100100解析:“&”運(yùn)算符的運(yùn)算規(guī)則是:兩個(gè)二進(jìn)制數(shù)的對(duì)應(yīng)二進(jìn)制位只要有一個(gè)為0,則結(jié)果為0;二者都為1時(shí),結(jié)果為1。因此,要想保留某位可用1,屏蔽某位用0。
27.a[I]>a[j]a[I]>a[j]解析:本題中的嵌套的循環(huán)結(jié)構(gòu)用在了數(shù)組元素的排序上。本題需要注意的一點(diǎn)是:由于題目只要求出下標(biāo)值為偶數(shù)的元素從小到大排序,所以內(nèi)外層for循環(huán)的條件變量變更條件都是+=2,最后通過(guò)條件a[i]>a[j]對(duì)元素大小進(jìn)行判斷并交換。
28.元組元組解析:一個(gè)關(guān)系表中的行稱為元組,列稱為屬性。
29.99解析:本題考查函數(shù)的綜合知識(shí)。首先,我們可以利用強(qiáng)制轉(zhuǎn)換類型轉(zhuǎn)換運(yùn)算符,將一個(gè)表達(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
30.5858解析:本題中處理二維數(shù)組元素用了兩重循環(huán),外循環(huán)變量i表示數(shù)組的行,內(nèi)層循環(huán)變量j表示數(shù)組的列。在第二重循環(huán)中首先判斷數(shù)組元素的值是否小于0,若是則處理該行的下一個(gè)元素;若不是則判斷a[¨剛的值是否等于0,若等于0則退出內(nèi)層循環(huán)開(kāi)始處理下一行;其他情況下,把a(bǔ)[i][j]的值加到變量s中。所以本程序段的功能是把每行值為0的元素前面的所有大于0的元素值加到變量s中。
31.加工加工解析:數(shù)據(jù)流圖是從數(shù)據(jù)傳遞和加工的角度,來(lái)刻畫(huà)數(shù)據(jù)流從輸入到輸出的移動(dòng)變換過(guò)程。其中的每一個(gè)加工對(duì)應(yīng)一個(gè)處理模塊。
32.1111解析:程序中結(jié)構(gòu)體數(shù)組data首地址(即&data[0])賦值給結(jié)構(gòu)體指針變量p,++(P->x)表示先將p所指向的結(jié)構(gòu)體變量的成員x值加1,然后將此x(即data[0].x)輸出。
33.strlen(str)-1strlen(str)-1解析:程序中的for循環(huán)就是用來(lái)完成串反序的,所以應(yīng)該對(duì)循環(huán)的條件進(jìn)行初始化,所以在[18]應(yīng)該填入strlen(str)-1。注意,在串反序的時(shí)候,不應(yīng)該把串結(jié)束符‘\\0’也反序。
34.邊界值分析法邊界值分析法解析:黑箱測(cè)試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測(cè)試用例。常用的黑箱測(cè)試有等價(jià)類劃分、邊界值分析法和錯(cuò)誤推測(cè)法3種。
35.7
36.intz;sub(t1t2);
37.149161,4,9,16,解析:分析程序執(zhí)行過(guò)程,第1次循環(huán),k=1時(shí),此時(shí)s(1)=1*1=1,然后k的值加1;第2次循環(huán),k=2時(shí),s(2)=2*2=4,然后k的值加1;第3次循環(huán),k=3時(shí),s(3)=3*3=9,然后k的值加1;第4次循環(huán),k=4時(shí),s(4)=4*4=16,然后k的值加1;當(dāng)k=5時(shí),條件不滿足,退出循環(huán)。
38.00解析:本題中的for循環(huán)共執(zhí)行了6次,每執(zhí)行一次將相應(yīng)i的值相乘,最后當(dāng)i=-1時(shí)停止循環(huán).該for循環(huán)執(zhí)行完后t的值為5*4*3*2*1*0=0,故最后輸出I的值為0。
39.33解析:本題考查do…while語(yǔ)句形式:
do循環(huán)體
while表達(dá)式
首先執(zhí)行循環(huán)體語(yǔ)句,然后檢測(cè)循環(huán)控制條件表達(dá)式的值,若為真,則重復(fù)執(zhí)行循環(huán)體語(yǔ)句,否則退出循環(huán)。第1次循環(huán):b+=2,b=2,a-=2+b,a=11;第2次循環(huán):b=4,a=5;第3次循環(huán):b=6,a=-3,此時(shí)再判斷循環(huán)條件不滿足,退出循環(huán)。
40.99解析:考查ifelse語(yǔ)句,n==4不滿足條件,所以fun5(4)=4+fun5(3),n==3也不滿足條件,fun5(3)=3+funS(2),n==2滿足條件fun5(2)=2,故x=4+3+2=9。
41.C
42.B解析:數(shù)據(jù)庫(kù)產(chǎn)生的背景就是計(jì)算機(jī)的應(yīng)用范圍越來(lái)越廣泛,數(shù)據(jù)量急劇增加,對(duì)數(shù)據(jù)共享的要求越來(lái)越高。共享的含義是多個(gè)用戶、多種語(yǔ)言、多個(gè)應(yīng)用程序相互覆蓋的使用一些公用的數(shù)據(jù)集合。在這樣的背景下,為了滿足多用戶、多應(yīng)用共,享數(shù)據(jù)的要求,就出現(xiàn)了數(shù)據(jù)庫(kù)技術(shù),以便對(duì)數(shù)據(jù)庫(kù)進(jìn)行管理。因此,數(shù)據(jù)庫(kù)技術(shù)的根本目標(biāo)就是解決數(shù)據(jù)的共享問(wèn)題。故選項(xiàng)B正確。
43.A解析:本題首先定義兩個(gè)字符型指針變量p和q,通過(guò)malloc()函數(shù)申請(qǐng)20個(gè)字符的存儲(chǔ)空間,并把它的首地址賦給p,再把p的值賦給小p和q指向同一個(gè)存儲(chǔ)區(qū)。在scanf()語(yǔ)句中讀取字符串到p和q指向的字符串,先把a(bǔ)bc讀取到p指向的存儲(chǔ)區(qū)中,第一個(gè)空格是結(jié)束標(biāo)記,第二個(gè)空格是分隔符,再把def存放到q指向的存儲(chǔ)區(qū),把原先的內(nèi)容覆蓋。所以p和q指向的存儲(chǔ)區(qū)內(nèi)容是def,故最后輸出的def,def。4個(gè)選項(xiàng)中A正確。
44.A解析:封裝性、繼承性、多態(tài)性是面向?qū)ο蟮娜筇攸c(diǎn)。
45.A解析:return語(yǔ)句主要用于返回函數(shù)的值。在一個(gè)自定義函數(shù)中,可以根據(jù)不同的情況設(shè)置多條return語(yǔ)句返回函數(shù)的值,也可以不包含return語(yǔ)句。
46.A解析:a就是數(shù)組a的首地址,而a+x是數(shù)組中第x個(gè)元素的地址,所以在四個(gè)選項(xiàng)中,選項(xiàng)B和C只能輸入—個(gè)數(shù)據(jù),選項(xiàng)D不能給a[0]輸入數(shù)據(jù),只有A可以完成給數(shù)組所有的元素輸入數(shù)據(jù)的任務(wù)。
47.C解析:考查函數(shù)的調(diào)用。函數(shù)調(diào)用的一般形式為:
函數(shù)名(實(shí)參列表)
首先調(diào)用函數(shù)func1(0),輸出st[0]=h。i值變?yōu)?,并調(diào)用函數(shù)func2(2),輸出st[2]=l。i值此時(shí)變?yōu)?,又調(diào)用函數(shù)func1(4),輸出st[4]=0。此時(shí)i值大于等于3,執(zhí)行完畢,因此,輸出結(jié)果為hlo。函數(shù)調(diào)用的一般格式以及函數(shù)的返回值。
48.C
49.C解析:深度為k且有2k-1個(gè)節(jié)點(diǎn)的二叉樹(shù),稱為滿二叉樹(shù)。
50.B解析:本題考核的知識(shí)點(diǎn)是自增運(yùn)算符和自減運(yùn)算符的使用.程序中i的值用八進(jìn)制表示(十進(jìn)制為8),++i是在變量使用前自身先加1,而j--是在變量使用后自身減1。所以,4個(gè)選項(xiàng)中B符合題意。
51.C解析:賦值運(yùn)算符的左邊只能是變量,不能是表達(dá)式,選項(xiàng)A)錯(cuò)誤;由于“%”兩邊表達(dá)式值的類型必須為整型,所以選項(xiàng)B)錯(cuò)誤;題目要求的是正確的表達(dá)式,而表達(dá)式后面不能有“;”,選項(xiàng)D)錯(cuò)誤。
52.D解析:本題考查printf函數(shù)的格式?!?8x”表示以十六進(jìn)制無(wú)符號(hào)形式輸出整掣數(shù)據(jù)?!?”表示指定輸出數(shù)據(jù)的寬度為8位。
53.A解析:條件表達(dá)式的一般形式為:表達(dá)式1?表達(dá)式2:表達(dá)式3;先求解表達(dá)式1,若為真則求解表達(dá)式2;若表達(dá)式1的值為假,則求解表達(dá)式3。本題中先判斷i==j,不等,執(zhí)行j=7;然后執(zhí)行x=7。故本題為A。
54.D解析:首先定義了一個(gè)指向一維數(shù)組b的指針p,一個(gè)指向指針p的指針變量q,輸出*(p++)是先輸出*p即b[0]的值,再將指針p指向數(shù)組的下一個(gè)元素b[1],輸出**q是輸出指針p所指單元的內(nèi)容,即b[1]的值。
55.B解析:本題考核的知識(shí)點(diǎn)是函數(shù)gets()的應(yīng)用。函數(shù)gets()的調(diào)用形式為gets(str_adr);str_adr是存放字符串的起始地址??梢允亲址麛?shù)組名、字符指針或字符數(shù)組元素的地址。gets函數(shù)用來(lái)從終端鍵盤讀入字符串(包括空格符),直到讀入一個(gè)換行符為止。換行符讀入后,不作為字符串的內(nèi)容。本題中定義一個(gè)長(zhǎng)度為10的字符數(shù)組,和一個(gè)指針變量b,并且通過(guò)賦值讓它指向數(shù)組a;選項(xiàng)A。選項(xiàng)B。選項(xiàng)C和選項(xiàng)D中只有選項(xiàng)B中g(shù)ets函數(shù)的參數(shù)a[0]不能表示數(shù)組a的首地址,故選項(xiàng)B不正確。所以,4個(gè)選項(xiàng)中選項(xiàng)B符合題意。
56.C解析:fprintf函數(shù)工作時(shí),多個(gè)數(shù)據(jù)間不會(huì)自動(dòng)加分隔符,選項(xiàng)A錯(cuò)誤;浮點(diǎn)數(shù)的輸出格式是“%5.of”表明其小數(shù)部分輸出0位,即沒(méi)有輸出,所以選項(xiàng)B也是錯(cuò)誤的。
57.C解析:本題的宏定義是合法的,宏定義展開(kāi)為3*(3+((A+1)*a))=3*(3+((7+1)*3))=81。
58.B解析:本題考查通過(guò)scanf函數(shù)輸入數(shù)據(jù)時(shí)的格式控制問(wèn)題。變量j的格式控制為“%2d”,即只接收輸入數(shù)據(jù)的前兩位,從第三位開(kāi)始直到空格之間的輸入都會(huì)被保存到變量y中,因?yàn)閥為浮點(diǎn)型數(shù)據(jù),所以輸出結(jié)果為選項(xiàng)B)。
59.C解析:func(b)調(diào)用函數(shù)func并將實(shí)參傳遞給形參x,x的值為2。a+=x=2+2=4,返回值為4。func(c)調(diào)用函數(shù)func并將實(shí)參傳遞給形參x,x的值為4。因?yàn)閍被定義為靜態(tài)的整型變量,當(dāng)?shù)谝淮握{(diào)用函數(shù)func返回后a存儲(chǔ)
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度校園足球場(chǎng)草坪鋪設(shè)與青少年體育發(fā)展合同2篇
- 2025年校園監(jiān)控設(shè)備校園特殊時(shí)段監(jiān)控服務(wù)合同3篇
- 2025年水庫(kù)漁業(yè)資源承包合作協(xié)議范本3篇
- 2025年度二零二五版跨平臺(tái)媒體內(nèi)容合作協(xié)議范本4篇
- 二零二五年度人工智能研發(fā)與系統(tǒng)集成合同4篇
- 二零二五年度高空作業(yè)安全員資質(zhì)認(rèn)證及服務(wù)合同2篇
- 2025年行業(yè)領(lǐng)先銷售合同流程圖模板及實(shí)施手冊(cè)2篇
- 二零二五年度港口碼頭環(huán)保設(shè)施投資合作協(xié)議4篇
- 二零二五年跨境電商貨物買賣物流時(shí)效與成本優(yōu)化協(xié)議
- 2025年度大型活動(dòng)組織與管理服務(wù)合同范本4篇
- 工業(yè)自動(dòng)化設(shè)備維護(hù)保養(yǎng)指南
- 2024人教新版七年級(jí)上冊(cè)英語(yǔ)單詞英譯漢默寫表
- 《向心力》參考課件4
- 2024至2030年中國(guó)膨潤(rùn)土行業(yè)投資戰(zhàn)略分析及發(fā)展前景研究報(bào)告
- 2024年深圳中考數(shù)學(xué)真題及答案
- 土方轉(zhuǎn)運(yùn)合同協(xié)議書(shū)
- Module 3 Unit 1 Point to the door(教學(xué)設(shè)計(jì))-2024-2025學(xué)年外研版(三起)英語(yǔ)三年級(jí)上冊(cè)
- 智能交通信號(hào)燈安裝合同樣本
- 安全生產(chǎn)法律法規(guī)清單(2024年5月版)
- 江蘇省連云港市2023-2024學(xué)年八年級(jí)下學(xué)期期末道德與法治試卷(含答案解析)
- 2024年大學(xué)試題(宗教學(xué))-佛教文化筆試考試歷年高頻考點(diǎn)試題摘選含答案
評(píng)論
0/150
提交評(píng)論