C語言考題20102011_第1頁
C語言考題20102011_第2頁
C語言考題20102011_第3頁
C語言考題20102011_第4頁
C語言考題20102011_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、程序基本知識答案:B main()函數(shù)是程序的入口和出口,和其它代碼位置沒關(guān)系。答案:C C程序基本單位是函數(shù)。答案:A答案:A答案:C基本數(shù)據(jù)類型和基本運算答案: B 浮點數(shù)兩種表示方式,一種是普通小數(shù)方式,另一種是科學(xué)計數(shù)法??茖W(xué)計數(shù)法中間為e,前邊為1,10的實數(shù)表示尾數(shù),后邊為整數(shù)表示10的指數(shù),正負(fù)均可。答案:C 標(biāo)識符開頭只能是字母或下劃線,不能是數(shù)字。答案:D 單引號括起來的應(yīng)該是單個字符答案:A 雙引號括起來的是字符串答案:A 答案:A 求余運算兩邊必須全為整數(shù)答案:D 答案:D 這四種運算符中,非運算級別最高,算術(shù)運算比比較運算級別高,最低的是賦值運算答案:C D 項錯誤在于

2、scanf從第2個參數(shù)開始應(yīng)該是地址引用答案:D x先和自減1后的y相加,結(jié)果賦給y,再自加1答案:A 輸入時必須包含逗號答案:C 答案:A B項邏輯或兩邊都是假,C項做完邏輯與后才可以自加,D項括號內(nèi)是賦值運算而非比較運算答案:B x+z后結(jié)果已經(jīng)變成浮點數(shù)了答案:D y=0+1=1答案:D 3.5/2+11%2/2=1.75+1/2=1.75+0=1.75答案:B 數(shù)軸上一段連續(xù)區(qū)間必須用兩個邏輯表達(dá)式相與得到。答案:B 邏輯與兩邊明顯矛盾答案:B 0.5+0=0.5答案:B 4.0/2+2%3=2.0+2=4.0答案:C 答案:D a|b=3 ,10 右移3位為1答案:D 答案:D 2+

3、=2+4%2=4答案:D 非0值經(jīng)過非運算后變成假,兩個假或還是假答案:A xy=2,2 左移兩位為8答案:C 答案:A 1/3結(jié)果為0,整個式子結(jié)果為0答案:A分支結(jié)構(gòu)答案:A 其它三項都是如果k是0,則打印No,否則打印Yes。答案:A 這是兩步操作,n=2已經(jīng)不是if結(jié)構(gòu)里的了。答案:A 條件判斷為邏輯非,直接執(zhí)行打印語句。答案:C 余數(shù)為3,只能執(zhí)行default后續(xù)printf(),后邊沒有break(),再執(zhí)行case 1后邊的printf().循環(huán)結(jié)構(gòu)答案:A 答案:B 兩個i - -相當(dāng)于i-=2答案:B 括號里的條件先比較,再將i減1答案:C 其它的i沒有變化答案: A i=

4、1 j=2 0+1+2=3 j=3 3+1+3=7 依次類推,最終m為45函數(shù)答案:A 答案:D 答案:B 答案:C 傳入實參為5和4,函數(shù)中兩者比較,得到z為5,返回5+5=10并打印。答案:C 逗號運算符隔開的式子以最后一個部分為準(zhǔn)。答案:A 宏和編譯預(yù)處理答案:3*NN=3*N*N-M=3*M+1*M+1-M=3*M+1=3*5+1=16答案:A 宏定義末尾不加分號答案:B K*(a+b)=5*(3+4)=35答案:A B項中宏定義是編譯預(yù)處理語句,不需要編譯,只是字符替換。C項中宏定義中的名字一般常采用大寫字母表示,小寫也對。D項中C語言程序可以有多條預(yù)處理命令。數(shù)組答案:A 第一趟循

5、環(huán)后:2103456789 第二趟后:2143056789 第三趟后:2143650789第四趟后:2143658709,循環(huán)結(jié)束,打印即為結(jié)果。答案:D 數(shù)組名可以代表整個數(shù)組的首地址,或者是第一個元素的地址,而不能來引用第一個元素;C語言中,數(shù)組長度一旦固定就不能更改;定義數(shù)組時數(shù)據(jù)類型不能省略。答案:B 最大下標(biāo)為7答案:C答案:B 二維數(shù)組定義時第二維不能省略答案:B 答案:D 答案:B puts()碰到0就停止輸出答案:A i=1時,打印10-a20=10-7=3 ,后邊依次類推。答案:B 就是1+3+4+6=14答案:D 答案:D 二維數(shù)組初始化必須要定義好第二維,不要有任何一維超

