




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
2022-2023學(xué)年四川省內(nèi)江市全國計(jì)算機(jī)等級(jí)考試C語言程序設(shè)計(jì)預(yù)測(cè)試題(含答案)學(xué)校:________班級(jí):________姓名:________考號(hào):________
一、單選題(12題)1.有下列程序:main{chars[]="abcde";s+=2:printf("%d\n",s[0]);}執(zhí)行后的結(jié)果是()。A.輸出字符a的ASCII碼B.輸出字符c的ASCII碼C.輸出字符cD.程序出錯(cuò)
2.若變量已正確定義,在“if(W)Printf(“%d\n”,k);”中,以下不可替代W的是()。
A.a<>b+cB.ch=getchar()C.a==b+cD.a++
3.以下程序的運(yùn)行結(jié)果是()。#include<stdio.h>main(){st,uctdate{intyear,month,day;}today;printf("%d\n",sizeof(structdate));}
A.6B.8C.10D.12
4.
5.若變量已正確定義,則語句“s=32;s^=32;printf(“%d”,s);”的輸出結(jié)果是()。
A.-1B.0C.1D.32
6.若有語句“typedefstructS{intg;charh;}T;”,則下列敘述中正確的是()。
A.可用S定義結(jié)構(gòu)體變量B.可用T定義結(jié)構(gòu)體變量C.S是struct類型的變量D.T是structS類型的變量
7.在下面的字符數(shù)組定義中,哪一個(gè)有語法錯(cuò)誤()。A.chara[20]=”abcdefg”;
B.chara[]=”x+y=55.”;
C.chara[15];
D.chara[10]=’5’;
8.
9.對(duì)線性表進(jìn)行二分法檢索,其前提條件是()。
A.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼值排好序
B.線性表以順序方式存儲(chǔ),并按關(guān)鍵碼的檢索頻率排好序
C.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼值排好序
D.線性表以鏈?zhǔn)椒绞酱鎯?chǔ),并按關(guān)鍵碼的檢索頻率排好序
10.有以下程序:#include<stdio.h>int*f(int*s){s[1]+=6;*s=7;s+=2;returns;}main(){inta[5]={1,2,3,4,5},*p=a;P=f(P);printf(“%d,%d,%d\n”,a[0],a[1],*p);}程序運(yùn)行后的輸出結(jié)果是()。
A.9,8,9B.7,8,7C.7,8,3D.1,2,1
11.以下選項(xiàng)中的表達(dá)式調(diào)用庫函數(shù)依次求-4.5的絕對(duì)值、-4.0的平方根值、30°角的正弦值和2的3次方值。正確的調(diào)用是()
A.abs(-4.5)B.sqrt(-4.0)C.sin(3.1416/6.0)D.paw(2.0,3.0)
12.在一個(gè)C語言源文件中定義的全局變量,其作用域?yàn)椋ǎ?/p>
A.由具體定義位置和extern說明來決定范圍B.所在程序的全部范圍C.所在函數(shù)的全部范圍D.所在文件的全部范圍
二、2.填空題(12題)13.以下程序的功能是調(diào)用函數(shù)fun計(jì)算:m=1-2+3-4+…+9-10,并輸出結(jié)果。請(qǐng)?zhí)羁铡?/p>
intfun(intn)
{intm=0,f=1,i;
for(i=1;i<=n;i++)
{m+=i*f;
f=【】;
}
returnm;
}
main()
{printf("m=%d\n",【】)};
14.若定義#definePI3.14159,則執(zhí)行完下列程序后輸出結(jié)果是______。
#definePI3.14159;printf("PI=%f",PI);
15.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;
}
16.在軟件開發(fā)中,結(jié)構(gòu)化方法包括結(jié)構(gòu)化分析方法、結(jié)構(gòu)化設(shè)計(jì)方法和結(jié)構(gòu)化程序設(shè)計(jì)方法。可行性研究階段采用的是【】。
17.若有定義:inta=10,b=8,c=4;然后順序執(zhí)行下列語句后,變量a中的值是()。c=(b-=(a-4));a=(c%2)+(b-1);
18.數(shù)據(jù)的邏輯結(jié)構(gòu)在計(jì)算機(jī)存儲(chǔ)空間中的存放形式稱為數(shù)據(jù)的【】。
19.下列程序的輸出結(jié)果是______。
#include<stdio.h>
main()
{intx=3,y=2,z=1;
if(x<y)
if(y<0)z=0;
elsez+=1;
printf("%d\n",z);
}
20.在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種;前序遍歷、【】遍歷和后序遍歷。
21.若a是血型變量,且a的初值為4,則計(jì)算a+=a-=a*a表達(dá)式后a的值為______。
22.以下說明語句中,【】是結(jié)構(gòu)體類型名。
typedefstruct
{intn;
charch[8];
}PER;
23.數(shù)據(jù)庫系統(tǒng)在三級(jí)模式之間提供了兩層映像,這兩層映像是外模式/模式映像和【】。
24.表達(dá)式1/2*(int)3.7/(int)(2.4*(1.5+2.5))值的數(shù)據(jù)類型為______。
三、3.程序設(shè)計(jì)題(10題)25.請(qǐng)編寫函數(shù)fun,其功能是:計(jì)算并輸出下列多項(xiàng)式的值:
例如,在主函數(shù)中從鍵盤給n輸入15,則輸出為:s=2.718282。
注意:要求n的值大于1但不大于100。部分源程序在文件PROGl.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
26.請(qǐng)編寫程序fun,函數(shù)的功能是:實(shí)現(xiàn)B=A+Aˊ,即把矩陣A加上A的轉(zhuǎn)置,存放在矩陣B中。計(jì)算結(jié)果在main函數(shù)中輸出。
例如,輸入下面的矩陣:其轉(zhuǎn)置矩陣為:
123147
456258
789369
程序輸出:
2610
61014
101418
注意:部分源程序在文件PROGl.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
27.請(qǐng)編寫函數(shù)fun(),該函數(shù)的功能是:移動(dòng)一維數(shù)組中的內(nèi)容,若數(shù)組中有n個(gè)整數(shù),要求把下標(biāo)從0到p(p≤n-1)的數(shù)組元素平移到數(shù)組的最后。
例如,一維數(shù)組中的原始內(nèi)容為1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,p的值為3。移動(dòng)后,一維數(shù)組中的內(nèi)容應(yīng)為5,6,7,8,9,10,11,12,13,14,15,1,2,3,4。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<stdio.h>
#defineN80
voidfun(int*w,intp,intn)
{
}
main()
{
inta[N]={1,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");
}
28.請(qǐng)編寫函數(shù)fun(),它的功能是:將帶頭結(jié)點(diǎn)單向鏈表按data域由大到小排序(排序時(shí)不考慮頭結(jié)點(diǎn)),主函數(shù)用隨機(jī)函數(shù)為各節(jié)點(diǎn)data域賦值,頭結(jié)點(diǎn)data域賦值為0。
[注意]部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
[試題源程序]
#include<stdio.h>
#include<coni0.h>
structas
{
intdata;
structaa*next;
};
voidfun(structaa*p)
{
}
main()
{
inti,n,m=100;
structaa*h=NULL,*s=NULL,
*p=NULL;
clrscr()
s=(structaa*)malloc(siZeof(structaa));
h=s;h->data=0;h->next=NULL;
printf("Pleaseinputn:");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
p=(structaa*)malloc(sizeof(structaa));
p->data=rand()%m;P->next=NULL;
printf("%d",P->data);
s->next=p;s=s->next;
}
fun(h);
printf("\n");
for(h=h->next;h!=NULL;h=h->nnext)
printf("%d",h->data);
}
29.已知學(xué)生的記錄由學(xué)號(hào)和學(xué)習(xí)成績(jī)構(gòu)成,N名學(xué)生的數(shù)據(jù)已存入a結(jié)構(gòu)體數(shù)組中。請(qǐng)編寫函數(shù)fun(),該函數(shù)的功能是;找出成績(jī)最高的學(xué)生記錄,通過形參返回主函數(shù)(規(guī)定只有一個(gè)最高分)。已給出函數(shù)的首部,請(qǐng)完成該函數(shù)。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<stdio.h>
#include<string.h>
#include<conio.h>
#defineN10
typedefstructss/*定義結(jié)構(gòu)體*/
{charnum[10];
ints;
}STU;
fun(STUa[],STU*s)
{
}
main()
{
STUa[N]={{"A01",81},{"A02",89},
{"A03",66},{"A04",87},{"A05",77},
{"A06",90},{"A07",79},{"A08",61},
{"A09",80},{"A10",71}},m;
inti;
clrscr();
printf("*****Theoriginaldata*****");
for(i=0;i<N;i++)
printf("No=%sMark=%d\n",a[i].hum,
a[i].s);
fun(a,&m);
printf("*****THERESULT*****\n");
printf("Thetop:%s,%d\n",m.num,m.s);
}
30.請(qǐng)編寫函數(shù)fun(),它的功能是:求出1到1000之內(nèi)能被5或13整除、但不能同時(shí)被5和13整除的所有整數(shù)并將它們放在9所指的數(shù)組中,通過n返回這些數(shù)的個(gè)數(shù)。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
voidfun(int*a,int*n)
{
}
main()
{
intaa[1000],n,k;
clrscr();
fun(aa,an);
for(k=0;k<n;k++)
if((k+1)%10==0)
{
printf("%5d",aa[k]);
printf("\n");/*—行寫10個(gè)數(shù)*/
}
else
printf("%5d",aa[k]);
}
31.請(qǐng)編寫函數(shù)fun(),其功能是:將所有大于1小于整數(shù)m的非素?cái)?shù)存入xx所指數(shù)組中,非素?cái)?shù)的個(gè)數(shù)通過k傳回。
例如,輸入17,則應(yīng)輸出46891012141516。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<conio.h>
#include<stdio.h>
voidfun(intm,int*k,intxx[])
{
}
main()
{
intm,n,zz[100];
clrscr();
printf("\nPleaseenteranintegernumber
between10and100:");
scanf("%d",&n);
fun(n,&m,zz);
printf("\n\nThereare%dnon-prime
numberslessthan%d:",m,n);
for(n-0;n<m;n++)
printf("\n%4d",zz[n]);
}
32.請(qǐng)編寫函數(shù)fun,其功能是求出數(shù)組的最大元素在數(shù)組中的下標(biāo)并存放在k所指的存儲(chǔ)單元中。
例如,輸入如下整數(shù):87667589610l30l401980431451777則輸出結(jié)果為:6,980
注意:部分源程序在文件PROGl.C文件中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
33.請(qǐng)編寫一個(gè)函數(shù)fun(),它的功能是:找出一維數(shù)組元素中最大的值和它所在的下標(biāo),最大值和它所在的下標(biāo)通過形參傳回。數(shù)組元素中的值已在主函數(shù)中賦予。
主函數(shù)中x是數(shù)組名,n是x中的數(shù)據(jù)個(gè)數(shù),max存放最大值,index存放最大值所在元素的下標(biāo)。
注意:部分源程序給出如下。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入所編寫的若干語句。
試題程序:
#include<stdlib.h>
#include<stdio.h>
voidfun(inta[],intn,int*max,int*d)
{
}
main()
{
inti,x[20],max,index,n=10;
randomize();
for(i=0;i<=n;i++)
{
x[i]=rand()%50;
printf("%4d",x[i]);
/*輸出一個(gè)隨機(jī)數(shù)組*/
}
printf("\n");
fun(x,n,&max,&index);
printf("Max=%5d,Index=%4d\n",max,index);
}
34.請(qǐng)編寫函數(shù)fun,它的功能是:計(jì)算并輸出n(包括n)以內(nèi)能被5或9整除的所有自然數(shù)的倒數(shù)之和。
例如,在主函數(shù)中從鍵盤給n輸入20后,輸出為:s=0.583333。注意:要求n的值不大于100。
部分源程序在文件PROGl.C中。
請(qǐng)勿改動(dòng)主函數(shù)main和其他函數(shù)中的任何內(nèi)容,僅在函數(shù)fun的花括號(hào)中填入你編寫的若干語句。
四、單選題(0題)35.一個(gè)有7個(gè)頂點(diǎn)的完全三部圖,至少有存在幾條邊()
A.10B.11C.15D.16
五、單選題(0題)36.若有定義“inta=3;doubleb=0.1263;charch=‘a(chǎn)’;”,則以下選項(xiàng)中敘述有錯(cuò)的是()。
A.逗號(hào)表達(dá)式的計(jì)算結(jié)果是最后一個(gè)表達(dá)式的運(yùn)算結(jié)果
B.運(yùn)算符“%”只能對(duì)整數(shù)類型的變量進(jìn)行運(yùn)算
C.語句“ch=(unsignedint)a+b;”是對(duì)a與b之和進(jìn)行強(qiáng)制類型轉(zhuǎn)換,結(jié)果賦值給變量ch
D.復(fù)合運(yùn)算“a*=b+ch”是將變量b、ch之和與a相乘,結(jié)果再賦值給a
六、單選題(0題)37.下列有關(guān)圖的遍歷說法中,不正確的是()
A.圖的遍歷必須用遞歸實(shí)現(xiàn)
B.基本遍歷算法兩種:深度遍歷和廣度遍歷
C.有向圖和無向圖都可以進(jìn)行遍歷操作
D.圖的遍歷算法可以執(zhí)行在有回路的圖上
參考答案
1.D因?yàn)樽址麛?shù)組s[]中的數(shù)組名s表示的是一個(gè)地址常量。所以語句“s+=2;”不能將指針在當(dāng)前位置的基礎(chǔ)上再向后移動(dòng)兩位。因而程序編譯時(shí)出錯(cuò)。
2.A選項(xiàng)A是非法的表達(dá)式,C語言中沒有“<>”運(yùn)算符。故本題答案為A選項(xiàng)。
3.A解析:結(jié)構(gòu)體變量的長(zhǎng)度是其內(nèi)部成員總長(zhǎng)度之和,在本題中,structdate中包含year,month,day三個(gè)整型變量。通常一個(gè)整型變量占2個(gè)字節(jié),因此,用sizeof求得該結(jié)構(gòu)體變量的長(zhǎng)度為6個(gè)字節(jié)。
4.A
5.B異或運(yùn)算只有在兩個(gè)比較的位不同時(shí)其結(jié)果為1,否則結(jié)果為0。題目中兩個(gè)值相同,所以結(jié)果為0。故本題答案為B選項(xiàng)。
6.BT為結(jié)構(gòu)體類型名,可以用來定義結(jié)構(gòu)體變量。故本題答案為B選項(xiàng)。
7.D
8.A
9.A解析:對(duì)線性表進(jìn)行二分法檢索,要求線性表是按順序方式存儲(chǔ)的,并按關(guān)鍵碼值的大小排好序,而不是按關(guān)鍵碼的檢索頻率排序。
10.C在main函數(shù)中調(diào)用了f函數(shù)使形參s指向數(shù)組a。執(zhí)行“S[1]+=6”;語句,則“a[1]=8;”執(zhí)行“*s=7;”語句,則“a[0]=7”;執(zhí)行“s+=2;”語句,則s指向數(shù)組的第3個(gè)元素并返回s。調(diào)用后,函數(shù)返回值賦給指針P,則*P=3,因此輸出的結(jié)果為7,8,3。故本題答案為C選項(xiàng)。
11.C
12.A全局變量的作用域是從聲明處到文件的結(jié)束。故本題答案為A選項(xiàng)。
13.=-ffun(10)=-f\r\nfun(10)解析:本題要求調(diào)用fun()函數(shù)計(jì)算m的值,故在主函數(shù)中的空白處應(yīng)該填調(diào)用fun()函數(shù)的語句。fun()函數(shù)有一個(gè)形參n,為每次參加計(jì)算的值個(gè)數(shù),故在主函數(shù)中的空白處應(yīng)該填fun(10),在fun()函數(shù)中用到了一個(gè)for循環(huán),共循環(huán)n次,當(dāng)循環(huán)第i次的時(shí)候,m的值等于m=1-2+…+[(-1)的i-1次方]*i,所以在fun()函數(shù)的空白處應(yīng)該填使f改變符號(hào)的語句,故應(yīng)填-f或其他等價(jià)形式。
14.PI=3.14159PI=3.14159解析:本題先定義了一個(gè)宏名PI,以后在程序中出現(xiàn)PI都用3.14159替代,但是C語言規(guī)定:雙引號(hào)中的宏名是不進(jìn)行替換的。
15.a[row][c01]>max或max<a[row][co1]max<min或min>maxa[row][c01]>max或max<a[row][co1]\r\nmax<min或min>max解析:本題有兩層for循環(huán),函數(shù)首先定義了整型變量row、col、max和min,其中row用于外循環(huán)的循環(huán)變量,col用于內(nèi)循環(huán)的循環(huán)變量,max記錄每行中的最人值,min記錄所有行最大值中的最小值。在內(nèi)循環(huán)中,首先給max賦初值為每行的第0個(gè)元素值,然后從第一個(gè)開始依次與max進(jìn)行比較。如果大于max則將其值賦給max,當(dāng)每一行循環(huán)結(jié)束,max記錄了每一行的最大值。所以第一個(gè)空應(yīng)該填a[row][co1]>max或max<a[row][co1)。退出內(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或min>max,當(dāng)退出外循環(huán)時(shí),rain為所有行中的最大值的最小值。
16.結(jié)構(gòu)化分析方法結(jié)構(gòu)化分析方法解析:結(jié)構(gòu)化分析方法主要用于系統(tǒng)分析階段;結(jié)構(gòu)化設(shè)計(jì)方法主要用于系統(tǒng)設(shè)計(jì)階段;結(jié)構(gòu)化程序設(shè)計(jì)方法主要用于編碼階段??尚行匝芯繉儆谙到y(tǒng)分析階段,因此,可行性研究階段采用的是結(jié)構(gòu)化分析方法。
17.22解析:本題考查的是基本賦值運(yùn)算符和賦值表達(dá)式。表達(dá)式c=(b-=a-4)等價(jià)于c=(b=b-a+4)等價(jià)于c=b=2;表達(dá)式a(c%2+(b-1))等價(jià)于a=1+2-1=2;因此最后a的值為2。
18.模式或邏輯模式或概念模式模式也稱邏輯模式或概念模式,是數(shù)據(jù)庫中全體數(shù)據(jù)的邏輯結(jié)構(gòu)和特征的描述,是所有用戶的公共數(shù)據(jù)視圖,例如數(shù)據(jù)記錄由哪些數(shù)據(jù)項(xiàng)構(gòu)成,數(shù)據(jù)項(xiàng)的名字、類型、取值范圍等。
19.11解析:ifelse語句的功能是:若表達(dá)式的值為真,執(zhí)行語句1,并跳過其他語句,執(zhí)行ifelse語句的下一條語句,若表達(dá)式的值為假,跳過語句1,執(zhí)行語句2,依次往下判斷。題中,x=3,y=2,第一個(gè)if語句的控制條件x<y就不滿足,又沒有與之配對(duì)的else語句,所以直接執(zhí)行printf語句,在整個(gè)過程中變量z的值都沒發(fā)生變化。
20.中序中序解析:在先左后右的原則下,根據(jù)訪問根結(jié)點(diǎn)的次序,二叉樹的遍歷可以分為三種:前序遍歷、中序遍歷和后序遍歷.前序遍歷是指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹;并且遍歷左、右子樹時(shí),仍然先訪問根結(jié)點(diǎn),然后遍歷左子樹,最后遍歷右子樹。中序遍歷指在訪問根結(jié)點(diǎn)、遍歷左了樹與遍歷右子樹這三者中,首先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹:并且遍歷左、右子樹時(shí),仍然先遍歷左子樹,然后訪問根結(jié)點(diǎn),最后遍歷右子樹。后序遍歷指在訪問根結(jié)點(diǎn)、遍歷左子樹與遍歷右子樹這三者中,首先遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹;并且遍歷左、右子樹時(shí),仍然光遍歷右子樹,然后訪問根結(jié)點(diǎn),最后遍歷左子樹。
21.-24-24解析:本題考查賦值運(yùn)算符a+=b等價(jià)于a=a+b;a-=a*a等價(jià)于a-a-a*a=4-4*4=-12:a+=a,即a=a+a=-24。
22.PERPER解析:本題中,typedef聲明新的類型名PER來代替已有的類型名,PER代表上面指定的一個(gè)結(jié)構(gòu)體類型,此時(shí),也可以用PER來定義變量。
23.模式/內(nèi)模式映像模式/內(nèi)模式映像解析:映像即一種對(duì)應(yīng)規(guī)則,指出映像雙方如何進(jìn)行轉(zhuǎn)換。數(shù)據(jù)庫系統(tǒng)在三級(jí)模式之間提供了兩層映像,這兩層映像是外模式/模式映像與模式/內(nèi)模式映像。
24.整型整型解析:上面的表達(dá)式中,通過強(qiáng)制類型轉(zhuǎn)換把最后參與運(yùn)算的數(shù)據(jù)都轉(zhuǎn)換成了int型,所以最后得到的結(jié)果也是int類型。
25.
解析:該程序功能是計(jì)算并輸出多項(xiàng)式的值。該題的解題思路是。根據(jù)題干中給出的數(shù)列,首先推出每一項(xiàng)的表達(dá)式,然后再對(duì)多項(xiàng)式進(jìn)行累加求和。
26.
解析:該程序功能是實(shí)現(xiàn)B=A+Aˊ,即把矩陣A加上A的轉(zhuǎn)置。其中,所謂矩陣的轉(zhuǎn)置,是把行中的數(shù)據(jù)與列中的數(shù)據(jù)進(jìn)行對(duì)調(diào)。解題過程中首先求得已給的矩陣的轉(zhuǎn)置,然后在循環(huán)過程中對(duì)矩陣與該矩陣的轉(zhuǎn)置對(duì)應(yīng)元素求和。
27.voidfun(int*wintpintn){intijt;for(i=0;i<=p;i++)/*循環(huán)左移p+1次*/{t=w[0];for(j=1/j<n;j++)/*實(shí)現(xiàn)循環(huán)左移*/w[j-1]=w[j];w[j-1]=t;}}voidfun(int*w,intp,intn)\r\n{\r\ninti,j,t;\r\nfor(i=0;i<=p;i++)/*循環(huán)左移p+1次*/\r\n{t=w[0];\r\nfor(j=1/j<n;j++)/*實(shí)現(xiàn)循環(huán)左移*/\r\nw[j-1]=w[j];\r\nw[j-1]=t;\r\n}\r\n}解析:本題采用“循環(huán)左移”的算法(關(guān)于“循環(huán)左移”,我們?cè)诤竺娴脑囶}中有詳細(xì)的解釋)。和我們?cè)谇懊娣治龅纳杂胁煌氖?,一個(gè)是整型數(shù)組,一個(gè)是字符型數(shù)組。
28.voidfun(structas*p){inttemp;structas*1st;for(p=p->next;p->next!=NULL;p=p->next)for(1st=p->next;1st!=NULL;1st=1st->next)if(1st->data>p->data){temp=1st->data;1st->data=p->data;p->data=temp;}}voidfun(structas*p)\r\n{\r\ninttemp;\r\nstructas*1st;\r\nfor(p=p->next;p->next!=NULL;p=p->next)\r\nfor(1st=p->next;1st!=NULL;1st=1st->next)\r\nif(1st->data>p->data)\r\n{\r\ntemp=1st->data;\r\n1st->data=p->data;\r\np->data=temp;\r\n}\r\n}解析:本題考查單鏈表的操作。為了交換,需定義中間變量,本題可以采用選擇排序法進(jìn)行排序?;痉椒ê蛯?duì)數(shù)組進(jìn)行排序相似,只不過是通過指針的移動(dòng)實(shí)現(xiàn)對(duì)比較次數(shù)的控制和每個(gè)結(jié)點(diǎn)的訪問,注意循環(huán)結(jié)束的控制條件。
29.fun(STUa[]STU*s)\r\n{\r\ninti;\r\n*s=a[0];\r\nfor(i=0;i<N;i++)/*找出成績(jī)最高的學(xué)生記錄*/\r\nif(s->s<a[i].s)\r\n*s==a[i];\r\n}fun(STUa[],STU*s)\r\n{\r\ninti;\r\n*s=a[0];\r\nfor(i=0;i<N;i++)/*找出成績(jī)最高的學(xué)生記錄*/\r\nif(s->s<a[i].s)\r\n*s==a[i];\r\n}解析:本題的流程是這樣的,先使s指向第1個(gè)學(xué)生,我們的題干目的是找出分?jǐn)?shù)最高的學(xué)生,所以if語句的條件是s->s<a[i].s。此外,在做本題時(shí),我們應(yīng)該熟練掌握“指向運(yùn)算符”和“成員運(yùn)算符”的相關(guān)知識(shí)。題中“s->s”也可換成“(*s).s”。
30.voidfun(int*aint*n){inti.j=0;for(i=1;i<=1000;i++)/*求1到1000之內(nèi)能被5或13整除、但不能同時(shí)被5和13整除的所有整數(shù)并放入數(shù)組a中*/if((i%5==0||i%13==0)&&i%65!=0)a[j++]=i;*n=j;/*傳回滿足條件的數(shù)的個(gè)數(shù)*/}voidfun(int*a,int\u3000*n)\r\n{\r\ninti.j=0;\r\nfor(i=1;i<=1000;i++)/*求1到1000之內(nèi)能被5或13整除、但不能同時(shí)被5和13整除的所有整數(shù),并放入數(shù)組a中*/\r\nif((i%5==0||i%13==0)&&i%65!=0)\r\na[j++]=i;\r\n*n=j;/*傳回滿足條件的數(shù)的個(gè)數(shù)*/\r\n}解析:注意本題題目是找出能被5或13整除但不能同時(shí)被5和13整除的所有整數(shù)。能同時(shí)被5和13整除的整數(shù)一定能被65整除,且不能被65整除的數(shù)不一定就是能被5或13整除的數(shù)。所以可得出程序中的if()。按運(yùn)算優(yōu)先級(jí)可知(i%5==0||i%13==0),注意,兩邊必須要有小括號(hào)。
31.voidfun(intmint*kintxx[]){
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 墻壁式電纜接頭盒行業(yè)深度研究報(bào)告
- 環(huán)境監(jiān)測(cè)采樣員工作總結(jié)報(bào)告7
- 中國旱冰鞋行業(yè)發(fā)展前景預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 2025年度砍伐合同范文:林業(yè)砍伐與水資源保護(hù)協(xié)議
- 2025年度企業(yè)員工解除勞動(dòng)合同補(bǔ)償及后續(xù)服務(wù)協(xié)議
- 二零二五年度創(chuàng)業(yè)投資公司股權(quán)轉(zhuǎn)讓協(xié)議范本
- 2021-2026年中國女式職業(yè)襯衫行業(yè)調(diào)查研究及投資戰(zhàn)略規(guī)劃研究報(bào)告
- 2025年度商鋪投資退出協(xié)議書
- 二零二五年度社保補(bǔ)償項(xiàng)目監(jiān)理及驗(yàn)收協(xié)議
- 2025年度智慧城市運(yùn)營(yíng)解除聘用協(xié)議書
- 《電商直播》 課件 項(xiàng)目一 走入電商直播
- 《中國宮腔鏡診斷與手術(shù)臨床實(shí)踐指南(2023版)》解讀課件
- GB/T 9535-1998地面用晶體硅光伏組件設(shè)計(jì)鑒定和定型
- 豐田卡羅拉電路圖介紹
- 中考語文十大專題總復(fù)習(xí)資料
- 汽車駕駛員專業(yè)競(jìng)賽實(shí)施方案
- 知乎的SWOT分析(表格)
- 常用家電維修基礎(chǔ)知識(shí)(課堂PPT)
- 楊氏太極拳37式拳譜
- 臥式設(shè)備安裝
- 復(fù)旦校內(nèi)辦事指南
評(píng)論
0/150
提交評(píng)論