版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
2022-2023年河南省安陽市全國計算機等級考試C語言程序設(shè)計知識點匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.以下不正確的定義語句是A.A.doublex[5]={2.0,4.0,6.0,8.0,10.0};
B.inty[5.3]={0,1,3,5,7,9};
C.charc1[]={′1′,′2′,′3′,′4′,′5′};
D.charc2[]={′\x10′,′\xa′,′\x8′};
2.
3.下列能正確定義且賦初值的語句是()。
A.intn1=n2=1;
B.charC=99;
C.floatf=f+1;
D.doublex=1.2E5.6;
4.
5.視圖設(shè)計一般有3種設(shè)計次序,下列不屬于視圖設(shè)計的是______。
A.自頂向下B.由外向內(nèi)C.由內(nèi)向外D.自底向上
6.
7.以下選項中非法的字符常量是A.A.'\101'
B.'\65'
C.”\xff'
D.'\019'
8.如果只想得到1024個元素組成的序列中第5個最小元素之前的部分排序的序列,用()方法最快
A.冒泡排序B.快速排序C.簡單選擇排序D.堆排序
9.下列選項中,當(dāng)X為大于1的奇數(shù)時,值為0的表達式是()。
A.x%2==0B.x/2C.x%2!=0D.x%2==1
10.以下敘述中錯誤的是()。
A.線性結(jié)構(gòu)也能采用鏈?zhǔn)酱鎯Y(jié)構(gòu)
B.線性結(jié)構(gòu)一定能采用順序存儲結(jié)構(gòu)
C.有的非線性結(jié)構(gòu)也能采用順序存儲結(jié)構(gòu)
D.非線性結(jié)構(gòu)一定不能采用順序存儲結(jié)構(gòu)
11.連通圖G中有n個頂點,G的生成樹是()連通子圖。
A.包含G的所有頂點B.包含G的所有邊C.不包含G的所有頂點D.包含G的所有頂點和所有邊
12.有以下程序:voidswap1(intC[]){intt;t=c[0];c[0]=C[1];c[1]=t;}voidswap2(intc0,intc1){intt;t=c0;c0=c1;c1=t;}main(){inta[2]={3,5},b[2]={3,5);swapl(a);swap2(b[0],b[1]);printf("%d%d%d%d\n",a[0],a[1],b[0],b[1]);}其輸出結(jié)果是
A.5353B.5335C.3535D.3553
13.有以下程序段:#include<stdio.h>intj;floaty;charname[50];scanf(“%2d%f%s”,&j,&y,name);當(dāng)執(zhí)行上述程序段時,從鍵盤上輸入555667777abc后,y的值為()。
A.566.0B.55566.0C.7777.0D.566777.0
14.下列敘述中錯誤的是()。A.在數(shù)據(jù)庫系統(tǒng)中,數(shù)據(jù)的物理結(jié)構(gòu)必須與邏輯結(jié)構(gòu)一致,
B.數(shù)據(jù)庫技術(shù)的根本目標(biāo)是要解決數(shù)據(jù)的共享問題
C.數(shù)據(jù)庫設(shè)計是指在已有數(shù)據(jù)庫管理系統(tǒng)的基礎(chǔ)上建立數(shù)據(jù)庫
D.數(shù)據(jù)庫系統(tǒng)需要操作系統(tǒng)的支持
15.有下列程序:main{inti,j,x=0;for(i=0,i<2;i++){x++;for(j=0;j<=3;j++){if(j%2)continue;x++:}x++:}printf("x=%d\n",x);}程序執(zhí)行后的輸出結(jié)果是()。A.x=4B.x=8C.x=6D.x=12
16.廣義表((a))的表尾是()。
A.aB.(a)C.((a))D.()
17.以下程序的輸出結(jié)果是().A.A.0B.29C.31D.無定值
18.在循環(huán)雙鏈表的p所指的結(jié)點之前插入s所指結(jié)點的操作是()。A.p->prior->prior
B.p->prior->prior
C.s->prior->next=s
D.s->prior->prior=s
19.以下程序的輸出結(jié)果是_______。main(){inti,a[10];for(i=9;i>=0;i-)a[i]=10-i;print("%d%d%d,a[2],a[5],a[8]);}
A.258B.741C.852D.369
20.某線性表中最常用的操作是在最后一個元素之后插入一個元素和刪除第一個元素,則采用()存儲方式最節(jié)省運算時間。
A.單鏈表B.僅有頭指針的單循環(huán)鏈表C.雙鏈表D.僅有尾指針的單循環(huán)鏈表
二、2.填空題(20題)21.下列程序執(zhí)行后輸出的結(jié)果是【】。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)arr[i]=i;
for(i=1;i<4;i++)k+=arr[i]+i;
printf("%d\n",k);
22.在計算機軟件系統(tǒng)的體系結(jié)構(gòu)中,數(shù)據(jù)庫管理系統(tǒng)位于用戶和【】之間。
23.以下程序段的功能是統(tǒng)計鏈表中結(jié)點的個數(shù),其中first為指向第一個結(jié)點的指針(鏈表帶頭結(jié)點)。請在下劃線內(nèi)填入正確內(nèi)容。
structlink
{chardata;
structlink*next;};
…
structlink*p,*first;
intc=0;
p=first;
while(【】)
{c++;
p=【】;}
24.以下程序運行后的輸出結(jié)果是【】。
main()
{inta[4][4]={{1,2,3,4),{5,6,7,8},{11,12,13,14},{15,16,17,18}};
inti=0,j=0,s=0;
while(i++<4)
{
if(i==2||i==4)continue;
j=0;
do{S+=a[i][j];j++;}while(j<4);
}
printf("%d\n",s);
}
25.以下程序運行后的輸出結(jié)果是______。
structNODE
{intk;
structNODE*link;
};
main()
structNODEm[5],*p=m,*q=m+4;
inti=0;
while(p!=q)
{p->k-++i;p++;
q->k-i++;q--;
}
q->k=i;
for(i-0;i<5;i++)
printf("%d",m[i].k);
printf("\n");
26.以下程序的輸出結(jié)果是【】。
#defineMCRA(m)2*m
#defineMCRB(n,m)2*MCRA(n)+m
main()
{
inti=2,j=3;
printf("%d\n",MCRB(j,MCRA(i)));
}
27.函數(shù)mycmp(char*s,char*t)的功能提比較字符串s和t的大小,當(dāng)s等于t時返回0,當(dāng)s>t返回正值,當(dāng)s<t時返回負(fù)值。請?zhí)羁铡?/p>
mycmp(char*s,char*t)
{while(*s==*t)
{if(*s=='\0')return0;
++s;++t;
}
return(【】)
}
28.下列循環(huán)的循環(huán)次數(shù)是______。
intk=2;
while(k=0)
printf["%d",k);
k--;
printf("\n");
29.有以下程序#include<stdio.h>typedefstruct{intnum;doubles;}REC;voidfunl(REC*x){x->num=23;x->s=88.5;}voidmain(){RECa={16,90.0};fun1(&A);printf("%d\n",a.num);}程序運行后的輸出結(jié)果是()。
30.數(shù)據(jù)庫系統(tǒng)中實現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。
31.下列程序的運行結(jié)果是______。
main()
{intx=1,y=2,z=3;
printf("%d,",x<y?y:x);
printf("%d,",z<y?x++:y++);
printf("%d,%d",x,y);
}
32.數(shù)據(jù)庫設(shè)計分為以下6個設(shè)計階段:需求分析階段、______、邏輯設(shè)計階段、物理設(shè)計階段、實施階段、運行和維護階段。
33.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲結(jié)構(gòu),線性鏈表屬于【】。
34.關(guān)系表達式x<y<z,用C語言的表達式為【】。
35.閱讀下面語句,則程序的執(zhí)行結(jié)果是【】。
#include"stdio.h"
main()
{inta=-1,b=1,k;
if((++a<0)&&!(b--<=0))
printf("%d,%d\n",a,b);
elseprintf("%d,%d\n",b,a);}
36.表達式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類型為______。
37.以下程序的輸出結(jié)果是______。
voidfun()
{staticinta=0;
a+=2;printf("%d",a);
}
main()
{intcc;
for(cc=1;cc<4;cc++)fun();
printf("\n");
}
38.下面程序的執(zhí)行結(jié)果是【】。
main()
{
inta=5,b=4,c=9;
printf("###%d",(a<C)?c*b:a*B);
}
39.在數(shù)據(jù)庫理論中,數(shù)據(jù)物理結(jié)構(gòu)的改變,如存儲設(shè)備的更換、物理存儲的更換、存取方式等都不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不引起應(yīng)用程序的變化,稱為【】。
40.若有定義inta[4][4]={{1,2,3,4},{0},{4,6,8,10},{1,3,5,7}},則初始化后,a[1][1]得到的初值是______。
三、1.選擇題(20題)41.有以下程序:intf(intb[][4]){inti,j,s=0;for(j=0j<4;j++){i=j;if(i>2)i=3-j;s+=b[i][j];}returns;}main(){inta[4][4]={{1,2,3,4},{0,2,4,6},{3,6,9,12},{3,2,1,0}};printf("%d\n",f(a));}執(zhí)行后的輸出結(jié)果是()。
A.12B.11C.18D.16
42.函數(shù)的值通過return語句返回,下面關(guān)于return語句的形式描述錯誤的是
A.return表達式;
B.return(表達式);
C.一個return語句可以返回多個函數(shù)值
D.一個return語句只能返回一個函數(shù)值
43.數(shù)據(jù)存儲和數(shù)據(jù)流都是______,僅僅是所處的狀態(tài)不同。
A.分析結(jié)果B.事件C.動作D.數(shù)據(jù)
44.設(shè)有定義:intk=1,m=2;floatf=7;則以下選項中錯誤的表達式是()。
A.k=k>=kB.-k++C.k%int(f)D.k>=f>=m
45.若要求定義具有10個int型元素的一維數(shù)組a,則以下定義語句中錯誤的是A.#defineN10inta[N];B.#definen5inta[2*n];C.inta[5+5];
D.intn=10,a[n];
46.下列敘述中正確的是()。
A.線性鏈表的各元素在存儲空間中的位置必須是連續(xù)的
B.線性鏈表的頭元素一定存儲在其他元素的前面
C.線性鏈表中的各元素在存儲空間中的位置不一定是連續(xù)的,但表頭元素一定存儲在其他元素的前面
D.線性鏈表中的各元素在存儲空間中的位置不一定是連續(xù)的,且各元素的存儲順序也是任意的
47.若二維數(shù)組a有m列,則在a[i][j]剛前的元素個數(shù)為()。
A.i*m+j-1B.i*m+jC.j*m+iD.i*m+j+1
48.若有語句:char*line[5];,以下敘述中正確的是
A.定義line是一個數(shù)組,每個數(shù)組元素是一個基類型為char的指針變量
B.定義line是一個指針變量,該變量可以指向一個長度為5的字符型數(shù)組
C.定義line是一個指針數(shù)組,語句中的。號稱為間址運算符
D.定義line是一個指向字符型函數(shù)的指針
49.若有定義int(*pt)[3];,則下列說法不正確的是()。
A.int(*pt)[3]是一個數(shù)組指針
B.指針pt指向一個有3個整型變量的數(shù)組
C.定義了一個名為*pt、具有三個元素的整型數(shù)組
D.定義了一個名為pt的指針變量,它可以指向每行有三個整數(shù)元素的二維數(shù)組
50.有以下程序
#include<stdio.h>
main()
{FILE*fp;inti,a[6]={1,2,3,4,5,6};
fp=fopen("d3.dat","w+b");
fwrite(a,sizeof(int),6,fp);
fseek(fp,sizeof(int)*3,SEEK_SET);/*該語句使讀文件的位置指針從文件頭向后移動3個int型數(shù)據(jù)*/
fread(a,sizeof(int),3,fp);fclose(fp);
for(i=0;i<6;i++)printf("%d,",a[i]);
}
程序運行后的輸出結(jié)果是
A.4,5,6,4,5,6,B.1,2,3,4,5,6,C.4,5,6,1,2,3,D.6,5,4,3,2,1,
51.若有以下說明,則對初值中字符a的引用方式為()。staticstruct{charch;doublex;chara();}c[2][3]={{{'a',3.5,"bc"},{'c',4.5,"de"},{'m',8.6,"abc"}},{{'d',8.5,"ic"},{'b',5.5,"dc"},{'n',8.6,"anc'}}};
A.c.chB.c[0][0].chC.c[1][1].chD.a[0]
52.下面程序的輸出結(jié)果是main(){inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}
A.3B.4C.1D.2
53.下列程序的輸出結(jié)果是______。main(){inti,j;for(j=10;j<11;i++){for(i=9;i<j;i++)if(!(j%i))break;if(i>=j-1)printf(”%d”,i);}}
A.11B.10C.9D.1011
54.以下程序片段的輸出結(jié)果是______。charstr[]="abc\n\012\\\"";printf("%d",strlen(str));
A.4B.5C.6D.7
55.設(shè)有如下說明:typedefstruct{intn;charc;doublex;}STD;則以下選項:能正確定義結(jié)構(gòu)體數(shù)組并賦初值的語句是()。
A.STDtt[2]={{1,'A',62},{2,'B',75}};
B.STDtt[2]={1,"A",62,2,"B",75};
C.struettt[2]={{1,'A'},{2,'B'}};
D.structtt[2]={{1,"A",62.5},{2,"B",75.0}};
56.在c語言中,變量的隱含存儲類別是()。
A.autoB.staticC.externD.無存儲類別
57.以下程序的功能是:按順序讀入10名學(xué)生4門課程的成績,計算出每位學(xué)生的平均分并輸出,程序如下:main(){intn.k;floatscore.sum,ave;sum=0.0;for(n=1;n<=10;n++){for(k=1;k<=4;k++){scanf("%f",&score);sum+=score;}ave=sum/4.0;printf("NO%d:%f\n",n,ave);}}上述程序運行后結(jié)果不正確,調(diào)試中發(fā)現(xiàn)有—條語句出現(xiàn)在程序中的位置不正確。這條語句是
A.sum=0.0;
B.sum+=score;
C.ave=sun/4.0;
D.printf("NO%d:%f\n",n,ave);
58.有以下程序:#include<stdio.h>voidsum(int*a){a[0]=a[1];}main(){intaa[10]={1,2,3,4,5,6,7,8,9,10},i;for(i=2;i>=0;i--)sum(&aa[i]);printf("%d\n",aa[0]);}執(zhí)行后的輸出結(jié)果是()。
A.4B.3C.2D.1
59.若執(zhí)行以下程序時從鍵盤上輸入9,則輸出結(jié)果是______。main(){intn;scanf("%d:",&n);if(n++<10)printf("%d\n",n);elseprintf%d\n",n--);}
A.11B.10C.9D.8
60.以下對結(jié)構(gòu)體類型變量的定義中,不正確的是()
A.typedefstructaa{intn;floatm;}AA;AAtdl;
B.#defineAAstructaaAA{intn;floatm;}tdl;
C.struct{intn;floatm;}aa;structaatdl;
D.struct{intn;floatm,}tdl;
四、選擇題(20題)61.
62.
63.
現(xiàn)有以下結(jié)構(gòu)體說明和變量定義,如圖所示,指針p、q、r分別指定一個鏈表中連續(xù)的3個結(jié)點。
structnode
{bardata;
structnode*next;}*p,*q,*r;
現(xiàn)要將q和r所指結(jié)點交換前后位置,同時要保持鏈表的結(jié)構(gòu),下列不能完成此操作的語句是()。
A.q->next=r->next;P>next=r;r->next=q;
B.q->next=r;q->next=r->next;r->next=q;
C.q->next=r->next;r->next=q;P->next=r:
D.q->next=q;P->next=r;q->next=r->next;
64.
65.以下關(guān)于typedef的敘述錯誤的是()。A.用tyFedef可以增加新類型
B.typedef只是將已存在的類型用一個新的名字來代表
C.用typedef可以為各種類型說明一個新名,但不能用來為變量說明一個新名
D.用typedef為類型說明一個新名,通??梢栽黾映绦虻目勺x性
66.計算機能直接執(zhí)行的程序是()。
A.源程序B.目標(biāo)程序C.匯編程序D.可執(zhí)行程序
67.
68.若有定義語句:“charS[3][10],(*k)[3],*p;”,則以下賦值語句正確的是()。
A.p=S;B.p=k;C.p=s[0];D.k=s;
69.下列是用戶自定義標(biāo)識符的是
A._w1B.3_xyC.intD.LINE-3
70.程序中已構(gòu)成如下圖所示的不帶頭結(jié)點的單向鏈表結(jié)構(gòu),指針變量s、p、q均已正確定義,并用于指向鏈表結(jié)點,指針變量s總是作為指針指向鏈表的第一個結(jié)點。
若有以下程序段:
該程序段實現(xiàn)的功能是()。
A.刪除尾結(jié)點B.尾結(jié)點成為首結(jié)點C.刪除首結(jié)點D.首結(jié)點成為尾結(jié)點
71.
72.若在定義語句inta,b,c,*P=&c;之后,接著執(zhí)行以下選項中的語句,則能正確執(zhí)行的語句是()。
A.
B.
C.
D.
73.
74.有以下程序
75.
有以下程序
#include<stdi0.h>
main
{FILE*fp;inta[0]一{1,2,3,0,0},i;
fp=fopen("d2.dat,"wb");
fwrite(a,sizeof(int),5,fp);
fwrite(a,sizeof(int),5,fp);
fclose(fp);
fp=fopen("d2.dat","rb");
fread(a.sizeof(int),10,fp);
fclose(fp);
for(i=0;i<10;i++)printft("%d",a[i]);
}
程序的運行結(jié)果是()。
A.1,2,3,0,0,o,0,0,0,0,
B.1,2,3,1,2,3,0,0,0,0,
C.123,0,0,0,0,123,0,0,0,0,
D.1,2,3,0,0,1,2,3,0,0,
76.
77.若有下列定義,則對a數(shù)組元素地址的正確引用是()。inta[5],*p=a;
A.p+5B.*a+1C.&a+1D.&a[0]
78.以下定義數(shù)組的語句中錯誤的是()。
A.intnum[][3]={{1,2},3,4,5,6};
B.intnUITI[2][4]={{1,2},{3,4},{5,6}};
C.intnum[]={1,2,3,4,5,6};
D.intnum[][4]={1,2,3,4,5,6’};
79.有以下定義語句,編譯時會出現(xiàn)編譯錯誤的是()。
A)
B)
A.
B.
80.有以下程序:
#include<stdio.h>
#defineS(x)4*(x)*x+1
main()
{intk=5,j=2;
printf("%d\n",S(k+j));
}
程序運行后的輸出結(jié)果是()。
A.197B.143C.33D.28
五、程序改錯題(1題)81.下列給定的程序中,函數(shù)proc()的功能是:用選擇法對數(shù)組中的n個元素按從大到小的順序進行排序。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.學(xué)生的記錄由學(xué)號和成績組成,M名學(xué)生的數(shù)據(jù)已在主函數(shù)中放入結(jié)構(gòu)體數(shù)組stu中,請編寫函數(shù)proc(),該函數(shù)的功能是:把高于等于平均分的學(xué)生數(shù)據(jù)放在b所指的數(shù)組中,高于等于平均分的學(xué)生人數(shù)通過形參n傳回,平均分通過函數(shù)值返回。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所編寫的若干語句。試題程序:
參考答案
1.B
2.D
3.B在c語言規(guī)定中,可以在定義變量的同時給變量賦初值,選項A中n2沒有定義;選項C中不能在賦值表達式的右邊出現(xiàn)變量本身,選項D中字母E后面的數(shù)應(yīng)該為整數(shù),所以不對。
4.D
5.B解析:視圖設(shè)汁一般有3種設(shè)計次序,它們分別是自頂向下、自底向上和由內(nèi)
向外,它們又為視圖設(shè)計提供了具體的操作方法,設(shè)計者可根據(jù)實際情況靈活掌握,可以
單獨使用也可混合使用。
注意:數(shù)據(jù)庫概念設(shè)計的過程:首先選擇局部應(yīng)用,再進行局部視圖設(shè)計,最后
對局部視圖進行集成得到概念模式。
6.D
7.D【答案】D
【知識點】字符常量的考察
【解析】在C語言中要求八進制字符常量的表示為\\ddd形式,但是八進制中只有0~7,7個數(shù)字,沒有9這個數(shù)字,所以選擇D。
8.D解析:從平均時間性能而言,快速排序最佳,其所需時間最少,但快速排序在最壞情況下的時間性能不如堆排序和歸并排序。當(dāng)序列中的記錄基本有序或元素個數(shù)較少時,冒泡排序和簡單選擇排序為最佳排序方法,故本題答案應(yīng)該為選項D。
9.A算術(shù)運算符的優(yōu)先級高于關(guān)系運算符的優(yōu)先級。所以當(dāng)x為大于1的奇數(shù)時,A選項的值為假,即0。B選項的值為不定值,但絕對不是0。C選項的值為真,即1。0選項的值為真,即1。故本題答案為A選項。
10.D滿二叉樹與完全二叉樹均為非線性結(jié)構(gòu),但可以按照層次進行順序存儲。本題答案為D選項。
11.A
12.B解析:本題中函數(shù)swapl()是傳遞的地址。所以對該形參c的改變將影響實參,分析可知該函數(shù)的作用,是使數(shù)組c的第一個元素和第二個元素的值互換。主函數(shù)中調(diào)用該函數(shù)將a作為實參傳遞給形參c,故執(zhí)行該函數(shù)后a的第一個元素和第二個元素的值將交換。分別為5和3。函數(shù)swap2()是值傳遞的,所以該函數(shù)執(zhí)行后對數(shù)組b將沒有任何改變,此時該數(shù)組的第一個和第二個元素依然為3和5,因此最后的輸出為5、3、3和5,所以,4個選項中選項B符合題意。
13.Ascanf是格式輸入函數(shù),即按用戶指定的格式從鍵盤上把數(shù)據(jù)輸入指定的變量中。其中,在百分號(%)與格式碼之間的整數(shù)用于限制從對應(yīng)域讀入的最大字符數(shù)。所以j的值為55,y的值為566.0,字符數(shù)組name的值為7777abc。故本題答案為A選項。
14.A解析:本題考查數(shù)據(jù)庫系統(tǒng)的基本概念和知識。數(shù)據(jù)的邏輯結(jié)構(gòu),是數(shù)據(jù)間關(guān)系的描述,它只抽象地反映數(shù)據(jù)元素之間的邏輯關(guān)系,而不管其在計算機中的存儲方式。數(shù)據(jù)的存儲結(jié)構(gòu),又叫物理結(jié)構(gòu),是邏輯結(jié)構(gòu)在計算機存儲器里的實現(xiàn)。這兩者之間沒有必然的聯(lián)系。因此,選項A的說法是錯誤的。
數(shù)據(jù)庫可以看成是長期存儲在計算機內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。因此,數(shù)據(jù)庫具有為各種用戶所共享的特點。不同的用戶可以使用同一個數(shù)據(jù)庫,可以取出它們所需要的子集,而且容許子集任意重疊。數(shù)據(jù)庫的根本目標(biāo)是要解決數(shù)據(jù)的共享問題。因此,選項B的說法是正確的。
數(shù)據(jù)庫設(shè)計是在數(shù)據(jù)庫管理系統(tǒng)的支持下,按照應(yīng)用的要求,設(shè)計一個結(jié)構(gòu)合理、使用方便、效率較高的數(shù)據(jù)庫及其應(yīng)用系統(tǒng)。數(shù)據(jù)庫設(shè)計包含兩方面的內(nèi)容:一是結(jié)構(gòu)設(shè)計,也就是設(shè)計數(shù)據(jù)庫框架或數(shù)據(jù)庫結(jié)構(gòu);二是行為設(shè)計,即設(shè)計基于數(shù)據(jù)庫的各類應(yīng)用程序、事務(wù)等。因此,選項C的說法是錯誤的。
數(shù)據(jù)庫系統(tǒng)除了數(shù)據(jù)庫管理軟件之外,還必須有其他相關(guān)軟件的支持。這些軟件包括操作系統(tǒng)、編譯系統(tǒng)、應(yīng)用軟件開發(fā)工具等。對于大型的多用戶數(shù)據(jù)庫系統(tǒng)和網(wǎng)絡(luò)數(shù)據(jù)庫系統(tǒng),還需要多用戶系統(tǒng)軟件和網(wǎng)絡(luò)系統(tǒng)軟件的支持。因此,選項D的說法是正確的。因此,本題的正確答案是選項A。
15.B在第1次外層for循環(huán)中,首先x++得到x=1。進入到內(nèi)層for循環(huán),只有循環(huán)j的值為奇數(shù)時,變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量x的值自加兩次,當(dāng)退出內(nèi)層for循環(huán)時,x=3,然后執(zhí)行x++,得到x=4。在進入執(zhí)行第2次外層for循環(huán)中,首先x++得到x=5。進入到內(nèi)層for循環(huán),只有循環(huán)變量j的值為奇數(shù)時,變量x的值才自加1,所以在內(nèi)層for循環(huán)執(zhí)行過程中,變量X的值自加1兩次,當(dāng)退出內(nèi)層for循環(huán)時,x=7,然后執(zhí)行x++,得到x=8,所以打印輸出變量x的值為8。
16.D
17.C
18.D
19.C解析:在本題運行時主要注意的是當(dāng)i=9時,a[i]=10-9=1:i=8時,a[i]=10-8=2;i=7時,a[i]=10-7=3;……依此類推,直到i=0時,a[i]=10-0=10:此時,i的值已變?yōu)?1,判斷for的循環(huán)條件,不成立,然后輸出a[2],a[5],a[8]分別為8,5,2。
20.D
21.1212解析:本題的第一個for循環(huán)用于給數(shù)組arr賦初值,第二個for循環(huán)用于求和運算。由于第二個for循環(huán)初始值為1,而循環(huán)條件為i<4,所以求的是arr[1]到arr[3]及i的和,所以輸出結(jié)果為12。
22.操作系統(tǒng)或OS操作系統(tǒng)或OS解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫的機構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護、控制及保護和數(shù)據(jù)服務(wù)。位于用戶和操作系統(tǒng)之間。
23.p!=NULLp->nextp!=NULL\r\np->next解析:結(jié)構(gòu)體變量構(gòu)成鏈表需要每個節(jié)點中都有一個指向下一個結(jié)點的指針,就像本題中的next指針一樣。注意:掌握可以對鏈表進行的操作。
24.9292解析:本題的主函數(shù)中首先定義了一個4行4列的二維數(shù)組,然后執(zhí)行一個while循環(huán),該循環(huán)中又嵌套了一個do-while循環(huán)。先看while循環(huán),該循環(huán)通過i++的值來判斷是否結(jié)束循環(huán),當(dāng)i++的值為4的時候結(jié)束循環(huán),當(dāng)i=O時,執(zhí)行while的循環(huán)體,顯然if語句條件不滿足不執(zhí)行,接著讓j=0,然后執(zhí)行do-while循環(huán)體,不難看出do-while循環(huán)的功能是將第i+1行的所有元素加起來,所以這時s的值為s=a[1][0]+a[1][1]+a[1][2]+a[1][3]=26,當(dāng)i=1時,i+1=2,if后面括號里的表達式的值為真執(zhí)行后面的continue語句,結(jié)束該次循環(huán);當(dāng)i=2時,i加1變?yōu)?,把第3+1行的所有元素的值加到s上,此時s=s+a[2][0]+a[2][1]+a[2][2]+a[2][3]=92,當(dāng)i=3時,3+1=4,if后面括號里的表達式的值為真執(zhí)行后面的continue語句,結(jié)束該次循環(huán),當(dāng)i=3時,if后面括號里的表達式的值為真執(zhí)行后面的continue語句,結(jié)束該次循環(huán)當(dāng)i=4時while循環(huán)結(jié)束,所以最后輸出的s的值為92。
25.1343113431解析:本題看似考查鏈表的知識,其實只是考查了結(jié)構(gòu)體數(shù)組。程序首先定義了一個結(jié)構(gòu)體NODE,在主函數(shù)中聲明了一個該結(jié)構(gòu)體的數(shù)組m[5]和兩個結(jié)構(gòu)體指針p和q,并分別初始化p指向m(指向數(shù)組的第一個元素);q指向m+4(指向數(shù)組的最后一個元素)。接下來定義并初始化一個整型變量i為0。然后用一個while循環(huán)。在p和q不相等的時候執(zhí)行循環(huán)體:讓p所指結(jié)構(gòu)體的成員k等于++i的值,然后讓p指向下一個結(jié)構(gòu)體;讓q所指結(jié)構(gòu)體的成員k等于i++的值,然后讓q指向前一個結(jié)構(gòu)體。i從0開始交替調(diào)用++i和i++,兩個表達式的值依次分別為1和1、3和3……。所以當(dāng)p叫循環(huán)結(jié)束時,實際循環(huán)了兩次,p和q都指向m數(shù)組的中間位置m[2],i自增了4次,所以q->k=i;就是讓m[2]k=4。所以程序最后輸出為:13431。
26.1616解析:首先用j和MCRA(i)替換MCRB(n,m)中的參數(shù)n和m,變成2*MCRA(j)+MCRA(i),再用j和i替換MCRA(m)中的參數(shù)m,變成2*2*j+2*i=2*2*3+2*2=16。
27.*s-*t或-*t+*s*s-*t或-*t+*s解析:函數(shù)的兩個形參是兩個字符指針變量,字符串的首地址是指針變量的值,*s和*t表示字符串?dāng)?shù)組s和t的第一個字符,在while循環(huán)中,是通過s和t值的不斷變化來改變指針?biāo)赶虻淖址?,要改變s和t所指不同字符的ASCII碼的差值,必須使用“*s-*t”得出。
28.00解析:解答本題需要注意表達式“k=0”,它是賦值表達式而不是關(guān)系表達式,不論k為何值,表達式k=0總會使k為0,所以不能進入循環(huán)。
29.23
30.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)
31.22132,2,1,3解析:本題考查++,--運算符和條件運算符的使用。
“表達式1?表達式2:表達式3”的功能是:表達式1的值若非0,則計算表達式2的值,且表達式2的值為最終結(jié)果;若表達式1的值為0,則計算表達式3的值,且為最終結(jié)果。
本題中,x=1,y=2時,x<y成立,輸出y的值2;y=2,z=3時,z<y不成立,執(zhí)行y++,輸出2后y值增1,所以最后一個輸出x的值不變?yōu)?,y的值為增加后的3。
32.概念設(shè)計階段(數(shù)據(jù)庫概念設(shè)計階段)概念設(shè)計階段(數(shù)據(jù)庫概念設(shè)計階段)
33.存儲結(jié)構(gòu)
34.(x<y)&&(y<z)(x<y)&&(y<z)解析:x<y<z的意思是y大于x并且y小于z。在C語言中,表達“并且”用邏輯與運算符“&&”。
35.101,0解析:與運算兩邊的語句必須同時為真時,結(jié)果才為真,當(dāng)執(zhí)行完if((++a<0)&&!(b--<=0))時,a,b的值已經(jīng)發(fā)生了變化。
36.整型整型解析:上面的表達式中,通過強制類型轉(zhuǎn)換把最后參與運算的數(shù)據(jù)都轉(zhuǎn)換成了int型,所以最后得到的結(jié)果也是int類型。
37.246
38.###36
39.物理獨立性物理獨立性解析:數(shù)據(jù)的物理結(jié)構(gòu)改變,不影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),從而不引起應(yīng)用程序的變化,這種性質(zhì)叫做物理獨立性。
40.00解析:二維數(shù)組可以看成是按矩陣形式排列的,題目中給二維數(shù)組賦初值是按行分段賦值的,a[4][4]可以分解為4個一維數(shù)組,其數(shù)組名分別為a[0]、a[1]、a[2]、a[3],這4個一維數(shù)組都有4個元素,a[0]的元素為a[0][0]、a[0][1]、a[0][2]、a[0][3]。
41.D解析:分析程序可知,函數(shù)f()中的for循環(huán)作用,是將數(shù)組前三行中的對角線上的元素,即b[0][0]、b[1][1]、b[2][2]和第一行的第四列元素即b[0][3]累加到變量s中,然后將s的值返回。在主函數(shù)中首先定義了一個4行4列的二維數(shù)組,接著通過輸出語句輸出函數(shù)f(a)的返回值。調(diào)用f(a)的返回值為a[0][0]+a[1][1]+a[2][2]+a[0][3]=1+2+9+4=16。所以,4個選項中選項D符合題意。
42.C解析:return語句中的表達式的值就是所求的函數(shù)值,此表達式值的類型必須與函數(shù)首部所說明的類型一致。如果類型不一致,則以函數(shù)值的類型為準(zhǔn),由系統(tǒng)自動進行轉(zhuǎn)換。一個return語句只能返回一個值。
43.D解析:數(shù)據(jù)流圖有4種成分:源點或終點、處理、數(shù)據(jù)存儲和哦數(shù)據(jù)流。數(shù)據(jù)存儲是處于靜止?fàn)顟B(tài)的數(shù)據(jù),數(shù)據(jù)流是處于運動中的數(shù)據(jù)。
44.C解析:A、D選項是關(guān)系運算表達式,在C語言中,只要關(guān)系運算符兩邊是合法的表達式就可以了。C選項中,%只能對整型進行運算,其中對f進行了強制類型轉(zhuǎn)換,但是轉(zhuǎn)換的表達式錯了,應(yīng)為:(int)(f)。
45.D答案D
解析:在選項D中,n是一個整型的變量。C語言規(guī)定,在一維數(shù)組的定義中,其下標(biāo)只能是常量表達式,不能包含變量。
46.DD.【解析】在線性鏈表中,各元素在存儲空間中的位置是任意的,各元素的順序也是任意的,依靠指針來實現(xiàn)數(shù)據(jù)元素的前后件關(guān)系。
47.B解析:二維數(shù)組的元素可以看成是按矩陣形式存放的,總是先存放第一行的元素,再存放第二行的元素。數(shù)組第一維的下標(biāo)是i,說明它前面還有i行,有i*m個元素,數(shù)組第二維的下標(biāo)是j,說明它前面還有j列,有j個元素,所以共有i*m+j個元素。
48.A解析:C語言中[]比*優(yōu)先級高,因此line先與[5]結(jié)合,形成line[5]形式,這是數(shù)組形式,它有5個元素,然后再與line前面的“*”結(jié)合,表示此數(shù)組是一個指針數(shù)組,每個數(shù)組元素都是一個基類型為char的指針變量。
49.D解析:首先,pt跟*結(jié)合,所以是一個指針,所指向的對象是含有3個元素的數(shù)組。所定義的指針沒加const,所以是個指針變量,還可以指向類似對象的其他元素,也就是說還可以指向其他含有3個元素的數(shù)組。
50.A解析:首先利用fwrite函數(shù)將數(shù)組a中的數(shù)據(jù)寫到文件中,接著fseek函數(shù)的功能是讀文件的位置,指針從文件頭向后移動3個int型數(shù)據(jù),這時文件位置指針指向的是文件中的第4個int數(shù)據(jù)“4”,然后fread函數(shù)將文件fp中的后3個數(shù)據(jù)4,5,6讀到數(shù)組a中,這樣就覆蓋了數(shù)組中原來的前3項數(shù)據(jù)。最后數(shù)組中的數(shù)據(jù)就成了{4,5,6,4,5,6}。
51.B解析:二維數(shù)組c是結(jié)構(gòu)體類型的數(shù)組。字符a在第一個數(shù)組元素c[0][0]中,它是字符型數(shù)據(jù),只有選項B符合題意。
52.A解析:在C語言中,數(shù)組元素是從0開始的。指針變量p指向數(shù)組的首地址,(p+2)就會指向數(shù)組中的第3個元素。題目中要求輸出的是元素的值。
53.B
54.D解析:abc后的四個字符都是由反斜線引出的轉(zhuǎn)義字符,\\n是換行符,\\012也是換行符,\\\\表示反斜線本身,\\'表示雙引號,因此,一共是7個字符。
55.A解析:本題定義了一個結(jié)構(gòu)體類型并白定義類型名為STD,用戶自定義類型后,就可以利用它進行變量與數(shù)組的定義。定義的方法,與C語言中其它類型的定義完全一樣,定義結(jié)構(gòu)型數(shù)組并賦初值時,每個元素用一對“{”和“廠括起來,字符型元素用…”括起來,選項A、B、C、D中只有選項A符合條件。所以,A選項為所選。
56.A解析:auto變量:無static聲明的局部變量。用auto作存儲類別的聲明時,可以不寫auto,存儲類別隱含確定為auto(自動存儲類別),是動態(tài)存儲方式。大多數(shù)變量是自動變量。用static聲明的局部變量是靜態(tài)局部變量。函數(shù)調(diào)用結(jié)束后靜態(tài)局部變量占據(jù)的內(nèi)存存儲單元空間不釋放,局部變量保留原值,下次調(diào)用時可以繼續(xù)使用該值。用extern聲明外部變量,外部變量即全局變量,可以用extern聲明來改變?nèi)肿兞康淖饔糜?實際上,關(guān)鍵字'auto'可以省略,auto不寫則隱含確定為'自動存儲類別',屬于動態(tài)存儲方式。
57.A解析:程序中使用了兩層for循環(huán),外層循環(huán)的作用是控制人數(shù),循環(huán)一次是求一個人的成績和,然后除以4得到平均成績。每個人的成績總和一開始時都必須清0,否則就會出現(xiàn)后面人的總成績越來越大?!皊um=0.0”;應(yīng)在外層循環(huán)中。選項A正確。
58.A解析:該程序通過main函數(shù)循環(huán)凋用sum函數(shù)。
當(dāng)i=2時,將實參aa[2]的地址傳遞給形參,此時a[0]=a[1]=aa[3]=4,即aa[2]=4;
當(dāng)i=1時,將實參aa[1]的地址傳遞給形參,此時a[0]=a[1]=aa[2]=4,即aa[1]=4;
當(dāng)i=0時,將實參aa[0]的地址傳遞給形參,此時a[0]=a[1]=aa[1]=4,即aa[0]=4;
當(dāng)i=-1時,不滿足條件i>=0,跳出循環(huán),程序執(zhí)行后數(shù)組aa中的值為4,4,4,4,5,6,7,8,9,10,所以aa[0]=4。
59.B解析:程序的功能是從鍵盤輸入一個整數(shù),然后執(zhí)行if語句的條件表達式n++<10。表達式n++<10,先執(zhí)行n<10,后對n加1。程序中從鍵盤輸入的n值為9,9<10,判斷的條件為真,然后n加1,即n的值變?yōu)?0,程序執(zhí)行后面的printf語句輸出n的值為10,所以,選項B正確。
60.C解析:定義結(jié)構(gòu)體類型的變量有幾種的方法如下:
①定義結(jié)構(gòu)體類型的同時,定義結(jié)構(gòu)體類型的變量,如下面的定義中在定義結(jié)構(gòu)體類型aa的同時定義了該類型的變量tdl。上述B)項中將宏名AA用宏體structaa替換進去后
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年中職旅游(旅游文化常識)試題及答案
- 2026年成本會計(費用核算)試題及答案
- 2025年高職食品加工技術(shù)應(yīng)用(應(yīng)用實操訓(xùn)練)試題及答案
- 2025年中職數(shù)字媒體藝術(shù)設(shè)計(新媒體設(shè)計技巧)試題及答案
- 【歷史】中國特色社會主義事業(yè)取得新成就(課件)2025-2026學(xué)年統(tǒng)編版八年級歷史下冊
- 近五年甘肅中考物理試題及答案2025
- 養(yǎng)老院家屬溝通制度
- 信息保密制度
- 工行借記卡介紹
- 2026年公共關(guān)系基礎(chǔ)知識與實務(wù)考試題目含答案
- 四川省南充市2024-2025學(xué)年高一上學(xué)期期末質(zhì)量檢測語文試題(含答案)
- 甲烷活化機制研究
- 住培中醫(yī)病例討論-面癱
- 設(shè)備安裝施工方案范本
- 衛(wèi)生院副院長先進事跡材料
- 復(fù)發(fā)性抑郁癥個案查房課件
- 人類學(xué)概論(第四版)課件 第1、2章 人類學(xué)要義第一節(jié)何為人類學(xué)、人類學(xué)的理論發(fā)展過程
- 《功能性食品學(xué)》第七章-輔助改善記憶的功能性食品
- 幕墻工程竣工驗收報告2-2
- 1、工程竣工決算財務(wù)審計服務(wù)項目投標(biāo)技術(shù)方案
- 改進維持性血液透析患者貧血狀況PDCA
評論
0/150
提交評論