6、過定義答案:B 數(shù)組首地址用數(shù)組名表示答案:C strlen()函數(shù)求長度到0為止答案:D strupr()是把字符串里所有字母變成大寫,strcat()是連接字符串,將第2個字符串接到第一個后邊。指針答案:C答案:A 就是兩個指針變量交換數(shù)據(jù)答案:A 程序含義是對比兩個數(shù)組里同下標(biāo)的數(shù)據(jù),第一個數(shù)組對應(yīng)數(shù)據(jù)小的,輸出答案:A 數(shù)組名字(首地址)不能進(jìn)行+運算答案:B 其它類型都不符合。答案:D 答案:A 數(shù)組首地址不能進(jìn)行自加運算答案:C 該指針與數(shù)組首地址間距離為3答案:B 答案:B 答案:B答案:A 答案:D 自定義函數(shù)fn作用就是把實參數(shù)組里內(nèi)的所有元素都加了10結(jié)構(gòu)體答案:AB 均可

7、 C項重復(fù)聲明且沒劃出存儲空間,D項數(shù)據(jù)成員引用錯誤 答案:B 非指針成員的引用用點號 答案:C 答案:A 應(yīng)該是p1.num 答案:D C語言中字符串賦值給結(jié)構(gòu)體成員要用gets(),scanf(),strcpy()這類函數(shù)共用體 答案:C 共用體里邊的數(shù)據(jù)以最后一個作賦值或運算的為準(zhǔn)。此處應(yīng)該是A后邊的字符的ASCII碼值。枚舉與typedef答案:A 把系統(tǒng)內(nèi)已經(jīng)定義的int給一個別名INTEGER答案:A答案:C文件答案:B答案:B答案:B 答案:B 改錯:注:星號之間沒有空格#include <stdio.h>void main() int m,n; for(m=1; m

8、<=5; m+) printf("n"); /*/ for(n=1; n<=m;n+) /*/ printf(" "); for(n=1;n<=m*2-1;n+) printf("%c",/*/ "*" /*/); getch();第一處:for(n=1;n<=5-m;n+) 第二處:* #include <stdio.h>/*/ fun( int n ) /*/ double x = 0.0; int i,sgn=1; for(i=3;i<=n;i+) x+=sgn/(5

9、+/*/ 3*i /*/); sgn=sgn*(-1); return (/*/ sgn /*/);void main() clrscr(); printf("fun(8) = %8.3lfn", fun(8); getch();第一處:double fun( int n ) 第二處:3*(double)i 第三處:x#include <stdio.h>#include <string.h>void main() char str80; char c; int i; i=0; printf("nPlease input the string

10、: "); while(c=getchar()!='n') /*/ if(!c>='A'&&c<='Z'|c>='a'&&c<='z') /*/ /*/ stri=c; /*/ stri='0' puts(str); getch();第一處:if(!(c>='A'&&c<='Z'|c>='a'&&c<='z')第二處

11、:stri+=c;#include <stdio.h>void main() int i,a,b,sum=0; scanf("%d,%d",&a,&b); while(a>b) printf("Data error,please input data again:"); scanf("%d,%d",&a,&b); /*/ for(i=a; i<=b; i+=7) /*/ /*/ if(i/7=0) /*/ sum+=i; printf("%d+",i); pr

12、intf("=%dn",sum); getch();第一處:for(i=a; i<=b; i+)第二處:if(i%7=0)#include <stdio.h>void fun( int m ) int n_100,n_50,n_10,n_1; n_100=m/100; n_50=/*/ m/50 /*/; n_10=m%50/10; n_1=/*/ m/10 /*/; printf("100's=%d 50's=%d 10's=%d 1's=%dn",n_100,n_50,n_10,n_1); void

13、main() int m; printf("Input m(m>=0):"); scanf("%d",&m); fun(/*/int m /*/); getch();第一處:m%100/50 第二處:m%10 第三處:m#include <stdio.h>void main() int i,n=0; /*/ float s9,sum=1.0,aver; /*/ printf("Please input sampler:n"); for(i=0;i<10;i+) scanf("%f",

14、/*/ si /*/); for(i=0;i<10;i+) sum+=si; aver=sum/10; sum=0.0; for(i=0;i<10;i+) if(si>aver) sum+=si; printf("sum=%fn",sum); getch();第一處:float s10,sum=0.0,aver;第二處:&si#include <stdio.h>#define N 5void main() int /*/ aN,N /*/; int i,j; for(i=0;i<N;i+) for(j=0;j<N;j+) i

