版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022年江西省景德鎮(zhèn)市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(20題)1.下面哪種排序算法是穩(wěn)定的()
A.快速排序B.堆排序C.歸并排序D.選擇排序
2.以下敘述中正確的是()。
A.C語言函數(shù)可以嵌套調(diào)用,例如:fim(fun(X))
B.C語言程序是由過程和函數(shù)組成的
C.C語言函數(shù)不可以單獨(dú)編譯
D.C語言中除了main函數(shù)外,其他函數(shù)不可作為單獨(dú)文件形式存在
3.已知a,b均被定義為double型,則表達(dá)式:b=1,a=b+5/2的值為()。
A.1B.3C.3.0D.3.5
4.
5.有以下程序:#includeMain(){Int?x=1.y=0;if(!x)y++;elsef(x==0)if(x)y+=2;else?y+=3;printf("%d\n",y);\}程序運(yùn)行后的輸出結(jié)果是()。A.3B.2C.1D.0
6.下面關(guān)于求關(guān)鍵路徑的說法不正確的是()。
A.求關(guān)鍵路徑是以拓?fù)渑判驗(yàn)榛A(chǔ)的
B.一個(gè)事件的最早開始時(shí)間同以該事件為尾的弧的活動(dòng)最早開始時(shí)間相同
C.一個(gè)事件的最遲開始時(shí)間為以該事件為尾的弧的活動(dòng)最遲開始時(shí)間與該活動(dòng)的持續(xù)時(shí)間的差
D.關(guān)鍵活動(dòng)一定位于關(guān)鍵路徑上
7.設(shè)有定義“intk=0;”,以下選項(xiàng)的4個(gè)表達(dá)式中與其他3個(gè)表達(dá)式的值不相同的是()。
A.++kB.k+=1C.k++D.k+1
8.表達(dá)式“(int)((double)9/2)-9%2”的值是()。
A.0B.3C.4D.5
9.有種數(shù)據(jù)結(jié)構(gòu)叫跳躍列表(SkipList),它是一種基于并聯(lián)的鏈表的隨機(jī)化數(shù)據(jù)結(jié)構(gòu),其效率可比擬于二叉查找樹(對(duì)于大于數(shù)操作需要O(logn)平均時(shí)間)。它是按層建造的。底層是一個(gè)普通的有序鏈表。每個(gè)更高層都充當(dāng)下面列表的“快速跑道”,這里在層i中的元素按概率l/p出現(xiàn)在層i+1中。平均起來,每個(gè)元素都在p/(p-1)個(gè)列表中出現(xiàn),而最高層的元素(通常是在跳躍列表前段的一個(gè)特殊的頭元素)在O(logpn)個(gè)列表中出現(xiàn)。調(diào)節(jié)p的大小可以在內(nèi)存消耗和時(shí)間消耗上進(jìn)行折中。試分析在該數(shù)據(jù)結(jié)構(gòu)中查找一個(gè)元素的平均時(shí)間復(fù)雜度。
A.O(logn)B.O(n)C.O(n*logn)D.以上都不正確
10.下列選項(xiàng)中非法的字符常量是()。
A.'\t'B.'\039'C.','D.'\n'
11.
12.設(shè)有定義的語句:“charc1=92,c2=92;”,則以下表達(dá)式中的值為零的是()。
A.c1^c2B.c1&c2C.~c2D.c1|c2
13.二維數(shù)組A的元素都是6個(gè)字符組成的串,行下標(biāo)i的范圍從0到8,列下標(biāo)j的范圈從1到10,則存放A至少需要()個(gè)字節(jié)。
A.90B.180C.240D.270
14.以下敘述中正確的是______。
A.C語言比其他語言高級(jí)
B.C語言可以刁;用編譯就能被計(jì)算機(jī)識(shí)別執(zhí)行
C.C語言以接近英語國家的自然語言和數(shù)學(xué)語言作為語言的表達(dá)形式
D.C語言出現(xiàn)的最晚,具有其他語言的一切優(yōu)點(diǎn)
15.下列說法錯(cuò)誤的是______。
A.關(guān)系中每一個(gè)屬性對(duì)應(yīng)一個(gè)值域
B.關(guān)系中不同的屬性可對(duì)應(yīng)同一值域
C.對(duì)應(yīng)同一值域的屬性為不同的屬性
D.DOM(A)表示屬性A的取值范圍
16.設(shè)棧S的初始狀態(tài)為空,棧的容量為5,若入棧元素的順序是e1、e2、e3、e4、e5,則出棧元素的順序不可能是______。
A.e1、e2、e3、e4、e5
B.e5、e4、e3、e2、e1
C.e2、e4、e3、e5、e1
D.e3、e4、e1、e2、e5
17.下列程序的輸出的結(jié)果是()。main{doubled=3.2;intx,Y;x=1.2;v=(x+3.8)/5.0;printf("%d\n",d*y);}A.3B.3.2C.0D.3.07
18.
19.如果一個(gè)函數(shù)位于C程序文件的上部,在該函數(shù)體內(nèi)說明語句后的復(fù)合語句中定義了一個(gè)變量,則該變量().
A.為全局變量,在本程序文件范圍內(nèi)有效
B.為局部變量,只在該函數(shù)內(nèi)有效
C.為局部變量,只在該復(fù)合語句中有效
D.定義無效,為非法變量
20.已知廣義表LS=((a,b,c),(d,e,f)),運(yùn)用head和tail函數(shù)取出LS中原子e的運(yùn)算是()。
A.head(tail(LS))
B.tail(head(LS))
C.head(tail(head(tail(LS)))
D.head(tail(tail(head(LS))))
二、2.填空題(20題)21.數(shù)據(jù)結(jié)構(gòu)分為邏輯結(jié)構(gòu)與存儲(chǔ)結(jié)構(gòu),線性鏈表屬于【】。
22.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
chara[]="Language",b[]="Programe";
char,p1,*p2;
intk;
p1=a,p2=b;
for(k=0;k<=7;k++)
if*(p1+k)==*(p2+k))printf("%c",*(p1+k));
}
23.實(shí)體之間的聯(lián)系可以歸結(jié)為一對(duì)一的聯(lián)系,一對(duì)多的聯(lián)系與多對(duì)多的聯(lián)系。如果一個(gè)學(xué)校有許多學(xué)生,而一個(gè)學(xué)生只屬于一個(gè)學(xué)校,則實(shí)體集學(xué)校與實(shí)體集學(xué)生之間的聯(lián)系屬于【】的聯(lián)系。
24.下列程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{intx=1,y=1,a=1,b=1;
switch(x)
{case1:
switch(y)
{case0:a++;break;
case1:b++;break;
}
case2:
a++;b++;break;
}
printf("a=%d,b=%d\n",a,B);
}
25.數(shù)據(jù)結(jié)構(gòu)分為線性結(jié)構(gòu)和非線性結(jié)構(gòu),線性表、棧和隊(duì)列都屬于【】。
26.數(shù)據(jù)管理技術(shù)發(fā)展過程經(jīng)過人工管理、文件系統(tǒng)和數(shù)據(jù)庫系統(tǒng)三個(gè)階段,其中數(shù)據(jù)獨(dú)立性最高的階段是______。
27.以下程序中函數(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");
}
28.軟件生命周期分為軟件定義期、軟件開發(fā)期和軟件維護(hù)期,詳細(xì)設(shè)計(jì)屬于______中的一個(gè)階段。
29.數(shù)據(jù)流圖有兩種典型的結(jié)構(gòu)形式,它們分別是變換型和【】。
30.下列程序的輸出結(jié)果是______。
main()
{inta=2,b=4,c=6;
int*p1=&a,*p2,&b,*p;
*(p=&c)=*p1*(*p2);
printf("%d\n",c);
}
31.若下面程序的輸出結(jié)果是4,請(qǐng)?zhí)羁铡?/p>
main()
{inti,j,k;
k=0;i=j=【】;
k+=-(i+j);printf("%d\n",k);
}
32.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
voidswap(int*a,int*b)
{int*t;
t=a;a=b;b=t;
}
main()
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf("%d%d\N,*p,*q))
}
33.符合結(jié)構(gòu)化原則的三種基本控制結(jié)構(gòu)是順序結(jié)構(gòu)、()和循環(huán)結(jié)構(gòu)。
34.數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括5個(gè)部分,即數(shù)據(jù)項(xiàng)、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、______和處理過程。
35.數(shù)據(jù)的邏輯結(jié)構(gòu)有線性結(jié)構(gòu)和______兩大類。
36.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的【】。
37.以下程序用以刪除字符串中所有的空格,請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
main()
{chars[100]={"OurteacherteachClanguage!"};inti,j;
for(i=j=0;s[i]!='\0';i++)
if(s[i]!=''){()}
s[j]='\0';
printf("%s\n",s);
}
38.下列程序的輸出結(jié)果是______。
10ngfun5(intn)
{longs;
if((n==1)‖(n==2))
s=2;
else
s=n+fun5(n-1);
return(s);
}
main()
{longx;
x=fun5(4);
printf("%1d\n",x);}
39.在面向?qū)ο蟮姆椒ㄖ校琠_____描述的是具有相似屬性與操作的一組對(duì)象。
40.若a=10,b=20,則表達(dá)式!(a<b)的值是【】。
三、1.選擇題(20題)41.現(xiàn)有如下程序段#include"stdio.h"#include"string.h"main(){chara[]="acfijk";/*這里是有序的字符序列*/charb[]="befijklqswz";/*這里是有序的字符序列*/charc[80],*p;inti=0,j=0,k=0;while(a[i]!二'\0'&&b[j]!='\0'){if(a[i]<b[j])c[k++]=a[i++];elsei
A.acfijkbefijklqswz
B.abceffiijjkklqswz
C.befijklqswzacfijk
D.abcefijklqswz
42.以下描述中正確的是()。
A.由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合語句
B.do-while循環(huán)由do開始,用while結(jié)束,在while(表達(dá)式.后面不能寫分號(hào)
C.在do-while循環(huán)體中,是先執(zhí)行一次循環(huán),再進(jìn)行判斷
D.do-while循環(huán)中,根據(jù)情況可以省略while
43.以下程序的運(yùn)行結(jié)果是#defineMAX(A,B)(A)>(B)?(A):(B)#definePRINT(Y)printf("Y=%d\t",Y)main(){inta=1,b=2,c=3,d=4,t;t=MAX(a+b,c+d);PRINT(t);}
A.Y=3B.存在語法錯(cuò)誤C.Y=7D.Y=0
44.關(guān)系表中的每一橫行稱為一個(gè)()。A.元組B.字段C.屬性D.碼
45.在C語言中,只有在使用時(shí)才占用內(nèi)存單元的變量,其存儲(chǔ)類型是()。
A.auto和register
B.extern和register
C.auto和static
D.static和register
46.以下程序段的輸出結(jié)果是______。main(){chars1[10],s2[10],s3[10];scanf("%s",s1);gets(s2);gets(s3);puts(s1);puts(s2);puts(s3);}輸入數(shù)據(jù)如下:(此處<CR>代表回車符)aaa<CR>bbb<CR>
A.aaabbbB.aaabbbC.aaa\0bbb\0D.aaabbb
47.軟件文檔不僅是軟件開發(fā)各階段的重要依據(jù),而且也影響軟件的______。
A.可維護(hù)性B.可移植性C.可擴(kuò)展性D.可用性
48.下列關(guān)于算法的時(shí)間復(fù)雜度陳述正確的是
A.算法的時(shí)間復(fù)雜度是指執(zhí)行算法程序所需要的時(shí)間
B.算法的時(shí)間復(fù)雜度是指算法程序的長(zhǎng)度
C.算法的時(shí)間復(fù)雜度是指算法執(zhí)行過程中所需要的基本運(yùn)算次數(shù)
D.算法的時(shí)間復(fù)雜度是指算法程序中的指令條數(shù)
49.假定w、x、y、m均為int型變量,則執(zhí)行下列的語句后,m的值是()。w=6,x=4,y=3;m=(w<x)?w:x;m=(m<y)?m:y;
A.3B.4C.5D.6
50.下述語句中,在字符串s1和s2相等時(shí)顯示"theyareEqual"的是()。
A.if(*s1=*s2)puts("theyareEqual");
B.if(!strcmp(s1,s2))puts("theyareEqual");
C.if(s1==s2)puts("theyareEqual");
D.if(strcmp(s1,s2))puts("theyareEqual");
51.下列敘述中正確的是()。
A.接口復(fù)雜的模塊,其耦合程度一定低
B.耦合程度弱的模塊,其內(nèi)聚程度一定低
C.耦合程度弱的模塊,其內(nèi)聚程度一定高
D.上述三種說法都不對(duì)
52.有以下程序main(){inti,s=0;for(i=1;i<l0;i+=2)s+=i+1printf("%d\n",s);}程序執(zhí)行后的輸出結(jié)果是______。
A.自然數(shù)1~9的累加和B.自然數(shù)1~10的累加和C.自然數(shù)1~9中奇數(shù)之和D.自然數(shù)1~10中偶數(shù)之和
53.設(shè)有如下程序#include<stdio.h>main(){int**k,*j,i=100;j=&i;k=&j;printf("%d\n"”,**k);}上述程序的輸出結(jié)果是______。
A.運(yùn)行錯(cuò)誤B.100C.i的地址D.j的地址
54.在軟件質(zhì)量因素中,軟件在異常情況下仍能運(yùn)行的能力稱為軟件的______。
A.可用性B.可靠性C.安全性D.健壯性
55.C語言的基本單位是()。
A.函數(shù)B.過程C.子程序D.子函數(shù)
56.在C語言中,while和do…while循環(huán)的主要區(qū)別是()。
A.do…while的循環(huán)體不能是復(fù)合語句
B.do…while允許從循環(huán)體外轉(zhuǎn)到循環(huán)體內(nèi)
C.whil8的循環(huán)體至少被執(zhí)行一次
D.do…while的循環(huán)體至少被執(zhí)行一次
57.請(qǐng)讀程序:#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.不確定的值
58.變量p為指針變量,若p=&a,下列說法不正確的有______。
A.&*p==&aB.*&a==aC.(*p)++==a++D.*(p++)==a++
59.有以下程序段:main{){inta=5,*b,**C;c=&b;b=&a;……}程序在執(zhí)行了“c=&b;b=&a;”語句后,表達(dá)式“**c”的值是
A.變量a的地址B.變量b中的值C.變量a中的值D.變量b的地址
60.有一函數(shù)以下程序段中不能根據(jù)x值正確計(jì)算出y值的是
A.if(x>0)y=1;elseif(x==0)y=0;elsey=-1;
B.y=0;if(x>0)y=1;elseif(x<0)y=-l;
C.y=0;if(x>=0);if(x>0)y=1;elsey=-1;
D.if(x>=0)if(x>0)y=1;elsey=0;elsey=-l;
四、選擇題(20題)61.有以下程序(a123.txt在當(dāng)前盤符下已經(jīng)存在)
#include"stdio.h"
voidmain()
{FILE*fp;
inta[10],*p=a;
fp=fopen("a123.txt","w");
while(strlen(gets(p))>0)
{fputs(a,fp);
fputs("\n",fp);
}
fclose(fp);
}
程序?qū)崿F(xiàn)的功能是
A.從鍵盤輸入若干行字符,按行號(hào)倒序?qū)懭胛谋疚募123.txt中
B.從鍵盤輸入若干行字符,取前兩行寫入文本文件a123.txt中
C.從鍵盤輸入若干行字符,第一行寫入文本文件a123.txt中
D.從鍵盤輸入若干行字符,依次寫入文本文件a123.txt中
62.
63.
64.
65.
66.
67.下述程序的運(yùn)行結(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.不確定的值
68.
69.下列程序的運(yùn)行結(jié)果是()。#include<stdio.h>#defineADD(x)x+xmain{intm=1,n=2,k=3;intS=ADD(m+n)*k;printf("s=%d",s);}A.sum=18B.sum=10C.sum=9D.sum=25
70.
71.
72.
73.(61)數(shù)據(jù)結(jié)構(gòu)中,與所使用的計(jì)算機(jī)無關(guān)的是數(shù)據(jù)的()
A.存儲(chǔ)結(jié)構(gòu)
B.物理結(jié)構(gòu)
C.邏輯結(jié)構(gòu)
D.物理和存儲(chǔ)結(jié)構(gòu)
74.將E—R圖轉(zhuǎn)換為關(guān)系模式時(shí),實(shí)體和聯(lián)系都可以表示為()。
A.屬性B.鍵C.關(guān)系D.域
75.有以下程序:
若想通過鍵盤輸入,使得al的值為12,a2的值為34,cl的值為字符a,c2的值為字符b,程序運(yùn)行后的輸出結(jié)果是:l2,a,34,b。則正確的輸入格式是(以下-代表空格,<;CR>;代表回車)()。
A.12-a34-b<CR>
B.12-a-34-b<CR>
C.12,a,34,b<CR>
D.12a34b<CR>
76.下列程序的輸出結(jié)果是()。
main
{
doubled=3.2;intx,y;
x=1.2;y=(x+3.8)/5.0;
printf("%d\n",d*y);
}
A.3B.3.2C.0D.3.07
77.
78.數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)是指()。
A.數(shù)據(jù)所占的存儲(chǔ)空間
B.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)中的存放形式
C.數(shù)據(jù)在計(jì)算機(jī)中的順序存儲(chǔ)方式
D.存儲(chǔ)在計(jì)算機(jī)外存中的數(shù)據(jù)
79.算法的有窮性是指A.算法程序的運(yùn)行時(shí)間是有限的
B.算法程序所處理的數(shù)據(jù)量是有限的
C.算法程序的長(zhǎng)度是有限的
D.算法只能被有限的用戶使用
80.已有定義:chara[]="xyz",b[]={′x′,′y′,′z′};,以下敘述中正確的是()。
A)數(shù)組a和b的長(zhǎng)度相同B)a數(shù)組長(zhǎng)度小于b數(shù)組長(zhǎng)度
C)a數(shù)組長(zhǎng)度大于b數(shù)組長(zhǎng)度D)上述說法都不對(duì)
五、程序改錯(cuò)題(1題)81.寫出下列程序的運(yùn)行結(jié)果。
fun(inta,intb)
{if(a>b)return(a);
Elsereturn(b);}
main
{intx=3,y=8,z=6,r;
r=fun(fun(x,y),2*z);printf(“%d\n”,r);}
六、程序設(shè)計(jì)題(1題)82.請(qǐng)編一個(gè)函數(shù)fun(char*str),該函數(shù)的功能是把字符串中的內(nèi)容逆置。例如,字符串中原有的字符串為asdfg,則調(diào)用該函數(shù)后,串中的內(nèi)容為gfdsa。請(qǐng)勿改動(dòng)main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號(hào)中填入所編寫的若干語句。試題程序:
參考答案
1.C
2.AC語言程序是由函數(shù)組成的,所以B選項(xiàng)錯(cuò)誤。C語言函數(shù)可以單獨(dú)進(jìn)行編譯,所以C選項(xiàng)錯(cuò)誤。每個(gè)C語言程序必須包含一個(gè)main函數(shù),但不是每個(gè)C語言程序文件都必須有一個(gè)main函數(shù),用戶單獨(dú)編寫的某個(gè)函數(shù)也可以存儲(chǔ)為一個(gè)C語言程序文件,所以D選項(xiàng)錯(cuò)誤。故本題答案為A選項(xiàng)。
3.D
4.D
5.D[解析]在ifelse語句中else,總是與離它最近的配對(duì)。本題目中x為1所以!勸0.所以執(zhí)行elsei語句中的內(nèi)容,判斷(x==0)是否成立,因?yàn)閯?所以條件不成立,所以else內(nèi)部的if..else語句不再執(zhí)行,所以y的值還是初始值0.
6.C
7.C表達(dá)式“++k”是先使得k的值自增1后再使用。表達(dá)式“k++”是先取得k的值再將k的值自增1。所以C選項(xiàng)中表達(dá)式的值為0,而其他3個(gè)選項(xiàng)中表達(dá)式的值均為1。故本題答案為C選項(xiàng)。
8.B先將int型數(shù)據(jù)9強(qiáng)制轉(zhuǎn)換成double型,然后除以2,得到的結(jié)果與double型保持一致,即4.5;然后將4.5強(qiáng)制轉(zhuǎn)換成int型數(shù)據(jù)4,再計(jì)算9%2的值為1;最后計(jì)算4-1的值為3。故本題答案為B選項(xiàng)。
9.A
10.B水平制表符中,'\t'表示的是橫向跳若干格;選項(xiàng)B中,'\039'錯(cuò)誤,'\039'是八進(jìn)制形式表的字符,最大數(shù)為7,但其中出現(xiàn)'9',','是字符逗號(hào);選項(xiàng)D中,'\n'表示的是換行。
11.D
12.A當(dāng)值相同時(shí)按位異或,則為0,按位或與按位與時(shí)仍不變,負(fù)數(shù)也為非0。
13.A
14.C解析:計(jì)算機(jī)語言分為低級(jí)語言、匯編語言和高級(jí)語言,C語言屬于高級(jí)語言,但并不是說C語言比其他語言高級(jí),所以選項(xiàng)A錯(cuò)誤;除了低級(jí)語言外,其他各種語言都必須譯成能被計(jì)算機(jī)識(shí)別的二進(jìn)制數(shù)才能執(zhí)行,選項(xiàng)B錯(cuò)誤;C語言出現(xiàn)從1972年到1973年間,并不是出現(xiàn)最晚的語言,所以選項(xiàng)D也是錯(cuò)誤的。
15.C解析:關(guān)系中每一個(gè)屬性都有一個(gè)取值范圍,稱為屬性的值域。每—個(gè)屬性對(duì)應(yīng)一個(gè)值域,不同屬性可對(duì)應(yīng)同一個(gè)值域。對(duì)應(yīng)同一值域的卻不一定是不同的屬性。屬性的值域用DOM(A)表示,A表示屬性的名稱。
16.D解析:棧是僅在表頭和表尾進(jìn)行插入和刪除元素操作的線性表,其特點(diǎn)是“先進(jìn)后出”。本題中,進(jìn)棧的過程中可以出棧。選項(xiàng)D中,如果第一個(gè)出棧的元素為e3,由于入棧順序是e1、e2、e3,那么e3出棧后,棧中元素必定有e1和e2,因?yàn)閑1先入棧,故e1應(yīng)在e2后出棧,所以選項(xiàng)D是不可能的出棧順序。
17.C根據(jù)賦值運(yùn)算的類型轉(zhuǎn)換規(guī)則,先將double型的常量l.2轉(zhuǎn)換為int型,因?yàn)閤的類型是int,則X的值為1;執(zhí)行語句y=(K+3.8)/5.0時(shí),即先將整型變量X的值1轉(zhuǎn)換為double型1.0,然后3.8相加得4.8,進(jìn)行除法運(yùn)算4.8/5.0結(jié)果為0.即變量y的值為0,d*Y的值也為0,故選C選項(xiàng)。
18.C
19.C
20.C
21.存儲(chǔ)結(jié)構(gòu)
22.gaegae解析:本題定義了兩個(gè)字符串?dāng)?shù)組a[],b[],字符型指針變量p1和p2,且分別指向字符串?dāng)?shù)組a和b,抽打for循環(huán),當(dāng)if(*(p1+k)==*(p2+k))條件為真,執(zhí)行輸出*(p1+k)對(duì)應(yīng)的字符。即當(dāng)k=0時(shí),*(p1+k)對(duì)應(yīng)的字符串?dāng)?shù)組a中的字符L,*(p2+k)對(duì)應(yīng)的字符串?dāng)?shù)組b中字符P,因此if(*(p1+k)==*(p2+k))條件為假,不執(zhí)行printf語句,依此類推,將字符串?dāng)?shù)組a和b中對(duì)應(yīng)位置上的字符——比較,如果對(duì)應(yīng)位置上的字符相同,則輸出該字符。
23.一對(duì)多一對(duì)多解析:實(shí)體之間的聯(lián)系可以歸結(jié)為一對(duì)一、一對(duì)多與多對(duì)多。如果一個(gè)學(xué)校有許多學(xué)生,而一個(gè)教師只歸屬于一個(gè)學(xué)生,則實(shí)體集學(xué)校與實(shí)體集學(xué)生之間的聯(lián)系屬于一對(duì)多的聯(lián)系。
24.a=2b=3a=2,b=3解析:分析程序,程序從x=1語句開始執(zhí)行,之后執(zhí)行第一個(gè)switch語句,switch(x)=switch(1),所以執(zhí)行case1,case1語句中包含一個(gè)復(fù)合switch語句:這時(shí)執(zhí)行第二個(gè)switch語句,此時(shí)y=1,所以switch(y)=switch(1),因此執(zhí)行case1,將b加1,得到b=2,遇到break語句,退出第二個(gè)switch語句,則整個(gè)case1的復(fù)合語句執(zhí)行完畢,由于在這個(gè)case1的后面沒有break語句使其退出第一個(gè)switch語句,所以接著執(zhí)行下列的case2后面的語句,即將a,b各加1,得到a=2,b=3。
25.線性結(jié)構(gòu)線性結(jié)構(gòu)解析:本題考查了數(shù)據(jù)結(jié)構(gòu)的基本概念。與棧類似,隊(duì)列也是線性表,可以采用鏈?zhǔn)酱鎯?chǔ)結(jié)構(gòu),所以帶鏈的隊(duì)列屬于線性結(jié)構(gòu)。
26.數(shù)據(jù)庫系統(tǒng)或數(shù)據(jù)庫系統(tǒng)階段或數(shù)據(jù)庫或數(shù)據(jù)庫階段或數(shù)據(jù)庫管理技術(shù)階段數(shù)據(jù)庫系統(tǒng)或數(shù)據(jù)庫系統(tǒng)階段或數(shù)據(jù)庫或數(shù)據(jù)庫階段或數(shù)據(jù)庫管理技術(shù)階段解析:在數(shù)據(jù)庫系統(tǒng)管理階段,數(shù)據(jù)是結(jié)構(gòu)化的,是面向系統(tǒng)的,數(shù)據(jù)的冗余度小,從而節(jié)省了數(shù)據(jù)的存儲(chǔ)空間,也減少了對(duì)數(shù)據(jù)的存取時(shí)間,提高了訪問效率,避免了數(shù)據(jù)的不一致性,同時(shí)提高了數(shù)據(jù)的可擴(kuò)充性和數(shù)據(jù)應(yīng)用的靈活性;數(shù)據(jù)具有獨(dú)立性,通過系統(tǒng)提供的映象功能,使數(shù)據(jù)具有兩方面的獨(dú)立性:一是物理獨(dú)立性,二是邏輯獨(dú)立性;保證了數(shù)據(jù)的完整性、安全性和并發(fā)性-綜上所述,數(shù)據(jù)獨(dú)立性最高的階段是數(shù)據(jù)庫系統(tǒng)管理階段。
27.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)可以依次向后取值。
28.軟件開發(fā)軟件開發(fā)解析:軟件生命周期分為3個(gè)時(shí)期共8個(gè)階段:軟件定義期(問題定義、可行性研究和需求分析)、軟件開發(fā)期(系統(tǒng)設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼和測(cè)試)、軟件維護(hù)期(即運(yùn)行維護(hù)階段)。
29.事務(wù)型事務(wù)型解析:數(shù)據(jù)流圖中有眾多的加工,但必有一個(gè)加工是起核心作用的,即中心加工。由數(shù)據(jù)流圖導(dǎo)出結(jié)構(gòu)圖的關(guān)鍵是找出中心加工。一般來說,中心加工有兩種存在形態(tài),即數(shù)據(jù)流圖的兩種典型結(jié)構(gòu)形式:變換型和事務(wù)型。
30.本程序定義了3個(gè)指針變量p1、p2、p,并且將a、b的地址分別賦給p1、p2,則*p1=a=2,*p2=b=4,所以表達(dá)式*p1*(*p2)的值是8。在賦值語句的左邊是*(p=&c),即使指針p指向了變量c,因而*(p)代表了c的存儲(chǔ)單元,賦值語句“*(p=&c)=*p1*(*p2);”是把整數(shù)8賦給了變量c。\r\n\r\n
31.-2-2解析:題目中定義并初始化了變量k為0,最后輸出k的值,要求為4,而在此期間只有k+=-(i+j);這條語句改變了k的值,即要求表達(dá)式-(i+j)的值為4。所以,答案應(yīng)該為-2,因?yàn)橹挥衖=j=-2時(shí),表達(dá)式-(i+j)的值才為4。
32.3535解析:函數(shù)swap(int*a,int*b)的功能是實(shí)現(xiàn)*a和*b中兩個(gè)數(shù)據(jù)的交換,在主函數(shù)中調(diào)用swap(p,q)后,形參指針變量a和b分別指向i和j,在swap(int*a,int*b)執(zhí)行完后,指針變量a和b分別指向j和i,而指針變量p,q所指向變量的值沒有發(fā)生變化,所以輸出結(jié)果為35。
33.選擇結(jié)構(gòu)選擇結(jié)構(gòu)解析:程序設(shè)計(jì)語言僅僅使用順序、選擇和重復(fù)(循環(huán))三種基本控制結(jié)構(gòu)就足以表達(dá)出各種其他形式結(jié)構(gòu)的程序設(shè)計(jì)方法。遵循程序結(jié)構(gòu)化的設(shè)計(jì)原則,按結(jié)構(gòu)化程序設(shè)計(jì)方法設(shè)計(jì)出的程序易于理解、使用和維護(hù);可以提高編程工作的效率,降低軟件的開發(fā)成本。
34.數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)
35.非線性結(jié)構(gòu)非線性結(jié)構(gòu)
36.模式或邏輯模式或概念模式模式也稱邏輯模式或概念模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖,例如數(shù)據(jù)記錄由哪些數(shù)據(jù)項(xiàng)構(gòu)成,數(shù)據(jù)項(xiàng)的名字、類型、取值范圍等。
37.s[j]=s[i];j++;s[j]=s[i];j++;解析:本題中相當(dāng)于字符串s中存儲(chǔ)著含有空格的字符,當(dāng)發(fā)現(xiàn)空格的時(shí)候就用這個(gè)空格字符后面的字符前移覆蓋這個(gè)空格字符,依次類推向后繼續(xù)。因此,應(yīng)填s[j]=s[i];j++;兩條語句。
38.99解析:考查ifelse語句,n==4不滿足條件,所以fun5(4)=4+fun5(3),n==3也不滿足條件,fun5(3)=3+fun5(2),n==2滿足條件fun5(2)=2,故x=4+3+2=9。
39.類類解析:在面向?qū)ο蟮姆椒ㄖ?,把具有相同屬性和方法的?duì)象稱為類,類是對(duì)象的抽象,對(duì)象是類的實(shí)例。
40.00解析:已知a=10,b=20,所以邏輯表達(dá)式a<b的值為true,即為1,在這個(gè)表達(dá)式前面有一個(gè)邏輯運(yùn)算符!,表示反操作,所以整個(gè)語句的值應(yīng)當(dāng)為false,即為0。
41.D解析:這個(gè)題目的功能是實(shí)現(xiàn)兩個(gè)有序字符串,合并成一個(gè)新的有序的字符串。
42.C解析:do-while語句的一般形式為:do循環(huán)體語句while(表達(dá)式);,其中循環(huán)體語句可以是復(fù)合型語句,但必須用花括號(hào)括起來。while后必須要有分號(hào)作為語句的結(jié)束,在do-while循環(huán)中,不可以省略while。
43.C解析:宏替換不像函數(shù)調(diào)用要進(jìn)行參數(shù)值的計(jì)算、傳遞等,而只是簡(jiǎn)單按照原格式進(jìn)行字符串的替換。注意:宏定義的命令格式。
44.A解析:關(guān)系表中,每一行稱為一個(gè)元組,對(duì)應(yīng)表中的一條記錄;每一列稱為表中的一個(gè)屬性,對(duì)應(yīng)表中的一個(gè)字段;在二維表中凡能惟一標(biāo)識(shí)元組的最小屬性集稱為該表的鍵或碼。
45.A解析:在C語言中,動(dòng)態(tài)存儲(chǔ)區(qū)域中存放的變量在使用時(shí)才分配內(nèi)存空間,函數(shù)調(diào)用時(shí)返回的地址和自動(dòng)類局部變量等存放在動(dòng)態(tài)存儲(chǔ)區(qū)域中。auto變量和register變量都屬于自動(dòng)類局部變量,因此選項(xiàng)A正確。static說明的變量為靜態(tài)變量,靜態(tài)變量在內(nèi)存的靜態(tài)存儲(chǔ)中占據(jù)著永久的存儲(chǔ)單元,直至程序運(yùn)行結(jié)束。extern說明的變量為外部變量,屬于全局變量,全局變量在整個(gè)程序運(yùn)行期間都占用內(nèi)存空間。
46.B解析:scanf是標(biāo)準(zhǔn)輸入函數(shù),在輸入字符串a(chǎn)aa時(shí),實(shí)際的內(nèi)容為“aaa\\0”,“\\0”是由系統(tǒng)自動(dòng)加入的:gets的功能是從終端讀入一行字符,即一直讀到換行符為止,并由系統(tǒng)自動(dòng)以“/0”代替換行符。
47.A
48.C解析:算法的時(shí)間復(fù)雜度是指執(zhí)行算法所需要的計(jì)算工作量,也就是算法在執(zhí)行過程中所執(zhí)行的基本運(yùn)算的次數(shù),而不是指程序運(yùn)行需要的時(shí)間或是程序的長(zhǎng)度。
49.A解析:條件表達(dá)式“a?b:c”的含義是:當(dāng)a為真時(shí),其值等于表達(dá)式b的值,當(dāng)a為假時(shí),其值等于表達(dá)式c的值。第一個(gè)表達(dá)式:w=6<x=4為假,所以返回x的值,即m=x=4;第二個(gè)表達(dá)式:m=4<y=3為假,所以返回y的值,即m=y=3。
50.B
51.C解析:影響模塊之間耦合的主要因素有兩個(gè):模塊之間的連接形式,模塊接口的復(fù)雜性。一般來說,接口復(fù)雜的模塊,其耦合程度要比接口簡(jiǎn)單的模塊強(qiáng),所以選項(xiàng)A的說法錯(cuò)誤;耦合程度弱的模塊,其內(nèi)聚程度一定高,選項(xiàng)B錯(cuò)誤;選項(xiàng)C正確。
52.D解析:本題中s=(1+1)+(3+1)+(5+1)+(7+1)+(9+1)=2+4+6=8+10。
53.B解析:j=&i,j的值就是i的地址,*j=100,將j的地址賦給k,這時(shí)*k=j,那么,**k=*j,而*j=100,所以**k=100,最后的打印結(jié)果應(yīng)當(dāng)為100。
54.D
55.AA?!窘馕觥緾語言是函數(shù)式的語言。它的基本組成單位是函數(shù),在C語言中任何程序都是由一個(gè)或者多個(gè)函數(shù)組成的。
56.D解析:本題考查while和do…while循環(huán)的區(qū)別。while循環(huán)的控制出現(xiàn)在循環(huán)體之前,只有當(dāng)while后面的表達(dá)式的值為非零時(shí),才可能執(zhí)行循環(huán)體:在do…while構(gòu)成的循環(huán)體中,總是先執(zhí)行一次循環(huán)體,然后再求表達(dá)式的值,因此無論表達(dá)式的值是否為零,循環(huán)體至少要被執(zhí)行一次。
57.A解析:本題考查字符串比較函數(shù)strcmp()的應(yīng)用。strcmp(s1,s2)是中比較函數(shù),當(dāng)s1>s2時(shí)返回值為正數(shù),當(dāng)s1<s2時(shí)返回值為負(fù)數(shù),當(dāng)s1=s2時(shí)返回值為零。本題中s1,s2分別表示兩個(gè)串中第一個(gè)字符的地址,s1++和s2++是將指針指向串的第二個(gè)字符,指針變量s1指向的是串“bCdEf”的首地址,即字符b的地址,而指針變量s2指向的是字符'B'的地址。而在字符串比較中,寧符串大小的確定是各個(gè)字符串相應(yīng)位置字符的ASCII碼值的大小決定的,字符'B'的ASCII碼值為66,字符“b”的ASCII碼值為98,所以s1>s2,返回值為正數(shù)。
58.D解析:*p代表a,&*p等價(jià)于&a;p代表&a,*p等價(jià)于a,因而(*p)++等價(jià)于a++;但因p的值為a的內(nèi)存單元地址,p++為變量a首地址后面的地址,*(p++)不再指向變量s。
59.C解析:主函數(shù)中定義了一個(gè)整型變量a,一個(gè)整型指針變量b和一個(gè)二級(jí)指針變量c,并讓c指向指針變量b,讓指針b指向整形變量a,所以**c為變量a的值,所以,4個(gè)選項(xiàng)中選項(xiàng)C符合題意。
60.C解析:本題考查的知識(shí)點(diǎn)是if語句的嵌套使用.首先檢查訂與else的配對(duì),然后再分析各分支實(shí)現(xiàn)的功能.選項(xiàng)A描述的意思是:在x>=O情況下,則y為1,否則;在x=O時(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度教育展覽布展服務(wù)合同書3篇
- 2024版基站建設(shè)場(chǎng)地使用費(fèi)合同
- 2025年度特種車輛抵押融資合同樣本4篇
- 2025年度智能農(nóng)業(yè)設(shè)備代售合同協(xié)議范本4篇
- 2024網(wǎng)絡(luò)安全防護(hù)系統(tǒng)建設(shè)與運(yùn)維合同
- 2025年度文化產(chǎn)業(yè)發(fā)展場(chǎng)協(xié)作伙伴關(guān)系合同4篇
- 2024選購排水溝蓋板及排水設(shè)施維修保養(yǎng)合同3篇
- 2025年度環(huán)保節(jié)能設(shè)備研發(fā)與應(yīng)用授權(quán)合同3篇
- 2024年度航空航天零部件維保與技術(shù)支持合同3篇
- 2025年專業(yè)廚師勞務(wù)派遣聘用合同規(guī)范文本4篇
- 春節(jié)文化常識(shí)單選題100道及答案
- 12123交管學(xué)法減分考試題及答案
- 2024年杭州師范大學(xué)附屬醫(yī)院招聘高層次緊缺專業(yè)人才筆試真題
- 制造業(yè)BCM業(yè)務(wù)連續(xù)性管理培訓(xùn)
- 商場(chǎng)停車場(chǎng)管理制度
- 2025年寒假實(shí)踐特色作業(yè)設(shè)計(jì)模板
- 24年追覓在線測(cè)評(píng)28題及答案
- TGDNAS 043-2024 成人靜脈中等長(zhǎng)度導(dǎo)管置管技術(shù)
- 《陸上風(fēng)電場(chǎng)工程概算定額》NBT 31010-2019
- 藥房(冰柜)溫濕度表
- QJ903.9A-1995航天產(chǎn)品工藝文件管理制度管理用工藝文件編制規(guī)則
評(píng)論
0/150
提交評(píng)論