![2022-2023年湖南省岳陽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)知識點(diǎn)匯總卷(含答案)_第1頁](http://file4.renrendoc.com/view/523b3f87570e9e1ee0b85f23d14242b6/523b3f87570e9e1ee0b85f23d14242b61.gif)
![2022-2023年湖南省岳陽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)知識點(diǎn)匯總卷(含答案)_第2頁](http://file4.renrendoc.com/view/523b3f87570e9e1ee0b85f23d14242b6/523b3f87570e9e1ee0b85f23d14242b62.gif)
![2022-2023年湖南省岳陽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)知識點(diǎn)匯總卷(含答案)_第3頁](http://file4.renrendoc.com/view/523b3f87570e9e1ee0b85f23d14242b6/523b3f87570e9e1ee0b85f23d14242b63.gif)
![2022-2023年湖南省岳陽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)知識點(diǎn)匯總卷(含答案)_第4頁](http://file4.renrendoc.com/view/523b3f87570e9e1ee0b85f23d14242b6/523b3f87570e9e1ee0b85f23d14242b64.gif)
![2022-2023年湖南省岳陽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)知識點(diǎn)匯總卷(含答案)_第5頁](http://file4.renrendoc.com/view/523b3f87570e9e1ee0b85f23d14242b6/523b3f87570e9e1ee0b85f23d14242b65.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
2022-2023年湖南省岳陽市全國計(jì)算機(jī)等級考試C語言程序設(shè)計(jì)知識點(diǎn)匯總卷(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.若已定義:“inta[9],*p=a;”,并在以后的語句中未改變p的值,不能表示a[1]地址的表達(dá)式是______。
A.p+1B.a+1C.a++D.++p
2.檢查軟件產(chǎn)品是否符合需求定義的過程稱為______。
A.確認(rèn)測試B.集成測試C.驗(yàn)證測試D.驗(yàn)收測試
3.以下程序的運(yùn)行結(jié)果是______。#include<stdio.h>main(){inta[]:{1,2,3,4,5,6,7,8,9,10,11,12):int*p=a+5,*q=NULL:*q=*(p+5):printf("%d%d\n",*p,*q);}
A.運(yùn)行后報(bào)錯B.66C.612D.55
4.衡量顯示器的主要技術(shù)指標(biāo)是()
A.波特率B.分辨率C.主頻D.顯示速度
5.設(shè)有以下語句charchl,ch2;scanf("%c%C",&chl,&ch2);若要為變量chl和ch2分別輸入字符A和B,正確的輸入形式應(yīng)該是()。
A.A和B之間用逗號間隔B.A和B之間不能有任何間隔符C.A和B之間可以用回車間隔D.A和B之間用空格間隔
6.下面排序算法中,初始數(shù)據(jù)集的排列順序?qū)λ惴ǖ男阅軣o影響的是()
A.堆排序B.插入排序C.冒泡排序D.快速排序
7.設(shè)整型數(shù)i=5,則printf("%d",i+++++i);的輸出為______。
A.10B.11C.12D.語法錯誤
8.以下敘述中錯誤的是______。A.C程序必須由—個或—個以上的函數(shù)組成
B.函數(shù)調(diào)用可以作為—個獨(dú)立的語句存在
C.若函數(shù)有返回值,必須通過return語句返回
D.函數(shù)形參的值也可以傳回給對應(yīng)的實(shí)參
9.以下敘述中錯誤的是()。
A.形參可以是常量、變量或表達(dá)式
B.實(shí)參可以是常量、變量或表達(dá)式
C.實(shí)參的類型應(yīng)與形參的類型賦值兼容
D.實(shí)參的個數(shù)應(yīng)與形參的個數(shù)一致
10.每次從無序表中挑選出一個最小或最大元素,把它交換到有序表的一端,此種排序方法叫做()排序。
A.插入B.堆C.快速D.歸并排序
11.
12.在有序雙向鏈表中定位刪除一個元素的平均時間復(fù)雜度為()
A.O(1)B.O(N)C.O(logN)D.O(N*logN)
13.簡單的交換排序方法是()。
A.快速排序B.選擇排序C.堆排序D.冒泡排序
14.鏈表不具有的特點(diǎn)是()。
A.插入、刪除不需要移動元素B.可隨機(jī)訪問任一元素C.不必事先估計(jì)存儲空間D.所需空間與線性長度成正比
15.設(shè)有一個10階的對稱矩陣A,采用壓縮存儲方式,以行序?yàn)橹鞔鎯?,a11為第一元素,其存儲地址為1,每個元素占一個地址空間,則a85的地址為()。
A.13B.33C.18D.40
16.算法能正確地實(shí)現(xiàn)預(yù)定功能的特性稱為算法的()。
A.正確性B.易讀性C.健壯性D.高效率
17.以下選項(xiàng)中可作為C語言合法常量的是_____。A.-80B.-080C.-8e1.0D.-80.Oe
18.以下程序是用來計(jì)算兩個非負(fù)數(shù)之間的最大公約數(shù):我們假設(shè)x,y中最大的那個數(shù)的長度為n,基本運(yùn)算時間復(fù)雜度為O(1),那么該程序的時間復(fù)雜度為()A.O(1)B.O(logn)C.O(n)D.O(n^2)
19.設(shè)散列表長m=14,散列函數(shù)H(K)=K%11,已知表中已有4個結(jié)點(diǎn):r(15)=4;r(38)=5;r(61)=6;r(84)=7,其他地址為空,如用二次探測再散列處理沖突,關(guān)鍵字為49的結(jié)點(diǎn)地址是_____。
A.8B.3C.5D.9
20.下列4個關(guān)于C語言的結(jié)論中錯誤的是()。
A.可以用do…while語句實(shí)現(xiàn)的循環(huán)一定可以用while語句實(shí)現(xiàn)
B.可以用for語句實(shí)現(xiàn)的循環(huán)一定可以用while語句實(shí)現(xiàn)
C.可以用while語句實(shí)現(xiàn)的循環(huán)一定可以用for語句實(shí)現(xiàn)
D.do…while語句與while語句的區(qū)別僅是關(guān)鍵字“while”出現(xiàn)的位置不同
二、2.填空題(20題)21.下列軟件系統(tǒng)結(jié)構(gòu)圖的寬度為[]。
22.十六進(jìn)制數(shù)100轉(zhuǎn)換成十進(jìn)制數(shù)為【】。
23.寫出下列程序的輸出結(jié)果______。
main()
{intn=0;
while(n++<=1);
printf("%d,",n);
printf("%d",n++);
}
24.單元測試又稱模塊測試,一般采用【】測試。
25.以下程序中,for循環(huán)體執(zhí)行的次數(shù)是【】。
#defineN2
#defineMN+1
#defineKM+1*M/2
main()
{inti;
for(i=1;i<K;i++){......}
26.以下程序的輸出結(jié)果是【】。
#include<stdio.h>
voidfun()
{staticinta=0;
a+=2;printf("%d",a);
}
main()
{intcc;
for(cc=1;cc<4;cc++)fun();
printf("\n");
}
27.結(jié)構(gòu)化分析方法是面向______進(jìn)行分析的方法。
28.下列程序的運(yùn)行結(jié)果為【】。
main()
{inti;
chara[]="Ilovechina!",b[20],*p1,*p2;
p1=a;
p2=b;
while(*p1)
{*p2=*p1;
p1++;
p2++;
}
*p2='\0';
printf("stringbis:%s\n",b);
}
29.排序是計(jì)算機(jī)程序設(shè)計(jì)中的一種重要操作,常見的排序方法有插入排序、【】和選擇排序等。
30.當(dāng)調(diào)用函數(shù)時,實(shí)參是一個數(shù)組名,則向函數(shù)傳遞的是【】。
31.下列程序的輸出結(jié)果是()。
intt(intx,inty,intcp,intdp)
{cp=x%y+y*y;
dp=x+x-y*y;
}
main()
{ima=4,b=3,c=9,d=8;
t(a,b,c,D);
printf("%d%d\n",c,D);
}
32.數(shù)據(jù)庫系統(tǒng)的三級模式分別為______模式、內(nèi)部級模式與外部級模式。
33.下述程序的輸出結(jié)果是【】。
#include<stdio.h>
intfun(intx)
{intp;
if(x==0||x==1)
return3;
else
p=x-fun(x-2);
returnp;}
voidmain()
{printf("\n%d",fun(9));}
34.以下程序的功能是建立一個帶有頭結(jié)點(diǎn)的單向鏈表,鏈表結(jié)點(diǎn)中的數(shù)據(jù)通過鍵盤輸入,當(dāng)輸入數(shù)據(jù)為-1時,表示輸入結(jié)束(鏈表頭結(jié)點(diǎn)的data域不放數(shù)據(jù),表空的條件是ph->next==NULL),請?zhí)羁铡?/p>
#include<stdio.h>
structlist{intdata;structlist*next;};
structlist*creatlist()
{structlist*p,*q,*ph;inta;ph=(structlist*)malloc(sizeof(structlist));
p=q=ph;printf("Inputanintegernumber;entre-1toend:\n");
scanf("%d",&a);
while(a!=-1)
{p=(structlist*)malloc(sizeof(structlist));
【】=a;q->next=p;【】=p;scanf("%d",&a);}
p->next=′\0;return(ph);}
main()
{structlist*head;head=creatlist();}
35.數(shù)據(jù)庫系統(tǒng)的主要特點(diǎn)為數(shù)據(jù)集成性、數(shù)據(jù)的高_(dá)_____和低冗余性、數(shù)據(jù)獨(dú)立性和數(shù)據(jù)統(tǒng)一管理和控制。
36.已有定義:intx;,執(zhí)行以下語句后的輔出結(jié)果是【】。
x=11/3;y=5;
printf("%%d,%%%d\n",x,y);
37.設(shè)有以下定義和語句,則*(*(p+2)+1)的值為【】。
inta[3][2]={10,20,30,40,50,60},(*p)[2];
p=a;
38.常用的軟件結(jié)構(gòu)設(shè)計(jì)工具是結(jié)構(gòu)圖(SC),也稱程序結(jié)構(gòu)圖。其中,用矩形表示______,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。
39.以下程序段打開文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調(diào)用ftell函數(shù)返回當(dāng)前文件的具體位置,從而確定文件長度,請?zhí)羁铡?/p>
FILE*myf;longfl;
myf=【】("test.t","rb”);
fseek(myf,()SEEK_END);fl+ftell(myf);
fclose(myf);
printf("%ld\n",fl);
40.類是一個支持集成的抽象數(shù)據(jù)類型,而對象是類的【】。
三、1.選擇題(20題)41.有下列二叉樹,對此二叉樹中序遍歷的結(jié)果為()。
A.BDYEACFXZB.DYBEAFCZXC.ABCDEFXYZD.ABDYECFXZ
42.定義如下變量和數(shù)組:intk;inta[3][3]={9,8,7,6,5,4,3,2,1};則下面語句的輸出結(jié)果是()。for(k=0;k<3;k++)printf("%d",a[k][k]);
A.753B.951C.963D.741
43.結(jié)構(gòu)化程序設(shè)計(jì)主要強(qiáng)調(diào)的是()。
A.程序的規(guī)模B.程序的效率C.程序設(shè)計(jì)語言的先進(jìn)性D.程序的易讀性
44.若x和y都是血型變量,x=100,y=200,且有程序片段:printf("%d",(x,y));,則輸出結(jié)果是______。
A.200B.100C.100200D.輸出格式符不夠,輸出不確定的值
45.若有以下說明和語句:structst{intn;char*ch;};structsta[3]={5,"abc",7,"def",9,"ghk"},*p=a;則值為6的表達(dá)式是______。
A.p++->nB.p->n++C.(*p).n++D.++p->n
46.下面被調(diào)用函數(shù)sub的函數(shù)值的類型是()sub(floatA){floatb;b=a*a+1;returnb;}
A.單精度型B.雙精度型C.空類型D.整型
47.下列選項(xiàng)中不屬于結(jié)構(gòu)化程序設(shè)計(jì)方法的是()。
A.自頂向下B.逐步求精C.模塊化D.可復(fù)用
48.有以下程序段:main{){inta=5,*b,**C;c=&b;b=&a;……}程序在執(zhí)行了“c=&b;b=&a;”語句后,表達(dá)式“**c”的值是
A.變量a的地址B.變量b中的值C.變量a中的值D.變量b的地址
49.下列對于軟件測試的描述中正確的是()。
A.軟件測試的目的是證明程序是否正確
B.軟件測試的目的是使程序運(yùn)行結(jié)果正確
C.軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯誤
D.軟件測試的目的是使程序符合結(jié)構(gòu)化原則
50.下列有關(guān)數(shù)據(jù)庫的描述,正確的是A.數(shù)據(jù)處理是將信息轉(zhuǎn)化為數(shù)據(jù)的過程
B.數(shù)據(jù)的物理獨(dú)立性是指當(dāng)數(shù)據(jù)的邏輯結(jié)構(gòu)改變時,數(shù)據(jù)的存儲結(jié)構(gòu)不變
C.關(guān)系中的每一列稱為元組,一個元組就是一個字段
D.如果一個關(guān)系中的屬性或?qū)傩越M并非該關(guān)系的關(guān)鍵字,但它是另一個關(guān)系的關(guān)鍵字,則稱其為本關(guān)系的外關(guān)鍵字
51.以下程序的輸出結(jié)果是main(){intc=35;printf("%d\n",c&c);}
A.0B.70C.35D.1
52.以下對結(jié)構(gòu)體類型變量的定義中,不正確的是()
A.typedefstructaa{intn;floatm;}AA;AAtdl;
B.#defineAAstructaaAA{intn;floatm;}tdl;
C.struct{intn;floatm;}aa;structaatdl;
D.struct{intn;floatm,}tdl;
53.若有語句:char*line[5];以下敘述中正確的是()。
A.定義line是一個數(shù)組,每個數(shù)組元素是一個基類型為char的指針變量
B.定義line是一個指針變量,該變量可以指向一個長度為5的字符型數(shù)組
C.定義line是一個指針數(shù)組,語句中的.號稱為求地址運(yùn)算符
D.定義line是一個指向字符型函數(shù)的指針
54.以下選項(xiàng)中不合法的標(biāo)識符是
A.ptintB.FORC.&aD._00
55.用十六進(jìn)制的地址碼給存儲器的字節(jié)編址,其地址編號從0000到FFFF,則該存儲器的容量為()
A.1MBB.256KBC.64KBD.640KB
56.若變量已正確定義并賦值,以下符合C++語言語法的表達(dá)式是()。
A.a:=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b
57.下列描述錯誤的是()。
A.繼承分為多重繼承和單繼承
B.對象之間的通信靠傳遞消息來實(shí)現(xiàn)
C.在外面看不到對象的內(nèi)部特征是基于對象的“模塊獨(dú)立性好”這個特征
D.類是具有共同屬性、共同方法的對象的集合
58.設(shè)有下列二叉樹:
對此二叉樹中序遍歷的結(jié)果為
A.ABCDEFB.DAECFC.BDAECFD.DBEFCA
59.設(shè)有以下語句,其中不是對a數(shù)組元素的正確引用的是:______(其中0≤i<10)inta[10]={0,1,2,3,4,5,6,7,8,9,},*p=a;
A.a[p-a]B.*(&a[i])C.p[i]D.*(*(a+i))
60.設(shè)已執(zhí)行預(yù)編譯命令#include<string.h>,以下程序段的輸出結(jié)果是
chars[]="anapple";
printf("%d\n",strlen(s));
A.7B.8C.9D.10
四、選擇題(20題)61.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.2,3B.2,1C.1,2D.3,1
62.若執(zhí)行以下程序時從鍵盤上輸入9,則輸出結(jié)果是()。main(){intn;scanf(”%d”,&n);if(n++<10)printf(”/%d\n”,n);elseprintf(”%d\n”,n--);}A.11B.10C.9D.8
63.
設(shè)有下列程序段:
charstr[]="HelloWorld":
char*plr;
ptr=str:
執(zhí)行上面的程序段后,*(ptr+10)的值為()。
A.\0B.0C.不確定的值D.0的地址
64.對于一個正常運(yùn)行的C程序,以下敘述中正確的是()。
A.程序的執(zhí)行總是從main函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束
B.程序的執(zhí)行總是從程序的第一個函數(shù)開始,在main函數(shù)結(jié)束.
C.程序的執(zhí)行總是從main函數(shù)開始、
D.程序的執(zhí)行總是從程序的第一個函數(shù)開始,在程序的最后一個函數(shù)中結(jié)束
65.以下程序的輸出結(jié)果是()。voidprt(int*m.intn){inti;for(i=0;i<n;i++)m[i]++;)main{inta[]={1,2,3,4,5),i;prt(a,5);for(i=0;i<5;i++)printf(“%d,”,a[i]);)A.1,2,3,4,5B.2,3,4,5,6C.3,4,5,6,7D.2,3,4,5,1
66.下列敘述中正確的是()。
A.用E—R圖能夠表示實(shí)體集之間一對一的聯(lián)系、一對多的聯(lián)系、多對多的聯(lián)系
B.用E—R圖只能表示實(shí)體集之間一對一的聯(lián)系
C.用E—R圖只能表示實(shí)體集之間一對多的聯(lián)系
D.用E—R圖表示的概念數(shù)據(jù)模型只能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型
67.軟件按功能可以分為:應(yīng)用軟件、系統(tǒng)軟件和支撐軟件(或工具軟件)。下面屬于應(yīng)用軟件的是()。
A.編譯程序B.操作系統(tǒng)C.教務(wù)管理系統(tǒng)D.匯編程序
68.
以下程序的輸出結(jié)果是()。
main
{inti=0,S=0;
for(;;)
{
if(i==3||i==5)continue;
if(i==6)break;
i++;
s+=i:
};
printf("%d\n",s);
}
A.10B.13C.21D.程序陷入死循環(huán)
69.對建立良好的程序設(shè)計(jì)風(fēng)格,下面描述正確的是
A.程序應(yīng)簡單、清晰、可讀性好B.符號名的命名只需符合語法
C.充分考慮程序的執(zhí)行效率D.程序的注釋可有可無
70.語句“printf(”a\bhow\’are\’y\\\bou\n”);”的輸出結(jié)果是()。A.A.a\bhow\'are\'y\\bou
B.a\bhow\’are\’y\bou
C.how'are'you
D.ahow'are'y\bou
71.有以下程序:
程序運(yùn)行后的輸出結(jié)果是()。
A.1*1=11*2=21*3=32*1=22*2=43*1=3
B.1*1=11*2=21*3=32*2=42*3=63*3=9
C.1*1=11*2=22*2=41*3=32*3=63*3=9
D.1*1=12*l=22*2=43*1=33*2=63*3=9
72.若變量已確定義,則以下語句的輸出結(jié)果是()。
73.設(shè)有定義語句:
intx[-6]={2,4,6,8,5,7),*p=X,i;
要求依次輸出X數(shù)組6個元素中的值,不能完成此操作的語句是()。A.A.for(i=0;i<6;i++)printf("%2d",*(p++));
B.for(i=0;i<6;i++)printf("%2d",*(pq-i));
C.for(i=0;i<6;i++)printf("%2d",*p++);
D.for(i=0;i<6;i++)printf("%2d",*(p)++);
74.設(shè)有定義
75.若變量已正確定義,在if(W)printf(”%d、n”,k);中,以下不可替代w的是()。A.ab+1:B.ch=getchar()C.a==b+cD.a++
76.以下選項(xiàng)中與“if(a==l)a=b;elsea++;”語句功能不同的switch語句是()。
A.switch(a){casel:a=b;break;default:a++;}
B.switch(a==l){case0:a=b;break;casel:a++;}
C.switch(a){default:a++;break;casel:a=b;}
D.switch(a==l){casel:a=b;break;case0:a++;}
77.
78.設(shè)有以下語句
charx=3,y=6,z;
z=x^y<<2;
則z的二進(jìn)制值是
A.00010100B.00011011C.00011100D.00011000
79.在下列選項(xiàng)中,哪個不是一個算法一般應(yīng)該具有的基本特征()。
A.無窮性B.可行性C.確定性D.有窮性
80.
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:先從鍵盤上輸入一個3行3列的矩陣的各個元素的值,然后輸出主對角線元素之和。請修改函數(shù)proc()中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。試題程序:
六、程序設(shè)計(jì)題(1題)82.編寫函數(shù)fun,其功能是:根據(jù)以下公式求π的值(要求精度0.0005,即某項(xiàng)小于0.0005時停止迭代)。
程序運(yùn)行后,若輸入精度
0.0005,則程序應(yīng)輸出為3.14…
注意:部分源程序在文件PROGl.C中。
請勿改動主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號中填入你編寫的若干語句。
參考答案
1.C
2.A本題主要考查軟件測試的基本知識。軟件測試的步驟可分為單元測試(模塊測試)、集成測試、確認(rèn)測試和系統(tǒng)測試。
(1)單元測試是針對每個模塊進(jìn)行的測試,它可從程序的內(nèi)部結(jié)構(gòu)出發(fā)設(shè)計(jì)測試用例,多個模塊可以平行、對立地測試。單元測試主要用于發(fā)現(xiàn)詳細(xì)設(shè)計(jì)和編程時犯下的錯誤。單元測試多采用白盒測試,輔之以黑盒測試。
(2)集成測試是在單元測試的基礎(chǔ)上,根據(jù)模塊結(jié)構(gòu)圖將各個模塊連接起來,必須精心計(jì)劃,應(yīng)提交集成測試計(jì)劃、集成測試規(guī)格說明和集成測試分析報(bào)告。主要目標(biāo)是發(fā)現(xiàn)與接口有關(guān)的問題。集成測試可以發(fā)現(xiàn)概要設(shè)計(jì)時犯的錯誤。
(3)確認(rèn)測試用于驗(yàn)證軟件的功能和性能及其他特性是否與用戶的要求一致。確認(rèn)測試主要用于發(fā)現(xiàn)需求分析時犯下的錯誤,一般使用黑盒法測試,以表明軟件符合需求說明書的要求,應(yīng)該仔細(xì)設(shè)計(jì)測試用例和測試過程。確認(rèn)測試必須有用戶參加,或以用戶為主,用戶應(yīng)參與設(shè)計(jì)測試用例,通常情況下,主要使用生產(chǎn)中的實(shí)際數(shù)據(jù)進(jìn)行測試,測試數(shù)據(jù)通過用戶接口輸入。
(4)系統(tǒng)測試是將已經(jīng)通過確認(rèn)測試的軟件,作為整個計(jì)算機(jī)系統(tǒng)的元素與計(jì)算機(jī)硬件、外設(shè)和網(wǎng)絡(luò)等其他因素結(jié)合在一起,進(jìn)行一系列的組裝測試和確認(rèn)測試。系統(tǒng)測試的目的是通過與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測試可以發(fā)現(xiàn)問題定義時犯下的錯誤。
3.A
4.B
5.Bscanf輸入函數(shù)中,格式控制J必須嚴(yán)格按照函數(shù)中的要求進(jìn)行輸入,在scanf("%c%c",&chl,&ch2)的格式控制語句中沒有任何字符進(jìn)行間隔,所以在輸入時也不能使用任何字符進(jìn)行間隔,所以答案選擇B。
6.A
7.D解析:C語言中有基本的算術(shù)運(yùn)算符(+、-、*、/)還包括自增自減運(yùn)算符(++、-),在C語言解析表達(dá)式時,它總是進(jìn)行貪婪咀嚼,這佯,該表達(dá)式就被解析為i+++++i,顯然該表達(dá)式不合C語言語法。
8.D解析:在調(diào)用函數(shù)時,給形參分配存儲單元,并將實(shí)參對應(yīng)的值傳遞紿形參,調(diào)用結(jié)束后,形參單元彼釋放,實(shí)參單元仍保留并維持原值。因此,在執(zhí)行—個被調(diào)用函數(shù)時,形參的值如果發(fā)生改變,并不會改變主調(diào)函數(shù)的實(shí)參的值,也就是說形參的值是不傳回紿對應(yīng)的實(shí)參的。
9.A函數(shù)中,形參必須是變量,實(shí)參可以是常量、變量或表達(dá)式,選項(xiàng)A錯誤,選項(xiàng)B正確;實(shí)參的個數(shù)和類型要與形參一致,選項(xiàng)C、D正確。本題答案為A選項(xiàng)。
10.B
11.B
12.B
13.D解析:所謂的交換類排序方法是指借助數(shù)據(jù)元素之間的互相交換進(jìn)行排序的一種方法,包括冒泡排序和快速排序,冒泡排序是一種最簡單的交換排序方法,它通過相鄰元素的交換,逐步將線性表變成有序。
14.BB選項(xiàng)的特點(diǎn)是順序存儲結(jié)構(gòu)的特點(diǎn),即數(shù)組的特點(diǎn)。
15.B
16.A
17.A解析:C語言的常量分為整型常量、實(shí)型常量和字符型常量。選項(xiàng)A屬于實(shí)型常量中的十進(jìn)制小數(shù)形式的表示法,是合法的。
18.B
19.D
20.D解析:本題考查幾個循環(huán)語句的關(guān)系。①do…while語句、while語句、for語句所實(shí)現(xiàn)的循環(huán)可以相互替代;②do…while語句和while語句的區(qū)別是do…while語句至少執(zhí)行一次。
21.33解析:軟件系統(tǒng)結(jié)構(gòu)圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示。
22.256
23.333,3解析:本題在while(n++<=1)語句后,直接加了分號,說明如果while()的條件為真時,該循環(huán)什么都不做:n++是先取n的當(dāng)前值和1做比較,然后再將n加1。第一次循環(huán),n=0時,循環(huán)條件n++=<1成立,執(zhí)行循環(huán),然后得到n=1。第二次循環(huán),n=1時,循環(huán)條件n++=1<=1成立,執(zhí)行循環(huán),然后得到n=2。第三次循環(huán),n=2時,循環(huán)條件n++=2<=1不成立,不執(zhí)行循環(huán),但在判斷循環(huán)條件時仍將n加1,得到n=3.退出循環(huán)后執(zhí)行printf語句,第二個printf語句輸出n++,是先輸出n的當(dāng)前值3,然后再將n加l,即程序結(jié)束后得到n=4,但輸出的是3。
24.白盒法白盒法
25.44解析:本題考查宏定義。預(yù)編譯時,首先將M的宏定義帶入K,得到N+1+1*N+1/2;再將N的宏定義帶人,得到2+1+1*2+1/2=3+2+0=5,所以循環(huán)4次。
26.246246解析:本題考查靜態(tài)(static)局部變量的使用。fun函數(shù)中的靜態(tài)局部變量a所占用的存儲單元在程序運(yùn)行過程中始終不釋放,即當(dāng)下一次調(diào)用該函數(shù)時,該變量仍然保留上一次函數(shù)調(diào)用結(jié)束時已有的值,3次調(diào)用fun函數(shù)分別得到2,4,6。
27.數(shù)據(jù)流數(shù)據(jù)流解析:結(jié)構(gòu)化分析方法的實(shí)質(zhì)是著眼于數(shù)據(jù)流,自頂向下,逐層分解,建立系統(tǒng)的處理流程,以數(shù)據(jù)流圖和數(shù)據(jù)字典為主要工具,建立系統(tǒng)的邏輯模型。
28.stringbis:Ilovechina!
29.交換排序交換排序解析:常見的排序方法有插入排序(包括簡單插入排序法和希爾排序法等)、交換排序(包括冒泡排序和快速排序法等)和選擇排序(包括簡單選擇排序和堆排序等)。注意:常見的排序方法及其作用機(jī)制和區(qū)別。
30.數(shù)組的首地址數(shù)組的首地址解析:在函數(shù)中,可以通過指針變量來引用調(diào)用函數(shù)中對應(yīng)的數(shù)組元素,此操作是通過傳遞數(shù)組的首地址來實(shí)現(xiàn)的。
31.9898解析:本題的考查點(diǎn)是函數(shù)的調(diào)用。本題中a,b,c,d是實(shí)參,x,y,cp,dp是形參。C語言規(guī)定,實(shí)參變量對形參變量的數(shù)據(jù)傳遞是“值傳遞”,即單向傳遞,只由實(shí)參傳給形參,而不能由形參傳回來給實(shí)參。在內(nèi)存中,實(shí)參單元與形參單元是不同的單元。在調(diào)用函數(shù)時,給形參分配存儲單元,并將實(shí)參對應(yīng)的值傳遞給形參,調(diào)用結(jié)束后,形參單元被釋放,實(shí)參單元仍保留并維持原值。因此,程序的輸出結(jié)果是98。
32.概念(或概念級)概念(或概念級)
33.77解析:本題考查的是函數(shù)的遞歸調(diào)用。x=0或x=1是遞歸的終止條件,然后用回代的方法從一個已知值推出下一個值,直到計(jì)算出最終結(jié)果。
34.p->dataqp->data,q解析:本題考查的是鏈表這一數(shù)據(jù)結(jié)構(gòu)對結(jié)構(gòu)體變量中數(shù)據(jù)的引用。鏈表的特點(diǎn)是結(jié)構(gòu)體變量中有兩個域,一個是數(shù)據(jù),另一個是指向該結(jié)構(gòu)體變量類型的指針,用以指明鏈表的下一個結(jié)點(diǎn)。
35.共享性共享性解析:數(shù)據(jù)庫系統(tǒng)中的數(shù)據(jù)能被不同的應(yīng)用程序使用,實(shí)現(xiàn)了數(shù)據(jù)的高度共享,從而降低了數(shù)據(jù)的冗余,這也是數(shù)據(jù)庫的主要目的。
36.%d%3
37.6060解析:程序中定義a是一個3行2列的二維數(shù)組,p是指向兩個元素的一維數(shù)組指針,并讓p指向二維數(shù)組a的首行。則代碼*(*(p+2)+1)中的p+2指向二維數(shù)組a的第三行a[2],*(p+2)指向a[2[]0],*(p+2)+1指向a[2][1],*(*(p+2)+1)是引用a[2][1],其值是60。
38.模塊模塊解析:矩形表示的是模塊,箭頭表示的是模塊間的調(diào)用關(guān)系。用帶實(shí)心圓的箭頭表示傳遞的是控制信息,用帶空心圓的箭頭表示傳遞的是數(shù)據(jù)。
39.fopenfopen解析:C語言中的文件分為:ASCII文件與二進(jìn)制文件。文件在使用前打開,使用后要關(guān)閉。
打開文件的函數(shù)為:fopen(),調(diào)用形式為:fP=fopen(”文件名”,”使用文件方式”);
關(guān)閉文件的函數(shù)為:folose(),調(diào)用形式為:foclose(fp);其中fp為文件指針。
40.實(shí)例將屬性、操作相似的對象歸為類,也就是說,類是具有共同屬性、共同方法的對象的集合。所以,類是對象的抽象,對象則是其對應(yīng)類的一個實(shí)例。
41.B對二叉樹的中序遍歷是指:首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。在遍歷左、右子樹時,注意依舊按照“左子樹一根結(jié)點(diǎn)一右子樹”的順序。本題的遍歷順序是這樣的:①首先訪問左予樹:BDEY;②在左子樹BDEY中,也按中序遍歷,先訪問左子樹DY;在左子樹DY中,也按中序遍歷,先訪問左子樹,左子樹沒有,則訪問根結(jié)點(diǎn)D,然后訪問右子樹Y;③接著訪問根B,再訪問右子樹E;④訪問左子樹BDEY后,接著訪問根結(jié)點(diǎn)A,接著訪問右子樹CFXZ;⑤右子樹CFXZ的訪問順序同理可得:FCZX。
42.B解析:本題中的二維數(shù)組的每個元素就是一個由3個元素構(gòu)成的一維數(shù)組,根據(jù)條件for(k=0;k<3;++)和要求的a[k][k]可以得出本題的答案應(yīng)該是951。
43.D解析:程序不僅是編寫完就結(jié)束了,為了測試和維護(hù)程序,往往還有其他人閱讀和跟蹤程序,因此程序設(shè)計(jì)的風(fēng)格應(yīng)該強(qiáng)調(diào)簡單和清晰,即程序的易讀性,“清晰第一,效率第二”。
44.A
45.D解析:根據(jù)結(jié)構(gòu)變量的存儲特點(diǎn),p+1意味著增加地址值為結(jié)構(gòu)體數(shù)組a的一個元素所占的字節(jié)數(shù),即p++使p由a[0]指向a[1]起始地址。本題++p->n得到p指向的結(jié)構(gòu)體變量中成員n的值使之加1。因?yàn)閜指向數(shù)組a起始地址,p->n的值為5,再掏打自加1運(yùn)行,結(jié)果為6。
46.D
47.D解析:20世紀(jì)70年代以來,提出了許多軟件設(shè)計(jì)方法,主要有①逐步求精:對復(fù)雜的問題,應(yīng)設(shè)計(jì)一些子目標(biāo)作過渡,逐步細(xì)化;②自頂向下:程序設(shè)計(jì)時應(yīng)先考慮總體,后考慮細(xì)節(jié);先考慮全局目標(biāo),后考慮局部目標(biāo)。不要一開始就過多追求眾多的細(xì)節(jié),先從最上層總目標(biāo)開始設(shè)計(jì),逐步使問題具體化;⑧模塊化:一個復(fù)雜問題,肯定是由若干稍簡單的問題構(gòu)成。模塊化是把程序要解決的總目標(biāo)分解為分目標(biāo),再進(jìn)一步分解為具體的小目標(biāo),把每個小目標(biāo)稱為一個模塊,而可復(fù)用是面向?qū)ο蟪绦蛟O(shè)計(jì)的一個優(yōu)點(diǎn)。
48.C解析:主函數(shù)中定義了一個整型變量a,一個整型指針變量b和一個二級指針變量c,并讓c指向指針變量b,讓指針b指向整形變量a,所以**c為變量a的值,所以,4個選項(xiàng)中選項(xiàng)C符合題意。
49.C解析:關(guān)于軟件測試的目的,GrenfordJ.Myers在《TheArtofSoftwareTesting》一書中給出了深刻的闡述:軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;一個好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯誤的用例;一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。整體來說,軟件測試的目的就是盡可能多地發(fā)現(xiàn)程序中的錯誤。本題答案為C。
50.D數(shù)據(jù)處理是指將數(shù)據(jù)轉(zhuǎn)換成信息的過程,故選項(xiàng)A敘述錯誤。數(shù)據(jù)的物理獨(dú)立性是指數(shù)據(jù)的物理結(jié)構(gòu)的改變,不會影響數(shù)據(jù)庫的邏輯結(jié)構(gòu),故選項(xiàng)B敘述錯誤。關(guān)系中的行稱為元組,對應(yīng)存儲文件中的記錄,關(guān)系中的列稱為屬性,對應(yīng)存儲文件中的字段,故選項(xiàng)C敘述錯誤。所以本題選D。
51.C解析:本題考查按位與“&”。因?yàn)?&1=1,0&0=0,所以任何數(shù)與自身按位與,結(jié)果仍為此數(shù),不發(fā)生變化。
52.C解析:定義結(jié)構(gòu)體類型的變量有幾種的方法如下:
①定義結(jié)構(gòu)體類型的同時,定義結(jié)構(gòu)體類型的變量,如下面的定義中在定義結(jié)構(gòu)體類型aa的同時定義了該類型的變量tdl。上述B)項(xiàng)中將宏名AA用宏體structaa替換進(jìn)去后,與該定義形式一樣,因此是正確的。這一定義形式中,結(jié)構(gòu)體類型名明是可以省略的,因此,D)項(xiàng)也是正確的。
structaa
{...
}tdl;
②先定義結(jié)構(gòu)體類型,然后再定義結(jié)構(gòu)體類型的變量,形式如下:
structaa
{
…
};
structaatdl;
這種定義形式也可演變?yōu)?,先用類型定義語句typedef將該結(jié)構(gòu)體類型定義成一個類型名AA,然后直接用該類型名AA去定義一個變量(這時不再需要使用關(guān)鍵字struct了)。這就是A)項(xiàng)的形式。
53.A解析:由于運(yùn)算符[]優(yōu)先級比*高,所以line是一個數(shù)組,每個數(shù)組元素是一個基類型為char的指針變量。
54.C
55.C
56.B解析:a=b=c+2實(shí)際上相當(dāng)于a=(b=c+2),進(jìn)而可分解為兩個表達(dá)式:b=c+2和a=b。注意:選項(xiàng)A)中包含一個不合法的運(yùn)算符“:=”;選項(xiàng)C)應(yīng)改為(int)18.5%3;選項(xiàng)D)可理解為兩個表達(dá)式:a+7=c+b和a=a+7,其中第一個是錯的,因?yàn)镃++語言規(guī)定賦值號的左邊只能是單個變量,不能是表達(dá)式或常量等。注意:C++語言賦值語句的運(yùn)用,
57.C解析:對象的封裝性是指從外面看只能看到對象的外部特性;而對象的內(nèi)部,其處理能力的實(shí)行和內(nèi)部狀態(tài)對外是不可見的,是隱蔽的。
58.C解析:叉樹的遍歷分為先序、中序、后序三種不同方式。本題要求中序遍歷,其遍歷順序應(yīng)該為:中序遍歷左子樹->,訪問根結(jié)點(diǎn)->中序遍歷右子樹.按照定義,中序遍歷序列是BDAECF,故答案為B。
59.D解析:觀察程序可知,a實(shí)際上就是數(shù)組a的首地址,所以“*(a+i)”表示的就是數(shù)組a中的第i個元素的值,進(jìn)而,我們可以知道*(*(a+i))必然不是對a數(shù)組元素的正確引用。
60.B解析:考查了測字符串長度函數(shù)strlen。如果一個字符數(shù)組中存放一個字符串,則函數(shù)strlen的值為'\\0'之前的全部字符個數(shù),也包括空格在內(nèi)。
61.B結(jié)構(gòu)體tt是一個遞歸定義,類似于鏈表,
通過成員變量Y鏈接起來。P=s+1指向s[1]。P一>Y指向8[2],但現(xiàn)在P->Y=s,因此s[2]=s[O],此時8[]={1.0,2.0,1.0},而P在s[1]位置,因此P_>x為2,P=P_>Y,P指向s[2],因此P_>x=1,故打印結(jié)果為2,1。答案為B選項(xiàng)。
62.B當(dāng)n為9時,此時if語句成立,執(zhí)行n++后,n為10,因此輸出n的值為10,故選擇B選項(xiàng)。
63.A
\n本題主要考查字符數(shù)組和指針,在c語言中,字符型數(shù)組在存放字符串時會自動在末尾加上\0,所以數(shù)組str有11個元素;ptr指向數(shù)組str的首地址,ptr+10是指向str[10],*(ptr+10)是引用str[10]的值。
\n
64.C任何一個C語言程序的執(zhí)行都是從主函數(shù)main開始,至主函數(shù)main結(jié)束。故本題答案為C選項(xiàng)。
65.B函數(shù)調(diào)用時,prt函數(shù)的作用是為使m數(shù)組中的數(shù)自增1,因此數(shù)組下標(biāo)從0開始,每個元素都自加1。
66.A用E—R圖可以描述實(shí)體及其相互之間的聯(lián)系,還可以描述多個實(shí)體集之間的聯(lián)系和一個實(shí)體集內(nèi)部實(shí)體之間的聯(lián)系。用E—R圖表示的概念數(shù)據(jù)模型不僅能轉(zhuǎn)換為關(guān)系數(shù)據(jù)模型,還可以轉(zhuǎn)換為其他數(shù)據(jù)模型,如網(wǎng)狀模型和層次模型等。所以A的說法正確。
67.C解析:軟件按功能可以分為:應(yīng)用軟件,系統(tǒng)軟件、支撐軟件(或工具軟件)。應(yīng)用軟件是為解決特定領(lǐng)域的應(yīng)用而開發(fā)的軟件。例如,事務(wù)處理軟件、工程與科學(xué)計(jì)算軟件,實(shí)時處理軟件,嵌入式軟件,人工智能軟件等應(yīng)用性質(zhì)不同的軟件。因此選項(xiàng)C教務(wù)管理系統(tǒng)屬于應(yīng)用軟件。系統(tǒng)軟件是計(jì)算機(jī)管理自身資源,提高計(jì)算機(jī)使用效率并為計(jì)算機(jī)用戶提供各種服務(wù)的軟件。如操作系統(tǒng),編譯程序,匯編程序,網(wǎng)絡(luò)軟件,數(shù)據(jù)庫管理系統(tǒng)等。因此選項(xiàng)A、B、D都屬于系統(tǒng)軟件。
68.D
\n當(dāng)i一0時,兩個if都不滿足,所以都不執(zhí)行,直接執(zhí)行i++語句,此時i為1,S為l,返回for循環(huán)中;當(dāng)i=1時,同樣不執(zhí)行兩個if語句,執(zhí)行i++后,i=2,s=3,返回for循環(huán)中;i=2時也不執(zhí)行if語句,執(zhí)行i++后,i=3,s=6,接著又執(zhí)行for循環(huán),此時符合第一個if語句,執(zhí)行到continue時不再執(zhí)行i++了,continue是跳出本次循環(huán),接著下次循環(huán)。永遠(yuǎn)這樣執(zhí)行下去,i的值永遠(yuǎn)為3,故選擇D選項(xiàng)。
\n
69.A具有良好的程序設(shè)計(jì)風(fēng)格是一個程序員必不可少的素質(zhì)。我們在編寫程序時要養(yǎng)成良好的程序設(shè)計(jì)習(xí)慣,對程序的要
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 總經(jīng)理蔡仲斌在集團(tuán)公司管理提升活動動員大會上的講話
- 2025年碳銨項(xiàng)目可行性研究報(bào)告
- 冷凍魚苗售賣合同范本
- 做飯保姆合同范本
- 債務(wù)轉(zhuǎn)移說明合同范例
- 保潔工人安全合同范本
- 出售照明工廠合同范本
- 公寓房裝修合同范例
- 2025年度金融產(chǎn)品廣告投放代理合同
- 代理股合同范本
- 年智慧水廠大數(shù)據(jù)信息化建設(shè)和應(yīng)用方案
- 光伏電纜橋架敷設(shè)施工方案
- 工人工資結(jié)清證明范本
- 腹腔引流管的護(hù)理常見并發(fā)癥的預(yù)防與處理規(guī)范
- 工地試驗(yàn)室質(zhì)量手冊
- 江蘇省船舶行業(yè)智能化改造數(shù)字化轉(zhuǎn)型實(shí)施指南(第二版)
- 高一寒假學(xué)習(xí)計(jì)劃表格
- 河北省建筑工程資料管理規(guī)程DB13(J) T 145 201
- 2023年廣東廣州期貨交易所招聘筆試參考題庫附帶答案詳解
- CKDMBD慢性腎臟病礦物質(zhì)及骨代謝異常
- 蘇教版科學(xué)(2017)六年級下冊1-2《各種各樣的能量》表格式教案
評論
0/150
提交評論