版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2021年山東省淄博市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)真題二卷(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(12題)1.第
2
題
現(xiàn)有如下程序段
#include"stdio.h"
main()
{intk[30]={12,324,45,6,768,98,21,34,453,456};
intcount=0,i=0;
while(k[i])
{if(k[i]%2==0‖k[i]%5==0)count++;
i++;}
printf("%d,%d\n",count,i);}
則程序段的輸出結(jié)果為
A.7,8B.8,8C.7,10D.8,10
2.下面程序中算法的時(shí)間復(fù)雜度是()A.O(n)B.O(n^2)C.O(logn)D.O(n*logn)
3.體育課的鈴聲響了,同學(xué)們都陸續(xù)地奔向操場(chǎng),按老師的要求從高到矮站成一排。每個(gè)同學(xué)按順序來到操場(chǎng)時(shí),都從排尾走向排頭,找到第一個(gè)比自己高的同學(xué),并站在他的后面。這種站隊(duì)的方法類似于()算法。
A.快速排序B.插入排序C.冒泡排序D.歸并排序
4.有以下程序:#include<stdio.h>doublef(doublex);main(){doublea=0;inti;for(i=0;i<30;i+=10)a+=f((double)i);printf(“%3.0f\n”,a);}doublef(doublex)}returnx*x+1;}程序的運(yùn)行結(jié)果是()。
A.500B.401C.503D.1404
5.有以下程序#include<stdio.h>main(){charcl,c2;c1=A+8-4c2=A+8-5;printf("%C,%d\n",cl,c2);}已知字母A的ASCIl碼為65,程序運(yùn)行后的輸出結(jié)果是()。A.E,69B.D,69C.E,DD.輸出無定值
6.下面程序輸出的是()。main{intt=l;fun(fun(t));}fun(inth){staticinta[3]={1.2.3};intk;for(k=0;k<3;k++)a[k]+=a[k]-h;for(k=0;k<3;k++)printf("%d",a[k]);printf("\n");return(a[h]);}A.1,2,3,1,5,9,B.1,3,5,1,3,7,C.1,3,5,0,4,8,D.1,3,5,-1,3,7,
7.設(shè)有定義:structcomplex{intreal,unreal;}data1={1,8},data2;則以下賦值語句中錯(cuò)誤的是()。
A.data2=(2,6);
B.data2=data1;
C.data2.real=data1.real;
D.data2.real=data1.unreal;
8.有以下程序:程序運(yùn)行后的輸出結(jié)果是()。
A.5B.2C.3D.8
9.利用fseek函數(shù)可實(shí)現(xiàn)的操作是()。
A.實(shí)現(xiàn)文件的順序讀寫B(tài).改變文件的位置指針C.實(shí)現(xiàn)文件的隨機(jī)讀寫D.以上答案均正確
10.下列敘述中正確的是A.為了建立一個(gè)關(guān)系,首先要構(gòu)造數(shù)據(jù)的邏輯關(guān)系
B.表示關(guān)系的二維表中各元組的每一個(gè)分量還可以分成若干數(shù)據(jù)項(xiàng)
C.一個(gè)關(guān)系的屬性名表稱為關(guān)系模式
D.一個(gè)關(guān)系可以包括多個(gè)二維表
11.若有以下定義和語句:chars[10]="abcd!",*s2="\nl23\\";Drintf("%d%d\n",strlen(sl),strlen(s2));則輸出結(jié)果是()。A.55B.105C.107D.58
12.以下與函數(shù)fseek(fp,0L,SEEK_SET)有相同作用的是
A.feof(fp)B.ftell(fp)C.fgetc(fp)D.rewind(fp)
二、2.填空題(12題)13.下列程序的運(yùn)行結(jié)果是______。
#defineP(a)printf("%d",a)
main()
{intj,a[]={1,2,3,4,5,6,7},i=5;
for(j=3;j>l;j--)
{switch(j)
{case1:
case2:P(a[i++]);break;
case3:P(a[--i]);
}
}
}
14.用十六進(jìn)制給存儲(chǔ)器中的字節(jié)地址進(jìn)行編號(hào),其地址編號(hào)從0000到FFFF,則該存儲(chǔ)器容量是【】。
15.若輸入5、9,以下程序的運(yùn)行結(jié)果為【】。
main()
{inta,b,*pt1,*pt2;
printf("inputa,b:");
scanf("%d%d",&a,&b);
pt1=&a;
pt2=&b;
if(a<b)swap(pt1,pt2);
printf("\n%d,%d\n",*pt1,*pt2);
}
swap(p1,p2)
int*p1,*p2;
{int*p;
p=p1;
p1=p2;
p2=p;
}
16.數(shù)據(jù)庫三級(jí)模式體系結(jié)構(gòu)的劃分,有利于保持?jǐn)?shù)據(jù)庫的【】。
17.函數(shù)my_cmp()的功能是比較字符串s和t的大小,當(dāng)s等于t時(shí)返回0,否則返回s和t的第一個(gè)不同字符的ASCII碼差值,即s>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。請(qǐng)?zhí)羁铡?/p>
my_cmp(char*s,char*t)
{while(*s==*t)
{if(*s=='\0')return0;
++s;++t;
}return【】;
}
18.以下程序的功能是計(jì)算。補(bǔ)足所缺語句。
longf(intn)
{inti;longs;
s=【】;
for(i=1;i<=n;i++)s=【】;
returns;
}
main()
{longs;intk,n;
scanf("%d",&n);
s=【】;
for(k=0;k<=n,k++)s=s+【】;
printf("%1d\n",s);
}
19.以下程序的運(yùn)行結(jié)果是【】。
intk=0;
voidfun(intm)
{m+=k;k+=m;
printf("m=%dk=%d",m,k++)
}
main()
{inti=4;
fun(i++);
printf("i=%dk=%d\n",i,k);
}
20.以下函數(shù)sstrcat()的功能是實(shí)現(xiàn)字符串的連接,即將t所指字符串復(fù)制到s所指字符串的尾部。例如:s所指字符串為abed,t所指字符串為efgh,函數(shù)調(diào)用后s所指字符串為abodefgh。請(qǐng)?zhí)羁铡?/p>
#include<string.h>
voidsstrcat(char*s,char*t)
{intn;
n=strlen(s);
while(*(s+n)=【】){s++;t++;}
}
21.計(jì)算機(jī)病毒除有破壞性、潛伏性和激發(fā)性外,還有一個(gè)最明顯的特性是【】
22.按"先進(jìn)后出"原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是【】。
23.以下程序運(yùn)行后的輸出結(jié)果是【】。
main()
{
intx=0210;
printf("%X\n",x);
}
24.fun函數(shù)的功能是:首先對(duì)a所指的N行N列的矩陣,找出各行中的最大的數(shù),再求這N個(gè)最大值中的最小的那個(gè)數(shù)作為函數(shù)值返回。請(qǐng)?zhí)羁铡?/p>
#include<stdio.h>
#defineN100
intfun(int(*a)[N])
{
introw,col,max,min;
for(row=0;row<N;row++
{
for(max=a[row][0],col=1;col<N;col++)
if(【】)max=a[row][col];
if(row==0)min=max;
elseif(【】)min=max;
}
returnmin;
}
三、3.程序設(shè)計(jì)題(10題)25.請(qǐng)編寫一個(gè)函數(shù)unsignedfun(unsignedw),w是一個(gè)大于10的無符號(hào)整數(shù),若w是n(n≥2)位的整數(shù),則函數(shù)求出w的后n-1位的數(shù)作為函數(shù)值返回。
例如:w值為5923,則函數(shù)返回923;若w值為923,則函數(shù)返回23。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
unsignedfun(unsignedw)
{
}
main()
{
unsignedx;
clrscr();
printf("Enteraunsignedinteger
number:");
scanf("%u",&x);
printf("Theoriginaldatais:%u\n",x);
if(x<10)
printf("Dataerror!");
else
printf("Theresult:%u\n",fun(x));
}
26.請(qǐng)編寫函數(shù)fun(),對(duì)長(zhǎng)度為7個(gè)字符的字符串,除首、尾字符外,將其余5個(gè)字符按ASCII碼值升序排列。
例如:原來的字符串為BdsihAd,則排序后輸出為BAdhisd。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<stdio.h>
#include<ctype.h>
#include<conio.h>
intfun(char*s,intnum)
{
}
main()
{
chars[10];
clrscr();
printf("輸入7個(gè)字符的字符串:");
gets(s);
fun(s,7);
printf("\n%s",s);
}
27.請(qǐng)編寫函數(shù)fun,其功能是:計(jì)算并輸出當(dāng)x<0.97時(shí)下列多項(xiàng)式的值,直到|Sn-Sn-2
|<0.000001為止。
例如,在主函數(shù)中從鍵盤給x輸入0.21后,輸出為:s=1.100000。
注意:部分源程序在文件PROGl.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
28.編寫函數(shù)fun,函數(shù)的功能是求出小于或等于lim的所有素?cái)?shù)并放在aa數(shù)組中,函數(shù)返回所求出的素?cái)?shù)的個(gè)數(shù)。
注意:部分源程序在文件PROGl.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
29.請(qǐng)編寫函數(shù)fun(),其功能是:將s所指字符串中下標(biāo)為奇數(shù)的字符刪除,串中剩余字符形成的新串放在t所指數(shù)組中。
例如,當(dāng)s所指字符串中的內(nèi)容為siegAHdied,則在t所指數(shù)組中的內(nèi)容應(yīng)是seAde。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
#include<string.h>
voidfun(char*S,chart[])
{
}
main()
{
chars[100],t[100];
clrscr();
printf("\nPleaseenterstrings:");
scanf("%S",S);
fun(S,t);
printf("\nTheresultis:%s\n",t);
}
30.請(qǐng)編寫函數(shù)fun(),該函數(shù)的功能是:移動(dòng)一維數(shù)組中的內(nèi)容,若數(shù)組中有n個(gè)整數(shù),要求把下標(biāo)從p~n-1(p<n-1)的數(shù)組元素平移到數(shù)組的前面。
例如,一維數(shù)組中的原始內(nèi)容為1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,P的值為6。移動(dòng)后,一維數(shù)組的內(nèi)容應(yīng)為7,8,9,10,11,12,13,14,15,1,2,3,4,5,6。
[注意]部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
[試題源程序]
#inciude<stdio.h>
#defineN80
voidfun(int*w,intp,intn)
{
}
main()
{
inta[N]=(i,2,3,4,5,6,7,8,9,10,11,12,13,14,15);
inti,P,n=15;
printf("Theoriginaldata:\n");
for(i=0;i<n;i++)
printf("%3d",a[i]);
printf("\n\nEnterp:");
scanf("%d",&p);
fun(a,P,n);
printf("\nThedataaftermoving:\n");
for(i=0;i<n;i++)
printf("%3d",a[i]);
printf("\n\n");
}
31.假定輸入的字符串中只包含字母和*號(hào)。請(qǐng)編寫函數(shù)fun(),它的功能是:將字符串尾部的*號(hào)全部刪除,前面和中間的*號(hào)不刪除。
例如,若字符串中的內(nèi)容為****A*BC*DEF*G*******刪除后,字符串中的內(nèi)容則應(yīng)當(dāng)是****A*BC*DEF*G。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)6ln的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<stdio,h>
#include<conio.h>
voidfun(char*a)
{
}
main()
{
chars[81];
printf("Enterastring:\n");
gets(s);
fun(s);
printf("Thestringafterdeleted:\n");
puts(s);
}
32.請(qǐng)編寫一個(gè)函數(shù)fun(),它的功能是:將ss所指字符串中所有下標(biāo)為奇數(shù)位置的字母轉(zhuǎn)換為大寫(若該位置上不是字母,則不轉(zhuǎn)換)。
例如,若輸入abc4Efg,則應(yīng)輸出aBc4EFg。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
#include<string.h>
voidfun(char*ss)
{
}
main()
{
chartt[81];
clrscr();
printf("\nPleaseenteranstringwithin80characters:\n");
gets(tt);
printf("\n\nAfterchanging,thestring\n\%s",tt);
fun(tt);
printf("\nbecomes\n\%s\n",tt);
}
33.請(qǐng)編寫函數(shù)fun(),它的功能是計(jì)算:
s=(ln(1)+ln(2)+ln(3)+…+ln(m))0.5
在C語言中可調(diào)用log(n)函數(shù)求ln(n)。
例如,若m的值為20,則fun()函數(shù)值為6.506583。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
#include<math.h>
doublefun(intm)
{
}
main()
{
clrscr();
printf("%f\n",fun(20));
}
34.編寫函數(shù)intfun(intlim,intaa[MAX]),該函數(shù)的功能是求出小于或等于lim的所有素?cái)?shù)并放在aa數(shù)組中,該函數(shù)返回所求出的素?cái)?shù)的個(gè)數(shù)。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
#defineMAX100
intfun(intlim,intse[MAX])
{
}
main()
{
intlimit,i,sum;
intaa[MAX];
clrscr();
printf("輸入一個(gè)整數(shù)");
scanf("%d",&limit);
sum=fun(limit,aa);
for(i=0;i<sum;i++)
{
if(i%10==0&&i!=0)/*每行輸出10個(gè)數(shù)*/
printf("\n");
printf("%5d",aa[i]);
}
}
四、單選題(0題)35.在一個(gè)鏈?zhǔn)疥?duì)列中,假設(shè)f和r分別為隊(duì)頭和隊(duì)尾指針,則插入S所指結(jié)點(diǎn)的運(yùn)算是()。
A.f->next=s;f=s;
B.r->next=s;r=s;
C.S->next=rr=s;
D.r->next=f;f=s;
五、單選題(0題)36.若有定義“chara,b;”,則執(zhí)行表達(dá)式“a=3^2”和“b=~(5|2|0xf0)”后,a和b的十進(jìn)制值分別是()。A.5和10B.9和14C.6和3D.1和8
六、單選題(0題)37.
參考答案
1.D
2.C
3.B
4.Cfor循環(huán)中,函數(shù)f的返回值累加到變量a中。第1次循環(huán),a=0,i=0,返回值a=0*0+1=1;第2次循環(huán),a=1,i=10,返回值a=10*10+1+1=102;第3次循環(huán),a=102,i=20,返回值a=20*20+1+102=503;第4次循環(huán)a=503,i=30,不符合1<30,跳出循環(huán),最后結(jié)果輸出a=503。故本題答案為C選項(xiàng)。
5.A本值輸出兩個(gè)值,%c為輸出一個(gè)字母,0/4d輸出一個(gè)數(shù)字。“A”的ASCIl碼為65,再加4之后為69,也就是字母E,所以本題A正確。
6.D本題考查雙重函數(shù)調(diào)用及for循環(huán)使用,fun函數(shù)中第一個(gè)for循環(huán)語句的作用是給數(shù)組a賦值。當(dāng)?shù)谝淮握{(diào)用fun函數(shù)時(shí),把實(shí)參1傳給形參,輸出a數(shù)組的元素為1,3,5;第二次調(diào)用fun函數(shù)時(shí),由于數(shù)組a為靜態(tài)局部變量,故輸出a數(shù)組的元素為一1,3,7。
7.A結(jié)構(gòu)體變量初始化的具體成員值使用花括號(hào)標(biāo)注,選項(xiàng)A錯(cuò)誤。故本題答案為A選項(xiàng)。
8.D題干中,函數(shù)fun的第2個(gè)參數(shù)通過指針作為函數(shù)返回值,它的功能是通過遞歸,求得fun(n)的值為fun(n-1)+fun(n-2)。由于當(dāng)n取值為1和2時(shí),值為1。所以可知整個(gè)數(shù)列如下:1,1,2,3,5,8,…,即某一項(xiàng)是前兩項(xiàng)之和。所以當(dāng)n取值為6時(shí),fun(6,*s)返回s的值為3+5=8。本題答案為D選項(xiàng)。
9.D解析:改變文件位置指針函數(shù)fseek()的功能:①改變文件的位置指針;②輔助實(shí)現(xiàn)文件的順序讀寫;③輔助實(shí)現(xiàn)文件的隨機(jī)讀寫。
10.C解析:在格式化模型中,要事先根據(jù)應(yīng)用的需要,確定數(shù)據(jù)之間的邏輯關(guān)系,即先對(duì)數(shù)據(jù)進(jìn)行結(jié)構(gòu)化。在關(guān)系模型中,不需要事先構(gòu)造數(shù)據(jù)的邏輯關(guān)系,只要將數(shù)據(jù)按照一定的關(guān)系存入計(jì)算機(jī),也就是建立關(guān)系。所以選項(xiàng)A錯(cuò)誤。對(duì)于一個(gè)表示關(guān)系的二維表,其最基本的要求是表中元組的每一個(gè)分量必須是不可分的數(shù)據(jù)項(xiàng),即不允許表中再有表。所以,選項(xiàng)B、D說法是錯(cuò)誤的。一個(gè)關(guān)系的屬性名表稱為關(guān)系模式,也就是二維表的表框架,相當(dāng)于記錄型。因此,選項(xiàng)C說法正確。
11.A\\n和\\\\分別為轉(zhuǎn)義字符,各占據(jù)一個(gè)字符的位置。
12.D解析:本題考查的是文件操作函數(shù).題目中fseek(fp,0L,SEEK_SET)的作用將文件指針定位到文件開始。feof(fp)的作用是判斷文件指針是否已到文件結(jié)尾,因此選項(xiàng)A不對(duì)。ftell(fp)的作用是獲取當(dāng)前文件指針的位置,因此選項(xiàng)B不對(duì)。fgetc(fp)的作用是從文件中讀取一個(gè)字節(jié),因此選項(xiàng)C不對(duì)。rewind(中)的作用是將文件指針重定位到文件開頭,所以應(yīng)該選擇D。
13.5555解析:分析程序執(zhí)行過程,第一次循環(huán)時(shí),j=3,i-5,因?yàn)閟witch(3),所以執(zhí)行case3,調(diào)用P(a[-i)=p(a[4])=P(5),輸出5;第二次循環(huán)時(shí),j=2,i=4,因?yàn)閟witch(2),所以執(zhí)行case2,調(diào)用P(s[i++])=P(a[4])=P(5),輸出5,之后i的n等于5。
14.64KB
15.59
16.數(shù)據(jù)獨(dú)立性數(shù)據(jù)獨(dú)立性解析:數(shù)據(jù)庫的三級(jí)模式體系結(jié)構(gòu)把數(shù)據(jù)的組織管理工作進(jìn)行了劃分,把數(shù)據(jù)的具體組織留給DBMS管理,使用戶能邏輯地、抽象地處理數(shù)據(jù),而不必關(guān)心數(shù)據(jù)在計(jì)算機(jī)中的具體表示方式與存儲(chǔ)方式,保證了數(shù)據(jù)的獨(dú)立性。
17.*s-*t*s-*t解析:兩字符串大小比較必須從它們的首字符開始,在對(duì)應(yīng)字符相等情況下循環(huán),直至不相等結(jié)束。相等時(shí),若字符串已到了字符串的結(jié)束標(biāo)記符,則兩字符串相同,函數(shù)返回0值;如還有后繼字符,則準(zhǔn)備比較下一對(duì)字符。對(duì)應(yīng)字符不相同,循環(huán)結(jié)束。循環(huán)結(jié)束時(shí),就以兩個(gè)當(dāng)前字符的差返回。所以在空框處應(yīng)填入*s-*t,保證在e>t時(shí)返回正值,當(dāng)s<t時(shí)返回負(fù)值。
18.1s*i0f(k)
19.m=4k=4i=5k=5m=4k=4i=5k=5解析:main()函數(shù)首先定義了1個(gè)變量i,并初始化為4。然后用表達(dá)式i++的值為實(shí)參調(diào)用函數(shù)fun(),因?yàn)楹缶Y”表達(dá)式的值為增1之前的值,故此時(shí)傳遞給函數(shù)的參數(shù)m值為4。fun()函數(shù)中,首先讓形參m自增k,由于此時(shí)k還是0,所以m不變,然后讓k自增m,執(zhí)行后k的值和m相同為4。最后fun()函數(shù)輸出m和k廿的值,兩個(gè)值都是4,故首先輸出了“m=4k=4”,輸出完后,k自增1(k變?yōu)?)。fun()函數(shù)執(zhí)行完畢,返回main()函數(shù)中,此時(shí)i會(huì)被自增1變?yōu)?,故接著又輸出的i和k的值都是5。故最終輸出結(jié)果是“m=4k=4i=5k=5”。
20.*t*t解析:函數(shù)中首先讓n=strlen(s),所以while循環(huán)的循環(huán)條件表達(dá)式中*(s+n)指向字符串s的結(jié)束標(biāo)志'\\0'處,而該處應(yīng)該等于字符串t的第1個(gè)字符,另外循環(huán)體中讓s和t指向下一個(gè)字符,即s+n和t同時(shí)被移動(dòng)到下一個(gè)位置,所以該處應(yīng)該填*t,即t所指內(nèi)容。當(dāng)t指向字符串結(jié)束標(biāo)志'\\0'的時(shí)候,整個(gè)循環(huán)條件表達(dá)式的值也為0(“假”)了,循環(huán)結(jié)束。正好滿足將t所指字符串復(fù)制到s所指的字符串的尾部。
21.傳染性或傳播性傳染性或傳播性
22.棧棧解析:考查考生對(duì)棧和隊(duì)列概念的掌握。按'先進(jìn)后出'原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是棧;按'先進(jìn)先出'原則組織數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是隊(duì)列。
23.8888解析:C語言規(guī)定,以0開頭的整型常量為八進(jìn)制。另外,在primf()函數(shù)中,%X表示以十六進(jìn)制無符號(hào)形式輸出一個(gè)整數(shù),且十六進(jìn)制中的ABCDEF為大寫字母。本題的輸出應(yīng)該是八進(jìn)制210的十六進(jìn)制形式。將八進(jìn)制轉(zhuǎn)換為十六進(jìn)制,可以先將其轉(zhuǎn)換為二進(jìn)制。因?yàn)?位八進(jìn)制表示3位二進(jìn)制,4位二進(jìn)制表示1位十六進(jìn)制。(210)8=(10001000)2=(88)16,故本題輸出為880
24.a[row][col]>max或a[row][col]>=max或max<=a[row][col]或max<a[row][col)max<min或min>max或max<=min或min>=maxa[row][col]>max或a[row][col]>=max或max<=a[row][col]或max<a[row][col)\r\nmax<min或min>max或max<=min或min>=max解析:本題有兩層for循環(huán),主函數(shù)中定義了整型變量row、col、max和min,其中row用來存放外循環(huán)中的循環(huán)次數(shù),col用來存放內(nèi)循環(huán)中的次數(shù),max記錄每行中的最大值,min記錄所有行中最大值中的最小值。在內(nèi)循環(huán)中,首先給max賦初值為每行的第0列元素值,然后從第一列開始依次與max進(jìn)行比較。如果大于max則將其值賦給max,當(dāng)每一行循環(huán)結(jié)束,max記錄了每一行的最大值。所以第一個(gè)空應(yīng)該填a[row][col]>max或a[row][col]>=max。退出內(nèi)循環(huán),在第一次退出內(nèi)循環(huán)時(shí),將min賦初值為第0行的max,然后在每次退出內(nèi)循環(huán)時(shí),將min和每行的max比較,如果大于max,則將max值賦min,所以第二個(gè)空應(yīng)該填max>min或mm>max,當(dāng)退出外循環(huán)時(shí),min為所有行中的最大值的最小值。
25.unsignedfun(unsignedw){if(w>=10000)returnw%10000;/*求出n位整數(shù)w的后n-1位的數(shù)*/if(w>=1000)returnw%1000;if(w>=100)returnw%100;if(w>=10)returnw%10;}unsignedfun(unsignedw)\r\n{\r\nif(w>=10000)\r\nreturnw%10000;/*求出n位整數(shù)w的后n-1位的數(shù)*/\r\nif(w>=1000)\r\nreturnw%1000;\r\nif(w>=100)\r\nreturnw%100;\r\nif(w>=10)\r\nreturnw%10;\r\n}解析:我們首先應(yīng)該明白無符號(hào)整數(shù)的定義形式,若它大于10000(5位)時(shí),將10000對(duì)它求余則結(jié)果為后4位;當(dāng)它大于1000(4位)時(shí),將1000對(duì)它求余則結(jié)果為后3位,花此類推。特別注意這里所有if()的順序不能顛倒。
26.intfun(char*sintnum){chart;intij;for(i=1;i<num-2;i++)/*下標(biāo)值從1開始用循環(huán)依次取得字符串中的字符*/for(j=i+1;j<num-1;j++)/*將字符與其后的每個(gè)字符比較*/if(s[i]>s[j])/*如果后面字符的ASCII碼值小于該字符的ASCII碼值*/{t=s[i];/*則交換這兩個(gè)字符*/s[i]=s[j];s[j]=t;}}intfun(char*s,intnum)\r\n{chart;\r\ninti,j;\r\nfor(i=1;i<num-2;i++)/*下標(biāo)值從1開始,用循環(huán)依次取得字符串中的字符*/\r\nfor(j=i+1;j<num-1;j++)/*將字符與其后的每個(gè)字符比較*/\r\nif(s[i]>s[j])/*如果后面字符的ASCII碼值小于該字符的ASCII碼值*/\r\n{t=s[i];/*則交換這兩個(gè)字符*/\r\ns[i]=s[j];\r\ns[j]=t;\r\n}\r\n}解析:本題考查利用循環(huán)來控制數(shù)組元素的操作,首尾元素除外,因此,數(shù)組的下標(biāo)值要從1開始,用循環(huán)變量i來依次取得數(shù)組中的元素,用數(shù)組中的元素s[i]和s[j]進(jìn)行比較,如果后一個(gè)元素的ASCII碼值小于前一個(gè)元素的ASCII碼值,則交換這兩個(gè)數(shù)組元素的值。
27.
解析:該程序功能是計(jì)算并輸出當(dāng)x<0.97時(shí)題干中給出的多項(xiàng)式的值。根據(jù)題干中給出的數(shù)列,首先推出每一項(xiàng)的表達(dá)式,然后再對(duì)多項(xiàng)式進(jìn)行累加求和。
28.
解析:該程序功能是求一定范圍內(nèi)的素?cái)?shù)。素?cái)?shù)是只能被1和自身除盡的數(shù)。判斷i是不是素?cái)?shù)最簡(jiǎn)單的方法就是用2~(i/2)去除i,只要能除盡就不是素?cái)?shù)。
29.voidfun(char*Schart[]){intij=0k=strlen(s);/*k為字符串的長(zhǎng)度*/for(i=0;i<k;i=i+2)/*將s所指字符串中下標(biāo)為偶數(shù)的字符存入t所指字符串中*/t[j++]=s[i];t[j]='\0';/*在字符串最后加上結(jié)束標(biāo)志*/}voidfun(char*S,chart[])\r\n{\r\ninti,j=0,k=strlen(s);/*k為字符串的長(zhǎng)度*/\r\nfor(i=0;i<k;i=i+2)/*將s所指字符串中下標(biāo)為偶數(shù)的字符存入t所指字符串中*/\r\nt[j++]=s[i];\r\nt[j]='\\0';/*在字符串最后加上結(jié)束標(biāo)志*/\r\n}解析:本題使用了一種i永遠(yuǎn)是偶數(shù)的循環(huán)方法,即for(i=0;i<k;i=i+2),因?yàn)殚_始時(shí)i的值為0,當(dāng)i+2循環(huán)時(shí),此值永遠(yuǎn)是偶數(shù)。
30.voidfun(int*wintpintn){intiJt;for(i=p;i<=n-i;i++){t=w[n-1];for(j=n-2;j>=0;j--)w[j+1]=w[j];w[0]=t;}}voidfun(int*w,intp,intn)\r\n{\r\ninti,J,t;\r\nfor(i=p;i<=n-i;i++)\r\n{\r\nt=w[n-1];\r\nfor(j=n-2;j>=0;j--)\r\nw[j+1]=w[j];\r\nw[0]=t;\r\n}\r\n}
31.voidfun(char*a){while(*a!='\0')a++;a--;/*指針a指向字符串的尾部*/while(*a=='*')a--/*指針a指向最后一個(gè)字母*/*(a+l)='\0';/*在字符串最后加上結(jié)束標(biāo)志位*/}voidfun(char*a)\r\n{\r\nwhile(*a!='\\0')\r\na++;\r\na--;/*指針a指向字符串的尾部*/\r\nwhile(*a=='*')\r\n\u3000\u3000\u3000a--/*指針a指向最后一個(gè)字母*/\u3000\u3000\u3000\r\n*(a+l)='\\0';\u3000/*在字符串最后加上結(jié)束標(biāo)志位*/\r\n\u3000}解析:前面我們遇到類似將字符串頭部的'*'號(hào)全部刪除,其實(shí)解題思路是一樣的,請(qǐng)參照前面試題解析及參考答案。
32.voidfun(char*ss){inti;for(i=0;ss[i]!='\0';i++)/*將ss所指字符串中所有下標(biāo)為奇數(shù)位置的字母轉(zhuǎn)換為大寫*/if(i%2==1&&ss[i]>='a'&&SS[i]<='z')ss[i]=ss[i]-32;}voidfun(char*ss)\r\n{\r\ninti;\r\nfor(i=0;ss[i]!='\\0';i++)/*將ss所指字符串
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年IT運(yùn)維工程師的應(yīng)聘測(cè)試題庫及答案參考
- 農(nóng)村飲水安全制度
- 公司禮品領(lǐng)用制度
- 老人生活照料服務(wù)制度
- 酒店應(yīng)急預(yù)案演練制度
- 酒店客房清潔衛(wèi)生檢查制度
- 企業(yè)會(huì)議管理制度
- 客運(yùn)售票員崗前紀(jì)律考核試卷含答案
- 印制電路鍍覆工安全文化強(qiáng)化考核試卷含答案
- 停車管理員崗前內(nèi)部考核試卷含答案
- 電子制造行業(yè)數(shù)字化轉(zhuǎn)型白皮書
- 腫瘤患者雙向轉(zhuǎn)診管理職責(zé)
- 公共安全視頻監(jiān)控建設(shè)聯(lián)網(wǎng)應(yīng)用(雪亮工程)運(yùn)維服務(wù)方案純方案
- 福建省漳州市2024-2025學(xué)年高一上學(xué)期期末教學(xué)質(zhì)量檢測(cè)歷史試卷(含答案)
- 定額〔2025〕2號(hào)文-關(guān)于發(fā)布2020版電網(wǎng)技術(shù)改造及檢修工程概預(yù)算定額2024年下半年價(jià)格
- 管道穿越高速橋梁施工方案
- 2024版《中醫(yī)基礎(chǔ)理論經(jīng)絡(luò)》課件完整版
- 2022版義務(wù)教育(物理)課程標(biāo)準(zhǔn)(附課標(biāo)解讀)
- 井噴失控事故案例教育-井筒工程處
- 地源熱泵施工方案
- GB/T 16947-2009螺旋彈簧疲勞試驗(yàn)規(guī)范
評(píng)論
0/150
提交評(píng)論