版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2021年內(nèi)蒙古自治區(qū)呼和浩特市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.數(shù)組A中,每個(gè)元素的長度為3個(gè)字節(jié),行下標(biāo)i從1到8,列下標(biāo)j從1到10,從首地址SA開始連續(xù)存放的存儲(chǔ)器內(nèi),該數(shù)組按行存放,元素A[8][5]的起始地址為()。
A.SA+141B.SA+144C.SA+222D.SA+225
2.如果最常用的操作是取第i個(gè)結(jié)點(diǎn)及其前驅(qū),最節(jié)省時(shí)間的存儲(chǔ)方式是()。
A.單鏈表B.雙向鏈表C.單循環(huán)鏈表D.順序表
3.有下列程序段:intn,t=1,S=0;scanf("%d",&n);do{s=s+t;t=t-2;while(t!=n);為使此程序段不陷入循環(huán),從鍵盤輸入的數(shù)據(jù)應(yīng)該是()。A.任意正奇數(shù)B.任意負(fù)偶數(shù)C.任意正偶數(shù)D.任意負(fù)奇數(shù)
4.
5.交換兩個(gè)變量的值,不允許用臨時(shí)變量,應(yīng)該使用下列()位運(yùn)算符。
A.&B.^C.‖D.~
6.有下面程序段#include"stdio.h"#include"string.h"main(){chara[3][20]={{"china"};{"isa"},{bigcountry!"}};chark[100]={0},*p=k;inti;for(j=0;j<3;i++){p=strcat(p,a[i]);}i=strlen(p);printf("%d\n",i);}則程序段的輸出結(jié)果是
A.18B.19C.20D.21
7.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
8.下列關(guān)于宏的敘述中正確的是()。
A.宏替換沒有數(shù)據(jù)類型限制
B.宏定義必須位于源程序中所有語句之前
C.宏名必須用大寫字母表示
D.宏調(diào)用比函數(shù)調(diào)用耗費(fèi)時(shí)間
9.數(shù)字字符0的ASCII值為48,運(yùn)行下列程序的輸出結(jié)果是()。main(){chara='1',b='2';printf("%c,",b++);printf("%d\n",b-A);}
A.3,2B.50,2C.2,2D.2,50
10.有以下程序:structst{intx;int*y;}*pt;inta[]={1,2},b[]={3,4};structstc[2]={10,a,20,b};pt=c;以下選項(xiàng)中表達(dá)式值為11的是()。
A.++p->xB.pt->xC.*pt->yD.(pt++)->x
11.設(shè)有定義:
inta=1,b=2,C=3;
以下語句中執(zhí)行效果與其他三個(gè)不同的是()。
A.if(a>B.C=a,a=b,b=C;
B.if(a>B.{C=a,a=b,b=C;}
C.if(a>B.C=a;a=b;b=c;
D.if(a>B.{C=a;a=b;b=c;}
12.在下面的二維數(shù)組定義中,正確的是()。
A.inta[5][];
B.inta[][5];
C.inta[][3]={{1,3,5},{2}};
D.inta[](10);
13.有以下程序:#include<stdio.h>#defineSUB(a)(a)-(a)main(){inta=2,b=3,c=5,d;d=SUB(a+b)*c;printf(“%d\n”,d);}程序的運(yùn)行結(jié)果是()。
A.0B.-12C.-20D.10
14.有以下程序
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
15.一個(gè)棧的初始狀態(tài)為空?,F(xiàn)將元素1、2、3、4、5、A、B、C、D、E依次入棧,然后再依次出棧,則元素出棱的順序是()。A.A.12345ABCDEB.EDCBA54321C.ABCDEl2345D.54321EDCBA
16.堆的形狀是一棵_______。
A.二叉排序樹B.滿二叉樹C.完全二叉樹D.平衡二叉樹
17.設(shè)有宏定義“#defineIsDIV(k,n)((k%n==1)?1:0)”,且變量m已正確定義并賦值,則宏調(diào)用“IsDIV(m,5)&&IsDIV(m,7)”為真時(shí)所要表達(dá)的是()。
A.判斷m是否能被5和7整除
B.判斷m被5和7整除是否都余1
C.判斷m被5或者7整除是否余1
D.判斷m是否能被5或者7整除
18.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.357B.753C.369D.751
19.有以下程序:#include<stdio.h>#include<string.h>main(){chara[]=“THIS\0”,*b=“OK\0\0”;printf(“%d,%d,%d,%d”,strlen(a),sizeof(a),strlen(b),sizeof(b));}程序運(yùn)行后的輸出結(jié)果是()。
A.4,6,2,4B.4,4,4,1C.6,5,2,1D.6,4,2,4
20.輸出語句“printf(“%d\n”,11+011);”的輸出結(jié)果是()。
A.20B.22C.022D.021
二、2.填空題(20題)21.在面向?qū)ο蟮姆椒ㄖ?,______描述的是具有相似屬性與操作的一組對(duì)象。
22.數(shù)據(jù)模型按不同的應(yīng)用層次分為三種類型,它們是______數(shù)據(jù)模型、邏輯數(shù)據(jù)模型和物理數(shù)據(jù)模型。
23.C語言中用______表示邏輯值為“真”,用數(shù)字“0”表示邏輯值為“假”。
24.以下程序用業(yè)統(tǒng)計(jì)文件十字符個(gè)數(shù)。請(qǐng)?zhí)羁铡?/p>
#include"stdio.h"
main()
{FTLE*fp;longnum=OL;
if((fp=fopen("fname.dat","r"))==NUlL)
{pirntf("Openerror\n");exit(0);}
while()
{fgetc(fp);num++;}
printf("num=%1d\n",num-1);
fclose(fp);
}
25.有以下程序:
intsub(intn){return(n/10+n%10);}
main()
{intx,y;
scanf("%d",&x);
y=sub(sub(sub(x)));
printf("%d\n",y);
}
若運(yùn)行時(shí)輸入:1234<回車>,程序的輸出結(jié)果是【】。
26.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和______三種。
27.下列程序的運(yùn)行結(jié)果是【】。
main()
{unionEXAMPLE
{struct
{intx;inty;}in;
inta;
intb;
}e:
e.a=1;e.b=2;
e.in.x=e.a*e.b;
e.in.y=e.a+e.b;
printf("%d,%d\n",e.in.x,e.in.y);
}
28.以下程序的功能是將字符串s中所有小寫字母'a'刪去,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{chars[]="absuWWUDJFKFLaaakdK";
inti,j;
for(i=j=0;s[i]!='\0';i++)
if()
s[j++]=s[i];
s[j]='\0';
printf("%s",s);
}
29.在面向?qū)ο蟮某绦蛟O(shè)計(jì)中,類描述的是具有相似性質(zhì)的一組【】。
30.設(shè)有下列宏定義:#defineA2
#defineBA+3
則執(zhí)行賦值語句:t=b*2;t為血型變量后的值是______。
31.下面函數(shù)要求計(jì)算兩個(gè)整數(shù)x,y之和,并通過形參返回該值,請(qǐng)?zhí)羁铡?/p>
add(intx,inty,【】z)
{【】=x+y;}
32.若有定義語句:inta=5;,則表達(dá)式:a++的值是【】。
33.常用的黑箱測試有等價(jià)類劃分法、【】和錯(cuò)誤推測法3種。
34.注釋說明了程序的功能,它分為【】注釋和功能性注釋。
35.表示""整數(shù)x的絕對(duì)值大于5""時(shí)值為""真""的C語言表達(dá)式是【】。
36.測試的目的是暴露錯(cuò)誤,評(píng)價(jià)程序的可靠性;而______的目的是發(fā)現(xiàn)錯(cuò)誤的位置并改正錯(cuò)誤。
37.下列程序的輸出結(jié)果是【】。
voidfun(int*n)
{
while((*n)--);
printf("%d",++(*n));
}
main()
{inta=100;
fun(&a);
}
38.數(shù)據(jù)流圖有兩種典型的結(jié)構(gòu)形式,它們分別是變換型和【】。
39.在E-R圖中,矩形表示【】。
40.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【】3種。
三、1.選擇題(20題)41.已有定義int(*p)();,指針p可以______。
A.代表函數(shù)的返回值B.指向函數(shù)的入口地址C.代表函數(shù)的類型D.代表函數(shù)返回值的類型
42.以下程序段的輸出結(jié)果是()。inta=1234;printf("%2d\n",a);
A.12B.34C.1234D.提示出錯(cuò),無結(jié)果
43.有以下函數(shù)定義:voidfun(intn,doublex){......}若以下選項(xiàng)中的變量都已正確定義并賦值,則對(duì)函數(shù)fun正確調(diào)用語句是______。
A.fun(inty,doublem);
B.k=fun(10,12.5);
C.fun(x,n);
D.voidfun(n,x);
44.若有下列定義(設(shè)int類型變量占2個(gè)字節(jié)):
inti=8,j=9;
則下列語句:
printf("i=%u,j%x\n",i,j);
輸出的結(jié)果是()。
A.i=8,j=9B.8.9C.89D.i=8,j=8
45.以下定義語句中正確的是
A.inta=b=0;
B.charA=65+1,b='b';
C.noata=1,*b=&a,*c=&b;
D.doublea=0.0;b=1.1;
46.fgetc函數(shù)的作用是從指定文件讀入—個(gè)字符,該文件的打開方式必須是______。
A.只讀B.追加C.讀或讀寫D.以上均正確
47.執(zhí)行以下程序后,y的值是()main(){inta[]={2,4,6,8,10);inty=1,x,*p;p=&a[1];for(x=0;x<3;x++)y+=*(p+x);printf("%d\n",y);}
A.17B.18C.19D.20
48.有以下程序:#include<stdio.h>intfun(int*k){intb=0;b=*k+b:return(B);}main(){inta[10]={1,2,3,4,5,6,7,8},i;for(i=2;i<4;i++){printf("%d",fun(&a[i]));}printf("\n");}程序運(yùn)行后的輸出結(jié)果是()。
A.1012B.810C.34D.1028
49.下列各數(shù)據(jù)類型不屬于構(gòu)造類型的是()。
A.枚舉型B.共用型C.結(jié)構(gòu)型D.數(shù)組型
50.下列SQL語句中,用于修改表結(jié)構(gòu)的是()。A.A.ALTERB.CREATEC.UPDATED.INSERT
51.下列司用于C語言用戶標(biāo)識(shí)符的—組是______。
A.voiddefineWORD
B.a3_b3_123Car
C.For-abcIFCase
D.2aDOsizeof
52.以下程序的運(yùn)行結(jié)果是
intk=0;
voidfun(intm)
{m+=k;k+=m;printf("m=%dk=%d",m,k++);}
main()
{inti=4;
fun(i++);
printf("i=%dk=%d\n",i,k);
}
A.m=4k=5i=5k=5
B.m=4k=4i=5k=5
C.m=4k=4i=4k=5
D.m=4k=5i=4k=5
53.數(shù)據(jù)庫設(shè)計(jì)的4個(gè)階段是:需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和()。
A.編碼設(shè)計(jì)B.測試階段C.運(yùn)行階段D.物理設(shè)計(jì)
54.(49)A.*sB.sC.*s++D.(*s)++
55.可在C程序中用作用戶標(biāo)識(shí)符的一組標(biāo)識(shí)符是A.and2007
B.Date_y-m-d
C.HiDr.Tom
D.caseBigl
56.若變量a,i已正確定義,且i已正確賦值,下面合法的語句是()。
A.a==1B.++i;C.a=a++=5;D.a=int(i);
57.C語言中下列敘述正確的是_______。
A.不能使用do...while語句構(gòu)成的循環(huán)
B.do...while語句構(gòu)成的循環(huán),必須用break語句才能退出
C.do...while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為非零時(shí)結(jié)束循環(huán)
D.do...while語句構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為零時(shí)結(jié)束循環(huán)
58.字符串"\\"ABCDEF\"\\”的長度是()。
A.11B.10C.5D.3
59.請(qǐng)讀程序:#include<stdio.h>func(inta,intb){intc;c=a+b;returnc;}main(){intx=6,y=7,z=8,r,r=func((x-,y++,x+y),z-);printf("%d\n",r);}上面程序的輸出結(jié)果是_______。
A.11B.20C.21D.31
60.設(shè)有下列二叉樹:對(duì)此二叉樹前序遍歷的結(jié)果為()
A.ZBTYCPXAB.ATBZXCYPC.ZBTACYXPD.ATBZXCPY
四、選擇題(20題)61.
62.
下列程序的輸出結(jié)果是()。
main
{inta=6,b=3,C;
if(a<b)
{c=a*b;printf("%d%d,%d\n",b,a,c);)
else
{c=b/a;printf("%d,%d,%d\n",b,a,c);)
}
A.3,6,18B.3,6,2C.6,3,18D.6,3,2
63.有以下程序:
則以下函數(shù)調(diào)用語句錯(cuò)誤的是()。
A.k:f(a,B.;B.k:add(a,B.;C.k=(*f)(a,B.;D.k=*(a,B.;
64.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
65.下列數(shù)據(jù)結(jié)構(gòu)中,屬于非線性結(jié)構(gòu)的是A.循環(huán)隊(duì)列B.帶鏈隊(duì)列C.二叉樹D.帶鏈棧
66.若有以下定義和語句:
chars[10]="abcd!",*s2="\nl23\\";
Drintf("%d%d\n",strlen(sl),strlen(s2));
則輸出結(jié)果是()。
A.55B.105C.107D.58
67.若二維數(shù)組a有m列,則在a[i][j]前的元素個(gè)數(shù)為()。
A.i*m+j-1B.i*m+jC.J*m+iD.i*m+j+1
68.結(jié)構(gòu)化程序設(shè)計(jì)所規(guī)定的三種基本控制結(jié)構(gòu)是()。
A.for、while、switchB.輸入、輸出、處理C.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)D.主程序、子程序、函數(shù)
69.
70.下列可用于C語言用戶標(biāo)識(shí)符的一組是
A.void,define,WORDB.a(chǎn)3_b3,_123,Car
C.For,-abc,CaseD.2a,DO,sizeof
71.軟件的()設(shè)計(jì)又稱總體結(jié)構(gòu)設(shè)計(jì),其主要任務(wù)是建立軟件系統(tǒng)的總體結(jié)構(gòu)。
A.概要B.抽象C.邏輯D.規(guī)劃
72.以下程序運(yùn)行后的輸出結(jié)果是()。
A.1B.2C.4D.8
73.有以下程序:main{inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<=3;j++){if(j=0;j<=3;j++)x++;}x++;}printf("x=%d\n",x);}程序執(zhí)行后的輸出結(jié)果是()。A.x=4B.x=8C.x=6D.x=12
74.
75.下列數(shù)據(jù)結(jié)構(gòu)中,能用二分法進(jìn)行查找的是()。
A.順序存儲(chǔ)的有序線性表B.結(jié)性鏈表C.二叉鏈表D.有序線性鏈表
76.若fp是指向某文件的指針,且尚未讀到文件末尾,則函數(shù)feof(fp)的返回值是()。
A.EOFB.-lC.非零值D.0
77.fscanf函數(shù)的正確調(diào)用形式是
A.fscanf(文件指針,格式字符串,輸出表列);B.fscanf(格式字符串,輸出表列,文件指針);
C.fscanf(格式字符串,文件指針,輸出表列);D.fscanf(文件指針,格式字符串,輸入表列);
78.下列能正確定義且賦初值的語句是()。
A.intn1=n2=1;
B.charC=99;
C.floatf=f+1;
D.doublex=1.2E5.6;
79.
80.下列敘述中錯(cuò)誤的是()。
A.線性表是由n個(gè)元素組成的一個(gè)有限序列
B.線性表是一種線性結(jié)構(gòu)
C.線性表的所有結(jié)點(diǎn)有且僅有一個(gè)前件和后件
D.線性表可以是空表
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc()的作用是:將字符串tt中的大寫字母都改為對(duì)應(yīng)的小寫字母,其他字符不變。
例如,若輸入“I,anl,A,Student”,則輸出“i,am,a,student”。
請(qǐng)修改程序中的錯(cuò)誤。使它能得到正確結(jié)果。
注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫函數(shù)proc(),其功能是:計(jì)算并輸出下列多項(xiàng)式值。S=(1-1/2)+(1/3-1/4)+…+(1/(2n-1)-1/2n)例如,若主函數(shù)從鍵盤給n輸入20后,則輸出為s=0.680803。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語句。試題程序:
參考答案
1.C
2.D
3.D本題主要考查do—while循環(huán),因?yàn)樽兞縯的初始值等于1,經(jīng)過第一次do-while循環(huán)后,執(zhí)行t=t-1這條語句一次,所以變量t的值為-1,判斷關(guān)系表達(dá)式t!=n是否成立,如果關(guān)系表達(dá)式成立,則執(zhí)行第二次循環(huán),如果關(guān)系表達(dá)式不成立,退出循環(huán)。由此可見,只要輸入變量n的值為負(fù)奇數(shù),則一定會(huì)使t==n成立,故退出do-while循環(huán)。
4.B
5.B按邏輯位運(yùn)算特點(diǎn):①用按位與運(yùn)算將特定位清為0或保留特定位;②用按位或運(yùn)算將特定的位置為1;③用按位異或運(yùn)算將某個(gè)變量的特定位翻轉(zhuǎn)或交換兩個(gè)變量的值。
6.B解析:字符串連接函數(shù)strcat的調(diào)用形式如下:strcat(s1,s2)。此函數(shù)用來把s2所指字符串的內(nèi)容連接到s1所指的字符串后面,并自動(dòng)覆蓋s1串末尾的尾標(biāo),函數(shù)返回s1的地址值。
7.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。
8.A宏定義寫在函數(shù)的花括號(hào)外,作用域?yàn)槠浜蟮某绦?,通常在文件的最開頭,所以B選項(xiàng)錯(cuò)|誤。宏名一般用大寫字母,但不是必須用大寫字母,所以C選項(xiàng)錯(cuò)誤。宏展開不占運(yùn)行時(shí)間,只占編譯時(shí)間,函數(shù)調(diào)用占運(yùn)行時(shí)間(分配內(nèi)存、保留現(xiàn)場、值傳遞、返回值),所以D選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。
9.C解析:自增運(yùn)算符“++”,出現(xiàn)在變量之前,表示先使變量的值加1,再使用變量的值進(jìn)行運(yùn)算;出現(xiàn)在變量之后,表示先使用變量的值進(jìn)行運(yùn)算,冉使變量的值加1。例如題中的“b++”,題中第一條語句先輸出字符b的值,此時(shí)變量b='2',因此輸出值為2;再使b的值加1,b='3',因此第二條語句輸出:b-a='3'-'1'=2。
10.A題目中定義了一個(gè)結(jié)構(gòu)體數(shù)組c并初始化,指針pt指向c的第1個(gè)元素。則“++pt->x”為11,“pt->x”為10,“*pt->y”為1,“(pt++)->x”為20。故本題答案為A選項(xiàng)。
11.C由于a小于b,所以所有選項(xiàng)中的條件都為假,c選項(xiàng)中實(shí)際執(zhí)行了a=b;b=c;兩個(gè)操作。而A、B、D選項(xiàng)由于條件不成立,所以什么也沒有做,所以選擇c選項(xiàng)。
12.C
13.C宏定義只是做簡單的替換,本題中SUB(a+b)*c=(a+b)-(a+b)*c=-20。故本題答案為C選項(xiàng)。
14.C(33)C)解析:題中變量w的定義為double型,函數(shù)fun2()的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運(yùn)算,整型數(shù)據(jù)被轉(zhuǎn)換為實(shí)型數(shù)據(jù)。
15.B棧是先進(jìn)后出的原則組織數(shù)據(jù),所以人棧最早的最后出棧,所以選擇B。
16.C
17.B邏輯與運(yùn)算兩邊運(yùn)算對(duì)象的值都為真時(shí),結(jié)果才為真。所以需要m能被5和7整除都余1。故本題答案為B選項(xiàng)。
18.A本題考查的是for循環(huán)與二維數(shù)組的定義和引用。當(dāng)定義二維數(shù)組的初始化列表只使用一重花括號(hào)時(shí),其中的每個(gè)值依次代表從第l行的第1個(gè)元素起,直到第l行滿,接著代表第2行、第3行……的每一個(gè)元素。程序中的循環(huán)將循環(huán)3次,循環(huán)變量i的值分別是0、1、2,所以3次循環(huán)中輸出的數(shù)分別是:t[2一O][D]、t[2-1][1]、t[2~2]121,即t[2][0]、t[1][l]、t[0][2],所以最后輸出的結(jié)果為357。故應(yīng)該選擇A)。
19.Astrlen函數(shù)求得參數(shù)中字符串的長度(不包括字符串結(jié)束標(biāo)識(shí)“\\0”)sizeof函數(shù)求得特定類型參數(shù)所占存儲(chǔ)空間的長度。題干中a是數(shù)組名,由于定義時(shí)省略維數(shù)大小,因此數(shù)組大小是初始化的字符個(gè)數(shù),即a的數(shù)組大小為6。綜上,strlen(a)只計(jì)算字符“T”“H”“I”“S”,結(jié)果為4;sizeof(a)求得數(shù)組a的大小,結(jié)果為6;指針b指向一個(gè)字符串“OK\\0\\0”,所以strlen(b)只計(jì)算字符“O”“K”,結(jié)果為2;sizeof(b)求得指針占用存儲(chǔ)空間的大小,結(jié)果為4。故本題答案為A選項(xiàng)。
20.A“printf(“%d\\n”,11+011);”中,“11”為十進(jìn)制數(shù),“011”為八進(jìn)制數(shù),%d表示以十進(jìn)制格式輸出。因此,先將八進(jìn)制數(shù)轉(zhuǎn)化為十進(jìn)制數(shù),即(011)8=81×1+1×80=(9)10,相當(dāng)于“printf(“%d\\n”,11+9)”,輸出結(jié)果為20。故本題答案為A選項(xiàng)。
21.類類解析:在面向?qū)ο蟮姆椒ㄖ?,把具有相同屬性和方法的?duì)象稱為類,類是對(duì)象的抽象,對(duì)象是類的實(shí)例。
22.概念概念
23.非0非0解析:邏輯運(yùn)算中,非0表示邏輯“真”,用。表示邏輯“假”。
24.!feof(fp)!feof(fp)解析:本題中統(tǒng)計(jì)文件中字符個(gè)數(shù)的算法可描述如下:首先判斷文件位置指針是否指向了文件尾,如果不是則讀出一個(gè)字符,同時(shí)字符的個(gè)數(shù)加1,再判斷文件位置指針是否位于文件尾,如此循環(huán),直到文件位置指針位于文件尾為止。本題首先以讀文件的方式打開了文件“fname.daf”,如果打開成功則把返回的文件型指針賦值給fp,然后通過循環(huán)求文件中的字符數(shù)。首先判斷文件位置指針是否位于文件尾,如果不是則循環(huán)讀取字符,每次字符數(shù)加1。所以下劃處應(yīng)填循環(huán)條件,文件位置指針不是指向文件尾,即“!feof(fp)”。
25.1010解析:y=sub(sub(sub(x)))=sub(sub(127))=sub(19)=10。
26.關(guān)系模型關(guān)系模型
27.484,8解析:C語言規(guī)定,共用體中各個(gè)成員變量在內(nèi)存中占用同一段內(nèi)存單元,即e.in.x和e.a、e.b占用同一段內(nèi)存單元,由于e.in.x和e.a、e.b占用的是同、段內(nèi)存單元,所以程序最后的打印結(jié)果為“4,8”。
28.s[i]!='a's[i]!='a'解析:本題是要將字符串s中所有小寫字母'a'刪去,所以if語句的判斷條件應(yīng)該是字符串s中的字符和字符'a'不相同的時(shí)候,就把它仍然存在原來的數(shù)組中,若是和字符'a'相同,就不再保存它。
29.對(duì)象對(duì)象解析:將屬性、操作相似的對(duì)象歸為類,也就是說,類是具有共同屬性、共同方法的對(duì)象的集合。
30.88解析:本題考查帶參數(shù)的宏定義及相關(guān)運(yùn)算。運(yùn)算過程為:t=-B*2=A+3*2=2+3*2=8。
31.int**zint*\r\n*z解析:函數(shù)希望通過形參z帶回結(jié)果,形參z必須是指針類型的。由于返回整型結(jié)果,所以第一處填int*;函數(shù)返回前必須先把結(jié)果通過形參z間接引用傳回,第二處應(yīng)填*z。
32.55解析:a++的含義是在使用a值以后,使a值加1,所以a++的值為5。
33.邊界值分析法邊界值分析法解析:黑箱測試方法完全不考慮程序的內(nèi)部結(jié)構(gòu)和內(nèi)部特征,而只是根據(jù)程序功能導(dǎo)出測試用例。常用的黑箱測試有等價(jià)類劃分、邊界值分析法和錯(cuò)誤推測法3種。
34.序言性序言性解析:注釋一般分為序言性注釋和功能性注釋。
35.x>5||x<-5x<-5或x<-5||x>5x>5||x<-5,x<-5或x<-5||x>5解析:要使整數(shù)x的絕對(duì)值大于5,則x大于5或x小于5,用C語言表示即為:x>5||x<-5或者x<-5||x>5。故本題答案為;x>5||x<-5或者x<-5||x>5。
36.調(diào)試調(diào)試
37.00解析:在函數(shù)fun()中,while((*n)-)是先引用*n的值,再做(*n)--運(yùn)算,所以循環(huán)結(jié)束時(shí)*n的值為0,再做(*n)--運(yùn)算后,*n的值為-1;執(zhí)行++(*n)后,*n的值是0。
38.事務(wù)型事務(wù)型解析:數(shù)據(jù)流圖中有眾多的加工,但必有一個(gè)加工是起核心作用的,即中心加工。由數(shù)據(jù)流圖導(dǎo)出結(jié)構(gòu)圖的關(guān)鍵是找出中心加工。一般來說,中心加工有兩種存在形態(tài),即數(shù)據(jù)流圖的兩種典型結(jié)構(gòu)形式:變換型和事務(wù)型。
39.實(shí)體實(shí)體解析:E-R模型中,有3個(gè)基本的抽象概念:實(shí)體、聯(lián)系和屬性。在E-R圖中,用矩形框表示實(shí)體,菱形框表示聯(lián)系,橢圓形框表示屬性。
40.關(guān)系模型關(guān)系模型解析:數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個(gè)標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。
41.B
42.C解析:在C語言中,對(duì)于不同類型的數(shù)據(jù)用不同的格式字符,其中,“%d”是按整型數(shù)據(jù)的實(shí)際長度輸出,“%md”中,m為指定的輸出字段的寬度,如果數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)以空格,若大于m,則按實(shí)際位數(shù)輸出。注意:格式輸入函數(shù)scanf的使用。
43.C解析:函數(shù)調(diào)用的一般形式為:函數(shù)名(實(shí)參表列);,實(shí)參與形參的個(gè)數(shù)應(yīng)相等,類型應(yīng)一致,在調(diào)用函數(shù)時(shí),不要指定其返回類型,對(duì)于返回類型為void的函數(shù),不能作為賦值表達(dá)式的組成部分,所以選C。
44.A解析:本題考查函數(shù)printf()的格式?!?x”表示以+六進(jìn)制輸出整型數(shù)據(jù);“%u”表示以+進(jìn)制無符號(hào)型輸出整型數(shù)據(jù)。printf函數(shù)中格式說明符之前插入的任何字符都原樣輸出。
45.B解析:本題考查變量的定義方法。如果要一次進(jìn)行多個(gè)變量的定義,則在它們之間要用逗號(hào)隔開,因此選項(xiàng)A)和D)錯(cuò)誤。在選項(xiàng)C)中,變量c是一個(gè)浮點(diǎn)型指針,它只能指向一個(gè)浮點(diǎn)型數(shù)據(jù),不能指向指針變量b,故選項(xiàng)C)錯(cuò)誤。
46.D解析:fgetc函數(shù)是指從指定的文件讀入—個(gè)字符,該文件必須是以讀或讀寫方式打開的。fgetc函數(shù)的調(diào)用形式為:ch=fgetc(fp);。
47.C
48.C
49.A本題考查高級(jí)語言的數(shù)據(jù)類型。其中屬于構(gòu)造類型的主要有結(jié)構(gòu)體類型、聯(lián)合體類型,即共用體類型和數(shù)組類型。
50.A解析:在SQL語句中,凡是創(chuàng)建都用CREATE,刪除都用DROP,改變用ALTER,后面跟類型和名字,附加子句。
51.B解析:C語言規(guī)定標(biāo)識(shí)符只能由字母、數(shù)字和下劃線3種字符組成,且第一個(gè)字符必須為字母或下劃線,所以排除C和D。C語言還規(guī)定標(biāo)識(shí)符不能為C語言的關(guān)鍵字,從而選項(xiàng)A(void是關(guān)鍵字)是錯(cuò)誤的。
52.B解析:由于在main()函數(shù)中,變量i=4,所以就調(diào)用fun(4),則輸出“m=4k=4”。然后變量k增1等于5,變量i增1等于5,所以main()函數(shù)的“printf('i=%dk=%d\\n',i,k);”語句輸出“i=5k=5”。
53.D解析:數(shù)據(jù)庫的生命周期可以分為兩個(gè)階段:一是數(shù)據(jù)庫設(shè)計(jì)階段,二是數(shù)據(jù)庫實(shí)現(xiàn)階段。數(shù)據(jù)庫的設(shè)計(jì)階段又分為4個(gè)子階段,即需求分析、概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì)。因此,本題的正確答案是D。
54.A解析:結(jié)構(gòu)體node的數(shù)據(jù)成員data的類型為char型,而s為傳入的字符串.
55.A解析:在C語言中,合法標(biāo)識(shí)符的命名規(guī)則是:標(biāo)識(shí)符可以由字母、數(shù)字和下畫線3種字符組成,且第一個(gè)字符必須為字母或下畫線。C語言的標(biāo)識(shí)符可以分為關(guān)鍵字、預(yù)定義標(biāo)識(shí)符和用戶標(biāo)識(shí)符。選項(xiàng)B)和C)中的橫線以及點(diǎn)都不合法,選項(xiàng)D)中的case為C語言關(guān)鍵字。
56.B解析:選項(xiàng)A)缺少分號(hào),是一個(gè)表達(dá)式,而不是語句;選項(xiàng)C)包含一個(gè)不合法的運(yùn)算符“++=”;選項(xiàng)D)應(yīng)改為a=(int)i;。
57.D解析:選項(xiàng)A是錯(cuò)誤的,C語言支持do…while語句;選項(xiàng)B是錯(cuò)誤的,do…while構(gòu)成的循環(huán),當(dāng)while語句中的表達(dá)式值為零時(shí)結(jié)束循環(huán),而不是非零;選項(xiàng)C也是錯(cuò)誤的。
58.B解析:本題涉及字符串的兩個(gè)最基本的概念。①字符串的長度是指字符串中字符的個(gè)數(shù),但不包含字符串結(jié)束符;②以反斜線“\\”開頭的特殊字符序列,意思是把反斜線后面的字符序列轉(zhuǎn)換成特定的含義,而不是原來的含義,不包含在字符串長度之內(nèi),“\\”連同后面的字符為一個(gè)長度。
59.C解析:函數(shù)func()的作用是返回兩個(gè)形參的和,第一個(gè)形參是x、y分別自減和自增后的和,其中(x-,y++,x+y)是一個(gè)逗號(hào)表達(dá)式,它的值應(yīng)該等于x+y,所以整個(gè)表達(dá)式(x-,y++,x+y)的值為13,而第二個(gè)形參的值為8(根據(jù)語法規(guī)則,應(yīng)當(dāng)先使用,后自增),所以func()的返回值為13+8=21。
60.B解析:所謂二叉樹的前序遍歷(DLR)是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這3者中,首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹,并且,在遍歷左右子樹時(shí),上述規(guī)則同樣適用,即“根-左-右”。故該二叉樹的前序遍歷結(jié)果為“ATBZXCYP”。對(duì)于本題,若使用后序遍歷和中序遍歷的結(jié)果分別為“ZBTYCPXA”和“TZBACYXP”。
61.B
62.B
\n本題考查if…else語句。如果if條件成立,則執(zhí)行if下面的語句,不成立則執(zhí)行else,判斷條件,發(fā)現(xiàn)a<b不成立,則執(zhí)行else后面的語句,得c=b/a=2。
\n
63.DD選項(xiàng)中+f(a,b)表示調(diào)用后返回一個(gè)指向整型數(shù)據(jù)的地址指針,即該函數(shù)的返回值為指針類型,所以不能將其賦值給整形變量k。
64.A本題考查按位與運(yùn)算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。
65.C根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間的前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類:線性結(jié)構(gòu)和非線性結(jié)構(gòu)。循環(huán)隊(duì)列、帶鏈隊(duì)列和帶鏈棧都是線性結(jié)構(gòu),而二叉樹是非線性結(jié)構(gòu)。
66.A\n\\n和\\\\分別為轉(zhuǎn)義字符,各占據(jù)一個(gè)字符的位置。
\n
67.B解析:二維數(shù)組的元素可以看成是按矩陣形式存放的,總是先存放第一行的元素,再存放第二行的元素。數(shù)組第一維的下標(biāo)是i,說明它前面還有i行,有i*m個(gè)元素,數(shù)組第二維的下標(biāo)是j,說明它前面還有j列,有j個(gè)元素,所以共有i*m+j個(gè)元素。
68.C結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)式順序,選擇,和循環(huán)結(jié)構(gòu)。
69.C
70.B在C語言中,標(biāo)識(shí)符是用來表示變量名、符
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 公司缺少財(cái)務(wù)制度
- 設(shè)計(jì)院內(nèi)控財(cái)務(wù)制度
- 公司如何獨(dú)立財(cái)務(wù)制度
- 西安街道辦事處財(cái)務(wù)制度
- 關(guān)于食品的四個(gè)制度
- 公司制企業(yè)建立職工董事制度
- 養(yǎng)老院老人康復(fù)理療師晉升制度
- 施工現(xiàn)場施工防化學(xué)事故制度
- 幕墻施工方案公司(3篇)
- 校園消防安全管理制度
- GB/T 44828-2024葡萄糖氧化酶活性檢測方法
- 青海省西寧市2023-2024學(xué)年高一上學(xué)期物理期末試卷(含答案)
- 科大訊飛招聘在線測評(píng)題
- 醫(yī)療護(hù)具租賃合同模板
- 兒童性格發(fā)展與個(gè)性獨(dú)立性的培養(yǎng)
- 2024常壓儲(chǔ)罐檢驗(yàn)人員能力評(píng)價(jià)導(dǎo)則
- 物流管理概論王勇1
- 大學(xué)生預(yù)征對(duì)象登記表模板
- 胸外科-胸部創(chuàng)傷
- 2023版設(shè)備管理體系標(biāo)準(zhǔn)
- 劍橋英語PET真題校園版
評(píng)論
0/150
提交評(píng)論