




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
2022-2023年吉林省吉林市全國計算機等級考試C語言程序設(shè)計模擬考試(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.使用堆排序方法排序(45,78,57,25,41,89),初始堆序列()
A.78,45,57,25,41,89
B.89,78,57,25,41,45
C.89,78,25,45,41,57
D.89,45,78,41,57,25
2.有以下程序
intfun1(doublea){returna*=a;}
intfun2(doublex,doubley)
{doublea=0,b=0;
a=fun1(x);b=fun1(y);return(int)(a+b);
}
main()
{doublew;w=fun2(1.1,2.0);……}
程序執(zhí)行后變量w中的值是A.5.21B.5C.5.0D.0.0
3.數(shù)據(jù)庫是______的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲介質(zhì)內(nèi),可被各個應(yīng)用程序所共享。
A.視圖B.消息C.數(shù)據(jù)D.關(guān)系
4.
5.下面敘述中錯誤的是()。
A.軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤
B.對被調(diào)試的程序進行“錯誤定位”是程序調(diào)試的必要步驟
C.程序調(diào)試通常也稱為Debug
D.軟件測試應(yīng)嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性
6.有一個有序表為{1,3,9,12,32,41,45,62,75,77,82,95,100},當(dāng)折半查找值為82的結(jié)點時,()次比較后查找成功。
A.11B.5C.4D.8
7.靜態(tài)鏈表中指針表示的是()。
A.內(nèi)存地址B.數(shù)組下標(biāo)C.下一元素地址D.左、右孩子地址
8.#define能作簡單的替代,用宏來替代計算多項式5*x*x+5*x+5的值的函數(shù)f,正確的宏定義語句為()。
A.#definef(x)5*x*x+5*x+5
B.#definef5*X*x+5*x+5
C.#definef(a)(5*a*a+5*a+5)
D.#define(5*x*x+5*x+5)f(x)
9.
10.設(shè)無向圖的頂點數(shù)為n,則該圖最多有()條邊。
A.n-1B.n(n-1)/2C.n(n+1)/2D.0
11.程序運行后的輸出結(jié)果是()。A.0304.B.2050C.3344D.3040
12.用二進制來編碼字符串“abcdabaa”,需要能夠根據(jù)編碼,解碼回原來的字符串,最少需要()長的二進制字符串
A.12B.14C.18D.24
13.有以下程序:#include<stdio.h>intfun(){staticintx=1;X*=2:returnx;}main(){inti,S=1;for(i=1;i<=3;i++)S*=fun();printf("%d\n",s);}程序運行后的輸出結(jié)果是()。A.0B.10C.30D.64
14.設(shè)R是一個二元關(guān)系,S是一個三元關(guān)系,則下列運算中正確的是()。
A.R-SB.R×SC.R∩SD.R∪S
15.對以下四個序列用直接插入排序方法由小到大進行排序時,元素比較次數(shù)最少的是()
A.89,27,35,78,41,15
B.27,35,41,16,89,70
C.15,27,46,40,64,85
D.90,80,45,38,30,25
16.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。
A.hAppychristmAs
B.happychristmas
C.HAppyCHrIstmAs
D.HAPPYCHRISTMAS
17.設(shè)有下列二叉樹:
對此二叉樹先序遍歷的結(jié)果是
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
18.下列敘述中正確的是()。
A.可以用關(guān)系運算符比較字符串的大小
B.空字符串不占用內(nèi)存,其內(nèi)存空間大小是0
C.兩個連續(xù)的單引號是合法的字符常量
D.兩個連續(xù)的雙引號是合法的字符串常量
19.以下敘述中錯誤的是()。
A.可以通過typedef增加新的類型
B.可以typedef將已存在的類型用一個新的名字來代表
C.用typedef定義新的類型名后,原有類型名仍有效
D.用typedef可以為各種類型起別名,但不能為變量起別名
20.算法的效率的分析主要包括兩個方面()。
A.時間復(fù)雜度和空間復(fù)雜度B.正確性和簡單性C.可讀性和文檔性D.數(shù)據(jù)復(fù)雜性和程序復(fù)雜性
二、2.填空題(20題)21.若有以下程序
main()
{inta=4,b=3,c=5,t=0;
if(a<b)t=a;a=b;b=t;
if(a<c)t=a;a=c;c=t;
printf("%d%d%dln",a,b,c);
}
執(zhí)行后輸出結(jié)果為______。
22.以下程序的輸出結(jié)果是【】。
main()
{chars[]="ABCD",*p;
for(p=s+1;p<s+4;p++)printf("%s\n",p);}
23.若有定義doublea[5];,則a數(shù)組元素下標(biāo)的上限為______。
24.以下程序中函數(shù)f的功能是在數(shù)組x的n個數(shù)(假定n個數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)與第一個數(shù)對換,把最大的數(shù)與最后一個數(shù)對換。請?zhí)羁铡?/p>
#include<stdio.h>
voidf(intx[],intn)
{intp0,p1,i,j,t,m;
i=j=x[0];p0=p1=0;
for(m=0;m<n;m++)
{if(x[m]>i){i=x[m];p0=m;}
elseif(x[m]<j){j=x[m];p1=m;}
}
t=x[p0];x[p0]=x[n-1];x[n-1]=t;
t=x[p1];x[p1]=【】;【】=t;
}
main()
{inta[10],u;
for(u=0;u<10;u++)scanf("%d",&a[u]);
f(a,10);
for(u=0;u<10;u++)printf("%d",a[u]);
printf("\n");
}
25.關(guān)系操作的特點是______操作。
26.以下程序的功能是進行位運算main(){unsignedchara,b;a=7^3;b=~4&3;pfintf("%d%d\n",a,b);}程序運行后的輸出結(jié)果是
27.以下程序的輸出結(jié)果是【】。
main()
{intx=0;
sub(&x,8,1);
printf("%d\n",x);
}
sub(int*a,intn,intk)
{if(k<=n)sub(a,n/2,2*k);
*a+=k;
}
28.下列程序段的輸出結(jié)果是______。
intn='c':
switch(n++)
{default:printf("error");break;
case'a':printf("good");break;
case'c':printf("moming");
case'd':printf("class");
}
29.數(shù)據(jù)元素之間______的整體稱為邏輯結(jié)構(gòu)。
30.下面的函數(shù)fun的功能是將形參x的值轉(zhuǎn)換成二進制數(shù),所得二進制數(shù)的每一位放在一維數(shù)組中返回,二進制的最低位放在下標(biāo)為0的元素中,其他依次類推,請?zhí)羁铡?/p>
fun(intx,intb[])
{intk=0,r;
do{
r=x%【】;
b[k++]=r;
x/=【】;
}while(x);}
31.以下程序的輸出結(jié)果是【】。
#include<stdlib.h>
main()
{char*s1,*s2,m;
s1=s2=(char*)malloc(sizeof(char));
*s1=15;*s2=20;m=*s1+*s2;
printf("%d\n",m);
}
32.如下語句printf("%c\n",'B'+40);在執(zhí)行后的輸出結(jié)果是【】。
33.設(shè)Y是int型變量,請寫出判斷Y為奇數(shù)的關(guān)系表達式【】。
34.在算法的4個特性中,算法必須能在執(zhí)行有限個步驟之后終止指的是算法的______特性。
35.用十六進制給存儲器中的字節(jié)地址進行編號,其地址編號從0000到FFFF,則該存儲器容量是【】。
36.某二叉樹中度為2的結(jié)點有18個,則該二叉樹中有【】個葉子結(jié)點。
37.長度為n的順序存儲線性表中,當(dāng)在任何位置上插入一個元素概率都相等時,插入一個元素所需移動元素的平均個數(shù)為【】。
38.以下程序的功能是從名為filea.dat的文本文件中逐個讀入字符并顯示在屏幕上。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{FILE*fp;charch;
fp=fopen(【】);
ch=fgetc(fp);
while(!feof(fp)){putchar(ch);ch=fgetc(fp);}
putchar('\n');fclose(fp);
}
39.結(jié)構(gòu)化分析方法是面向______進行分析的方法。
40.有以下程序:
intfa(intx){returnx*x;}
intfb(intx){returnx*x*x;}
intf(int(*f1)(),int(*f2)(),(intx)
{returnf2(x)-f1(x);}
main()
{inti;i=f(fa,fb,2);printf("%d\n",i);}
程序運行后,輸出結(jié)果是【】。
三、1.選擇題(20題)41.C語言中,凡未指定存儲類別的局部變量的隱含存儲類別是()。
A.自動(auto)B.靜態(tài)(statiC)C.外部(extern)D.寄存器(register)
42.有以下程序:main(){intx=3,y=2,z=1;printf("%d\n",x/y&~z);}程序運行后的輸出結(jié)果是()。
A.3B.2C.1D.0
43.在C語言中,整數(shù)65534在存儲單元中的存儲情況是()
A.1111111111111111
B.1000000000000010
C.0111111111111111
D.1111111111111110
44.設(shè)有定義:intA,*pA=&A;,以下scanf語句中能正確為變量A讀入數(shù)據(jù)的是______。
A.scanf("%d",pA);
B.scanf("%d",A);
C.scanf("%d",apA);
D.scanf("%d",*pA);
45.若有說明語句:charc='\72'則變量c()。
A.包含1個字符B.包含2個字符C.包含3個字符D.說明不合法,c的值不確定
46.下列程序的輸出結(jié)果是______。intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);return(d);}main(){inta=3;printf("%d\n",fun(a+fun(d)));}
A.699B.669C.61515D.6615
47.下面程序的輸出結(jié)果是()。#include<stdio.h>intx=1;voidmain(){intx=2;printf("%d,",x);if(x==1){intx=4;printf("%d,",x++);}printf("%d",x++);}
A.2,2B.1,1,2C.2,4,3D.2,3
48.以下程序intaa[3][3]={{2},{4},{6}};main(){inti,*p=&aa[0][0];for(i=0;i<2;i++){if(i==0)aa[i][i+1]=*p+1;else++p;printf("%d",*p);}}的輸出是______。
A.23B.26C.33D.36
49.數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是()
A.控制流B.加工C.數(shù)據(jù)存儲D.源和潭
50.數(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è)計
51.有下列程序:
main()
{inty=20;
do{y--;}while(--y);
phntf("%d\n",y--);
}
當(dāng)執(zhí)行程序時,輸出的結(jié)果是()。
A.-1B.1C.4D.0
52.有以下程序main(){chara[]={'a','b','c','d','e','f','g','h','\0'};inti,j;i=sizeof(a);j=strlen(a);printf("%d,%d\b",i,j);}程序運行后的輸出結(jié)果是
A.9,9B.8,9C.1,8D.9,8
53.數(shù)據(jù)的存儲結(jié)構(gòu)是指()。
A.數(shù)據(jù)所占的存儲空間
B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的存放形式
C.數(shù)據(jù)在計算機中的順序存儲方式
D.存儲在計算機外存中的數(shù)據(jù)
54.下列關(guān)于隊列的敘述中正確的是______。A.在隊列中只能插入數(shù)據(jù)B.在隊列中只能刪除數(shù)據(jù)C.隊列是先進先出的線性表D.隊列是先進后出的線性表
55.在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示()。
A.模塊之間的調(diào)用關(guān)系B.程序的組成成份C.控制程序的執(zhí)行順序D.數(shù)據(jù)的流向
56.數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和______。
A.可維護性B.獨立性C.安全性D.相容性
57.若有以下定義:structfink{intdata;structlink*next;}a,b,c,*p,*q;且變量a和b之間已有如下圖所示的鏈表結(jié)構(gòu):
指針p指向變量a,q指向變量c。則能夠把c插入到a和b之間并形成新的鏈表的語句組是:
A.a.next;c;c.next=b;
B.p.next=q;q.next=p.next;
C.p->next=&c;q->next=p->next;
D.(*p).next=q;(*q).next=&b;
58.能將高級語言程序轉(zhuǎn)換成目標(biāo)語言程序的是______。
A.調(diào)試程序B.解釋程序C.編譯程序D.編輯程序
59.有以下程序:#includo<stdio.h>main(){inty=10;while(y--)printf("y=%d\n",y);}程序執(zhí)行后的輸出結(jié)果是()。
A.y=0B.y=-1C.y=1D.while構(gòu)成無限循環(huán)
60.數(shù)據(jù)庫系統(tǒng)的核心是()。
A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫D.數(shù)據(jù)庫管理員
四、選擇題(20題)61.有以下程序:
程序運行后的輸出結(jié)果是()。
A.AbcdefB.ABCDEFC.aBcDeFD.AbCdEf
62.在位運算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。
A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4
63.
64.有下列函數(shù)定義:fun(floath){printf("%f,%f\n",h,h*h);)該函數(shù)的類型是()。
A.int類型B.float類型C.void類型D.函數(shù)無類型說明,定義有錯
65.C語言中,組成數(shù)據(jù)文件的成分是()。A.A.記錄
B.數(shù)據(jù)行
C.數(shù)據(jù)塊
D.字符(字節(jié))序列
66.(40)將E-R圖轉(zhuǎn)換到關(guān)系模式時,實體與聯(lián)系都可以表示成()
A.屬性
B.關(guān)系
C.鍵
D.域
67.
68.下列敘述中正確的是()。
A.對長度為n的有序鏈表進行查找,最壞情況下需要的比較次數(shù)為n
B.對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為n/2
C.對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為log2n
D.對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為nlog2n
69.若有以下說明和定義,以下敘述中錯誤的是(
)。uniondt{
int
a;char
b;double
c;}data;A.兩個共用體變量之間可以相互賦值B.變量data所占內(nèi)存字節(jié)數(shù)與成員c所占字節(jié)數(shù)相等C.程序段:data.a=5;printf("%f\n",data.c);輸出結(jié)果為5.000000D.共用體在初始化時只能用第一個成員的類型進行初始化
70.在函數(shù)中默認(rèn)存儲類型說明符的變量應(yīng)該是________存儲類型。
A.內(nèi)部靜態(tài)B.外部C.自動D.寄存器
71.有三個關(guān)系R、S和T如下:
則由關(guān)系R和s得到關(guān)系T的操作是()。
A.自然連接B.并C.交D.差
72.數(shù)據(jù)庫管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語言是()。A.數(shù)據(jù)定義語言B.數(shù)據(jù)管理語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言
73.HTTP協(xié)議的內(nèi)容協(xié)商消息頭包括()。
i.內(nèi)容協(xié)商消息頭ii.緩存控制消息頭
iii.條件控制消息頭iv.服務(wù)器狀態(tài)消息頭
A.i和iiB.i、ii和iiiC.ii和iiiD.iii和iv
74.有以下程序:
當(dāng)執(zhí)行程序時,按下列方式輸入數(shù)據(jù)(從第l列開始,<;CR>;代表回車,注意:回車也是一個字符]12<;CR>;34<;CR>;則輸出結(jié)果是()。
A.12B.123C.1234D.12343
75.對字符數(shù)組s賦值,不合法的一個是()。
A.chars[]="Beijing"
B.chars[20]={"Beijing"}
C.chars[20];s="Beijing"
D.chars[20]={’B,’e’,’i’,’j’,’i’,’n’,’g’}
76.
77.有以下程序:
程序運行后的輸出結(jié)果是()。
A.116B.8C.40D.4
78.以下對C語言函數(shù)的有關(guān)描述中,正確的是()。
A.C函數(shù)可以遞歸調(diào)用也可以嵌套調(diào)用
B.在C中,調(diào)用函數(shù)時,只能把實參值傳給形參,形參值不能返回給實參
C.沒有返回值的函數(shù)不能被使用.
D.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個源程序文件中
79.有以下程序程序運行后的輸出結(jié)果是()
A.1,3,3B.1,3.2C.1,2,3D.3,2,1.
80.
五、程序改錯題(1題)81.下列給定程序中proc()函數(shù)的功能是:將n個無序整數(shù)按從小到大排序。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),該函數(shù)的功能是統(tǒng)計一行字符串中單詞的個數(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(33)C)解析:題中變量w的定義為double型,函數(shù)fun2()的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運算,整型數(shù)據(jù)被轉(zhuǎn)換為實型數(shù)據(jù)。
3.C解析:數(shù)據(jù)庫是數(shù)據(jù)的集合,其中的數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,它能構(gòu)造復(fù)雜的數(shù)據(jù)結(jié)構(gòu),以建立數(shù)據(jù)之間的內(nèi)在聯(lián)系與復(fù)雜的關(guān)系-故答案為C。
4.D
5.A軟件測試的目的是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,并不涉及改正錯誤,所以選項A錯誤。程序調(diào)試的基本步驟有:錯誤定位、修改設(shè)計和代碼,以排除錯誤、進行回歸測試,防止引進新的錯誤。程序調(diào)試通常稱為Debug,即排錯。軟件測試的基本準(zhǔn)則有:所有測試都應(yīng)追溯到需求、嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性、充分注意測試中的群集現(xiàn)象、程序員應(yīng)避免檢查自己的程序、窮舉測試不可能、妥善保存測試計劃等文件。故答案為A選項。
6.C
7.C
8.C解析:帶參數(shù)宏的格式為:#define標(biāo)識符(形參表)形參表達式。其功能是:在預(yù)處理程序中將程序中出現(xiàn)的所有帶實參的宏名,展開成由實參組成的表達式。
9.C
10.B
11.D[解析]第一次循環(huán)溈0.i%2為0.執(zhí)行switch(a[0]%62)中的case0語句后內(nèi)容即a[0]++,a[0]的值變成3;第二次循環(huán)的值為1.i%62為1.執(zhí)行case1:a[]=0;所以a[1]的值變成0;第三次循環(huán)的值為2.i%62為0.執(zhí)行switch([2]%62)中的case1語句后的內(nèi)容a[2]--,a[2]的值變成4;第四次循環(huán)的值為3.i%2為1.執(zhí)行case1:ai]=0;所以a[3]的值變成0.
12.B
13.D函數(shù)fun是2的次方的運算,而s*=fun,所以答案為64。
14.BB?!窘馕觥筷P(guān)系的交(∩)、并(∪)和差(-)運算要求兩個關(guān)系是同元的,顯然作為二元的R和三元的S只能做笛卡兒積運算。
15.C
16.C程序定義一個字符數(shù)組b和一個字符變量k。for循環(huán)通過循環(huán)變量k,遍歷數(shù)組b中的各個字符,通過if語句判斷當(dāng)前下標(biāo)為k的字符的ASCII值與字符'm'的ASCII值的大小,ASCII值小于‘m’的ASCII值的字符改成大寫字母(b[k]=b[k]-'a'+'A'),然后輸出b[k]。在字符串“happychristmas”中,ASCII值小于'm'的字符有h,a,c,h,i,a,所以程序輸出:HAppyCHrIstmAs。本題答案為C選項。
17.C解析:二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求先序遍歷遍歷順序應(yīng)該為:訪問根結(jié)點->先序遍歷左子樹->先序遍歷右子樹。按照定義,先序遍歷序列是ABDECF。
18.D比較兩個字符串大小用函數(shù)strcomp(S,t),空字符串有結(jié)束符,所以也要占用字節(jié),兩個雙引號表示的是空字符串。
19.A關(guān)鍵字typedet的作用只是將C語言中的已有的數(shù)據(jù)類型作了置換,并不是增加新的類型,所以A)錯誤。
20.D
21.503503解析:此處需注意的是:如果if后面的條件為真,只執(zhí)行其后的一條語句或一條復(fù)合語句,如果if后面的條件為假,只執(zhí)行else后面的一條語句或一條復(fù)合語句。先判斷表達式“a<b”為假,不執(zhí)行“t=a”,但執(zhí)行“a=b;b=t;”,s的值為3,b的值為0。在判斷表達式“a<c”,值為真,所以執(zhí)行后面的3條語句“t=a;a=c;c=t”,結(jié)果a的值為5,c的值為3,所以最后輸出的結(jié)果為5、0和3。
22.BCDCDDBCD\r\nCD\r\nD解析:本題考查指向字符串的指針的運算方法。指針變量p首先指向字符串中的第一個字符A,執(zhí)行p=s+1后,p指向字符串中的第二個字符B,然后輸出值'BCD'并換行,依次執(zhí)行循環(huán)語句。
23.44解析:一維數(shù)組元素的定義形式為:數(shù)組名[N],則該數(shù)組中元素的下限是0,上限是N-1。
24.x[0]x[0]x[0],x[0]解析:函數(shù)f()通過for循環(huán)逐個比較數(shù)組x中的元素,循環(huán)結(jié)束后,p0和p1分別表示最大值和最小值在數(shù)組中的下標(biāo)位置,然后按照題意將最大值x[p0]和數(shù)組的最后一個元素x[n-1]交換位置,再將最小值x[p1]和第一個元素(x[0])進行交換,所以空白處應(yīng)該填入x[0]。
25.集合集合
26.A
27.77解析:在主函數(shù)中定義了一個變量x并賦初值0,然后執(zhí)行函數(shù)調(diào)用語句,該語句的執(zhí)行過程為sub(&x,8,1)調(diào)用sub(&a,4,2),sub(&a,4,2)調(diào)用sub(&a,2,4),sub(&a,2,4)中由于2<4,所以if后面括號里的判斷為假,遞歸結(jié)束,執(zhí)行其后的*a+=k;語句此時x=x+k=0+4=4,回推到上一層調(diào)用函數(shù)sub(&x,4,2)中,執(zhí)行后面的語句,x=x+k=4+2=6,在回推到最上一層調(diào)用函數(shù)sub(&x,8,1)執(zhí)行后面的語句,x=x+k=6+1=7,所以最后輸出7。
28.morningclassmorningclass解析:本題考查了兩個知識點:①“++、--”運算后綴形式是先使用變量原來的值,使用完后再使其增1或減1;②在switch語句中,當(dāng)n=\'c\'時,執(zhí)行“case\'c\':”,輸出morning;因為此句中沒有break語句,因此接著執(zhí)行'case\'d\':”,輸出class,最終輸出結(jié)果為morningclass。
29.邏輯關(guān)系邏輯關(guān)系
30.222\r\n2解析:深刻理解+進制轉(zhuǎn)化為二進制的方法,即取余法;數(shù)組名作為實參,在函數(shù)內(nèi)部可以直接修改調(diào)用函數(shù)中定義的數(shù)組的值。注意:掌握兩個數(shù)據(jù)進行交換的算法原理。
31.4040解析:本題中指針s1和s2都指向同一個內(nèi)存中的地址。因此語句“*s2=20;”執(zhí)行后,*\u3000s1=*s2=20。所以m最后的值為40。
32.jj解析:在C程序中的字符量可參與任何整數(shù)運算。
33.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。
34.有窮性有窮性解析:算法的4個基本特性包括:可靠性、確定性、有窮性和擁有足夠的情報,其中,算法的有窮性指的是算法必須在有限的時間內(nèi)完成,即算法必須在執(zhí)行有限個步驟之后終止。
35.64KB
36.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。本題中度為2的結(jié)點數(shù)為18,故葉子結(jié)點數(shù)為18+1=19個。
37.n/2性表的任何位置插入一個元素的概率相等,即概率為p=1/(n+1),則插入一個元素時所需移動元素的平均次數(shù)為E=1/(n+1)(n-i+1)=n/2。
38.“filea.dat”“r”“filea.dat”,“r”解析:考查對文件的操作。fopen函數(shù)的調(diào)用方式通常為fopen(文件名,使用文件方式)。本題中要求程序可以打開filea.dat文件,并且是要讀取文件中的內(nèi)容,所以空白處應(yīng)當(dāng)填入'filea.dat','r'。
39.數(shù)據(jù)流數(shù)據(jù)流解析:結(jié)構(gòu)化分析方法的實質(zhì)是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。
40.44解析:在主函數(shù)中調(diào)用函數(shù)f,函數(shù)f有三個參數(shù),形參f1與f2分別是兩個指向函數(shù)的指針。在f中執(zhí)行f2(x)-f1(x),實際上是執(zhí)行了fb(2)-fa(2),故執(zhí)行i=(fa,fb,2)后i的值為23-22=4。
41.A
42.D解析:位與運算符“&”,按二進位進行“與”運算,如果兩個相應(yīng)的二進制位都為1,則該位的結(jié)果值為1,否則為0;取反運算符“~”,用來對一個二進制按位取反,即將0變1,1變0。在prinf()函數(shù)的表達式中,“&”前面表達式的值為1(3/2=1)表示為二進制為00000001,而按位取反運算符“~”的優(yōu)先級高于按位與運算符“&”,先計算“&”后面的取反運算符“~”。z的二進制表示為00000001,取反后為11111110,最后進行“&”,即“00000001&11111110”可知結(jié)果為00000000,故最后的值為0。
43.D
44.A解析:選項B中不是變量A的地址,錯誤;選項C是指針pA的地址,錯誤;選項D中*pA表示變量A的值,錯誤。
45.A解析:C語言的字符型常量中,允許用一種特殊形式的字符常量,就是以一個“\\”開頭的字符。其中,“\\ddd”表示用ASCII碼(八進制數(shù))表示一個字符,本題中的charc='\\72'H口表示占一個字符的變量c的ASCII碼值。
46.C
47.A解析:雖然全局變量的作用域是整個程序,但如果某個函數(shù)或語句塊中又聲明了同名的局部變量,則全局變量被屏蔽,在該函數(shù)或語句塊中所用到的該變量都是那個同名的局部變量。所以,本題程序第二行定義的全局變量intx=1;可完全忽略,故程序輸出結(jié)果為2,2,故應(yīng)該選擇A。
48.A解析:觀察題目,可以發(fā)現(xiàn),*p=&aa[0][0]語句實際是將數(shù)組aa的首地址賦給了指針變量p,將i的值帶入for循環(huán)中,i=0時,aa[0][1]=3,*p=2;*p輸出的是指針?biāo)赶虻臄?shù)組值,此時p所指向的是aa[O][0],輸出2,而i=1時執(zhí)行了++p操作使指針向后移動指向了aa[0][1],所以在輸出*p時應(yīng)為3。
49.A解析:數(shù)據(jù)流圖包括4個方面,即加工(轉(zhuǎn)換)(輸入數(shù)據(jù)經(jīng)加工變換產(chǎn)生輸出)、數(shù)據(jù)流(沿箭頭方向傳送數(shù)據(jù)的通道,一般在旁邊標(biāo)注數(shù)據(jù)流名)、存儲文件(數(shù)據(jù)源)(表示處理過程中存放各種數(shù)據(jù)的文件)、源和潭(表示系統(tǒng)和環(huán)境的接口,屬系統(tǒng)之外的實體)。不包括選項中的控制流。
50.A解析:模式設(shè)計和內(nèi)模式設(shè)計是概念設(shè)計的兩種方法。物理設(shè)計是根據(jù)特定的計算機系統(tǒng),對數(shù)據(jù)的存儲結(jié)構(gòu)和存取方法進行設(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)特性)。
51.D解析:本題考查do…while循環(huán)。當(dāng)--寸是0(即y是0)時結(jié)束循環(huán),輸出y--是先輸出y的值再將y的值減1。
52.D解析:本題首先定義了字符數(shù)組a,由于它的長度省略,所以其長度由初值個數(shù)確定,為9。接著將sizeof()函數(shù)返回的值賦給i(sizeof()函數(shù)的作用是返回運算對象占用的字符數(shù)),所以i值為9。然后將strlen()函數(shù)的返回值賦給j(strlen()函數(shù)的作用是返回字符串的長度,不包括字符串的結(jié)束標(biāo)記'\\0'),所以j值為8,故最后輸出的i,j值為9,8。4個選項中D正確。
53.B解析:數(shù)據(jù)的存儲結(jié)構(gòu),又稱為數(shù)據(jù)的物理結(jié)構(gòu),是數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的存放形式,數(shù)據(jù)的存儲結(jié)構(gòu)有順序結(jié)構(gòu)、鏈?zhǔn)浇Y(jié)構(gòu)、散列結(jié)構(gòu)和索引結(jié)構(gòu)等。
54.C隊列是指允許在一端進行插入、而在另一端進行刪除的線性表,選項A和選項B錯誤。允許插入的一端稱為隊尾,允許刪除的一端稱為隊頭。在隊列中,最先插入的元素將最先能夠被刪除,反之,最后插入的元素將最后才能被刪除。所以,隊列又稱為“先進先出”或“后進后出”的線性表,它體現(xiàn)了“先來先服務(wù)”的原則,選項C正確,選項D錯誤。
55.D解析:在數(shù)據(jù)流圖中,用標(biāo)有名字的箭頭來表示數(shù)據(jù)流。
56.D解析:數(shù)據(jù)模型應(yīng)該反映和規(guī)定本數(shù)據(jù)模型必須遵守的、基本的、通用的完整性約束條件。完整性規(guī)則是給定的數(shù)據(jù)模型中數(shù)據(jù)及其聯(lián)系所具有的制約和依存規(guī)則,用以限定符合數(shù)據(jù)模型的數(shù)據(jù)庫狀態(tài)及其狀態(tài)的變化,以保證數(shù)據(jù)的正確性、有效性和相容性。
57.D解析:本題考查鏈表的數(shù)據(jù)結(jié)構(gòu),必須利用指針變量才能實現(xiàn),即一個結(jié)點中應(yīng)包含一個指針變量,用它存放下一結(jié)點的地址。
58.C解析:用高級語言編寫的程序稱為“源程序”,而計算機只能識別和執(zhí)行由O和1組成的二進指令,所以高級語言必須先用—種稱為“編譯程序”的軟件,把源程序翻譯成二進制形式的“目標(biāo)程序”。
59.B解析:程序首先判斷y值是否非0,顯然y=10滿足條件,y自減1,再次執(zhí)行while語句,判斷y為9的值是否滿足條件,滿足條件,y自減1,……,直到y(tǒng)為0,條件不成立,結(jié)束循環(huán),y自減1后變?yōu)?1,所以輸出結(jié)果為y=-1。
60.B解析:數(shù)據(jù)庫管理系統(tǒng)是數(shù)據(jù)庫系統(tǒng)的核心,是負(fù)責(zé)數(shù)據(jù)庫的建立、使用和維護的軟件。數(shù)據(jù)庫管理系統(tǒng)建立在操作系統(tǒng)之上,實施對數(shù)據(jù)庫的統(tǒng)一管理和控制。用戶使用的各種數(shù)據(jù)庫命令以及應(yīng)用程序的執(zhí)行,最終都必須通過數(shù)據(jù)庫管理系統(tǒng)。另外,數(shù)據(jù)庫管理系統(tǒng)還承擔(dān)著數(shù)據(jù)庫的安全保護工作,按照數(shù)據(jù)庫管理員所規(guī)定的要求,保證數(shù)據(jù)庫的完整性和安全性。
61.D函數(shù)的含義是如果i的值能被2整除,以字符格式打印輸出i+C的值,如果i的值不能被2整除,打印i+b的值。第一次i值為0,執(zhí)行else語句打印字符‘A’,第二次i值為1,打印1+b的值即字符‘b符‘c’,依此類推選擇D選項,第三次i值為2,打印字I.
62.D解析:本題主要考查左移、右移對數(shù)據(jù)值的影響,左移n位相當(dāng)于乘以2的n次冪,右移n位相當(dāng)于除以2的n次冪。
63.B
64.A本題考查函數(shù)值的類型,在函數(shù)定義時,由于函數(shù)沒有說明其類型,系統(tǒng)默認(rèn)一律自動按整型(int)處理。
65.D解析:C語言中的文件是流式文件。流式文件是一種無結(jié)構(gòu)文件,即整個文件是一串字符流或二進制流。文件的存取以字符或字節(jié)為單位。
66.B
67.C
68.C\n\tC。【解析】二分法查找只適用于順序存儲的有序表,對于長度為n的有序線性表,最壞情況只需比較log2n次。
69.C浮點型占8個字節(jié),整型占4個字節(jié),當(dāng)把整型數(shù)據(jù)用浮點型格式輸出時,結(jié)果為0.000000
70.A
71.D關(guān)系T中的元組是關(guān)系R中有面關(guān)系s中沒有的元組的集合,即從關(guān)系R中除去與關(guān)系s中相同元組后得到的關(guān)系T。所以做的是差運算。
72.AA。數(shù)據(jù)定義語言(DDL)是集中負(fù)責(zé)數(shù)據(jù)庫模式定義與數(shù)據(jù)庫對象定義的語言。數(shù)據(jù)操縱語言(DML)是指用來查詢、添加、修改和刪除數(shù)據(jù)庫中數(shù)的語句。數(shù)據(jù)控制語言(DCL)是用來設(shè)置或者更改數(shù)據(jù)為用戶或角色權(quán)限的語句。據(jù)此,本題正確答案為選項A。
73.B
74.D按照從鍵盤輸入的數(shù)據(jù)可以_判斷字符l給了變量a,字符2給了變量b,字符<CR>即回車給了變量c,字符3給了變量d。所以打印輸出的結(jié)果為D選項。
75.C數(shù)組賦值時,字符串常量給出的是這個字符串在內(nèi)存中所占存儲單元的首地址,而s是一個不可重新賦值的數(shù)組名,所以此賦值不合法。
76.A
77.B本題考查位運算,題目中將4向左移一位然后重新賦值給a,4左移一位為8,程序運行結(jié)果為8,選項B正確。
78.A選項B),形參值的改變不會影響實參,但形參值可以作為返回值返回給實參。選項c),函數(shù)可以沒有返回值,即返回值類型為void。選項D),函數(shù)可以定義在不同的文件中,只要調(diào)用前包含被調(diào)用函數(shù)所在的文件即可。
79.A執(zhí)行(a==1&&b++==2)和b!=2然后輸出a、b、CSY別為l、3、3,答案為A)。
80.C
81.82.Intfun(char*s){Inti,j=0;for(i=0;s[i]!=’\\o’/i++)if(s[i]!=’'&&(s[i+i]==’’||s[i+1]=='\\0'))/*如果一個字母的下一個字符為空格或者結(jié)束標(biāo)記,則表示一個單詞結(jié)束*/J++;_returnj;/*返回單詞個數(shù)*/}要判斷單詞的個數(shù),首先考慮怎樣識別一個單詞。如果一個字母的下一個字符為空格或者字符串結(jié)束標(biāo)志,則表示一個單詞結(jié)束。因此程序使用for循環(huán)語句遍歷整個字符串,用if條件語句判斷當(dāng)前字符是否表示一個單詞的結(jié)束。如果當(dāng)前字符表示一個單詞結(jié)束,則存放單詞個數(shù)的變量加1,最后返回單詞的個數(shù)。2022-2023年吉林省吉林市全國計算機等級考試C語言程序設(shè)計模擬考試(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.使用堆排序方法排序(45,78,57,25,41,89),初始堆序列()
A.78,45,57,25,41,89
B.89,78,57,25,41,45
C.89,78,25,45,41,57
D.89,45,78,41,57,25
2.有以下程序
intfun1(doublea){returna*=a;}
intfun2(doublex,doubley)
{doublea=0,b=0;
a=fun1(x);b=fun1(y);return(int)(a+b);
}
main()
{doublew;w=fun2(1.1,2.0);……}
程序執(zhí)行后變量w中的值是A.5.21B.5C.5.0D.0.0
3.數(shù)據(jù)庫是______的集合,它具有統(tǒng)一的結(jié)構(gòu)形式并存放于統(tǒng)一的存儲介質(zhì)內(nèi),可被各個應(yīng)用程序所共享。
A.視圖B.消息C.數(shù)據(jù)D.關(guān)系
4.
5.下面敘述中錯誤的是()。
A.軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤
B.對被調(diào)試的程序進行“錯誤定位”是程序調(diào)試的必要步驟
C.程序調(diào)試通常也稱為Debug
D.軟件測試應(yīng)嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性
6.有一個有序表為{1,3,9,12,32,41,45,62,75,77,82,95,100},當(dāng)折半查找值為82的結(jié)點時,()次比較后查找成功。
A.11B.5C.4D.8
7.靜態(tài)鏈表中指針表示的是()。
A.內(nèi)存地址B.數(shù)組下標(biāo)C.下一元素地址D.左、右孩子地址
8.#define能作簡單的替代,用宏來替代計算多項式5*x*x+5*x+5的值的函數(shù)f,正確的宏定義語句為()。
A.#definef(x)5*x*x+5*x+5
B.#definef5*X*x+5*x+5
C.#definef(a)(5*a*a+5*a+5)
D.#define(5*x*x+5*x+5)f(x)
9.
10.設(shè)無向圖的頂點數(shù)為n,則該圖最多有()條邊。
A.n-1B.n(n-1)/2C.n(n+1)/2D.0
11.程序運行后的輸出結(jié)果是()。A.0304.B.2050C.3344D.3040
12.用二進制來編碼字符串“abcdabaa”,需要能夠根據(jù)編碼,解碼回原來的字符串,最少需要()長的二進制字符串
A.12B.14C.18D.24
13.有以下程序:#include<stdio.h>intfun(){staticintx=1;X*=2:returnx;}main(){inti,S=1;for(i=1;i<=3;i++)S*=fun();printf("%d\n",s);}程序運行后的輸出結(jié)果是()。A.0B.10C.30D.64
14.設(shè)R是一個二元關(guān)系,S是一個三元關(guān)系,則下列運算中正確的是()。
A.R-SB.R×SC.R∩SD.R∪S
15.對以下四個序列用直接插入排序方法由小到大進行排序時,元素比較次數(shù)最少的是()
A.89,27,35,78,41,15
B.27,35,41,16,89,70
C.15,27,46,40,64,85
D.90,80,45,38,30,25
16.有下列程序:程序執(zhí)行后的輸出結(jié)果是()。
A.hAppychristmAs
B.happychristmas
C.HAppyCHrIstmAs
D.HAPPYCHRISTMAS
17.設(shè)有下列二叉樹:
對此二叉樹先序遍歷的結(jié)果是
A.ABCDEFB.DBEAFCC.ABDECFD.DEBFCA
18.下列敘述中正確的是()。
A.可以用關(guān)系運算符比較字符串的大小
B.空字符串不占用內(nèi)存,其內(nèi)存空間大小是0
C.兩個連續(xù)的單引號是合法的字符常量
D.兩個連續(xù)的雙引號是合法的字符串常量
19.以下敘述中錯誤的是()。
A.可以通過typedef增加新的類型
B.可以typedef將已存在的類型用一個新的名字來代表
C.用typedef定義新的類型名后,原有類型名仍有效
D.用typedef可以為各種類型起別名,但不能為變量起別名
20.算法的效率的分析主要包括兩個方面()。
A.時間復(fù)雜度和空間復(fù)雜度B.正確性和簡單性C.可讀性和文檔性D.數(shù)據(jù)復(fù)雜性和程序復(fù)雜性
二、2.填空題(20題)21.若有以下程序
main()
{inta=4,b=3,c=5,t=0;
if(a<b)t=a;a=b;b=t;
if(a<c)t=a;a=c;c=t;
printf("%d%d%dln",a,b,c);
}
執(zhí)行后輸出結(jié)果為______。
22.以下程序的輸出結(jié)果是【】。
main()
{chars[]="ABCD",*p;
for(p=s+1;p<s+4;p++)printf("%s\n",p);}
23.若有定義doublea[5];,則a數(shù)組元素下標(biāo)的上限為______。
24.以下程序中函數(shù)f的功能是在數(shù)組x的n個數(shù)(假定n個數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)與第一個數(shù)對換,把最大的數(shù)與最后一個數(shù)對換。請?zhí)羁铡?/p>
#include<stdio.h>
voidf(intx[],intn)
{intp0,p1,i,j,t,m;
i=j=x[0];p0=p1=0;
for(m=0;m<n;m++)
{if(x[m]>i){i=x[m];p0=m;}
elseif(x[m]<j){j=x[m];p1=m;}
}
t=x[p0];x[p0]=x[n-1];x[n-1]=t;
t=x[p1];x[p1]=【】;【】=t;
}
main()
{inta[10],u;
for(u=0;u<10;u++)scanf("%d",&a[u]);
f(a,10);
for(u=0;u<10;u++)printf("%d",a[u]);
printf("\n");
}
25.關(guān)系操作的特點是______操作。
26.以下程序的功能是進行位運算main(){unsignedchara,b;a=7^3;b=~4&3;pfintf("%d%d\n",a,b);}程序運行后的輸出結(jié)果是
27.以下程序的輸出結(jié)果是【】。
main()
{intx=0;
sub(&x,8,1);
printf("%d\n",x);
}
sub(int*a,intn,intk)
{if(k<=n)sub(a,n/2,2*k);
*a+=k;
}
28.下列程序段的輸出結(jié)果是______。
intn='c':
switch(n++)
{default:printf("error");break;
case'a':printf("good");break;
case'c':printf("moming");
case'd':printf("class");
}
29.數(shù)據(jù)元素之間______的整體稱為邏輯結(jié)構(gòu)。
30.下面的函數(shù)fun的功能是將形參x的值轉(zhuǎn)換成二進制數(shù),所得二進制數(shù)的每一位放在一維數(shù)組中返回,二進制的最低位放在下標(biāo)為0的元素中,其他依次類推,請?zhí)羁铡?/p>
fun(intx,intb[])
{intk=0,r;
do{
r=x%【】;
b[k++]=r;
x/=【】;
}while(x);}
31.以下程序的輸出結(jié)果是【】。
#include<stdlib.h>
main()
{char*s1,*s2,m;
s1=s2=(char*)malloc(sizeof(char));
*s1=15;*s2=20;m=*s1+*s2;
printf("%d\n",m);
}
32.如下語句printf("%c\n",'B'+40);在執(zhí)行后的輸出結(jié)果是【】。
33.設(shè)Y是int型變量,請寫出判斷Y為奇數(shù)的關(guān)系表達式【】。
34.在算法的4個特性中,算法必須能在執(zhí)行有限個步驟之后終止指的是算法的______特性。
35.用十六進制給存儲器中的字節(jié)地址進行編號,其地址編號從0000到FFFF,則該存儲器容量是【】。
36.某二叉樹中度為2的結(jié)點有18個,則該二叉樹中有【】個葉子結(jié)點。
37.長度為n的順序存儲線性表中,當(dāng)在任何位置上插入一個元素概率都相等時,插入一個元素所需移動元素的平均個數(shù)為【】。
38.以下程序的功能是從名為filea.dat的文本文件中逐個讀入字符并顯示在屏幕上。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{FILE*fp;charch;
fp=fopen(【】);
ch=fgetc(fp);
while(!feof(fp)){putchar(ch);ch=fgetc(fp);}
putchar('\n');fclose(fp);
}
39.結(jié)構(gòu)化分析方法是面向______進行分析的方法。
40.有以下程序:
intfa(intx){returnx*x;}
intfb(intx){returnx*x*x;}
intf(int(*f1)(),int(*f2)(),(intx)
{returnf2(x)-f1(x);}
main()
{inti;i=f(fa,fb,2);printf("%d\n",i);}
程序運行后,輸出結(jié)果是【】。
三、1.選擇題(20題)41.C語言中,凡未指定存儲類別的局部變量的隱含存儲類別是()。
A.自動(auto)B.靜態(tài)(statiC)C.外部(extern)D.寄存器(register)
42.有以下程序:main(){intx=3,y=2,z=1;printf("%d\n",x/y&~z);}程序運行后的輸出結(jié)果是()。
A.3B.2C.1D.0
43.在C語言中,整數(shù)65534在存儲單元中的存儲情況是()
A.1111111111111111
B.1000000000000010
C.0111111111111111
D.1111111111111110
44.設(shè)有定義:intA,*pA=&A;,以下scanf語句中能正確為變量A讀入數(shù)據(jù)的是______。
A.scanf("%d",pA);
B.scanf("%d",A);
C.scanf("%d",apA);
D.scanf("%d",*pA);
45.若有說明語句:charc='\72'則變量c()。
A.包含1個字符B.包含2個字符C.包含3個字符D.說明不合法,c的值不確定
46.下列程序的輸出結(jié)果是______。intd=1;fun(intp){staticintd=5;d+=p;printf("%d",d);return(d);}main(){inta=3;printf("%d\n",fun(a+fun(d)));}
A.699B.669C.61515D.6615
47.下面程序的輸出結(jié)果是()。#include<stdio.h>intx=1;voidmain(){intx=2;printf("%d,",x);if(x==1){intx=4;printf("%d,",x++);}printf("%d",x++);}
A.2,2B.1,1,2C.2,4,3D.2,3
48.以下程序intaa[3][3]={{2},{4},{6}};main(){inti,*p=&aa[0][0];for(i=0;i<2;i++){if(i==0)aa[i][i+1]=*p+1;else++p;printf("%d",*p);}}的輸出是______。
A.23B.26C.33D.36
49.數(shù)據(jù)流圖用于抽象描述一個軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構(gòu)成。下列圖符名標(biāo)識的圖符不屬于數(shù)據(jù)流圖合法圖符的是()
A.控制流B.加工C.數(shù)據(jù)存儲D.源和潭
50.數(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è)計
51.有下列程序:
main()
{inty=20;
do{y--;}while(--y);
phntf("%d\n",y--);
}
當(dāng)執(zhí)行程序時,輸出的結(jié)果是()。
A.-1B.1C.4D.0
52.有以下程序main(){chara[]={'a','b','c','d','e','f','g','h','\0'};inti,j;i=sizeof(a);j=strlen(a);printf("%d,%d\b",i,j);}程序運行后的輸出結(jié)果是
A.9,9B.8,9C.1,8D.9,8
53.數(shù)據(jù)的存儲結(jié)構(gòu)是指()。
A.數(shù)據(jù)所占的存儲空間
B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計算機中的存放形式
C.數(shù)據(jù)在計算機中的順序存儲方式
D.存儲在計算機外存中的數(shù)據(jù)
54.下列關(guān)于隊列的敘述中正確的是______。A.在隊列中只能插入數(shù)據(jù)B.在隊列中只能刪除數(shù)據(jù)C.隊列是先進先出的線性表D.隊列是先進后出的線性表
55.在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示()。
A.模塊之間的調(diào)用關(guān)系B.程序的組成成份C.控制程序的執(zhí)行順序D.數(shù)據(jù)的流向
56.數(shù)據(jù)的完整性是指數(shù)據(jù)的正確性、有效性和______。
A.可維護性B.獨立性C.安全性D.相容性
57.若有以下定義:structfink{intdata;structlink*next;}a,b,c,*p,*q;且變量a和b之間已有如下圖所示的鏈表結(jié)構(gòu):
指針p指向變量a,q指向變量c。則能夠把c插入到a和b之間并形成新的鏈表的語句組是:
A.a.next;c;c.next=b;
B.p.next=q;q.next=p.next;
C.p->next=&c;q->next=p->next;
D.(*p).next=q;(*q).next=&b;
58.能將高級語言程序轉(zhuǎn)換成目標(biāo)語言程序的是______。
A.調(diào)試程序B.解釋程序C.編譯程序D.編輯程序
59.有以下程序:#includo<stdio.h>main(){inty=10;while(y--)printf("y=%d\n",y);}程序執(zhí)行后的輸出結(jié)果是()。
A.y=0B.y=-1C.y=1D.while構(gòu)成無限循環(huán)
60.數(shù)據(jù)庫系統(tǒng)的核心是()。
A.數(shù)據(jù)模型B.數(shù)據(jù)庫管理系統(tǒng)C.數(shù)據(jù)庫D.數(shù)據(jù)庫管理員
四、選擇題(20題)61.有以下程序:
程序運行后的輸出結(jié)果是()。
A.AbcdefB.ABCDEFC.aBcDeFD.AbCdEf
62.在位運算中,操作數(shù)每左移兩位,其結(jié)果相當(dāng)于()。
A.操作數(shù)乘以2B.操作數(shù)除以2C.操作數(shù)除以4D.操作數(shù)乘以4
63.
64.有下列函數(shù)定義:fun(floath){printf("%f,%f\n",h,h*h);)該函數(shù)的類型是()。
A.int類型B.float類型C.void類型D.函數(shù)無類型說明,定義有錯
65.C語言中,組成數(shù)據(jù)文件的成分是()。A.A.記錄
B.數(shù)據(jù)行
C.數(shù)據(jù)塊
D.字符(字節(jié))序列
66.(40)將E-R圖轉(zhuǎn)換到關(guān)系模式時,實體與聯(lián)系都可以表示成()
A.屬性
B.關(guān)系
C.鍵
D.域
67.
68.下列敘述中正確的是()。
A.對長度為n的有序鏈表進行查找,最壞情況下需要的比較次數(shù)為n
B.對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為n/2
C.對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為log2n
D.對長度為n的有序鏈表進行對分查找,最壞情況下需要的比較次數(shù)為nlog2n
69.若有以下說明和定義,以下敘述中錯誤的是(
)。uniondt{
int
a;char
b;double
c;}data;A.兩個共用體變量之間可以相互賦值B.變量data所占內(nèi)存字節(jié)數(shù)與成員c所占字節(jié)數(shù)相等C.程序段:data.a=5;printf("%f\n",data.c);輸出結(jié)果為5.000000D.共用體在初始化時只能用第一個成員的類型進行初始化
70.在函數(shù)中默認(rèn)存儲類型說明符的變量應(yīng)該是________存儲類型。
A.內(nèi)部靜態(tài)B.外部C.自動D.寄存器
71.有三個關(guān)系R、S和T如下:
則由關(guān)系R和s得到關(guān)系T的操作是()。
A.自然連接B.并C.交D.差
72.數(shù)據(jù)庫管理系統(tǒng)中負(fù)責(zé)數(shù)據(jù)模式定義的語言是()。A.數(shù)據(jù)定義語言B.數(shù)據(jù)管理語言C.數(shù)據(jù)操縱語言D.數(shù)據(jù)控制語言
73.HTTP協(xié)議的內(nèi)容協(xié)商消息頭包括()。
i.內(nèi)容協(xié)商消息頭ii.緩存控制消息頭
iii.條件控制消息頭iv.服務(wù)器狀態(tài)消息頭
A.i和iiB.i、ii和iiiC.ii和iiiD.iii和iv
74.有以下程序:
當(dāng)執(zhí)行程序時,按下列方式輸入數(shù)據(jù)(從第l列開始,<;CR>;代表回車,注意:回車也是一個字符]12<;CR>;34<;CR>;則輸出結(jié)果是()。
A.12B.123C.1234D.12343
75.對字符數(shù)組s賦值,不合法的一個是()。
A.chars[]="Beijing"
B.chars[20]={"Beijing"}
C.chars[20];s="Beijing"
D.chars[20]={’B,’e’,’i’,’j’,’i’,’n’,’g’}
76.
77.有以下程序:
程序運行后的輸出結(jié)果是()。
A.116B.8C.40D.4
78.以下對C語言函數(shù)的有關(guān)描述中,正確的是()。
A.C函數(shù)可以遞歸調(diào)用也可以嵌套調(diào)用
B.在C中,調(diào)用函數(shù)時,只能把實參值傳給形參,形參值不能返回給實參
C.沒有返回值的函數(shù)不能被使用.
D.C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個源程序文件中
79.有以下程序程序運行后的輸出結(jié)果是()
A.1,3,3B.1,3.2C.1,2,3D.3,2,1.
80.
五、程序改錯題(1題)81.下列給定程序中proc()函數(shù)的功能是:將n個無序整數(shù)按從小到大排序。請修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,編寫函數(shù)fun(),該函數(shù)的功能是統(tǒng)計一行字符串中單詞的個數(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(33)C)解析:題中變量w的定義為double型,函數(shù)fun2()的定義為int型,按照各類數(shù)值型數(shù)據(jù)間的混合運算,整型數(shù)據(jù)被轉(zhuǎn)換為實型數(shù)據(jù)。
3.C解析:數(shù)據(jù)庫是數(shù)據(jù)的集合,其中的數(shù)據(jù)是按數(shù)據(jù)所提供的數(shù)據(jù)模式存放的,它能構(gòu)造復(fù)雜的數(shù)據(jù)結(jié)構(gòu),以建立數(shù)據(jù)之間的內(nèi)在聯(lián)系與復(fù)雜的關(guān)系-故答案為C。
4.D
5.A軟件測試的目的是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,并不涉及改正錯誤,所以選項A錯誤。程序調(diào)試的基本步驟有:錯誤定位、修改設(shè)計和代碼,以排除錯誤、進行回歸測試,防止引進新的錯誤。程序調(diào)試通常稱為Debug,即排錯。軟件測試的基本準(zhǔn)則有:所有測試都應(yīng)追溯到需求、嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性、充分注意測試中的群集現(xiàn)象、程序員應(yīng)避免檢查自己的程序、窮舉測試不可能、妥善保存測試計劃等文件。故答案為A選項。
6.C
7.C
8.C解析:帶參數(shù)宏的格式為:#define標(biāo)識符(形參表)形參表達式。其功能是:在預(yù)處理程序中將程序中出現(xiàn)的所有帶實參的宏名,展開成由實參組成的表達式。
9.C
10.B
11.D[解析]第一次循環(huán)溈0.i%2為0.執(zhí)行switch(a[0]%62)中的case0語句后內(nèi)容即a[0]++,a[0]的值變成3;第二次循環(huán)的值為1.i%62為1.執(zhí)行case1:a[]=0;所以a[1]的值變成0;第三次循環(huán)的值為2.i%62為0.執(zhí)行switch([2]%62)中的case1語句后的內(nèi)容a[2]--,a[2]的值變成4;第四次循環(huán)的值為3.i%2為1.執(zhí)行case1:ai]=0;所以a[3]的值變成0.
12.B
13.D函數(shù)fun是2的次方的運算,而s*=fun,所以答案為64。
14.BB?!窘馕觥筷P(guān)系的交(∩)、并(∪)和差(-)運算要求兩個關(guān)系是同元的,顯然作為二元的R和三元的S只能做笛卡兒積運算。
15.C
16.C程序定義一個字符數(shù)組b和一個字符變量k。for循環(huán)通過循環(huán)變量k,遍歷數(shù)組b中的各個字符,通過if語句判斷當(dāng)前下標(biāo)為k的字符的ASCII值與字符'm'的ASCII值的大小,ASCII值小于‘m’的ASCII值的字符改成大寫字母(b[k]=b[k]-'a'+'A'),然后輸出b[k]。在字符串“happychristmas”中,ASCII值小于'm'的字符有h,a,c,h,i,a,所以程序輸出:HAppyCHrIstmAs。本題答案為C選項。
17.C解析:二叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求先序遍歷遍歷順序應(yīng)該為:訪問根結(jié)點->先序遍歷左子樹->先序遍歷右子樹。按照定義,先序遍歷序列是ABDECF。
18.D比較兩個字符串大小用函數(shù)strcomp(S,t),空字符串有結(jié)束符,所以也要占用字節(jié),兩個雙引號表示的是空字符串。
19.A關(guān)鍵字typedet的作用只是將C語言中的已有的數(shù)據(jù)類型作了置換,并不是增加新的類型,所以A)錯誤。
20.D
21.503503解析:此處需注意的是:如果if后面的條件為真,只執(zhí)行其后的一條語句或一條復(fù)合語句,如果if后面的條件為假,只執(zhí)行else后面的一條語句或一條復(fù)合語句。先判斷表達式“a<b”為假,不執(zhí)行“t=a”,但執(zhí)行“a=b;b=t;”,s的值為3,b的值為0。在判斷表達式“a<c”,值為真,所以執(zhí)行后面的3條語句“t=a;a=c;c=t”,結(jié)果a的值為5,c的值為3,所以最后輸出的結(jié)果為5、0和3。
22.BCDCDDBCD\r\nCD\r\nD解析:本題考查指向字符串的指針的運算方法。指針變量p首先指向字符串中的第一個字符A,執(zhí)行p=s+1后,p指向字符串中的第二個字符B,然后輸出值'BCD'并換行,依次執(zhí)行循環(huán)語句。
23.44解析:一維數(shù)組元素的定義形式為:數(shù)組名[N],則該數(shù)組中元素的下限是0,上限是N-1。
24.x[0]x[0]x[0],x[0]解析:函數(shù)f()通過for循環(huán)逐個比較數(shù)組x中的元素,循環(huán)結(jié)束后,p0和p1分別表示最大值和最小值在數(shù)組中的下標(biāo)位置,然后按照題意將最大值x[p0]和數(shù)組的最后一個元素x[n-1]交換位置,再將最小值x[p1]和第一個元素(x[0])進行交換,所以空白處應(yīng)該填入x[0]。
25.集合集合
26.A
27.77解析:在主函數(shù)中定義了一個變量x并賦初值0,然后執(zhí)行函數(shù)調(diào)用語句,該語句的執(zhí)行過程為sub(&x,8,1)調(diào)用sub(&a,4,2),sub(&a,4,2)調(diào)用sub(&a,2,4),sub(&a,2,4)中由于2<4,所以if后面括號里的判斷為假,遞歸結(jié)束,執(zhí)行其后的*a+=k;語句此時x=x+k=0+4=4,回推到上一層調(diào)用函數(shù)sub(&x,4,2)中,執(zhí)行后面的語句,x=x+k=4+2=6,在回推到最上一層調(diào)用函數(shù)sub(&x,8,1)執(zhí)行后面的語句,x=x+k=6+1=7,所以最后輸出7。
28.morningclassmorningclass解析:本題考查了兩個知識點:①“++、--”運算后綴形式是先使用變量原來的值,使用完后再使其增1或減1;②在switch語句中,當(dāng)n=\'c\'時,執(zhí)行“case\'c\':”,輸出morning;因為此句中沒有break語句,因此接著執(zhí)行'case\'d\':”,輸出class,最終輸出結(jié)果為morningclass。
29.邏輯關(guān)系邏輯關(guān)系
30.222\r\n2解析:深刻理解+進制轉(zhuǎn)化為二進制的方法,即取余法;數(shù)組名作為實參,在函數(shù)內(nèi)部可以直接修改調(diào)用函數(shù)中定義的數(shù)組的值。注意:掌握兩個數(shù)據(jù)進行交換的算法原理。
31.4040解析:本題中指針s1和s2都指向同一個內(nèi)存中的地址。因此語句“*s2=20;”執(zhí)行后,*\u3000s1=*s2=20。所以m最后的值為40。
32.jj解析:在C程序中的字符量可參與任何整數(shù)運算。
33.Y%2=1或Y%2!=0Y%2=1或Y%2!=0解析:判斷變量是否為奇數(shù)可以用變量與2取模,判斷結(jié)果是為1或下為0。本題具體做法如下:Y%2=1或Y%2!=0。
34.有窮性有窮性解析:算法的4個基本特性包括:可靠性、確定性、有窮性和擁有足夠的情報,其中,算法的有窮性指的是算法必須在有限的時間內(nèi)完成,即算法必須在執(zhí)行有限個步驟之后終止。
35.64KB
36.1919解析:根據(jù)二叉樹的性質(zhì):在任意一棵二叉樹中,度為。的結(jié)點(即葉子結(jié)點)總是比度為2的結(jié)點多一個。本題中度為2
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 建立有效溝通渠道的策略計劃
- 財務(wù)資源管理方案計劃
- 班級學(xué)習(xí)共同體建設(shè)的探索計劃
- 團隊建設(shè)與士氣提升工作總結(jié)計劃
- 質(zhì)量控制與改進的有效方法計劃
- 跨境電商平臺在體育用品市場的機會挖掘
- 超聲科技術(shù)助力精準(zhǔn)醫(yī)療的進展
- 廣東2024年12月廣東省惠來縣公安局公開招考警務(wù)輔助人員筆試歷年典型考題(歷年真題考點)解題思路附帶答案詳解
- 高效旋轉(zhuǎn)灌裝機在生產(chǎn)自動化中的關(guān)鍵作用
- 2025年國網(wǎng)新疆電力有限公司招聘1300人(第一批)筆試參考題庫附帶答案詳解
- 《Spring框架》教學(xué)課件
- 七年級下冊《平行線的判定》課件與練習(xí)
- 2025年中考英語時文閱讀 6篇有關(guān)電影哪吒2和 DeepSeek的英語閱讀(含答案)
- 修高速土方合同范例
- 2024年形勢與政策復(fù)習(xí)題庫含答案(綜合題)
- 江蘇省南通市2025屆高三第一次調(diào)研測試數(shù)學(xué)試題(南通一模)(含答案)
- DCMM數(shù)據(jù)管理師練習(xí)測試卷
- 油氣行業(yè)人才需求預(yù)測-洞察分析
- 檢修安全知識培訓(xùn)課件
- 水利工程水庫混凝土防滲墻施工方案
- 操作系統(tǒng)試題
評論
0/150
提交評論