




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年寧夏回族自治區(qū)石嘴山市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.
2.軟件生命周期可分為定義階段、開(kāi)發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計(jì)屬于()。
A.定義階段B.開(kāi)發(fā)階段C.維護(hù)階段D.上述三個(gè)階段
3.下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>voidfun(int*S,int*p){staticintt=3:*p=s[t];t--;}voidmain{inta[]={2,3,4,5),k;intx;for(k=0,k<4,k++){fun(a,&x);printf("%d,",x);}}A.5,4,3,2B.2,3,4,5C.2,2,2,2D.5,5,5,5
4.圖的深度優(yōu)先遍歷類似于二叉樹(shù)的_______。
A.先序遍歷B.中序遍歷C.后序遍歷D.層次遍歷
5.下列敘述中正確的是()。
A.線性鏈表中的各元素在存儲(chǔ)空間中的位置必須是連續(xù)的
B.線性鏈表中的表頭元素一定存儲(chǔ)在其他元素的前面
C.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,但表頭元素一定存儲(chǔ)在其他元素的前面
D.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,且各元素的存儲(chǔ)順序也是任意的
6.有以下程序:#include<string.h>inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t++=a++;}else{inta=7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++)s+=f(i);printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是()。
A.24B.28C.32D.36
7.
8.用不帶頭結(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ì)尾指針都可能要修改
9.下列能正確進(jìn)行字符串賦值的是()。A.B.C.D.
10.設(shè)計(jì)一個(gè)判別表達(dá)式中左、右括號(hào)是否配對(duì)出現(xiàn)的算法,采用()數(shù)據(jù)結(jié)構(gòu)最佳。A.線性表的順序存儲(chǔ)結(jié)構(gòu)B.隊(duì)列C.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)D.棧
11.以下說(shuō)法正確的是()。
A.函數(shù)可以返回另一個(gè)函數(shù)的整個(gè)函數(shù)體
B.函數(shù)返回值只能是基本數(shù)據(jù)類型的數(shù)值或指針
C.函數(shù)返回值可以是一個(gè)指向函數(shù)的指針
D.函數(shù)返回值可以是一個(gè)數(shù)組,同時(shí)返回多個(gè)值
12.設(shè)有定義:intx[2][3];,則以下關(guān)于二維數(shù)組X的敘述錯(cuò)誤的是()。
A.x[0]可看做是由3個(gè)整型元素組成的一維數(shù)組
B.x[0]和x[l]是數(shù)組名,分別代表不同的地址常量
C.數(shù)組X包含6個(gè)元素
D.可以用語(yǔ)句x[o]=0;為數(shù)組所有元素賦初值0
13.
14.設(shè)x、y、z、t均為int型變量,則執(zhí)行以下語(yǔ)句后,t的值是()x=y(tǒng)=z=l;t=++x||++y&&++z;
A.不定值B.2C.1D.0
15.合法的常量是()。A.‘program’B.–e8C.03xD.0xfl
16.下面算法的時(shí)間復(fù)雜度為()A.O(1)B.O(n)C.O(n*n)D.O(n!)
17.與單鏈表相比,雙鏈表的優(yōu)點(diǎn)之一是()。
A.插入、刪除操作更簡(jiǎn)單B.可以進(jìn)行隨機(jī)訪問(wèn)C.可以省略表頭指針或表尾指針D.順序訪問(wèn)相鄰結(jié)點(diǎn)更靈活
18.
19.在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示
A.模塊之間的調(diào)用關(guān)系B.程序的組成成分C.控制程序的執(zhí)行順序D.數(shù)據(jù)的流向
20.若有定義和語(yǔ)句int**pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf("%d,%d\n",*p,**pp);則輸出結(jié)果是()
A.10,10B.10,20C.20,10D.20,20
二、2.填空題(20題)21.深度為5的滿二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為_(kāi)_____。
22.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。
23.面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中涉及的對(duì)象是系統(tǒng)中用來(lái)描述客觀事物的一個(gè)______。
24.下面程序的輸出結(jié)果是【】。
#defineMAX3
inta[MAX];
main()
{fun1();{un2(A);printf("\n");}
funl()
{intk,t=0;
for(k=0;k<MAX;k++,t++)a[k]=t+t;
}
fun2(intb[])
{intk;
for(k=0;k<MAX;k++)printf("%d",*(b+k));
}
25.若從鍵盤輸入58,則以下程序輸出的結(jié)果是______。
main{)
{inta;
scanf("%d",&a);
if(a>50)printf("%d",a);
if(a>40)printf("%d",a);
if(a>30)printf("%d",a);
}
26.若有如下程序:
main()
{intx=4,y=3,x=2,t;
t=x<y<z;
printf("%d\n",t);}
則程序運(yùn)行后的輸出結(jié)果是【】。
27.在E-R圖中,矩形表示【】。
28.strcmp函數(shù)的功能是【】。
29.語(yǔ)句:x++;++x;x=1+x;執(zhí)行后都使變量x中的值增1,請(qǐng)寫出一條同一功能的賦值語(yǔ)句______。
30.下列程序段的輸出結(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");
}
31.下列的for語(yǔ)句的循環(huán)次數(shù)為_(kāi)_____。
for(x=1,y=0;(y!=19)&&(x<7);x++);
32.長(zhǎng)度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【】。
33.下列程序?qū)⒍S數(shù)組a的行和列元素互換后存放到另一個(gè)二維數(shù)組b中。請(qǐng)?zhí)羁铡?/p>
main()
{inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;
for(i=0;i<2;i++)
{for(j=0;j<3;j++)
}
}
34.程序的運(yùn)行結(jié)果為【】。
main()
{intx,y,z;
x=24;
y=024;
z=0x24;
printf("%d,%d,%d\n",x,y,z);
}
35.有下列程序;
#include<stdio.h>
main()
{charc;
while((c=getchar())!=',')putchar(++C);
}
程序運(yùn)行時(shí),如果從鍵盤輸入:A,B,<CR>,則輸出結(jié)果為_(kāi)_____。
36.以下sstrcpy()函數(shù)實(shí)現(xiàn)字符串復(fù)制,即將t所指字符串復(fù)制到s所指向內(nèi)存空間中,形成一個(gè)新的字符串s。請(qǐng)?zhí)羁铡?/p>
voidsstrcpy(char*s,char*t)
{while(*s++=______);}
main()
{charstr1[100],str2[]="abcdefgh";
sstrcpy(str1,str2);
printf("%s\n",str1);
}
37.常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC),也稱程序結(jié)構(gòu)圖。其中,用矩形表示______,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。
38.下列程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{intx=1,y=1,a=1,b=1;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:
a++;b++;break;
}
printf("a=%d,b=%d\n",a,B);
}
39.表達(dá)式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類型為_(kāi)_____。
40.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。
三、1.選擇題(20題)41.以下關(guān)于switch語(yǔ)句和break語(yǔ)句的描述中,正確的是______。
A.在switch語(yǔ)句中必須使用break語(yǔ)句
B.在switch語(yǔ)句中,可以根據(jù)需要使用或不使用break語(yǔ)句
C.break語(yǔ)句只能用于switch語(yǔ)句中
D.break語(yǔ)句是switch語(yǔ)句的一部分
42.有以下程序
intadd(inta,intb){return(a+b);}
main()
{intk,(*f)(),a=5,b=10;
f=add;
…
}
則以下函數(shù)調(diào)用語(yǔ)句錯(cuò)誤的是A.k=(*f)(a,b);B.k=add(a,b);C.k=*f(a,b);D.k=f(a,b);
43.若有如下定義并賦值:charch='a',a;則執(zhí)行語(yǔ)句"printf("%d",a=ch+2.6);”后的輸出結(jié)果是()
A.cB.dC.99D.100
44.有以下程序main(){intx,y,z;x=y=1;z=X++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序運(yùn)行后的輸出結(jié)果是
A.2,3,3B.2,3,2C.2,3,1D.2,2,1
45.若x、y、z、m均為int型變量,則執(zhí)行下面語(yǔ)句后m的值是()m=1;x=2;y=3;m=(m<x)?m:x;m=(m<y)?m:y;m=(m<y)?m:z;
A.1B.2C.3D.4
46.下列程序的輸出結(jié)果是()。main(){inta=1,b=2;printf("%d,%d\n",--a,++b);}
A.1,2B.1,3C.0,2D.0,3
47.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inta[2][3]={{1,2,3},{4,5,6}},(*p)[3],i;p=a;for(i=0;i<3;i++){if(i<2)p[1][i]=p[1][i]-1;elsep[1][i]=1;}printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}
A.8B.7C.12D.9
48.在C語(yǔ)言中,函數(shù)調(diào)用時(shí)()。
A.實(shí)參和形參各占獨(dú)立的存儲(chǔ)單元
B.實(shí)參和形參共用存儲(chǔ)單元
C.由系統(tǒng)自動(dòng)確定實(shí)參和形參是否共用存儲(chǔ)單元
D.由用戶指定實(shí)參和形參是否共用存儲(chǔ)單元
49.下列選項(xiàng)中不會(huì)引起二義性的宏定義是()。
A.#defineS(x)x*x
B.#defineS(x)(x)*(x)
C.#defineS(x)(x*x)
D.#defineS(x)((x)*(x))
50.有下列二叉樹(shù),
對(duì)此二叉樹(shù)前序遍歷的結(jié)果為()。
A.ACFHIBEDGB.ABCDEFGHIC.ABDEGCFHID.ABCDEFHGI
51.因特網(wǎng)(習(xí)慣上稱國(guó)際互聯(lián)網(wǎng))的英文名是()
A.InternetB.IntranetC.NCFCD.ISDN
52.關(guān)系表中的每一橫行稱為一個(gè)()。A.元組B.字段C.屬性D.碼
53.下列程序的輸出結(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.*p=&a;scanf("%1f",p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%1f",*p);
D.p=&a;scanf("%1f",p);
54.數(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
55.下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是A.數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過(guò)程
B.數(shù)據(jù)的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不變
C.關(guān)系中的每一列稱為元組,一個(gè)元組就是一個(gè)字段
D.如果一個(gè)關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個(gè)關(guān)系的關(guān)鍵字,則稱其為本關(guān)系的外關(guān)鍵字
56.下列說(shuō)法不正確的是()。
A.C程序是以函數(shù)為基本單位的,整個(gè)程序由函數(shù)組成
B.C語(yǔ)言程序的一條語(yǔ)句可以寫在不同的行上
C.C程序的注釋行對(duì)程序的運(yùn)行功能不起任何作用,所以注釋應(yīng)該盡可能少寫
D.C程序的每個(gè)語(yǔ)句都以分號(hào)結(jié)束
57.有下列二叉樹(shù),對(duì)此二叉樹(shù)中序遍歷的結(jié)果為()。
A.ABCDEFB.BDAECFC.ABDCEFD.ABCDFE
58.下面程序段的運(yùn)行結(jié)果是char*s="abcde";s+=2;printf("%d",s);
A.cdeB.字符'c'C.字符'c'的地址D.無(wú)確定的輸出結(jié)果
59.下列敘述中正確的是()。
A.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大
B.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小
C.一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小
D.上述三種說(shuō)法都不對(duì)
60.設(shè)有定義:inta=2,b=3,c=4;則以下選項(xiàng)中值為0的表達(dá)式是______。
A.(!a==1)&&(!b==0)
B.(a>b)&&!c||1
C.a&&b
D.a||(b+b)&&(c-a)
四、選擇題(20題)61.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()o
A.24B.720C.120D.6
62.在數(shù)據(jù)庫(kù)管理系統(tǒng)的層次結(jié)構(gòu)中,處于最上層的是()。
A.應(yīng)用層B.語(yǔ)言翻譯處理層C.數(shù)據(jù)存取層D.數(shù)據(jù)存儲(chǔ)層
63.下列選項(xiàng)中屬于面向?qū)ο笤O(shè)計(jì)方法主要特征的是()。A.繼承B.自頂向下C.模塊化D.逐步求精
64.
65.
以下程序的輸出結(jié)果是()。
main
{charch[3][4]={"123","456","78"),*p[3];inti;
for(i=0;i<3;i++)p[i]=ch[i];
for(i=0;i<3;i++)printf("%s",p[i]);}
A.123456780B.123456780C.12345678D.147
66.
下列程序的運(yùn)行結(jié)果是()。
main
{intx=1,y=3,a=0;
while(x++!=(y-=l))
{a+=1;
if(y<x)break;
}
printf("%d,%d,%d\n",x,y,a);
}
A.2,3,2B.2,3,1C.1,3,3D.3,1,2
67.若有定義語(yǔ)句:“intkl一10,k2=20;”,執(zhí)行表達(dá)式(kl=kl>k2)(k2=k2>
k1)后,kl和k2的值分別為()。
A.0和1B.0和20C.10和1D.10和20
68.
69.
以下程序的輸出結(jié)果是()。
main
{charw[][10]={"ABCD","EFGH","IJKL","
MNOP"),K;
for(k=1;k<3;k++)printf("%s\n",w[k]);
A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL
70.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.2,3,1,6,8,7,5,4,10,9,
B.3,4,2,7,9,8,6,5,11,10,
C.2,4,3,9,12,12,11,11,18,9,
D.1,2,3,6,8,7,5,4,10,9,
71.下列敘述中正確的是()。
A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化
B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化
C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化
D.上述三種說(shuō)法都不對(duì)
72.
73.以下選項(xiàng)中正確的語(yǔ)句組是()。
A.char*s;s={f.BOOK!”};
B.char*s;s:”BOOK!”:
C.chars[10];s=”BOOK!”;
D.cbars[];s:”BOOK!n:
74.以下敘述中正確的是()。
A.在C語(yǔ)言程序中,main函數(shù)必須放在其他函數(shù)的最前面
B.每個(gè)后綴為C的C語(yǔ)言源程序都可以單獨(dú)進(jìn)行編譯
C.在C語(yǔ)言程序中,只有main函數(shù)才可單獨(dú)進(jìn)行編譯
D.每個(gè)后綴為.C的C語(yǔ)言源程序都應(yīng)該包含一個(gè)main函數(shù)
75.以下程序的輸出結(jié)果是()。main(){intRum=0;while(num<=2){num++;printf(”%d\n”,num);}}A.1B.1C.1234D.1223
76.
77.耦合性和內(nèi)聚性是對(duì)模塊獨(dú)立性度量的兩個(gè)標(biāo)準(zhǔn)。下列敘述中正確的是()。
A.提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性
B.降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性
C.耦合性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度
D.內(nèi)聚性是指模塊間互相連接的緊密程度
78.
設(shè)有如下定義:
intarr[]={6,7,8,9,10);
int*ptr:
ptr=arr;
*(ptr2)=2;
printf("%d,%d\n",*ptr,*(ptr2)):
則下列程序段的輸出結(jié)果為()。
A.8,10B.6,8C.7,9D.6,2
79.
80.
下列程序的運(yùn)行結(jié)果為()。
#include<stdio.h>
main
{structdate
{intyear,month,day;
}today;
printf("%d\n",sizeof(structdate));
}
A.8B.6C.10D.12
五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:從整數(shù)10到55之間,查找能被3整除且有一位上的數(shù)值是5的數(shù),把這些數(shù)放在b所指的數(shù)組中,這些數(shù)的個(gè)數(shù)作為函數(shù)值返回。規(guī)定函數(shù)中al放個(gè)位數(shù),a2放十位數(shù)。
請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
六、程序設(shè)計(jì)題(1題)82.編寫函數(shù)proc,它的功能是:計(jì)算和輸出下列級(jí)數(shù)的和。S=1/(12)+1/(23)+…+1/(n(n+1))例如,當(dāng)n=20時(shí),函數(shù)值為0.952381。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:
參考答案
1.A
2.B解析:軟件生命周期由軟件定義、軟件開(kāi)發(fā)和軟件維護(hù)三個(gè)階段組成。軟件定義可分為軟件系統(tǒng)的可行性研究和需求分析兩個(gè)階段。軟件開(kāi)發(fā)階段由5個(gè)階段組成:概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編寫代碼、組裝測(cè)試和確認(rèn)測(cè)試。軟件維護(hù)時(shí)期的主要任務(wù)是使軟件持久地滿足用戶的需要。選項(xiàng)B正確。
3.A依據(jù)fun函數(shù),可知其要實(shí)現(xiàn)的功能是將S中第(t+1)個(gè)元素以前的元素逆置賦給數(shù)組P。由于fun中函數(shù)定義了靜態(tài)變量t=3,因此,main函數(shù)中調(diào)用函數(shù)fun(a,&x)時(shí),就是要將數(shù)組a中前4個(gè)元素逆置賦給數(shù)x,最后輸出x數(shù)組。
4.A
5.D解析:性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)不連續(xù),且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致。性鏈表中,各數(shù)據(jù)元素之間的前后件關(guān)系是由各結(jié)點(diǎn)的指針域來(lái)指示的。所以,選項(xiàng)D正確。
6.B解析:本題考查的是外部變量的應(yīng)用。因?yàn)槌绦虻某跏糹nta=4;語(yǔ)句定義了外部變量a,在以后的執(zhí)行過(guò)程中,當(dāng)i=0時(shí),調(diào)用f(0)函數(shù),執(zhí)行的語(yǔ)句是else{inta=7;t+=a++;},此處程序中又定義了變量a,所以原來(lái)定義的外部變量在此不起作用,得到t=7,返回值語(yǔ)句returnt+a++;處,外部變量a起作用,返回值為7+5=12:當(dāng)i=1時(shí),調(diào)用f(1)函數(shù),執(zhí)行的是語(yǔ)句else{inta=6:t+=a++;},此處程序中又定義了變量a,所以原來(lái)定義的外部變量在此不起作用,得到t=6,返回值語(yǔ)句
7.A
8.D
9.C選項(xiàng)A、B的空間不夠;選項(xiàng)D中字符串存儲(chǔ)要有結(jié)束符ˊ\0ˊ,且要占用一個(gè)空間,printf用來(lái)輸出字符,不能輸入字符串。
10.D
11.C函數(shù)的返回值是通過(guò)return語(yǔ)句返回的,返回值是一個(gè)表達(dá)式,不限于基本數(shù)據(jù)類型或指針,也可以是結(jié)構(gòu)體類型等,但不能是數(shù)組,選項(xiàng)A、B、D錯(cuò)誤;函數(shù)的返回值可以是一個(gè)指向函數(shù)的指針,選項(xiàng)C正確。故本題答案為C選項(xiàng)。
12.Dx[0]是不能賦值的。
13.C
14.C
15.D
16.B
17.D
18.A
19.D解析:數(shù)據(jù)流相當(dāng)于一條管道,并有一級(jí)數(shù)據(jù)(信息)流經(jīng)它。在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示數(shù)據(jù)流。數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,并且可以從外部實(shí)體流向系統(tǒng)或從系統(tǒng)流向外部實(shí)體。
20.D
21.1616解析:滿二叉樹(shù)的葉子結(jié)點(diǎn)都在最后一層,即第4層,且第4層的結(jié)點(diǎn)達(dá)到最大數(shù),即25-1=16。
22.數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)
23.實(shí)體實(shí)體
24.24
25.585858585858解析:在程序中,執(zhí)行scanf()語(yǔ)句后,a被賦值為58。接著執(zhí)行第一個(gè)if語(yǔ)句,因?yàn)椋琣=58>50,執(zhí)行第一個(gè)訂語(yǔ)句后面的輸出語(yǔ)句,輸出58;接著執(zhí)行第二個(gè)if語(yǔ)句,因?yàn)?,a=58>4O,執(zhí)行第二個(gè)if語(yǔ)句后面的輸出語(yǔ)句,輸出58;接著執(zhí)行第三個(gè)if語(yǔ)句,因?yàn)椋琣=58>30,執(zhí)行第三個(gè)if語(yǔ)句后面的輸出語(yǔ)句,輸出58,所以最后的輸出為585858。
26.1
27.實(shí)體實(shí)體解析:E-R模型中,有3個(gè)基本的抽象概念:實(shí)體、聯(lián)系和屬性。在E-R圖中,用矩形框表示實(shí)體,菱形框表示聯(lián)系,橢圓形框表示屬性。
28.字符串的比較strcmp函數(shù)的原型是intstrcmp(char*s1,char*s2);功能是對(duì)s1和s2所指字符串進(jìn)行比較,若s1<s2返回負(fù)數(shù),若s1==s2返回0,若s1>s2返回正數(shù)。
29.x+=1x+=1解析:本題考查“++”,“--”運(yùn)算符。“++”、“--”只能作用于變量,不能用于表達(dá)式或常量;前綴形式是在使用變量之前先將其值增1或減1,后綴形式是先使用變量原來(lái)的值,使用完后再使其增1或減1。
30.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。
31.66解析:分析程序可知,每循環(huán)一次,x的值加1,然后檢測(cè)循環(huán)控制條件(y!=19)&&(x<7),因y的值不變,故滿足x<7時(shí)循環(huán)6次。
32.n/2性表的任何位置插入一個(gè)元素的概率相等,即概率為p=1/(n+1),則插入一個(gè)元素時(shí)所需移動(dòng)元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。
33.b[j][i]=a[i][j]b[j][i]=a[i][j]解析:本題考查二維數(shù)組的基本知識(shí)。它是要將一個(gè)二維數(shù)組,的行和列元素互換后存放到另一個(gè)二維數(shù)組b中,只要將數(shù)組a的行標(biāo)和列標(biāo)互換,然后賦給數(shù)組b即可。
34.242036
35.BB解析:因?yàn)閏是字符類型變量,它只能接收一個(gè)字符,所以c=A,字符型變量在參與算術(shù)運(yùn)算的時(shí)候是用其相應(yīng)的ASCII碼參與運(yùn)算的,這樣++c得到字母B的ASCII碼,用putchar函數(shù)輸出是輸出其相應(yīng)的字符,所以是B。
36.*t++或*(t++)*t++或*(t++)解析:主函數(shù)中定義了兩個(gè)字符型數(shù)組st1l和str2,并且給str2賦初值“abcdefgh”,接著調(diào)用函數(shù)sstrcpy(str1,str2),將字符串str2的值賦給str1.在函數(shù)sstrcpy(*s,*t)中,用了一個(gè)while循環(huán),每循環(huán)一次將形參指針t所指的字符賦給形參指針s所指向的存儲(chǔ)空間,然后指針s和指針t都下移到下一個(gè)元素。所以空格處應(yīng)該填*t++或*(t++)。
37.模塊模塊解析:矩形表示的是模塊,箭頭表示的是模塊間的調(diào)用關(guān)系。用帶實(shí)心圓的箭頭表示傳遞的是控制信息,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。
38.a=2b=3a=2,b=3解析:分析程序,程序從x=1語(yǔ)句開(kāi)始執(zhí)行,之后執(zhí)行第一個(gè)switch語(yǔ)句,switch(x)=switch(1),所以執(zhí)行case1,case1語(yǔ)句中包含一個(gè)復(fù)合switch語(yǔ)句:這時(shí)執(zhí)行第二個(gè)switch語(yǔ)句,此時(shí)y=1,所以switch(y)=switch(1),因此執(zhí)行case1,將b加1,得到b=2,遇到break語(yǔ)句,退出第二個(gè)switch語(yǔ)句,則整個(gè)case1的復(fù)合語(yǔ)句執(zhí)行完畢,由于在這個(gè)case1的后面沒(méi)有break語(yǔ)句使其退出第一個(gè)switch語(yǔ)句,所以接著執(zhí)行下列的case2后面的語(yǔ)句,即將a,b各加1,得到a=2,b=3。
39.整型整型解析:上面的表達(dá)式中,通過(guò)強(qiáng)制類型轉(zhuǎn)換把最后參與運(yùn)算的數(shù)據(jù)都轉(zhuǎn)換成了int型,所以最后得到的結(jié)果也是int類型。
40.00解析:已知a=10,b=20,所以邏輯表達(dá)式a<b的值為true,即為1,在這個(gè)表達(dá)式前面有一個(gè)邏輯運(yùn)算符!,表示反操作,所以整個(gè)語(yǔ)句的值應(yīng)當(dāng)為false,即為0。
41.B解析:break語(yǔ)句可以根據(jù)需要,使用在循環(huán)體和switch語(yǔ)句體內(nèi),因此B是可選項(xiàng)。
42.C答案C
解析:在語(yǔ)句“k=*f(a,b)”中,由于“()”的優(yōu)先級(jí)高于“*”,所以“*f(a,b);”表示其返回類型為指針的帶有兩個(gè)整型參數(shù)的函數(shù)。
43.C
44.C解析:整型變量x、y的初值都為1,“x++,y++,++y”是一個(gè)逗號(hào)表達(dá)式,程序執(zhí)行“z=x++,y++,++y”后,x的值為2,y的值為3,z取豆號(hào)表達(dá)式中第二個(gè)表達(dá)式的值,為1。
45.A解析:?:運(yùn)算符首先執(zhí)行?之前的表達(dá)式,如果表達(dá)式的值為真,則返回?和:之間的表達(dá)式的值,否則返回:之后的表達(dá)式的值。本題中m比x和y都要小,所以,3個(gè)表達(dá)式都沒(méi)有改變m的值,故應(yīng)該選擇A。
46.D解析:本題主要考查自加(++)、自減(--)運(yùn)算符的使用?!?+i,--i”在使用i之前,先使i的值加1或者減1,然后再使用i此時(shí)的值參與運(yùn)算;“i++,i--”是在使用i參與表達(dá)式運(yùn)算之后,再使i的值加1或者減1。本題中--a和++b是先執(zhí)行a減1和b加1操作,再輸出表達(dá)式的值。
47.B解析:第1次執(zhí)行for循環(huán),p[1][0]=p[1][0]-1=3:第2次執(zhí)行for循環(huán),p[1][1]=p[1][1]-1=4:第3次執(zhí)行for循環(huán),p[1][2]=1,最后輸出的是a[0][1]+a[1][1]+a[1][2]=2+4+1=7。
48.A解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。函數(shù)的形參是函數(shù)定義時(shí)由用戶定義的形式上的變量,實(shí)參是函數(shù)調(diào)用時(shí),主調(diào)函數(shù)為被調(diào)函數(shù)提供的原始數(shù)據(jù)。
在函數(shù)調(diào)用時(shí),實(shí)參和其所對(duì)應(yīng)的形參分別占用不同的存儲(chǔ)單元,彼此之間不影響。
49.D本題考查參數(shù)的宏替換。為避免二義性有些參數(shù)表達(dá)式必須加括號(hào),否則在實(shí)參表達(dá)式替換時(shí),會(huì)出現(xiàn)錯(cuò)誤。例如x為(m+n)時(shí)替換A:m+n*m+n,所以選項(xiàng)D最符合條件。
50.C解析:對(duì)二叉樹(shù)的前序遍歷是指先訪問(wèn)根結(jié)點(diǎn),然后訪問(wèn)左子樹(shù),最后訪問(wèn)右子樹(shù),并且,在訪問(wèn)左、右子樹(shù)時(shí),先訪問(wèn)根結(jié)點(diǎn),再依次訪問(wèn)其左、右子樹(shù)。
51.A
52.A解析:關(guān)系表中,每一行稱為一個(gè)元組,對(duì)應(yīng)表中的一條記錄;每一列稱為表中的一個(gè)屬性,對(duì)應(yīng)表中的一個(gè)字段;在二維表中凡能惟一標(biāo)識(shí)元組的最小屬性集稱為該表的鍵或碼。
53.D解析:double*p,a;語(yǔ)句表示定義了一個(gè)指向雙精度型的指針變量p和雙精度型變量a,而語(yǔ)句p=&a表示將變量a的地址賦給指針變量p;scanf('%1f',p)表示用鍵盤輸入的數(shù)賦給指針變量p所指向的地址單元中。scanf()函數(shù)要求在輸入double型數(shù)據(jù),格式控制符必須用%1f(或%1e)。否則,數(shù)據(jù)不能正確輸入。所以選項(xiàng)D)為正確答案。
54.C解析:自增運(yùn)算符“++”,出現(xiàn)在變量之前,表示先使變量的值加1,再使用變量的值進(jìn)行運(yùn)算;出現(xiàn)在變量之后,表示先使用變量的值進(jìn)行運(yùn)算,冉使變量的值加1。例如題中的“b++”,題中第一條語(yǔ)句先輸出字符b的值,此時(shí)變量b='2',因此輸出值為2;再使b的值加1,b='3',因此第二條語(yǔ)句輸出:b-a='3'-'1'=2。
55.D數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過(guò)程,故選項(xiàng)A敘述錯(cuò)誤。數(shù)據(jù)的物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)的改變,不會(huì)影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),故選項(xiàng)B敘述錯(cuò)誤。關(guān)系中的行稱為元組,對(duì)應(yīng)存儲(chǔ)文件中的記錄,關(guān)系中的列稱為屬性,對(duì)應(yīng)存儲(chǔ)文件中的字段,故選項(xiàng)C敘述錯(cuò)誤。所以本題選D。
56.C解析:本題涉及C語(yǔ)言基本的3個(gè)知識(shí)點(diǎn):①C語(yǔ)言的源程序是由函數(shù)構(gòu)成的,函數(shù)是其基本單位,每一個(gè)函數(shù)完成相對(duì)獨(dú)立的功能,其中只能包括一個(gè)主函數(shù);②C語(yǔ)言規(guī)定每個(gè)語(yǔ)句以分號(hào)結(jié)束,其書寫格式是自由的,一條語(yǔ)句可以寫在不同的行上,或者一行也可以寫多條語(yǔ)句;③注釋行雖然對(duì)程序的運(yùn)行不起作用,但是它可以方便程序員閱讀,提高程序的可讀性和可移植性,所以書寫注釋行還是很有必要的。
57.B解析:對(duì)二又樹(shù)的中序遍歷是指:首先遍歷左子樹(shù),然后訪問(wèn)根結(jié)點(diǎn),最后遍歷右子樹(shù)。在遍歷左,右子樹(shù)時(shí),注意依舊按照“左子樹(shù)—根結(jié)點(diǎn)—右于樹(shù)”的順序。
58.C解析:對(duì)于字符串指針,其保留的是整個(gè)串的首地址,即為第一個(gè)字符的起始地址,當(dāng)該指針做算術(shù)運(yùn)算時(shí),就是該指針根據(jù)其類型向后移動(dòng)相應(yīng)的存儲(chǔ)空間。
59.D解析:時(shí)間復(fù)雜度是指一個(gè)算法執(zhí)行時(shí)間的相對(duì)度量;空間復(fù)雜度是指算法在運(yùn)行過(guò)程中臨時(shí)占用所需存儲(chǔ)空間大小的度量。人們都希望選擇一個(gè)既省存儲(chǔ)空間、又省執(zhí)行時(shí)間的算法。然而,有時(shí)為了加快算法的運(yùn)行速度,不得不增加空間開(kāi)銷;有時(shí)為了能有效地存儲(chǔ)算法和數(shù)據(jù),又不得不犧牲運(yùn)行時(shí)間。時(shí)間和空間的效率往往是一對(duì)矛盾,很難做到兩全。但是,這不適用于所有的情況,也就是說(shuō)時(shí)間復(fù)雜度和空間復(fù)雜度之間雖然經(jīng)常矛盾,但是二者不存在必然的聯(lián)系。因此,選項(xiàng)A、B、C的說(shuō)法都是錯(cuò)誤的。故本題的正確答案是D。
60.A解析:根據(jù)運(yùn)算符的優(yōu)先級(jí):邏輯非>算術(shù)運(yùn)算>關(guān)系運(yùn)算>邏輯與>邏輯或>賦值運(yùn)算,可以計(jì)算得到為A。其中C選項(xiàng)因?yàn)閍、b均不為0,所以結(jié)果為1。
61.C函數(shù)hm()求數(shù)組指定返回的元素的積。函數(shù)fun(a,3)求的是數(shù)組a[0]~a[3]的積。因此結(jié)果為2t3女4十5=120,故答案為C選項(xiàng)。
62.A在數(shù)據(jù)庫(kù)管理系統(tǒng)的層次結(jié)構(gòu)中,應(yīng)用層是直接面向終端客戶的,因此它是出于最上層得。
63.A面向?qū)ο笤O(shè)計(jì)方法的三個(gè)基本特性即封裝、多態(tài)、繼承。結(jié)構(gòu)化程序設(shè)計(jì)方法的主要原則可以概括為自頂向下、逐步求精、模塊化、限制使用goto語(yǔ)句。故答案為A)。
64.A
65.B
\n第一個(gè)for循環(huán)的作用是讓p指向每行的首地址,第二個(gè)for循環(huán)的作用是把它指向的字符串輸出,故選擇B選項(xiàng)。
\n
66.D
\n本題考查'drhile循環(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。
\n
67.B
68.D
69.D
\n當(dāng)k=1時(shí),循環(huán)成立,輸出w[l]的數(shù)組即EFGH,接著執(zhí)行k++后k為2;當(dāng)k=2時(shí),循環(huán)成立,輸出w[2]的數(shù)組即IJKL,接著執(zhí)行k++后,k為3;當(dāng)k=3時(shí),循環(huán)不成立,退出。
\n
70.C題目中定義了一個(gè)結(jié)構(gòu)體類型s,然后定義了一個(gè)結(jié)構(gòu)體變量s并初始化,執(zhí)行f函數(shù)后,將s中元素a的每個(gè)元素都加上i,這里需要注意最后一個(gè)元素沒(méi)有加i,所以最終答案為C選項(xiàng)。
71.C棧是限定在一端進(jìn)行插入與刪除的線性表,允許插入與刪除的一端稱為棧頂,不允許插入與刪除的另一端稱為棧底。當(dāng)有新元素進(jìn)棧時(shí),棧頂指針向上移動(dòng);當(dāng)有元素出棧時(shí),棧頂指針向下移動(dòng)。在棧中棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化。
72.D
73.B^選項(xiàng)去掉大括號(hào)就正確了;c選項(xiàng)和D|選項(xiàng)應(yīng)在定義時(shí)賦初值。因此B選項(xiàng)正確。
74.BC語(yǔ)言是一種成功的系統(tǒng)描述語(yǔ)言,具有良好的移植性,每個(gè)后綴為.C的C語(yǔ)言源程序都可以單獨(dú)進(jìn)行編譯。
75.D當(dāng)num=0時(shí),循環(huán)成立,執(zhí)行num++后;num的值為1,因此輸出1,接著返回while中的表達(dá)式;當(dāng)num=1時(shí),循環(huán)成立,執(zhí)行nHm++后,num的值為2,輸出2,再返回while中的表達(dá)式;當(dāng)num=2時(shí),循環(huán)成立,執(zhí)行num++后.nHm的值為3,輸出3,最后返回while中的表達(dá)式,當(dāng)num=3,循環(huán)不成立,退出。
76.C
77.B模塊獨(dú)立性是指每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單。一般較優(yōu)秀的軟件設(shè)計(jì),應(yīng)盡量做到高內(nèi)聚,低耦合,即減弱模塊之間的耦合性和提高模塊內(nèi)的內(nèi)聚性,有利于提高模塊的獨(dú)立性,所以A錯(cuò)誤,B正確。耦合性是模塊間互相連接的緊密程度的度量而內(nèi)聚性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度,所以C與D錯(cuò)誤。故答案為B選項(xiàng)。
78.D
\n程序中ptr指針指向數(shù)組art的首地址,*ptr=arr[0]=6,*(ptr2)=2,故選D。
\n
79.D
80.B
\nstructdate中包含year、month、day這3個(gè)整型變量,一個(gè)整型變量占2個(gè)字節(jié);sizeof是求所占字節(jié)數(shù)的運(yùn)算符。
\n
81.
(1)a2=k/10;
(2)returni;
【考點(diǎn)分析】本題考查:取數(shù)值n的各個(gè)位;return語(yǔ)句,將需要返回的函數(shù)值返回給函數(shù)main。
【解題思路】
(1)a2存放十位數(shù),所以是a2=k/10,此處是一個(gè)書寫錯(cuò)誤。
(2)根據(jù)題意,要返回能被3整除的數(shù)的個(gè)數(shù),從循環(huán)體中可以知道其個(gè)數(shù)是由i來(lái)計(jì)算的,所以返回的是i。
82.
【解析】首先定義一個(gè)變量來(lái)表示其和s,通過(guò)n次循環(huán)求出n項(xiàng)的和,最后將所得到各項(xiàng)的和值返回給主函數(shù)。
2021年寧夏回族自治區(qū)石嘴山市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.
2.軟件生命周期可分為定義階段、開(kāi)發(fā)階段和維護(hù)階段。詳細(xì)設(shè)計(jì)屬于()。
A.定義階段B.開(kāi)發(fā)階段C.維護(hù)階段D.上述三個(gè)階段
3.下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>voidfun(int*S,int*p){staticintt=3:*p=s[t];t--;}voidmain{inta[]={2,3,4,5),k;intx;for(k=0,k<4,k++){fun(a,&x);printf("%d,",x);}}A.5,4,3,2B.2,3,4,5C.2,2,2,2D.5,5,5,5
4.圖的深度優(yōu)先遍歷類似于二叉樹(shù)的_______。
A.先序遍歷B.中序遍歷C.后序遍歷D.層次遍歷
5.下列敘述中正確的是()。
A.線性鏈表中的各元素在存儲(chǔ)空間中的位置必須是連續(xù)的
B.線性鏈表中的表頭元素一定存儲(chǔ)在其他元素的前面
C.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,但表頭元素一定存儲(chǔ)在其他元素的前面
D.線性鏈表中的各元素在存儲(chǔ)空間中的位置不一定是連續(xù)的,且各元素的存儲(chǔ)順序也是任意的
6.有以下程序:#include<string.h>inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t++=a++;}else{inta=7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++)s+=f(i);printf("%d\n",s);}程序運(yùn)行后的輸出結(jié)果是()。
A.24B.28C.32D.36
7.
8.用不帶頭結(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ì)尾指針都可能要修改
9.下列能正確進(jìn)行字符串賦值的是()。A.B.C.D.
10.設(shè)計(jì)一個(gè)判別表達(dá)式中左、右括號(hào)是否配對(duì)出現(xiàn)的算法,采用()數(shù)據(jù)結(jié)構(gòu)最佳。A.線性表的順序存儲(chǔ)結(jié)構(gòu)B.隊(duì)列C.線性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)D.棧
11.以下說(shuō)法正確的是()。
A.函數(shù)可以返回另一個(gè)函數(shù)的整個(gè)函數(shù)體
B.函數(shù)返回值只能是基本數(shù)據(jù)類型的數(shù)值或指針
C.函數(shù)返回值可以是一個(gè)指向函數(shù)的指針
D.函數(shù)返回值可以是一個(gè)數(shù)組,同時(shí)返回多個(gè)值
12.設(shè)有定義:intx[2][3];,則以下關(guān)于二維數(shù)組X的敘述錯(cuò)誤的是()。
A.x[0]可看做是由3個(gè)整型元素組成的一維數(shù)組
B.x[0]和x[l]是數(shù)組名,分別代表不同的地址常量
C.數(shù)組X包含6個(gè)元素
D.可以用語(yǔ)句x[o]=0;為數(shù)組所有元素賦初值0
13.
14.設(shè)x、y、z、t均為int型變量,則執(zhí)行以下語(yǔ)句后,t的值是()x=y(tǒng)=z=l;t=++x||++y&&++z;
A.不定值B.2C.1D.0
15.合法的常量是()。A.‘program’B.–e8C.03xD.0xfl
16.下面算法的時(shí)間復(fù)雜度為()A.O(1)B.O(n)C.O(n*n)D.O(n!)
17.與單鏈表相比,雙鏈表的優(yōu)點(diǎn)之一是()。
A.插入、刪除操作更簡(jiǎn)單B.可以進(jìn)行隨機(jī)訪問(wèn)C.可以省略表頭指針或表尾指針D.順序訪問(wèn)相鄰結(jié)點(diǎn)更靈活
18.
19.在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示
A.模塊之間的調(diào)用關(guān)系B.程序的組成成分C.控制程序的執(zhí)行順序D.數(shù)據(jù)的流向
20.若有定義和語(yǔ)句int**pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf("%d,%d\n",*p,**pp);則輸出結(jié)果是()
A.10,10B.10,20C.20,10D.20,20
二、2.填空題(20題)21.深度為5的滿二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為_(kāi)_____。
22.數(shù)據(jù)庫(kù)系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。
23.面向?qū)ο蟮某绦蛟O(shè)計(jì)方法中涉及的對(duì)象是系統(tǒng)中用來(lái)描述客觀事物的一個(gè)______。
24.下面程序的輸出結(jié)果是【】。
#defineMAX3
inta[MAX];
main()
{fun1();{un2(A);printf("\n");}
funl()
{intk,t=0;
for(k=0;k<MAX;k++,t++)a[k]=t+t;
}
fun2(intb[])
{intk;
for(k=0;k<MAX;k++)printf("%d",*(b+k));
}
25.若從鍵盤輸入58,則以下程序輸出的結(jié)果是______。
main{)
{inta;
scanf("%d",&a);
if(a>50)printf("%d",a);
if(a>40)printf("%d",a);
if(a>30)printf("%d",a);
}
26.若有如下程序:
main()
{intx=4,y=3,x=2,t;
t=x<y<z;
printf("%d\n",t);}
則程序運(yùn)行后的輸出結(jié)果是【】。
27.在E-R圖中,矩形表示【】。
28.strcmp函數(shù)的功能是【】。
29.語(yǔ)句:x++;++x;x=1+x;執(zhí)行后都使變量x中的值增1,請(qǐng)寫出一條同一功能的賦值語(yǔ)句______。
30.下列程序段的輸出結(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");
}
31.下列的for語(yǔ)句的循環(huán)次數(shù)為_(kāi)_____。
for(x=1,y=0;(y!=19)&&(x<7);x++);
32.長(zhǎng)度為n的順序存儲(chǔ)線性表中,當(dāng)在任何位置上插入一個(gè)元素概率都相等時(shí),插入一個(gè)元素所需移動(dòng)元素的平均個(gè)數(shù)為【】。
33.下列程序?qū)⒍S數(shù)組a的行和列元素互換后存放到另一個(gè)二維數(shù)組b中。請(qǐng)?zhí)羁铡?/p>
main()
{inta[2][3]={{1,2,3},{4,5}},b[3][2],i,j;
for(i=0;i<2;i++)
{for(j=0;j<3;j++)
}
}
34.程序的運(yùn)行結(jié)果為【】。
main()
{intx,y,z;
x=24;
y=024;
z=0x24;
printf("%d,%d,%d\n",x,y,z);
}
35.有下列程序;
#include<stdio.h>
main()
{charc;
while((c=getchar())!=',')putchar(++C);
}
程序運(yùn)行時(shí),如果從鍵盤輸入:A,B,<CR>,則輸出結(jié)果為_(kāi)_____。
36.以下sstrcpy()函數(shù)實(shí)現(xiàn)字符串復(fù)制,即將t所指字符串復(fù)制到s所指向內(nèi)存空間中,形成一個(gè)新的字符串s。請(qǐng)?zhí)羁铡?/p>
voidsstrcpy(char*s,char*t)
{while(*s++=______);}
main()
{charstr1[100],str2[]="abcdefgh";
sstrcpy(str1,str2);
printf("%s\n",str1);
}
37.常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC),也稱程序結(jié)構(gòu)圖。其中,用矩形表示______,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。
38.下列程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{intx=1,y=1,a=1,b=1;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:
a++;b++;break;
}
printf("a=%d,b=%d\n",a,B);
}
39.表達(dá)式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類型為_(kāi)_____。
40.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。
三、1.選擇題(20題)41.以下關(guān)于switch語(yǔ)句和break語(yǔ)句的描述中,正確的是______。
A.在switch語(yǔ)句中必須使用break語(yǔ)句
B.在switch語(yǔ)句中,可以根據(jù)需要使用或不使用break語(yǔ)句
C.break語(yǔ)句只能用于switch語(yǔ)句中
D.break語(yǔ)句是switch語(yǔ)句的一部分
42.有以下程序
intadd(inta,intb){return(a+b);}
main()
{intk,(*f)(),a=5,b=10;
f=add;
…
}
則以下函數(shù)調(diào)用語(yǔ)句錯(cuò)誤的是A.k=(*f)(a,b);B.k=add(a,b);C.k=*f(a,b);D.k=f(a,b);
43.若有如下定義并賦值:charch='a',a;則執(zhí)行語(yǔ)句"printf("%d",a=ch+2.6);”后的輸出結(jié)果是()
A.cB.dC.99D.100
44.有以下程序main(){intx,y,z;x=y=1;z=X++,y++,++y;printf("%d,%d,%d\n",x,y,z);}程序運(yùn)行后的輸出結(jié)果是
A.2,3,3B.2,3,2C.2,3,1D.2,2,1
45.若x、y、z、m均為int型變量,則執(zhí)行下面語(yǔ)句后m的值是()m=1;x=2;y=3;m=(m<x)?m:x;m=(m<y)?m:y;m=(m<y)?m:z;
A.1B.2C.3D.4
46.下列程序的輸出結(jié)果是()。main(){inta=1,b=2;printf("%d,%d\n",--a,++b);}
A.1,2B.1,3C.0,2D.0,3
47.下列程序的輸出結(jié)果是()。#include<stdio.h>main(){inta[2][3]={{1,2,3},{4,5,6}},(*p)[3],i;p=a;for(i=0;i<3;i++){if(i<2)p[1][i]=p[1][i]-1;elsep[1][i]=1;}printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}
A.8B.7C.12D.9
48.在C語(yǔ)言中,函數(shù)調(diào)用時(shí)()。
A.實(shí)參和形參各占獨(dú)立的存儲(chǔ)單元
B.實(shí)參和形參共用存儲(chǔ)單元
C.由系統(tǒng)自動(dòng)確定實(shí)參和形參是否共用存儲(chǔ)單元
D.由用戶指定實(shí)參和形參是否共用存儲(chǔ)單元
49.下列選項(xiàng)中不會(huì)引起二義性的宏定義是()。
A.#defineS(x)x*x
B.#defineS(x)(x)*(x)
C.#defineS(x)(x*x)
D.#defineS(x)((x)*(x))
50.有下列二叉樹(shù),
對(duì)此二叉樹(shù)前序遍歷的結(jié)果為()。
A.ACFHIBEDGB.ABCDEFGHIC.ABDEGCFHID.ABCDEFHGI
51.因特網(wǎng)(習(xí)慣上稱國(guó)際互聯(lián)網(wǎng))的英文名是()
A.InternetB.IntranetC.NCFCD.ISDN
52.關(guān)系表中的每一橫行稱為一個(gè)()。A.元組B.字段C.屬性D.碼
53.下列程序的輸出結(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.*p=&a;scanf("%1f",p);
B.*p=&a;scanf("%f",p);
C.p=&a;scanf("%1f",*p);
D.p=&a;scanf("%1f",p);
54.數(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
55.下列有關(guān)數(shù)據(jù)庫(kù)的描述,正確的是A.數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過(guò)程
B.數(shù)據(jù)的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時(shí),數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)不變
C.關(guān)系中的每一列稱為元組,一個(gè)元組就是一個(gè)字段
D.如果一個(gè)關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個(gè)關(guān)系的關(guān)鍵字,則稱其為本關(guān)系的外關(guān)鍵字
56.下列說(shuō)法不正確的是()。
A.C程序是以函數(shù)為基本單位的,整個(gè)程序由函數(shù)組成
B.C語(yǔ)言程序的一條語(yǔ)句可以寫在不同的行上
C.C程序的注釋行對(duì)程序的運(yùn)行功能不起任何作用,所以注釋應(yīng)該盡可能少寫
D.C程序的每個(gè)語(yǔ)句都以分號(hào)結(jié)束
57.有下列二叉樹(shù),對(duì)此二叉樹(shù)中序遍歷的結(jié)果為()。
A.ABCDEFB.BDAECFC.ABDCEFD.ABCDFE
58.下面程序段的運(yùn)行結(jié)果是char*s="abcde";s+=2;printf("%d",s);
A.cdeB.字符'c'C.字符'c'的地址D.無(wú)確定的輸出結(jié)果
59.下列敘述中正確的是()。
A.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度也必定大
B.一個(gè)算法的空間復(fù)雜度大,則其時(shí)間復(fù)雜度必定小
C.一個(gè)算法的時(shí)間復(fù)雜度大,則其空間復(fù)雜度必定小
D.上述三種說(shuō)法都不對(duì)
60.設(shè)有定義:inta=2,b=3,c=4;則以下選項(xiàng)中值為0的表達(dá)式是______。
A.(!a==1)&&(!b==0)
B.(a>b)&&!c||1
C.a&&b
D.a||(b+b)&&(c-a)
四、選擇題(20題)61.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()o
A.24B.720C.120D.6
62.在數(shù)據(jù)庫(kù)管理系統(tǒng)的層次結(jié)構(gòu)中,處于最上層的是()。
A.應(yīng)用層B.語(yǔ)言翻譯處理層C.數(shù)據(jù)存取層D.數(shù)據(jù)存儲(chǔ)層
63.下列選項(xiàng)中屬于面向?qū)ο笤O(shè)計(jì)方法主要特征的是()。A.繼承B.自頂向下C.模塊化D.逐步求精
64.
65.
以下程序的輸出結(jié)果是()。
main
{charch[3][4]={"123","456","78"),*p[3];inti;
for(i=0;i<3;i++)p[i]=ch[i];
for(i=0;i<3;i++)printf("%s",p[i]);}
A.123456780B.123456780C.12345678D.147
66.
下列程序的運(yùn)行結(jié)果是()。
main
{intx=1,y=3,a=0;
while(x++!=(y-=l))
{a+=1;
if(y<x)break;
}
printf("%d,%d,%d\n",x,y,a);
}
A.2,3,2B.2,3,1C.1,3,3D.3,1,2
67.若有定義語(yǔ)句:“intkl一10,k2=20;”,執(zhí)行表達(dá)式(kl=kl>k2)(k2=k2>
k1)后,kl和k2的值分別為()。
A.0和1B.0和20C.10和1D.10和20
68.
69.
以下程序的輸出結(jié)果是()。
main
{charw[][10]={"ABCD","EFGH","IJKL","
MNOP"),K;
for(k=1;k<3;k++)printf("%s\n",w[k]);
A.ABCDFGHKLB.ABCDEFGUC.EFGJKOD.EFGHUKL
70.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.2,3,1,6,8,7,5,4,10,9,
B.3,4,2,7,9,8,6,5,11,10,
C.2,4,3,9,12,12,11,11,18,9,
D.1,2,3,6,8,7,5,4,10,9,
71.下列敘述中正確的是()。
A.在棧中,棧中元素隨棧底指針與棧頂指針的變化而動(dòng)態(tài)變化
B.在棧中,棧頂指針不變,棧中元素隨棧底指針的變化而動(dòng)態(tài)變化
C.在棧中,棧底指針不變,棧中元素隨棧頂指針的變化而動(dòng)態(tài)變化
D.上述三種說(shuō)法都不對(duì)
72.
73.以下選項(xiàng)中正確的語(yǔ)句組是()。
A.char*s;s={f.BOOK!”};
B.char*s;s:”BOOK!”:
C.chars[10];s=”BOOK!”;
D.cbars[];s:”BOOK!n:
74.以下敘述中正確的是()。
A.在C語(yǔ)言程序中,main函數(shù)必須放在其他函數(shù)的最前面
B.每個(gè)后綴為C的C語(yǔ)言源程序都可以單獨(dú)進(jìn)行編譯
C.在C語(yǔ)言程序中,只有main函數(shù)才可單獨(dú)進(jìn)行編譯
D.每個(gè)后綴為.C的C語(yǔ)言源程序都應(yīng)該包含一個(gè)main函數(shù)
75.以下程序的輸出結(jié)果是()。main(){intRum=0;while(num<=2){num++;printf(”%d\n”,num);}}A.1B.1C.1234D.1223
76.
77.耦合性和內(nèi)聚性是對(duì)模塊獨(dú)立性度量的兩個(gè)標(biāo)準(zhǔn)。下列敘述中正確的是()。
A.提高耦合性降低內(nèi)聚性有利于提高模塊的獨(dú)立性
B.降低耦合性提高內(nèi)聚性有利于提高模塊的獨(dú)立性
C.耦合性是指一個(gè)模塊內(nèi)部各個(gè)元素間彼此結(jié)合的緊密程度
D.內(nèi)聚性是指模塊間互相連接的緊密程度
78.
設(shè)有如下定義:
intarr[]={6,7,8,9,10);
int*ptr:
ptr=arr;
*(ptr2)=2;
printf("%d,%d\n",*ptr,*(ptr2)):
則下列程序段的輸出結(jié)果為()。
A.8,10B.6,8C.7,9D.6,2
79.
80.
下列程序的運(yùn)行結(jié)果為()。
#include<stdio.h>
main
{structdate
{intyear,month,day;
}today;
printf("%d\n",sizeof(structdate));
}
A.8B.6C.10D.12
五、程序改錯(cuò)題(1題)81.下列給定程序中函數(shù)fun的功能是:從整數(shù)10到55之間,查找能被3整除且有一位上的數(shù)值是5的數(shù),把這些數(shù)放在b所指的數(shù)組中,這些數(shù)的個(gè)數(shù)作為函數(shù)值返回。規(guī)定函數(shù)中al放個(gè)位數(shù),a2放十位數(shù)。
請(qǐng)改正程序中的錯(cuò)誤,使它能得出正確的結(jié)果。
注意:部分源程序在文件MODll.C中,不得增行或刪行,也不得更改程序的結(jié)構(gòu)!
六、程序設(shè)計(jì)題(1題)82.編寫函數(shù)proc,它的功能是:計(jì)算和輸出下列級(jí)數(shù)的和。S=1/(12)+1/(23)+…+1/(n(n+1))例如,當(dāng)n=20時(shí),函數(shù)值為0.952381。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語(yǔ)句。試題程序:
參考答案
1.A
2.B解析:軟件生命周期由軟件定義、軟件開(kāi)發(fā)和軟件維護(hù)三個(gè)階段組成。軟件定義可分為軟件系統(tǒng)的可行性研究和需求分析兩個(gè)階段。軟件開(kāi)發(fā)階段由5個(gè)階段組成:概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編寫代碼、組裝測(cè)試和確認(rèn)測(cè)試。軟件維護(hù)時(shí)期的主要任務(wù)是使軟件持久地滿足用戶的需要。選項(xiàng)B正確。
3.A依據(jù)fun函數(shù),可知其要實(shí)現(xiàn)的功能是將S中第(t+1)個(gè)元素以前的元素逆置賦給數(shù)組P。由于fun中函數(shù)定義了靜態(tài)變量t=3,因此,main函數(shù)中調(diào)用函數(shù)fun(a,&x)時(shí),就是要將數(shù)組a中前4個(gè)元素逆置賦給數(shù)x,最后輸出x數(shù)組。
4.A
5.D解析:性表的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)中,各數(shù)據(jù)結(jié)點(diǎn)的存儲(chǔ)序號(hào)不連續(xù),且各結(jié)點(diǎn)在存儲(chǔ)空間中的位置關(guān)系與邏輯關(guān)系也不一致。性鏈表中,各數(shù)據(jù)元素之間的前后件關(guān)系是由各結(jié)點(diǎn)的指針域來(lái)指示的。所以,選項(xiàng)D正確。
6.B解析:本題考查的是外部變量的應(yīng)用。因?yàn)槌绦虻某跏糹nta=4;語(yǔ)句定義了外部變量a,在以后的執(zhí)行過(guò)程中,當(dāng)i=0時(shí),調(diào)用f(0)函數(shù),執(zhí)行的語(yǔ)句是else{inta=7;t+=a++;},此處程序中又定義了變量a,所以原來(lái)定義的外部變量在此不起作用,得到t=7,返回值語(yǔ)句returnt+a++;處,外部變量a起作用,返回值為7+5=12:當(dāng)i=1時(shí),調(diào)用f(1)函數(shù),執(zhí)行的是語(yǔ)句else{inta=6:t+=a++;},此處程序中又定義了變量a,所以原來(lái)定義的外部變量在此不起作用,得到t=6,返回值語(yǔ)句
7.A
8.D
9.C選項(xiàng)A、B的空間不夠;選項(xiàng)D中字符串存儲(chǔ)要有結(jié)束符ˊ\0ˊ,且要占用一個(gè)空間,printf用來(lái)輸出字符,不能輸入字符串。
10.D
11.C函數(shù)的返回值是通過(guò)return語(yǔ)句返回的,返回值是一個(gè)表達(dá)式,不限于基本數(shù)據(jù)類型或指針,也可以是結(jié)構(gòu)體類型等,但不能是數(shù)組,選項(xiàng)A、B、D錯(cuò)誤;函數(shù)的返回值可以是一個(gè)指向函數(shù)的指針,選項(xiàng)C正確。故本題答案為C選項(xiàng)。
12.Dx[0]是不能賦值的。
13.C
14.C
15.D
16.B
17.D
18.A
19.D解析:數(shù)據(jù)流相當(dāng)于一條管道,并有一級(jí)數(shù)據(jù)(信息)流經(jīng)它。在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭表示數(shù)據(jù)流。數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,并且可以從外部實(shí)體流向系統(tǒng)或從系統(tǒng)流向外部實(shí)體。
20.D
21.1616解析:滿二叉樹(shù)的葉子結(jié)點(diǎn)都在最后一層,即第4層,且第4層的結(jié)點(diǎn)達(dá)到最大數(shù),即25-1=16。
22.數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)
23.實(shí)體實(shí)體
24.24
25.585858585858解析:在程序中,執(zhí)行scanf()語(yǔ)句后,a被賦值為58。接著執(zhí)行第一個(gè)if語(yǔ)句,因?yàn)?,a=58>50,執(zhí)行第一個(gè)訂語(yǔ)句后面的輸出語(yǔ)句,輸出58;接著執(zhí)行第二個(gè)if語(yǔ)句,因?yàn)?,a=58>4O,執(zhí)行第二個(gè)if語(yǔ)句后面的輸出語(yǔ)句,輸出58;接著執(zhí)行第三個(gè)if語(yǔ)句,因?yàn)椋琣=58>30,執(zhí)行第三個(gè)if語(yǔ)句后面的輸出語(yǔ)句,輸出58,所以最后的輸出為585858。
26.1
27.實(shí)體實(shí)體解析:E-R模型中,有3個(gè)基本的抽象概念:實(shí)體、聯(lián)系和屬性。在E-R圖中,用矩形框表示實(shí)體,菱形框表示聯(lián)系,橢圓形框表示屬性。
28.字符串的比較strcmp函數(shù)的原型是intstrcmp(char*s1,char*s2);功能是對(duì)s1和s2所指字符串進(jìn)行比較,若s1<s2返回負(fù)數(shù),若s1==s2返回0,若s1>s2返回正數(shù)。
29.x+=1x+=1解析:本題考查“++”,“--”運(yùn)算符?!?+”、“--”只能作用于變量,不能用于表達(dá)式或常量;前綴形式是在使用變量之前先將其值增1或減1,后綴形式是先使用變量原來(lái)的值,使用完后再使其增1或減1。
30.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。
31.66解析:分析程序可知,每循環(huán)一次,x的值加1,然后檢測(cè)循環(huán)控制條件(y!=19)&&(x<7),因y的值不變,故滿足x<7時(shí)循環(huán)6次。
32.n/2性表的任何位置插入一個(gè)元素的概率相等,即概率為p=1/(n+1),則插入一個(gè)元素時(shí)所需移動(dòng)元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。
33.b[j][i]=a[i][j]b[j][i]=a[i][j]解析:本題考查二維數(shù)組的基本知識(shí)。它是要將一個(gè)二維數(shù)組,的行和列元素互換后存放到另一個(gè)二維數(shù)組b中,只要將數(shù)組a的行標(biāo)和列標(biāo)互換,然后賦給數(shù)組b即可。
34.242036
35.BB解析:因?yàn)閏是字符類型變量,它只能接收一個(gè)字符,所以c=A,字符型變量在參與算術(shù)運(yùn)算的時(shí)候是用其相應(yīng)的ASCII碼參與運(yùn)算的,這樣++c得到字母B的ASCII碼,用putchar函數(shù)輸出是輸出其相應(yīng)的字符,所以是B。
36.*t++或*(t++)*t++或*(t++)解析:主函數(shù)中定義了兩個(gè)字符型數(shù)組st1l和str2,并且給str2賦初值“abcdefgh”,接著調(diào)用函數(shù)sstrcpy(str1,str2),將字符串str2的值賦給str1.在函數(shù)sstrcpy(*s,*t)中,用了一個(gè)while循環(huán),每循環(huán)一次將形參指針t所指的字符賦給形參指針s所指向的存儲(chǔ)空間,然后指針s和指針t都下移到下一個(gè)元素。所以空格處應(yīng)該填*t++或*(t++)。
37.模塊模塊解析:矩形表示的是模塊,箭頭表示的是模塊間的調(diào)用關(guān)系。用帶實(shí)心圓的箭頭表示傳遞的是控制信息,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。
38.a=2b=3a=2,b=3解析:分析程序,程序從x=1語(yǔ)句開(kāi)始執(zhí)行,之后執(zhí)行第一個(gè)switch語(yǔ)句,switch(x)=switch(1),所以執(zhí)行case1,case1語(yǔ)句中包含一個(gè)復(fù)合switch語(yǔ)句:這時(shí)執(zhí)行第二個(gè)switch語(yǔ)句,此時(shí)y=1,所以switch(y)=switch(1),因此執(zhí)行case1,將b加1,得到b=2,遇到break語(yǔ)句,退出第二個(gè)switch語(yǔ)句,則整個(gè)case1的復(fù)合語(yǔ)句執(zhí)行完畢,由于在這個(gè)case1的后面沒(méi)有break語(yǔ)句使其退出第一個(gè)switch語(yǔ)句,所以接著執(zhí)行下列的case2后面的語(yǔ)句,即將a,b各加1,得到a=2,b=3。
39.整型整型解析:上面的表達(dá)式中,通過(guò)強(qiáng)制類型轉(zhuǎn)換把最后參與運(yùn)算的數(shù)據(jù)都轉(zhuǎn)換成了int型,所以最后得到的結(jié)果也是int類型。
40.00解析:已知a=10,b=20,所以邏輯表達(dá)式a<b的值為true,即為1,在這個(gè)表達(dá)式前面有一個(gè)邏輯運(yùn)算符!,表示反操作,所以整個(gè)語(yǔ)句的值應(yīng)當(dāng)為false,即為0。
41.B解析:break語(yǔ)句可以根據(jù)需要,使用在循環(huán)體和switch語(yǔ)句體內(nèi),因此B是可選項(xiàng)。
42.C答案C
解析:在語(yǔ)句“k=*f(a,b)”中,由于“()”的優(yōu)先級(jí)高于“*”,所以“*f(a,b);”表示其返回類型為指針的帶有兩個(gè)整型參數(shù)的函數(shù)。
43.C
44.C解析:整型變量x、y的初值都為1,“x++,y++,++y”是一個(gè)逗號(hào)表達(dá)式,程序執(zhí)行“z=x++,y++,++y”后,x的值為2,y的值為3,z取豆號(hào)表達(dá)式中第二個(gè)表達(dá)式的值,為1。
45.A解析:?:運(yùn)算符首先執(zhí)行?之前的表達(dá)式,如果表達(dá)式的值為真,則返回?和:之間的表達(dá)式的值,否則返回:之后的表達(dá)式的值。本題中m比x和y都要小,所以,3個(gè)表達(dá)式都沒(méi)有改變m的值,故應(yīng)該選擇A。
46.D解析:本題主要考查自加(++)、自減(--)運(yùn)算符的使用?!?+i,--i”在使用i之前,先使i的值加1或者減1,然后再使用i此時(shí)的值參與運(yùn)算;“i++,i--”是在使用i參與表達(dá)式運(yùn)算之后,再使i的值加1或者減1。本題中--a和++b是先執(zhí)行a減1和b加1操作,再輸出表達(dá)式的值。
47.B解析:第1次執(zhí)行for循環(huán),p[1][0]=p[1][0]-1=3:第2次執(zhí)行for循環(huán),p[1][1]=p[1][1]-1=4:第3次執(zhí)行for循環(huán),p[1][2]=1,最后輸出的是a[0][1]+a[1][1]+a[1][2]=2+4+1=7。
48.A解析:本題考查函數(shù)調(diào)用時(shí)的參數(shù)傳遞。函數(shù)的形參是函數(shù)定義時(shí)由用戶定義的形式上的變量,實(shí)參是函數(shù)調(diào)用時(shí),主調(diào)函數(shù)為被調(diào)函數(shù)提供的原始數(shù)據(jù)。
在函數(shù)調(diào)用時(shí),實(shí)參和其所對(duì)應(yīng)的形參分別占用不同的存儲(chǔ)單元,彼此之間不影響。
49.D本題考查參數(shù)的宏替換。為避免二義性有
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度環(huán)??萍脊疚膯T聘用及綠色創(chuàng)新協(xié)議
- 二零二五年度農(nóng)村私人土地租賃與特色養(yǎng)殖合作合同
- 二零二五年度跨境電商金融服務(wù)商務(wù)協(xié)議書
- 小微企業(yè)市場(chǎng)開(kāi)拓的營(yíng)銷推廣計(jì)劃
- 電商平臺(tái)用戶行為規(guī)范及免責(zé)聲明
- 車位抵押借款合同協(xié)議
- 企業(yè)信息化改造升級(jí)合作協(xié)議
- 設(shè)備采購(gòu)說(shuō)明文書模板
- 提高團(tuán)隊(duì)協(xié)作效率的行動(dòng)計(jì)劃
- 物流運(yùn)輸安全及免責(zé)承諾書
- (三級(jí))工業(yè)機(jī)器人運(yùn)用與維護(hù)理論考試復(fù)習(xí)題庫(kù)(含答案)
- 2024年廣東省公務(wù)員錄用考試《行測(cè)》真題及解析
- 高中英語(yǔ)必背3500單詞表(完整版)
- 房產(chǎn)中介居間服務(wù)合同模板樣本
- 海洋工程裝備保險(xiǎn)研究
- 2024年廣東省深圳市中考英語(yǔ)試題含解析
- GB/T 16288-2024塑料制品的標(biāo)志
- 麻風(fēng)病防治知識(shí)課件
- 3素炒圓白菜 教案
- 透析患者營(yíng)養(yǎng)不良護(hù)理
- 學(xué)生消防安全常識(shí)問(wèn)卷及答案
評(píng)論
0/150
提交評(píng)論