15、f(/*/j>=i/*/) aij=0; else /*/ aij=i+2-j /*/; printf("%3d",aij); printf("n"); getch();第一處:aNN 第二處:j>i 第三處:aij=i+1-j#include <stdio.h>#include "math.h"void main() /*/ int i=3,j; /*/ int a,sum=0,t; scanf("%d",&a); while(i<=3) t=0; for(j=0; j<

16、;=i-1; j+) /*/ t+=pow(10,j-1)*a; /*/ sum+=t; i+; printf("%d",sum); getch();第一處:int i=1,j; 第二處:t+=pow(10,j)*a;#include <stdio.h>#include <string.h>void main() char src50,tag50; void turn( ); printf("Please input a string: "); gets(src); strcpy(tag,src); turn(tag); prin

17、tf("nThe source string: %sn",src); printf("nThe target string: %sn",tag); getch();void turn(/*/ str /*/) char tab42='k','a','m','c','o','e','q','g' int /*/ i=1 /*/,j; while( stri ) for(j=0;j<=3;j+) if(/*/ stri=tab

18、j0 /*/) stri=tabj1; break; i+; 第一處: char str 第二處:i=0 第三處: stri=tabj0#include <stdio.h>#include <math.h>void main() double s=0.0,y; int i; for(i=1;i<200;i+) if(/*/ i%3=2 /*/) s+=i; y=/*/ sqt(s) /*/; printf("y=%fn",y); getch();第一處:i%3=2 第二處:sqrt(s)填空題#include <stdio.h>#i

19、nclude <conio.h>void main() int i,j,k,x; /*/ /*/ printf("Enter 10 numbers:"); scanf("%d",&x); a0=x; for(k=1; k<=9; k+) scanf("%d",&x); for(i=0; i<k; i+) if (ai<x) break; if(i<k) for(j=k; /*/ /*/; j-) aj=aj-1; ai=x; for(i=0;i<10;i+) printf(&q

20、uot;%d ",ai); getch();第一處:int a10; 第二處:j>i#include <stdio.h>#include <conio.h>void chg(/*/ /*/ ) int i,temp; temp=arr0; for(i=0; i<n-1; i+) arri=/*/ /*/ arrn-1=temp;void main() int a10,i; for(i=0;i<10;i+) scanf("%d",&ai); chg(a,10); for(i=0;i<10;i+) printf(

21、"%d ",ai); getch();第一處:int arr ,int n 第二處:arri+1;注:變量n沒有使用*#include <stdio.h>#include <conio.h>void trn(char *s) int i=1,n=0; char *p=s; while(*p) if(/*/ /*/ ) *p=*p-32; /*/ /*/ i+; void main() char ss100; printf("Input string: n"); gets(ss); trn(ss); printf("nNo

22、w string is :n"); puts(ss); getch();第一處:(*p>=a&&*p<=z)&&(i%2=1) 第二處:p+;#include <stdio.h>#include <conio.h>void main() int /*/ /*/; for(i=10;i<=99;i+) sw=i/10; gw=i%10; if(/*/ /*/) count+; printf("nThe count=%d",count); getch();第一處:sw,gw,i,count=0

23、第二處:(sw%2=0)&&(gw%2=1)#include <stdio.h>#include <conio.h>void main() int i,j; i=0; while(i<4) j=0; while(/*/ /*/) printf("* "); j+; printf("n"); i+; for(i=3; /*/ /*/; i-) j=1; while(j<=i) printf("* "); j+; printf("n"); getch();第一處:j&

24、lt;=i 第二處: i>0#include <stdio.h>#include <conio.h>void main() int a,b,c; /*/ /*/ clrscr(); printf("Please input f :"); scanf("%f",&f); a=/*/ /*/ b=(int)(f-(int)f)*10); c=a*b; printf("nResult=%d",c); getch(); 第一處:float f; 第二處:(int)f%10;#include <std

25、io.h>#include <conio.h>int chg(/*/ /*/) int i,j,temp; for(/*/ /*/) for(j=i+1;j<3;j+) temp=arrayij; arrayij=arrayji; /*/ /*/ void main() int i,j; int array33; printf("Input array:n"); for(i=0;i<3;i+) for(j=0; j<3; j+) scanf("%7d",&arrayij); chg(array); printf

