版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
2021年內(nèi)蒙古自治區(qū)赤峰市全國計算機等級考試C語言程序設(shè)計測試卷一(含答案)學(xué)校:________班級:________姓名:________考號:________
一、單選題(20題)1.以下函數(shù)的功能是()intfun(char*A){char*b=a;while(*B)b++;{returnb-a;}}
A.比較兩個字符串的大小B.字符串的復(fù)制C.計算字符串的長度D.字符串的連接
2.已知有double型變量x=2.5,y=4.7,整型變量a=7,則表達式x+a%3*(int)(x+y)%2/4的值是()。
A.2.4B.2.5C.2.75D.0
3.設(shè)初始輸入序列為1,2,3,4,5,利用一個棧產(chǎn)生輸出序列,下列()序列是不可能通過棧產(chǎn)生的。
A.1,2,3,4,5B.5,3,4,l,2C.4,3,2,1,5D.3,4,5,2,l
4.設(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之間用空格間隔
5.設(shè)x=011050,則x=x&01252的值是()。A.0000001000101000
B.1111110100011001
C.0000001011100010
D.1100000000101000
6.設(shè)有條件表達式:(EXP)?i++;j--,則以下表達式中(EXP)完全等價的是()。
A.(EXP==0)B.(EXP!=0)C.(EXP==1)D.(EXP!=1)
7.當(dāng)用戶要求輸入的字符串中含有空格時,應(yīng)使用的輸入函數(shù)是()。
A.scanfB.getcharC.getsD.getc
8.一個二維數(shù)組的定義語句為“inta[3][4]={{3,4},{2,8,6}};”,則元素a[1][2]的值為()。
A.2B.4C.6D.8
9.在循環(huán)隊列中,若front與rear分別表示對頭元素和隊尾元素的位置,則判斷循環(huán)隊列空的條件是()。
A.front==rear+1B.rear==front+1C.front==rearD.front==0
10.有以下程序:voidsum(inta[]){a[0]=a[-1]+a[1];}main(){inta[10]={1,2,3,4,5,6,7,8,9,10};sum(&a[2]);printf("%d\n",a[2]);}程序運行后的輸出結(jié)果是()。
A.6B.7C.5D.8
11.
12.若已定義inta,則表達式a=10,a+10,a++的值是()。
A.20B.10C.21D.11
13.任何一個無向圖的最小生成樹()。
A.只有一棵B.有一棵或多棵C.一定有多棵D.可能不存在
14.下列算法中,()算法用來求圖中某頂點到其他頂點所有頂點之間的最短路徑。
A.DijkstraB.FloyedC.PrimD.Kruskal
15.下面敘述中錯誤的是()。
A.軟件測試的目的是發(fā)現(xiàn)錯誤并改正錯誤
B.對被調(diào)試的程序進行“錯誤定位”是程序調(diào)試的必要步驟
C.程序調(diào)試通常也稱為Debug
D.軟件測試應(yīng)嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性
16.下列敘述中錯誤的是()。
A.在C語言中,函數(shù)中的自動變量可以賦初值,每調(diào)用一次賦一次初值
B.在C語言中,在調(diào)用函數(shù)時,實參和對應(yīng)形參在類型上只需賦值兼容
C.在C語言中,外部變量的隱含類型是自動存儲類別
D.在C語言中,函數(shù)形參的存儲類型是自動(auto)類型的變量
17.下面軟件中,屬中應(yīng)用軟件的是()
A.UnixB.人事管理系統(tǒng)C.數(shù)據(jù)庫管理理系統(tǒng)D.DOS
18.程序流程圖中帶有箭頭的線段表示的是()。
A.圖元關(guān)系B.數(shù)據(jù)流C.控制流D.調(diào)用關(guān)系
19.
20.有以下程序:#include<stdio.h>main(){inti,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j--){if(i*j>3)break;m*=i*j;}}printf(“m=%d\n”,m);}程序運行后的輸出結(jié)果是()A.m=4B.m=2C.m=6D.m=5
二、2.填空題(20題)21.以下程序段打開文件后,先利用fseek函數(shù)將文件位置指針定位在文件末尾,然后調(diào)用ftell函數(shù)返回當(dāng)前文件位置指針的具體位置,從而確定文件長度。請?zhí)羁铡?/p>
FILE*myf;longf1;
myf=【】("test,t","rb");
fseek(myf,0,SEEK_END);f1=ftell(myf);
fclose(myf);
printf("%1d\n",f1);
22.下面程序運行后的輸出結(jié)果是()。
#include<stdio.h>
main()
{inta[]={1,2,3,4,5,6},*k[3],i=1;
while(i<4)
{k[i-1]=&a[2*i-1];
printf("%d",*k[i-1]);
i++;
}
}
23.下列程序的運行結(jié)果是【】。
#include<stdio.h>
main
{intk=4,m=3,p;
p=func(k,m);
printf("%d",p);
p=func(k,m);
printf("%d\n",p);}
func(a,b)
inta,b;
{staticintm=0,i=2;
i+=m+1;
m=i+a+b;
return(m);}
24.以下程序的輸出結(jié)果是【】。
main()
{inty=9;
for(;y>0;y--)
if(y%3==0)
{printf("%d",--y);continue;}}
25.以下程序段的輸出結(jié)果是【】。
main()
{inta=2,b=2,c=4;
a*=16+(b++)-(++C);
printf("%d",a);
}
26.下面的程序為6個整型變量A、B、C、D、E、F輸入整數(shù),并按從大到小的順序輸出整數(shù)及其所對應(yīng)的變量名。例如,輸入的數(shù)為3、2、5、7、4、6,則輸出的形式為:D(7)F(6)C(5)E(4)A(3)B(2)。
#include<stdio.h>
intA,B,C,D,E,F(xiàn);
struct
{
charn;
【】;
}tb1[]={{'A',&A},{'B',&B},{'C',&c},{'D',&D),{'E',&E},{'F',&F}},t;
main()
{
inti,j;
for(i=0;i<6;i++)scanf("%d",【】);
for(i=0;i<5;i++)
for(j=0;j<5-i;j++)
if(【】)
{
t=tb1[j];
tb1[j]=tb1[j+1];
tb1[j+1]=t;
}
for(i=0;i<6;i++)printf("%c(%d)",tb1[i].n,*tb1[i].p);
printf("\n");
}
27.設(shè)a、b、c為整形數(shù),且a=2,b=3,c=4則執(zhí)行完以下語句后,a的值是【】。
a*=16+(b++)-(++c);
28.若x為int類型,請寫出與!x等價的C語言表達式______。
29.執(zhí)行下面程序段后,k的值是【】。
r=1;n=203;k=1
do{k*=n%10*r;n/=10;r++;}while(n);
30.下列程序的輸出結(jié)果是【】。
main()
{
inta=1,b=2;
a=a+b;b=a-b;a=a-b;
prrintf("%d,%d\n",a,b);
}
31.軟件維護活動包括以下幾類:改正性維護、適應(yīng)性維護、【】維護和預(yù)防性維護。
32.數(shù)據(jù)庫系統(tǒng)其內(nèi)部分為三級模式,即概念模式、內(nèi)模式和外模式。其中,______是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。
33.耦合和內(nèi)聚是評價模塊獨立性的兩個主要標(biāo)準(zhǔn),其中______反映了模塊內(nèi)各成分之間的聯(lián)系。
34.計算圓的周長、面積和球體積。
#definePI3.1415926
#define【】L=2*PI*R;【】;V=4.0/3.0*PI*R*R*R
main()
{floatr,l,s,v;
printf("inputaradus:");
scanf("%f",&r);
CIRCLE(r,l,s,v);
printf("r=%.2f\nl=%.2f\ns=%.2f\nv=%.2f\n",【】);
}
35.按照“先進先出”的原則組織數(shù)據(jù)的結(jié)構(gòu)是______。
36.數(shù)據(jù)庫設(shè)計分為以下6個設(shè)計階段:需求分析階段、______、邏輯設(shè)計階段、物理設(shè)計階段、實施階段、運行和維護階段。
37.以下程序運行后的輸出結(jié)果是______。
main()
{inta=1,b=2,c=3;
if(c=A)printf("%d\n",C);
elseprintf("%d\n",B);
}
38.下述函數(shù)用于統(tǒng)計一行字符中的單詞個數(shù),單詞之間用空格分隔。
word_num(str)
for(i=0;str[i]!=【】;i++)
if(【】='')word=0;
【】;
}
return(num);
}
39.以下程序的運行結(jié)果是【】。
#include<stdio.h>
#defineMAX(a,b)(a>b?a:b)+1
main()
{inti=6,j=8,k;
printf("%d\n",MAX(i,j));
}
40.下列程序的功能是將字符串s中所有的字符c刪除。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{chars[80];
inti,j;
gets(S);
for(i=j(luò)0;s[i]!'\0';i++)
if(s[i]!='c')______;
s[j]='\0;
puts(S);
}
三、1.選擇題(20題)41.設(shè)有staticcharstr[]="Beijing";則執(zhí)行printf("%d\n",strlen(strcpy(str,"China")));后的輸出結(jié)果為_______。
A.5B.7C.12D.14
42.有以下程序:main(){chark;inti;for(i=1;i<3;i++){scanf("%c",&k);switch(k){case'0':printf("another\n");case'1':printf("number\n");}}}程序運行時,從鍵盤輸入:01<回車>,程序執(zhí)行后的輸出結(jié)果是
A.anothernumber
B.anothernumberanother
C.anothernumbernumber
D.numbernumber
43.設(shè)變量均已正確定義,若要通過scanf("%d%c%d%c",&a1,&c1,&a2,&c2);語句為變量a1和a2賦數(shù)值10和20,為變量c1和c2賦字符X和Y。以下所示的輸入形式中正確的是(注:□代表空格字符)
A.10□X□20□Y<回車>
B.10□X20□Y<回車>
C.10□X<回車>20□Y<回車>
D.10X<回車>20Y<回車>
44.執(zhí)行語句printf("%u\n",+12345)的輸出結(jié)果是()。
A.12345B.0C.-1D.非定值
45.下列對于軟件測試的描述中正確的是()。
A.軟件測試的目的是證明程序是否正確
B.軟件測試的目的是使程序運行結(jié)果正確
C.軟件測試的目的是盡可能多地發(fā)現(xiàn)程序中的錯誤
D.軟件測試的目的是使程序符合結(jié)構(gòu)化原則
46.若x、a、b和c均是int型變量,則執(zhí)行表達式x=(a=1,b=2)后x的結(jié)果為()。
A.1B.2C.3D.不確定
47.對長度為n的線性表排序,在最壞情況下,比較次數(shù)不是n(n-1)/2的排序方法是()。
A.快速排序B.冒泡排序C.直接插入排序D.堆排序
48.若有說明語句:inta,b,c,*d=&c;,則能正確從鍵盤讀入三個整數(shù)分別賦給變量a、b、d的語句是()
A.scanf("%d%d%d",&a,&b,d);
B.scanf("%d%d%d",&a,&b,&d);
C.scanf("%d%d%d",a,b,d);
D.scanf("%d%d%d",a,b,*d);
49.若函數(shù)調(diào)用時,參數(shù)為基本數(shù)據(jù)類型的變量,下列敘述中正確的是()。
A.實參與其對應(yīng)的形參共占存儲單元
B.只有當(dāng)實參與其對應(yīng)的形參同名時才共占存儲單元
C.實參與其對應(yīng)的形參分別占用不同的存儲單元
D.實參將數(shù)據(jù)傳遞給形參后,立即釋放原先占用的存儲單元
50.請讀程序:#include<stdio.h>main(){inta,b;for(a=1,b=1;a<=100:a++){if(b>=20)break;if(b%3=1”{b+=3;continue;}b=5;}printf("%d\n",A);}上面程序的輸出結(jié)果是_______。
A.7B.8C.9D.10
51.若有如下程序:main(){intn=2;do{printf("%d",n--);}while(!--n));}則程序運行后的輸出結(jié)果是()。
A.2B.11C.1D.20
52.下面程序的輸出結(jié)果是______。main(){inta[3][4]={1,3,5,7,9,11,13,15,17,19,21,23};int(*p)[4]=a,i,j,k=0;for(i=0;i<3;i++)for(j=0;j<2;j++)k=p[i][j];printf("%d\n",k);}
A.17B.18C.19D.23
53.設(shè)a、b和c都是int型變量,且a=3、b=4、c=5,則下面的表達式中,值為0的表達式是______。
A.'a'&&'b'
B.a<=b
C.a||+c&&b-c
D.!((a<b)&&!c||1)
54.有以下程序#include<stdio.h>#include<string.h>typedefstrtlct{charname[9];charsex;floatscore[2];}STU;voidf(STUA)
{STUb={"Zhao",'m',85.0,90.0};inti;strcpy(,b.name);a.sex=b.sex;for(i=0;i<2;i++)a.score[i]=b
A.Qian,f,95,92B.Qian,m,85,90C.Zhao,f,95,92D.Zhao,m,85,90
55.沒有如下定義:Structsk{inta;floatb;}data;int*p;若要使P指向data中的a域,正確的賦值語句是
A.p=&a;B.p=data.a;C.p=&data.a;D.*p=data.a;
56.以下選項中合法的用戶標(biāo)識符是A.longB._2TestC.3DmaxD.A.dat
57.“年齡在18—25之間”這種約束是屬于數(shù)據(jù)庫當(dāng)中的()
A.原子性措施B.一致性措施C.完整性措施D.安全性措施
58.若有如下程序:main(){intx[]={14,32,65,69,78,59},*t;t=x+5;printf("%d\n",*-t);}則程序執(zhí)行后的輸出結(jié)果是()。
A.78B.65C.32D.14
59.以下程序輸出的結(jié)果為______。main(){char*dlpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"};char*p;inti;p=alpha;for(i=0;i<4;iff)printf("%s",p[i])}
A.ABCDEFGHIJKLB.ABCDC.ABCDEFGHIJKLMNOPD.AEIM
60.以下程序的輸出結(jié)果是______。main(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<3;j++){if(j%2)continue;x++;}x++;}printf("x=%d\n",x);}
A.x=4B.x=8C.x=6D.x=12
四、選擇題(20題)61.以下選項中,合法的一組c語言數(shù)值常量是()。
A.12.0Xa234.5e0
B.028.5e…30xf
C.1774el.50abe
D.0x8A10,0003.e5
62.
63.
64.
下列程序的輸出結(jié)果是()。
main
{inta,b,d=25;
a=d/10%9;
b=a&&(一1);
printf("%d,%d\n",a,b);}
A.6,1B.2,1C.6,0D.2,0
65.有下列程序:
main
{inty=10;
do{y--;}while(--y);
printf("%d\n",--y);
)
當(dāng)執(zhí)行程序時,輸出的結(jié)果是()。
A.-1B.1C.4D.0
66.在單鏈表中,增加頭結(jié)點的目的是()。A.A.方便運算的實現(xiàn)B.使單鏈表至少有一個結(jié)點
C.標(biāo)識表結(jié)點中首結(jié)點的位置
D.說明單鏈表是線性的鏈?zhǔn)酱鎯崿F(xiàn)
67.以下選項中關(guān)于程序模塊化的敘述錯誤的是()。
A.可采用自底向上、逐步細化的設(shè)計方法把若干獨立模塊組裝成所要求的程序
B.把程序分成若干相對獨立、功能單一的模塊,可便于重復(fù)使用這些模塊
C.把程序分成若干相對獨立的模塊,可便于編碼和調(diào)試
D.可采用自頂向下、逐步細化的設(shè)計方法把若干獨立模塊組裝成所要求的程序
68.有下列程序:
main()
{inti,j,x=0;
for(i=0,i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++:
}
x++:
}
printf("x=%d\n"x);
}
程序執(zhí)行后的輸出結(jié)果是()。
A.x=4B.x=8C.x=6D.x=12
69.
70.
71.
72.下列關(guān)于數(shù)據(jù)流圖的描述正確的是()。
A.數(shù)據(jù)流圖是描述數(shù)據(jù)處理過程的工具
B.數(shù)據(jù)流圖間接支持系統(tǒng)的功能建模
C.數(shù)據(jù)流圖中帶箭頭的線段表示控制流
D.數(shù)據(jù)流圖是軟件詳細設(shè)計的工具
73.在軟件設(shè)計中,不屬于過程設(shè)計工具的是()。
A.PDL(過程設(shè)計語言)B.PAD圖C.N-S圖D.DFD圖
74.
75.
76.
77.
78.輸出語句:prinff(”%d\n”,ll+011);的輸出結(jié)果是()。
A.20B.22C.022D.021
79.
80.
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:求S的值。
例如,當(dāng)n為100時,函數(shù)的值應(yīng)為1.566893。
請改正程序中的錯誤,使它能得出正確的結(jié)果。
注意:不要改動main()函數(shù),不得增行或刪行,也不得更改程序的結(jié)構(gòu)。
試題程序:
六、程序設(shè)計題(1題)82.使用VC++2010打開考生文件夾下prog1中的解決方案。此解決方案的項目中包含一個源程序文件prog1.c。在此程序中,請編寫函數(shù)fun(),該函數(shù)的功能是求出二維數(shù)組周邊元素之和,作為函數(shù)值返回。二維數(shù)組中的值在主函數(shù)中賦予。例如,若二維數(shù)組中的值為13579299946999813570則函數(shù)值為61。注意:部分源程序在文件prog1.c中。請勿改動主函數(shù)main()和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun()的花括號中填入你編寫的若干語句。試題程序:1#include2#include3#include4#defineM45#defineN56intfun(inta[m][n])7{89}10voidmain()11{12FILE*wf;13intaa[M][N]={{1,3,5,7,9},{2,9,9,9,4},{6,9,9,9,8},{1,3,5,7,0}};14inti,j,y;15system("CLS");16printf("Theoriginaldatais:\n");17for(i=0;i<m;i++)18{for(j=0;j<n;j++)19printf("%6d",aa[i][j]);20printf("\n");21}22y=fun(aa);23printf("\nThesum:%d\nM,y);24printf("\n");25/******************/26wf=fopen("out.dat","w");27fprintf(wf,"%d",y);28fclose(wf)29/******************/30}
參考答案
1.C
2.B
3.B
4.B\nscanf輸入函數(shù)中,格式控制J必須嚴(yán)格按照函數(shù)中的要求進行輸入,在scanf('%c%c',&chl,&ch2)的格式控制語句中沒有任何字符進行間隔,所以在輸入時也不能使用任何字符進行間隔,所以答案選擇B。
\n
5.A本題考查按位與運算,按位與就是相同為1,不同為0,把x=011050化成二進制為0001001000101000,把01252化成二進制為0000001010101010,兩者相與得0000001000101000。
6.B解析:條件表達式的形式為:“表達式1?表達式2:表達式3”。其含義為:當(dāng)“表達式1”的值為非零時,求出“表達式2”的值,此時“表達式2”的值就是整個條件表達式的值;當(dāng)“表達式1”的值為零時,求出“表達式3”的值,此時“表達式3”的值就是整個條件表達式的值。對于本題來說,當(dāng)表達式EXP為非0值時條件成立,即執(zhí)行語句i++;當(dāng)EXP等于0時,執(zhí)行語句j--;這等同于條件表達式“(EXP!=0)?i++:i++;”。
7.C解析:C語言提供了許多輸入函數(shù),其中有:getchar(輸入字符)、scanf(格式輸入)和gets\u3000(輸入字符串)等。題目要求輸入的是字符串,所以可以排除getchar,而且要求輸入的字符串中包含空格,而scanf函數(shù)默認(rèn)將輸入的空格字符作為分割符,所以空格不會被輸入,故可排除scanf。getc的作用是從文件中輸入一個字符,故也不可取。gets函數(shù)可以輸入一整行作為一個字符串,其中也包括空格字符,故應(yīng)該選擇C。
8.C
9.C
10.A解析:在主函數(shù)main()中,語句“sum(&a[2]);”把數(shù)組元素a[0]的地址傳遞給了sun函數(shù)的形參a[],使得sum函數(shù)中的“(a+0)”為主函數(shù)中a[2]的地址,所以a[-1]的值為主函數(shù)中a[1]的值;a[1]的值為主函數(shù)中a[3]的伉,故函數(shù)sum中a[0]=2+4=6,由于此函數(shù)中的a是指向主函數(shù)中的a[2],所以a[2]的值為6。
11.C
12.B
13.B
14.A
15.A軟件測試的目的是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程,并不涉及改正錯誤,所以選項A錯誤。程序調(diào)試的基本步驟有:錯誤定位、修改設(shè)計和代碼,以排除錯誤、進行回歸測試,防止引進新的錯誤。程序調(diào)試通常稱為Debug,即排錯。軟件測試的基本準(zhǔn)則有:所有測試都應(yīng)追溯到需求、嚴(yán)格執(zhí)行測試計劃,排除測試的隨意性、充分注意測試中的群集現(xiàn)象、程序員應(yīng)避免檢查自己的程序、窮舉測試不可能、妥善保存測試計劃等文件。故答案為A選項。
16.C解析:外部變量在編譯時由系統(tǒng)分配永久的內(nèi)存空間,所以外部變量的類型不是自動存儲類別。
17.B
18.C解析:程序流程圖是人們對解決問題的方法、思路或算法的一種描述。其中,圖框表示各種操作的類型,圖框中的文字和符號表示操作的內(nèi)容,流程線表示操作的先后次序。帶箭頭的線段在數(shù)據(jù)流程圖中表示數(shù)據(jù)流。帶箭頭的線段在程序流程圖中表示控制流。題中給出的選項中,在圖元之間用帶有箭頭的線段表示圖元關(guān)系。在模塊之間用帶有箭頭的線段表示調(diào)用關(guān)系。構(gòu)成程序流程圖的基本圖符及含義:→或↓表示控制流;□表示加工步驟;
表示邏輯條件。
19.C
20.C第一次外循環(huán)的值為1,第一次內(nèi)循環(huán)j的值為3,不滿足條件執(zhí)行m*=i*j即m的值為3;第二次j的值為2。不滿足條件執(zhí)行m*=i*j,即的值為6;第三次j的值為1,不滿足條件執(zhí)行m*=i*j,即m的值仍為6。第二次外循環(huán)的值2,j的值為3,滿足條件執(zhí)行break語句跳出循環(huán)。
21.fopen
22.246
23.10211021解析:此題主要考查了變量和函數(shù)的存儲類別。函數(shù)的存儲范圍是從定義它的位置到文件結(jié)束為止,如果想在函數(shù)定義之前使用函數(shù),需要先對函數(shù)進行聲明。靜態(tài)局部變量的生存期為整個程序的運行期間,作用域卻為定義它的函數(shù)或局部范圍內(nèi)。
24.852852解析:循環(huán)前,變量y的值為9,其中的循環(huán)語句在y大于0情況下循環(huán),每次循環(huán)后y的值減1。循環(huán)體是當(dāng)y能被3整除時輸出表達式--y,輸出的是減1后的y值。這樣,第一次循環(huán)因y為9,能被3整除,輸出8,y也變成8。又經(jīng)兩次循環(huán),y的值變?yōu)?,又讓y減1變成5,并輸出5;又經(jīng)兩次循環(huán),y的值變成3,讓y減1變成2,輸出2;再經(jīng)兩次循環(huán)后,y的值變成0,結(jié)束循環(huán)。所以程序輸出852。
25.2626解析:a*=16+(b++)-(++c)等價于a*=a*(16+(b++)-(++c))=2*(16+(2-5)=26。b++是先使用b的值參加運算,再對b加1;++c是先c加1,再使用c的值參加運算。
26.int*ptb1[i].p*tb1[j].p<*tb1[j+1].p
27.28
28.x==0x==0解析:!x的邏輯意思就是x為非,即x==0。
29.00解析:本題考查的是do厀hile循環(huán)。第一次執(zhí)行循環(huán)體,因為k=1,r=1,n=20,所以k=1*20%10*1=0,n=20/10=2,r=2;第二次執(zhí)行循環(huán)體,k=0*2%10*2=0,n=10/10=1,r=3;第三次執(zhí)行循環(huán)體,k=0*1%10*3=0,n=1/10=0,r=4,所以k的值為0。
30.212,1解析:本題中,執(zhí)行a=a+b時,a=1,b=2,a=1+2=3,b=a-b時,a=3,b=2,b=3-2=1;a=a-b時,a=3,b=1,a=3-1=2;因此,本題的輸出是2,1
31.完善性軟件維護活動包括以下幾類:改正性維護,適應(yīng)性維護、完善性維護和預(yù)防性維護,完善性維護是指為了滿足用戶對軟件提出的新功能與性能要求,需要修改或再開發(fā)軟件,以擴充軟件功能、增強軟件性能、改進加工效率、提高軟件的可維護性。
32.外模式外模式解析:數(shù)據(jù)庫系統(tǒng)的三級模式分別是內(nèi)模式、概念模式和外模式。其中,物理模式給出了數(shù)據(jù)庫的物理存儲結(jié)構(gòu)和存取方法;概念模式是數(shù)據(jù)庫系統(tǒng)中全局?jǐn)?shù)據(jù)邏輯結(jié)構(gòu)的描述;外模式是用戶的數(shù)據(jù)視圖,也就是用戶所見到的數(shù)據(jù)模式。
33.內(nèi)聚內(nèi)聚
34.CIRCLE(RLSV)S=PI*R*Rr1sv
35.隊列隊列解析:隊列是一種特殊的線性表,只允許在表的一端插入元素,在表的另一端刪除元素,插入元素的一端叫做“隊尾”,刪除元素的一端叫做“隊頭”,先插入的元素先被刪除,是按先進先出的原則組織數(shù)據(jù)的。
36.概念設(shè)計階段(數(shù)據(jù)庫概念設(shè)計階段)概念設(shè)計階段(數(shù)據(jù)庫概念設(shè)計階段)
37.11解析:本題是一個陷阱題。在if語句的判斷表達式中,使用的不是邏輯運算符==而是賦值運算符=,使該表達式返回的結(jié)果正好相反。如果是c==a,則結(jié)果為假。但是c=a則是將a賦給c,且表達式的結(jié)果是賦值之后的c的值,因此結(jié)果為1是真.故最后輸出c的值1。
38.\O'或0或NULLstr[i]num++或num=num+1或num+=1\\O'或0或NULL\r\nstr[i]\r\nnum++或num=num+1或num+=1解析:觀察題目要求,可以知道以下幾點:
①for循環(huán)的結(jié)束條件應(yīng)當(dāng)是:str[i]已是字符串的最后一個字符;
②str[i]代表字符串str中的第i+1個字符;
③整形變量num的值是要記錄的單詞的個數(shù)。
C語言中規(guī)定字符串的最后一個字符是一個隱含的字符串結(jié)束符“\\0”,所以在題中第一個空中應(yīng)填寫“\\0”;題中第二個空應(yīng)填寫“str[i]”,以判斷當(dāng)前位置的字符是否為空格;題中第三個空中應(yīng)當(dāng)填寫“num++”,通過變量num的加1累加得到字符串中的單詞個數(shù)。
39.99解析:本題考查宏定義與三目運算符的綜合應(yīng)用。宏定義是原樣替換,本題中,如果a>b成立,則a+1的值為整個表達式的值,否則b+1的值為整個表達式的值(應(yīng)注意后面的加1)。
40.s[j++]=s[i]s[j++]=s[i]解析:循環(huán)開始后如果數(shù)組s中儲存值與字符c相同,則i++直接跳過當(dāng)前值;如果不相同,則將當(dāng)前值賦予數(shù)組指定位置,并通過.j++將下標(biāo)加1,指向下一元素要存儲的位置。
41.A解析:在執(zhí)行printf()函數(shù)前,數(shù)組str的長度是7,但是當(dāng)使用strcpy()函數(shù)將新的值賦給str后,strlen()函數(shù)返回的應(yīng)當(dāng)是現(xiàn)在的str字符串的字符個數(shù),即是5。
42.C解析:switch語句的執(zhí)行過程是:在switch后面的表達式的值和case后面常量表達式的值吻合時,就執(zhí)行后面的語句.如果在該語句的后面沒有break語句,則繼續(xù)執(zhí)行下一個case,直到遇到break語句或switch多分支的結(jié)束,在switch語句中,break語句的作用是使流程跳出switch結(jié)構(gòu),終止Switch語句的執(zhí)行.本題中在for循環(huán)中嵌套了swish語句,每循環(huán)一次通過scanf()函數(shù)從鍵盤上輸入一個k值,然后執(zhí)行switch語句。for循環(huán)共循環(huán)了2次,當(dāng)i=1時,從鍵盤上輸入0,使得k的值為0,執(zhí)行switch語句中case:0后面的語句,輸出another,接著執(zhí)行case:0下面的語句輸出number,退出switch語句,當(dāng)i=2時,從鍵盤上輸入1,使得k的值為1,執(zhí)行switch語句中case1后面的語句,輸出number,退出switch語句.當(dāng)i=3時退出循環(huán).故最后的輸出為another、number和number,所以,4個選項中選項C符合題意。
43.D解析:本題中,scanf函數(shù)的格式控制沒有空格,所以,對于選項A)、B)、C),輸入的第一個空格會作為字符賦值給變量c1,而不會被解釋成分隔符。
44.A解析:“%u”表示輸出無符號的整數(shù)(注意:如果輸出值前有符號,將自動轉(zhuǎn)化為相應(yīng)的無符號數(shù)輸出)。
45.C解析:關(guān)于軟件測試的目的,GrenfordJ.Myers在《TheArtofSoftwareTesting》一書中給出了深刻的闡述:軟件測試是為了發(fā)現(xiàn)錯誤而執(zhí)行程序的過程;一個好的測試用例是指很可能找到迄今為止尚未發(fā)現(xiàn)的錯誤的用例;一個成功的測試是發(fā)現(xiàn)了至今尚未發(fā)現(xiàn)的錯誤的測試。整體來說,軟件測試的目的就是盡可能多地發(fā)現(xiàn)程序中的錯誤。本題答案為C。
46.B解析:“a=1,b=2”是一個逗號表達式,x的值是逗號表達式中最后一個表達式的值2。
47.D各種排序方法中最壞情況下需要比較的次數(shù)分別為:冒泡排序n(n-1)/2、快速排序n(n-1)/2、簡單插入排序n(n-1)/2、希爾排序0(n1.5)、簡單選擇排序n(n-1)/2、堆排序O(nlog2n)
48.A
49.C解析:本題考查函數(shù)調(diào)用時的參數(shù)傳遞。函數(shù)的形參是函數(shù)定義時由用戶定義的形式上的變量,實參是函數(shù)調(diào)用時,主調(diào)函數(shù)為被調(diào)函數(shù)提供的原始數(shù)據(jù)。在函數(shù)調(diào)用時,實參和其所對應(yīng)的形參分別占用不同的存儲單元,彼此之間不影響。
50.B解析:break語句的作用是用刊曲循環(huán)體;Continue語句的作用是用于跳出本次循環(huán)。執(zhí)行第一次循環(huán)時,(b%3=1)為真,b=4,繼續(xù)下一次循環(huán),如此反復(fù),當(dāng)b=22時結(jié)束循環(huán),共循環(huán)8次,即a=8。
51.D解析:本題首先定義了一個int型變量n,并初始化為2。然后進入do-while循環(huán),do-while循環(huán)首先執(zhí)行一遍循環(huán)體,輸出表達式n--的值,此時表達式n--的值是n自減之前的值2,輸出一個2后,n的值變?yōu)?。然后判斷do-while的循環(huán)條件!(--n)是否為真,此時表達式--n的值為n自減之后的值0,!0為真,故第二次執(zhí)行循環(huán)體“printf('%d',n--);”此時n的值為0,所以執(zhí)行結(jié)果為:輸出一個0,n的值變?yōu)?1。此時循環(huán)條件!(--n)=!(-2)為假,程序結(jié)束。故程序運行后的輸出結(jié)果是20,應(yīng)該選擇D。
52.C解析:p是指向長度為4的一維數(shù)組的指針變量,可看作是二維數(shù)組a的行指針,可以像使用數(shù)組名一樣通過p帶數(shù)組下標(biāo)的形式來引用數(shù)組中元素,變量k最后是元素a[2][1]的值。
53.D解析:選項A:'a'&&'b'是字符a與b的相與,不為0:選項B:a<=b,由題中變量賦值可知,結(jié)果為1。選項C:a||+c&&b-c,結(jié)果為1;選項D:!((a<B)&&!c||1),運算結(jié)果為0。
54.A解析:本題考查的是函數(shù)調(diào)用時的參數(shù)傳遞問題。程序在調(diào)用函數(shù)f時,傳給函數(shù)f的參數(shù)只是結(jié)構(gòu)變量c在棧中的一個拷貝,函數(shù)f的所有操作只是針對這個數(shù)據(jù)拷貝進行的修改,這些都不會影響變量c的值。
55.C解析:data是一結(jié)構(gòu)體變量,a是它的成員,因此引用a域的正確方法是:data.a,取它的地址賦值給指針變量p的語句應(yīng)該是:p=&data.a。選項A,將a的地址直接賦給了p,而忽略了a為結(jié)構(gòu)體內(nèi)部的一個成員,而不是一單獨的變量,故選項A不正確;選項B在p=data.a表達式中右邊為一個結(jié)構(gòu)體變量的成員不是地址,而左邊為一指針應(yīng)該將一地址賦給它,改選項B不正確:選項D表達式*p=data.a是將結(jié)構(gòu)體變量中的成員a的值賦給指針p所指向的變量值,而不是使指針p指向data中的a域,故選項D不正確;4個選項中只有C正確。
56.B解析:本題考查C語言標(biāo)識符的命名.在C語言中,合法的標(biāo)識符由字母,數(shù)字和下劃線組成,并且第一個字符必須為字母或者下劃線,long為C語言的保留字,不能作為用戶標(biāo)識符,故選頃A錯誤.3Draax開頭的第一個為數(shù)字,而C語言規(guī)定,第一個字符必須為字母或者下劃線,故選項C錯誤;A.dat中的字符“.”不符合C語言中用戶標(biāo)識符只能由字母、數(shù)字和下劃線組成的規(guī)定,故選項D錯誤.只有迭項B正確。
57.C解析:本題主要考查數(shù)據(jù)庫的各種特性。其中數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性(如學(xué)生的學(xué)號必須惟一,性別只能是女或男等),數(shù)據(jù)庫是否具備完整性關(guān)系到數(shù)據(jù)庫系統(tǒng)能否真實反映現(xiàn)實世界,因此維護數(shù)據(jù)庫的完整性是非常重要的。根據(jù)題意分析可知這種約束屬于數(shù)據(jù)庫中的完整性措施。
58.A解析:執(zhí)行t=x+5:使指針指向數(shù)組元素59,運算符*和--的優(yōu)先級相同,結(jié)合性為自右向左,先計算--t,對t減1,使t指向數(shù)組元素78,再計算*t,取該地址單元的值78。
59.C解析:alpha[0]指向“ABCD”的首地址;alpha[1]指向“EFGH”的首地址;alpha[2]指向“IJKL”的首地址,依此類推。當(dāng)執(zhí)行p=alpha后,p指向指針數(shù)組alpha的首地址。for循環(huán)中輸出了4個字符串。
60.B
61.AC語言中八進制整型常量的開頭是數(shù)字0,十六進制整型常量的數(shù)字開頭是Ox。C語言中的實型常量有兩種表示形式:小數(shù)形式,小數(shù)形式表示的實型常量必須要有小數(shù)點;指數(shù)形式,以“e”或“E",后跟一個整數(shù)來表示以l0為底數(shù)的冪
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 貴州財經(jīng)職業(yè)學(xué)院《先進制造訓(xùn)練》2023-2024學(xué)年第一學(xué)期期末試卷
- 貴陽職業(yè)技術(shù)學(xué)院《戶外基礎(chǔ)技能》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025浙江省安全員A證考試題庫
- 白玉桃種植示范基地建設(shè)項目可行性研究報告-白玉桃市場需求持續(xù)擴大
- 廣州中醫(yī)藥大學(xué)《商業(yè)銀行管理》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025江蘇省安全員B證考試題庫
- 2025黑龍江省建筑安全員知識題庫附答案
- 2025河南省建筑安全員考試題庫附答案
- 2025河北建筑安全員《A證》考試題庫
- 2025年遼寧省安全員《A證》考試題庫
- 配件供應(yīng)技術(shù)服務(wù)和質(zhì)保期服務(wù)計劃方案
- 中藥房培訓(xùn)課題
- 供電方案審批流程
- 球墨鑄鐵管行業(yè)分析及市場研究報告
- 2024年廣東省廣州城投投資有限有限公司招聘筆試參考題庫含答案解析
- 2024中國出口信用保險公司江蘇分公司勞務(wù)派遣人員招聘筆試參考題庫附帶答案詳解
- 自然情懷-主題作文訓(xùn)練
- 五年級上冊脫式計算100題及答案
- 智能智能化智能眼鏡
- 三年級下冊數(shù)學(xué)混合計算100題及答案
- 社會工作專業(yè)見習(xí)教學(xué)大綱
評論
0/150
提交評論