版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年河北省秦皇島市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.具有n個(gè)結(jié)點(diǎn)的連通圖至少有()條邊。
A.n-1B.nC.n(n-1)/2D.2n
2.有以下程序段chareh;intk;ch='a';k=12;printf("%c,%d,",ch,ch,k);printf("k=%d\n",k);已知字符a的ASCII碼值為97,則執(zhí)行上述程序段后輸出結(jié)果是
A.因變量類型與格式描述符的類型不匹配輸出無(wú)定值
B.輸出項(xiàng)與格式描述符個(gè)數(shù)不符,輸出為零值或不定值
C.a,97,12k=12
D.a,97,k=12
3.下面排序算法中,初始數(shù)據(jù)集的排列順序?qū)λ惴ǖ男阅軣o(wú)影響的是()
A.堆排序B.插入排序C.冒泡排序D.快速排序
4.下面的哪個(gè)保留字不能作為函數(shù)的返回類型()。
A.voidB.intC.newD.long
5.命令“DIRA:*.*/W”的功能是()
A.寬行顯示A盤(pán)當(dāng)前目錄的所有文件
B.寬行顯示A盤(pán)所有目錄的所有文件
C.寬行顯示A盤(pán)的所有目錄
D.顯示A盤(pán)中的文件名,每滿一屏后停頓一下
6.有說(shuō)明語(yǔ)句“inta,b;”,如果輸入111222333,使得a的值為111,b的值為333,則以下正確的語(yǔ)句是()。A.scanf("%3d%*3d%3d",&a,&b);
B.scanf("%*3d%3d%3d",&a,&b);
C.scanf("%3d%3d%*3d",&a,&b);
D.scanf("%3d%*2d%3d",&a,&b);
7.在inta=3,int*p=&a;中,*p的值是()。
A.變量a的地址值B.無(wú)意義C.變量p的地址值D.3
8.在一棵高度為5的理想平衡樹(shù)中,至少含有16個(gè)結(jié)點(diǎn),最多含有()個(gè)結(jié)點(diǎn)。
A.31B.32C.30D.33
9.在定義inta[3][2]以后,對(duì)a的引用正確的是()
A.a[0,0]B.a[3][0]C.a[2][2]D.a[0][0]
10.以三級(jí)模式為框架形成的3種數(shù)據(jù)庫(kù)中,真實(shí)存在于計(jì)算機(jī)外存的數(shù)據(jù)庫(kù)是()。
A.概念數(shù)據(jù)庫(kù)B.用戶數(shù)據(jù)庫(kù)C.物理數(shù)據(jù)庫(kù)D.邏輯數(shù)據(jù)庫(kù)
11.有以下程序:intfun(intn){if(n==l)returnl;elsereturn(n+fun(n一1)):}main{intx;scanf("%d",&x);x=fun(x);printf("%d\n",x):}執(zhí)行程序時(shí),給變量X輸入10,程序的輸出結(jié)果是()。A.55B.54C.65D.45
12.
13.下列語(yǔ)句中,說(shuō)法正確的是______。
A.C程序書(shū)寫(xiě)格式嚴(yán)格,每行只能寫(xiě)一個(gè)語(yǔ)句
B.C程序書(shū)寫(xiě)格式嚴(yán)格,每行必須有行號(hào)
C.C程序書(shū)寫(xiě)格式自由,每行可以寫(xiě)多條語(yǔ)句,但之間必須用逗號(hào)隔開(kāi)
D.C程序書(shū)寫(xiě)格式自由,一個(gè)語(yǔ)句可以分寫(xiě)在多行
14.下列程序的運(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
15.有下列程序:main(){char*P[]={"3697","2584");inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!=\0){if((p[i][j]-t\0)%2)num=10*num+p[j][j]-0;j+=2;}}printf("%d\n",num);}程序執(zhí)行后的輸出結(jié)果是()。A.35B.37C.39D.3975
16.結(jié)構(gòu)化分析方法是面向()的自頂向下、逐步求精進(jìn)行需求分析的方法
A.對(duì)象B.數(shù)據(jù)結(jié)構(gòu)C.數(shù)據(jù)流D.目標(biāo)
17.允許對(duì)隊(duì)列進(jìn)行的操作有()。
A.對(duì)隊(duì)列中的元素排序B.取出最近進(jìn)隊(duì)的元素C.在隊(duì)頭元素之前插入元素D.刪除隊(duì)頭元素
18.當(dāng)很頻繁的對(duì)序列中部進(jìn)行插入和刪除操作時(shí),應(yīng)該選擇使用的容器是()
A.vectorB.listC.dequeD.stack
19.定義學(xué)生選修課程的關(guān)系模式如下:SC(S#,Sn,C#,Cn,G,Cr)(其屬性分別為學(xué)號(hào)、姓名、課程號(hào)、課程名、成績(jī)、學(xué)分)則對(duì)主屬性部分依賴的是()。
A.C#→CnB.(S#,C#)→GC.(S#,C#)→S#D.(S#,C#)→C#
20.執(zhí)行下列程序后,輸出的結(jié)果是()。#include<stdio.h>#defineS(X)X*Xvoidmain{inta=9,k=3,m=2;a/=S(k+m)/S(k+m):printf("%d",a);}A.1B.4C.9D.0
二、2.填空題(20題)21.以下程序的功能是輸出如下形式的方陣:
13141516
9101112
5678
1234
請(qǐng)?zhí)羁铡?/p>
main()
{inti,j,x;
for(j=4;j>0;j--)
{for(i=1;i<=4;i++)
{x=(j-1)*4+【】;
printf("%4d",x);
}
printf("\n");
}
}
22.以下程序運(yùn)行后的輸出結(jié)果是______。
main()
{
intx=15;
while(x>10&&x<50)
{
x++;
if(x/3){x++;break;}
elsecontinue;
}
printf("%d\n",x);
}
23.在面向?qū)ο蠓椒ㄖ校畔㈦[蔽是通過(guò)對(duì)象的______性來(lái)實(shí)現(xiàn)的。
24.用以下語(yǔ)句調(diào)用庫(kù)函數(shù)malloc,使字符指針st指向具有11個(gè)字節(jié)的動(dòng)態(tài)存儲(chǔ)空間,請(qǐng)?zhí)羁铡t=(char*)【】;
25.已定義charch=′$′;inti=1,j;,執(zhí)行j!=ch&&i++以后,i的值為【】。
26.以下程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{FILE*fp;inta[10]={1,2,3,0,0},i;
fp=fopen("d2.dat","wbt");
fwtite(a,sizeof(int),5,fp);
fwlite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a,sizeof(int),10,fp);
fclose(fp);
for(i=0;i
27.按“先進(jìn)后出”原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是[]。
28.執(zhí)行下列語(yǔ)句段后,x的值是______。
int*p,x;
x=100;
p=&x;
x=*p+50;
29.下列程序的輸出結(jié)果是______。
#defineLEN5
inta[LEN],k;
main()
{fun1();
fun2();
}
fun1()
{for(k=0;k<LEN;k++)
a[k]=k;
}
fun2()
{intk;
for(k=0;k<LEN;k++)
printf("%d",*(a+k));
}
30.當(dāng)數(shù)據(jù)的物理結(jié)構(gòu)(存儲(chǔ)結(jié)構(gòu))改變時(shí),不影響數(shù)據(jù)庫(kù)的邏輯結(jié)構(gòu),從而不致引起應(yīng)用程序的變化,這是指數(shù)據(jù)的_______。
以下程序的輸出結(jié)果是#include<stdio.h>voidprt(int*x,int*y,int*z){printf("%d,%d,%d\n",++*x,++*y,*(z++));}main(){inta=10,b=40,c=20;prt(&a,&b,&c);prr(&a,&b,&c);}
31.函數(shù)mycmp(char*s,char*t)的功能提比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,當(dāng)s>t返回正值,當(dāng)s<t時(shí)返回負(fù)值。請(qǐng)?zhí)羁铡?/p>
mycmp(char*s,char*t)
{while(*s==*t)
{if(*s=='\0')return0;
++s;++t;
}
return(【】)
}
32.在宏定義#definePI3.14159中,用宏名PI代替一個(gè)______。
33.若a是血型變量,且a的初值為4,則計(jì)算a+=a-=a*a表達(dá)式后a的值為_(kāi)_____。
34.有以下程序:
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é)果是【】。
35.注釋說(shuō)明了程序的功能,它分為【】注釋和功能性注釋。
36.下列程序的運(yùn)行結(jié)果是______。
#include<stdio.h>
main()
{inta,b,c,n;
a=2;b=0;c=1;n=1;
while(n<=3)
{c=c*a;b=b+c;++n;}
printf("b=%d",B);
}
37.下面的程序?yàn)?個(gè)整型變量A、B、C、D、E、F輸入整數(shù),并按從大到小的順序輸出整數(shù)及其所對(duì)應(yīng)的變量名。例如,輸入的數(shù)為3、2、5、7、4、6,則輸出的形式為:D(7)F(6)C(5)E(4)A(3)B(2)。
#include<stdio.h>
intA,B,C,D,E,F(xiàn);
struct
{
charn;
【】;
}tb1[]={{'A',&A},{'B',&B},{'C',&c},{'D',&D),{'E',&E},{'F',&F}},t;
main()
{
inti,j;
for(i=0;i<6;i++)scanf("%d",【】);
for(i=0;i<5;i++)
for(j=0;j<5-i;j++)
if(【】)
{
t=tb1[j];
tb1[j]=tb1[j+1];
tb1[j+1]=t;
}
for(i=0;i<6;i++)printf("%c(%d)",tb1[i].n,*tb1[i].p);
printf("\n");
}
38.數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為【】。
39.設(shè)有下列宏定義:
#defineA2
#defineB(A+3)
則執(zhí)行賦值語(yǔ)句"k=B*20;"(k為int型變量)后,k的值是______。
40.深度為5的滿二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為_(kāi)_____。
三、1.選擇題(20題)41.在C語(yǔ)言中,函數(shù)中變量的隱含存儲(chǔ)類別是______。
A.autoB.staticC.externD.無(wú)存儲(chǔ)類別
42.有以下程序:main(intargc,char*argv[]){intn=0,i;for(i=1;i<argc;i++)n=n*10+*argv[i]-'0';printf("%d\n",n);}編譯連接后生成可執(zhí)行文件tt.exe。若運(yùn)行時(shí)輸入以下命令行tt12345678程序運(yùn)行后的輸出結(jié)果是()。
A.12B.12345C.12345678D.136
43.以下程序的功能是:建立一個(gè)帶有頭結(jié)點(diǎn)的單向鏈表,并將存儲(chǔ)在數(shù)組中的字符依次轉(zhuǎn)存到鏈表的各個(gè)結(jié)點(diǎn)中,請(qǐng)為下劃線處選擇正確的選項(xiàng)。#include<stdlib.h>stuctnodechardata;structnode*next;};()CreatList(char*s)struetnode*h,*p,*q;h=(struetnode*)ma]loc(sizeof(structnode));p=q=h;while(*s!='\0')p=(structnode*)ma]loc(sizeof(structnode));p->data=*s;q->next=p;q=p;s++;}p->next='\0';returnhmain()charstr[]="linklist";struetnode*head;head=CreatList(str);
A.char*B.struetnodeC.structnode*D.char
44.設(shè)有以下程序段;inta[5]={0},*p,*q;p=a;q=a;則合法的運(yùn)算是______。
A.p+qB.p-qC.p*qD.p%q
45.下列模式中,能夠給出數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法的是A.內(nèi)模式B.外模式C.概念模式D.邏輯模式
46.以下選項(xiàng)中不合法的標(biāo)識(shí)符是
A.printB.FORC.&aD._00
47.設(shè)在C語(yǔ)言中,float類型數(shù)據(jù)占4個(gè)字節(jié),則double類型數(shù)據(jù)占()個(gè)字節(jié)。
A.1B.2C.8D.4
48.以下程序的輸出結(jié)果是#include<stdio.h>main(){unionun{inti;longk;charc;};structbyte{inta;longb;unionunc;}r;printf("%d\n",sizeof(r));}
A.10B.13C.7D.8
49.在C語(yǔ)言中,下列關(guān)于文件操作的敘述正確的是()。
A.對(duì)文件操作必須先關(guān)閉文件B.對(duì)文件操作必須先打開(kāi)文件C.對(duì)文件操作順序沒(méi)有統(tǒng)一規(guī)定D.以上全錯(cuò)
50.結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成,三種基本的結(jié)構(gòu)組成的算法
A.可以完成任何復(fù)雜的任務(wù)B.只能完成部分復(fù)雜的任務(wù)C.只能完成符合結(jié)構(gòu)化的任務(wù)D.只能完成些簡(jiǎn)單的仟?jiǎng)?wù)
51.鏈表不具有的特點(diǎn)是()
A.不必事先估計(jì)存儲(chǔ)空間B.可隨機(jī)訪問(wèn)任一元素C.插入刪除不需要移動(dòng)元素D.所需空間與線性表長(zhǎng)度成正比
52.有如下程序main(){intx=3;do{printf("%d",x--);}while(!x);}該程序的執(zhí)行結(jié)果是______。
A.321B.3C.不輸出任何內(nèi)容D.陷入死循環(huán)
53.下列程序的輸出結(jié)果是______。#include<stdio.h>main(){inta=2,c=5;printf("a=%%d,b=%%d\n",a,c);}
A.a=%2,b=%5B.a=2,b=5C.a=%%d,%%dD.a=%d,b=%d
54.在C語(yǔ)言中,形參的缺省存儲(chǔ)類是
A.autoB.registerC.staticD.extern
55.有以下程序:main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}執(zhí)行后輸出結(jié)果是()。
A.11122B.12C.12020D.120
56.下列各m的值中,能使m%3==2&&m%5==3&&m%7==2為真的是______。
A.8B.23C.17D.6
57.有以下程序
main()
{inti,s=0,t[]={l,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);printf("%d\n",s);}
程序執(zhí)行后的輸出結(jié)果是
A.45B.20C.25D.36
58.下列程序的輸出結(jié)果是()。#include<stdio.h>voidfun(int*a,int*B){int*k;k=a;a=b;b=k;}main(){inta=1,b=2,*x=&a,*y=&b;fun(x,y);printf("%d%d",a,B);}
A.21B.12C.編譯出錯(cuò)D.00
59.下面程序的輸出結(jié)果是______。#include<stdio.h>main(){char*p[]="BOOL","OPK","H","SP"};inti;for(i=3;i>=0;i-,i-)printf("%c",*p[i]);printf("\n");}
A.SOB.SPC.SPOPKD.SHOB
60.以下程序的輸出結(jié)果是_______。main(){charst[20]="hello\0\t\\";printf(%d%d\n",strlen(st),sizeof(st));}
A.99B.520C.1320D.2020
四、選擇題(20題)61.有如下說(shuō)明inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;則數(shù)值為9的表達(dá)式是()
A.*p+9B.*(p+8)C.*p+=9D.p+8
62.
下述程序的輸出結(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;
else
p[1][i]=1;)
printf("%d\n",a[0][1]+a[1][1]+a[1][2]);}
A.8B.7C.12D.9
63.有以下程序:
若要按以下形式輸出數(shù)組右上半三角:
則在程序下劃線處應(yīng)填人的語(yǔ)句是()。
A.i-1B.i+1C.iD.4-i
64.
65.以下函數(shù)實(shí)現(xiàn)按每行8個(gè)輸出w所指數(shù)組中的數(shù)據(jù)
66.有以下程序:
程序執(zhí)行后的輸出結(jié)果是()。
A.321,cbaB.abc,123C.123,abcD.lbe,a23
67.以下敘述中錯(cuò)誤的是()。
A.改變函數(shù)形參的值,不會(huì)改變對(duì)應(yīng)實(shí)參的值
B.函數(shù)可以返回地址值
C.可以給指針變量賦一個(gè)整數(shù)作為地址值
D.當(dāng)在程序的開(kāi)頭包含文件stdi0.h時(shí),可以給指針變量賦NULL
68.若有下面的程序段
#include"stdio.h"
main()
{inti=6;
while(i--)
printf("%d",--i);
printf("\n");
}
那么程序的輸出結(jié)果為
A.531B.420
C.654321D.死循環(huán)
69.
70.有以下程序
main()
{
intx[]={1,3,5,7,2,4,6,0},i,j,k;
for(i=0;i<3;i++)
for(j=2;j>=i;j--)
if(x[j+1]>x[j])
{
k=x[j];
x[j]=x[j+1];
x[j+1]=k;
}
for(i=0;i<3;i++)
for(j=4;j<7-i;j++)
if(x[j]>x[j+1])
{
k=x[j];
x[j]=x[j+1];
x[j+1]=k;
}
for(i=0;i<8;i++)
printf("%d",x[i]);
printf("\n");
}
程序運(yùn)行后的輸出結(jié)果是
A.75310246B.01234567
C.76310462D.13570246
71.以下敘述中正確的是
A.C語(yǔ)言比其他語(yǔ)言高級(jí)
B.C語(yǔ)言可以不用編譯就能被計(jì)算機(jī)識(shí)別執(zhí)行
C.C語(yǔ)言以接近英語(yǔ)國(guó)家的自然語(yǔ)言和數(shù)學(xué)語(yǔ)言作為語(yǔ)言的表達(dá)形式
D.C語(yǔ)言出現(xiàn)得最晚,具有其他語(yǔ)言的一切優(yōu)點(diǎn)
72.
有下列程序:
main
{char*p[]={"3697","2584"};
inti,j;longnum=0;
for(i=0;i<2:i++)
{j=0;
while(p[i][j]!=\0)
{if((p[i][j]-\0)%2)num=1O*num+p
[j][j]-0;
j+=2;
}
}
printf("%d\n",num);
}
程序執(zhí)行后的輸m結(jié)果是()。
A.35B.37C.39D.3975
73.
74.設(shè)有定義:“struct{charmarkp[l2];intnuml;doublenum2;}tl,t2;”,若變量均已正確賦初值,則以下語(yǔ)句中錯(cuò)誤的是()。
A.t1=t2;
B.t2.num1=tl.numl;
C.t2.mark=tl.mark;
D.t2.num2=tl.num2;
75.
76.
77.下列哪個(gè)不屬于DOM元素結(jié)點(diǎn)類型?
A.元素結(jié)點(diǎn)B.文本結(jié)點(diǎn)C.屬性結(jié)點(diǎn)D.樣式結(jié)點(diǎn)
78.以下能正確定義一維數(shù)組的選項(xiàng)是()。
A.inta[5]=(0,1,2,3,4,5);
B.chara[]={0,1,2,3,4,5);
C.chara={'A','B','C'};
D.inta[5]="0123";
79.在黑盒測(cè)試方法中,設(shè)計(jì)測(cè)試用例的主要根據(jù)是()。
A.程序外部功能B.程序內(nèi)部邏輯C.程序數(shù)據(jù)結(jié)構(gòu)D.程序流程圖
80.有以下程序:
若運(yùn)行時(shí)輸入:123<回車>,則輸出結(jié)果是()。
A.編譯錯(cuò)誤2000B.102000C.122030D.10
五、程序改錯(cuò)題(1題)81.下列給定程序中,函數(shù)proc的功能是:讀入一個(gè)字符串(長(zhǎng)度<20),將該字符串中的所有字符按ASCIl碼升序排序后輸出。
例如,輸入opdye,則應(yīng)輸出deopy。
請(qǐng)修改程序中的錯(cuò)誤,使它能得到正確結(jié)果。
注意:不要改動(dòng)main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include%string.h>
#include%stdlib.h>
#include<conio.h>
#include<stdio.h>
//****found****
intproc(charstr[])
{
charC;
unsignedi,j;
for(i=0;i<strlen(str)-1;i++)
for(j=i+1;j<strlen(str);j4-+)
if(str[i]>str[j])
{
c=str[j]:
//****found****
str[j]=str[i++];
str[i]=C;
}
}
voidmain
{
charst/[81];
system("CLS");
printf("\nPleaseenteracharacter
string:");
gets(str);
printf("\nknBeforesorting:\n%s",str);
proc(str);
printf("\nAftersortingdecendingly:\n
%S",str);
}
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開(kāi)考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個(gè)源程序文件prog1.c。在此程序中,請(qǐng)編寫(xiě)函數(shù)fun(),其功能是將放在字符串?dāng)?shù)組中的M個(gè)字符串(每個(gè)字符串的長(zhǎng)度不超過(guò)N),按順序合并成一個(gè)新的字符串。例如,若字符串?dāng)?shù)組中的M個(gè)字符串為|“AAAA”,“BBBBBBB”,“CC”|,則合并后的字符串內(nèi)容應(yīng)該是“AAAABBBBBBBCC”。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號(hào)中填入你編寫(xiě)的若干語(yǔ)句。試題程序:#include<stdio.h>#include<conio.h>#defineM3#defineN20voidfun(chara[M][N],char*b){}voidmain(){ charw[M][N]={“AAAA”,“BBBBBBB”,“CC”}; chara[100]={“##################”}; inti; printf(“Thestring:\n”); for(i=0;i<=""p=""> puts(w[i]); printf(“\n”); fun(w,a); printf(“TheAstring:\n”); printf(“%s”,a); printf(“\n\n”);}
參考答案
1.A
2.D解析:輸出格式控制符%c表示將變量以字符的形式輸出;輸出格式控制符%d表示將變量以帶符號(hào)的十進(jìn)制整型數(shù)輸出,所以第一個(gè)輸出語(yǔ)句輸出的結(jié)果為a,97;第二個(gè)輸出語(yǔ)句輸出的結(jié)果為k=12。
3.A
4.C
5.A
6.A根據(jù)題意,要使a的值為111,b的值為333,必須在讀入時(shí)指定a的讀入寬度為3,b的讀入寬度為3,且a和b的控制字符之間必須額外增加%*控制符,用于跳過(guò)中間的3位輸入數(shù)字,選項(xiàng)A正確。本題答案為A選項(xiàng)。
7.D
8.A
9.D
10.B
\n①以內(nèi)模式為框架所組成的數(shù)據(jù)庫(kù),1物理數(shù)據(jù)庫(kù);②以概念模式為框架所組成的數(shù)據(jù)庫(kù)叫概念數(shù)據(jù)庫(kù);③以外模式為框架所組成的數(shù)據(jù)庫(kù)叫用戶數(shù)據(jù)庫(kù)。它是真實(shí)存在于計(jì)算機(jī)外存中的數(shù)據(jù)庫(kù)。
\n
11.A函數(shù)intfun(intn)的功能是求1+2+…+n的值并返回。所以執(zhí)行程序時(shí),給變量x輸入10后,執(zhí)行語(yǔ)句“x=fun(x);”,X的值將變?yōu)?到10中10個(gè)整數(shù)的累加和,即55。
12.B
13.D
14.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ù)組。
15.D執(zhí)行第一次for循環(huán)時(shí),用表達(dá)式p[i][J]!=\o來(lái)判斷字符串?dāng)?shù)組指針P是否到達(dá)字符串的結(jié)尾,如果沒(méi)有到達(dá),繼續(xù)執(zhí)行while中的語(yǔ)句。if語(yǔ)句表示(p[i][j]-\o)除2的余數(shù)不為0時(shí),即字符串所有奇數(shù),執(zhí)行后面的語(yǔ)句。所以退出第1次for的循環(huán)體時(shí),輸出為397,執(zhí)行第2次循環(huán)體。對(duì)字符串“2584”進(jìn)行處理,輸出結(jié)果為5,因而最后輸出結(jié)果為3975。
16.CC。【解析】結(jié)構(gòu)化分析方法是面向數(shù)據(jù)流進(jìn)行需求分析的方法,采用自頂向下、逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。
17.D
18.B
19.A關(guān)系SC中的主鍵是(S#,C#),但C#(課程號(hào))單獨(dú)就可以決定Cn(課程名),存在著對(duì)主鍵的部分依賴。本題答案為A選項(xiàng)。
20.D本題主要考查帶參數(shù)的宏定義,過(guò)程如下:由于定義為define(x)x*x沒(méi)有括號(hào)優(yōu)先級(jí),所以:a=a/(S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m)=9/(3+2*3+2/3+2*3+2)=0。
21.ii解析:外循環(huán)是遞減的,方陣中的每個(gè)元素為(j-1)*4+i,因此空格處填i。
22.1717解析:break語(yǔ)句只能在循環(huán)體和switch語(yǔ)句體內(nèi)使用,當(dāng)break出現(xiàn)在循環(huán)體中的switch語(yǔ)句體內(nèi)時(shí),其作用只是跳出該switch語(yǔ)句體。當(dāng)break出現(xiàn)在循環(huán)體中,但不在switch語(yǔ)句體內(nèi)時(shí),則在執(zhí)行break后,跳出本層循環(huán)體。而continue語(yǔ)句的作用時(shí)結(jié)束本次循環(huán),即跳過(guò)本次循環(huán)中余下尚未執(zhí)行的語(yǔ)句,接著再一次進(jìn)行循環(huán)的條件判定。本題中首先定義了一個(gè)變量x并賦初值15,然后判斷循環(huán)條件“x>5&&x<50”,即“x>5&&x<50”,為真,執(zhí)行循環(huán)體.語(yǔ)句“x++;”執(zhí)行后,x的值變?yōu)?6,“X/3”的值為5為真,執(zhí)行其后的語(yǔ)句“x++;”,x的值變?yōu)?7,執(zhí)行語(yǔ)句“break”,退出循環(huán),輸出。x的值為17。
23.封裝封裝
24.malloc(11)malloc函數(shù)的格式是void*(或char*)malloc(size),size表示應(yīng)分配的存儲(chǔ)區(qū),此題要分配11字節(jié)的單元,把11代入即可。
25.11解析:在執(zhí)行邏輯表達(dá)式'j=!ch&&i++'時(shí),首先判斷j=!ch的值,因?yàn)?ch=\'$\''不為0,所以'j=!ch=0',編譯系統(tǒng)便不再計(jì)算表達(dá)式'i++'的值,i的值不變,仍為1。
26.解析:本題考查文件讀寫(xiě)函數(shù)fread和fwrite的用法。fwrite函數(shù)將數(shù)組a的前5個(gè)元素輸出到文件fp中兩次,共10個(gè)字節(jié),再調(diào)用fread函數(shù)從文件fp中讀取這10個(gè)字節(jié)的數(shù)據(jù)到數(shù)組a中,此時(shí)數(shù)組a的內(nèi)容就變?yōu)閧1,2,3,0,0,1,2,3,0,)},最后的輸出結(jié)果為“1,2,3,0,0,1,2,3,0,0,”。
27.棧棧解析:棧和隊(duì)列都是—種特殊的操作受限的線性表,只允許在端點(diǎn)處進(jìn)行插入和刪除。二者的區(qū)別是:棧只允許在表的—端進(jìn)行插入或刪除操作,是—種“先進(jìn)后出”的線性表;而隊(duì)列只允許在表的—端進(jìn)行插入操作,在另—端進(jìn)行刪除操作,是—種“先進(jìn)先出”的線性表。
28.150150解析:本題先給變量x賦初始值100,然后將指針p指向變量x,*p是取指針p所指地址的內(nèi)容,即100,所以x=100+50=150。
29.01234。01234。解析:函數(shù)fun1給數(shù)組a的每個(gè)元素賦值,fun2則輸出結(jié)果。
30.B
31.*s-*t或-*t+*s*s-*t或-*t+*s解析:函數(shù)的兩個(gè)形參是兩個(gè)字符指針變量,字符串的首地址是指針變量的值,*s和*t表示字符串?dāng)?shù)組s和t的第一個(gè)字符,在while循環(huán)中,是通過(guò)s和t值的不斷變化來(lái)改變指針?biāo)赶虻淖址?,要改變s和t所指不同字符的ASCII碼的差值,必須使用“*s-*t”得出。
32.字符串字符串解析:本題考查字符替換格式:#define標(biāo)識(shí)符字符串。
33.-24-24解析:本題考查賦值運(yùn)算符a+=b等價(jià)于a=a+b;a-=a*a等價(jià)于a-a-a*a=4-4*4=-12:a+=a,即a=a+a=-24。
34.n=4n=4解析:continue語(yǔ)句是結(jié)束本次循環(huán)。i=2時(shí)因i%3條件為真,故不執(zhí)行do-while語(yǔ)句中的n++,只執(zhí)行一次n++得n=1;i=3時(shí),i%3條件為假,執(zhí)行兩次n++得n=3;i=4時(shí),i%3條件為真,執(zhí)行一次n++得n=4。
35.序言性序言性解析:注釋一般分為序言性注釋和功能性注釋。
36.b=14b=14解析:分析程序可知,n的初始值為1,因此,while(n<=3)循環(huán)3次。第1次:c=c*a=2:b=b+c=2;n=2。第2次:c=c*a=4;b=-b+c=6;n=3。第3次;c=c*a=8:b=b+c=14。當(dāng)n=4時(shí),判斷條件不滿足,退出循環(huán)。
37.int*ptb1[i].p*tb1[j].p<*tb1[j+1].p
38.物理獨(dú)立性物理獨(dú)立性解析:數(shù)據(jù)獨(dú)立性分為邏輯獨(dú)立性與物理獨(dú)立性。當(dāng)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)改變時(shí),其邏輯結(jié)構(gòu)可以不變,因此,基于邏輯結(jié)構(gòu)的應(yīng)用程序不必修改,稱為物理獨(dú)立性。
39.100100解析:本題考查帶參數(shù)的宏定義及相關(guān)運(yùn)算。運(yùn)算過(guò)程為:k=B*20=(A+3)*20=(2+3)*20=100。
40.1616解析:滿二叉樹(shù)的葉子結(jié)點(diǎn)都在最后一層,即第4層,且第4層的結(jié)點(diǎn)達(dá)到最大數(shù),即25-1=16。
41.A解析:函數(shù)中變量的存儲(chǔ)類別包括auto,static,extern,其中auto為隱含存儲(chǔ)類別,static為靜態(tài)存儲(chǔ)類別,register是寄存器存儲(chǔ)類別。
42.D解析:因?yàn)轭}目給出的命令行為tt12345678,所以main函數(shù)的兩個(gè)參數(shù)分別為4和{'tt','12','345','678')。程序中,通過(guò)一個(gè)for循環(huán),遍歷了后面的三個(gè)參數(shù)字符串,每次將n自乘10,然后累加*argv[i]-\'0\',即第i個(gè)參數(shù)字符串的首字符減去\'0\'。一個(gè)數(shù)寧字符減去,O字符,即可得到這個(gè)數(shù)字字符的實(shí)際數(shù)值,因此三次循環(huán)的結(jié)果是讓n的值變?yōu)?36,故本題應(yīng)該選擇D。
43.C解析:本題要求建立一個(gè)structnode類型的數(shù)據(jù)鏈表,從main函數(shù)可知,h是“頭指針”變量,它指向所建立的表的第一個(gè)數(shù)據(jù),函數(shù)的類型應(yīng)該與h的類型一致,所以應(yīng)該填streetnode*。
44.B解析:指向同一字符串的指針可以、也只能進(jìn)行減運(yùn)算,返回一個(gè)整型數(shù)。
45.A數(shù)據(jù)庫(kù)管理系統(tǒng)的三級(jí)模式結(jié)構(gòu)由外模式、模式和內(nèi)模式組成。
外模式,或子模式,或用戶模式,是指數(shù)據(jù)庫(kù)用戶所看到的數(shù)據(jù)結(jié)構(gòu),是用戶看到的數(shù)據(jù)視圖。模式,或邏輯模式,是數(shù)據(jù)庫(kù)中對(duì)全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特性的描述,是所有用戶所見(jiàn)到的數(shù)據(jù)視圖的總和。外模式是模式的一一部分。內(nèi)模式,或存儲(chǔ)模式,或物理模式,是指數(shù)據(jù)在數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)的存儲(chǔ)介質(zhì)上的表示,即對(duì)數(shù)據(jù)的物理結(jié)構(gòu)和存取方式的描述。
46.C解析:考查C語(yǔ)言標(biāo)識(shí)符。C語(yǔ)言合法標(biāo)識(shí)符的命名規(guī)則是:標(biāo)識(shí)符只能由字母、數(shù)字和下劃線組成,并且第一個(gè)字符必須為字母或下劃線。因?yàn)檫x項(xiàng)C)中的標(biāo)識(shí)符的第一個(gè)字符為'&',所以C)為本題的正確答案。
47.C
\n在C語(yǔ)言中各種數(shù)據(jù)類型在內(nèi)存中所占的字節(jié)數(shù)與機(jī)器的位數(shù)有關(guān),16位機(jī)中(也就是在標(biāo)準(zhǔn)c中),若int類型數(shù)據(jù)占2個(gè)字節(jié),則float類型數(shù)據(jù)占4個(gè)字節(jié),double類型數(shù)據(jù)占8個(gè)字節(jié)。
\n
48.A解析:本題主要考查了結(jié)構(gòu)體和共用體數(shù)據(jù)的存儲(chǔ)形式。共用體的一個(gè)特點(diǎn)是所有數(shù)據(jù)成員共用一段存儲(chǔ)單元,而結(jié)構(gòu)體每個(gè)數(shù)據(jù)成員都單獨(dú)占據(jù)一段存儲(chǔ)單元。共用體所占存儲(chǔ)單元的大小由長(zhǎng)度最長(zhǎng)的數(shù)據(jù)成員的長(zhǎng)度決定。題中共用體變量c占據(jù)4個(gè)字節(jié)的長(zhǎng)度,結(jié)構(gòu)體r所占存儲(chǔ)空間的大小為int(2個(gè)字節(jié))+long(4個(gè)字節(jié))+共用體c(4個(gè)字節(jié))=10個(gè)字節(jié),所以答案為A)。
49.B解析:本題考查對(duì)文件的操作。文件打開(kāi)后才可以對(duì)文件進(jìn)行操作,使用結(jié)束后要關(guān)閉文件。對(duì)文件的操作都是順序讀寫(xiě),即從文件的第一個(gè)數(shù)據(jù)開(kāi)始,依次進(jìn)行讀寫(xiě)。
50.A解析:本題考核的知識(shí)點(diǎn)是C程序的三種基本結(jié)構(gòu)。C程序由三種基本的結(jié)構(gòu)組成,分別為順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu),這三種結(jié)構(gòu)可以組成任何復(fù)雜的C程序,即可以完成任何復(fù)雜的任務(wù),故選項(xiàng)B、選項(xiàng)C和選項(xiàng)D都不正確。所以,4個(gè)選項(xiàng)中選項(xiàng)A符合題意。
51.B解析:鏈表采用的是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),它克服了順序存儲(chǔ)結(jié)構(gòu)的缺點(diǎn):它的結(jié)點(diǎn)空間可以動(dòng)態(tài)申請(qǐng)和釋放;它的數(shù)據(jù)元素的邏輯次序靠結(jié)點(diǎn)的指針來(lái)指示,不需要移動(dòng)數(shù)據(jù)元素。但是鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)也有不足之處:①每個(gè)結(jié)點(diǎn)中的指針域需額外占用存儲(chǔ)空間;②鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)是一種非隨機(jī)存儲(chǔ)結(jié)構(gòu)。
52.B解析:本題x賦初值為3,當(dāng)執(zhí)行printf('%d',x-);時(shí),由于X--的作用是先運(yùn)算x,再將x的值減1,所以,printf輸出的x值為3,等輸出后,x的值減1變?yōu)?,繼續(xù)執(zhí)行,判斷條件!x為假,循環(huán)只被執(zhí)行一次。
53.D
54.A解析:本題考核的知識(shí)點(diǎn)是定義函數(shù)時(shí)形參的缺省存儲(chǔ)類。在C語(yǔ)言中,形參的缺省存儲(chǔ)類為auto。
55.A解析:for循環(huán)執(zhí)行了3次,第一次時(shí)i的值為0,執(zhí)行其后的switch語(yǔ)句,沒(méi)有匹配的分支,執(zhí)行default語(yǔ)句后的printf語(yǔ)句,輸出為0;第二次循環(huán)時(shí)i的值為1,執(zhí)行其后的switch語(yǔ)句,與第一個(gè)分支匹配,執(zhí)行其后的primf語(yǔ)句,輸出1,由于沒(méi)有遇到break語(yǔ)句,所以一直向下執(zhí)行,又輸出了兩個(gè)1,第三次循環(huán)時(shí)i值為2,執(zhí)行其后的switch語(yǔ)句,同理輸出兩個(gè)2。所以,A選項(xiàng)是正確的。
56.B
57.C解析:統(tǒng)計(jì)1~9九個(gè)數(shù)中的奇數(shù)和,此題考察指向數(shù)組的指針。C語(yǔ)言規(guī)定數(shù)組名代表數(shù)組的首地址,也就是第一個(gè)元素的地址。因此*(t+i)代表數(shù)組的第i+1個(gè)元素。程序運(yùn)行的結(jié)果是1+2+3+4+5+6+7+8+9=25。
58.B
59.A解析:p[0]存放的是“BOOL\\0”的首地址;p[1]存放的是“OPK\\0”的首址等。在printf語(yǔ)句中輸出的*p[i]表示p[i]字符串的第—個(gè)字符。在for循環(huán)中,i的初值為3,那么輸出的第—個(gè)字符為“S”,接著兩次i-,則輸出的值為*p[1],即字符“O”,所以本題的輸出為SO。
60.B解析:C語(yǔ)言中字符串是以'\\0'字符結(jié)束的,且strlen()函數(shù)計(jì)算的是'\\0'字符前的所有字符的個(gè)數(shù)。本題中strlen(st)應(yīng)為5。數(shù)組定義以后系統(tǒng)就為其分配相應(yīng)大小的內(nèi)存空間,而不論其中有沒(méi)有內(nèi)容。sizeof()函數(shù)是計(jì)算變量或數(shù)組的所分配到的內(nèi)存空間的大小。所以本題的sizeof(st)為20。
61.B解析:在C語(yǔ)言的數(shù)組元素的引用方法,我們?cè)谇懊嬉呀?jīng)講過(guò)了,比如數(shù)組元素a[0],可以用表達(dá)式*(p+0),即*p來(lái)引用,對(duì)于數(shù)組元素a[1],可以用表達(dá)式*(p+1)來(lái)引用,在這里,p+1的值就是數(shù)組元素a[1]的地址,對(duì)此地址使用“間接訪問(wèn)運(yùn)算符”:*(p+1)就代表存儲(chǔ)單元a[1],注意:一對(duì)圓括號(hào)不可少。同樣,對(duì)于數(shù)組元素a[2],則可以用表達(dá)式。(p+2)來(lái)引用…,對(duì)于數(shù)組元素a[9],可以用表達(dá)式,(p+9)來(lái)引用。因此,當(dāng)指針變量p指向a數(shù)組的起始地址時(shí),若0≤i<10,則數(shù)組元素a[i]可以用*(p+i)來(lái)表示。
62.B\n根據(jù)判斷本題共進(jìn)行三次for循環(huán),第一次執(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),[1][2]=1,最后輸出的是a[o][1]+a[1][1]+a[1][2]=2+4+1=7。
\n
63.C此題中嵌套了兩個(gè)for語(yǔ)句,第一個(gè)用來(lái)輸出空格,第二個(gè)用來(lái)輸出數(shù)字。如此類型的輸出某種格式的考題,一般是采用多重循環(huán)來(lái)解決,需要考生找出輸出數(shù)據(jù)的特點(diǎn),并用相應(yīng)的數(shù)學(xué)公式表示出來(lái)。
64.A
65.A當(dāng)i為8的倍數(shù)時(shí),輸出一個(gè)回車符,只有A)符合題意。
66.D字符串是一個(gè)特殊的數(shù)組,所以按照數(shù)組的規(guī)則,sl應(yīng)該指向的是數(shù)組的首地址,即“abc”的第一個(gè)字符的地址。s2指向的是“123”的第一個(gè)字符的地址。調(diào)用swap函數(shù)之后交換的是兩個(gè)字符串的第一個(gè)字符‘a(chǎn)’和‘1’的內(nèi)容,所以打印輸出為D)。
67.C指針變量的值只能是存儲(chǔ)單元地址,而不能是一個(gè)整數(shù),故選項(xiàng)C錯(cuò)誤。
68.B題目給出的程序主要結(jié)構(gòu)是while循環(huán)。自減運(yùn)算符“--”在題目中出現(xiàn)了兩次,一次是在while語(yǔ)句的判別表達(dá)式中,出現(xiàn)的形式為i--,即先利用變量i的值進(jìn)行判別,再執(zhí)行i-1操作。另一次是在輸出函數(shù)printf中,出現(xiàn)的形式為--i,先執(zhí)行i-1操作,
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度出口企業(yè)出口貨物報(bào)關(guān)單據(jù)與憑證管理合同3篇
- 二零二五年餐飲項(xiàng)目合伙經(jīng)營(yíng)合同范本3篇
- 2025年度智能化工廠租賃合同涉及土地使用權(quán)及配套設(shè)施4篇
- 二零二四年臨時(shí)工勞動(dòng)保障與勞動(dòng)法實(shí)施合同3篇
- 專屬2024版企業(yè)人力外包協(xié)議樣本版B版
- 2024鋁合金門(mén)窗生產(chǎn)與安裝一體化工程合同3篇
- 2025年度企業(yè)級(jí)“師帶徒”人才孵化項(xiàng)目合同3篇
- 專業(yè)勞務(wù)派遣協(xié)議樣本2024版B版
- 街道黨工委知識(shí)培訓(xùn)課件
- 2025年度商務(wù)辦公空間租賃安全合同文本4篇
- 專題6.8 一次函數(shù)章末測(cè)試卷(拔尖卷)(學(xué)生版)八年級(jí)數(shù)學(xué)上冊(cè)舉一反三系列(蘇科版)
- GB/T 4167-2024砝碼
- 老年人視覺(jué)障礙護(hù)理
- 《腦梗塞的健康教育》課件
- 《請(qǐng)柬及邀請(qǐng)函》課件
- 中小銀行上云趨勢(shì)研究分析報(bào)告
- 遼寧省普通高中2024-2025學(xué)年高一上學(xué)期12月聯(lián)合考試語(yǔ)文試題(含答案)
- 青海原子城的課程設(shè)計(jì)
- 常州大學(xué)《新媒體文案創(chuàng)作與傳播》2023-2024學(xué)年第一學(xué)期期末試卷
- 麻醉蘇醒期躁動(dòng)患者護(hù)理
- 英語(yǔ)雅思8000詞匯表
評(píng)論
0/150
提交評(píng)論