26、("Reversed array:n"); for(i=0;i<3;i+) for(j=0; j<3; j+) printf("%d ",arrayij); printf("n"); getch();第一處:int array3 3 第二處:i=0;i<3;i+ 第三處:arrayji=temp;#include <stdio.h>#include <conio.h>void main() int i,j,k,count=0; for(i=1; i<=9; i+) for(j=0; j&

27、lt;=9; j+) if(/*/ /*/) continue; else for(k=0; k<=9; k+) if( /*/ /*/ ) count+; printf("ncount=%d",count); getch();第一處:i=j 第二處:(i+j+k=7)&&(k!=i)&&(k!=j)#include <stdio.h>#include <conio.h>long int fun(int n) long int k; if(/*/ /*/ ) k=1; else k=/*/ /*/ return

28、(k);void main() int i; printf("Input data:"); scanf("%d",&i); if(i<0) printf("Input data error!"); else printf("Sum=%ldn",fun(i); getch();第一處: n=1 第二處:fun(k-1)+n*n*n;編程題#include <math.h>#include <stdio.h>#include <conio.h>double fun(do

29、uble x) /*/ /*/void main() double x; printf("Pleae input x:"); scanf("%lf",&x); printf("nfun(%6.3lf) = %6.3lfn",x,fun(x); getch();參考答案: return(cos(3*x)+x*x-1) /fabs(exp(x)-2*tan(x)+1) );#include <stdio.h>#include <conio.h>#define N 6void fun(int aNN) /*/

30、 /*/void main() int i,j; int arraNN =4,2,3,8,5,7, 2,9,6,3,3,0, 3,4,5,7,2,9, 3,0,3,4,4,6, 5,2,3,8,6,7, 2,9,6,3,5,7; printf("arra is:n"); for(i=0;i<N;i+) for(j=0;j<N;j+) printf("%5d",arraij); printf("n"); fun(arra); printf("Now arra is:n"); for(i=0;i<N;

31、i+) for(j=0;j<N;j+) printf("%5d",arraij); printf("n"); getch();參考答案:int i,j;for(i=0;i<N;i+) for(j=0;j<N-1;j+) aij=(aij+aij+1)/2;#include <stdio.h>#include <conio.h>#define COL 5void fun(int a,int n) /*/ /*/void main() int arraCOL = 6,7,8,9,0; int i,j,n; print

32、f("The array a is:n"); for(i=0; i<COL; i+) printf("%5d", arrai); printf("n"); printf("Sites of moving(n>0): "); scanf("%d",&n); fun(arra,n); printf("Now The array a is:n"); for(i=0; i<COL; i+) printf("%5d", arrai); pr

33、intf("n"); getch();參考答案:int i,j,temp; for(i=0;i<n;i+) temp=aCOL-1; for(j=COL-2;j>=0;j-) aj+1=aj; a0=temp; #include <stdio.h>#include <math.h>#include <conio.h>double fun(float x) /*/ /*/void main() float x; double y; printf("Please input a number: "); scan

34、f("%f",&x); printf("f(%.2f)=%.2fn",x,fun(x); getch();參考答案:if(x<1000) return x;else if(x>=1000&&x<2000) return (x-0.3*(x-1000);else if(x>=2000&&x<3000) return (x-0.5*(x-1000);else return(x-0.8*(x-1000);#include <stdio.h>#include <math.h&

35、gt;#include <conio.h>double fun(float x) /*/ /*/void main() float x; double y; printf("Please input a number: "); scanf("%f",&x); printf("f(%.2f)=%.2fn",x,fun(x); getch();參考答案: if(x<0) return x*x+1;else if(x>=0&&x<5) return (sqrt(3*x+1);else r

36、eturn (log(x);#include <stdio.h>#include <math.h>#include <conio.h>double fun(float x) /*/ /*/void main() float x; double y; printf("Please input a number: "); scanf("%f",&x); printf("f(%.2f)=%.2fn",x,fun(x); getch();參考答案:if(x<2) return cos(x);e

37、lse if(x=2) return (exp(x)+pow(x,3);else return (fabs(1.23*x-9);#include <stdio.h>#include <conio.h>#define N 13void fun(int a,int b,float *f) /*/ /*/void main() int aN = 40,23,33,8,32,63,2,9,16,-3,3,0,13; int bN=0; int i; float aver; printf("Array a:n"); for(i=0;i<N;i+) printf("%d ",ai); printf("n"); fun(a,b,&aver); printf("Array b:n"); i=0; while(bi) printf("%d ",bi+); print

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論