模擬1答案09和模擬2答案09_第1頁(yè)
模擬1答案09和模擬2答案09_第2頁(yè)
模擬1答案09和模擬2答案09_第3頁(yè)
模擬1答案09和模擬2答案09_第4頁(yè)
模擬1答案09和模擬2答案09_第5頁(yè)
已閱讀5頁(yè),還剩12頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

模擬練習(xí)一試題1閱讀下列程序說(shuō)明和程序,在每小題提供的若干可選答案中,挑選一個(gè)正確答案?!境绦蛘f(shuō)明】求1+2/3+3/5+4/7+5/9+…的前20項(xiàng)之和。運(yùn)行示例:sum=11.239837【程序】#include<stdio.h>voidmain(){inti,b=1;doubles;(1);for(i=1;i<=20;i++){s=s+(2); (3)}printf((4),s);}【供選擇的答案】(1) A、s=0 B、s=1C、s=-1 D、s=2

求和時(shí),變量的初值為0.(2) A、i/b B、double(i)/double(b)C、i/2*i-1 D、(double)i/(double)bAC兩項(xiàng)是整數(shù)相除,錯(cuò)誤。B的轉(zhuǎn)換格式不對(duì)。(3) A、; B、b=2*i–1; C、b=1.0*b; D、b=b+2; B的步長(zhǎng)為2。(4) A、"sum=%d\n" B、"s=%c\n"C、"sum=%f\n" D、"s=%s\n"根據(jù)上面的提示:運(yùn)行示例:sum=11.239837可以確定這里的格式。試題2閱讀下列程序說(shuō)明和程序,在每小題提供的若干可選答案中,挑選一個(gè)正確答案?!境绦蛘f(shuō)明】輸入10個(gè)整數(shù),將它們從大到小排序后輸出。運(yùn)行示例:Enter10integers:14-9991008706534Aftersorted:10099873465410-9【程序】#include<stdio.h>voidmain(){inti,j,t,a[10];printf("Enter10integers:");for(i=0;i<10;i++)scanf((5));for(i=1;i<10;i++)for((6);(7);j++) if((8)){ t=a[j]; a[j]=a[j+1]; a[j+1]=t; }printf("Aftersorted:");for(i=0;i<10;i++)printf("%d",a[i]);printf("\n");}【供選擇的答案】(5) A、"%f",a[i] B、"%lf",&a[i] C、"%s",a D、"%d",&a[i]AC的共同錯(cuò)誤在于缺少&,B的錯(cuò)誤在于格式,這里沒(méi)有使用小數(shù),都是整數(shù)。(6) A、j=0B、j=1 C、j=i D、j=i–1初值為0.(7) A、j>i B、j<9-i C、j<10-i D、j>i–1第i個(gè),總是和第10-i個(gè)相比,對(duì)稱!(8) A、a[i-1]<a[i] B、a[j+1]<a[j+2] C、a[j]<a[j+1] D、a[i]<a[j]從下面的a[j]=a[j+1];可以推斷出與后面的一個(gè)進(jìn)行比較,如果比后面的小,則交換。注意:這里到底是用a[j]<a[j+1]還是a[j]>a[j+1],看結(jié)果是大的在前,還是小的在前。試題3閱讀下列程序說(shuō)明和程序,在每小題提供的若干可選答案中,挑選一個(gè)正確答案?!境绦蛘f(shuō)明】輸入一個(gè)字符串和一個(gè)正整數(shù)m,將該字符串中的前m個(gè)字符復(fù)制到另一個(gè)字符串中,再輸出后一個(gè)字符串。運(yùn)行示例1:Enterastring:103+895=?Enteraninteger:6Thenewstringis103+89運(yùn)行示例2:Enterastring:103+895=?Enteraninteger:60Thenewstringis103+895=?運(yùn)行示例3:Enterastring:103+895=?Enteraninteger:0Thenewstringis【程序】#include<(9)>voidmain(){chars[80],t[80],i,m;printf("Enterastring:");gets(s);printf("Enteraninteger:");scanf("%d",&m);for(i=0;(10);i++)(11);(12)printf("Thenewstringis");puts(t);}【供選擇的答案】(9) A、ctype.h B、math.h C、stdio.h D、string.h做這樣的題目,要掃視下面,看出現(xiàn)了哪些庫(kù)函數(shù)。本題中,主要出現(xiàn)了puts,這個(gè)函數(shù)屬于stdio.h(10)A、i<m B、s[i]!='\0' C、s[i]!='\0'&&i<m D、s[i]!='\0'||i<m這里的循環(huán)變量是i,需要i<m 。問(wèn)題是還需要同時(shí)考慮S串的長(zhǎng)度,如果m的值大于S串的長(zhǎng)度(例如:Enterastring:103+895=?Enteraninteger:60),則后面的部分沒(méi)必要進(jìn)行了。因此,這兩個(gè)條件必須同時(shí)滿足。所以答案是C。A和B都只考慮了一種情況,D的邏輯表達(dá)不對(duì)。值得注意的是,題目中的運(yùn)行示例2和運(yùn)行示例3都提供了極端的情況,耐人尋味。(11)A、*s++=*t++ B、t[i]=s[i] C、*t++=*s++ D、s[i]=t[i]兩個(gè)數(shù)組元素,逐一賦值而已。用到了For,就是逐一。問(wèn)題是,如果選C、*t++=*s++,則這一句把指針向后撥動(dòng)一次,但循環(huán)中的for(i=0;(10);i++)又撥動(dòng)一次,這樣就指針后移2次,錯(cuò)誤!(12) A、t[i]='\0'; B、; C、*++s='\0'; D、*++t='\0';使得到的數(shù)組元素的最后一個(gè)為\0.試題4閱讀下列程序并回答問(wèn)題,在每小題提供的若干可選答案中,挑選一個(gè)正確答案。【程序】#include<stdio.h>voidmain(){ints,x1,y1,z1,x2,y2,z2;printf("Enter6integers:");scanf("%d%d%d%d%d%d",&x1,&y1,&z1,&x2,&y2,&z2);s=f(x2,y2,z2)-f(x1,y1,z1);printf("%d\n",s);}f(intx,inty,intz){intk,n;inttab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31}};n=(x%4==0&&x%100!=0||x%400==0);for(k=1;k<y;k++)z=z+tab[n][k];returnz;}這道題的解題思路是把給定的數(shù)值帶進(jìn)去,分別求出f(x2,y2,z2)和f(x1,y1,z1)的值,然后再求它們的差。有趣的是,數(shù)組tab[2][13]的兩行分別表示了非閏年和閏年各月的天數(shù)。注意,經(jīng)過(guò)n=(x%4==0&&x%100!=0||x%400==0);運(yùn)算后,n的值要么是1,要么是0,因?yàn)樗沁壿嬤\(yùn)算的結(jié)果。(13)程序運(yùn)行時(shí),輸入100000,輸出 (13) 。A、29 B、28 f(x2,y2,z2)=f(0,0,0)=0f(x1,y1,z1)=f(1,0,0)=0所以,0-0=0(14)程序運(yùn)行時(shí),輸入001000,輸出 (14) 。A、29 B、28 C、0 D、-1 f(x2,y2,z2)=f(0,0,0)=0f(x1,y1,z1)=f(0,0,1)=1for(k=1;k<y;k++)中的條件k<y不成立(1<0),所以循環(huán)沒(méi)有執(zhí)行z的值沒(méi)有改變,還是1。所以,0-1=-1(15)程序運(yùn)行時(shí),輸入200021200031,輸出 (15) 。A、29 B、28 C、0 D、-1 f(x2,y2,z2)=f(2000,3,1),此時(shí):因?yàn)?000%400==0,所以n=1所以,z=z+tab[1][1]+tab[1][2]=0+31+29=60f(x2,y2,z2)=f(2000,3,1)=60f(x1,y1,z1)=f(2000,21),此時(shí):因?yàn)?000%400==0,所以n=1所以,z=z+tab[1][1]=0+31=31f(x1,y1,z1)=f(2000,2,1)=31所以,60-31=29(16)程序運(yùn)行時(shí),輸入198121198131,輸出 (16) 。A、29 B、28 C、0 D、-1 f(x2,y2,z2)=f(1981,3,1),此時(shí):n=0;所以,z=z+tab[0][1]+tab[0][2]=0+31+28=59f(x2,y2,z2)=f(1981,3,1)=59f(x1,y1,z1)=f(1981,2,1),此時(shí):n=0所以,z=z+tab[0][1]=0+31=31f(x1,y1,z1)=f(1981,2,1)=31所以,59-31=28試題5閱讀下列程序并回答問(wèn)題,在每小題提供的若干可選答案中,挑選一個(gè)正確答案?!境绦颉?include<stdio.h>voidmain(){inta=-1,b=1;voidf1(intx,inty),f2(int*x,int*y);voidf3(int*x,int*y),f4(intx,inty);f1(a,b);printf("(%d,%d)\n",a,b);a=-1,b=1;f2(&a,&b);printf("(%d,%d)\n",a,b);a=-1,b=1;f3(&a,&b);printf("(%d,%d)\n",a,b);a=-1,b=1;f4(a,b);printf("(%d,%d)\n",a,b);}voidf1(intx,inty){intt;t=x;x=y;y=t;}voidf2(int*x,int*y){intt;t=*x;*x=*y;*y=t;}voidf3(int*x,int*y){int*t;t=x;x=y;y=t;}voidf4(intx,inty){int*t=malloc(sizeof(t));*t=x;x=y;y=*t;}本題主要考核4個(gè)函數(shù)到底交換數(shù)據(jù)沒(méi)有。只有f3是通過(guò)地址真正地交換了數(shù)據(jù),其他幾個(gè)函數(shù)都是交換了變量,而交換后的變量沒(méi)有用return帶回來(lái),所以沒(méi)有實(shí)現(xiàn)交換。(17)程序運(yùn)行時(shí),第1行輸出 (17) 。A、(1,-1)B、(-1,1) C、(-1,-1) D、(1,1) (18)程序運(yùn)行時(shí),第2行輸出 (18) 。A、(1,-1)B、(-1,1) C、(-1,-1) D、(1,1) (19)程序運(yùn)行時(shí),第3行輸出 (19) 。A、(1,-1)B、(-1,1) C、(-1,-1) D、(1,1) (20)程序運(yùn)行時(shí),第4行輸出 (20) 。A、(1,-1)B、(-1,1) C、(-1,-1) D、(1,1) 試題6#include<stdio.h>structcard{ char*face; char*suit;};voidfilldeck(structcard*wdeck,char*wface[],char*wsuit[]){ inti; for(i=0;i<4;i++){ wdeck[i].face=wface[i%2]; wdeck[i].suit=wsuit[i/2]; }}voiddeal(structcard*wdeck){ inti; for(i=0;i<4;i++)printf("(%2sof%-6s)\n",wdeck[i].face,wdeck[i].suit);}voidmain(){ structcarddeck[4]; char*face[]={"K","Q"}; char*suit[]={"Heart","Club"}; filldeck(deck,face,suit); deal(deck); }閱讀程序后,知道:Wface[0]=K,Wface[1]=QWsuit[0]=Heart,Wsuit[1]=Club,經(jīng)過(guò)以下語(yǔ)句后:filldeck(deck,face,suit);得到:wdeck[0].face=Wface[0]=K,(注意:0%2=0)wdeck[0].suit=Wsuit[0]=Heart(注意:0/2=0)wdeck[1].face=Wface[1]=Q,(注意:1%2=1)wdeck[1].suit=Wsuit[0]=Heart(注意:1/2=0)wdeck[2].face=Wface[0]=K,(注意:2%2=0)wdeck[2].suit=Wsuit[1]=Club(注意:2/2=1)wdeck[3].face=Wface[1]=Q,(注意:3%2=1)wdeck[3].suit=Wsuit[1]=Club(注意:3/2=1)(21)程序運(yùn)行時(shí),第1行輸出 (21) 。A、(KofHeart)B、(QofHeart) C、(KofClub) D、(QofClub) 輸出:wdeck[0].face,wdeck[0].suit(22)程序運(yùn)行時(shí),第2行輸出 (22) 。A、(KofHeart)B、(QofHeart) C、(KofClub) D、(QofClub) 輸出:wdeck[1].face,wdeck[1].suit(23)程序運(yùn)行時(shí),第3行輸出 (23) 。A、(KofHeart)B、(QofHeart) C、(KofClub) D、(QofClub) 輸出:wdeck[2].face,wdeck[2].suit(24)程序運(yùn)行時(shí),第3行輸出 (24) 。A、(KofHeart)B、(QofHeart) C、(KofClub) D、(QofClub) 輸出:wdeck[3].face,wdeck[3].suit試題7編寫(xiě)程序,輸入一批學(xué)生的成績(jī),遇0或負(fù)數(shù)則輸入結(jié)束,要求統(tǒng)計(jì)并輸出優(yōu)秀(大于85)、通過(guò)(60~84)和不及格(小于60)的學(xué)生人數(shù)。運(yùn)行示例:Enterscores:88716870598191426677830>=85:260-84:7<602#include<sdtio.h>main(){intgood;pass=0;nopass=0;fs;while(fs>0){scanf(“input%d”,fs);if(fs>=85)good++;if{fs<=84&&fs>=60}pass++;if(fs<60)nopass++;}printf(“good%d”,good);printf(“pass%d”,pass);printf(“nopass%d”,nopass);}試題8(1)編寫(xiě)程序,輸入一個(gè)正整數(shù)n,求下列算式的值。要求定義和調(diào)用函數(shù)fact(k)計(jì)算k的階乘,函數(shù)返回值的類型是double。運(yùn)行示例:Entern:5sum=1.71667(2)輸入一個(gè)正實(shí)數(shù)x和一個(gè)正整數(shù)n,求下列算式的值。要求定義和調(diào)用2個(gè)函數(shù):fact(n)計(jì)算n的階乘;mypow(x,n)計(jì)算x的n次冪(即xn),2個(gè)函數(shù)的返回值類型都是double。#include<sdtio.h>fact(k)/*本函數(shù)求階乘*/{intt=1;for(n=1;n<=k;n++)t=t*n;returnt;}mypow(floatx,intk)/*本函數(shù)求x的n次冪(即xn)*/{intt=1;for(n=1;n<=k;n++)t=t*x;returnt;}main(){doublesum=0.0;floatx;intn;intjihao=1;/*記號(hào)變量,用來(lái)改變符號(hào)*/scanf(“input%d,,%d”,&x,&n);for(k=1;k<=n;k++){sum=sum+jihao*1.0*mypow(x,k)/fact(k);/*乘1.0為了變成小數(shù)*/jihao=-jihao;/*記號(hào)變量反號(hào)*/}printf(“sum=%f”,sum);}

