版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2021年河北省承德市全國計算機等級考試C語言程序設計測試卷一(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.
2.在所有的排序方法中,關鍵字比較的次數(shù)與記錄的初始排列次序無關的是()。
A.希爾排序B.冒泡排序C.直接插入排序D.直接選擇排序
3.下列說法不正確的是()。
A.調(diào)用函數(shù)時,實參可以是表達式
B.調(diào)用函數(shù)時,實參與形參可以共用內(nèi)存單元
C.調(diào)用函數(shù)時,將實參的值復制給形參,使實參變量和形參變量在數(shù)值上相等
D.調(diào)用函數(shù)時,實參與形參的類型必須一致
4.結(jié)構化程序設計方法的3種基本控制結(jié)構中不包括
A.循環(huán)結(jié)構B.遞歸結(jié)構C.順序結(jié)構D.選擇結(jié)構
5.下列敘述中正確的是()。
A.數(shù)據(jù)的邏輯結(jié)構與存儲結(jié)構必定是一一對應的
B.由于計算機存儲空間是向量式的存儲結(jié)構,因此,數(shù)據(jù)的存儲結(jié)構一定是線性結(jié)構
C.程序設計語言中的數(shù)組一般是順序存儲結(jié)構,因此,利用數(shù)組只能處理線性結(jié)構
D.以上三種說法都不對
6.
7.程序運行后的輸出結(jié)果是()。A.0304.B.2050C.3344D.3040
8.算法的空間復雜度是指()。
A.算法程序的長度B.算法程序中的指令條數(shù)C.算法程序所占的存儲空間D.算法執(zhí)行過程中所需要的存儲空間
9.設順序表的長度為n,則順序查找的平均比較次數(shù)為()
A.nB.n/2C.(n+1)/2D.(n-1)/2
10.
11.棧和隊列的共同點是()。
A.都是先進先出B.都是先進后出C.只允許在端點處插入和刪除元素D.沒有共同點
12.在有向圖G的拓撲序列中,若頂點Vi在頂點Vj之前,則下列情形不可能出現(xiàn)的是()。
A.G中有弧
B.G中有一條從Vi到Vj的路徑
C.G中沒有弧
D.G中有一條從Vj到Vi的路徑
13.表達式a*(-b+c)的逆波蘭式是()
A.ab-+c*B.abc-+*C.a*b-c+D.ab-c+*
14.以下說法正確的是()。
A.C語言只接受十進制的數(shù)
B.C語言只接受二進制、八進制、十六進制的數(shù)
C.C語言只接受二進制、十進制、十六進制的數(shù)
D.C語言只接受八進制、十進制、十六進制的數(shù)
15.
16.在非線性結(jié)構中,每個結(jié)點()。
A.無直接前趨
B.只有一個直接前趨和個數(shù)不受限制的直接后繼
C.只有一個直接前驅(qū)和后繼
D.有個數(shù)不受限制的直接前驅(qū)和后繼
17.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程
B.軟件從需求分析、設計、實現(xiàn)到測試完成的過程
C.軟件的開發(fā)過程
D.軟件的運行維護過程
18.以下不能將s所指字符串正確復制到t所指存儲空間的是()A.do{*t++=*s++;}while(*s);
B.for(=0;t[的]=s@];i++);
C.while(*t=*s){t++;s++}
D.for(i=0.j=0;t[i++]=sj++];);.
19.下列排序算法中,時間復雜度不受數(shù)據(jù)初始化狀態(tài)影響,恒為0(log2n)的是()。A.堆排序B.冒泡排序C.直接選擇排序D.快速排序
20.若有定義“inta[2][3],*p[3];”,則以下語句中正確的是()。
A.p=a;B.p[0]=a;C.p[0]=&a[1][2];D.p[1]=&a;
二、2.填空題(20題)21.軟什是程序、數(shù)據(jù)和______的集合。
22.下列程序的運行結(jié)果是______。
main()
{ints=0,i=1;
while(s<=10)
{S=S+i*i;
i++;
b
}
printf("%d",--i);
}
23.函數(shù)delete(s,i,n)的作用是從字符串s中刪除從第i個字符開始的n個字符,請?zhí)羁铡?/p>
voiddelete(chars[],inti,intn)
{intj,k,length=0;
whiles(length])
【】;
-i;
j=i;
}
if(【】)
{k=i+n;
if(i+n<=length)
while(k<length)
s[j++]=s[k++];
s[j]='\0';
}
24.有如下圖所示的雙鏈表結(jié)構,請根據(jù)圖示完成結(jié)構體的定義:
structaa
{intdata;
【】}node;
25.下列程序的運行結(jié)果是______。
#defineP(A)printf("%d",A)
main()
{intj,a[]={1,2,3,4,5,6,7),i=5;
for(j=3;j>1;j--)
{switch(j)
{case1:
case2:P(a[i++]);break;
case3:P(a[--i]);
}
}
}
26.已知字母A的ASCII碼為65。以下程序運行后的輸出結(jié)果是______。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,B);
}
27.數(shù)據(jù)結(jié)構分為線性結(jié)構和非線性結(jié)構,線性表、棧和隊列都屬于【】。
28.若有以下函數(shù)定義,函數(shù)返回值的類型是【】。
fun(doubleA)
{returna*a*a;}
29.以下程序的運行結(jié)果是()。
main()
(inta=2,b=7,c=5;
switch(a>0)
{case1:switch(b<0)
{case1:switch(");break;
case2:printf("!");break;
}
case0:switch(c==5)
{case0:printf("*");break;
case1:printf("#");break;
case2:printf("$");break;
}
default:printf("&");
}
printf("\n");
}
30.以下程序的輸出結(jié)果是______。
voidfun()
{staticinta=0;
a+=2;printf("%d",a);
}
main()
{intcc;
for(cc=1;cc<4;cc++)fun();
printf("\n");
}
31.以下程序用來統(tǒng)計文件中字符的個數(shù)。請?zhí)羁铡?/p>
#include“stadio.h”
main()
{FILE*fp;longnum=0L;
if((fp=fopen(“fname.dat”,“r”))==NULL);
{printf(“0penerror\n”);exit(0);}
while(【】)
{fsetc(fp);num++;}
printf(“num=%1d\n”,num-1);
fclose(fp);
}
32.為了便于對照檢查,測試用例應由輸入數(shù)據(jù)和預期的【】兩部分組成。
33.有以下程序:
#include<stdio.h>
main()
{intn=0,m=1,x=2;
if(!n)x-=1;
if(m)x-=2;
if(x)x-=3;
printf("%d\n",x);
}
執(zhí)行后的輸出結(jié)果是【】。
34.在使用putchar和getchar函數(shù)處理字符時,必須在程序的開頭出現(xiàn)包含頭文件的命令行是【】。
35.軟件需求規(guī)格說明書應具有完整性、無歧義性、正確性、可驗證性、可修復性等特性,其中最重要的是()。
36.下列程序執(zhí)行后輸出的結(jié)果是【】。
structs
{intx,y;}data[2]={10,100,20,200};
main()
{
structs*p=data;
printf("%d\n",++(p->x));
}
37.下列軟件系統(tǒng)結(jié)構圖的寬度為[]。
38.以下程序的運行結(jié)果是【】。
#include<stdio.h>
#defineMAX(a,b)(a>b?a:b)+1
main()
{inti=6,j=8,k;
printf("%d\n",MAX(i,j));
}
39.以下程序運行后的輸出結(jié)果是【】。
main()
{inta=3,b=4,c=5,t=99;
if(b<a&&a<c)t=-a;a=c;c=t;
if(a<c&&b<c)t=b;b=a;a=t;
printf("%d%d%d\n",a,b,c);
}
40.數(shù)據(jù)結(jié)構包括數(shù)據(jù)的邏輯結(jié)構、數(shù)據(jù)的【】以及對數(shù)據(jù)的操作運算。
三、1.選擇題(20題)41.下面程序的輸出結(jié)果是()main(){inti,f1,f2;f1=f2=1;for(i=0;i<4;i++){printf(”%d%d”,f1,f2);f1+=f2;f2+=f1;}}
A.12345678
B.1123581321
C.1135791113
D/p>
42.設有如下的變量定義;inti=8,k,a,b;unsingedlongw=5;doublex=1.42,y=5.2則以下符合C語言語法的表達式是()
A.a+=a-=(b=4)*(a=3)B.x%(-3);C.a=a*3=2D.y=float(i)
43.有以下程序:main(){intx[8]={8,7,6,5,O,0},*s;s=x+3;printf("%d\n",s[2]);}執(zhí)行后輸出結(jié)果是()。
A.隨機值B.0C.5D.6
44.在下列關于邏輯表達式a&&b的敘述中,錯誤的一條是()
A.若a為真、b為真,則a&&b為真
B.若a為真、b為假,則a&&b為假
C.若a為假、b為真,則a&&b為真
D.若a為假、b為真,則a&&b為假
45.在數(shù)據(jù)流圖(DFD)中,帶有名字的箭頭表示______。
A.控制程序的執(zhí)行順序B.模塊之間的調(diào)用關系C.數(shù)據(jù)的流向D.程序的組成成分
46.下列程序執(zhí)行后的輸出結(jié)果是______。main(){intm[][3]={1,4.7,6,5,8,3,6,9};inti,k=2for(i=0,i<3;i++){printf("%d",m[k][i];}}
A.456B.258C.369D.789
47.以下對枚舉類型名的定義中正確的是()
A.enuma={one,two,three};
B.enuma{one=9,two=-1,three=200};
C.enuma={"one","two","four"};
D.enuma{"nine","two","three"};
48.在C語言中,不適用于局部變量的存儲類說明符是()
A.autoB.registerC.staticD.extern
49.有下列程序:
main()
{intt,a=1,b=5,C=-2;
while(a>b>C)
{t=a;a=b;b=t;c++;}
printf("%d,%d,%d",a,b,C);
}
程序的輸出結(jié)果是()。
A.1,5,0B.1,5,-2C.5,1,-1D.5,1,-2
50.有以下程序intx=3;do{printf("%d",x-=2);}while(!(--x));程序運行后的輸出結(jié)果是()
A.1B.30C.1,-2D.死循環(huán)
51.以下能正確定義一維數(shù)組的選項是______。
A.inta[5]={0,1,2,3,4,5};
B.chara[]={0,1,2,3,4,5};
C.chara={'A','B','C'};
D.inta[5]="0123";
52.下列選項中不屬于結(jié)構化程序設計方法的是()。
A.自頂向下B.逐步求精C.模塊化D.可復用
53.下列字符串是合法的標識符的是()。
A._HJB.9_studentC.longD.LINE1
54.有以下程序:#include<stdio.h>main(){inti,j;for(i=3;i>=1;i-){for(j=1;j<=2;j++)printf("%d",i+j);printf("\n");}}程序運行的結(jié)果是()。
A.234B.432C.23D.4534554334344523
55.簡單的交換排序方法是()。
A.快速排序B.選擇排序C.堆排序D.冒泡排序
56.數(shù)據(jù)流圖用于抽象描述一下軟件的邏輯模型,數(shù)據(jù)流圖由一些特定的圖符構成。下列圖符名標識的圖符不屬于數(shù)據(jù)流圖合法圖符的是______。
A.控制流B.加工C.數(shù)據(jù)存儲D.源和潭
57.用黑盒技術測試用例的方法之一為
A.因果圖B.邏輯覆蓋C.循環(huán)覆蓋D.基本路徑測試
58.若有如下定義:intx=3,y=2,Z;則表達式Z=X/y*3.0的值是()。
A.2B.2C.3D.3
59.軟件危機是大型軟件開發(fā)中出現(xiàn)的現(xiàn)象,下列選項中的______是其主要表現(xiàn)。
①軟件生產(chǎn)的復雜性。
②軟件生產(chǎn)進度無法控制。
③軟件生產(chǎn)高成本、無法控制。
④軟件需求定義不準確。
A.全部B.②和③C.①、②和④D.②和④
60.在軟件測試設計中,軟件測試的主要目的是
A.實驗性運行軟件B.證明軟件正確C.找出軟件中全部錯誤D.盡可能多地發(fā)現(xiàn)軟件中的錯誤
四、選擇題(20題)61.
62.有以下程序main(){chara[7]="a0\0a0\0";inti,j;i=sizeof(a);j=strlen(a);printf("%d%d\n",i,j);}程序運行后的輸出結(jié)果是______。
A.22B.76C.72D.62
63.在數(shù)據(jù)庫管理系統(tǒng)DBMS中,用來定義內(nèi)模式和外模式等一些數(shù)據(jù)庫管理系統(tǒng)中其他結(jié)構的語言為
A.CB.BasicC.DDLD.DML
64.
65.在面向?qū)ο蠓椒ㄖ校粋€對象請求另一對象為其服務的方式是通過發(fā)送()。A.調(diào)用語句B.命令C.口令D.消息
66.
67.
有下列程序:
voidsort(inta[],intn)
{inti,j,t;
for(i=0;i<n-l;i++)
for(j=i+1;j<n;j++)
if(a[i]<a[j]){t=a[i];a[i]一a[j];a[j]=t;}
}
main
{intaa[10]:{1,2,3,4,5,6,7,8,9,10),i;
sort(aa+2,5);
for(i=0;i<10;i++)printf("%d,",aa[i]);
printf("\n");
}
程序運行后的輸出結(jié)果是()。
A.1,2,3,4,5,6,7,8,9,l0,
B.1,2,7,6,3,4,5,8,9,10,
C.1,2,7,6,5,4,3,8,9,10,
D.1,2,9,8,7,6,5,4,3,10,
68.
69.
70.
71.在數(shù)據(jù)庫管理系統(tǒng)的層次結(jié)構中,處于最上層的是()。
A.應用層B.語言翻譯處理層C.數(shù)據(jù)存取層D.數(shù)據(jù)存儲層
72.若有定義語句:“charsE10]="1234567\0\0";”,則strlen(s)的值是()。A.A.7B.8C.9D.10
73.
74.
75.
76.
77.(66)為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為()
A.PAD圖
B.N-S圖
C.結(jié)構圖
D.數(shù)據(jù)流圖
78.軟件需求分析一般應確定的是用戶對軟件的______。
A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求
79.有以下程序
#include"stdio.h"
#defineM(x,y)(x)*(y)
#defineN(x,y)(x)/(y)
main()
{inta=5,b=6,c=8,k;
k=N(M(a,b),c);
printf("%d\n",k);
}
程序的運行結(jié)果是
A.3B.5
C.6D.8
80.若i、j已定義成mt型,則下列程序段中內(nèi)循環(huán)體的總執(zhí)行次數(shù)是()。for(i=6;i>0;i--)for(j=0;j<4;j++){…}A.20B.24C.25D.30
五、程序改錯題(1題)81.給定程序中,函數(shù)fun的功能是:首先把b所指字符串中的字符按逆序存放,然后將a所指字符串中的字符和b所指字符串中的字符:按排列的順序交叉合并到C所指數(shù)組中,過長的剩余字符接在C所指的數(shù)組的尾部。例如,當a.所指字符串中的內(nèi)容為“abcdef9”,b所指字符串中的內(nèi)容為“1234”時,c所指數(shù)組中的內(nèi)容應“a4b3c2dlef9”;而當a所指字符串中的內(nèi)容為“1234”,b所指字符串的內(nèi)容為“abcdef9”時,c所指數(shù)組中的內(nèi)容應該為“l(fā)g2f3e4dcba”。請改正程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main函數(shù),不得增行或刪行,也不得更改程序的結(jié)構!試題程序:
六、程序設計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),該函數(shù)的功能是判斷字符串是否為回文,若是,則函數(shù)返回1,在主函數(shù)中輸出“YES”,否則返回0,在主函數(shù)中輸出“NO”?;匚淖址侵疙樧x和倒讀都一樣的字符串。例如,字符串LEVEL是回文,而字符串123312就不是回文。注意:部分源程序在文件prog1.c中。第3部分無紙化考武題庠請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:1#include2#defineN803intfun(char*str)4{56}7main()8{9chars[n];10FILE*out;11char*test[]={"1234321","123421","123321","abcdCBA"};12inti;13printf("Enterastring:");14gets(s);15printf("\n\n");16puts(s);17if(fun(s))18printf("YES\n");19else20printf("NO\n");21/******************/22out=fopen("out.dat","w");23for(i=0;i<4/i++)24if(fun(test[i]))25fprintf(out,"YES\n");26else27fprintf(out,"NO\n");28fclose(out);29/******************/30}
參考答案
1.C
2.D
3.B
\n本題考查函數(shù)調(diào)用的基本概念。調(diào)用函數(shù)時,實參的形式可以是具體的數(shù)值,也可以是表達式。實參將數(shù)值或表達式的值傳遞給形參,因而兩者的類型必須保持一致;形參在運算過程中會發(fā)生改變,但不一定會影響到實參值,所以可知兩者不共用內(nèi)存單元。
\n
4.B解析:本題考查了程序的基本結(jié)構。程序由一些基本結(jié)構組成。任何一個大型的程序都由3種基本結(jié)構組成,由這些基本結(jié)構順序的構成了一個結(jié)構化的程序。這3種基本結(jié)構為:順序結(jié)構、選擇結(jié)構和循環(huán)結(jié)構。
5.D解析:一般來說,一種數(shù)據(jù)的邏輯結(jié)構根據(jù)需要可以表示成多種存儲結(jié)構,因此,數(shù)據(jù)的邏輯結(jié)構與存儲結(jié)構不一定是一一對應的。選項A中的說法是錯誤的。雖然計算機的存儲空間是向量式的存儲結(jié)構,但由于一種數(shù)據(jù)的邏輯結(jié)構根據(jù)需要可以表示成多種存儲結(jié)構,例如,線性鏈表是線性表的鏈式存儲結(jié)構。一般來說,性表的鏈式存儲結(jié)構中,各數(shù)據(jù)結(jié)點的存儲序號是不連續(xù)的,并且各結(jié)點在存儲空間中的位置關系與邏輯關系也不一致。性鏈表中,各數(shù)據(jù)元素之間的前后件關系是由各結(jié)點的指針域來指示的。因此,數(shù)據(jù)的存儲結(jié)構不一定是線性結(jié)構。選項B中的說法也是錯誤的。雖然程序設計語言中的數(shù)組一般是順序存儲結(jié)構,但是,利用數(shù)組也能處理非線性結(jié)構。例如,滿二叉樹與完全二叉樹是非線性結(jié)構,但對于滿二叉樹與完全二叉樹來說,根據(jù)完全二叉樹的性質(zhì)6,可以按層序進行順序存儲,即利用程序設計語言中的數(shù)組來存儲,這樣,不僅節(jié)省了存儲空間,又能方便地確定每一個結(jié)點的父結(jié)點與左右子結(jié)點的位置。對于一般的二叉樹來說,也可以將二叉樹中每一個結(jié)點的左指針、右指針以及數(shù)據(jù)域分別用三個數(shù)組中的對應元素來存儲,即實際上也是利用了程序設計語言中的數(shù)組來處理二叉樹這樣的非線性結(jié)構。選項C中的說法也是錯誤的。綜上所述,選項A、B與C中的說法都是錯誤的。
6.D
7.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.
8.D【解析】算法的空間復雜度是指執(zhí)行這個算法所需要的內(nèi)存空間。一個算法所占用的存儲空間包括算法程序所占的空間、輸入的初始數(shù)據(jù)所占的存儲空間以及算法執(zhí)行中所需要的額外空間。其中額外空間包括算法程序執(zhí)行過程中的工作單元以及某種數(shù)據(jù)結(jié)構所需要的附加存儲空間。如果額外空間量相對于問題規(guī)模來說是常數(shù),則稱該算法是原地工作的。在許多實際問題中,為了減少算法所占的存儲空間,通常采用壓縮存儲技術,以便盡量減少不必要的額外空間。
9.C
10.D
11.C解析:棧和隊列都是一種特殊的操作受限的線性表,只允許在端點處進行插入和刪除。二者的區(qū)別是:棧只允許在表的一端進行插入或刪除操作,是一種“后進先出”(或“先進后出”)的線性表;而隊列只允許在表的一端進行插入操作,在另一端:進行刪除操作,是一種“先進先出”(或“后進后出”)的線性表。因此棧和隊列的共同點是只允許在端點處插入和刪除元素。
12.D若G中有一條從Vj到Vi的路徑,則圖的拓撲序列中頂點Vj在頂點Vi之前。設G(V,E)是一個具有n個頂點的有向圖,V中頂點的序列v1,v2,…,vn稱為一個拓撲序列,當且僅當該頂點滿足下列條件:若在有向圖G中,從頂點vi在vj有一條路徑,則在拓撲序列中頂點vi必須排在頂點vj之前。
13.D
14.DC語言中,整型常量可以用十進制、八進制和十六進制表示。故本題答案為D選項。
15.D
16.D
17.A通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為軟件生命周期。也就是說,軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。
18.A[解析]do{*t++=*s++;}while(*s);不能因為當*s=^0'時,while(*s)跳出循環(huán),這樣字符串結(jié)束標志“0沒有復制給*t,造成*t不完整。\u3000\u3000注意,*t++=*s++是先執(zhí)行t=*s,然后才進行t=t+1.s=s+1.B),C),D)三項都能將“0復制過去。
19.D
20.CA選項錯誤,因為p是指向一個指針數(shù)組,而數(shù)組名相當于常量,不能重新賦值。B選項錯誤,因為p[0]是一個int指針,也就是int*,而a是一個指向指針的指針int**。C選項正確,因為p[0]是int*,a[1][2]是int,&a[1][2]是int*,類型吻合。D選項錯誤,因為a作為數(shù)組名,不能取地址,即使能取,P[1]是int*,&a是int***,類型不吻合。故本題答案為C選項。
21.文檔文檔解析:計算機軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關文檔的完整集合。
22.33解析:分析程序運行過程,第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。
23.length++i<lengthlength++\r\ni<length解析:第—個循環(huán)極有可能是計算串的長度,在i<=length時字符才被刪除,被刪除的是從第i個到笫i+n或最后—個間的所有字符。刪除前,應判斷i<=length。由于已經(jīng)進行了-i運算,故實際應填入i<length。
24.structaa*lhead*rchild;structaa*lhead,*rchild;解析:結(jié)構體對鏈表的定義。
25.5555解析:分析程序執(zhí)行過程,第一次循環(huán)時,j=3,i=5。因為switch(3),所以執(zhí)行case3,調(diào)用P(a[--i])=P(a[4])=P(5),輸出5;第二次循環(huán)時,j=2,i=4,因為switch(2),所以執(zhí)行case2,調(diào)用P(a[i++])-P(a[4])=P(5),輸出5,之后i自加等于5。
26.67G67G解析:字符型變量中保存的是某個字符的ASCII碼值,是一個整數(shù),因此字符型變量的算術運算和整型變量并無區(qū)別。所以。a='A'+'5'-'3'='A'+('5'='3')='A'+2=65+2=67:b=a+'6'='2'='C'+('6'-'2')='C'+4='G'。最后分別按十進制整數(shù)和字符形式輸出a和b的值為:67G。
27.線性結(jié)構線性結(jié)構解析:本題考查了數(shù)據(jù)結(jié)構的基本概念。與棧類似,隊列也是線性表,可以采用鏈式存儲結(jié)構,所以帶鏈的隊列屬于線性結(jié)構。
28.int類型int類型
29.#&#&解析:剛開始時,switch后面的表達式a>0為真(1),與case1匹配,然后執(zhí)行case1后面的switch語句,表達式b<0值為0,沒有與其匹配的語句,返回外層,因為外層沒有break語句,順序執(zhí)行case0后面的switch語句,表達式“c==5”值為1,與其后面的case1匹配,因此輸出#,遇到break返回外層,又因為外層沒有break語句,順序執(zhí)行default后的語句,輸出&。
30.246
31.!feof(fP)!feof(fP)解析:統(tǒng)計文件中字符個數(shù)的算法可描述如下:首先判斷文件位置指針是否指向了文件尾,如果不是則讀出一個字符,同時字符的個數(shù)加1,再判斷文件位置指針是否位于文件尾,如此循環(huán),直到文件位置指針位于文件尾為止。本題首先以讀文件的方式打開了文件“fname.dar”,如果打開成功則把返回的文件型指針賦值給fp,然后通過循環(huán)求文件中的字符數(shù)。首先判斷文件位置指針是否位于文件尾,如果不是則循環(huán)讀取字符,每次字符數(shù)加1。所以下劃處應填循環(huán)條件,文件位置指針不是指向文件尾,即“!feof(fp)”。
32.輸出結(jié)果輸出結(jié)果解析:注意:測試的基本方法和步驟。
33.-4-4解析:因為n=0,所以!n為真,執(zhí)行x-=1;得到x=x=2-1=1;m=1為真,執(zhí)行x-=2;得到x=x-2=1-2=-1;x=-1為真,執(zhí)行x-=3;得到x=x-3=-1-3=-4。
34.#include"stdio.h"#include'stdio.h'解析:使用putchar和getchar函數(shù)時,必須在程序的開頭出現(xiàn)包含頭文件#include'stdio.h'的命令行。putchar的函數(shù)調(diào)用形式為:putchar(字符變量或字符常量);getchar函數(shù)的調(diào)用形式為:變量=getchar();getchar后的一對圓括號內(nèi)沒有參數(shù),但這一對圓括號不可少。
35.正確性正確性解析:軟件需求規(guī)格說明書是需求分析階段的最后成果,通過建立完整的信息描述、詳細的功能和行為描述、性能需求和設計約束的說明、合適的驗收標準,給出對目標軟件的各種需求。軟件需求規(guī)格說明書的特點:①正確性;②無歧義性;③完整性;④可驗證性;⑤一致性;⑥可理解性;⑦可追蹤性。其中最重要的是正確性。
36.1111解析:程序中結(jié)構體數(shù)組data首地址(即&data[0])賦值給結(jié)構體指針變量p,++(P->x)表示先將p所指向的結(jié)構體變量的成員x值加1,然后將此x(即data[0].x)輸出。
37.33解析:軟件系統(tǒng)結(jié)構圖的寬度:整體控制跨度(最大模塊數(shù)的層)的表示。
38.99解析:本題考查宏定義與三目運算符的綜合應用。宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為整個表達式的值,否則b+1的值為整個表達式的值(應注意后面的加1)。
39.45994599解析:if語句只對緊跟其后的一條語句或語句塊產(chǎn)生作用。因此,題目中兩條if語句只有t=a;和t=b是if的子句。第1條if語句中b<a為假,所以跳過語句t=-a;,執(zhí)行a=c;c=t,a=5、b=4、c=99。第2條if語句的判斷條件a<c&&b<c為真,所以后面3條語句都被執(zhí)行,這3條語句構成一次a和b的內(nèi)容交換。所以最后輸出的結(jié)果是:4599。
40.存儲結(jié)構數(shù)據(jù)結(jié)構包括3個方面,即數(shù)據(jù)的邏輯結(jié)構、數(shù)據(jù)的存儲結(jié)構及對數(shù)據(jù)的操作運算。
41.B
42.A
43.B解析:通過賦值語句“s=x+3”,使指針變量s指向數(shù)組元素x[3],輸出語句中的spl等價于*(s+2),即x[5]值為0。所以,B選項為所選。
44.C
45.C解析:數(shù)據(jù)流相當于一條管道,并有一級數(shù)據(jù)(信息)流經(jīng)它。在數(shù)據(jù)流圖中,用標有名字的箭頭表示數(shù)據(jù)流。數(shù)據(jù)流可以從加工流向加工,也可以從加工流向文件或從文件流向加工,并且可以從外部實體流向系統(tǒng)或從系統(tǒng)流向外部實體。
46.C解析:根據(jù)二維數(shù)組的定義得出:m[0][0]=1,m[0][1]=4,m[0][2]=7,m[1][0]=2,m[1][1]=5,m[1][2]=8,m[2][0]=3,m[2][1]=6,m[2][2]=9,所以本題的輸出是第3行的值m[2][0],m[2][1],m[2][2],即369。
47.B解析:枚舉類型的定義類似于結(jié)構體和共用體,所以選項A和C不正確。大括號中的枚舉元素應該使用合法標識符來定義,而不是字符串常量,所以選項D不正確。故應該選擇B。
48.D
49.A解析:本題考查while循環(huán)。先判斷while循環(huán)的控制表達式是否成立,發(fā)現(xiàn)a>b>c不成立,所以不執(zhí)行循環(huán)。直接輸出a、b、c的值。
50.C
51.B解析:選項A)定義的是長度為5的數(shù)組元素,但初值有6個元素,所以錯誤;選項C)不符合數(shù)組定義形式,數(shù)組名后應加上“[];選項D)的類型說明符錯誤,應改為char;選項B)中的0,1,2,3,4,5分別表示對應字符的ASCII碼,所以正確。
52.D解析:20世紀70年代以來,提出了許多軟件設計方法,主要有①逐步求精:對復雜的問題,應設計一些子目標作過渡,逐步細化;②自頂向下:程序設計時應先考慮總體,后考慮細節(jié);先考慮全局目標,后考慮局部目標。不要一開始就過多追求眾多的細節(jié),先從最上層總目標開始設計,逐步使問題具體化;⑧模塊化:一個復雜問題,肯定是由若干稍簡單的問題構成。模塊化是把程序要解決的總目標分解為分目標,再進一步分解為具體的小目標,把每個小目標稱為一個模塊,而可復用是面向?qū)ο蟪绦蛟O計的一個優(yōu)點。
53.A解析:標識符是以字母、數(shù)字和下劃線組成的字符串,且只能是字符或下劃線開頭,且C語言的關鍵字不能用作用戶自定義的標識符。注意:熟記C語言中常用的關鍵字。
54.D解析:本題主要考查for循環(huán)語句的嵌套。外層主循環(huán)執(zhí)行了3次,嵌套的循環(huán)語句每輪執(zhí)行2次,每次輸出i+j的值,推出嵌套循環(huán)語句后換行。
55.D解析:所謂的交換類排序方法是指借助數(shù)據(jù)元素之間的互相交換進行排序的一種方法,包括冒泡排序和快速排序,冒泡排序是一種最簡單的交換排序方法,它通過相鄰元素的交換,逐步將線性表變成有序。
56.A解析:數(shù)據(jù)流圖從數(shù)據(jù)傳遞和加工的角度,來刻畫數(shù)據(jù)流從輸入到輸出的移動變換過程。數(shù)據(jù)流圖中的主要圖形元素有:加工(轉(zhuǎn)換)、數(shù)據(jù)流、存儲文件(數(shù)據(jù)源)、源和潭。
57.A解析:黑盒測試主要方法有等價值劃分法,邊界值分析法。錯誤推測法、因果圖法等。白盒測試的主要方法有邏輯覆蓋、基本路徑測試循環(huán)覆蓋等。因此只有A屬于黑盒測試。
58.C解析:變量z被定義為整型,所以選項B和D不符合題意,首先被排除。變量x和y也被定義為整型,所以表達式x/y的值為整數(shù)1,最后z被賦值為3,選項C正確。
59.A
60.D解析:使用人工或自動手段來運行或測定某個系統(tǒng)的過程,其目的在于檢驗它是否滿足規(guī)定的需求或是弄清預期結(jié)果與實際結(jié)果之間的差別。軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程。測試要以查找錯誤為中心,而不是為了演示軟件的正確功能。
61.D
62.C題目中需要求出程序的輸出值i,j,其中i的值由sizeof決定,j的值由strlen函數(shù)決定。
sizeof是C語言的一種運算符,以字節(jié)的形式給出操作數(shù)的存儲空間的大小。sizeof的操作對象可以是具體的數(shù)據(jù)類型,也可以是變量。題目中的操作數(shù)為數(shù)組名,利用sizeof可計算出數(shù)組所占用內(nèi)存的字節(jié)數(shù),題目
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 自動報靶器課程設計
- 自行車cad課程設計
- 有關趣味數(shù)學的課程設計
- 幼兒園銅鼓主題課程設計
- 網(wǎng)絡技術課程設計
- 系統(tǒng)規(guī)劃課程設計
- 椅子美背課程設計
- 新材料行業(yè)技術工作總結(jié)
- 建筑行業(yè)推廣方案分享
- 電動車課程設計摘要
- 電梯維護保養(yǎng)分包合同
- 10以內(nèi)連加減口算練習題完整版139
- 2022-2023學年廣東省廣州市海珠區(qū)六年級(上)期末英語試卷(含答案)
- 2024至2030年中國瀝青攪拌站行業(yè)市場現(xiàn)狀調(diào)研及市場需求潛力報告
- 《平凡的世界》整本書閱讀指導教學設計基礎模塊上冊
- 2024政務服務綜合窗口人員能力與服務規(guī)范考試試題
- (高清版)AQ 2002-2018 煉鐵安全規(guī)程
- 虛擬現(xiàn)實與增強現(xiàn)實
- 08J933-1體育場地與設施(一)
- 生豬屠宰獸醫(yī)衛(wèi)生檢驗人員理論考試題庫及答案
- 課題論文:引領新經(jīng)濟加速新質(zhì)生產(chǎn)力發(fā)展
評論
0/150
提交評論