版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
2022-2023年四川省攀枝花市全國計算機等級考試C語言程序設計測試卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.軟件需求分析一般應確定的是用戶對軟件的______。
A.功能需求B.非功能需求C.性能需求D.功能需求和非功能需求
2.以下語句定義正確的是()A.A.inta[1][4]-{1,2,3,4,5};
B.floata[3][]={{1},{2},{3}};
C.longa[2][3]={{1},{1,2},{1,2,3},{0,0)};
D.doublea[][3]={O);
3.有以下程序
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;
*q=*(p+5);
printf("%d%d\n",*p,*q);
}
程序運行后的輸出結果是A.運行后報錯B.66C.611D.510
4.C語言提供的合法的數(shù)據(jù)類型關鍵字是()。
A.DoubleB.shortC.integerD.Char
5.以下敘述中正確的是()。
A.預處理命令行必須位于C源程序的起始位置
B.在C語言中,預處理命令行都以“#”開頭
C.每個C程序必須在開頭包含預處理命令行:#include
D.C語言的預處理不能實現(xiàn)宏定義和條件編譯的功能
6.在學生管理的關系數(shù)據(jù)庫中,存取一個學生信息的數(shù)據(jù)單位是()。
A.文件B.數(shù)據(jù)庫C.字段D.記錄
7.有以下結構體說明、變量定義和賦值語句:structSTD{charname[10];intage;charsex;}s[5],*ps;ps=&s[0];則下列scanf函數(shù)調(diào)用語句有錯誤的是()。
A.scanf(“%s”,s[0].name);
B.scanf(“%d”,&s[0].age);
C.scanf(“%c”,&(ps->sex));
D.scanf(“%d”,ps->age);
8.在非線性結構中,每個結點()。
A.無直接前趨
B.只有一個直接前趨和個數(shù)不受限制的直接后繼
C.只有一個直接前驅和后繼
D.有個數(shù)不受限制的直接前驅和后繼
9.下面程序的運行結果是
#include<stdio.h>
voiddelch(char*s)
{inti,j;
char*a;
a=s;
for(i=0,j=0;a[i]!=′\n′;i++)
if(a[i]>=′0′&&a[i]<=′9′)
{s[j]=a[i];j++;}
s[j]=′\0′;}
main()
{char*item="a34bc";
delch(item);
printf("\n%s",item);}
A.abcB.34C.a34D.a34bc
10.以下關于long、int和short類型數(shù)據(jù)占用內(nèi)存大小的敘述中正確的是(),
A.均占4個字節(jié)B.根據(jù)數(shù)據(jù)的大小來決定所占內(nèi)存的字節(jié)數(shù)C.由用戶自己定義D.由C語言編譯系統(tǒng)決定
11.有以下程序#include<stdio.h>main(){charcl,c2;c1=A+8-4c2=A+8-5;printf("%C,%d\n",cl,c2);}已知字母A的ASCIl碼為65,程序運行后的輸出結果是()。A.E,69B.D,69C.E,DD.輸出無定值
12.若有序表的關鍵字序列為(b,c,d,e,f,g,q,r,s,t),則在二分查找關鍵字b的過程中,先后進行的關鍵字依次為()
A.f,c,BB.f,d,BC.g,c,BD.g,d,B
13.由權值分別為3,8,6,2,5的葉子結點生成一棵哈夫曼樹,它的帶權路徑長度為________。
A.24B.48C.72D.53
14.若有以下程序段intm=0xabc,n=0xubc;m-=n;printf("%X\n",m);執(zhí)行后輸出結果是
A.0X0B.0x0C.0D.0XABC
15.有以下程序:#include<stdio.h>main(){intx=072;printf(“>%d<\n”,x+1);}程序運行后的輸出結果是()。
A.>073<B.>73<C.>142<D.>59<
16.若有定義int?x,y;并已正確給變量賦值,則以下選項中與表達式(x-y)?(x++):(y++)中的條件表達式(x-y)等價的是()。A.(x-y<0|x-y>0)B.(x-y<0)C.(x-y>0).D.(x-y==0)
17.
18.下列描述中,不是線性表順序存儲結構特征的是
A.不便于插入和刪除B.需要連續(xù)的存儲空間C.可隨機訪問D.需另外開辟空間來保存元素之間的關系
19.在下列關系運算中,不改變關系表中的屬性個數(shù)但能減少元組個數(shù)的是A.并B.交C.投影D.笛卡兒乘積
20.以下程序的運行結果是#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.存在語法錯誤C.Y=7D.Y=0
二、2.填空題(20題)21.下列程序的輸出結果是______。
#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);
}
22.下列程序的輸出結果是______。
main()
{inta[]={31,27,20,12,6,1},*p=a;
p++;
printf("%d\n",*(p+2));
}
23.通常,將軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程稱為【】。
24.若要使指針p指向一個double類型的動態(tài)存儲單元,請?zhí)羁铡?/p>
p=【】malloc(sizeof(double));
25.在面向對象方法中,類的實例稱為______。
26.軟件測試是保證軟件質(zhì)量的重要手段,而軟件測試的主要和重要的測試方法是通過測試數(shù)據(jù)和【】的設計來實現(xiàn)。
27.下列程序的運行結果是______。
main()
{intx=1,y=2,z=3;
printf("%d,",x<y?y:x);
printf("%d,",z<y?x++:y++);
printf("%d,%d",x,y);
}
28.下列程序的運行結果是______。
#include<stdio.h>
func(a,b)
{staticintm=0,i=2;
i+=m+1;
m=i+a+b;
return(m);
}
main()
{intk=5,m=3,p;
p=fune(k,m);
printf("%d",p);
p=func(k,m);
printf("%d\n",p);
}
29.fseek函數(shù)的正確調(diào)用形式是【】。
30.\13'在內(nèi)存中占1個字節(jié),"\12"在內(nèi)存中占______個字節(jié)。
31.下列程序的運行結果是______。
#include<stdio.h>
func(a,b)
{staticintm=0,i=2;
i+=m+1;
m=i+a+b;
return(m);
}
main()
{intk=5,m=3,p;
p=func(k,m);
printf("%d",p);
p=func(k,m);
printf("%d、n",p);
}
32.以下程序運行后的輸出結果是【】。
main()
{
charc1,c2;
for(c1='0',c2='9';c1<c2;c1++,c2--)
printf("%c%c",c1,c2);
printf("\n");
}
33.若輸入thistestterminal,以下程序的輸出結果為:terminaltestthis。請?zhí)羁铡?/p>
#defineMAXLINE20
【】
{inti;
char*pstr[3],str[3][MAXLINE];
for(i=0;i<3;++)pstr[i]=str[i];
for(i=0;i<3;i++)scanf("%s",pstr[1]);
sort(pstr);
for(i=0;i<3;i++)prntf("%s",pstr[i]);
}
sort(【】)
char*pstr[3];
{inti,j;
char*p;
for(i=0;i<3;i++)
for(j=i+1;j<3;j++)
if(strcmp(*(pstr+i,*(pstr+j)>0
{p=*(pstr+i);
*(pstr+i=【】;
*(pstr+j)=p;
}
34.若有程序:
main()
{inti,j;
scanq("i=%d,j=%d",&i,&j);
printf("i=%d,j=%d\n",i,j);
}
要求給i賦10,給j賦20,則應該從鍵盤輸入【】。
35.以下sstrcpy()函數(shù)實現(xiàn)字符串復制,即將t所指字符串復制到s所指向內(nèi)存空間中,形成一個新的字符串s。請?zhí)羁铡?/p>
voidsstrcpy(char*s,char*t)
{while(*s++=______);}
main()
{charstr1[100],str2[]="abcdefgh";
sstrcpy(str1,str2);
printf("%s\n",str1);
}
36.若x和y都是double型變量,且x的初值為3.0,y的初值為2.0,則表達式pow(y,fabs(x))的值為【】。
37.在關系數(shù)據(jù)庫中把數(shù)據(jù)表示成二維表,每一個二維表稱為【】。
38.深度為5的滿二叉樹中,葉子結點的個數(shù)為______。
39.下面程序的輸出是【】。
main()
{intarr[10],i,k=0;
for(i=0;i,10;i++)arr[i]=i;
for(i=1;i<4;i++)k+=arr[i]+i;
printf("%d\n",k);
}
40.閱讀下面語句,則程序的執(zhí)行結果是【】。
#include"stdio.h"
main()
{inta=-1,b=1,k;
if((++a<0)&&!(b--<=0))
printf("%d,%d\n",a,b);
elseprintf("%d,%d\n",b,a);}
三、1.選擇題(20題)41.下列程序中c的二進制值是()。chara=2,b=4,c;c=ab>>2:
A.11B.10100C.11100D.11000
42.以下程序的輸出結果是(){intx=05;charz='a';printf("%d\n",(x&1)&&(z<'z'));}
A.0B.1C.2D.3
43.檢查軟件產(chǎn)品是否符合需求定義的過程稱為()。
A.確認測試B.集成測試C.驗證測試D.驗收測試
44.有以下程序:#include<stdio.h>#defineF(X,Y)(X)*(Y)main(){inta=3,b=4;printf("%d\n",F(xiàn)(a++,b++));}程序運行后的輸出結果是()。
A.12B.15C.16D.20
45.若有如下程序:sub(p,n)int(*p)[3],n;{inti;for(i=0;i<=n;i++)printf("%d",p[i][2]);}main(){ints[3][3]={1,2,3,4,5,6,7,8,9};sub(s,2);}則程序運行后的輸出結果是()。
A.369B.248C.456D.789
46.關系數(shù)據(jù)庫的數(shù)據(jù)及更新操作必須遵循()等完整性規(guī)則。
A.實體完整性和參照完整性
B.參照完整性和用戶自定義完整性
C.實體完整性和用戶自定義完整性
D.實體完整性、參照完整性和用戶自定義完整性
47.設有數(shù)組定義:chararray[]="China";則數(shù)組array所占的空間為()
A.4個字節(jié)B.5個字節(jié)C.6個字節(jié)D.7個字節(jié)
48.X、Y、Z被定義為int型變量,若從鍵盤給X、Y、Z輸入數(shù)據(jù),正確的輸入語句是______。
A.INPUTX,Y,Z;
B.scanf("%d%d%d",&X,&Y,&Z);
C.scanf("%d%d%d",X,Y,Z);
D.read("%d%d%d",&X,&Y,&Z);
49.有以下程序:#include<stdio.h>main()}chara,b,e,d;seanf("%e,%e,%d,%d",&a,&b,&c,&d);printf("%c,%c,%e,%c\n",a,b,c,d);若運行時從鍵盤上輸入:6,5,65,66<回車>,則輸出結果是()。
A.6,5,A,BB.6,5,65,66C.6,5,6,5D.6,5,6,6
50.fgetc函數(shù)的作用是從指定文件讀入一個字符,該文件的打開方式必須是______。
A.只讀B.追加C.讀或讀寫D.以上均正確
51.判斷char型變量c1是否為小寫字母的正確表達式為()。
A.'a'<=c1<='z'
B.(c1>=A)‖(c1<=z)
C.('a'=>c1‖('z'<=c1)
D.(c1>='a')&&(c1<='z')
52.15.與數(shù)據(jù)元素本身的形式、內(nèi)容、相對位置、個數(shù)無關的是數(shù)據(jù)的()
A.存儲結構B.存儲實現(xiàn)C.邏輯結構D.運算實現(xiàn)
53.有以下程序:#include<string.h>inta=4;intf(intn){intt=0;staticinta=5;if(n%2){inta=6;t++=a++;}else{inta=7;t+=a++;}returnt+a++;}main(){ints=a,i=0;for(;i<2;i++)s+=f(i);printf("%d\n",s);}程序運行后的輸出結果是()。
A.24B.28C.32D.36
54.以下對結構體類型變量td的定義中,錯誤的是
A.typedefstructaa{intn;floatm;}AA;AAtd;
B.structaa{intn;floatm;}td;structaatd;
C.struct{intn;floatm;}aa;structaatd;
D.struct{intn;floatm;}td;
55.設有以下說明語句structex{intX;floaty;charz;}example;則下面的敘述中不正確的是
A.struct結構體類型的關鍵字
B.example是結構體類型名
C.x,y,z都是結構體成員名
D.structex是結構體類型名
56.下述程序的輸出結果是()。#include<stdio.h>voidmain(){inta[5]={2,4,6,8,10};int*p=a,**q=&p;printf("%d,",*(p++));printf("%d",**q);}
A.4,4B.2,2C.4,5D.2,4
57.有以下程序:main(){inti;for(i=0;i<3;i++)switch(i){case1:printf("%d",i);case2:printf("%d",i);default:printf("%d",i);}}執(zhí)行后輸出結果是()。
A.11122B.12C.12020D.120
58.關于線性表的描述,錯誤的一條是______。
A.線性表是線性結構
B.線性表就是單鏈表
C.線性表的順序存儲結構,必須占用一片連續(xù)的存儲單元
D.線性表的鏈式存儲結構,不必占用連續(xù)的存儲單元
59.對長度為N的線性表進行順序查找,在最壞情況下所需要的比較次數(shù)為______。A.N+1B.NC.(N+1)/2D.N/2
60.合法的數(shù)組定義是()
A.inta[]="string";
B.inta[5]={0,1,2,3,4,5};
C.chara="string";
D.chara={0,1,2,3,4,5};
四、選擇題(20題)61.
62.
63.若已定義:inta[9],*p=a;并在以后的語句中未改變p的值,不能表示a[1]地址的表達式為()。
A.p+1B.a+1C.a++D.++p
64.
65.軟件生命周期中所花費用最多的階段是()。
A.詳細設計B.軟件編碼C.軟件測試D.軟件維護
66.若變量a,b已正確定義,且b已正確賦值,則合法的語句是()。
A.b=double(b);B.(int)a=(int)b;C.a=a++=5;D.a=double(b);
67.
68.
69.
70.以下是if語句的基本形式:
if(表達式.語句
其中“表達式”()。
A.必須是邏輯表達式B.必須是關系表達式C.必須是邏輯表達式或關系表達式D.可以是任意合法的表達式
71.以下變量x、y、z均為double類型且已正確賦值,不能正確表示x/(y*z)的C語言表達式是()。
A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z
72.
73.如果要在表單中創(chuàng)建一個普通文本框,下列標記中正確的是()。
A.<inputtype=”text”>
B.<inputtype=”password”>
C.<inputtype=”CheCkbox”>
D.<inputtype=”radio”>
74.C語言的基本單位是()。
A.函數(shù)B.過程C.子程序D.子函數(shù)
75.以下關于return語句的敘述中正確的是()。A.一個自定義函數(shù)中可以根據(jù)不同情況設置多條return語句
B.一個自定義函數(shù)中必須有一條return語句
C.定義成void類型的函數(shù)中可以有帶返回值的retum語句
D.沒有return語句的自定義函數(shù)在執(zhí)行結束時不能返回到調(diào)用處
76.有以下程序
#include<stdio.h>
main()
{inti=5;
do
{if(i%3==1)
if(i%5==2)
{printf("*%d",i);break;}
i++;
}while(i!=0);
printf("\n");
}
程序的運行結果是
A.*7B.*3*5
C.*5D.*2*6
77.
78.
79.有以下程序(strcat函數(shù)用于連接兩個字符串):
程序運行后的輸出結果是()。
A.U-KB.ABCDE\0FG\0UKC.ABCDUKD.EFGUK
80.有以下程序
main()
{inti=10,j=1;
printf("%d,%d\n",i--,++j);
}
執(zhí)行后的輸出結果是
A.9,2B.10,2
C.9,1D.10,1
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是計算并輸出h以內(nèi)的素數(shù)之和。h由主函數(shù)傳給proc()函數(shù)。若h的值為80,則函數(shù)的值為791。請修改程序中的錯誤,使它能得到正確結果。注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結構。試題程序:
六、程序設計題(1題)82.請編寫函數(shù)proc(),其功能是:將str所指字符串中除下標為偶數(shù)、同時ASCⅡ碼值為奇數(shù)的字符外,其余的字符都刪除,串中剩余字符所形成的一個新串放在t所指的數(shù)組中。例如,若str所指字符串中的內(nèi)容為ABCDEFG12345,其中字符8的ASCⅡ碼值為偶數(shù),所在元素的下標為奇數(shù),因此必須刪除;而字符A的ASCⅡ碼值為奇數(shù),所在數(shù)組中的下標為偶數(shù),因此不應當刪除。依次類推,最后t所指的數(shù)組中的內(nèi)容應是ACEG。注意:部分源程序給出如下。請勿改動main()函數(shù)和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)proc()的花括號中填入所寫的若干語句。試題程序:
參考答案
1.DD?!窘馕觥寇浖枨蠓治鲋行枰獦嬙煲粋€完全的系統(tǒng)邏輯模型,理解用戶提出的每一功能與性能要求,使用戶明確自己的任務。因此,需求分析應確定用戶對軟件的功能需求和非功能需求。
2.D本題考查的是如何對二維數(shù)組進行賦值。選項A)中數(shù)組第二維的大小是4,但卻給賦了5個元素;選項B)中C語言規(guī)定,對于二維數(shù)組,只可以省略第一個方括號中的常量表達式而不可以省略第二個方括號中的常量表達式:選項c)中數(shù)組第一維的大小是2,但是賦值卻超過了2;選項D)中在對二維數(shù)組元素賦初值時,可以只對部分元素賦初值,未賦初值的元素自動取0。
3.C解析:本題中第一行代碼對指針P進行了初始化,其指向數(shù)組a的第6個元素,在其后的操作中p的值也沒有改變過,所以最后輸出*p=*\u3000\u3000(p+0)\u3000\u3000=a\u3000[5]\u3000=6,而第二行代碼中對q指向的值進行賦值,等價于*q=a[10]=11,所以輸出結果*q為11。
4.Bdouble,char,int,第一個字母都是小寫。
5.B本題是對基本知識點的理解,預處理命令行的位置沒有規(guī)定,只是習慣寫在起始位置而已,當需要時才用#include<stdio.h>頭文件,預處理的作用就是實現(xiàn)宏定義和條件編譯。
6.D解析:在關系數(shù)據(jù)表中,行稱為元組,對應存儲文件中的記錄,列稱為屬性,對應存儲文件中的字段,所以本題答案為D。
7.D題目中需要輸入一個變量,scanf要求輸入?yún)?shù)為指針,而D選項中“ps->age”為變量,不是指針。故本題答案為D選項。
8.D
9.B解析:考查用指針引用字符串元素的方法。指針a通過數(shù)組元素下標來從頭逐個地引用字符串item中的字符,判斷不是0~9之間的數(shù)字時,就去掉這個字符,所以程序結束后,字符串item中就只剩下和兩個字符了。
10.D解析:在C語言的標準中,short占2個字節(jié)、long占4個字節(jié),但int的大小和編譯系統(tǒng)相關。例如在Turbo\u3000C\u30002.0中,int占2個字節(jié),但在VisualC++6.0(VC6可以用做C語言編譯器)中占4個字節(jié)。故本題應該選擇D。
11.A本值輸出兩個值,%c為輸出一個字母,0/4d輸出一個數(shù)字?!癆”的ASCIl碼為65,再加4之后為69,也就是字母E,所以本題A正確。
12.A
13.D
14.C解析:C語言中的自反賦值運算符?!癿-=n”相當于“m=m-n”,兩個相等的數(shù)相減,其值為0。
15.D題干中x是一個整型變量,賦值為072。以0開頭的整數(shù)是八進制的表示形式。printf函數(shù)中,格式字符%d表示以十進制形式輸出“x+1”,所以需要將072轉換成十進制數(shù),即7×8+2=58,輸出“x+1”為59。故本題答案為D選項。
16.A條件表達式:x=表達式1:表達式2:表達式3的含義是:先求解表達式1.若為非0(真),則求解表達式2.將表達式2的值賦給x。若表達式1的值為0(假),則求解表達式3.將表達式3的值賦給x。在本題中與表達式1:(x-y)等價的是(x-y<0|x-y>0)。
17.D
18.D解析:線性表的順序存儲是用一片連續(xù)的空間來存放數(shù)據(jù)元素,其特點是邏輯上相鄰的元素在物理位置上也相鄰。數(shù)據(jù)元素之間邏輯上的先后關系自動隱含在物理位置的相鄰元素之中,因此,不需要另外開辟空間來保存元素之間的關系。
19.B并運算的含義是:假設有一個“在校學生信息表”,它包括這樣一些字段:學號、姓名、性別、出生日期、籍貫、聯(lián)系電話,這個表的關系模式可以表示為:校學生信息表(學號,姓名,性別,出生日期,籍貫,聯(lián)系電話)。還有一個“新生信息表(學號,姓名,性別,出生日期,籍貫,聯(lián)系電話)”。若要將9月份進校的新生信息加入到“在校學生信息表”中,這樣進行的就是并運算。并運算不會改變表的字段(又叫屬性)個數(shù),但是會增加記錄(又叫元組)個數(shù)。交運算的含義是:兩個表(要求結構要一模一樣)進行交運算取兩個表中相同的記錄構成一個新表,交運算不會改變表的字段個數(shù),但是一般會減少記錄個數(shù)。投影運算的含義是:從在“校學生信息表(學號,姓名,性別,出生日期,籍貫,聯(lián)系電話)”中選取學生的“姓名”和“聯(lián)系電話”這兩個字段,可以構成一個“學生聯(lián)系表(姓名,聯(lián)系電話)”,這就是一個投影運算,所以投影運算一般會減少字段(又叫屬性)的個數(shù)。笛卡兒乘積又叫稱乘運算,設有n元關系R和m元關系s,他們分別有P、q個元組,則關系R和關系s的笛卡兒積表示為R×S,該關系是一個n+m元關系,元組個數(shù)是PXq。因此本題的正確答案是B。\r\n
20.C解析:宏替換不像函數(shù)調(diào)用要進行參數(shù)值的計算、傳遞等,而只是簡單按照原格式進行字符串的替換。注意:宏定義的命令格式。
21.a=2b=3a=2,b=3解析:分析程序,程序從x=1語句開始執(zhí)行,之后執(zhí)行第一個switch語句,switch(x)=switch(1),所以執(zhí)行case1,case1語句中包含一個復合switch語句:這時執(zhí)行第二個switch語句,此時y=1,所以switch(y)=switch(1),因此執(zhí)行case1,將b加1,得到b=2,遇到break語句,退出第二個switch語句,則整個case1的復合語句執(zhí)行完畢,由于在這個case1的后面沒有break語句使其退出第一個switch語句,所以接著執(zhí)行下列的case2后面的語句,即將a,b各加1,得到a=2,b=3。
22.1212解析:本題簽考查如何用指針引用數(shù)組元素。分析程序,首先定義了一個指向數(shù)組a的指針p,p指向數(shù)組的首地址,通過p++,將p指向a[1],p+2是將指針后移2位指向a[3],*(p+2)即是取a[3)的值12。
23.軟件生命周期軟件生命周期解析:軟件產(chǎn)品從考慮其概念開始,到該軟件產(chǎn)品不能使用為止的整個時期都屬于軟件生命周期。一般包括可行性研究與需求分析、設計、實現(xiàn)、測試、交付使用以及維護等活動。
24.(double*)(double*)解析:一般用malloc函數(shù)為變量分配存儲單元時,要在前面用強制類型轉換符說明該存儲單元中數(shù)據(jù)的類型。本題要為指向雙精度浮點型數(shù)據(jù)的指針變量p分配存儲單元,因此用(double*)說明。
25.對象對象解析:類描述的是具有相似性質(zhì)的一組對象。例如,每本具體的書是一個對象,而這些具體的書都有共同的性質(zhì),它們都屬于更一般的概念“書”這一類對象。一個具體對象稱為類的實例。
26.測試實例測試實例解析:進行軟件測試時,應精心設計測試實例和選擇測試數(shù)據(jù),以對系統(tǒng)進行全面測試。
27.22132,2,1,3解析:本題考查++,--運算符和條件運算符的使用。
“表達式1?表達式2:表達式3”的功能是:表達式1的值若非0,則計算表達式2的值,且表達式2的值為最終結果;若表達式1的值為0,則計算表達式3的值,且為最終結果。
本題中,x=1,y=2時,x<y成立,輸出y的值2;y=2,z=3時,z<y不成立,執(zhí)行y++,輸出2后y值增1,所以最后一個輸出x的值不變?yōu)?,y的值為增加后的3。
28.11231123解析:在主函數(shù)中第一次調(diào)用func子函數(shù)時,m=0,i=2,i=i+m+1=3,m=i+a+b=3+5+3=11。因為在于函數(shù)中將m和i定義成了static類型,所以在于函數(shù)中對m和i進行的改變在下一次調(diào)用子函數(shù)時能進行保存,所以第二次調(diào)用于函數(shù)時,m=11,i=3,則i=i+m+1=15,m=i+a+b=15+5+3=23。
29.fseek(文件指針位移量起始點)fseek(文件指針,位移量,起始點)解析:本題考查函數(shù)fseek的用法。fseek函數(shù)的調(diào)用形式為:
fseek(文件指針,位移量,起始點)
“起始點”用0,1或2代替,其中,0代表“文件開始”;1為“當前位置”;2為“文件末尾”。“位移量”指以“起始點”為基點,向前移動的字節(jié)數(shù)。ANSIC和大多數(shù)C版本要求位移量是long型數(shù)據(jù),這樣當文件的長度大于64k時不致出現(xiàn)問題。ANSIC標準規(guī)定在數(shù)字的末尾加一個字母L,就表示long型。
30.22解析:'\\13':表示八進制數(shù)13表示的ASCII字符,是一個字符,占一個字節(jié);而”\\12”是個字符串,除了八進制數(shù)12表示的ASCII字符占一個字節(jié)外,還有在字符串的末尾加上串結束標志“'\\0'”,所以共有2個字節(jié)。
31.11231123解析:在主函數(shù)中第一次調(diào)用func子函數(shù)時,m=0,i=2,i=i+m+1=3,m=i+a+b=3+5+3=11。因為在子函數(shù)中將m和i定義成了static類型,所以在子函數(shù)中對m和i進行的改變在下一次調(diào)用子函數(shù)時能進行保存,所以第二次調(diào)用子函數(shù)時,m=11,i=3,則i=i+m+1=15,m=i+a+b=15+5+3=23。
32.09182736450918273645解析:題目中為for循環(huán)定義了兩個字符型循環(huán)變量c1和c2,循環(huán)開始時分別初始化為字符‘0’和‘9’,然后每次循環(huán)結束給c1增1、c2減l,循環(huán)條件為c1<c2,即讓c1的值依次為‘0’、‘1’、‘2’…,c2的值依次為‘9’、‘8’、‘7’…,直到兩個數(shù)相遇時結束循環(huán)。又因為該循環(huán)的循環(huán)體每次按字符形式輸出c1和c2的值。所以最終的輸出結果為:0918273645。
33.main()pstr*(pstr+j)
34.i=0j=20i=0,j=20解析:該函數(shù)的第一個參數(shù)是格式字符串,主要由兩類字符組成,一類是非格式符要求原樣輸入,一類是格式符對應要輸入的變量,所以說本題中應該原樣輸入i=,j=,后面分別給變量0和20,所以說空格處應該填入i=0,j=20。
35.*t++或*(t++)*t++或*(t++)解析:主函數(shù)中定義了兩個字符型數(shù)組st1l和str2,并且給str2賦初值“abcdefgh”,接著調(diào)用函數(shù)sstrcpy(str1,str2),將字符串str2的值賦給str1.在函數(shù)sstrcpy(*s,*t)中,用了一個while循環(huán),每循環(huán)一次將形參指針t所指的字符賦給形參指針s所指向的存儲空間,然后指針s和指針t都下移到下一個元素。所以空格處應該填*t++或*(t++)。
36.88解析:fabs函數(shù)功能是求x的絕對值,計算結果為double型。pow功能是計算x的y次方的值,計算結果同樣為double型。所以本題表達式相當于2.0的3.0次方,結果為8.000000。
37.關系或一個關系關系或一個關系解析:在關系數(shù)據(jù)庫中,把數(shù)據(jù)表示成二維表,而一個二維表就是一個關系。
38.1616解析:滿二叉樹的葉子結點都在最后一層,即第4層,且第4層的結點達到最大數(shù),即25-1=16。
39.1212解析:本題首先通過第一個for語句把0~9(包含0和9)間的整數(shù)依次賦值給數(shù)組arr,第二個for語句用于實現(xiàn)將滿足條件的數(shù)組元素與對應的下標值求和并累加,并用變量k保存。
40.101,0解析:與運算兩邊的語句必須同時為真時,結果才為真,當執(zhí)行完if((++a<0)&&!(b--<=0))時,a,b的值已經(jīng)發(fā)生了變化。
41.A解析:本題主要考查按位異或和右移運算。b=4的二進制為00000100,b>>2后為00000001,a=2的二進制為00000010,兩者異或為00000011。
42.B
43.A本題主要考查軟件測試的基本知識。軟件測試的步驟可分為單元測試(模塊測試)、集成測試、確認測試和系統(tǒng)測試。
(1)單元測試是針對每個模塊進行的測試,它可從程序的內(nèi)部結構出發(fā)設計測試用例,多個模塊可以平行、對立地測試。單元測試主要用于發(fā)現(xiàn)詳細設計和編程時犯下的錯誤。單元測試多采用白盒測試,輔之以黑盒測試。
(2)集成測試是在單元測試的基礎上,根據(jù)模塊結構圖將各個模塊連接起來,必須精心計劃,應提交集成測試計劃、集成測試規(guī)格說明和集成測試分析報告。主要目標是發(fā)現(xiàn)與接口有關的問題。集成測試可以發(fā)現(xiàn)概要設計時犯的錯誤。
(3)確認測試用于驗證軟件的功能和性能及其他特性是否與用戶的要求一致。確認測試主要用于發(fā)現(xiàn)需求分析時犯下的錯誤,一般使用黑盒法測試,以表明軟件符合需求說明書的要求,應該仔細設計測試用例和測試過程。確認測試必須有用戶參加,或以用戶為主,用戶應參與設計測試用例,通常情況下,主要使用生產(chǎn)中的實際數(shù)據(jù)進行測試,測試數(shù)據(jù)通過用戶接口輸入。
(4)系統(tǒng)測試是將已經(jīng)通過確認測試的軟件,作為整個計算機系統(tǒng)的元素與計算機硬件、外設和網(wǎng)絡等其他因素結合在一起,進行一系列的組裝測試和確認測試。系統(tǒng)測試的目的是通過與系統(tǒng)的需求定義做比較,發(fā)現(xiàn)軟件與系統(tǒng)的定義不符合的地方。系統(tǒng)測試可以發(fā)現(xiàn)問題定義時犯下的錯誤。
44.A解析:本題考查帶參數(shù)的宏定義,參數(shù)只是簡單的替換而不是求出其值后再替換形式參數(shù)。本題中用a++替換X,用b++替換Y,再求(a++)*(b++)的值,即3*4的值,其結果為12。
45.A解析:本題首先定義了一個二維數(shù)組,然后將數(shù)組名作為參數(shù)傳遞給子函數(shù)sub(),在子函數(shù)中使用了一個循環(huán),循環(huán)變量i從0遞增到n(n為2),即循環(huán)了3次,依次輸出數(shù)組的a[0][2]、a[1][2]、a[2][2]三個元素,所以程序運行后輸出的結果是369,應該選擇A。
46.D解析:關系模型中包括關系數(shù)據(jù)結構、關系操作集合和關系完整性。關系完整性即數(shù)據(jù)完整性,包括實體完整性、參照完整性、用戶自定義完整性。
47.C解析:在給數(shù)組賦值時,可以用一個字符串作為初值,這種方法直觀、方便,而且符合人們的習慣。數(shù)組array的長度不是5,而是6,這點必須要注意。因為字符串常量的最后由系統(tǒng)加上一個'\\0',因此,上面的初始化與下面的等價:
Chararray[]={'C','h','i','n','a','\\0'};
48.B解析:scanf()函數(shù)要求將輸入的數(shù)據(jù)存入變量所在的地址。選項A不是C語言中的輸入語句,故選項A不正確;選項C中輸入的是變量字符串而不是地址字符串,不滿足scanf()函數(shù)要求將輸入的數(shù)據(jù)存入變量所在的地址,故選項C不正確;選項D不是C語言中的輸入語句,故選項D不正確:所以,4個選項中選項B符合題意。
49.A解析:本題考查格式字符的輸入和輸出。字符常量在內(nèi)存中是以其ASCII碼形式存儲的,字符型數(shù)據(jù)既可以字符形式輸出,也可以整數(shù)形式輸出。程序中變量a,b是以字符型常量輸入的,在內(nèi)存中存儲的是字符6和字符5對應的ASCII碼;變量c,d是以整型常量輸入的,在內(nèi)存中存儲的就是整型常量65和66。輸出是以字符形式輸出a,b,c,d,所以,將字符常量6和5所對應的ASCII碼譯成字符常量6和5輸出,將整型數(shù)65和66對應的字符常量即,'A'和'B'輸出。
50.D解析:fgetc函數(shù)是指從指定的文件讀入一個字符,該文件必須是以讀或讀寫方式打開的。fgetc函數(shù)的調(diào)用形式為:ch=fgetc(fp);。
51.D解析:C語言規(guī)定,字符常量在程序中要用單引號括起來。判斷c1是否為小寫字母的充要條件c1>='a'和c1<='z',用邏輯與(&&)來表示。A選項的這種形式在C語言中沒有,所以選項D)正確.
52.C所謂數(shù)據(jù)的邏輯結構,是指反映數(shù)據(jù)元素之間邏輯關系的數(shù)據(jù)結構。\n所謂數(shù)據(jù)的存儲結構,是指數(shù)據(jù)的邏輯結構在計算機存儲空間中的存放形式。與數(shù)據(jù)元素本身的形式、內(nèi)容、相對位置、個數(shù)有關。\n邏輯結構與物理存儲無關。因此本題的正確答案為C。
53.B解析:本題考查的是外部變量的應用。因為程序的初始inta=4;語句定義了外部變量a,在以后的執(zhí)行過程中,當i=0時,調(diào)用f(0)函數(shù),執(zhí)行的語句是else{inta=7;t+=a++;},此處程序中又定義了變量a,所以原來定義的外部變量在此不起作用,得到t=7,返回值語句returnt+a++;處,外部變量a起作用,返回值為7+5=12:當i=1時,調(diào)用f(1)函數(shù),執(zhí)行的是語句else{inta=6:t+=a++;},此處程序中又定義了變量a,所以原來定義的外部變量在此不起作用,得到t=6,返回值語句
54.C解析:選項t中,aa為結構體變量,而不是結構體名稱,不能再用來定義td。
55.B解析:本題中,structex是結構體類型名,ex-ample是結構體變量名。
56.D解析:通過賦值,指針p和q都指向了數(shù)組a的首地址,*(p++)先引用數(shù)組元素,然后p++,所以輸出結果為2,**q指向的數(shù)組元素為4。注意:通過建立一個指針數(shù)組來引用二維數(shù)組元素。
57.A解析:for循環(huán)執(zhí)行了3次,第一次時i的值為0,執(zhí)行其后的switch語句,沒有匹配的分支,執(zhí)行default語句后的printf語句,輸出為0;第二次循環(huán)時i的值為1,執(zhí)行其后的switch語句,與第一個分支匹配,執(zhí)行其后的primf語句,輸出1,由于沒有遇到break語句,所以一直向下執(zhí)行,又輸出了兩個1,第三次循環(huán)時i值為2,執(zhí)行其后的switch語句,同理輸出兩個2。所以,A選項是正確的。
58.A解析:線性表是一種最簡單,最常用的數(shù)據(jù)結構。線性表操作的實現(xiàn)依賴于線性表中數(shù)據(jù)元素及元素之間的關系在存儲器
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 專業(yè)選擇講座模板
- 2025年度茶葉產(chǎn)品溯源體系建設合同范本4篇
- 2025年度場化項目服務類采購項目合同附件定制版4篇
- 2025年度電競主題商鋪租賃合作協(xié)議4篇
- 2025年度生態(tài)環(huán)保園區(qū)場地委托出租與環(huán)保技術服務合同樣本4篇
- 專業(yè)技能提升課程2024培訓協(xié)議
- 人教版九年級化學上冊第1章開啟化學之門《第2節(jié) 化學研究什么》公開示范課教學課件
- 二零二四事業(yè)單位聘用合同四種類別適用范圍與條件3篇
- 2025年度文化演藝中心場地租用協(xié)議范本4篇
- 2025年度城市綜合體項目場地購置合同示范文本4篇
- 瀝青路面施工安全培訓
- 機電設備安裝施工及驗收規(guī)范
- 倉庫安全培訓考試題及答案
- 中國大百科全書(第二版全32冊)08
- 初中古詩文言文背誦內(nèi)容
- 天然氣分子篩脫水裝置吸附計算書
- 檔案管理項目 投標方案(技術方案)
- 蘇教版六年級上冊100道口算題(全冊完整版)
- 2024年大學試題(宗教學)-佛教文化筆試考試歷年典型考題及考點含含答案
- 計算機輔助設計智慧樹知到期末考試答案章節(jié)答案2024年青島城市學院
- 知識庫管理規(guī)范大全
評論
0/150
提交評論