版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022年山東省濰坊市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.設(shè)有以下程序段:structbook{floatprice;charlanguage;chartitle[20];}rec,*ptr;ptr=&rec;要求輸入字符串給結(jié)構(gòu)體變量rec的title成員,錯(cuò)誤的輸入語(yǔ)句是()。
A.scanf(“%s”,ptr.title);
B.scanf(“%s”,rec.title);
C.scanf(“%s”,(*ptr).title);
D.scanf(“%s”,ptr->title);
2.有1000個(gè)無(wú)序的整數(shù),希望使用最快的方式找出前50個(gè)最大的,最佳的選擇是()
A.冒泡排序B.基數(shù)排序C.堆排序D.快速排序
3.若串S1="ABCDEFG",S2="9898",S3="###",S4="012345",執(zhí)行其結(jié)果為()。A.ABC###G0123B.ABCD###2345C.ABC###G1234D.ABCD###1234
4.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。A.4284B.2870C.2668D.3981
5.下列運(yùn)算符中優(yōu)先級(jí)最高的是()。
A.!B.%C.-=D.&&
6.以下敘述中錯(cuò)誤的是()。
A.向量屬于線性結(jié)構(gòu)B.二叉鏈表是二叉樹(shù)的存儲(chǔ)結(jié)構(gòu)C.棧和隊(duì)列是線性表D.循環(huán)鏈表是循環(huán)隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
7.下列程序的執(zhí)行結(jié)果是()。#include<stdioh>main{inta,b,c;a=b=2,c=I;c=(a++)-1;printf("%d,0Ad",a,c);c+=-a+++(++b);printf("%d,%d",a,c);)A.3,14,1B.3,14,2C.2,04,1D.2,14,1
8.有定義:“inta=2,b=3,c=4;”,則下列選項(xiàng)中值為0的表達(dá)式是()。A.(!a==1)&&(!b==0)B.(a<b)&&!c‖1C.a&&bD.a||(b+b)&&(c-a)
9.程序流程圖中有箭頭的線段表示的是()。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
10.算法的時(shí)間復(fù)雜度是指A.算法的執(zhí)行時(shí)間B.算法所處理的數(shù)據(jù)量C.算法程序中的語(yǔ)句或指令條數(shù)D.算法在執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)
11.設(shè)abcdef以所給的次序進(jìn)棧,若在進(jìn)棧操作時(shí),允許退棧操作,則下面得不到的序列為()。
A.fedcbaB.bcafedC.dcefbaD.cabdef
12.
13.有以下程序:#include<stdio.h>main(){inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf(“%d,%d,%d,%d\n”,a,b,c,d);}程序輸出為()。
A.編譯有錯(cuò)B.0,0,0,3C.1,1,2,0D.0,1,2,0
14.采用鄰接表存儲(chǔ)的圖的廣度優(yōu)先遍歷算法類(lèi)似于二叉樹(shù)的()。A.A.先序遍歷B.中序遍歷C.后序遍歷D.按層遍歷
15.在m叉樹(shù)中,都為0的結(jié)點(diǎn)稱(chēng)為()。
A.兄弟B.樹(shù)葉C.樹(shù)根D.分支結(jié)點(diǎn)
16.有以下程序:#include<stdio.h>inta=1,b=2:voidfunl(inta,intb){printf("%d%d",a,b);}voidfun2(){a=3;b=4;}main(){funl(5,6);fun2();printf("%d%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A.1256B.5634C.5612D.3456
17.
18.數(shù)據(jù)結(jié)構(gòu)主要研究的是數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的運(yùn)算和()。A.數(shù)據(jù)的方法B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)C.數(shù)據(jù)的對(duì)象D.數(shù)據(jù)的邏輯存儲(chǔ)
19.十進(jìn)制數(shù)124轉(zhuǎn)換成二進(jìn)制數(shù)是()
A.111l010B.1111100C.1011111D.1111011
20.每次從無(wú)序表中取出一個(gè)元素,把它插入到有序表中的適當(dāng)位置,此種排序方法叫做()排序。
A.插入B.堆C.快速D.歸并排序
二、2.填空題(20題)21.下列程序執(zhí)行后輸出的結(jié)果是【】。
f(inta)
{staticc=0;
c=a+c++;
return(c);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
prinf("%d\n",k);
}
22.以下程序運(yùn)行后的輸出結(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");
}
23.性表的多種存儲(chǔ)結(jié)構(gòu)中,最簡(jiǎn)單的方法是【】。
24.已知字母A的ASCⅡ碼為65。以下程序運(yùn)行后的輸出結(jié)果是()。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,B);
}
25.數(shù)據(jù)庫(kù)系統(tǒng)在其內(nèi)部分為三級(jí)模式,即概念模式、內(nèi)模式和外模式。其中,______給出了數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法。
26.以下程序的輸出是【】。
main()
{
charstr1[]="Howdoyoudo",*p1=str1;
strcpy(str1+strlen(str1)/2,"esshe");
printf("%s\n",p1);
}
27.以下程序中函數(shù)f的功能是在數(shù)組x的n個(gè)數(shù)(假定n個(gè)數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,把最大的數(shù)與最后一個(gè)數(shù)對(duì)換。請(qǐng)?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
28.下列程序的運(yùn)行結(jié)果是______。
main()
{ints=0,i=1;
while(s<=10)
{s=s+i*i;
i++;
}
printf("%d",-i);
}
29.下列程序運(yùn)行后的輸出的結(jié)果是______。
#include<stdio.h>
main()
{chars[20];
scanf("%s",s);
printf("%s",s);
}
運(yùn)行程序,輸入HOWAREYOU。
30.數(shù)據(jù)庫(kù)系統(tǒng)其內(nèi)部分為三級(jí)模式,即概念模式、內(nèi)模式和外模式。其中,______是用戶(hù)的數(shù)據(jù)視圖,也就是用戶(hù)所見(jiàn)到的數(shù)據(jù)模式。
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.以下程序中函數(shù)fun的功能是:構(gòu)成一個(gè)如圖所示的帶頭結(jié)點(diǎn)的單向鏈表,在結(jié)點(diǎn)的數(shù)據(jù)域中放入了具有兩個(gè)字符的字符串。函數(shù)disp的功能是顯示輸出該單鏈表中所有結(jié)點(diǎn)中的字符串。請(qǐng)?zhí)羁胀瓿珊瘮?shù)disp。
#include<stdio.h>
typedefstructnode/*鏈表結(jié)點(diǎn)結(jié)構(gòu)*/
{charsub[3];
structnode*next;
}Node;
Nodefun(chars)/*建立鏈表*/
{……}
voiddisp(Node*h)
{Node*p;
p=h->next;
while(【】)
{printf("%s\n",P->sub);p=【】;}
}
main()
{Node*hd;
hd=fun();disp(hd);printf("\n");
}
33.關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)能實(shí)現(xiàn)的專(zhuān)門(mén)關(guān)系運(yùn)算包括選擇、連接和【】。
34.有以下程序:
voidf(int*x,iht*y)
{intt;
t=*x;*x;=*y;*y=t;
}
main()
{inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;
p=a;q=&a[7];
while(p)
{f(p,q);p++;q--;}
for(i=0;i<8;i++)printf("%d,",a[i]);
}
程序運(yùn)行后的輸出結(jié)果是【】。
35.要求使下列程序輸出5個(gè)整數(shù),請(qǐng)?zhí)羁铡?/p>
for(i=0;i<=______;printf("%d\n",i+=2));
36.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{structstru
{inta;
floatb;
chard[4];
};
printf("%d\n",sizeof(structstru));}
37.在鏈表的運(yùn)算過(guò)程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是______。
38.在程序設(shè)計(jì)階段應(yīng)該采取【】和逐步求精的方法,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,進(jìn)而用某種程序設(shè)計(jì)語(yǔ)言寫(xiě)成程序。
39.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
40.mystrlen函數(shù)的功能是計(jì)算str所指字符串的長(zhǎng)度,并作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>
intmystrlen(char*str)
{inti;
for(i=0;【】!='\0';i++);
return(i);}
三、1.選擇題(20題)41.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是______。
A.程序的規(guī)模B.程序的易讀性C.程序的執(zhí)行效率D.程序的可移植性
42.下列敘述中正確的是A.線性表是線性結(jié)構(gòu)B.棧與隊(duì)列是非線性結(jié)構(gòu)C.線性鏈表是非線性結(jié)構(gòu)D.二叉樹(shù)是線性結(jié)構(gòu)
43.以下程序的輸出結(jié)果是
#include<stdio.h>
intfun(intn,int*s)
{intf1,f2;
if(n==0||n==1)
*s=1;
else
{fun(n-1,&f1);
fun(n-2,&f2);
*s=f1+f2;
}}
voidmain()
{intx;
fun(6,&x);
printf("\n%d",x);}
A.7B.13C.9D.10
44.用樹(shù)形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型的是
A.關(guān)系模型B.網(wǎng)狀模型C.層次模型D.以上三個(gè)都是
45.若有定義:“inta[2][3];”,則對(duì)a數(shù)組的第i行第j列元素的正確引用為()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
46.下列選項(xiàng)中,值為1的表達(dá)式是()。
A.1-'0'B.1-'\0'C.'1'-0D.'\0'-'0'
47.數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()
A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)
48.以下程序段的while循環(huán)執(zhí)行的次數(shù)是______。intk=0;while(k=1)k++;
A.無(wú)限次B.有語(yǔ)法錯(cuò),不能執(zhí)行C.一次也不執(zhí)行D.執(zhí)行1次
49.設(shè)有如下三個(gè)關(guān)系表:
下列操作中正確的是()。
A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S
50.變量a已被定義為整型,下列表達(dá)式有錯(cuò)的是
A.a='A'+20B.a-='a'C.a=c+dD.a='c'+'d'
51.在下列敘述中,錯(cuò)誤的一條是()
A.關(guān)系表達(dá)式的值是一個(gè)邏輯值,即“真”或“假”,可賦給一個(gè)邏輯變量
B.數(shù)組必須先定義后使用,且只能逐個(gè)引用數(shù)組元素,不能一次引用整個(gè)數(shù)組
C.在C語(yǔ)言中,判斷一個(gè)量是否為“真”時(shí),用。代表“假”,1代表“真”
D.將字符串常量賦給字符數(shù)組時(shí),必須在字符串后加飛'\0',表示字符結(jié)束
52.對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞的情況下所需要的比較次數(shù)為_(kāi)_____。
A.log2nB.n/2C.nD.n+l
53.已定義下列函數(shù):intfun(int*p){return*p;)fun函數(shù)返回值是()。
A.不確定的值B.一個(gè)整數(shù)C.形參p中存放的值D.形參p的地址值
54.若i和j已定義為int類(lèi)型,則以下程序段中內(nèi)循環(huán)體總的執(zhí)行次數(shù)是______。for(i=5;i;i--)for(j=0;j<5;j++){...}
A.20B.25C.24D.30
55.以下與函數(shù)fseek(fp,OL,SEEK_SET)有相同作用的是______。A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)
56.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成________。
A.屬性B.關(guān)系C.鍵D.域
57.下列程序執(zhí)行后的輸出結(jié)果是main(){inta[3][3],*p,i;p=&a[0][0];for(i=1;i<9;i++)p[i]=i+1;printf("%d\n",a[1][2]);}
A.3B.6C.9D.隨機(jī)數(shù)
58.面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過(guò)程的方法有本質(zhì)不同,它的基本原理是()。
A.模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系
B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念
C.使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題
D.鼓勵(lì)開(kāi)發(fā)者在軟件開(kāi)發(fā)的絕大部分中都用實(shí)際領(lǐng)域的概念去思考
59.在下列敘述中,正確的一條是()
A.語(yǔ)句int*pt中的*pt是指針變量名
B.語(yǔ)句"int*p=a;"等價(jià)于"int*p;p=&a[0];”
C.運(yùn)算符*和&都是取變量地址的運(yùn)算符
D.已知指針變量p指向變量a,則&a和*p值相同,都是變量a的值
60.在深度為5的滿二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為A.32B.31C.16D.15
四、選擇題(20題)61.以下選項(xiàng)中合法的標(biāo)識(shí)符是()。
62.有以下程序(函數(shù)fun只對(duì)下標(biāo)為偶數(shù)的元素進(jìn)行操作):
#include<stdio.h>
voidfun(int*a。intn)
{inti,j,k,t;
for(i=0;i<n-1;i+=2)
{k=i;
for(j=i;j<n;j+=2)if(a[j]>a[k])k=j;
t[a[i];a[i]=a[k];a[k]=t;
}
}
main
{intaa[lO]=[1,2,3,4,5,6,7],a;
fun(aa,7);
for(i=0;i<7;i++)printf("%d,",aa[i]);
printf("n");
}
程序運(yùn)行后的輸出結(jié)果是()。
A.7,2,5,4,3,6,1,
B.1,6,3,4,5,2,7,
C.7,6,5,4,3,2,1,
D.1,7,3,5,6,2,1,
63.以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式是()。
A.x%2==0B.x/2C.x%21=0D.x%2==1
64.
65.
66.
67.
68.
69.(72)n個(gè)頂點(diǎn)的強(qiáng)連通圖的邊數(shù)至少有______。
A.n-1
B.n(n-1)
C.n
D.n+1
70.若有定義:則以下不能正確表示該數(shù)組元素的表達(dá)式是()。
71.
72.(67)數(shù)據(jù)處理的最小單位是()
A.數(shù)據(jù)
B.數(shù)據(jù)元素
C.數(shù)據(jù)項(xiàng)
D.數(shù)據(jù)結(jié)構(gòu)
73.表達(dá)式:(im)((double)9/2)一9%2的值是()。
A.0B.3C.4D.5
74.具有3個(gè)結(jié)點(diǎn)的二叉樹(shù)有
A.2種形態(tài)B.4種形態(tài)C.7種形態(tài)D.5種形態(tài)
75.若文件指針fp已正確指向文件,ch為字符型變量,以下不能把字符輸出到文件中的語(yǔ)句是()。
A.fget(f0,ch);
B.foutc(ch,fo);
C.fprinff(fp,”%c”,ch);
D.fwrite(&ch,sizeof(ch),1,fp);
76.若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。
A.函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元
B.形參只是形式上的存在,不占用具體存儲(chǔ)單元
C.同名的實(shí)參和形參占同一存儲(chǔ)單元
D.函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元
77.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.a=2,b=2B.a=2,b=1C.a=1,b=1D.a=1,b=0
78.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.abc28B.28cC.abcD.因類(lèi)型不一致而出錯(cuò)
79.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.*****a*bB.a*bC.a*b****D.ab
80.
五、程序改錯(cuò)題(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í),函數(shù)值為2.O0。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),它的功能是計(jì)算下列級(jí)數(shù)和,和值由函數(shù)值返回。sum=1-x+x2/2!-x3/31+…+(-l*x)n/n!例如,當(dāng)n=23,x=0.3時(shí),函數(shù)值為0.740818。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填人所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.A運(yùn)算符“->”適用指針訪問(wèn)成員變量,運(yùn)算符“.”適用普通變量訪問(wèn)成員變量。ptr是指針,只能用“->”,因此選項(xiàng)A錯(cuò)誤。選項(xiàng)B中,rec.title代表數(shù)組title,選項(xiàng)B正確,同理選項(xiàng)C正確?!?ptr”是結(jié)構(gòu)體變量rec,可以使用運(yùn)算,因此選項(xiàng)D正確。故本題答案為A選項(xiàng)。
2.D
3.D
4.Bfor循環(huán)中,i取值為1~100。循環(huán)體中,3個(gè)if語(yǔ)句必須同時(shí)滿足才會(huì)輸出x,輸出的x取值為i+3,所以x的取值只能是4到103。x必須滿足以下條件:①x%7==0(x必須是7的倍數(shù));②(x-1)%3==0(x必須是3的倍數(shù)+1);③(x-2)%2==0(x必須是2的倍數(shù))。滿足條件③的x取值為7,14,21,28,35,42,49,56,63,70,77,84,91,98;又滿足條件②的x的取值為7,28,49,70,91;又滿足條件①的x的取值為28,70。本題答案為B選項(xiàng)。
5.A
6.D循環(huán)鏈表是線性表的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)。因此D選項(xiàng)敘述錯(cuò)誤。本題答案為D選項(xiàng)。
7.A本題主要考查自加減運(yùn)算符(++,--)的使用。①如果作為前綴變量“++a,--a”,在使用a之前,先使a的值加1或者減1,再使用表達(dá)式的值參與運(yùn)算;②后綴變量“a++,a--”,先使用表達(dá)式的值參與運(yùn)算,在使用a之后,再使i的值加1或者減1。在本題中計(jì)算表達(dá)式c=(a++)-1時(shí)先使用a的值進(jìn)行計(jì)算,結(jié)果為c=2-1=1,然后將a的值加1,即執(zhí)行完此句后l3-的值是3;表達(dá)式c+=-a+++(++b)也可寫(xiě)成C=c+(一a++)+(++b),c=1+(一3)+3=1,此時(shí)a=4,b=3。
8.A本題考查邏輯與運(yùn)算“&&”與邏輯或運(yùn)算“||”。在選項(xiàng)A中,因?yàn)?a=0,所以關(guān)系表達(dá)式!a=1為0,又因?yàn)檫壿嬇c運(yùn)算符“&&”兩邊的表達(dá)式只要一個(gè)等于零,則整個(gè)表達(dá)式為零,所以選項(xiàng)A正確。在選項(xiàng)8中,關(guān)系表達(dá)式a<b為真,表達(dá)式(a<b)&&!C為假,而表達(dá)式(a<b)&&!||1為真,所以整個(gè)表達(dá)式的值為真。選項(xiàng)C中,a&&b的結(jié)果為真。在選項(xiàng)D中,a||(b+b)&&(C-a)的結(jié)果為真。
9.C解析:程序流程圖是軟件過(guò)程設(shè)計(jì)中常用的圖形描述工具之一。構(gòu)成程序流程圖的最基本符號(hào)有:→或↓,表示控制流;□表示加工步驟;
表示邏輯條件。
10.DD?!窘馕觥克惴ǖ臅r(shí)間復(fù)雜度是指算法需要消耗的時(shí)間資源。一般來(lái)說(shuō),計(jì)算機(jī)算法是問(wèn)題規(guī)模。09函數(shù)fin),算法的時(shí)間復(fù)雜度也因此記做T(n)=O(f(n))。因此,問(wèn)題的規(guī)模n越大,算法執(zhí)行的時(shí)間的增長(zhǎng)率與f(n)的增長(zhǎng)率正相關(guān),稱(chēng)作漸進(jìn)時(shí)間復(fù)雜度(AsymptoticTimeComplexity)。簡(jiǎn)單來(lái)說(shuō)就是算法在執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)。
11.D
12.C
13.AC語(yǔ)言中規(guī)定else總是和之前與其最近的且不帶else的if配對(duì)。題目中,“if(a=1)b=1;c=2;”默認(rèn)省略了else,導(dǎo)致下一句else沒(méi)有匹配語(yǔ)句。故本題答案為A選項(xiàng)。
14.D
15.B
16.BFunl是輸出局部變量的值,fun2是把全局變量的值改成3和4,所以輸出的結(jié)果是5634。
17.A
18.B詳細(xì)解答:
數(shù)據(jù)結(jié)構(gòu)是研究數(shù)據(jù)元素及其之間的相互關(guān)系和數(shù)據(jù)運(yùn)算的一門(mén)學(xué)科,它包含3個(gè)方面的內(nèi)容,即數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和數(shù)據(jù)的運(yùn)算。
19.B
20.A
21.77解析:在程序執(zhí)行時(shí),static變量?jī)H初始化一次,下次使用時(shí)將使用上次保存的值。
22.1343113431解析:初始化時(shí),指針p指向m[0]的地址,指針q指向m[4]的地址,p!=q滿足循環(huán)條件,執(zhí)行循環(huán)語(yǔ)句,得到m[0].k=1,m[4].k=1,此時(shí)i=2,指針p指向m[1]的地址,指針q指向m[3]的地址,p!=q滿足循環(huán)條件,執(zhí)行循環(huán)語(yǔ)句,得到m[1].k=3,k=3,此時(shí)i=4,指針q指向m[2]的地址,p==q不滿足循環(huán)條件,則退出循環(huán),m[2].k=4。所以最后輸出為13431。
23.順序存儲(chǔ)順序存儲(chǔ)
24.67G67G解析:根據(jù)題意,a=‘A’+‘5’-‘3’=65+2=67,b=67+4=71,71即為字母G的ASCⅡ碼值。程序要求按十進(jìn)制形式輸出a,按字符形式輸出b,所以結(jié)果為67G。
25.內(nèi)模式內(nèi)模式解析:內(nèi)模式又稱(chēng)為物理模式,它給出?數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法。
26.HowdoessheHowdoesshe解析:strcpy(str1,s1);字符串拷貝函數(shù),作用是將字符串s1拷貝到字符數(shù)組strl中去。strlen(str):測(cè)試字符串str的長(zhǎng)度,函數(shù)的值為字符串中實(shí)際長(zhǎng)度,不包括\'\\0\'在內(nèi)。本題中strlen(str1)的值為13,則strcpy(strl+strlen(strl)/2,'esshe');相當(dāng)于strcpy(strl+6,'esshe');,因此可得答案為Howdoesshe
27.函數(shù)f()通過(guò)for循環(huán)逐個(gè)比較數(shù)組x中的元素,循環(huán)結(jié)束后,p0和p1分別表示最大值和最小值在數(shù)組中的下標(biāo)位置,然后按照題意將最大值x[p0]和數(shù)組的最后一個(gè)元素x[n-1)交換位置,再將最小值x[p1]和第一個(gè)元素(x[0])進(jìn)行交換,所以空白處應(yīng)該填入x[0]。\r\n\r\n
28.33解析:分析程序運(yùn)行過(guò)程,第1次循環(huán):s=s+i*i=0+1*1=1,i=2;第2次循環(huán):s=s+i*i=1+2*2=5,i=3;第3次循環(huán):s=s+i*i=5+3*3=14,i=4;循環(huán)條件不成立輸出i,--i使i的值減1,軸出結(jié)果為3。
29.HOWHOW解析:在scanf()函數(shù)中,使用空格作為分隔符,如果輸入含有空格的字符串,則不能使用scanf()函數(shù),所以本題中輸入空格就返回了'\\0',s數(shù)組也就確定了,后面的輸入就不再讀入數(shù)組s中。
30.外模式外模式解析:數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別是內(nèi)模式、概念模式和外模式。其中,物理模式給出了數(shù)據(jù)庫(kù)的物理存儲(chǔ)結(jié)構(gòu)和存取方法;概念模式是數(shù)據(jù)庫(kù)系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述;外模式是用戶(hù)的數(shù)據(jù)視圖,也就是用戶(hù)所見(jiàn)到的數(shù)據(jù)模式。
31.3691236912解析:本題考查最基本的for循環(huán):for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數(shù)為4次,每次a+=3即每次a的值增3,但因?yàn)閒un函數(shù)中變量a為static類(lèi)型,所以每次調(diào)用完于函數(shù)之后,變量a所做的改變都要保存。
32.p!=NULLp->nextp!=NULL,p->next解析:考查了單鏈表的相關(guān)知識(shí)。NULL的ASCII碼的值和'\\0'的ASCII碼的值相等,條件到NULL停止循環(huán)。把下一個(gè)節(jié)點(diǎn)的地址賦給p,這樣循環(huán),節(jié)點(diǎn)可以依次向后取值。
33.投影專(zhuān)門(mén)關(guān)系運(yùn)算包括對(duì)單個(gè)關(guān)系進(jìn)行垂直分解(投影操作)或水平分解(選擇操作)和對(duì)多個(gè)關(guān)系的結(jié)合(連接操作)等。
34.876543218,7,6,5,4,3,2,1解析:函數(shù)f是將x、y指針的內(nèi)容互換,整個(gè)while循環(huán)是將a[0]與a[7]互換,a[2]與a[5]互換,a[3]與a[4]互換。
35.88解析:本題考查基本的for循環(huán)條件,i+=2表示i每次遞增2,從0開(kāi)始,輸出5個(gè)整數(shù)則需要的條件是i<=8。
36.14
37.循環(huán)鏈表循環(huán)鏈表解析:在循環(huán)鏈表中,由于設(shè)置了一個(gè)頭結(jié)點(diǎn),因此在任何情況下,循環(huán)鏈表中至少有一個(gè)結(jié)點(diǎn)存在,從而使空表與非空表的運(yùn)算統(tǒng)一。
38.自頂而下自頂而下
39.軟件開(kāi)發(fā)
40.*(str+i)或str[i]*(str+i)或str[i]解析:str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過(guò)程中,可以用*(str+i)來(lái)訪問(wèn)字符串中的第i個(gè)元素,判斷是否是結(jié)束標(biāo)志,如果不是,i=i+1,繼續(xù)取下一個(gè)元素進(jìn)行判斷,直到*(str+i)的值為'\\0'為止,也可以用下標(biāo)的方式引用字符,如*(str+i)相當(dāng)于str[i]。
41.B解析:采用結(jié)構(gòu)化編程方法的好處主要在于:一是便于控制、降低程序的復(fù)雜性,因此便于編寫(xiě)程序。二是程序清晰易讀,可理解性好。因此,結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是程序的易讀性,而不是程序的規(guī)模、程序的執(zhí)行效率和程序的可移植性。
42.A根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類(lèi)型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個(gè)條件:1,有且只有一根節(jié)結(jié)點(diǎn),2,每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件,則稱(chēng)該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱(chēng)線性表。所以線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹(shù)是非線性結(jié)構(gòu)。
43.B解析:考查函數(shù)的遞歸調(diào)用。n=0或n=1是遞歸的終止條件,然后利用已知值逐步遞推求出未知值。通過(guò)傳送地址值,在被調(diào)用函數(shù)中直接改變調(diào)用函數(shù)中的變量的值。
44.C解析:在數(shù)據(jù)庫(kù)系統(tǒng)中,由于采用的數(shù)據(jù)模型不同,相應(yīng)的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)也不同。目前常用的數(shù)據(jù)模型有三種:層次模型、網(wǎng)狀模型和關(guān)系模型。在層次模型中,實(shí)體之間的聯(lián)系是用樹(shù)結(jié)構(gòu)來(lái)表示的,其中實(shí)體集(記錄型)是樹(shù)中的結(jié)點(diǎn),而樹(shù)中各結(jié)點(diǎn)之間的連線表示它們之間的關(guān)系。因此,本題的正確答案是C。
45.A解析:本題考查如何通過(guò)地址來(lái)引用數(shù)組元素。通過(guò)地址來(lái)引用數(shù)組元素的方法有下列5種:
①a[i][j];②*(a[i]+j);③*(*(a+i)+j);④*(a[i])[j];⑤*(&a[0][0]+3*i+j)。
46.B解析:在C程序中,字符量可參與任何整數(shù)運(yùn)算。字符參與運(yùn)算時(shí),首先要將字符轉(zhuǎn)換為對(duì)應(yīng)的ASCII碼值再參與整數(shù)運(yùn)算。字符'1'對(duì)應(yīng)的ASCII碼值是49,字符'0'對(duì)應(yīng)的ASCII碼值是48,字符'\\0'是字符串結(jié)束標(biāo)識(shí)符NULL,其對(duì)應(yīng)的ASCII碼值是0。
47.A解析:模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)是概念設(shè)計(jì)的兩種方法。物理設(shè)計(jì)是根據(jù)特定的計(jì)算機(jī)系統(tǒng),對(duì)數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)和存取方法進(jìn)行設(shè)計(jì),從而實(shí)現(xiàn)從邏輯結(jié)構(gòu)到物理結(jié)構(gòu)的轉(zhuǎn)換。從系統(tǒng)開(kāi)發(fā)的角度來(lái)看,結(jié)構(gòu)特性設(shè)計(jì)和行為特性-設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)所具有的兩個(gè)特性。結(jié)構(gòu)特性的設(shè)計(jì),設(shè)計(jì)各級(jí)數(shù)據(jù)庫(kù)模式(靜態(tài)特性):行為特性的設(shè)計(jì),改變實(shí)體及其特性,決定數(shù)據(jù)庫(kù)系統(tǒng)的功能(動(dòng)態(tài)特性)。
48.A
49.C解析:本題考查數(shù)據(jù)庫(kù)的關(guān)系代數(shù)運(yùn)算。R表中只有一個(gè)域名A,有兩個(gè)記錄(也叫元組),分別是m和n;S表中有兩個(gè)域名,分別是B和C,其所對(duì)應(yīng)的記錄分別為1和3。注意觀察表T,它是由R的第一個(gè)記錄依次與S的所有記錄組合,然后再由R的第二個(gè)記錄與S的所有記錄組合,形成的一個(gè)新表。上述運(yùn)算恰恰符合關(guān)系代數(shù)的笛卡兒積運(yùn)算規(guī)則。關(guān)系代數(shù)中,笛卡兒積運(yùn)算用“×”來(lái)表示。因此,上述運(yùn)算可以表示為T(mén)=R×S。因此,本題的正確答案為C。
50.C
51.B
52.C解析:順序查找的最壞情況是所找的元素性表的最后,因此查找的比較次數(shù)是線性表的長(zhǎng)度,即n。
53.B解析:由函數(shù)intfun(int*p){return*p;}的定義可知,返回值為整型指針變量p所指向的數(shù)據(jù)。
54.B解析:對(duì)于第一個(gè)for語(yǔ)句,i從5至1,且對(duì)于第二個(gè)for語(yǔ)句,在i取5至1的某個(gè)值時(shí),j又從0變化至5。
55.D解析:feof函數(shù)的功能是判斷文件指針是否已指到了文件末尾,是則返回非零值,否則返回零;ftell函數(shù)的功能是得到流式文件中文件指針的當(dāng)前位置,用相對(duì)于文件開(kāi)頭的位移量來(lái)表示;fgetc函數(shù)的功能是從指定文件讀人一個(gè)字符;rewind函數(shù)的功能是使文件指針重新返回文件的開(kāi)頭。fseek函數(shù)用于改變文件的位置指針,調(diào)用形式為:fseek(文件類(lèi)型指針,位移量,起始點(diǎn)),“起始點(diǎn)”取值0(SEEK_SET)、1(SEEK_CUR)、2(SEEK_END)分別表示文件開(kāi)始、文件當(dāng)前位置、文件末尾。“位移量”是以“起始點(diǎn)”為基點(diǎn),向前移動(dòng)的字節(jié)數(shù)。函數(shù)fseek(fp,OL,SEEK_SET)的作用是將位置指針移到文件頭,所以選項(xiàng)D)正確。
56.B解析:關(guān)系數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的主要工作是將\ue008E-R\ue009圖轉(zhuǎn)換成指定RDBMS中的關(guān)系模式。首先,從E-R圖到關(guān)系模式的轉(zhuǎn)換是比較直接的,實(shí)體與聯(lián)系都可以表示成關(guān)系,E-R圖中屬性也可以轉(zhuǎn)換成關(guān)系的屬性,實(shí)體集也可以轉(zhuǎn)換成關(guān)系。
57.B解析:本題中,a[1][2]是二維數(shù)組中的第6個(gè)元素,對(duì)應(yīng)for循環(huán)中i的值為5,p[5]=5+1。
58.C解析:面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過(guò)程的方法有本質(zhì)不同。它的基本原理是,使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題。它強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的概念而不強(qiáng)調(diào)算法,它鼓勵(lì)開(kāi)發(fā)者在軟件開(kāi)發(fā)的絕大部分中都用應(yīng)用領(lǐng)域的概念去思考。
59.D
60.C2(n-1)
=2(5-1)=16
61.A標(biāo)識(shí)符由字母、數(shù)字或下劃線組成,并且數(shù)字不能開(kāi)頭,所以答案選擇A)。
62.A\n對(duì)下標(biāo)為偶數(shù)的元素進(jìn)行降序排序,下標(biāo)為奇數(shù)元素保持不變。
\n
63.A算術(shù)運(yùn)算符的優(yōu)先級(jí)高于關(guān)系運(yùn)算符的優(yōu)先級(jí),所以當(dāng)x為大于1的奇數(shù)時(shí),A選項(xiàng)的值為假,即0。B選項(xiàng)的值為不定值,但絕對(duì)不是0。c選項(xiàng)的值為真,即l。D選項(xiàng)的值為真,即l。
64.B
65.B
66.C
67.D
68.D
69.C
70.A本題考查的是通過(guò)指針引用二維數(shù)組元素。通過(guò)一維數(shù)組名或指向一維數(shù)組元素的指針來(lái)引用數(shù)組元素有兩種寫(xiě)法:a[i]和*(a+i),它們是等價(jià)的。這是一種運(yùn)算符之間的等價(jià)轉(zhuǎn)換,就好像a一(b—c)等價(jià)于a-b+c一樣。知道了這種轉(zhuǎn)換,我們可以將之?dāng)U展到二維數(shù)組甚至任意維數(shù)組上來(lái)。因?yàn)榭谶\(yùn)算符的結(jié)合性是從左至右的,所以w[i珩]等價(jià)于(w[i][j],此時(shí)可以先將任意一個(gè)口運(yùn)算符轉(zhuǎn)換為指針形式為(·(w+i))[j]或*(w[i]+j),或者同時(shí)轉(zhuǎn)換為*(*(W+i)+j)。上述幾種形式都完全等價(jià)于w[il[j]。
71.D
72.C注:數(shù)據(jù)項(xiàng)不可再分割
73.B先將整型數(shù)據(jù)9強(qiáng)制轉(zhuǎn)換成double型,然后除以2得到的結(jié)果與double型保持一致,即為4.5,然后將4.5強(qiáng)制轉(zhuǎn)換成整型數(shù)據(jù)4,然后計(jì)算9%2的值為1,最后計(jì)算4一l的值為3,所以選擇B選項(xiàng)。
74.D解析:因?yàn)槎鏄?shù)有左、右子樹(shù)之分,所以有3個(gè)結(jié)點(diǎn)的二叉樹(shù)具有5種不同的形態(tài)。
75.A函數(shù)fgete()從文件讀入一個(gè)字符到指定變量。函數(shù)fputc()將指定字符寫(xiě)入審文件中,函數(shù)fprinff(),fwrite()均是寫(xiě)入文件操作函數(shù)。因此選項(xiàng)B,c。D錯(cuò)誤。答案為A選項(xiàng)。
76.A本題重點(diǎn)考察的是函數(shù)的形參和實(shí)參。I在定義函數(shù)時(shí)函數(shù)名后面括弧中的變量名稱(chēng)為“形式參數(shù)”l(簡(jiǎn)稱(chēng)形參),在主調(diào)函數(shù)中調(diào)用一個(gè)函數(shù)時(shí),函數(shù)名后面括弧1中的參數(shù)(可以是—個(gè)表達(dá)式)稱(chēng)為“實(shí)際參數(shù)”(簡(jiǎn)稱(chēng)實(shí)參)。fC語(yǔ)言規(guī)定,實(shí)參變量對(duì)形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來(lái)給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。因此A選項(xiàng)正確。
77.BC88e常量表達(dá)式只是起語(yǔ)句標(biāo)號(hào)作用,并不是該處進(jìn)行條件判斷。在執(zhí)行switch語(yǔ)句時(shí),根據(jù)switch的表達(dá)式,找到與之匹配的Case語(yǔ)句,就從此case子句執(zhí)行下去,不在進(jìn)行判斷,直到碰到break或函數(shù)結(jié)束為止。所以執(zhí)行內(nèi)層switch(y)時(shí)只執(zhí)行了a++,此時(shí)a的值為1。然后執(zhí)行外層case2語(yǔ)句的a++;b++;a為2,b為1。所以結(jié)果為B。
78.A第一次寫(xiě)入abC,第二次寫(xiě)入28,用字符串形式取出,值為abC28,所以答案選擇A)。
79.C在函數(shù)fun(char*a,char*b)中,while
80.B
81.(1)錯(cuò)誤:#defineF(m,n)(m/n)
正確:#defineF(m,n)(m)/(n)
(2)錯(cuò)誤:Return(s);
正確:return(s);
【解析】程序中函數(shù)的功能是計(jì)算題目中給出的公式值,第一個(gè)標(biāo)識(shí):fun()函數(shù)兩次調(diào)用宏F來(lái)計(jì)算“s=F((a+b),(a-
82.
【解析】首先定義兩個(gè)變量分別用來(lái)存儲(chǔ)級(jí)數(shù)的和與每一項(xiàng)的分母。觀察級(jí)數(shù)的特點(diǎn),其每一項(xiàng)的正負(fù)號(hào)是交替變化的。根據(jù)這些特點(diǎn),每增加一項(xiàng)都需要變換符號(hào)。最后求出級(jí)數(shù)的和。
2022年山東省濰坊市全國(guó)計(jì)算機(jī)等級(jí)考試C語(yǔ)言程序設(shè)計(jì)模擬考試(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.設(shè)有以下程序段:structbook{floatprice;charlanguage;chartitle[20];}rec,*ptr;ptr=&rec;要求輸入字符串給結(jié)構(gòu)體變量rec的title成員,錯(cuò)誤的輸入語(yǔ)句是()。
A.scanf(“%s”,ptr.title);
B.scanf(“%s”,rec.title);
C.scanf(“%s”,(*ptr).title);
D.scanf(“%s”,ptr->title);
2.有1000個(gè)無(wú)序的整數(shù),希望使用最快的方式找出前50個(gè)最大的,最佳的選擇是()
A.冒泡排序B.基數(shù)排序C.堆排序D.快速排序
3.若串S1="ABCDEFG",S2="9898",S3="###",S4="012345",執(zhí)行其結(jié)果為()。A.ABC###G0123B.ABCD###2345C.ABC###G1234D.ABCD###1234
4.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。A.4284B.2870C.2668D.3981
5.下列運(yùn)算符中優(yōu)先級(jí)最高的是()。
A.!B.%C.-=D.&&
6.以下敘述中錯(cuò)誤的是()。
A.向量屬于線性結(jié)構(gòu)B.二叉鏈表是二叉樹(shù)的存儲(chǔ)結(jié)構(gòu)C.棧和隊(duì)列是線性表D.循環(huán)鏈表是循環(huán)隊(duì)列的鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu)
7.下列程序的執(zhí)行結(jié)果是()。#include<stdioh>main{inta,b,c;a=b=2,c=I;c=(a++)-1;printf("%d,0Ad",a,c);c+=-a+++(++b);printf("%d,%d",a,c);)A.3,14,1B.3,14,2C.2,04,1D.2,14,1
8.有定義:“inta=2,b=3,c=4;”,則下列選項(xiàng)中值為0的表達(dá)式是()。A.(!a==1)&&(!b==0)B.(a<b)&&!c‖1C.a&&bD.a||(b+b)&&(c-a)
9.程序流程圖中有箭頭的線段表示的是()。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
10.算法的時(shí)間復(fù)雜度是指A.算法的執(zhí)行時(shí)間B.算法所處理的數(shù)據(jù)量C.算法程序中的語(yǔ)句或指令條數(shù)D.算法在執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)
11.設(shè)abcdef以所給的次序進(jìn)棧,若在進(jìn)棧操作時(shí),允許退棧操作,則下面得不到的序列為()。
A.fedcbaB.bcafedC.dcefbaD.cabdef
12.
13.有以下程序:#include<stdio.h>main(){inta=0,b=0,c=0,d=0;if(a=1)b=1;c=2;elsed=3;printf(“%d,%d,%d,%d\n”,a,b,c,d);}程序輸出為()。
A.編譯有錯(cuò)B.0,0,0,3C.1,1,2,0D.0,1,2,0
14.采用鄰接表存儲(chǔ)的圖的廣度優(yōu)先遍歷算法類(lèi)似于二叉樹(shù)的()。A.A.先序遍歷B.中序遍歷C.后序遍歷D.按層遍歷
15.在m叉樹(shù)中,都為0的結(jié)點(diǎn)稱(chēng)為()。
A.兄弟B.樹(shù)葉C.樹(shù)根D.分支結(jié)點(diǎn)
16.有以下程序:#include<stdio.h>inta=1,b=2:voidfunl(inta,intb){printf("%d%d",a,b);}voidfun2(){a=3;b=4;}main(){funl(5,6);fun2();printf("%d%d\n",a,b);}程序運(yùn)行后的輸出結(jié)果是()。A.1256B.5634C.5612D.3456
17.
18.數(shù)據(jù)結(jié)構(gòu)主要研究的是數(shù)據(jù)的邏輯結(jié)構(gòu)、數(shù)據(jù)的運(yùn)算和()。A.數(shù)據(jù)的方法B.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)C.數(shù)據(jù)的對(duì)象D.數(shù)據(jù)的邏輯存儲(chǔ)
19.十進(jìn)制數(shù)124轉(zhuǎn)換成二進(jìn)制數(shù)是()
A.111l010B.1111100C.1011111D.1111011
20.每次從無(wú)序表中取出一個(gè)元素,把它插入到有序表中的適當(dāng)位置,此種排序方法叫做()排序。
A.插入B.堆C.快速D.歸并排序
二、2.填空題(20題)21.下列程序執(zhí)行后輸出的結(jié)果是【】。
f(inta)
{staticc=0;
c=a+c++;
return(c);
}
main()
{inta=2,i,k;
for(i=0;i<2;i++)
k=f(a++);
prinf("%d\n",k);
}
22.以下程序運(yùn)行后的輸出結(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");
}
23.性表的多種存儲(chǔ)結(jié)構(gòu)中,最簡(jiǎn)單的方法是【】。
24.已知字母A的ASCⅡ碼為65。以下程序運(yùn)行后的輸出結(jié)果是()。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,B);
}
25.數(shù)據(jù)庫(kù)系統(tǒng)在其內(nèi)部分為三級(jí)模式,即概念模式、內(nèi)模式和外模式。其中,______給出了數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法。
26.以下程序的輸出是【】。
main()
{
charstr1[]="Howdoyoudo",*p1=str1;
strcpy(str1+strlen(str1)/2,"esshe");
printf("%s\n",p1);
}
27.以下程序中函數(shù)f的功能是在數(shù)組x的n個(gè)數(shù)(假定n個(gè)數(shù)互不相同)中找出最大最小數(shù),將其中最小的數(shù)與第一個(gè)數(shù)對(duì)換,把最大的數(shù)與最后一個(gè)數(shù)對(duì)換。請(qǐng)?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
28.下列程序的運(yùn)行結(jié)果是______。
main()
{ints=0,i=1;
while(s<=10)
{s=s+i*i;
i++;
}
printf("%d",-i);
}
29.下列程序運(yùn)行后的輸出的結(jié)果是______。
#include<stdio.h>
main()
{chars[20];
scanf("%s",s);
printf("%s",s);
}
運(yùn)行程序,輸入HOWAREYOU。
30.數(shù)據(jù)庫(kù)系統(tǒng)其內(nèi)部分為三級(jí)模式,即概念模式、內(nèi)模式和外模式。其中,______是用戶(hù)的數(shù)據(jù)視圖,也就是用戶(hù)所見(jiàn)到的數(shù)據(jù)模式。
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.以下程序中函數(shù)fun的功能是:構(gòu)成一個(gè)如圖所示的帶頭結(jié)點(diǎn)的單向鏈表,在結(jié)點(diǎn)的數(shù)據(jù)域中放入了具有兩個(gè)字符的字符串。函數(shù)disp的功能是顯示輸出該單鏈表中所有結(jié)點(diǎn)中的字符串。請(qǐng)?zhí)羁胀瓿珊瘮?shù)disp。
#include<stdio.h>
typedefstructnode/*鏈表結(jié)點(diǎn)結(jié)構(gòu)*/
{charsub[3];
structnode*next;
}Node;
Nodefun(chars)/*建立鏈表*/
{……}
voiddisp(Node*h)
{Node*p;
p=h->next;
while(【】)
{printf("%s\n",P->sub);p=【】;}
}
main()
{Node*hd;
hd=fun();disp(hd);printf("\n");
}
33.關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)能實(shí)現(xiàn)的專(zhuān)門(mén)關(guān)系運(yùn)算包括選擇、連接和【】。
34.有以下程序:
voidf(int*x,iht*y)
{intt;
t=*x;*x;=*y;*y=t;
}
main()
{inta[8]={1,2,3,4,5,6,7,8},i,*p,*q;
p=a;q=&a[7];
while(p)
{f(p,q);p++;q--;}
for(i=0;i<8;i++)printf("%d,",a[i]);
}
程序運(yùn)行后的輸出結(jié)果是【】。
35.要求使下列程序輸出5個(gè)整數(shù),請(qǐng)?zhí)羁铡?/p>
for(i=0;i<=______;printf("%d\n",i+=2));
36.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
main()
{structstru
{inta;
floatb;
chard[4];
};
printf("%d\n",sizeof(structstru));}
37.在鏈表的運(yùn)算過(guò)程中,能夠使空表與非空表的運(yùn)算統(tǒng)一的結(jié)構(gòu)是______。
38.在程序設(shè)計(jì)階段應(yīng)該采取【】和逐步求精的方法,把一個(gè)模塊的功能逐步分解,細(xì)化為一系列具體的步驟,進(jìn)而用某種程序設(shè)計(jì)語(yǔ)言寫(xiě)成程序。
39.軟件工程研究的內(nèi)容主要包括:【】技術(shù)和軟件工程管理。
40.mystrlen函數(shù)的功能是計(jì)算str所指字符串的長(zhǎng)度,并作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>
intmystrlen(char*str)
{inti;
for(i=0;【】!='\0';i++);
return(i);}
三、1.選擇題(20題)41.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是______。
A.程序的規(guī)模B.程序的易讀性C.程序的執(zhí)行效率D.程序的可移植性
42.下列敘述中正確的是A.線性表是線性結(jié)構(gòu)B.棧與隊(duì)列是非線性結(jié)構(gòu)C.線性鏈表是非線性結(jié)構(gòu)D.二叉樹(shù)是線性結(jié)構(gòu)
43.以下程序的輸出結(jié)果是
#include<stdio.h>
intfun(intn,int*s)
{intf1,f2;
if(n==0||n==1)
*s=1;
else
{fun(n-1,&f1);
fun(n-2,&f2);
*s=f1+f2;
}}
voidmain()
{intx;
fun(6,&x);
printf("\n%d",x);}
A.7B.13C.9D.10
44.用樹(shù)形結(jié)構(gòu)表示實(shí)體之間聯(lián)系的模型的是
A.關(guān)系模型B.網(wǎng)狀模型C.層次模型D.以上三個(gè)都是
45.若有定義:“inta[2][3];”,則對(duì)a數(shù)組的第i行第j列元素的正確引用為()。
A.*(*(a+i)+j)B.(a+i)[j]C.*(a+i+j)D.*(a+i)+j
46.下列選項(xiàng)中,值為1的表達(dá)式是()。
A.1-'0'B.1-'\0'C.'1'-0D.'\0'-'0'
47.數(shù)據(jù)庫(kù)設(shè)計(jì)包括兩個(gè)方面的設(shè)計(jì)內(nèi)容,它們是()
A.概念設(shè)計(jì)和邏輯設(shè)計(jì)B.模式設(shè)計(jì)和內(nèi)模式設(shè)計(jì)C.內(nèi)模式設(shè)計(jì)和物理設(shè)計(jì)D.結(jié)構(gòu)特性設(shè)計(jì)和行為特性設(shè)計(jì)
48.以下程序段的while循環(huán)執(zhí)行的次數(shù)是______。intk=0;while(k=1)k++;
A.無(wú)限次B.有語(yǔ)法錯(cuò),不能執(zhí)行C.一次也不執(zhí)行D.執(zhí)行1次
49.設(shè)有如下三個(gè)關(guān)系表:
下列操作中正確的是()。
A.T=R∩SB.T=R∪SC.T=R×SD.T=R/S
50.變量a已被定義為整型,下列表達(dá)式有錯(cuò)的是
A.a='A'+20B.a-='a'C.a=c+dD.a='c'+'d'
51.在下列敘述中,錯(cuò)誤的一條是()
A.關(guān)系表達(dá)式的值是一個(gè)邏輯值,即“真”或“假”,可賦給一個(gè)邏輯變量
B.數(shù)組必須先定義后使用,且只能逐個(gè)引用數(shù)組元素,不能一次引用整個(gè)數(shù)組
C.在C語(yǔ)言中,判斷一個(gè)量是否為“真”時(shí),用。代表“假”,1代表“真”
D.將字符串常量賦給字符數(shù)組時(shí),必須在字符串后加飛'\0',表示字符結(jié)束
52.對(duì)長(zhǎng)度為n的線性表進(jìn)行順序查找,在最壞的情況下所需要的比較次數(shù)為_(kāi)_____。
A.log2nB.n/2C.nD.n+l
53.已定義下列函數(shù):intfun(int*p){return*p;)fun函數(shù)返回值是()。
A.不確定的值B.一個(gè)整數(shù)C.形參p中存放的值D.形參p的地址值
54.若i和j已定義為int類(lèi)型,則以下程序段中內(nèi)循環(huán)體總的執(zhí)行次數(shù)是______。for(i=5;i;i--)for(j=0;j<5;j++){...}
A.20B.25C.24D.30
55.以下與函數(shù)fseek(fp,OL,SEEK_SET)有相同作用的是______。A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)
56.將E-R圖轉(zhuǎn)換到關(guān)系模式時(shí),實(shí)體與聯(lián)系都可以表示成________。
A.屬性B.關(guān)系C.鍵D.域
57.下列程序執(zhí)行后的輸出結(jié)果是main(){inta[3][3],*p,i;p=&a[0][0];for(i=1;i<9;i++)p[i]=i+1;printf("%d\n",a[1][2]);}
A.3B.6C.9D.隨機(jī)數(shù)
58.面向?qū)ο蟮脑O(shè)計(jì)方法與傳統(tǒng)的面向過(guò)程的方法有本質(zhì)不同,它的基本原理是()。
A.模擬現(xiàn)實(shí)世界中不同事物之間的聯(lián)系
B.強(qiáng)調(diào)模擬現(xiàn)實(shí)世界中的算法而不強(qiáng)調(diào)概念
C.使用現(xiàn)實(shí)世界的概念抽象地思考問(wèn)題從而自然地解決問(wèn)題
D.鼓勵(lì)開(kāi)發(fā)者在軟件開(kāi)發(fā)的絕大部分中都用實(shí)際領(lǐng)域的概念去思考
59.在下列敘述中,正確的一條是()
A.語(yǔ)句int*pt中的*pt是指針變量名
B.語(yǔ)句"int*p=a;"等價(jià)于"int*p;p=&a[0];”
C.運(yùn)算符*和&都是取變量地址的運(yùn)算符
D.已知指針變量p指向變量a,則&a和*p值相同,都是變量a的值
60.在深度為5的滿二叉樹(shù)中,葉子結(jié)點(diǎn)的個(gè)數(shù)為A.32B.31C.16D.15
四、選擇題(20題)61.以下選項(xiàng)中合法的標(biāo)識(shí)符是()。
62.有以下程序(函數(shù)fun只對(duì)下標(biāo)為偶數(shù)的元素進(jìn)行操作):
#include<stdio.h>
voidfun(int*a。intn)
{inti,j,k,t;
for(i=0;i<n-1;i+=2)
{k=i;
for(j=i;j<n;j+=2)if(a[j]>a[k])k=j;
t[a[i];a[i]=a[k];a[k]=t;
}
}
main
{intaa[lO]=[1,2,3,4,5,6,7],a;
fun(aa,7);
for(i=0;i<7;i++)printf("%d,",aa[i]);
printf("n");
}
程序運(yùn)行后的輸出結(jié)果是()。
A.7,2,5,4,3,6,1,
B.1,6,3,4,5,2,7,
C.7,6,5,4,3,2,1,
D.1,7,3,5,6,2,1,
63.以下選項(xiàng)中,當(dāng)x為大于1的奇數(shù)時(shí),值為0的表達(dá)式是()。
A.x%2==0B.x/2C.x%21=0D.x%2==1
64.
65.
66.
67.
68.
69.(72)n個(gè)頂點(diǎn)的強(qiáng)連通圖的邊數(shù)至少有______。
A.n-1
B.n(n-1)
C.n
D.n+1
70.若有定義:則以下不能正確表示該數(shù)組元素的表達(dá)式是()。
71.
72.(67)數(shù)據(jù)處理的最小單位是()
A.數(shù)據(jù)
B.數(shù)據(jù)元素
C.數(shù)據(jù)項(xiàng)
D.數(shù)據(jù)結(jié)構(gòu)
73.表達(dá)式:(im)((double)9/2)一9%2的值是()。
A.0B.3C.4D.5
74.具有3個(gè)結(jié)點(diǎn)的二叉樹(shù)有
A.2種形態(tài)B.4種形態(tài)C.7種形態(tài)D.5種形態(tài)
75.若文件指針fp已正確指向文件,ch為字符型變量,以下不能把字符輸出到文件中的語(yǔ)句是()。
A.fget(f0,ch);
B.foutc(ch,fo);
C.fprinff(fp,”%c”,ch);
D.fwrite(&ch,sizeof(ch),1,fp);
76.若函數(shù)調(diào)用時(shí)的實(shí)參為變量時(shí),以下關(guān)于函數(shù)形參和實(shí)參的敘述中正確的是()。
A.函數(shù)的形參和實(shí)參分別占用不同的存儲(chǔ)單元
B.形參只是形式上的存在,不占用具體存儲(chǔ)單元
C.同名的實(shí)參和形參占同一存儲(chǔ)單元
D.函數(shù)的實(shí)參和其對(duì)應(yīng)的形參共占同一存儲(chǔ)單元
77.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.a=2,b=2B.a=2,b=1C.a=1,b=1D.a=1,b=0
78.有以下程序程序運(yùn)行后的輸出結(jié)果是()。
A.abc28B.28cC.abcD.因類(lèi)型不一致而出錯(cuò)
79.有以下程序:
程序的運(yùn)行結(jié)果是()。
A.*****a*bB.a*bC.a*b****D.ab
80.
五、程序改錯(cuò)題(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í),函數(shù)值為2.O0。注意:不要改動(dòng)main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編寫(xiě)函數(shù)proc(),它的功能是計(jì)算下列級(jí)數(shù)和,和值由函數(shù)值返回。sum=1-x+x2/2!-x3/31+…+(-l*x)n/n!例如,當(dāng)n=23,x=0.3時(shí),函數(shù)值為0.740818。注意:部分源程序給出如下。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填人所編寫(xiě)的若干語(yǔ)句。試題程序:
參考答案
1.A運(yùn)算符“->”適用指針訪問(wèn)成員變量,運(yùn)算符“.”適用普通變量訪問(wèn)成員變量。ptr是指針,只能用“->”,因此選項(xiàng)A錯(cuò)誤。選項(xiàng)B中,rec.title代表數(shù)組title,選項(xiàng)B正確,同理選項(xiàng)C正確?!?ptr”是結(jié)構(gòu)體變量rec,可以使用運(yùn)算,因此選項(xiàng)D正確。故本題答案為A選項(xiàng)。
2.D
3.D
4.Bfor循環(huán)中,i取值為1~100。循環(huán)體中,3個(gè)if語(yǔ)句必須同時(shí)滿足才會(huì)輸出x,輸出的x取值為i+3,所以x的取值只能是4到103。x必須滿足以下條件:①x%7==0(x必須是7的倍數(shù));②(x-1)%3==0(x必須是3的倍數(shù)+1);③(x-2)%2==0(x必須是2的倍數(shù))。滿足條件③的x取值為7,14,21,28,35,42,49,56,63,70,77,84,91,98;又滿足條件②的x的取值為7,28,49,70,91;又滿足條件①的x的取值為28,70。本題答案為B選項(xiàng)。
5.A
6.D循環(huán)鏈表是線性表的一種鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),循環(huán)隊(duì)列是隊(duì)列的一種順序存儲(chǔ)結(jié)構(gòu)。因此D選項(xiàng)敘述錯(cuò)誤。本題答案為D選項(xiàng)。
7.A本題主要考查自加減運(yùn)算符(++,--)的使用。①如果作為前綴變量“++a,--a”,在使用a之前,先使a的值加1或者減1,再使用表達(dá)式的值參與運(yùn)算;②后綴變量“a++,a--”,先使用表達(dá)式的值參與運(yùn)算,在使用a之后,再使i的值加1或者減1。在本題中計(jì)算表達(dá)式c=(a++)-1時(shí)先使用a的值進(jìn)行計(jì)算,結(jié)果為c=2-1=1,然后將a的值加1,即執(zhí)行完此句后l3-的值是3;表達(dá)式c+=-a+++(++b)也可寫(xiě)成C=c+(一a++)+(++b),c=1+(一3)+3=1,此時(shí)a=4,b=3。
8.A本題考查邏輯與運(yùn)算“&&”與邏輯或運(yùn)算“||”。在選項(xiàng)A中,因?yàn)?a=0,所以關(guān)系表達(dá)式!a=1為0,又因?yàn)檫壿嬇c運(yùn)算符“&&”兩邊的表達(dá)式只要一個(gè)等于零,則整個(gè)表達(dá)式為零,所以選項(xiàng)A正確。在選項(xiàng)8中,關(guān)系表達(dá)式a<b為真,表達(dá)式(a<b)&&!C為假,而表達(dá)式(a<b)&&!||1為真,所以整個(gè)表達(dá)式的值為真。選項(xiàng)C中,a&&b的結(jié)果為真。在選項(xiàng)D中,a||(b+b)&&(C-a)的結(jié)果為真。
9.C解析:程序流程圖是軟件過(guò)程設(shè)計(jì)中常用的圖形描述工具之一。構(gòu)成程序流程圖的最基本符號(hào)有:→或↓,表示控制流;□表示加工步驟;
表示邏輯條件。
10.DD?!窘馕觥克惴ǖ臅r(shí)間復(fù)雜度是指算法需要消耗的時(shí)間資源。一般來(lái)說(shuō),計(jì)算機(jī)算法是問(wèn)題規(guī)模。09函數(shù)fin),算法的時(shí)間復(fù)雜度也因此記做T(n)=O(f(n))。因此,問(wèn)題的規(guī)模n越大,算法執(zhí)行的時(shí)間的增長(zhǎng)率與f(n)的增長(zhǎng)率正相關(guān),稱(chēng)作漸進(jìn)時(shí)間復(fù)雜度(AsymptoticTimeComplexity)。簡(jiǎn)單來(lái)說(shuō)就是算法在執(zhí)行過(guò)程中所需要的基本運(yùn)算次數(shù)。
11.D
12.C
13.AC語(yǔ)言中規(guī)定else總是和之前與其最近的且不帶else的if配對(duì)。題目中,“if(a=1)b=1;c=2;”默認(rèn)省略了else,導(dǎo)致下一句else沒(méi)有匹配語(yǔ)句。故本題答案為A選項(xiàng)。
14.D
15.B
16.BFunl是輸出局部變量的值,fun2是把全局變量的值改成3和4,所以輸出的結(jié)果是5634。
17.A
18.B詳細(xì)解答:
數(shù)據(jù)結(jié)構(gòu)是研究數(shù)據(jù)元素及其之間的相互關(guān)系和數(shù)據(jù)運(yùn)算的一門(mén)學(xué)科,它包含3個(gè)方面的內(nèi)容,即數(shù)據(jù)的邏輯結(jié)構(gòu)、存儲(chǔ)結(jié)構(gòu)和數(shù)據(jù)的運(yùn)算。
19.B
20.A
21.77解析:在程序執(zhí)行時(shí),static變量?jī)H初始化一次,下次使用時(shí)將使用上次保存的值。
22.1343113431解析:初始化時(shí),指針p指向m[0]的地址,指針q指向m[4]的地址,p!=q滿足循環(huán)條件,執(zhí)行循環(huán)語(yǔ)句,得到m[0].k=1,m[4].k=1,此時(shí)i=2,指針p指向m[1]的地址,指針q指向m[3]的地址,p!=q滿足循環(huán)條件,執(zhí)行循環(huán)語(yǔ)句,得到m[1].k=3,k=3,此時(shí)i=4,指針q指向m[2]的地址,p==q不滿足循環(huán)條件,則退出循環(huán),m[2].k=4。所以最后輸出為13431。
23.順序存儲(chǔ)順序存儲(chǔ)
24.67G67G解析:根據(jù)題意,a=‘A’+‘5’-‘3’=65+2=67,b=67+4=71,71即為字母G的ASCⅡ碼值。程序要求按十進(jìn)制形式輸出a,按字符形式輸出b,所以結(jié)果為67G。
25.內(nèi)模式內(nèi)模式解析:內(nèi)模式又稱(chēng)為物理模式,它給出?數(shù)據(jù)庫(kù)物理存儲(chǔ)結(jié)構(gòu)與物理存取方法。
26.HowdoessheHowdoesshe解析:strcpy(str1,s1);字符串拷貝函數(shù),作用是將字符串s1拷貝到字符數(shù)組strl中去。strlen(str):測(cè)試字符串str的長(zhǎng)度,函數(shù)的值為字符串中實(shí)際長(zhǎng)度,不包括\'\\0\'在內(nèi)。本題中strlen(str1)的值為13,則strcpy(strl+strlen(strl)/2,'esshe');相當(dāng)于strcpy(strl+6,'esshe');,因此可得答案為Howdoesshe
27.函數(shù)f()通過(guò)for循環(huán)逐個(gè)比較數(shù)組x中的元素,循環(huán)結(jié)束后,p0和p1分別表示最大值和最小值在數(shù)組中的下標(biāo)位置,然后按照題意將最大值x[p0]和數(shù)組的最后一個(gè)元素x[n-1)交換位置,再將最小值x[p1]和第一個(gè)元素(x[0])進(jìn)行交換,所以空白處應(yīng)該填入x[0]。\r\n\r\n
28.33解析:分析程序運(yùn)行過(guò)程,第1次循環(huán):s=s+i*i=0+1*1=1,i=2;第2次循環(huán):s=s+i*i=1+2*2=5,i=3;第3次循環(huán):s=s+i*i=5+3*3=14,i=4;循環(huán)條件不成立輸出i,--i使i的值減1,軸出結(jié)果為3。
29.HOWHOW解析:在scanf()函數(shù)中,使用空格作為分隔符,如果輸入含有空格的字符串,則不能使用scanf()函數(shù),所以本題中輸入空格就返回了'\\0',s數(shù)組也就確定了,后面的輸入就不再讀入數(shù)組s中。
30.外模式外模式解析:數(shù)據(jù)庫(kù)系統(tǒng)的三級(jí)模式分別是內(nèi)模式、概念模式和外模式。其中,物理模式給出了數(shù)據(jù)庫(kù)的物理存儲(chǔ)結(jié)構(gòu)和存取方法;概念模式是數(shù)據(jù)庫(kù)系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述;外模式是用戶(hù)的數(shù)據(jù)視圖,也就是用戶(hù)所見(jiàn)到的數(shù)據(jù)模式。
31.3691236912解析:本題考查最基本的for循環(huán):for(cc=1;cc<5;cc++)規(guī)定循環(huán)次數(shù)為4次,每次a+=3即每次a的值增3,但因?yàn)閒un函數(shù)中變量a為static類(lèi)型,所以每次調(diào)用完于函數(shù)之后,變量a所做的改變都要保存。
32.p!=NULLp->nextp!=NULL,p->next解析:考查了單鏈表的相關(guān)知識(shí)。NULL的ASCII碼的值和'\\0'的ASCII碼的值相等,條件到NULL停止循環(huán)。把下一個(gè)節(jié)點(diǎn)的地址賦給p,這樣循環(huán),節(jié)點(diǎn)可以依次向后取值。
33.投影專(zhuān)門(mén)關(guān)系運(yùn)算包括對(duì)單個(gè)關(guān)系進(jìn)行垂直分解(投影操作)或水平分解(選擇操作)和對(duì)多個(gè)關(guān)系的結(jié)合(連接操作)等。
34.876543218,7,6,5,4,3,2,1解析:函數(shù)f是將x、y指針的內(nèi)容互換,整個(gè)while循環(huán)是將a[0]與a[7]互換,a[2]與a[5]互換,a[3]與a[4]互換。
35.88解析:本題考查基本的for循環(huán)條件,i+=2表示i每次遞增2,從0開(kāi)始,輸出5個(gè)整數(shù)則需要的條件是i<=8。
36.14
37.循環(huán)鏈表循環(huán)鏈表解析:在循環(huán)鏈表中,由于設(shè)置了一個(gè)頭結(jié)點(diǎn),因此在任何情況下,循環(huán)鏈表中至少有一個(gè)結(jié)點(diǎn)存在,從而使空表與非空表的運(yùn)算統(tǒng)一。
38.自頂而下自頂而下
39.軟件開(kāi)發(fā)
40.*(str+i)或str[i]*(str+i)或str[i]解析:str是指針變量,它指向字符型數(shù)據(jù),在循環(huán)過(guò)程中,可以用*(str+i)來(lái)訪問(wèn)字符串中的第i個(gè)元素,判斷是否是結(jié)束標(biāo)志,如果不是,i=i+1,繼續(xù)取下一個(gè)元素進(jìn)行判斷,直到*(str+i)的值為'\\0'為止,也可以用下標(biāo)的方式引用字符,如*(str+i)相當(dāng)于str[i]。
41.B解析:采用結(jié)構(gòu)化編程方法的好處主要在于:一是便于控制、降低程序的復(fù)雜性,因此便于編寫(xiě)程序。二是程序清晰易讀,可理解性好。因此,結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是程序的易讀性,而不是程序的規(guī)模、程序的執(zhí)行效率和程序的可移植性。
42.A根據(jù)數(shù)據(jù)結(jié)構(gòu)中各數(shù)據(jù)元素之間前后件關(guān)系的復(fù)雜程度,一般將數(shù)據(jù)結(jié)構(gòu)分為兩大類(lèi)型:線性結(jié)構(gòu)與非線性結(jié)構(gòu)。如果一個(gè)非空的數(shù)據(jù)結(jié)構(gòu)滿足下列兩個(gè)條件:1,有且只有一根節(jié)結(jié)點(diǎn),2,每一個(gè)結(jié)點(diǎn)最多有一個(gè)前件,也最多有一個(gè)后件,則稱(chēng)該數(shù)據(jù)結(jié)構(gòu)為線性結(jié)構(gòu),又稱(chēng)線性表。所以線性表、棧與隊(duì)列、線性鏈表都是線性結(jié)構(gòu),而二叉樹(shù)是非線性結(jié)構(gòu)。
43.B解析:考查函數(shù)的遞歸調(diào)用。n=0或n=1是遞歸的終止條件,然后利用已知值逐步遞推求出未知值。通過(guò)傳送地址值,在被調(diào)用函數(shù)中直接改變調(diào)用函數(shù)中的變量的值。
44.C解析:在數(shù)據(jù)庫(kù)系統(tǒng)中,由于采用的數(shù)據(jù)模型不同,相應(yīng)的數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS)也不同。目前常用的數(shù)據(jù)模型有三種:層次模型、網(wǎng)狀模型和關(guān)系模型。在層次模型中,實(shí)體之間的聯(lián)系是用樹(shù)結(jié)構(gòu)來(lái)表示的,其中實(shí)體集(記錄型)是樹(shù)中的結(jié)點(diǎn),而樹(shù)中各結(jié)點(diǎn)之間的連線表示它們之間的關(guān)系。因
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年行政合同簽訂及管理中行政優(yōu)先權(quán)的法律適用與案例分析3篇
- 二零二五年護(hù)士夜班及加班補(bǔ)貼合同范本3篇
- 二零二五年度勞動(dòng)合同變更及培訓(xùn)補(bǔ)償協(xié)議3篇
- 二零二五版危險(xiǎn)品車(chē)輛承運(yùn)合同承運(yùn)合同及運(yùn)輸安全協(xié)議2篇
- 二零二五年離婚房產(chǎn)評(píng)估合同
- 2025年度龍門(mén)吊設(shè)備維修保養(yǎng)及備件供應(yīng)合同4篇
- 二零二五年度旅游線路規(guī)劃與推廣合同4篇
- 二零二五年度駕校教練員智能駕駛技術(shù)培訓(xùn)聘用合同3篇
- 2025年物業(yè)服務(wù)質(zhì)量評(píng)價(jià)與考核合同模板3篇
- 2025年消防應(yīng)急疏散指示系統(tǒng)維保合同范本
- 2024年水利工程高級(jí)工程師理論考試題庫(kù)(濃縮400題)
- 淋巴瘤病理診斷基礎(chǔ)和進(jìn)展周小鴿
- 增強(qiáng)現(xiàn)實(shí)技術(shù)在藝術(shù)教育中的應(yīng)用
- TD/T 1060-2021 自然資源分等定級(jí)通則(正式版)
- 《創(chuàng)傷失血性休克中國(guó)急診專(zhuān)家共識(shí)(2023)》解讀
- 倉(cāng)庫(kù)智能化建設(shè)方案
- 海外市場(chǎng)開(kāi)拓計(jì)劃
- 供應(yīng)鏈組織架構(gòu)與職能設(shè)置
- 幼兒數(shù)學(xué)益智圖形連線題100題(含完整答案)
- 七上-動(dòng)點(diǎn)、動(dòng)角問(wèn)題12道好題-解析
- 2024年九省聯(lián)考新高考 數(shù)學(xué)試卷(含答案解析)
評(píng)論
0/150
提交評(píng)論