版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
2022-2023年河南省洛陽市全國計算機等級考試C語言程序設(shè)計測試卷(含答案)學校:________班級:________姓名:________考號:________
一、單選題(20題)1.以下敘述中正確的是()。
A.用C語言編寫的程序只能放在一個程序文件中
B.C語言程序書寫格式嚴格,要求一行內(nèi)只能寫一個語句
C.C語言程序中的注釋只能出現(xiàn)在程序的開始位置和語句的后面
D.C語言程序書寫格式自由,一個語句可以寫在多行上
2.請選出正確的程序段
A.int*p;scanf("%d",p);…
B.int*s,k;*s=100;…
C.int*s,k;char*p,c;s=&k;p=&c;*p='a';…
D.int*s,k;char*p,e;s=&k;p=&c;s=p;*s=1;…
3.
4.以下程序的輸出結(jié)果是()。#include<stdio.h>main(){intn=4;while(n--)printf("%d",--n);}
A.20B.31C.321D.210
5.有以下程序:
執(zhí)行后輸出結(jié)果是()。
A.n,tuesdayB.d,mondayC.U,mondayD.0,wednesday
6.
7.下面程序的輸出結(jié)果是______。#definea121constb=12;enumc{a1,a2};main(){printf("%d,%d,%d",sizeof(a),sizeof(b),sizeof(enumc));}
A.121,0,4B.2,2,2C.0,2,4D.0,2,2
8.體育課的鈴聲響了,同學們都陸續(xù)地奔向操場,按老師的要求從高到矮站成一排。每個同學按順序來到操場時,都從排尾走向排頭,找到第一個比自己高的同學,并站在他的后面。這種站隊的方法類似于()算法。
A.快速排序B.插入排序C.冒泡排序D.歸并排序
9.
10.順序查找不論在順序線性表中還是在鏈式線性表中的時間復雜度為()。
A.O(n)B.O(n^2)C.O(n^1/2)D.O(1og2n)
11.在16位IBM-PC機上使用C語言,若有如下定義structdata{inti;charch;doublef;}b;則結(jié)構(gòu)變量b占用內(nèi)存的字節(jié)數(shù)是
A.1B.2C.7D.11
12.將兩個字符串連接起來組成一個字符串時,選用()函數(shù)。A.strlen()B.strcpy()C.strcat()D.strcmp()
13.
14.十六進制數(shù)FF.1轉(zhuǎn)換成十進制數(shù)是()
A.255.0625B.255.125C.127.0625D.127.125
15.若有定義語句:intX=10;,則表達式x-=x+X的值為A.-20B.-10C.0D.10
16.可用作C語言用戶標識符的一組標識符是()。A.voiddefine+WORDB.a3_b3_123YNC.for-abcCaseD.2aDOsizeof
17.需求分析的主要任務是()。
A.確定軟件系統(tǒng)的功能B.確定軟件開發(fā)方法C.確定軟件開發(fā)工具D.確定軟件開發(fā)入員
18.按照C語言規(guī)定的用戶標識符命名規(guī)則,不能出現(xiàn)在用戶標識符中的是()。
A.大寫字母B.下劃線C.數(shù)字D.連接符
19.下列運算符中優(yōu)先級最低的算符是()。
A.||B.!=C.<;=D.十
20.已知字母A的ASCII代碼值為65,若變量kk為char型,以下不能正確判斷出kk中的值為大寫字母的表達式是
A.kk>=′A′&&kk<=′Z′
B.!(kk>=′A′||kk<=′Z′)
C.(kk+32)>=′a′&&(kk+32)<=′Z′
D.isalpha(kk)&&(kk<91)
二、2.填空題(20題)21.測試的目的是暴露錯誤,評價程序的可靠性;而______的目的是發(fā)現(xiàn)錯誤的位置并改正錯誤。
22.閱讀程序,填空補充程序。
#define【】30
main()
{【】;
num=10;
total=num*PRICE;
printf("total=%d,num=%d\n",【】);
}
23.若有如下程序:
voidsub()
{staticintx=8;
x/=2;printf("%d",x);
}
main()
{intm;
for(m=0;m<2;m++)sub();}
則程序運行后的輸出結(jié)果是【】.
24.語句:x++;、++x;、x=x+1;、x=1+x;,執(zhí)行后都使變量x中的值增1,請寫出一條同一功能的賦值語句(不得與列舉的相同)【】。
25.數(shù)據(jù)庫三級模式體系結(jié)構(gòu)的劃分,有利于保持數(shù)據(jù)庫的【】。
26.軟件需求規(guī)格說明書應具有完整性、無歧義性、正確性、可驗證性、可修改性等特性,其中最重要的是【】。
27.以下程序中函數(shù)huiwen的功能是檢查一個字符串是否是回文,當字符串是回文時,函數(shù)返回字符串“yes!”,否則函數(shù)返回字符串“no!”,并在主函數(shù)中輸出。所謂回文即正向與反向的拼寫都一樣,例如:adsda。請?zhí)羁铡?/p>
#include<stdio,h>
#include<string,h>
char*huiwen(char*str)
{char*p1,*p2;inti,t=0;
p1=str;p2=【】;
for(i=0;i<=strlen(str)/2;i++)
if(*pl++!=*p2--){t=1;break
if(【】)return("yes!");
elsereturn("no!");
}
main(){charstr[50];
printf("Iaput:");scanf("%s",str);
printf("%s\n",【】);
28.棧的3種基本運算是:入棧、退棧和______。
29.下面函數(shù)的功能是將一個字符串的內(nèi)容顛倒過來,請?zhí)羁铡?/p>
voidfun(charstr[])
{inti,j,k;
for(i=0,j=【】;i<j;i++,j--)
{k=str[i];
str[i]=str[j];
str[j]=k;}}
30.下列表達式用于判斷y是否為閏年。閏年的判斷條件是:年號能被4整除但不能被100整除或年號能被400整除,請?zhí)羁誣_____。
31.下列程序的輸出結(jié)果是【】。
main()
{
inta[]={2,4,6},*ptr=&a[0],x=8,y,z;
for(y=0;y<3;y++)
z=(*(ptr+y)<x)?*(ptr+y):x;
printf("%d\n",z);
}
32.下面程序的運行結(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]);}}}
33.以下程序運行后的輸出結(jié)果是【】。
main()
{inti,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
}
34.下列程序的運行結(jié)果是______。
#include<stdio.h>
main()
{inta=10,b=3;
printf("%d,",a%b);
printf("%d,",(a-h,a+b));
printf("%d\n",a-b?a-b:a+b);
}
35.軟件是程序、數(shù)據(jù)和【】的集合。
36.以下程序運行后的輸出結(jié)果是【】。
main()
{
intp=30;
printf("%d\n",(p/3>0?p/10:p%3));
}
37.以下程序運行后的輸出結(jié)果是______。
main()
{
inti,m=0,n=0,k=0;
for(i=9;i<=11;i++)
switch(i/10)
{
case0:m++;n++;break;
case10:n++;;break;
default:k++;n++;
}
printf("%d%d%d\n",m,n,k);
}
38.對下列二叉樹進行中序遍歷的結(jié)果為【】。
39.關(guān)系模型的完整性規(guī)則是對關(guān)系的某種約束條件,包括實體完整性、______和自定義完整性。
40.數(shù)據(jù)庫管理系統(tǒng)常見的數(shù)據(jù)模型有層次模型、網(wǎng)狀模型和【】3種。
三、1.選擇題(20題)41.以下程序段的輸出結(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
42.下面描述中,不符合結(jié)構(gòu)化程序設(shè)計風格的是
A.使用順序、選擇和重復(循環(huán))三種基本控制結(jié)構(gòu)表示程序的控制邏輯
B.注重提高程序的可讀性
C.模塊只有一個人口和一個出口
D.使用goto語句
43.已知a=15,執(zhí)行fprintf(fp,"%d",a)后,寫入fp指向的文件的是______。
A.15B.1111C.63D.1111
44.數(shù)據(jù)庫DB、數(shù)據(jù)庫系統(tǒng)DBS、數(shù)據(jù)庫管理系統(tǒng)DBMS之間的關(guān)系是()。
A.DB包括DBS和DBMSB.DBMS包括DB和DBSC.DBS包括DB和DBMSD.沒有任何關(guān)系
45.數(shù)據(jù)庫技術(shù)的根本目標是要解決數(shù)據(jù)的()。
A.存儲問題B.共享問題C.安全問題D.保護問題
46.以下程序試圖把從終端輸入的字符輸出到名為abc.txt的文件中,直到從終端讀入字符串#號時結(jié)束輸入和輸出操作,但程序有錯#include<stdio.h>main(){FILE*fout;charch;fout=fopen('abc.txt','w');ch=fgetc(stdin);while(ch!='#'){fputc(ch,four);ch=fgetc(stdin);}fclose(fout);}出錯的原因是______。
A.函數(shù)fopen調(diào)用形式錯誤B.輸入文件沒有關(guān)閉C.函數(shù)fgetc調(diào)用形式錯誤D.文件指針stdin沒有定義
47.以下程序的輸出結(jié)果是______。main(){inta[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],[3][0]);}
A.650B.1470C.5430D.輸出值不定
48.若fp已正確定義并指向某個文件,當未遇到該文件結(jié)束標志時函數(shù)feof(fp)的值為()
A.0B.1C.-1D.一個非0值
49.以下敘述中正確的是______。
A.C語言比其他語言高級
B.C語言可以不用編譯就能被計算機識別執(zhí)行
C.C語言以接近英語國家的自然語言和數(shù)學語言作為語言的表達形式
D.C語言出現(xiàn)的最晚,具有其他語言的一切優(yōu)點
50.指出下面不正確的賦值語句
A.a++;B.a==b;C.a+=b;D.a=1,b=1;
51.以下程序輸出正確的是_______amovep(int*p,int(*a)[3],intn){inti,j;for(i=0;i<n;i++)for(j=0;j<n;j++){*p=a[i][j];p++;}}main(){int*p,a[3][3]={{1,3,5},{2,4,6}};p=(int*)mallox(100)amovep)p,a,3);printf("%d%d\n",p[2],p[5]);free(p)}
A.56B.25C.34D.程序錯誤
52.以下程序段的輸出結(jié)果是inta=1234;printf(“%2d\n”;A);
A.12B.34C.1234D.提示出錯、無結(jié)果
53.在軟件設(shè)計中,不屬于過程設(shè)計工具的是()。
A.PDL(過程設(shè)計語言)B.PAD圖C.N-S圖D.DFD圖
54.假定int類型變量占用兩個字節(jié),若有定義:intx[10]={0,2,4);,貝數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是______。
A.3B.6C.10D.20
55.在以下選項中,操作不合法的一組是______。
A.intx[6],*p;p=&x[0];
B.intx[6],*p;*p=x;
C.intx[6],*p;p=x;
D.intx[5],p;p=x[0];
56.以下函數(shù)調(diào)用語句中實參的個數(shù)是()func((exp1,exp2),(exp3,exp4,exp5));
A.1B.2C.4D.5
57.為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流程圖,通常也把這種圖稱為______。
A.PAD圖B.N-S圖C.結(jié)構(gòu)圖D.數(shù)據(jù)流圖
58.C語言中while循環(huán)和do-while循環(huán)的主要區(qū)別是______。
A.do-while的循環(huán)體至少無條件執(zhí)行一次
B.while的循環(huán)控制條件比do-while的循環(huán)控制條件嚴格
C.do-while允許從外部轉(zhuǎn)到循環(huán)體內(nèi)
D.do-while的循環(huán)體不能是復合語句
59.下列敘述錯誤的是()。
A.函數(shù)名是屬于用戶標識符,需符合C語言對標識符的規(guī)定
B.形參只能是變量
C.為保證程序的正常運行,函數(shù)中定義的變量不能與其他函數(shù)中的變量同名
D.函數(shù)中定義的變量可以與其他函數(shù)中的變量同名
60.若有定義:inta=4,b=5;floatx=3.4,y=2.1;,則下列表達式的值為()
(float)(a+b)/2+(int)×%(int)y
A.5.5B.55C.5.500000D.55.00000
四、選擇題(20題)61.有以下程序:
程序運行后的輸出結(jié)果是()。
A.61B.70C.63D.71
62.有以下程序程序的運行結(jié)果是()。
A.321678B.876543C.1098765D.345678
63.
若有以下的說明和語句,則在執(zhí)行for語句后,’(*(pt+1)+2)表示的數(shù)組元素是()。
intt[3][3],*pt[3],k;for(k=0;k<3;k++)pt[k]=&t[k][0];
A.t[2][0]B.t[2][2]C.t[1][2]D.t[2][1]
64.在C程序中有如下語句:char*func(intx,inty);它是()。
A.對函數(shù)func的定義。B.對函數(shù)func的調(diào)用。C.對函數(shù)func的原型說明。D.不合法的
65.定義結(jié)構(gòu)體數(shù)組:structstu{intnum;charnameE20];}X[5]={1,"LI",2,"ZHAO",3,"WANG",4,"ZHANG",5,"LIU");for(i=1;i<5;i++)printf("%d%c",x[i].num,x[i].name[2]);以上程序段的輸出結(jié)果為()。A.2A3N4A5UB.112A3H4IC.1A2N3A4UD.2H3A4H5I
66.若已定義:inta[9],*p=a;并在以后的語句中未改變p的值,不能表示a[1]地址的表達式為()。
A.p+1B.a+1C.a++D.++p
67.以下語句的輸出結(jié)果是()。
inta=-1,b=4,k;
k=(++a<0)!(b--<=0);
printf("%d,%d,%d\n",k,a,b);
A.1,0,4B.1,0,3C.0,0,3D.0,0,4
68.若intk=8;則執(zhí)行下列程序后,變量k的正確結(jié)果是
main()
{intk=8;
switch(k)
{case9:k+=1;
case10:k+=1;
default:k+=1;
case11:k+=1;break;
}
printf("%d\n",k);
}
A.12B.1
C.10D.9
69.
70.有以下程序:
程序運行后的輸出結(jié)果是()。
71.
72.軟件生命周期是指()。A.軟件產(chǎn)品從提出、實現(xiàn)、使用維護到停止使用退役的過程
B.軟件從需求分析、設(shè)計、實現(xiàn)到測試完成的過程
C.軟件的開發(fā)過程
D.軟件的運行維護過程
73.有以下程序
74.有定義:“inta=2,b=3,c=4;”,則下列選項中值為0的表達式是()。
A.(!a==1)&&(!b==0)B.(a<b)&&!cC.D.1E.a&&bF.aG.H.(b+b)&&(c-a)
75.有以下程序:
程序的運行結(jié)果是()。
A.1234B.5678C.9101112D.1111
76.以下對二維數(shù)組a進行正確初始化的是()
A.inta[2][3]={{1,2},{3,4},{5,6}};
B.inta[][3]={1,2,3,4,5,6};
C.inta[2][]={1,2,3,4,5,6};
D.inta[2][]={{1,2},{3,4}};
77.軟件(程序.調(diào)試的目標是()。
A.診斷和改正程序中的錯誤
B.盡可能多地發(fā)現(xiàn)程序中的錯誤
C.發(fā)現(xiàn)并改正程序中的所有錯誤
D.確定程序中錯誤的性質(zhì)
78.
79.如已定義X和Y為double類型,則表達式X=1,y=x+5/2的值是()。
A.2B.3.0C.3D.3.5
80.在軟件設(shè)計中不使用的工具是()。
A.系統(tǒng)結(jié)構(gòu)圖
B.程序流程圖
C.PAD圖
D.數(shù)據(jù)流圖(DFD圖)
五、程序改錯題(1題)81.下列給定程序中,函數(shù)proc()的功能是:計算n!。例如,若輸人:6,則輸出:6!=720.000000。
請修改程序中的錯誤,使它能得出正確的結(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.D用C語言編寫的程序可以放置于多個程序文件中,所以A選項錯誤。C語言程序中的一行可以有多條語句,所以B選項錯誤。C語言中的注釋語句可以與原語句放在一行,也可以不放在一行,所以C選項錯誤。故本題答案為D選項。
2.C解析:本題的選項A)和B)犯了同樣的錯誤,即指針變量在定義后并沒有指向具體的變量。也就是說,指針變量中沒有確定的地址值,它的值是不可預見的,所指的單元也是不可預見的,因此不能進行賦值操作。另外,在選項D)中,s是int型指針變量,p是char型指針變量,所指向的內(nèi)存單元所占用的字節(jié)數(shù)是不同的,因而不能將字符指針變量p的值賦給整型指針變量s。
3.D
4.A解析:n--是先使用后自減,--n是先自減后使用。n=4時,執(zhí)行n--后,n變?yōu)?,執(zhí)行--n后,n變?yōu)?,所以,第一次輸出時,n為2;同上過程,第二次輸出時,n為0。
5.CP指向字符串”tuesday”,因此*(P+1)的值為n。s[0]=”monday”。
6.B
7.B解析:sizeof函數(shù)是取變量所占的存儲空間的字節(jié)數(shù),標識a代表常量121;constb=12;,其中數(shù)據(jù)類型可以缺省,默認為整型;enumc{a1,a2};定義了—個枚舉類型enumc,a1,a2為枚舉元素,在C編譯時,對枚舉元素按常量處理,它們的值按定義順序依次為0,1。因此它們的字節(jié)數(shù)均為2,2,2。
8.B
9.D
10.A
11.D解析:結(jié)構(gòu)體變量所占用內(nèi)存的字節(jié)數(shù)是其所有成員所占用內(nèi)存字節(jié)數(shù)之和。本題中整型變量i所占用的內(nèi)存是2字節(jié),字符型變量ch所占用的內(nèi)存是1字節(jié),雙精度型變量f所占用的內(nèi)存是8字節(jié),三者相加即可。
12.C將兩個字符串連接起來組成一個字符串,選用strcat函數(shù)來連接。
13.D
14.A
15.B解析:x-=x+x可化為:x=x-(x+x),由于x初始值為10,所以計算后,x=10-20=-10,因此選B)。
16.B
17.A需求分析是軟件開發(fā)之前必須要做的準備工作之一。需求是指用戶對目標軟件系統(tǒng)在功能、行為、性能、設(shè)計約束等方面的期望。故需求分析的主要任務是確定軟件系統(tǒng)的功能。本題答案為A選項。
18.DC語言只符由字母、數(shù)字、下劃線組成,且第1個字符必須是字母或下劃線,所以D選項中的連接符不合法。故本題答案為D選項。
19.AC語言中規(guī)定運算符的優(yōu)先順序:一元算術(shù)運算符一>二元算術(shù)運算符一>關(guān)系運算符一>邏輯運算符一>賦值運算符,A項中為邏輯運算符,B項和c項都為關(guān)系運算符,D項為一元運算符。因此最低的是A項。
20.B解析:C語言的字符以其ASCII碼的形式存在,所以要確定某個字符是大寫字母,只要確定它的ASCII碼在'A'和'Z'之間就可以了,選項A)和C)符合要求。函數(shù)isalpha用來確定一個字符是否為字母,大寫字母的ASCII碼值的范圍為65到90,所以如果一個字母的ASCII碼小于91,那么就能確定它是大寫字母。
21.調(diào)試調(diào)試
22.PRICEintnumtotaltotalnumPRICE\r\nintnum,total\r\ntotal,num解析:程序中出現(xiàn)了變量num,total以及宏P(guān)RICE,因此應在相應位置說明它們。
23.4242解析:主函數(shù)中的for循環(huán)循環(huán)兩次,即函數(shù)sub()被調(diào)用兩次。在sub()中x被定義為靜態(tài)整型變量,當調(diào)用函數(shù)sub()完畢返回主函數(shù),x中的值仍然保留,下次調(diào)用函數(shù)sub()時,x不再被賦初值。第1次調(diào)用x/=2相當于x=x/2=8/2=4,第2次調(diào)用x=x/2=4/2=2,因此輸出42。
24.x+=1;
25.數(shù)據(jù)獨立性數(shù)據(jù)獨立性解析:數(shù)據(jù)庫的三級模式體系結(jié)構(gòu)把數(shù)據(jù)的組織管理工作進行了劃分,把數(shù)據(jù)的具體組織留給DBMS管理,使用戶能邏輯地、抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計算機中的具體表示方式與存儲方式,保證了數(shù)據(jù)的獨立性。
26.正確性正確性解析:本題考查軟件工程中需求規(guī)格說明書的評審。衡量需求規(guī)格說明書好壞的標準按重要性次序排列為:正確性、無歧義性、完全性、可驗證性、一致性、可理解性、可修改性和可追蹤性。因此,劃線處應填入“正確性”。
27.p1+(stfien(str)-1)或str+(strlen(str)-1)t==0或!thuiwen(str)或(strlen(str)-1)+p1或(stden(str)-1)+strp1+(stfien(str)-1)或str+(strlen(str)-1)\r\nt==0或!t\r\nhuiwen(str)或(strlen(str)-1)+p1或(stden(str)-1)+str解析:回文字符串是指正向與反向拼寫都一樣。由huiwen函數(shù)可知,第三處應該填寫調(diào)用函數(shù)huiwen(str)。在函數(shù)huiwen中,執(zhí)行P1=str;使p1指向字符串str中第一個字符的地址,則第一處應該使p2指向字符串str中最后一個字符的地址,故填p1+(stden(str)-1)或str+(strlen(str)-1)。本題要求如果是回文,則返回'yes!',否則,返回'no!',故當t=0時,說明字符串str為回文,所以第二處應填t==0或!t。
28.讀棧頂元素讀棧頂元素解析:棧的基本運算有3種:入棧、退棧和讀取棧頂元素。其中,入棧是指在棧頂插入一個新的元素;退棧是指取出棧頂元素并賦值給一個變量;讀棧頂元素是將棧頂元素賦值給一個指定的變量,不刪除棧頂元素。
29.strlen(str)-1strlen(str)-1解析:程序中的for循環(huán)就是用來完成串反序的,所以應該對循環(huán)的條件進行初始化,所以在[18]應該填入strlen(str)-1。注意,在串反序的時候,不應該把串結(jié)束符‘\\0’也反序。
30.(y%4==0)&&(y%100!=0)||(y%400==0)(y%4==0)&&(y%100!=0)||(y%400==0)解析:考查邏輯表達。年號能被4整除(y%4==0)但不能被100整除(y%100!=0),兩者是與的關(guān)系,年號能被400整除即y%400==0,與前兩項是或的關(guān)系。
31.66解析:條件運算符的優(yōu)先級高于賦值運算符,因此本題先計算關(guān)系表達式(*ptr+y)<x)?*(ptr+y):x的值,再賦給變量z。當y=0時,*(ptr+y)=2,而x=8,(*(ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=2,所以z=2;當y-1時,*(ptr+y)=4,(*(ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=4,所以z=4;當y=2時,*(ptr+y)=6,(*(ptr+y)<x)條件為真,則整個條件表達式的值為*(ptr+y)=6,所以z=6;循環(huán)結(jié)束。因此輸出z的結(jié)果為6。
32.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自加1等于5。
33.1371513715解析:本題中,定義了一個整型數(shù)組n并初始化,在for循環(huán)語句中,再對數(shù)組中各元素重新賦值。循環(huán)執(zhí)行第一次時,n[1]=n[0]*2+1=0+1=1,printf函數(shù)輸出1,然后i的值加1,比較i<=4成立,繼續(xù)執(zhí)行循環(huán)體語句,使后一個數(shù)為前一個數(shù)的2倍加1。所以最后輸出為1、3、7、15。
34.11371,13,7解析:本題考查3個知識點:①余數(shù)的計算,題中的a=10,b=3,a%b=1:②(表達式1,表達式2)形式的結(jié)果為最后一個表達式的值,題中的a=10,b=3,(a-b,a+b)=a+b=13;③條件運算符的使用,題中的a-b?a-b:a+b,判斷語句a-b=7不為0,所以執(zhí)行a-b,結(jié)果為7。
35.文檔文檔解析:計算機軟件是計算機系統(tǒng)中與硬件相互依存的另一部分,是包括程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。
36.33解析:條件表達式的一般形式為;表達式1?表達式2:表達式3條件運算符的執(zhí)行順序:先求解表達式1,若為非0(真)則求解表達式2,此時表達式2的值就作為整個條件表達式的值;若表達式1的值為0(假),則求解表達式3,表達式3的值就是整個條件表達式的值。30/3=10>0,所以執(zhí)行p/10,結(jié)果為3。
37.132132解析:本題考核的知識點是for循環(huán)與switch語句的綜合運用。主函數(shù)中用了一個for循環(huán),for循環(huán)里嵌套了一個switch語句,for循環(huán)了三次,當i=9時,i/10=0,執(zhí)行switch語句中case0分支,m和n的值各加1,變?yōu)?和1,然后遇到breake語句,退出switch語句;當i=10,i/10=1,執(zhí)行switch語句中default分支,使k和n的值各加1,變?yōu)?和1,退出switch語句:當i=11時,i/10=1,執(zhí)行switch語句中default分支,k和n的值各加1變,為2和3,退出switch語句,循環(huán)結(jié)束。故該空格處應該填132。
38.ACBDFEHGPACBDFEHGP解析:中序遍歷方法的遞歸定義;當二叉樹的根不為空時,依次執(zhí)行如下3個操作:①按中序遍歷左子樹。②訪問根結(jié)點。③技中序遍歷右子樹。根據(jù)遍歷規(guī)則來遍歷本題中的二叉樹。首先遍歷F的左子樹,同樣按中序遍歷。先遍歷C的左子樹,即結(jié)點A,然后訪問C,接著訪問C的右子樹,同樣按中序遍歷C的右子樹,先訪問結(jié)點B,然后訪問結(jié)點D,因為結(jié)點D沒有右子樹,因此遍歷完C的右子樹,以上就遍歷完根結(jié)點F的左子樹。然后訪問根結(jié)點F,接下來遍歷F的右子樹,同樣按中序遍歷。首先訪問E的左子樹,E的左子樹為空,則訪問結(jié)點E,然后訪問結(jié)點E的右子樹,同樣按中序遍歷。首先訪問G的左子樹,即H,然后訪問結(jié)點G,最后訪問G的右子樹P。以上就把整個二叉樹遍歷一遍,中序遍歷的結(jié)果為ACBDFEHGP。因此,劃線處應填入“ACBDFEHGP”。
39.參照完整性參照完整性
40.關(guān)系模型關(guān)系模型解析:數(shù)據(jù)庫管理系統(tǒng)是位于用戶與操作系統(tǒng)之間的一層系統(tǒng)管理軟件,是一種系統(tǒng)軟件,是用戶與數(shù)據(jù)庫之間的一個標準接口。其總是基于某種數(shù)據(jù)模型,可以分為層次模型、網(wǎng)狀模型和關(guān)系模型。
41.B解析:scanf是標準輸入函數(shù),在輸入字符串a(chǎn)aa時,實際的內(nèi)容為“aaa\\0”,“\\0”是由系統(tǒng)自動加入的:gets的功能是從終端讀入一行字符,即一直讀到換行符為止,并由系統(tǒng)自動以“/0”代替換行符。
42.D解析:在結(jié)構(gòu)化程序設(shè)計中,應嚴格控制使用GOTO語句,必要時才可以使用。
43.C解析:使用fprintf()函數(shù)時,函數(shù)向文件輸出的是ASCⅡ碼,特別在輸出數(shù)值時,輸出的是該數(shù)值的ASCⅡ碼,而不是數(shù)值本身。
44.CC?!窘馕觥繑?shù)據(jù)庫系統(tǒng)(DBS)由數(shù)據(jù)庫(DBS)、數(shù)據(jù)庫管理系統(tǒng)(DBMS)、數(shù)據(jù)庫管理員、硬件平臺和軟件平臺五個部分組成,可見DB和DBMS都是DBS的組成部分。
45.B解析:數(shù)據(jù)庫產(chǎn)生的背景就是計算機的應用范圍越來越廣泛,數(shù)據(jù)量急劇增加,對數(shù)據(jù)共享的要求越來越高。共享的含義是多個用戶、多種語言、多個應用程序相互覆蓋的使用一些公用的數(shù)據(jù)集合。在這樣的背景下,為了滿足多用戶、多應用共,享數(shù)據(jù)的要求,就出現(xiàn)了數(shù)據(jù)庫技術(shù),以便對數(shù)據(jù)庫進行管理。因此,數(shù)據(jù)庫技術(shù)的根本目標就是解決數(shù)據(jù)的共享問題。故選項B正確。
46.A解析:本題考查的是文件的打開函數(shù)fopen(),其調(diào)用方式通常為FLIE*fp;fp=fopen(文件名,使用文件方式);,如:fp=fopen('abc.txt','w');表示要打開名字為abc.txt的文件,使用文件方式寫入。fopen函數(shù)帶回指向abc.txt文件的指針并賦給fp,即fp指向文件abc.txt。
47.A解析:對未給出初始值的整數(shù)數(shù)組元素,被默認初始化為零。
48.A解析:文件尾測試函數(shù)feof()的應用,讀取文件時,當文件中的數(shù)據(jù)全部讀完后,文件位置指針將位于文件的結(jié)尾。此時如果讀數(shù)據(jù),將會出現(xiàn)錯誤。為了保證讀寫數(shù)據(jù)的正確性,需要進行文件尾測試,文件尾測試使用函數(shù)feof(),它的功能是測試fp指向的文件是否到達文件尾。若到達文件尾,返回值為非0,否則返回值為0。在本題中fP指向的某文件還沒有到了文件尾,因此返回0。
49.C解析:計算機語言分為低級語言、匯編語言和高級語言,C語言屬于高級語言,但并不是說C語言比其他語言高級,所以選項A錯誤;除了低級語言外,其他各種語言都必須編譯成能被計算機識別的二進制數(shù)才能執(zhí)行,選項B錯誤;C語言出現(xiàn)在1972年到1973年間,并不是出現(xiàn)最晚的語言,所以選項D也是錯誤的。
50.B解析:本題考核的知識點是賦值語句的正確使用。C語言中賦值語句是由賦值表達式加“;”構(gòu)成的.賦值表達式的形式為:變量:表達式;。選項A中a++相當于a+1,是賦值語句;選項C和選項D也是賦值語句.只有選項B不是,因為選項B中“==”符號是等于的意思,并不是賦值運算符,所以,4個選項中B符合題意。
51.A解析:本題main函數(shù)中定義了指針p和二維數(shù)組a,通過函數(shù)amovep將數(shù)組的值存入指針p所指向的存儲單元中,a的各元素分別:a[0][0]=1,a[0][1]=3,a[0][1]=3,a[0][2]=5,a[1][2]=2,a[1][1]=4,a[1][2]=6,a[2][0]=0,a[2][1]=0,a[2][2]=0。通過malloc()函數(shù)給指針分配內(nèi)存空間,free()函數(shù)用于釋放指針變量所用內(nèi)存空間。在主函數(shù)中通過amovep(p,a,3)調(diào)用函數(shù)amovep,使得實參p與形參P,實參數(shù)組a與形參中指向數(shù)組的指針變量共用同一存儲空間。最后輸出p[2],p[5]為56。
52.C解析:printf()函數(shù)的輸出格式,當整數(shù)的值超過格式要求輸出范圍時,原樣輸出。本題中要求輸出兩個有效數(shù)字,而實際上a有4個有效數(shù)字,故原樣輸出,輸出1234。
53.D解析:PDL一種設(shè)計性語言,用于書寫軟件設(shè)計規(guī)約。它是軟件設(shè)計中廣泛使用的語言之一。N-S圖是無線的流程圖,是算法描述工具;PAD圖是問題分析圖,它用二維樹狀結(jié)構(gòu)的圖表示程序的控制流,將這種圖轉(zhuǎn)換為程序代碼比較容易。此3類均是過程設(shè)計工具,數(shù)據(jù)流圖(DataFunctionDiagram):又名數(shù)據(jù)功能圖表,簡稱DFD,是采用圖形方式來表達系統(tǒng)的邏輯功能、數(shù)據(jù)在系統(tǒng)內(nèi)部的邏輯流向和邏輯變換過程,是結(jié)構(gòu)化系統(tǒng)分析方法的主要表達工具及用于表示軟件模型的一種圖示方法。
54.D解析:當數(shù)組定義后,系統(tǒng)就為其分配內(nèi)存空間,而不論其中有沒有內(nèi)容。因此,本題中數(shù)組x(10)不論是否為其元素初始化,它所分配的存儲空間仍為2*10=20個字節(jié)。
55.B解析:對于A和C都可使p指向數(shù)組x的首地址。D是把數(shù)組元素x[0]賦給p。
56.B
57.B解析:常見的過程設(shè)計工具有:程序流程圖、N-S圖、PAD圖和HIPO圖。其
中,為了避免流程圖在描述程序邏輯時的靈活性,提出了用方框圖來代替?zhèn)鹘y(tǒng)的程序流
程圖,通常也把這種圖稱為N-S圖。
注意:其他常用算法描述工具的概念。
58.A解析:本題考核C++語言中while循環(huán)和do-while循環(huán)之間的區(qū)別。do-while語句與while語句不同的是,do-while循環(huán)中的<語句>至少會執(zhí)行一次,而while語句中當條件在第一次循環(huán)就不滿足時,語句一次也不會執(zhí)行。
59.C解析:本題考查函數(shù)調(diào)用時參數(shù)的作用域。在函數(shù)調(diào)用時,函數(shù)體內(nèi)定義的變量的作用域連函數(shù)體內(nèi),因而在不同函數(shù)體內(nèi)定義的變量可以相同,不影響各個變量的使用。
60.C解析:在計算(float)(a+b)/2時,由于通過強制類型轉(zhuǎn)換將(a+b)轉(zhuǎn)換成了float型,所以應先將2轉(zhuǎn)換成float型,再進行計算,得4.500000。
在計算(int)x%(int)y時,先將x和y通過強制類型轉(zhuǎn)換成血型,再進行求余運算,得1。
又因為4.500000是float型,所以將1和它相加時,先將1換成float型,再計算,得到5.500000。
[知識擴展]類型轉(zhuǎn)換的一般規(guī)則是:低級類型服從高級類型,并進行相應的轉(zhuǎn)換。數(shù)據(jù)類型的級別由低到高的排序表示為:char→int→unsigned→long→float→double。
61.Bsizeof是返回字符串在內(nèi)存中所占用的
62.A本題中,函數(shù)fun()的功能是將數(shù)組k中前5個元素倒序,因此返回后數(shù)組k中的元素排列是5…432,l,6,7,8,9,10。程序打印輸,hqk[21到k[71元素的值,flP321678,所以選擇A)。
63.C
\n從for循環(huán)可知pt是指向行的首地址的指針變量,因此由指針的表示方法可知:*(*(pt+1)+2)=pt[1][2]=t[1][2]。
\n
64.C
65.A本題主要考查結(jié)構(gòu)體數(shù)組的使用。x[i].num為結(jié)構(gòu)體x[i]中的hum成員,x[i].num[2]是結(jié)構(gòu)體x[i]中name成員的第3個元素。程序執(zhí)行循環(huán)過程時:第1次循環(huán),i=1,輸出x[i].num,x[1].
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 飼料行業(yè)安全管理工作總結(jié)
- 2025年高考歷史一輪復習之人民當家作主
- 醫(yī)療器械行業(yè)市場推廣活動總結(jié)
- 兒科門診護理工作總結(jié)
- 網(wǎng)絡行業(yè)運營員培訓心得
- 音樂行業(yè)客服工作總結(jié)
- 美容美發(fā)店前臺服務感悟
- 2024年美術(shù)教案(匯編9篇)
- 力瓦工程合同(2篇)
- 沖刺班協(xié)議書(2篇)
- 園林綠化員工培訓課件
- 《雷達對抗原理》課件
- 《CT檢查技術(shù)》課件-CT圖像后處理
- 刑事辯護策略技巧案例
- 土壤檢測報告表
- 2024年陜西西安高新區(qū)管委會工作人員招聘筆試參考題庫附帶答案詳解
- 上海高端住宅市場分析報告
- 《產(chǎn)品價值點》課件
- 內(nèi)科醫(yī)生如何與患者建立有效的溝通
- 歌廳消防安全管理制度
- 《雪地尋蹤》選擇題及答案
評論
0/150
提交評論