![2022年江蘇省淮安市全國計算機(jī)等級考試C語言程序設(shè)計_第1頁](http://file4.renrendoc.com/view/2b1fb86572372085ef78ce3e9c62b273/2b1fb86572372085ef78ce3e9c62b2731.gif)
![2022年江蘇省淮安市全國計算機(jī)等級考試C語言程序設(shè)計_第2頁](http://file4.renrendoc.com/view/2b1fb86572372085ef78ce3e9c62b273/2b1fb86572372085ef78ce3e9c62b2732.gif)
![2022年江蘇省淮安市全國計算機(jī)等級考試C語言程序設(shè)計_第3頁](http://file4.renrendoc.com/view/2b1fb86572372085ef78ce3e9c62b273/2b1fb86572372085ef78ce3e9c62b2733.gif)
![2022年江蘇省淮安市全國計算機(jī)等級考試C語言程序設(shè)計_第4頁](http://file4.renrendoc.com/view/2b1fb86572372085ef78ce3e9c62b273/2b1fb86572372085ef78ce3e9c62b2734.gif)
![2022年江蘇省淮安市全國計算機(jī)等級考試C語言程序設(shè)計_第5頁](http://file4.renrendoc.com/view/2b1fb86572372085ef78ce3e9c62b273/2b1fb86572372085ef78ce3e9c62b2735.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
2022年江蘇省淮安市全國計算機(jī)等級考試C語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.
有以下程序:
main
{intx,i;
for(i=l;i<=50;i++)
{x=i:
if(x%2=0)
if(x%3=0)
if(X%7=0)
printf(”%d,i)”;
}
}
輸出結(jié)果是()。
A.28B.27C.42D.4l
2.表達(dá)式a*(-b+c)的逆波蘭式是()
A.ab-+c*B.abc-+*C.a*b-c+D.ab-c+*
3.有以下定義:structperson{charname[10];intage;};structpersonclass[10]={“Johu”,17,“Paul”,19,“Mary”,18,“Adam”,16,};能輸出字母M的語句是()。
A.printf(“%c\n”,class[2].name[0]);
B.printf(“%c\n”,class[3].name[0]);
C.printf(“%c\n”,class[3].name[1]);
D.printf(“%c\n”,class[2].name[1]);
4.數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是()
A.概念設(shè)計和邏輯設(shè)計B.模式設(shè)計和內(nèi)模式設(shè)計C.內(nèi)模式設(shè)計和物理設(shè)計D.結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計
5.有如下程序段
#include"stdio.h"
#include"string.h"
#defineN10
#defineM10
char*find(char(*a)[M],intn)
{char*q;inti;
q=a[0];
for(i=0;i<n;i++)
if(strcmp(a[i],q)<0)q=a[i];
returnq;}
main()
{chars[N][M]={"tomeetme","you","and","he","china"};
char*p;
intn=5;
p=find(s,n);
puts(p);}
則執(zhí)行后輸出的結(jié)果為A.A.heB.andC.youD.tomeetme
6.有三個關(guān)系R、S和T如下:由關(guān)系R和S得到關(guān)系T的操作是()。A.自然連接B.交C.除D.并
7.若x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語句是()。A.scanf(“%d%lx,%le”,&x,&y,&z);
B.scanf(“%2d*%d%lf”&x,&y,&z);
C.scanf(“%x%*d%o”,&x,&y);
D.scanf(“%x%o%6.2f”,&x,&y,&z)
8.一棵二叉樹共有25個結(jié)點,其中5個是葉子結(jié)點,則度為l的結(jié)點數(shù)為()。
A.16B.10C.6D.4
9.程序運行后的輸出結(jié)果是()。
A.m=4
B.m=2
C.m=6
D.m=5
10.輸入序列為ABC,可以變?yōu)镃BA時,經(jīng)過的棧操作為()。
A.push,pop,push,pop,push,pop
B.push,push,push,pop,pop,pop
C.push,push,pop,pop,push,pop
D.push,pop,push,push,pop,pop
11.
12.最大容量為n的循環(huán)隊列,隊尾指針是rear,隊頭是front,則隊空的條件是()。
A.(rear+1)MODn=front
B.rear=front
C.rear+1=front
D.(rear-l)MODn=front
13.是哈希查找的沖突處理方法()。
A.求余法B.平均取中法C.二分法D.開放地址法
14.結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成,三種基本結(jié)構(gòu)組成的算法A.可以完成任何復(fù)雜的任務(wù)B.只能完成部分復(fù)雜的任務(wù)C.只能完成符合結(jié)構(gòu)化的任務(wù)D.只能完成一些簡單的任務(wù)
15.有以下程序:#include<stdio.h>voidfun(int*a,int*b){for(;(*a<*B)||(getchar()!=‘@’);){(*a)++;(*b)--;}}main(){inti=0,j=5;fun(&i,&j);printf(“%d,%d\n”,i,j);}程序運行時在第1列開始輸入ab@并按<Enter>鍵,則運行結(jié)果是()。
A.7,1B.3,2C.0,5D.5,0
16.設(shè)有如下類型說明語句:typedefstruct{intnum;struct{inty,m,d;}date;}PER;則以下定義結(jié)構(gòu)體數(shù)組并賦初值的語句中錯誤的是()。
A.PERst[2]={{1001},2008,8,1,{1002},2006,5,20};
B.PERst[2]={1001,{2008,8,1},1002,{2006,5,20}};
C.PERst[2]={{1001,2008,8,1},{1002,2006,5,20}};
D.PERst[2]={1001,2008,8,1,1002,2006,5,20};
17.設(shè)無向圖G中有n個頂點e條邊,則其對應(yīng)的鄰接表中的表頭結(jié)點和邊表接點的個數(shù)分別為()。
A.n,eB.e,nC.2n,eD.n,2e
18.下列程序的輸出結(jié)果是#include"stdio.h”"main(){inti,a=0,b=0;for(i=1;i<10;i++){if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b);}
A.a=4,b=4B.a=4,b=5C.a=5,b=4D.a=5,b=5
19.若果要求一個線性表既能較快查找,又能適應(yīng)動態(tài)變化的要求,可以采用()查找方法。
A.分塊B.順序C.二分D.散列
20.有下列程序:
程序執(zhí)行后的輸出結(jié)果是()。A.3,7,3,7B.7,3,7,3C.3,7,7,3D.7,3,3,7
二、2.填空題(20題)21.有以下程序:
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};
swaplA);swap2(b[0],b[1]);
printf("%d,%d,%d,%d\n",a[0],a[1],b[0],b[1]);
}
其輸出結(jié)果是【】。
22.下列程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{intx=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d%d",x--,y);
}
23.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【】3種。
24.以上程序運行后的輸出結(jié)果是【】。
main()
{inti=10,j=0;
do
{j=j+i;i-;}
while(i>2);
printf("%d\n",j);
}
25.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過程。
26.數(shù)據(jù)模型分為格式化模型與非格式化模型,層次模型與網(wǎng)狀模型屬于【】。
27.下列程序的輸出結(jié)果是【】。
main()
{inta=1,b=2;
a=a+b;b=a-b,a=a-b;
printf("%d,%d\n",a,b);
}
28.有如下程序段:
main(intargc,char*argv[])
{intn,i=0;
while(argv[1][i]!='\0')
{n=fun();i++;}
printf("%d\n",n*argc);
}
intfun()
{staticints=0;
s+=1;
returns;
}
假設(shè)程序經(jīng)編譯、連接后生成可執(zhí)行文件exam,exe,若鍵入如下命令行:
examl23<回車>
則運行結(jié)果為【】。
29.下列程序的運行結(jié)果是______。
#include<stdio.h>
longfunc(intx)
{longp;
if(x==O‖x==1)
return(1);
p=x*func(x-1);
return(p);
}
main()
{printf("%d\n",func(4));
}
30.若有定義語句chars[100],d[100];intj=0,i=0;且s中已賦字符串,請?zhí)羁找詫崿F(xiàn)拷貝。(注:不使用逗號表達(dá)式)
while(s[i]){d[j]=【】;j++;}
d[j]=0;
31.以下程序的輸出結(jié)果是()。#include<stdio.h>fun(){staticinta=0;a+=3;printf("%d",A);}main(){intcc;for(cc=1;cc<5;cc++)fun();printf("\n");}
32.下面程序段的輸出結(jié)果是【】。
intx=5;
do{printf("%d",x-=4);
}while(!(--x));
33.數(shù)據(jù)庫系統(tǒng)的三級模式分別為______模式、內(nèi)部級模式與外部級模式。
34.以下程序的輸出結(jié)果是______。
main()
{inta=1,b=2;
a=a+b;b=a-b;a=a-b;
printf("%d,%d\n",a,b);
}
35.在面向?qū)ο蟮某绦蛟O(shè)計方法中,類的實例稱為______。
36.以下程序的輸出結(jié)果是_______。
main()
{char*p[]={"BOOL","OPK","H","SP:,};
for(i=3;i>0;i--,i--)printf("%c",*p[i]);
printf("\n");}
37.以下程序中,select函數(shù)的功能是:在N行M列的二維數(shù)組中,選出一個最大值作為函數(shù)值返回,并通過形參傳回此最大值所在的行下標(biāo)。請?zhí)羁铡?/p>
#defineN3
#defineM3
select(inta[N][M],int*n)
{inti,j,row=1,colum=1;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(a[i][j]>a[row][colum]){row=i;colum=j;}
*n=【】;
return(【】);
}
main()
{inta[N][M]={9,11,23,6,1,15,9,17,20},max,n;
max=select(a,&n);
printf(“max=%d,line=%d\n”,max,n);
}
38.某二叉樹中度為2的結(jié)點有18個,則該二叉樹中有【】個葉子結(jié)點。
39.在算法的4個特性中,算法必須能在執(zhí)行有限個步驟之后終止指的是算法的______特性。
40.下列的for語句的循環(huán)次數(shù)為______。
for(x=1,y=0;(y!=19)&&(x<7);x++);
三、1.選擇題(20題)41.下列程序執(zhí)行的輸出結(jié)果是()。#include<stdio.h>main(){chara[2][4];strcpy(a,"are");strcpy(a[1],"you");a[0][3]='&';printf("%s\n",a);}
A.are&youB.youC.areD.&
42.以下語句或語句組中能正確進(jìn)行字符串賦值的是()。
A.ehar以*sp;*sp="right!";
B.chars[10];s="right!";
C.chars[10];*s="right!";
D.char*sp="right!";
43.請讀程序:#include<stdio.h>#include<string.h>main(){char*s1="AbCdEf",*s2="aB";s1++;s2++;printf("%d\n",strcmp(s1,s2));}上面程序的輸出結(jié)果是______。
A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值
44.以下不能定義為用戶標(biāo)識符的是()。
A.scanfB.VoidC.3comD.int
45.下列敘述中正確的是()。A.實體集之間一對一的聯(lián)系實際上就是一一對應(yīng)的關(guān)系
B.關(guān)系模型只能處理實體集之間一對一的聯(lián)系
C.關(guān)系模型屬于格式化模型
D.以上三種說法都不對
46.在計算面中,算法是指______。
A.查詢方法B.加工方祛C.解題方案的準(zhǔn)確而完整的描述D.排序方法
47.有如下程序main(){inty=3,x=3,z=1;printf("%d%d\n",(++x,y++),z+2);}運行該程序的輸出結(jié)果是______。
A.34B.42C.43D.33
48.若有下列定義(設(shè)int類型變量占2個字節(jié)):floatx=123.4567;則下列語句:printf("x=%5.2f",x);輸出的結(jié)果是()。
A.x=123.46B.123.4567C.x=123.4567D.123.46
49.下列敘述中正確的是()。
A.線性鏈表的各元素在存儲空間中的位置必須是連續(xù)的
B.線性鏈表的頭元素一定存儲在其他元素的前面
C.線性鏈表中的各元素在存儲空間中的位置不一定是連續(xù)的,但表頭元素一定存儲在其他元素的前面
D.線性鏈表中的各元素在存儲空間中的位置不一定是連續(xù)的,且各元素的存儲順序也是任意的
50.數(shù)據(jù)庫系統(tǒng)的核心是()
A.數(shù)據(jù)庫B.數(shù)據(jù)庫管理系統(tǒng)C.模擬模型D.軟件工程
51.若已包括頭文件<string.h>且已有定義chars1[18],s2={"ABCDE"}和inti,現(xiàn)要將字符串“ABCDE”賦給s1,下列語句錯誤的是()。
A.strcpy(s1,s2)
B.strcpy(sl,"ABCDE");
C.s1="ABCDE";
D.for(i=0;i<6;i++)s1[i]=s2[i];
52.若有說明inta[][3]={1,2,3,4,5,6,7,8,9},則a數(shù)組第一維的大小是()。
A.2B.3C.4D.無確定值
53.數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)之間的關(guān)系是()。
A.數(shù)據(jù)庫包括數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)
B.數(shù)據(jù)庫系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)
C.數(shù)據(jù)庫管理系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫系統(tǒng)
D.三者沒有明顯的包含關(guān)系
54.若主函數(shù)中有以下定義和語句:main(){doublea[3][4];……fun(a);}則正確的fun函數(shù)的首部是()
A.voidfun(double*s)
B.fun(double*s[4])
C.fun(double(*s)[3])
D.voidfun(double(*s)[4])
55.有1000個64×64漢字的點陣漢字庫,其存儲空間為()KB。
A.500B.1000C.512D.1024
56.在C語言程序中,下列說法正確的是()。
A.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套
B.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套
C.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套
D.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套
57.下面是對宏定義的描述,不正確的是______。
A.宏不存在類型問題,宏名無類型,它的參數(shù)也無類型
B.宏替換不占用運行時間
C.宏替換時先求出實參表達(dá)式的值,然后代入形參運算求值
D.宏替換只不過是字符替代而已
58.下列敘述中正確的是______。
A.C程序中注釋部分可以出現(xiàn)在程序中任何合適的地方
B.花括號""{""和""}""只能作為函數(shù)體的定界符
C.構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名
D.分號是C語句之間的分隔符,不是語句的一部分
59.下列語句中,不正確的是______。
A.staticinta[2][3]={1,2,3,4,5,6};
B.staticinta[2][3]={{1},{4,5}};
C.staticinta[][3]={{1},{4}};
D.staticinta[][]={{1,2,3},{4,5,6}};
60.在關(guān)系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是
A.樹結(jié)構(gòu)B.網(wǎng)結(jié)構(gòu)C.線性表D.二維表
四、選擇題(20題)61.在數(shù)據(jù)庫管理系統(tǒng)的層次結(jié)構(gòu)中,處于最上層的是()。
A.應(yīng)用層B.語言翻譯處理層C.數(shù)據(jù)存取層D.數(shù)據(jù)存儲層
62.
63.若執(zhí)行以下程序時從鍵盤上輸入9,則輸出結(jié)果是()。main(){intn;scanf(”%d”,&n);if(n++<10)printf(”/%d\n”,n);elseprintf(”%d\n”,n--);}A.11B.10C.9D.8
64.有以下程序:
程序的運行結(jié)果是()。
A.xy,aaaaCeB.aaaaCC,xyC.bCC,aabCCD.aabCC,bCC
65.下列對于軟件測試的描述正確的是()。
A.軟件測試的主要目的是發(fā)現(xiàn)程序中的錯誤
B.軟件測試的目的是證明程序是否正確
C.軟件測試的目的是使程序運行結(jié)果正確
D.軟件測試是證明軟件中沒有錯誤
66.算法的空間復(fù)雜度是指()。
A.算法在執(zhí)行過程中所需要的計算機(jī)存儲空間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語句或指令條數(shù)
D.算法在執(zhí)行過程中所需要的臨時工作單元數(shù)
67.
68.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
69.有以下程序段:
以下選項中表達(dá)式的值為11的是()。
A.++pt一>xB.pt一>xC.*pt一>yD.(pt++)一>x
70.有以下程序程序運行后的輸出結(jié)果是()。
A.1,3B.2,3C.1,4D.1.2
71.下列程序的輸出結(jié)果是()。
#include<stdio.h>
main()
{inti,s=0;
for(i=1;i<10;i++)
if(!(i%2)&&!(i%3))s+=i;
printf("%d\n",s);
}A.4B.39C.45D.6
72.下述程序的運行結(jié)果是()。#includedstdio.h>#includedstrin9.h>main{char*s1="abDuj";char*s2="ABdUG";intt;t=strcmp(s1,s2);printf("%d",t);}A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值
73.有定義:“inta=2,b=3,c=4;”,則下列選項中值為0的表達(dá)式是()。A.A.(a<b)&&!c‖1
B.(!a==1)&&(!b==0)
C.a&&b
D.a||(b+b)&&(c-a)
74.
下列程序的運行結(jié)果是()。
inty=5,x=14;
y=((x=3*Y,x+1),x-1);
printf("x=%d,y=%d",x,y);
A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=27
75.
76.有以下程序:
若運行時輸入:246<;回車>;,則輸出結(jié)果為()。
A.204B.200C.240D.246
77.設(shè)有以下語句:
TypedefstructTT
{charc;inta[4];}CIN;
則下面敘述中錯誤的是()。
A.不可以用TT定義結(jié)構(gòu)體變量
B.TT是結(jié)構(gòu)體標(biāo)識名
C.可以用CIN定義結(jié)構(gòu)體變量
D.CIN是structTT類型的變量
78.以下敘述中錯誤的是()。A.使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題
B.結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成
C.c語言是一種結(jié)構(gòu)化程序設(shè)計語言
D.結(jié)構(gòu)化程序設(shè)計提倡模塊化的設(shè)計方法
79.有以下程序
#include<stdio.h>
main()
{
intnum=0;
while(num<=2)
{
num++;
printf("%d\n",num);
}
}
上面程序的輸出結(jié)果是
80.在JavaScript語言中,要定義局部變量則可以()。
A.由關(guān)鍵字private在函數(shù)內(nèi)定義
B.由關(guān)鍵字private在函數(shù)外定義
C.由var在函數(shù)內(nèi)定義
D.由關(guān)鍵字var在函數(shù)外定義
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc的功能是:先將字符串s中的字符按順序存放到t中,然后把S中的字符按正序連接到t的后面。例如,當(dāng)s中的字符串為WXYZ時,則t中的字符串應(yīng)為WXYZWXYZ。
請改正程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
#include<stdlib.h>
#include<conio.h>
#include<stdio.h>
#include<string.h>
voidproc(char*s,char*t)
{
inti,s1;
s1=strlen(s);
for(i=0;i<s1;i++)
//****found****
t[i]=s[s1];
for(i=0;i<s1;i++)
t[s1+i]一s[i];
t[2*s1]=\O0;
}
voidmain
{
chars[100],t[100];
system("CLS");
print{("\nPleaseenterstrings:");
scanf("%s",s);
proc(s,t);
printf("Theresultis:%s\n",t);
}
六、程序設(shè)計題(1題)82.編寫函數(shù)fun,其功能是:求出1~1000之間能被7或11整除,但不能同時被7和11整除的所有整數(shù),并將其放在a所指的數(shù)組中,通過n返回這些數(shù)的個數(shù)。
注意:部分原程序在文件PROGl.C中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填人你編寫的若干語句。
參考答案
1.C只有當(dāng)3個if條件同時成立,即能夠同時被2、3、7整除時,才輸出i的值,而從0到50能夠同時被2、3、7整除的數(shù)只有42,故選擇C選項。
2.D
3.AC語言規(guī)定數(shù)組的下標(biāo)從0開始,結(jié)構(gòu)體數(shù)組class初始化了前4個元素。第3個元素的name=“Marry”,則class[2].name[0]=‘M’。故本題答案為A選項。
4.A解析:模式設(shè)計和內(nèi)模式設(shè)計是概念設(shè)計的兩種方法。物理設(shè)計是根據(jù)特定的計算機(jī)系統(tǒng),對數(shù)據(jù)的存儲結(jié)構(gòu)和存取方法進(jìn)行設(shè)計,從而實現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開發(fā)的角度來看,結(jié)構(gòu)特性設(shè)計和行為特性-設(shè)計是數(shù)據(jù)庫應(yīng)用系統(tǒng)所具有的兩個特性。結(jié)構(gòu)特性的設(shè)計,設(shè)計各級數(shù)據(jù)庫模式(靜態(tài)特性):行為特性的設(shè)計,改變實體及其特性,決定數(shù)據(jù)庫系統(tǒng)的功能(動態(tài)特性)。
5.B在本題中,首先定義了兩個宏N和M,大小都為10,然后定義了一個返回指針的函數(shù)find,該函數(shù)帶有兩個形參,第一個為字符型的指針數(shù)組,第二個為整型變量,在函數(shù)體中,首先定義了一個指針變量q,并將形參中指針數(shù)組的第一個元素賦值給q,然后執(zhí)行for循環(huán),在循環(huán)體中,首先執(zhí)行條件判斷語句,其條件為strcmp(a[i],q)<0(strcmp函數(shù)的作用是比較兩字符串的大小,如果相等,則返回0值,如果參數(shù)中的第一個字符串大,則返回正值,否則返回負(fù)值),如果結(jié)果為真,說明指針數(shù)組當(dāng)前元素所指向的字符串比q所指向的字符串小,此時,程序執(zhí)行將當(dāng)前指針數(shù)組元素賦值給p,最后返回p,通過上面的分析我們可以看出,find函數(shù)的作用是找出指針數(shù)組中各元素所指向字符串的最小字符串。
在主函數(shù)中,定義了一個二維數(shù)組s,并賦了初值,然后定義一個指針變量p,用來存放函數(shù)find的返回值。調(diào)用函數(shù)find的參數(shù)分別為s和5,結(jié)合形參看find函數(shù),不難知道調(diào)用find函數(shù)就是找出二維數(shù)組s中各字符串中最小的字符串,那么應(yīng)該為and。此時,指針變量p指向字符串“and”的首地址,然后執(zhí)行puts(p),完成該字符串的輸出。因此,本題正確的答案是B。
6.C由圖所知,其中,C中只有一個屬性,是除操作。
7.D
8.A根據(jù)二叉樹的性質(zhì),n=n0+n1+n2(n表示總結(jié)點數(shù),n0表示葉子結(jié)點數(shù),nl表示度數(shù)為1的結(jié)點數(shù),n2表示度數(shù)為2的結(jié)點數(shù)),而葉子結(jié)點數(shù)總是比度數(shù)為2的結(jié)點數(shù)多1,所以n2=n1-1=5-1=4,而n=25,所以nl=n-n0-n2=25-5-4=16。
9.C[解析]第一次外循環(huán)的值為1.第一次內(nèi)循環(huán)的值為3.不滿足條件執(zhí)行m*=j即m的值為3;第二次的值為2.不滿足條件執(zhí)行m*=*j,即m的值為6;第三次的值為1.不滿足條件執(zhí)行m*=j,即m的值仍為6.第二次外循環(huán)的值為2.j的值為3.滿足條件,執(zhí)行break語句,跳出循環(huán)。
10.B
11.C
12.B
13.D
14.A解析:C程序由順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)三種基本的結(jié)構(gòu)組成,這三種結(jié)構(gòu)可以組成任何復(fù)雜的C程序,即可以完成任何復(fù)雜的任務(wù)。
15.Dfun函數(shù)接收兩個整型指針變量a、b。for循環(huán)判斷a、b指向的值大小和getchar讀入的字符是否為“@”來決定循環(huán)是否執(zhí)行。循環(huán)體內(nèi)對a、b指向的值各自自增1、自減1。main函數(shù)定義并初始化實參i的值為0,實參j的值為5,調(diào)用函數(shù)fun,傳入i、j的地址。所以形參a指向i,形參b指向j,*a的值為0,*b的值為5,*a<*b為真,執(zhí)行循環(huán)體;*a的值為1,*b的值為4,*a<*b為真,執(zhí)行循環(huán)體;*a的值為2,*b的值為3,*a<*b為真,執(zhí)行循環(huán)體;*a的值為3,*b的值為2,*a<*b為假,getchar讀入字符“a”,執(zhí)行循環(huán)體;*a的值為4,*b的值為1,*a<*b為假,getchar讀入字符“b”,執(zhí)行循環(huán)體;*a的值為5,*b的值為0,*a<*b為假,getchar讀入字符“@”,fun函數(shù)執(zhí)行完畢,main函數(shù)輸出5,0。故本題答案為D選項。
16.A結(jié)構(gòu)體PER類型定義了兩個成員:num為整型,date為嵌套的結(jié)構(gòu)體類型。初始化時,成員值的順序必須與成員定義的順序相同,num必須是整數(shù),date必須是用花括號標(biāo)注的嵌套的3個整數(shù)。選項A中,{1001}和{1002}都不是整數(shù),所以選項A錯誤。故本題答案為A選項。
17.A
18.B解析:continue語句的作用是跳過本次循環(huán)體中余下尚未執(zhí)行的語句,接著再一次進(jìn)行循環(huán)條件的判定。當(dāng)能被2整除時,a就會增1,之后執(zhí)行continue語句,直接執(zhí)行到for循環(huán)體的結(jié)尾,進(jìn)行i++,判斷循環(huán)條件。
19.A
20.C程序定義兩個整型變量i、j,初值為3,7。另外,定義兩個整型指針變量p、q,其中p指向i,q指向j。將i、j的地址傳給swap函數(shù)。在swap函數(shù)中,a指向i,b指向j。通過臨時變量t交換a和b指向的值,此時a指向的實參i、b指向的實參j的值發(fā)生了交換。即a指向i的值為7,b指向j的值為3;再通過臨時變量tp交換a和b的指針值,使得a指向j,b指向i。所以swap中輸出a指向的值為3(j),b指向的值為7(i);swap函數(shù)調(diào)用結(jié)束后,輸出p和q指向的值,即i、j的值為7、3。所以程序輸出:3,7,7,3。本題答案為C選項。
21.53355335解析:函數(shù)swap1的形參是數(shù)組,故形參的改變能夠影響實參,所以執(zhí)行完swap1(a)后,a[0]=5、a[1]=3;函數(shù)swap2的形參是簡單變量,故形參的改變不能夠影響實參,所以執(zhí)行完swap2(b)后,b[0]=3、b[1]=5;正確答案為5335。
22.101091101091解析:for(表達(dá)式1;表達(dá)式2:表達(dá)式3)語句的功能是:首先計算表達(dá)式1的值,然后檢測表達(dá)式2的值,若其值為真,則執(zhí)行循環(huán)體語句,執(zhí)行完畢后,再計算表達(dá)式3的值。然后再檢測表達(dá)式2的值是否為真,若為真,繼續(xù)執(zhí)行循環(huán)體語句,若為假,則退出循環(huán):第1次循環(huán)x>8成立,輸出x=10,y=10后,x的值減1,i=1,執(zhí)行y=++i操作,y的值變?yōu)?;判斷條件還成立,輸出x=9,y=1,然后x的值減1,循環(huán)條件不成立,則退出循環(huán)。
23.關(guān)系模型關(guān)系模型解析:數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個標(biāo)準(zhǔn)接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。
24.5252解析:do...while語句的形式為:
do
{
語句;
}while(條件表達(dá)式)
當(dāng)條件表達(dá)式為非零時,繼續(xù)執(zhí)行循環(huán)體,直到條件表達(dá)式為零時退出循環(huán)。
25.數(shù)據(jù)存儲數(shù)據(jù)存儲
26.格式化模型格式化模型解析:層次模型與網(wǎng)狀模型屬于格式化模型。
27.21
28.66解析:本題中命令行輸入2個符號串,所以argc=2,argv[0]指向符號串'exam',argv[1]指向符號串'123',while循環(huán)的作用是計算argv[1]所指向的字符串的長度,執(zhí)行完while循環(huán)后n=3,所以n*argc=3×2=6。
29.本題考查函數(shù)的循環(huán)調(diào)用。p=x*func(x-1),當(dāng)x=4時,不滿足if語句的條件,p=4*func(3),x=3也不滿足條件,則func(3)=3*func(2),func(2)=2*func(1),x=1滿足條件return(1),則輸出結(jié)果為4*3*2*1=24。\r\n\r\n
30.s[i++]s[i++]解析:本題中為了能實現(xiàn)字符串的拷貝,需要使字符數(shù)組s從頭到尾依次遍歷其所有元素。本題應(yīng)使用i的自增后置來實現(xiàn)。
31.3691236912解析:本題考查最基本的for循環(huán)。for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數(shù)為4次,每次a+=3,即每次a的值增加3,但因為fun函數(shù)中變量a為static類型,所以每次調(diào)用完子函數(shù)之后,變量a所做的改變都要保存。
32.1-41-4解析:題目中首先讓x=5,然后進(jìn)入do-while循環(huán)體,輸出x-4的值1,此時x為1,表達(dá)式!(--x)的值為!(0)為真(此時x變?yōu)?),所以再次執(zhí)行循環(huán)體,輸出x-4的值-4,此時x為-4,表達(dá)式!(--x)的值為!(—5)為假,退出循環(huán)。故輸出結(jié)果是1-4。
33.概念(或概念級)概念(或概念級)
34.21
35.對象對象解析:在面向?qū)ο蟮某绦蛟O(shè)計方法中,類是具有相同的屬性或方法的對象的抽象,對象是類的實例。
36.
37.rowa[row][colum]row\r\na[row][colum]解析:指針變量作為函數(shù)參數(shù)及二維數(shù)組的一個典型算法——求最大值及其下標(biāo)。通過對題意的分析,在select()函數(shù)中,變量row的作用是用來記錄最大元素的行下標(biāo),colum的作用是用來記錄最大元素的列下標(biāo)。程序中通過一個循環(huán)求得數(shù)組元素中最大值的行列下標(biāo),分別存放在變量row和colum中,根據(jù)題意,應(yīng)該把行下標(biāo)賦值給形參指針變量n指向的變量,把最大值a[row][colum]作為函數(shù)值返回。
38.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。本題中度為2的結(jié)點數(shù)為18,故葉子結(jié)點數(shù)為18+1=19個。
39.有窮性有窮性解析:算法的4個基本特性包括:可靠性、確定性、有窮性和擁有足夠的情報,其中,算法的有窮性指的是算法必須在有限的時間內(nèi)完成,即算法必須在執(zhí)行有限個步驟之后終止。
40.66解析:分析程序可知,每循環(huán)一次,x的值加1,然后檢測循環(huán)控制條件(y!=19)&&(x<7),因y的值不變,故滿足x<7時循環(huán)6次。
41.A解析:strcpy(a,'are')中數(shù)組名a代表數(shù)組首地址的地址常量,該操作把are復(fù)制到a中,a[0][3]=\'&\',且strcpy(a[1],'you')把you復(fù)制到a[1]中,故輸出a為“are&you”。
42.D解析:選項A)應(yīng)將*sp='right!';中的*叩改為sP,即把字符串'right!”的首地址賦給指針變量sp;選項B)中的s代表數(shù)組的首地址,不能給它賦字符串,只能在定義數(shù)組時,對其進(jìn)行初始化;選項C)中的。s指的是數(shù)組的第一個元素,不能給它賦字符串。
43.A解析:本題考查字符串比較函數(shù)strcmp()的應(yīng)用。strcmp(s1,s2)是中比較函數(shù),當(dāng)s1>s2時返回值為正數(shù),當(dāng)s1<s2時返回值為負(fù)數(shù),當(dāng)s1=s2時返回值為零。本題中s1,s2分別表示兩個串中第一個字符的地址,s1++和s2++是將指針指向串的第二個字符,指針變量s1指向的是串“bCdEf”的首地址,即字符b的地址,而指針變量s2指向的是字符'B'的地址。而在字符串比較中,寧符串大小的確定是各個字符串相應(yīng)位置字符的ASCII碼值的大小決定的,字符'B'的ASCII碼值為66,字符“b”的ASCII碼值為98,所以s1>s2,返回值為正數(shù)。
44.D解析:標(biāo)識符是C語言中用來表示變量名、數(shù)組名、函數(shù)名、指針名、結(jié)構(gòu)名、聯(lián)合名、枚舉常數(shù)名、用戶定義的數(shù)據(jù)類型名、語句標(biāo)號等用途的字符序列。標(biāo)識符由1~32個字符組成,第一個字符必須是字母或下劃線,后面的字符可以是字母、數(shù)字或下劃線。標(biāo)識符不能與C關(guān)鍵字相同,并區(qū)分大小寫。選項D)錯誤,因為int是C語言中的關(guān)鍵字。
45.D解析:實體集之間一對一的聯(lián)系不一定是一一對應(yīng)的關(guān)系。例如,在一個教室中,實體集“學(xué)生”與實體集“座位”之間是一對一的聯(lián)系。因為實體集“學(xué)生”中的每一個學(xué)生最多與實體集“座位”中的一個座位有聯(lián)系(學(xué)生坐在該座位上);并且,實體集“座位”中中的每一個座位也最多與實體集“學(xué)生”中的一個學(xué)生有聯(lián)系(座位上坐著該學(xué)生)。但該教室中的學(xué)生與座位之間不一定是一一對應(yīng)的關(guān)系,因為有可能某些座位是空的,沒有學(xué)生去坐。因此,選項A)中的說法是錯誤的。在關(guān)系模型中,由于使用表格數(shù)據(jù)來表示實體之間的聯(lián)系,因此,可以直接描述多對多的實體聯(lián)系。因此,選項B)中的說法也是錯誤的。關(guān)系模型是與格式化模型完全不同的數(shù)據(jù)模型,它與層次模型、網(wǎng)狀模型相比有著本質(zhì)的區(qū)別。關(guān)系模型是用表格數(shù)據(jù)來表示實體本身及其相互之間的聯(lián)系,它是建立在數(shù)學(xué)理論基礎(chǔ)上的。因此,選項C)中的說法也是錯誤的。
46.C解析:計算機(jī)算法是指解題方案的準(zhǔn)確而完整的描述,它有以下幾個基本特征:可行性、確定性、有窮性和擁有足夠的情報。
47.D解析:逗號表達(dá)式(++x,y++)的值應(yīng)該是y++的值,由于y++是先引用后自增,所以y++的值是3。
48.A解析:本題考查printf函數(shù)的格式。“%5.2f”格式符中的“f”表示以帶小數(shù)點的形式輸出單精度或者雙精度數(shù):“5”表示指定數(shù)據(jù)輸出寬度為5;“.2”表示指定輸出數(shù)據(jù)小數(shù)位占2位數(shù),并對截去的第一位小數(shù)做四舍五入處理。
49.DD.【解析】在線性鏈表中,各元素在存儲空間中的位置是任意的,各元素的順序也是任意的,依靠指針來實現(xiàn)數(shù)據(jù)元素的前后件關(guān)系。
50.B解析:數(shù)據(jù)庫管理系統(tǒng)(DataBaseManagementSystem,簡稱DBMS)是數(shù)據(jù)庫的機(jī)構(gòu),它是一種系統(tǒng)軟件,負(fù)責(zé)數(shù)據(jù)庫中的數(shù)據(jù)組織、數(shù)據(jù)操縱、數(shù)據(jù)維護(hù)、控制及保護(hù)和數(shù)據(jù)服務(wù)等,數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心。
51.C解析:數(shù)組名s1是代表s1數(shù)組首地址的地址常量,而不是變量,因為“=”左邊不能出現(xiàn)常量,因此s1=“ABCDE”的方法是錯誤的。
52.B解析:本題考查二維數(shù)組第一維的大小如何確定。二維數(shù)組第一維的大小由下列規(guī)則確定:①當(dāng)初值的個數(shù)能被第二維的常量表達(dá)式的值除盡時,所得商數(shù)就是第一維的大?。孩诋?dāng)初值的個數(shù)不能被第二維的常量表達(dá)式的值除盡時,第一維的大小等于所得商數(shù)加1。
53.B數(shù)據(jù)庫可以看成是長期存儲在計算機(jī)內(nèi)的、大量的、有結(jié)構(gòu)的和可共享的數(shù)據(jù)集合。數(shù)據(jù)庫可以被直觀地理解為存放數(shù)據(jù)的倉庫,只不過這個倉庫在計算機(jī)的大容量存儲器上,例如,硬盤就是一種最常見的計算機(jī)大容量存儲設(shè)備。數(shù)據(jù)必須按一定的格式存放,因為它不僅需要存放,而且還要便于查找和使用。
數(shù)據(jù)庫管理系統(tǒng)(DBMS)是位于用戶與操作系統(tǒng)之間的完成數(shù)據(jù)管理的系統(tǒng)軟件。它是用戶與數(shù)據(jù)庫的接口。應(yīng)用程序一般要通過DBMS才能訪問數(shù)據(jù)庫。在數(shù)據(jù)庫建立、運用和維護(hù)時對數(shù)據(jù)庫進(jìn)行統(tǒng)一控制。
數(shù)據(jù)庫系統(tǒng)是指在計算機(jī)系統(tǒng)中引入數(shù)據(jù)庫后的系統(tǒng),一般由數(shù)據(jù)庫、數(shù)據(jù)庫管理系統(tǒng)(及其開發(fā)工具)、應(yīng)用系統(tǒng)、數(shù)據(jù)庫管理員和用戶構(gòu)成。數(shù)據(jù)庫是整個數(shù)據(jù)庫系統(tǒng)最基本的成分。數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心。數(shù)據(jù)庫管理員是數(shù)據(jù)庫系統(tǒng)的責(zé)任維護(hù)者,負(fù)責(zé)對數(shù)據(jù)庫系統(tǒng)的整體維護(hù)。
綜上所述,本題中只有B選項的描述是正確的。
54.D
55.A
56.B解析:本題考查函數(shù)調(diào)用的基本概念。因為函數(shù)的結(jié)果是個未知量,而函數(shù)定義時不能使用未知量,所以函數(shù)定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套。
57.C解析:宏替換實質(zhì)上就是字符替代,它不可能進(jìn)行計算,故C錯誤。帶參數(shù)的宏與函數(shù)相比,宏在程序編譯之前已經(jīng)將代碼替換到程序內(nèi),執(zhí)行時不會產(chǎn)生類似于函數(shù)調(diào)用的問題,可以說不占用運行時間。
58.A解析:C程序中注釋部分用“/*”和“*/”括起來,可以出現(xiàn)在程序中任何合適的地方;花括號“{”和“}”不僅可作為函數(shù)體的定界符,也可作為復(fù)合語句的定界符;構(gòu)成C程序的基本單位是函數(shù):一個語句必須在最后出現(xiàn)分號,分號是C語句中不可缺少的部分。
59.D
60.D解析:在關(guān)系模型中,把數(shù)據(jù)看成一個二維表,每一個二維表稱為一個關(guān)系。即關(guān)系模型是用表格數(shù)據(jù)來表示實體本身及其相互之間的聯(lián)系。本題的正確答案是D。
61.A在數(shù)據(jù)庫管理系統(tǒng)的層次結(jié)構(gòu)中,應(yīng)用層是直接面向終端客戶的,因此它是出于最上層得。
62.A
63.B當(dāng)n為9時,此時if語句成立,執(zhí)行n++后,n為10,因此輸出n的值為10,故選擇B選項。
64.A函數(shù)fun(char*s[],intn)的功能是對字符串?dāng)?shù)組的元素按照字符串的長度從小到大排序。在主函數(shù)中執(zhí)行fun(ss,5)語句后,*ss[]={“xy”,“bcc”,“bbcc”,“aabcc”,“aaaacc”},ss[0],ss[4]的輸出結(jié)果為xy,aaaacc。所以選項A)為正確答案。
65.A\n軟件測試的目標(biāo)是發(fā)現(xiàn)軟件中的錯誤。
\n
66.A算法的空間復(fù)雜度是指算法在執(zhí)行過程中所需要的內(nèi)存空間。所以選擇A項。
67.B
68.A本題考查按位與運算,按位與就是相同為1,不同為0,把x=011050化成二進(jìn)制為0001001000101000,把01252化成二進(jìn)制為0000001010101010,兩者相與得0000001000101000。
69.A本題考查結(jié)構(gòu)體數(shù)組初始化以及結(jié)構(gòu)體變量的引用,題目中定義了一個結(jié)構(gòu)體數(shù)組C并初始化,指針pt指向c的第一個元素,那么pt一>x為10,++pt一>x為11,4pt一>Y為1,(pt++)一>x為20,所以答案為A。
70.Af函數(shù)功能使第二個指針指向的元素增1,第一個指針指向的元素不變,所以答案選擇A)。
71.Dif語句的條件是當(dāng)i既是3的倍數(shù)又是2的倍數(shù)時成立,所以此程序?qū)崿F(xiàn)的功能是將10以內(nèi)既是3的倍數(shù)又是2的倍數(shù)的數(shù)相加。
72.A本題考查符符串比較函數(shù)和兩個字符串比較的原則這兩個知識點。
(1)兩字符串比較的原則是依次比較兩個字符串同一位置的一對字符,若它們的ASCII碼值相同,則繼續(xù)比較下一對字符,若它們的ASCII碼值不同,則ASCII碼值較大的字符所在的字符串較大;若所有字符相同,則兩個字符串相等;若一個字符串全部i個字符與另一個字符串的前i個字符相同,則字符串較長的較大(2)strcmp(s1,s2)的返回值,當(dāng)str1<str2時,返回值為負(fù)數(shù);當(dāng)str1=str2時,返回0;當(dāng)str1>str2,返回值為正數(shù)。
73.B對于這種問題可以用真假來判斷,當(dāng)數(shù)值不為0時都一律為真,只有是0才是假
A:(a<b)為真,!c為假,所以(真&&假)為假,后來(假‖真)為真,不是0<b)為真,!c為假,所以(真&&假)為假,后來(假|(zhì)|真)為真,不是0B:(真&&假)為假,是0
C:(真&&真)為真,不是0
D:(真||真)為真,c-a為真,(真&&真)為真,不是0</b)為真,!c為假,所以(真&&假)為假,后來(假|(zhì)|真)為真,不是0
74.C解析:逗號表達(dá)式的求解步驟是先求解表達(dá)式1,然后依次求解表達(dá)式2,直到表達(dá)式N的值。整個逗號表達(dá)式的值就是最后一個表達(dá)式N的值。
表達(dá)式(x=3*y,x+1)中,第一個表達(dá)式x=3*y=3*5=15;第二個表達(dá)式x+1=16,但沒有給x或y賦值,所以x還是等于15;第3個表達(dá)式x-1=15-1=14,所以y的值為14。
75.B
76.A本題中輸入的3個數(shù)據(jù)2,4,6分別賦值給了x[0[0],x[1][0],x[2][0]。x[o][1]仍為初始時的0,所以打印輸出時的結(jié)果為A選項。
77.D類型定義;CIN不是structII類型的變量,它是structII類型的代替,即可以用它定義結(jié)構(gòu)體變量。
78.A使用順序、選擇(分支)、循環(huán)3種基本結(jié)構(gòu)構(gòu)成的程序可以解決所有問題,而不只是解決簡單問題,因此A)選項錯誤。
79.C本題考查while()語句。程序中使用的是while循環(huán),為“當(dāng)型”循環(huán)結(jié)構(gòu),即當(dāng)條件為真時循環(huán),將值代入循環(huán),當(dāng)num為3時,循環(huán)的條件已經(jīng)為假,將不再循環(huán)。故本題答案為C。
80.C
81.\n\t錯誤:t[i]=s[l];
\n正確:t[i]=s[i];
\n【解析】函數(shù)proc首先要實現(xiàn)將數(shù)組s中的元素順序放在數(shù)組t中,即數(shù)組t中下標(biāo)為i的元素在數(shù)組S中下標(biāo)也為i,因此“t[i]=s[s1];”應(yīng)改為“t[i]=s[i];”。\n
82.
【考點分析】
本題考查:if語句,用來判斷能被7整除或者能被11整除,但是又不能同時被7和11整除的數(shù),在這里充分理解”邏輯與”和”邏輯或”的區(qū)別;for循環(huán)語句的循環(huán)變量用來控制取值范圍。
【解題思路】
該題需要運用循環(huán)判斷結(jié)構(gòu)來實現(xiàn),其中循環(huán)語句比較容易,只要確定循環(huán)變量的范圍即可,下面來看判斷語句,題目要求找出能被7或11整除,但不能同時被7和11整除的所有整數(shù)。能同時被7和ll整除的整數(shù)一定能被77整除,且不能被
77整除的數(shù)不一定就是能被7或11整除的數(shù),所以可得出程序中的if語句。注意:(i%7==0||i%11==0)兩邊必須要有小括號。2022年江蘇省淮安市全國計算機(jī)等級考試C語言程序設(shè)計學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.
有以下程序:
main
{intx,i;
for(i=l;i<=50;i++)
{x=i:
if(x%2=0)
if(x%3=0)
if(X%7=0)
printf(”%d,i)”;
}
}
輸出結(jié)果是()。
A.28B.27C.42D.4l
2.表達(dá)式a*(-b+c)的逆波蘭式是()
A.ab-+c*B.abc-+*C.a*b-c+D.ab-c+*
3.有以下定義:structperson{charname[10];intage;};structpersonclass[10]={“Johu”,17,“Paul”,19,“Mary”,18,“Adam”,16,};能輸出字母M的語句是()。
A.printf(“%c\n”,class[2].name[0]);
B.printf(“%c\n”,class[3].name[0]);
C.printf(“%c\n”,class[3].name[1]);
D.printf(“%c\n”,class[2].name[1]);
4.數(shù)據(jù)庫設(shè)計包括兩個方面的設(shè)計內(nèi)容,它們是()
A.概念設(shè)計和邏輯設(shè)計B.模式設(shè)計和內(nèi)模式設(shè)計C.內(nèi)模式設(shè)計和物理設(shè)計D.結(jié)構(gòu)特性設(shè)計和行為特性設(shè)計
5.有如下程序段
#include"stdio.h"
#include"string.h"
#defineN10
#defineM10
char*find(char(*a)[M],intn)
{char*q;inti;
q=a[0];
for(i=0;i<n;i++)
if(strcmp(a[i],q)<0)q=a[i];
returnq;}
main()
{chars[N][M]={"tomeetme","you","and","he","china"};
char*p;
intn=5;
p=find(s,n);
puts(p);}
則執(zhí)行后輸出的結(jié)果為A.A.heB.andC.youD.tomeetme
6.有三個關(guān)系R、S和T如下:由關(guān)系R和S得到關(guān)系T的操作是()。A.自然連接B.交C.除D.并
7.若x,y均定義為int型,z定義為double型,以下不合法的scanf函數(shù)調(diào)用語句是()。A.scanf(“%d%lx,%le”,&x,&y,&z);
B.scanf(“%2d*%d%lf”&x,&y,&z);
C.scanf(“%x%*d%o”,&x,&y);
D.scanf(“%x%o%6.2f”,&x,&y,&z)
8.一棵二叉樹共有25個結(jié)點,其中5個是葉子結(jié)點,則度為l的結(jié)點數(shù)為()。
A.16B.10C.6D.4
9.程序運行后的輸出結(jié)果是()。
A.m=4
B.m=2
C.m=6
D.m=5
10.輸入序列為ABC,可以變?yōu)镃BA時,經(jīng)過的棧操作為()。
A.push,pop,push,pop,push,pop
B.push,push,push,pop,pop,pop
C.push,push,pop,pop,push,pop
D.push,pop,push,push,pop,pop
11.
12.最大容量為n的循環(huán)隊列,隊尾指針是rear,隊頭是front,則隊空的條件是()。
A.(rear+1)MODn=front
B.rear=front
C.rear+1=front
D.(rear-l)MODn=front
13.是哈希查找的沖突處理方法()。
A.求余法B.平均取中法C.二分法D.開放地址法
14.結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成,三種基本結(jié)構(gòu)組成的算法A.可以完成任何復(fù)雜的任務(wù)B.只能完成部分復(fù)雜的任務(wù)C.只能完成符合結(jié)構(gòu)化的任務(wù)D.只能完成一些簡單的任務(wù)
15.有以下程序:#include<stdio.h>voidfun(int*a,int*b){for(;(*a<*B)||(getchar()!=‘@’);){(*a)++;(*b)--;}}main(){inti=0,j=5;fun(&i,&j);printf(“%d,%d\n”,i,j);}程序運行時在第1列開始輸入ab@并按<Enter>鍵,則運行結(jié)果是()。
A.7,1B.3,2C.0,5D.5,0
16.設(shè)有如下類型說明語句:typedefstruct{intnum;struct{inty,m,d;}date;}PER;則以下定義結(jié)構(gòu)體數(shù)組并賦初值的語句中錯誤的是()。
A.PERst[2]={{1001},2008,8,1,{1002},2006,5,20};
B.PERst[2]={1001,{2008,8,1},1002,{2006,5,20}};
C.PERst[2]={{1001,2008,8,1},{1002,2006,5,20}};
D.PERst[2]={1001,2008,8,1,1002,2006,5,20};
17.設(shè)無向圖G中有n個頂點e條邊,則其對應(yīng)的鄰接表中的表頭結(jié)點和邊表接點的個數(shù)分別為()。
A.n,eB.e,nC.2n,eD.n,2e
18.下列程序的輸出結(jié)果是#include"stdio.h”"main(){inti,a=0,b=0;for(i=1;i<10;i++){if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b);}
A.a=4,b=4B.a=4,b=5C.a=5,b=4D.a=5,b=5
19.若果要求一個線性表既能較快查找,又能適應(yīng)動態(tài)變化的要求,可以采用()查找方法。
A.分塊B.順序C.二分D.散列
20.有下列程序:
程序執(zhí)行后的輸出結(jié)果是()。A.3,7,3,7B.7,3,7,3C.3,7,7,3D.7,3,3,7
二、2.填空題(20題)21.有以下程序:
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};
swaplA);swap2(b[0],b[1]);
printf("%d,%d,%d,%d\n",a[0],a[1],b[0],b[1]);
}
其輸出結(jié)果是【】。
22.下列程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{intx=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d%d",x--,y);
}
23.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【】3種。
24.以上程序運行后的輸出結(jié)果是【】。
main()
{inti=10,j=0;
do
{j=j+i;i-;}
while(i>2);
printf("%d\n",j);
}
25.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個部分,即數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過程。
26.數(shù)據(jù)模型分為格式化模型與非格式化模型,層次模型與網(wǎng)狀模型屬于【】。
27.下列程序的輸出結(jié)果是【】。
main()
{inta=1,b=2;
a=a+b;b=a-b,a=a-b;
printf("%d,%d\n",a,b);
}
28.有如下程序段:
main(intargc,char*argv[])
{intn,i=0;
while(argv[1][i]!='\0')
{n=fun();i++;}
printf("%d\n",n*argc);
}
intfun()
{staticints=0;
s+=1;
returns;
}
假設(shè)程序經(jīng)編譯、連接后生成可執(zhí)行文件exam,exe,若鍵入如下命令行:
examl23<回車>
則運行結(jié)果為【】。
29.下列程序的運行結(jié)果是______。
#include<stdio.h>
longfunc(intx)
{longp;
if(x==O‖x==1)
return(1);
p=x*func(x-1);
return(p);
}
main()
{printf("%d\n",func(4));
}
30.若有定義語句chars[100],d[100];intj=0,i=0;且s中已賦字符串,請?zhí)羁找詫崿F(xiàn)拷貝。(注:不使用逗號表達(dá)式)
while(s[i]){d[j]=【】;j++;}
d[j]=0;
31.以下程序的輸出結(jié)果是()。#include<stdio.h>fun(){staticinta=0;a+=3;printf("%d",A);}main(){intcc;for(cc=1;cc<5;cc++)fun();printf("\n");}
32.下面程序段的輸出結(jié)果是【】。
intx=5;
do{printf("%d",x-=4);
}while(!(--x));
33.數(shù)據(jù)庫系統(tǒng)的三級模式分別為______模式、內(nèi)部級模式與外部級模式。
34.以下程序的輸出結(jié)果是______。
main()
{inta=1,b=2;
a=a+b;b=a-b;a=a-b;
printf("%d,%d\n",a,b);
}
35.在面向?qū)ο蟮某绦蛟O(shè)計方法中,類的實例稱為______。
36.以下程序的輸出結(jié)果是_______。
main()
{char*p[]={"BOOL","OPK","H","SP:,};
for(i=3;i>0;i--,i--)printf("%c",*p[i]);
printf("\n");}
37.以下程序中,select函數(shù)的功能是:在N行M列的二維數(shù)組中,選出一個最大值作為函數(shù)值返回,并通過形參傳回此最大值所在的行下標(biāo)。請?zhí)羁铡?/p>
#defineN3
#defineM3
select(inta[N][M],int*n)
{inti,j,row=1,colum=1;
for(i=0;i<N;i++)
for(j=0;j<M;j++)
if(a[i][j]>a[row][colum]){row=i;colum=j;}
*n=【】;
return(【】);
}
main()
{inta[N][M]={9,11,23,6,1,15,9,17,20},max,n;
max=select(a,&n);
printf(“max=%d,line=%d\n”,max,n);
}
38.某二叉樹中度為2的結(jié)點有18個,則該二叉樹中有【】個葉子結(jié)點。
39.在算法的4個特性中,算法必須能在執(zhí)行有限個步驟之后終止指的是算法的______特性。
40.下列的for語句的循環(huán)次數(shù)為______。
for(x=1,y=0;(y!=19)&&(x<7);x++);
三、1.選擇題(20題)41.下列程序執(zhí)行的輸出結(jié)果是()。#include<stdio.h>main(){chara[2][4];strcpy(a,"are");strcpy(a[1],"you");a[0][3]='&';printf("%s\n",a);}
A.are&youB.youC.areD.&
42.以下語句或語句組中能正確進(jìn)行字符串賦值的是()。
A.ehar以*sp;*sp="right!";
B.chars[10];s="right!";
C.chars[10];*s="right!";
D.char*sp="right!";
43.請讀程序:#include<stdio.h>#include<string.h>main(){char*s1="AbCdEf",*s2="aB";s1++;s2++;printf("%d\n",strcmp(s1,s2));}上面程序的輸出結(jié)果是______。
A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值
44.以下不能定義為用戶標(biāo)識符的是()。
A.scanfB.VoidC.3comD.int
45.下列敘述中正確的是()。A.實體集之間一對一的聯(lián)系實際上就是一一對應(yīng)的關(guān)系
B.關(guān)系模型只能處理實體集之間一對一的聯(lián)系
C.關(guān)系模型屬于格式化模型
D.以上三種說法都不對
46.在計算面中,算法是指______。
A.查詢方法B.加工方祛C.解題方案的準(zhǔn)確而完整的描述D.排序方法
47.有如下程序main(){inty=3,x=3,z=1;printf("%d%d\n",(++x,y++),z+2);}運行該程序的輸出結(jié)果是______。
A.34B.42C.43D.33
48.若有下列定義(設(shè)int類型變量占2個字節(jié)):floatx=123.4567;則下列語句:printf("x=%5.2f",x);輸出的結(jié)果是()。
A.x=123.46B.123.4567C.x=123.4567D.123.46
49.下列敘述中正確的是()。
A.線性鏈表的各元素在存儲空間中的位置必須是連續(xù)的
B.線性鏈表的頭元素一定存儲在其他元素的前面
C.線性鏈表中的各元素在存儲空間中的位置不一定是連續(xù)的,但表頭元素一定存儲在其他元素的前面
D.線性鏈表中的各元素在存儲空間中的位置不一定是連續(xù)的,且各元素的存儲順序也是任意的
50.數(shù)據(jù)庫系統(tǒng)的核心是()
A.數(shù)據(jù)庫B.數(shù)據(jù)庫管理系統(tǒng)C.模擬模型D.軟件工程
51.若已包括頭文件<string.h>且已有定義chars1[18],s2={"ABCDE"}和inti,現(xiàn)要將字符串“ABCDE”賦給s1,下列語句錯誤的是()。
A.strcpy(s1,s2)
B.strcpy(sl,"ABCDE");
C.s1="ABCDE";
D.for(i=0;i<6;i++)s1[i]=s2[i];
52.若有說明inta[][3]={1,2,3,4,5,6,7,8,9},則a數(shù)組第一維的大小是()。
A.2B.3C.4D.無確定值
53.數(shù)據(jù)庫、數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)之間的關(guān)系是()。
A.數(shù)據(jù)庫包括數(shù)據(jù)庫系統(tǒng)和數(shù)據(jù)庫管理系統(tǒng)
B.數(shù)據(jù)庫系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫管理系統(tǒng)
C.數(shù)據(jù)庫管理系統(tǒng)包括數(shù)據(jù)庫和數(shù)據(jù)庫系統(tǒng)
D.三者沒有明顯的包含關(guān)系
54.若主函數(shù)中有以下定義和語句:main(){doublea[3][4];……fun(a);}則正確的fun函數(shù)的首部是()
A.voidfun(double*s)
B.fun(double*s[4])
C.fun(double(*s)[3])
D.voidfun(double(*s)[4])
55.有1000個64×64漢字的點陣漢字庫,其存儲空間為()KB。
A.500B.1000C.512D.1024
56.在C語言程序中,下列說法正確的是()。
A.函數(shù)的定義和函數(shù)的調(diào)用均可以嵌套
B.函數(shù)的定義不可以嵌套,但函數(shù)的調(diào)用可以嵌套
C.函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可以嵌套
D.函數(shù)的定義和函數(shù)的調(diào)用均不可以嵌套
57.下面是對宏定義的描述,不正確的是______。
A.宏不存在類型問題,宏名無類型,它的參數(shù)也無類型
B.宏替換不占用運行時間
C.宏替換時先求出實參表達(dá)式的值,然后代入形參運算求值
D.宏替換只不過是字符替代而已
58.下列敘述中正確的是______。
A.C程序中注釋部分可以出現(xiàn)在程序中任何合適的地方
B.花括號""{""和""}""只能作為函數(shù)體的定界符
C.構(gòu)成C程序的基本單位是函數(shù),所有函數(shù)名都可以由用戶命名
D.分號是C語句之間的分隔符,不是語句的一部分
59.下列語句中,不正確的是______。
A.staticinta[2][3]={1,2,3,4,5,6};
B.staticinta[2][3]={{1},{4,5}};
C.staticinta[][3]={{1},{4}};
D.staticinta[][]={{1,2,3},{4,5,6}};
60.在關(guān)系數(shù)據(jù)庫中,用來表示實體之間聯(lián)系的是
A.樹結(jié)構(gòu)B.網(wǎng)結(jié)構(gòu)C.線性表D.二維表
四、選擇題(20題)61.在數(shù)據(jù)庫管理系統(tǒng)的層次結(jié)構(gòu)中,處于最上層的是()。
A.應(yīng)用層B.語言翻譯處理層C.數(shù)據(jù)存取層D.數(shù)據(jù)存儲層
62.
63.若執(zhí)行以下程序時從鍵盤上輸入9,則輸出結(jié)果是()。main(){intn;scanf(”%d”,&n);if(n++<10)printf(”/%d\n”,n);elseprintf(”%d\n”,n--);}A.11B.10C.9D.8
64.有以下程序:
程序的運行結(jié)果是()。
A.xy,aaaaCeB.aaaaCC,xyC.bCC,aabCCD.aabCC,bCC
65.下列對于軟件測試的描述正確的是()。
A.軟件測試的主要目的是發(fā)現(xiàn)程序中的錯誤
B.軟件測試的目的是證明程序是否正確
C.軟件測試的目的是使程序運行結(jié)果正確
D.軟件測試是證明軟件中沒有錯誤
66.算法的空間復(fù)雜度是指()。
A.算法在執(zhí)行過程中所需要的計算機(jī)存儲空間
B.算法所處理的數(shù)據(jù)量
C.算法程序中的語句或指令條數(shù)
D.算法在執(zhí)行過程中所需要的臨時工作單元數(shù)
67.
68.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
69.有以下程序段:
以下選項中表達(dá)式的值為11的是()。
A.++pt一>xB.pt一>xC.*pt一>yD.(pt++)一>x
70.有以下程序程序運行后的輸出結(jié)果是()。
A.1,3B.2,3C.1,4D.1.2
71.下列程序的輸出結(jié)果是()。
#include<stdio.h>
main()
{inti,s=0;
for(i=1;i<10;i++)
if(!(i%2)&&!(i%3))s+=i;
printf("%d\n",s);
}A.4B.39C.45D.6
72.下述程序的運行結(jié)果是()。#includedstdio.h>#includedstrin9.h>main{char*s1="abDuj";char*s2="ABdUG";intt;t=strcmp(s1,s2);printf("%d",t);}A.正數(shù)B.負(fù)數(shù)C.零D.不確定的值
73.有定義:“inta=2,b=3,c=4;”,則下列選項中值為0的表達(dá)式是()。A.A.(a<b)&&!c‖1
B.(!a==1)&&(!b==0)
C.a&&b
D.a||(b+b)&&(c-a)
74.
下列程序的運行結(jié)果是()。
inty=5,x=14;
y=((x=3*Y,x+1),x-1);
printf("x=%d,y=%d",x,y);
A.x=27,y=27B.x=12,y=13C.x=15,y=14D.x=y=27
75.
76.有以下程序:
若運行時輸入:246<;回車>;,則輸出結(jié)果為()。
A.204B.200C.240D.246
77.設(shè)有以下語句:
TypedefstructTT
{charc;inta[4];}CIN;
則下面敘述中錯誤的是()。
A.不可以用TT定義結(jié)構(gòu)體變量
B.TT是結(jié)構(gòu)體標(biāo)識名
C.可以用CIN定義結(jié)構(gòu)體變量
D.CIN是structTT類型的變量
78.以下敘述中錯誤的是()。A.使用三種基本結(jié)構(gòu)構(gòu)成的程序只能解決簡單問題
B.結(jié)構(gòu)化程序由順序、分支、循環(huán)三種基本結(jié)構(gòu)組成
C.c語言是一種
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 湘教版九年級數(shù)學(xué)下冊2.5直線與圓的位置關(guān)系2.5.3切線長定理聽評課記錄
- 小學(xué)數(shù)學(xué)五年級數(shù)學(xué)《植樹問題》聽評課記錄
- 生態(tài)物流服務(wù)合同(2篇)
- 教科版道德與法治九年級下冊第十四課《第一次選擇》聽課評課記錄
- 湘教版數(shù)學(xué)八年級上冊4.3《一元一次不等式的解法》聽評課記錄1
- 華師大版數(shù)學(xué)七年級上冊《角》聽評課記錄2
- 新版蘇教版小學(xué)數(shù)學(xué)(二年級上冊)聽評課記錄【含教學(xué)計劃】
- 蘇州蘇教版三年級下冊數(shù)學(xué)第七單元《37、認(rèn)識幾分之一》聽評課記錄
- 蘇科版數(shù)學(xué)九年級下冊5.4《二次函數(shù)與一元二次方程》(第2課時)講聽評課記錄
- 北師大版歷史七年級下冊第22課《明清皇權(quán)膨脹與文化專制》聽課評課記錄
- 2025年1月浙江省高考政治試卷(含答案)
- 湖北省十堰市城區(qū)2024-2025學(xué)年九年級上學(xué)期期末質(zhì)量檢測綜合物理試題(含答案)
- 2025年上半年重慶三峽融資擔(dān)保集團(tuán)股份限公司招聘6人高頻重點提升(共500題)附帶答案詳解
- 20以內(nèi)加減法口算題(10000道)(A4直接打印-每頁100題)
- 《克雷洛夫寓言》專項測試題附答案
- 《中小學(xué)教育懲戒規(guī)則》重點內(nèi)容學(xué)習(xí)PPT課件(帶內(nèi)容)
- 海信rsag7.820.1646ip電源與背光電路圖fan7530、fan7602fan
- 板帶生產(chǎn)工藝5(熱連軋帶鋼生產(chǎn))課件
- 2022年同等學(xué)力英語考試真題及詳解
- 深度配煤摻燒方案
- 中藥霧化吸入操作評分標(biāo)準(zhǔn)
評論
0/150
提交評論