




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2021年湖北省鄂州市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.有以下函數(shù):intfun(char*x,char*y){intn=0;.while((*x==*y)&&*x!="\0){x++;y++;n++;}returnn;}函數(shù)的功能是()。
A.將y所指字符串賦給x所指存儲空間
B.查找和y所指字符串中是否有"\0'
C.統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個數(shù)
D.統(tǒng)計(jì)x和y所指字符串中相同的字符個數(shù)
3.有以下程序:#include<stdio.h>#include<string.h>main(){chara[]=“TEXT”,*b=“++”,c[3]=“1”;printf(“%d,%d,”,strlen(a),sizeof(a));printf(“%d,%d,”,strlen(b),sizeof(b));printf(“%d,%d,\n”,strlen(c),sizeof(c));}程序運(yùn)行后的輸出結(jié)果是()。A.4,5,2,4,1,3,B.4,4,2,2,1,1,C.5,5,3,3,2,2,D.4,4,2,2,1,3
4.以下程序的輸出結(jié)果是()。#defineM(x,y,z)x*y+zmain(){inta=l,b=2,c=3;printf("%d\n",m(a+b.b+c,c+a));}A.19B.17C.15D.12
5.下述函數(shù)功能是______。intfun(char*x){char*y=x;while(*y++);returny-x-1;}
A.求字符串的長度B.求字符串存放的位置C.比較兩個字符串的大小D.將字符串x連接到字符串y后面
6.下列存儲器中,存取速度最快的是()。
A.軟盤B.硬盤C.光盤D.內(nèi)存
7.結(jié)構(gòu)化程序設(shè)計(jì)的3種結(jié)構(gòu)是()。
A.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、轉(zhuǎn)移結(jié)構(gòu)
B.分支結(jié)構(gòu)、等價結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
C.多分支結(jié)構(gòu)、賦值結(jié)構(gòu)、等價結(jié)構(gòu)
D.順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
8.如有inta=11;則表達(dá)式(a++*1/3)的值是()。
A.0B.3C.4D.12
9.若x=10010111,則表達(dá)式(3+(int)(x))&(~3)的運(yùn)算結(jié)果是()。
A.10011000B.10001100C.10101000D.10110000
10.若函數(shù)中有定義語句:inta;,則()。
A.系統(tǒng)將自動給a賦初值0B.這時a中的值是和隨機(jī)數(shù)C.系統(tǒng)將自動給a賦初值-1D.這a中無任何值
11.高度為h的滿二叉樹的結(jié)點(diǎn)數(shù)是________個。
A.log2h+1B.2h+1C.2h-1D.2h-1
12.采用鄰接表存儲的圖的廣度優(yōu)先遍歷算法類似于二叉樹的()。A.A.先序遍歷B.中序遍歷C.后序遍歷D.按層遍歷
13.有以下程序:#include<stdio.h>main(){FILE*pf;char*s1=“China”,*s2=“Beijing”;pf=fopen(“abc.dat”,“wb+”);fwrite(s2,7,1,pf);rewind(pf);/*文件位置指針回到文件開頭*/fwrite(s1,5,1,pf);fclose(pf);}程序執(zhí)行后,abc.dat文件的內(nèi)容是()。
A.ChinaB.ChinangC.ChinaBeijingD.BeijingChina
14.眾所周知數(shù)據(jù)結(jié)構(gòu)中非常基本的樹結(jié)構(gòu)包括二叉查找樹(BST)。當(dāng)我們把如下序列:10,5,19,4,13,7,6,3,1按順序建立一棵BST時,樹的最大深度是?(令根節(jié)點(diǎn)深度為0,不執(zhí)行平衡二叉樹操作)()
A.5B.4C.3D.2
15.廣義表(a,b,c,d)的表尾是()。
A.aB.(a)C.(b,c,d)D.((b,c,c))
16.
17.
18.設(shè)有以下語句
charchl,ch2;scanf("%c%C",&chl,&ch2);
若要為變量chl和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是()。
A.A和B之間用逗號間隔
B.A和B之間不能有任何間隔符
C.A和B之間可以用回車間隔
D.A和B之間用空格間隔
19.以下不能作為合法常量的是()。
A.'cd'B.1.234e04C.”\a”D.'\011'
20.數(shù)據(jù)流圖(DFD)的作用是()。
A.描述軟件系統(tǒng)的控制流B.支持軟件系統(tǒng)的功能建模C.支持軟件系統(tǒng)的面向?qū)ο蠓治鯠.描述軟件系統(tǒng)的數(shù)據(jù)結(jié)構(gòu)
二、2.填空題(20題)21.數(shù)據(jù)庫系統(tǒng)中實(shí)現(xiàn)各種數(shù)據(jù)管理功能的核心軟件稱為【】。
22.一般來說,數(shù)據(jù)庫的設(shè)計(jì)過程要經(jīng)歷3個大的階段,即可行性分析與研究階段、系統(tǒng)設(shè)計(jì)階段、設(shè)計(jì)實(shí)施與系統(tǒng)運(yùn)行階段。概念設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)屬于數(shù)據(jù)庫設(shè)計(jì)的【】階段。
23.有以下程序,其功能是:以二進(jìn)制“寫”方式打開文件d1.dat,寫入1~100這100個整數(shù)后關(guān)閉文件。再以二進(jìn)制“讀”方式打開文件d1.dat,將這100個整數(shù)讀入到另一個數(shù)組b中,并打印輸出。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{FILE*fp;
inti,a[100],b[100];
fp=fopen("d1.dat","wb");
for(i=0;i<100;i++)a[i]=i+1;
fwrite(a,sizeof(int),100,fp);
fclose(fp);
fp=fopen("d1.dat",【】);
fread(b,sizeof(int),100,fp);
fclose(fp);
for(i=0;i<100;i++)printf("%d\n",b[i]);
}
24.若變量a,b已定義為int類型并分別賦值21和55,要求用printf函數(shù)以a=21,b=55的形式輸出,請寫出完整的輸出語句行:【】。
25.下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為[]。
26.以下程序段的運(yùn)行結(jié)果是()。#include<stdio.h>main(){intx=2,y=1:switch(x){case1:switch(y){case0:printf("x=2,y=1\n");break;case1:printf("y=1\n");break;}case2:printf("x=2\n");}}
27.下面程序的運(yùn)行結(jié)果是【】。
main()
{unsigneda=0112,x;
x=a>>3;
printf("x=%o",x);
}
28.數(shù)據(jù)流圖的類型有【】和事務(wù)型。
29.在最壞情況下,冒泡排序所需要的比較次數(shù)為【】。
30.以下程序運(yùn)行后的輸出結(jié)果是【】。
#include<stdio.h>
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:a++;b+*;break;
}
printf("%d%d\n",a,b);
}
31.下列程序的輸出結(jié)果是______。
main()
{inta=1,b=2,c=3,t=0;
if(a<B){t=a;a=b;b=t;}
if(a<C){t=a;a=c;c=t;}
printf("%d,%d,%d\n",a,b,C);
}
32.以下程序的輸出結(jié)果是【】。
main()
{charc='z';
printf("%c",c-25);}
33.在面向?qū)ο蠓椒ㄖ校畔㈦[蔽是通過對象的______性來實(shí)現(xiàn)的。
34.以下程序用來統(tǒng)計(jì)文件中字符的個數(shù)。請?zhí)羁铡?/p>
#include“stadio.h”
main()
{FILE*fp;longnum=0L;
if((fp=fopen(“fname.dat”,“r”))==NULL);
{printf(“0penerror\n”);exit(0);}
while(【】)
{fsetc(fp);num++;}
printf(“num=%1d\n”,num-1);
fclose(fp);
}
35.設(shè)有以下定義和語句,則*(*(p+2)+1)的值為【】。
inta[3][2]={10,20,30,40,50,60},(*p)[2];
p=a;
36.假設(shè)線性表的長度為n,則在最壞情況下,冒泡排序需要的比較次數(shù)為【】。
37.strcat函數(shù)的作用是【】。
38.若運(yùn)行時給變量x輸入12,則以下程序的運(yùn)行結(jié)果是【】;
main(){
intx,y;
scanf(""%d"",&x);
y=x>12?x+10:x-12;
printf(""%d\n"",y);
}
39.下列函數(shù)從字符數(shù)組s[]中刪除和c一樣的字符,請?jiān)谙旅鏅M線處填空。voiddelete(s,C)chars[],c;{inti,j;for(i=j=0;();i++)if(s[i]!='c')s[j++]=s[i];s[j]="\0";}
40.當(dāng)運(yùn)行以下程序時,輸入abcd,程序的輸出結(jié)果是:()。
insert(charstr[])
{inti;
i=strlen(str);
while(i>0)
{str[2*i]=str[i];str[2*i-1]='*';i--;}
printf("%s\n",str);
}
main()
{charstr[40];
scanf("%s",str);insert(str);
}
三、1.選擇題(20題)41.下列循環(huán)體的執(zhí)行次數(shù)是()。#include<stdio.h>main(){inti,j;for(i=0j=1;i<j+1;i+=1,j--)printf("%d\n",j);}
A.3B.2C.1D.0
42.有以下程序main(){charstr[][10]={"China",Beijing"},*p=str;printf("%s\n",p+10);}程序運(yùn)行后的輸出結(jié)果是
A.ChinaB.BeijingC.ngD.ing
43.在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,負(fù)責(zé)數(shù)據(jù)的完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能的是
A.數(shù)據(jù)定義語言B.數(shù)據(jù)轉(zhuǎn)換語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言
44.有以下程序:main(){chara,b,c,d;scanf("%c,%c,%d,%d",&a,&b,&c,&d);printf("%c,%c,%c,%c\n",a,b,c,d);}若運(yùn)行時從鍵盤上輸入:6,5,65,66<回車>,則輸出結(jié)果是______。
A.6,5,A,BB.6,5,65,66C.6,5,6,5D.6,5,6,6
45.當(dāng)a=1、b=2、c=3、d=4時,執(zhí)行下面程序段后,x的值是()。if(a<B)if(c<D)x=1;elseif(a<C)if(b<D)x=2:elsex=3:elsex=6:elsex=7:
A.1B.6C.3D.2
46.有以下定義
#include<stdio.h>
chara[10],*b=a;
不能給a數(shù)組輸入字符串的語句是
A.gets(A)B.gets(a[0]);C.gets(&a[0]);D.gets(B);
47.以下程序中函數(shù)scmp的功能是返回形參指針s1和s2所指字符串中較小字符串的首地址。#include<stdio.h>#include<string.h>char*scmp(char*s1,char*s2){if(strcmp(s1,s2)<0)return(s1);elsereturn(s2);}main(){inti;charstring[20],str[3][20];for(i=0;i<3;i++)gets(str[i]);strcpy(string,scmp(str[0],str[1]));/*庫函數(shù)strcpy對字符串進(jìn)行復(fù)制*/strcpy(string,scmp(string,str[2]));printf("%s\n",string);}若運(yùn)行時依次輸入:abcd、abba和abc三個字符串,則輸出結(jié)果為()。
A.abcdB.abbaC.abcD.baca
48.下列說法不正確的是()。
A.一個C語言源程序可以由一個函數(shù)組成也可以由多個函數(shù)組成
B.main()中的“()”是函數(shù)的參數(shù)部分,括號內(nèi)可為空,但括號不能省略
C.C語言程序是以函數(shù)為基本單位的
D.在C語言程序中,注釋行只能位于一條語句的后面
49.若有以下說明:inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};charc='a',d,g;則數(shù)值為4的表達(dá)式是()
A.a[g-c]B.a[4]C.a['d'-'c']D.a['d'-c]
50.有定義語句:chars[10];,若要從終端給s輸入5個字符,錯誤的輸入語句是A.gets(&s[0]);
B.scanf("%s",s+1);
C.gets(s);
D.scanf("%s",s[1]);
51.以下敘述中錯誤的是()。
A.C語句必須以分號結(jié)束
B.復(fù)合語句在語法上被看作一條語句
C.空語句出現(xiàn)在任何位置都不會影響程序運(yùn)行
D.賦值表達(dá)式末尾加分號就構(gòu)成賦值語句
52.關(guān)系表中的每一橫行稱為一個()。A.元組B.字段C.屬性D.碼
53.在執(zhí)行以下程序時,如果從鍵盤上輸入ABCdef<回車>,則輸出為______。#include<stdio.h>main(){charch;while((ch=getchar())!="\n"){if(ch>='A'&&ch<='B')ch=ch+32;elseif(ch>='a'&&ch<='z')ch=ch-32;printf("%c",ch);}printf("\n");}
A.ABCdefB.abcDEFC.abcD.DEF
54.以下敘述中正確的是______。
A.C語言比其他語言高級
B.C語言可以不用編譯就能被計(jì)算機(jī)識別執(zhí)行
C.C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式
D.C語言出現(xiàn)的最晚,具有其他語言的—切優(yōu)點(diǎn)
55.有定義:inta=1,b=2,c=3,x;則以下選項(xiàng)中各程序段執(zhí)行后,x的值不為3的是()。
A.if(c<a)x=1;elseif(b<a)x=2;elsex=3;
B.if(a<3)x=3;elseif(a<2)x=2;elsex=1;
C.if(a<3)x=3;if(a<2)x=2;if(a<1)x=1;
D.if(a<b)x=b;if(b<c)x=c;if(c<a)x=a;
56.下面程序的輸出結(jié)果為______。#include<string.h>main(){charp1[7]="abc",p2[]="ABC",str[50]="xyz";strcpy(str,strcat(p1,p2));printf("%s",str);}
A.xyzabcABCB.abcABCC.xyzabcD.xyzABC
57.執(zhí)行下面程序的正確結(jié)果是()。main(){floata=1.9;switch(a){case0:printf("0000");case1:printf("1111");case2:printf("3333");}printf("%f",a);}
A.1.9B.111133331.9C.33331.9D.1111233331.9
58.對線性表進(jìn)行二分法檢索,其前提條件是()。
A.線性表以順序方式存儲,并按關(guān)鍵碼值排好序
B.線性表以順序方式存儲,并按關(guān)鍵碼的檢索頻率排好序
C.線性表以鏈?zhǔn)椒绞酱鎯?,并按關(guān)鍵碼值排好序
D.線性表以鏈?zhǔn)椒绞酱鎯?,并按關(guān)鍵碼的檢索頻率排好序
59.有下列程序段:intk=0,a=1,b=2,c=3;k=a<b?b:a;k=k>c?c:k;執(zhí)行該程序段后,k的值是()。
A.3B.2C.1D.0
60.有下列函數(shù)定義:fun(floath){printf("%f,%f\n",h,h*h);}該函數(shù)的類型是()。
A.int類型B.float類型C.void類型D.函數(shù)無類型說明,定義有錯
四、選擇題(20題)61.設(shè)有下列二叉樹:
對此二叉樹中序遍歷的結(jié)果為()。
A.ACBDEFB.DEBFCAC.ABDECFD.DBEAFC
62.有以下函數(shù)
fun(char*a,char*b)
{
while((*a!=’\0’)&&(*b!=’\0’)&&(*a==*b))
{
a++;b++;
}
return(*a-*b);
}
該函數(shù)的功能是
A.計(jì)算a和b所指字符串的長度之差
B.將b所指字符串連接到a所指字符串中
C.將b所指字符串連接到a所指字符串后面
D.比較a和b所指字符串的大小
63.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.33B.197C.143D.28
64.(52)棧和隊(duì)列的共同點(diǎn)是()
A.都是先進(jìn)后出B.都是先進(jìn)先出
C.只允許在端點(diǎn)處插入和刪除元素
D.沒有共同點(diǎn)
65.
有以下程序
#include<stdio.h>
main
{inty=9;
for(;y>0;y--)
if(y%3==0)printf("%d",--y);
}
程序的運(yùn)行結(jié)果是()。
A.741B.963C.852D.875421
66.有以下程序:
fun(inta,intb)
{a++;b++;
if(a>b)return(a);
elsereturn(b);
}
void
main()
{intx=3,y=8,z=6,r;
r=fun(fun(x,y++),2*z);
printf("%d\n",r);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.13B.6
C.8D.12
67.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()。
A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語言的先進(jìn)性D.程序的易讀性
68.以下敘述中正確的是
A.用C程序?qū)崿F(xiàn)的算法必須要有輸入和輸出操作
B.用C程序?qū)崿F(xiàn)的算法可以沒有輸出但必須要有輸入
C.用C程序?qū)崿F(xiàn)的算法可以沒有輸入但必須要有輸出
D.用C程序?qū)崿F(xiàn)的算法可以既沒有輸入也沒有輸出
69.
70.
71.下列關(guān)于棧的描述中錯誤的是()。
A.棧是先進(jìn)先出的線性表B.棧只能順序存儲C.棧具有記憶作用D.對棧的插入刪除操作中,不需要改變棧底指針
72.
73.下面的變量說明中__________是正確的。
A.char:a,b,c;
B.chara;b;c;
C.chara,b,c;
D.chara,b,c
74.以下程序的輸出結(jié)果是()。voidprt(int*m.intn){inti;for(i=0;i<n;i++)m[i]++;)main{inta[]={1,2,3,4,5),i;prt(a,5);for(i=0;i<5;i++)printf(“%d,”,a[i]);)A.1,2,3,4,5B.2,3,4,5,6C.3,4,5,6,7D.2,3,4,5,1
75.
下面程序的運(yùn)行結(jié)果是()。
#inelude<stdio.h>
voiddel(char*s)
{inti,j;
char*a;
a=s:
for(i=0,j=0;a[i]!=\0;i++)
{if(a[i]>=0&&a[i]<=9)
{s[j]=a[i];
j++;
}
s[j]=\0;
}
}
main
{char*s="aa89gggh";
del(s):
printf("\n%s",s);
}
A.1B.2C.3D.4
76.
下列程序的輸出結(jié)果是()。
#include<stdio.h>
voidp(int*x)
{printf("%d¨,++*x);
}
voidmain()
{inty=3;
p(&y);
}
A.3B.4C.2D.5
77.
78.有以下程序:
#include<stdio.h>
main()
{inta=7;
while(a--);
print[("%d\n",a);
}
程序運(yùn)行后的輸出結(jié)果是()。
A.-l
B.0
C.1
D.7
79.
80.
五、程序改錯題(1題)81.下列給定程序中,函數(shù)fun()的功能是:計(jì)算函數(shù)F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。其中x和y的值不相等,2和Y的值不相等。例如,當(dāng)x的值為1,y的值為2,z的值為3時,函數(shù)值為2.O0。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項(xiàng)目中包含一個源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),該函數(shù)的功能是統(tǒng)計(jì)一行字符串中單詞的個數(shù),并將其作為函數(shù)值返回。字符串在主函數(shù)中輸入,規(guī)定所有單詞由小寫字母組成,單詞之間由若干個空格隔開,一行的開始沒有空格。注意:部分源程序在文件prog1.c中。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:1#include<string.h>2#include<stdio.h>3#defineN804intfun(char*s)5{67}8voidmain()9{10FILE*wf;11charline[N];12intnum=0;13printf("Enterastring:\n");14gets(line);15num=fun(line);16printf("Thenumberofwordsis:%d\n\n",num);17/*********found*********/18wf=fopen("out.dat","w");19fprintf(wf,"%d",fun("abigcar"));20fclose(wf);21/*********found*********/22}
參考答案
1.B
2.C本題中由循環(huán)條件可知遇到“0或x與y所指的字符的值不等中的一個條件時就結(jié)束,所以功能是統(tǒng)計(jì)x和y所指字符串中最前面連續(xù)相同的字符個數(shù)。
3.Asizeof是運(yùn)算符,計(jì)算數(shù)組、指針、類型、對象、函數(shù)等所占的字節(jié)大小。strlen(*char)是函數(shù),參數(shù)必須是字符型指針(char*)。該函數(shù)的功能是:返回字符串的長度,不包括字符串結(jié)束標(biāo)識?!皊izeof(a)”是求數(shù)組a所占空間的大小,包括字符串最后的‘\\0’。所以“sizeof(a)”=5,strlen遇到‘\\0’就結(jié)束,“strlen(a)”=4。“strier(b)”是指針指向的字符串長度,“sizeof(b)”是指針的大小?!皊trlen(c)”是字符串的長度,“sizeof(c)”是數(shù)組的長度。因此,輸出結(jié)果是4,5,2,4,1,3,。故本題答案為A選項(xiàng)。
4.DM(a+b,b+C,c+a)=a+b*b+c+c+a=1+2*2+3+3+1=12,注意x*y+z而不是(x)*(y)+z。
5.A解析:在函數(shù)體內(nèi)定義一字符型指針并指向形參,然后遍歷其中各字符直到NULL,最后返回字符串首尾地址的差值,即字符串的長度。
6.D\nD【解析】存儲器中.存取速度最快的是內(nèi)存。
\n
7.D結(jié)構(gòu)化程序設(shè)計(jì)的基本要點(diǎn):①采用自頂向下、逐步求精的程序設(shè)計(jì)方法;②任何程序都可由順序、選擇和循環(huán)3種基本控制結(jié)構(gòu)構(gòu)造。
8.B
9.A解析:本題主要考查運(yùn)算表達(dá)式的運(yùn)算。3+(int)(x)的結(jié)果是10011010,~3的結(jié)果是11111100,二者邏輯與得10011000。
10.B本題考查變量賦值基本概念。在聲明一個變量后,如果未顯式的對其進(jìn)行賦值,則它的值是一個隨機(jī)值。
11.C
12.D
13.B題目中先是將s2字符串寫入adc.dat中,然后執(zhí)行rewind函數(shù)將寫指針放置于文件開頭,寫入s1字符串。s1字符串將前5個字符覆蓋,所以最終結(jié)果為Chinang。故本題答案為B選項(xiàng)。
14.B
15.C
16.D
17.C
18.B\nscanf輸入函數(shù)中,格式控制J必須嚴(yán)格按照函數(shù)中的要求進(jìn)行輸入,在scanf('%c%c',&chl,&ch2)的格式控制語句中沒有任何字符進(jìn)行間隔,所以在輸入時也不能使用任何字符進(jìn)行間隔,所以答案選擇B。
\n
19.A字符常量是使用單引號標(biāo)注的單個字符,選項(xiàng)A錯誤;選項(xiàng)B屬于浮點(diǎn)數(shù)常量,正確;選項(xiàng)C屬于轉(zhuǎn)義字符常量,正確;選項(xiàng)D屬于轉(zhuǎn)義字符,代表八進(jìn)制數(shù)011的ASCII值的字符,正確。本題答案為A選項(xiàng)。
20.B數(shù)據(jù)流圖是系統(tǒng)邏輯模型的圖形表示,從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變化過程,它直接支持系統(tǒng)的功能建模。本題答案為B選項(xiàng)。
21.數(shù)據(jù)庫管理系統(tǒng)數(shù)據(jù)庫管理系統(tǒng)(DBMS)
22.系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)解析:系統(tǒng)設(shè)計(jì)階段是系統(tǒng)的具體設(shè)計(jì)過程,主要包括概念設(shè)計(jì)、邏輯結(jié)構(gòu)設(shè)計(jì)、物理結(jié)構(gòu)設(shè)計(jì)3個步驟。這3個不同層次上的設(shè)計(jì)過程,是把實(shí)體以及相互之間的聯(lián)系轉(zhuǎn)換為“數(shù)據(jù)”并落實(shí)于計(jì)算機(jī)中。
23.rb或"r+b"或"rb+"rb或'r+b'或'rb+'解析:根據(jù)題目要求,在下劃線位置應(yīng)該填入一個能實(shí)現(xiàn)二進(jìn)制讀的使用文件方式的參數(shù)即可。所以,可以填'rb'或'r+b'或'rb+'。
24.printf("a=%db=%d"ab);printf('a=%d,b=%d',a,b);解析:根據(jù)printf函數(shù)的格式可知輸出語句應(yīng)該為:printf('a=%d,b=%d',a,b);
25.33解析:軟件系統(tǒng)結(jié)構(gòu)圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示。
26.x=2
27.x=11x=11解析:在對無符號數(shù)的右移是高位補(bǔ)0。
28.變換型典型的數(shù)據(jù)流類型有兩種:變換型和事務(wù)型。變換型是指信息沿輸入通路進(jìn)入系統(tǒng),同時由外部形式變換成內(nèi)部形式,進(jìn)入系統(tǒng)的信息通過變換中心,經(jīng)加工處理以后再沿輸出通路變換成外部形式離開軟件系統(tǒng);在很多軟件應(yīng)用中,存在某種作業(yè)數(shù)據(jù)流,它可以引發(fā)一個或多個處理,這些處理能夠完成該作業(yè)要求的功能,這種數(shù)據(jù)流就叫做事務(wù)。
29.n(n-1)/2n(n-1)/2解析:在最壞情況下,冒泡排序所需要的比較次數(shù)為n(n-1)/2。
30.2121解析:本題考查switch語句。首先x=1,執(zhí)行switch(y),因?yàn)閥=0,所以執(zhí)行case0:a++;break;此時a=1執(zhí)行case2:a++;b++;這時a=2,b=1;最后輸出結(jié)果是21。
31.3123,1,2解析:分析程序,第一個if語句,a=1,b=2,控制條件a<b成立,則交換a、b的值,此時a=2,b=1。第二個if語句,a=2,c=3,控制條件a<c成立,則交換a、c的值,此時a=3,c=2。
32.aa解析:“z”的ASCII碼值為122,經(jīng)過c-25運(yùn)算后得97,以字符形式輸出是a。
33.封裝封裝
34.!feof(fP)!feof(fP)解析:統(tǒng)計(jì)文件中字符個數(shù)的算法可描述如下:首先判斷文件位置指針是否指向了文件尾,如果不是則讀出一個字符,同時字符的個數(shù)加1,再判斷文件位置指針是否位于文件尾,如此循環(huán),直到文件位置指針位于文件尾為止。本題首先以讀文件的方式打開了文件“fname.dar”,如果打開成功則把返回的文件型指針賦值給fp,然后通過循環(huán)求文件中的字符數(shù)。首先判斷文件位置指針是否位于文件尾,如果不是則循環(huán)讀取字符,每次字符數(shù)加1。所以下劃處應(yīng)填循環(huán)條件,文件位置指針不是指向文件尾,即“!feof(fp)”。
35.6060解析:程序中定義a是一個3行2列的二維數(shù)組,p是指向兩個元素的一維數(shù)組指針,并讓p指向二維數(shù)組a的首行。則代碼*(*(p+2)+1)中的p+2指向二維數(shù)組a的第三行a[2],*(p+2)指向a[2[]0],*(p+2)+1指向a[2][1],*(*(p+2)+1)是引用a[2][1],其值是60。
36.n(n-1)/2
37.連接兩個字符數(shù)組中的字符連接兩個字符數(shù)組中的字符解析:strcat函數(shù)的作用是連接兩個字符數(shù)組中的字符串。
38.00解析:三目運(yùn)算符的形式為(表達(dá)式1)?(表達(dá)式2):(表達(dá)式3)。當(dāng)(表達(dá)式1)值為真時,返回(表達(dá)式2)的值;為假時,返回(表達(dá)式3)的值。題中因?yàn)閤>12為假,所以結(jié)果為x-12,即為0。
39.s[i]!='\0's[i]!='\\0'解析:本題是要刪除字符數(shù)組中和c一樣的字符,for循環(huán)實(shí)現(xiàn)的功能是逐個讀出字符數(shù)組s中的元素,并和字符c做比較,直到遇到字符串結(jié)束標(biāo)志'\\0',結(jié)束循環(huán),所以橫線上應(yīng)該填s[i]!='\\0'。
40.a*b*c*d*a*b*c*d*解析:字符處理函數(shù)strlen()測試字符串常量的長度,不包括‘\\0’在內(nèi)。因此,函數(shù)insert()實(shí)現(xiàn)了將字符數(shù)組中每個非‘\\0’的字符后插入字符‘*’的功能。故輸出結(jié)果是a*b*c*d*。
41.C解析:本題考查for循環(huán)。第一次循環(huán)前先判斷循環(huán)條件,此時i=0,j=1,i<j+1成立,循環(huán)第一次;第二次循環(huán)前先判斷循環(huán)條件,此時i=1,j=0,(j--是先使用j的值再減1),i<j+1不成立,結(jié)束循環(huán)。
42.B解析:本題考核的知識點(diǎn)是二維數(shù)組的定義、初始化和指針的應(yīng)用。本題中首先定義了一個字符串?dāng)?shù)組并初始化,初始化后使得str[0]='China',str[1]='Beijing',然后定義一個指針變量p并讓其指向str,而在該二維數(shù)組中定義每個字符串的長度為10所以p+10將指向str[1]的,因此最后輸出*(p+10)的值為Beijing。所以,4個選項(xiàng)中選項(xiàng)B符合題意。
43.D解析:在數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言中,數(shù)據(jù)控制語言負(fù)責(zé)數(shù)據(jù)的完整性、安全性的定義與檢查以及并發(fā)控制、故障恢復(fù)等功能。
44.A解析:char型數(shù)據(jù)類型以%d的形式輸入時,輸入的是ASCII值。65是字符A的ASCII碼值,66是字符B的ASCII值。
45.A
46.B解析:函數(shù)gets()的調(diào)用形式為gets(str_adr);str_adr是存放字符串的起始地址??梢允亲址麛?shù)組名、字符指針或字符數(shù)組元素的地址。gets函數(shù)用來從終端鍵盤讀入字符串(包括空格符),直到讀入一個換行符為止。換行符讀入后,不作為字符串的內(nèi)容。本題中定義一個長度為10的字符數(shù)組,和一個指針變量b,并且通過賦值讓它指向數(shù)組a。gets函數(shù)的參數(shù)a[0]不能表示數(shù)組a的首地址。
47.B解析:本題考查返回指針值的函數(shù)。一個函數(shù)可以帶回一個整型值、字符值、實(shí)型值等,也可以帶回指針型的數(shù)據(jù),即地址。函數(shù)strcmp(字符串1,字符串2)的作用是比較字符串1和字符中2。如果字符串1=字符串2,函數(shù)值為0;如果字符串1,字符串2,函數(shù)值為一正整數(shù);如果字符串1<字符串2,函數(shù)值為一負(fù)整數(shù)。本題程序中scmp函數(shù)的作用是比較s1和s2的大小,對strcmp函數(shù)的返回值進(jìn)行判斷,如果字符串1<字符串2,則返回字符串1的值,反之返回字符串2的值。所以main函數(shù)中scmp(str[0],str[1])的返回值是abba,通過strcpy函數(shù)把返回值abba復(fù)制到string中。當(dāng)執(zhí)行scmp(string,str[2])時,scrap函數(shù)的返回值為abba,再次復(fù)制到string中,最后string的值為abba。
48.D解析:本題涉及C語言基本的3個知識點(diǎn):①C語言是以函數(shù)為基本單位的,每一個函數(shù)完成相對獨(dú)立的功能,一個程序可以包括多個函數(shù),但有且僅有一個主函數(shù);②主函數(shù)main()的圓括號內(nèi)是填寫參數(shù)的,可以沒有參數(shù),但括號不可以省略;③程序的注釋部分應(yīng)該在“/*…………*/”之間,它允許出現(xiàn)在程序的任何位置。
49.D
50.D解析:字符串的輸入有兩種方式:使用scanf()函數(shù)和使用get()函數(shù)。采用scanf()函數(shù)輸入時,輸入項(xiàng)為字符串的地址值,輸入字符依次放入以這一地址為起點(diǎn)的存儲單元中。選項(xiàng)C是正確的,輸入字符從數(shù)組的第2個位置開始存放;選項(xiàng)D是錯誤的,s[1]是字符,不是地址值。gets()的調(diào)用形式為:gets(str_adr),其中str_adr為存放字符串的首地址。選項(xiàng)A中,&s[0]為數(shù)組的首地址,選項(xiàng)C中,s也為數(shù)組的首地址.因此選項(xiàng)A和C都是正確的。
51.C解析:C語句必須以分號結(jié)束,選項(xiàng)A是正確的。復(fù)合語句在語法上被看作一條語句,選項(xiàng)B也是正確的。空語句也算是一條語句,因此如果空語句出現(xiàn)在條件或者循環(huán)語句中,一樣會被當(dāng)作條件子句或者循環(huán)體來看待,所以選項(xiàng)c是錯誤的。賦值表達(dá)式末尾加分號就構(gòu)成賦值語句,選項(xiàng)D正確。故本題應(yīng)該選擇C。
52.A解析:關(guān)系表中,每一行稱為一個元組,對應(yīng)表中的一條記錄;每一列稱為表中的一個屬性,對應(yīng)表中的一個字段;在二維表中凡能惟一標(biāo)識元組的最小屬性集稱為該表的鍵或碼。
53.B
54.C解析:計(jì)算機(jī)語言分為低級語言、匯編語言和高級語言,C語言屬于高級語言,但并不是說C語言比其他語言高級,所以選項(xiàng)A錯誤;除了低級語言外,其他各種語言都必須編譯成能被計(jì)算機(jī)識別的二進(jìn)制數(shù)才能執(zhí)行,選項(xiàng)B錯誤;C語言出現(xiàn)從1972年到1973年間,并不是出現(xiàn)最晚的語言,所以選項(xiàng)D也是錯誤的。
55.C解析:選項(xiàng)A),因?yàn)榍懊鎯蓚€條件都不滿足,所以執(zhí)行x=3。選項(xiàng)B),a<3成立,執(zhí)行x=3。選項(xiàng)C),a<3成立,執(zhí)行x=3;a<2成立,執(zhí)行x=2;a<1不成立,不執(zhí)行x=1,所以執(zhí)行此段程序后x=2。選項(xiàng)D),a<b成立,執(zhí)行x=b,此時x=2;b<c成立,執(zhí)行x=c,此時x=3;c<a不成立,不執(zhí)行x=a,所以執(zhí)行此段程序后x=3。
56.B解析:strcpy(str1,s1):作用是將字符串s1拷貝到字符數(shù)組str1中去。strcat(字符數(shù)組1,字符數(shù)組2):把字符串2接到字符串1的后面,結(jié)果放在字符數(shù)組1中,函數(shù)調(diào)用后返回字符數(shù)組1的地址。本題定義了三個字符數(shù)組p1,p2,sir,strcat(p1,p2)函數(shù)的作用是將字符串?dāng)?shù)組p2接到字符串p1的后面,結(jié)果放在字符數(shù)組p1中,再通過strcpy()函數(shù)將該字符串拷貝到str數(shù)組中,原str數(shù)組中的字符串xyz被覆蓋,因此打印輸出字符串str即可得到abcABC。
57.B解析:switch語句只接受int型變量,如果不是則隱式轉(zhuǎn)換為int,由于C語言中float到int的轉(zhuǎn)換是截尾取整,故在switch中從case1:標(biāo)號處開始執(zhí)行,首先輸出4個1。此時又因?yàn)閏ase2:之前并沒有break;之類的跳轉(zhuǎn)語句,所以case2:標(biāo)號處的語句也被執(zhí)行,輸出4個3。最后以默認(rèn)的浮點(diǎn)數(shù)格式輸出變量a,變量a在switch語句中并未被改變,故最后輸出為1.900000,所以應(yīng)該選擇B。
58.A解析:對線性表進(jìn)行二分法檢索,要求線性表是
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度景區(qū)景點(diǎn)精細(xì)化保潔服務(wù)協(xié)議
- 二零二五年度二手車轉(zhuǎn)讓及過戶手續(xù)協(xié)議
- 二零二五年度新型小區(qū)門衛(wèi)管理及應(yīng)急預(yù)案合同
- 2025年度綠色節(jié)能庫房租賃合同
- 2025年度高新技術(shù)企業(yè)員工勞動合同解除終止協(xié)議書
- 2025年度物業(yè)服務(wù)合同主體變更協(xié)議范本
- 二零二五年度大數(shù)據(jù)服務(wù)股權(quán)投資與轉(zhuǎn)讓協(xié)議
- 二零二五年度冷凍庫租賃及冷鏈物流配送中心建設(shè)合同
- 二零二五年度離婚協(xié)議中財產(chǎn)分割執(zhí)行監(jiān)督補(bǔ)充協(xié)議
- 蘇武牧羊傳紅色故事觀后感
- 家族族譜模板
- 柴油機(jī)維修施工方案
- 根管治療病例分享
- 數(shù)學(xué)課后訓(xùn)練:正態(tài)分布
- DB5115-T 129-2024《油樟優(yōu)樹選擇技術(shù)規(guī)程》
- (完整版)西泠印社出版社三年級下冊《書法練習(xí)指導(dǎo)》完整教案
- 《電工儀表與測量》課程教學(xué)大綱
- 【企業(yè)盈利能力探析的國內(nèi)外文獻(xiàn)綜述2400字】
- 危急值的考試題及答案
- 食品安全制度目錄
- 新犯罪學(xué)完整版課件電子教案
評論
0/150
提交評論