浙江省高等學(xué)校計(jì)算機(jī)等級(jí)考試試卷(二級(jí)C)試題1(每小題3分,共12分)閱讀下列程序說(shuō)明和程序,在每小題提供的若干可選答案中,挑選一個(gè)正確答案?!境绦蛘f(shuō)明】輸入一行字符,統(tǒng)計(jì)并輸出其中英文字母、數(shù)字和其他字符的個(gè)數(shù)。運(yùn)行示例:Entercharacters:f(x,y)=3x+5y-10letter=5,digit=4,other=6【程序】#include<stdio.h>voidmain(){intdigit,i,letter,other;(1)ch;digit=letter=other=0;printf("Entercharacters:");while((2)!='\n')if((3))letter++;(4)(ch>='0'&&ch<='9')digit++;elseother++;printf("letter=%d,digit=%d,other=%d\n",letter,digit,other);}【供選擇的答案】(1)A、*B、float C、double D、char(2)A、(ch=getchar()) B、ch=getchar()C、getchar(ch)D、putchar(ch)當(dāng)輸入的字符不是回車(chē)符時(shí)執(zhí)行循環(huán),這是典型語(yǔ)句,背過(guò)!(3)A、(ch>='a'&&ch<='z')&&(ch>='A'&&ch<='Z') B、(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z') C、ch>='a'&&ch<='Z'D、ch>='A'&&ch<='z' 判斷是否為字母(大寫(xiě)或小寫(xiě)),這是典型語(yǔ)句!(4)A、if B、elseC、elseif D、ifelse注意配對(duì),所以A錯(cuò)誤。試題2(每小題3分,共12分)閱讀下列程序說(shuō)明和程序,在每小題提供的若干可選答案中,挑選一個(gè)正確答案?!境绦蛘f(shuō)明】輸入一個(gè)整數(shù),將它逆序輸出。要求定義并調(diào)用函數(shù)reverse(longnumber),它的功能是返回number的逆序數(shù)。例如reverse(12345)的返回值是54321。運(yùn)行示例:Enteraninteger:-123Afterreversed:-321【程序】#include<stdio.h>voidmain(){longin;longreverse(longnumber);printf("Enteraninteger:");scanf("%ld",&in);/*6*/printf("Afterreversed:%ld\n",(5));}longreverse(longnumber){intflag;(6);flag=number<0?-1:1;if((7))number=-number;while(number!=0){res=(8);number/=10;}returnflag*res;}【供選擇的答案】(5)A、reverse() B、in C、reverse(in)D、reverse從/*6*/那里我們知道實(shí)際參數(shù)是in,所以這里應(yīng)該選C。(6)A、res=0B、longres C、longres=0D、res因?yàn)檫@里res的取值達(dá)到了54321,超過(guò)一般整數(shù)的范圍,所以要用long型,因此考慮在B和C中選。結(jié)合(8)res要有初值,所以選C。(7)A、number>0B、number<0 C、number!=0 D、number==0語(yǔ)句if((7))number=-number;的作用相當(dāng)于取絕對(duì)值函數(shù)abs,所以選B。(8)A、number%10B、res*10+number%10 C、number/10 D、res*10+number/10由下一句number/=10;可以推斷這里是求余,先排除CD。仔細(xì)思考選B。以下兩句:res=res*10+number%10;number/=10;先求個(gè)位數(shù),然后除以10,就得到十位數(shù)。也就是說(shuō),除以10后,原來(lái)的十位數(shù)就變成了個(gè)位數(shù)。試題3(每小題3分,共12分)閱讀下列程序說(shuō)明和程序,在每小題提供的若干可選答案中,挑選一個(gè)正確答案?!境绦蛘f(shuō)明】輸入一個(gè)3行2列的矩陣,分別輸出各行元素之和.運(yùn)行示例:Enteranarray:631-8312sumofrow0is9sumofrow1is-7sumofrow2is15【程序】#include<stdio.h>voidmain(){intj,k,sum=0;inta[3][2];printf("Enteranarray:\n");for(j=0;j<3;j++)for(k=0;k<2;k++) scanf("%d",(9));for(j=0;j<3;j++){(10)for(k=0;k<2;k++) sum=(11);printf("sumofrow%dis%d\n",(12),sum);}}【供選擇的答案】(9)A、a[j][k] B、a[k][j] C、&a[j][k]D、&a[k][j]雙層循環(huán),輸入數(shù)組,根據(jù)Scanf的語(yǔ)法,首先排除AB;根據(jù)行列關(guān)系(先按照行,后按照列),可以推斷這里是C。(10)A、;B、sum=-1; C、sum=1;D、sum=0;每次初值為0,否則會(huì)各行累加。(11)A、sum+a[j][k] B、sum+a[j][j] C、sum+a[k][k]D、0BC只會(huì)累加對(duì)角線上的元素,所以錯(cuò)誤。D顯然不對(duì)。因此選A。(12)A、k B、j C、0D、1注意,J表示行,K表示列。試題4(每小題3分,共12分)閱讀下列程序并回答問(wèn)題,在每小題提供的若干可選答案中,挑選一個(gè)正確答案?!境绦颉?include<stdio.h>voidmain(){intk;for(k=5;k>0;k--){if(k==3)continue;/*第6行*/ printf("%d",k);}}(13)程序的輸出是 (13) 。A、54321 B、5421 C、54 D、3 (14)將第6行中的continue改為break后,程序的輸出是 (14) 。A、54321 B、5421 C、54 D、3 (15)將第6行中的continue刪除(保留分號(hào))后,程序的輸出是 (15) 。A、54321 B、5421 C、54 D、3 (16)將第6行全部刪除后,程序的輸出是 (16) 。A、54321 B、5421 C、54 D、3 本題注意以下兩點(diǎn):1.break跳出本層循環(huán)2.Contiune結(jié)束本次循環(huán),立即執(zhí)行下一次條件判斷。然后細(xì)心即可。試題5(每小題3分,共12分)閱讀下列程序并回答問(wèn)題,在每小題提供的若干可選答案中,挑選一個(gè)正確答案?!境绦颉?include<stdio.h>voidmain(){charc,s[80]="HappyNewYear";inti;voidf(char*s,charc);c=getchar();f(s,c);puts(s);}voidf(char*s,charc){intk=0,j=0;while(s[k]!='\0'){ if(s[k]!=c){ s[j]=s[k]; j++; }k++;} s[j]='\0';}(17)程序運(yùn)行時(shí),輸入字母a,輸出 (17) 。A、HappyNewYearB、HppyNewYer C、HayNewYear D、HappyNwYar (18)程序運(yùn)行時(shí),輸入字母e,輸出 (18) 。A、HappyNewYearB、HppyNewYer C、HayNewYear D、HappyNwYar (19)程序運(yùn)行時(shí),輸入字母p,輸出 (19) 。A、HappyNewYearB、HppyNewYer C、HayNewYear D、HappyNwYar (20)程序運(yùn)行時(shí),輸入字母b,輸出 (20) 。A、HappyNewYearB、HppyNewYer C、HayNewYear D、HappyNwYar 仔細(xì)研究以下語(yǔ)句:if(s[k]!=c){ s[j]=s[k]; j++;}發(fā)現(xiàn)其作用是刪除數(shù)組S中等于字符變量C的元素,或者也可以這樣說(shuō),把不等于字符變量C的元素都保留。因此17刪除a,因此18刪除e,因此19刪除p,因此20刪除b。試題6(每小題3分,共12分)#include<stdio.h>structst{intx,y,z;};voidf(structst*t,intn);voidmain(){intk,n;structsttime;scanf("%d%d%d%d",&time.x,&time.y,&time.z,&n);f(&time,n);printf("%d:%d:%d\n",time.x,tim

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論