語言程序設計復習資料復制_第1頁
語言程序設計復習資料復制_第2頁
語言程序設計復習資料復制_第3頁
語言程序設計復習資料復制_第4頁
語言程序設計復習資料復制_第5頁
已閱讀5頁,還剩19頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、C語言程序設計復習資料填空題1、 在C語言中,字符類型的數(shù)據(jù)在內存中以相應的 ASCII碼 存放,所以字符也可以用整數(shù)形式輸出。2、 在C語言中,符號常量是在一個程序中指定的用名字代表的常量,定義符號常量一般用 預處理 命令,定義一個符號常量PI,其值為3.14159,格式是 #define PI 3.14159 。3、 用條件運算符寫出求兩個數(shù)a,b大者的表達式 max ab? a:b : 。4、 在一個函數(shù)中有定義int (*p)10,則p為指向具有十個整形數(shù)據(jù)的數(shù)組 。5、 C語言函數(shù)參數(shù)傳遞的兩種方式是 值傳遞 和 地址傳遞 ;6、 在C語言中,一般在程序中用_結構體_來定義構造類型7

2、、 C語言程序是函數(shù)構成的,其中有且只有 1 個主函數(shù),可以有 多個 個其它函數(shù)。8、 設整型變量X,Y,Z的值均為15,執(zhí)行X%=Y+Z后,X= 15 ,繼續(xù)執(zhí)行X=YZ?X+2:X2后,X= 13 。9、 執(zhí)行語句“for(j=1;j=5;j+) ;”后,變量j的值為 6 。10、 函數(shù)形式參數(shù)的作用域是 函數(shù)原形作用域。11、 若有以下定義:char a; int b; float c; double d; 則表達式a*b+dc的值的類型是 double 。12、 在一個函數(shù)中有定義int a=5,*p=&a;執(zhí)行*p=a+15;后,a的值為 20 。13、 在一個函數(shù)中有定義float

3、 a=70,*p=&a;執(zhí)行*p=*p +20;后,a的值為 90. 。14、 定義一個長度為20的整形一維靜態(tài)數(shù)組a ,且前4個元素的初值為6,12,18,24,定義的格式為: int20=6,12,18,24; 。15、 結構化程序設計的三種基本結構是順序結構、選擇結構和 循環(huán)結構 。16、 表達式 (int)(20+2.5*3+6+5.8) 的值是 39 。17、 寫出表達式1114&1725的值 1 。18、 在C語言中,字符串是用雙引號引起來的一串字符。在機器中,字符串ABcdEFgn 需占用9字節(jié)的內存空間。19、 int j,k,i=15; j=i+ ; K=i+j; 則K的值是

4、: 31 。20、 .結構化程序設計的三種基本結構是:選擇結構、循環(huán)結構和_順序結構_。21、 在C語言中,一個二維數(shù)組可以看成若干個_一維_數(shù)組。22、 文件操作步驟通常是:打開、操作和_關閉_。23、 一個C語言程序總是從 main函數(shù) 開始執(zhí)行24、 設宏定義#define D (x) x/x, 則引用D(2+3)后的值是_6_。25、 以下十個運算符+ ! c)?(b+1):(c+2),3后a的值是_5_。27、 語句 int (*p)()的含義是 p是一個指向函數(shù)的指針 .28、 全局變量放在內存的 靜態(tài)存貯 區(qū)30 在C語言中,單目運算符的結合方向(運算方向)是_自右至左_;唯一的

5、一個三目運算符是_條件運算符? :_。31 能正確表示“當ch為小寫字母為真,否則為假”的表達式是 islower(ch) 。32 循環(huán)語句for(;) printf(OK n);和do printf(OKn); while(0);執(zhí)行完畢循環(huán),循環(huán)次數(shù)分別是_n次_和_1次_。33明int i,j,k;則表達式i=10,j=20,k=30,k*=i+j的值為_900_二、 選擇題1、在C語言中字符型(char)數(shù)據(jù)在內存中是以( D )形式存儲的 A 原碼 B 補碼 C 反碼 D ASCII碼 2、在C程序中可以作為變量名的合法標識符是( D ) A static B 23-b C #stu

6、 D If3、若有以下定義和語句:int a,b,c;scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);為了使1,3,2分別賦給a,b,c,從鍵盤上輸入數(shù)據(jù)的正確形式是( B )A 1 3 2 B 1,3,2 C a=1b=3 c=2 D a=1,b=3,c=2 4、若要求在if后一對圓括號中表示a不等于0的關系,能正確表示這一關系的表達式是(A ) A a!=0 B a=0 C a=0 D a05、以下說法不正確的是( C )A for,while,do-while循環(huán)體中的語句均可由空語句構成;B 使用while和do-while循環(huán)時,循環(huán)變量初始化的操作應在循環(huán)語句之前

7、完成;C do-while和for循環(huán)均是先執(zhí)行循環(huán)體語句,后判斷表達式;D while循環(huán)是先判斷表達式,后執(zhí)行循環(huán)體語句。6、循環(huán)語句for(a=0,b=0;ano C p-no D *p.no11、有一個二維數(shù)組s33 , 其第2行第3列元素的正確表示 B A *(S+3)+3 B s23 C s2,3 D s2312、 C語言規(guī)定數(shù)組名做實參時,它和對應形參之間的數(shù)據(jù)傳遞方式是:CA 單向值傳遞 B 無傳遞 C 地址傳遞 D 用戶指定傳遞方式13、若變量a 是int 類型,并執(zhí)行了語句:a=A+2 ;則正確的敘述是: B A a的值是字符2 B a的值是67 C 不能用字符和數(shù)字相加

8、D a的值是A14、以下程序的輸出結果是: C main() int a=5,b=4,c=6,d ;Printf (“%dn”, d = ab?(ac?a:c):b);A 5 B 4 C 6 D 不確定15、在說明語句中有:float (*fp)( );則fp代表的是: C A 一個用于指向一維數(shù)組的行指針; B 一個返回值為實型的函數(shù)名; C 一個用于指向函數(shù)的指針變量; D 一個指向實型數(shù)據(jù)的指針;16、有 int *P ;剛下面語句正確的是: A A p=(int *)malloc(sizeof(int); B p=malloc(int);C p=int *malloc(sizeof(i

9、nt); D p= malloc(sizeof(int); 17、設有宏定義 #dedine pi 3.14和 #dedine S(r) pi*r*r若在函數(shù)中有語句 float b=3.6 , area ; area=S(b) ;則area的值是 D A 3.6 B 3.14 C 11.304 D 40.694421 下列不正確的轉義字符是A)、 B)、“ C)074 D)、022 若有以下定義:char a;int b;float c;double d;則表達式a*bd-c值的類型為D A)float B)int C)char D)double23 表示關系x=y=z的c語言表達式為AA)

10、(X=Y)&(Y=Z) B)(X=Y)AND(Y=Z)C)(X=Y=Z) D)(X=Y)&(Y=Z)24 設a=1,b=2,c=3,d=4,則表達式:ab?a:cd?a:d的結果為DA)4 B)3 C)2 D)125設x為int型變量,則執(zhí)行以下語句后,x的值為Ax=10;x=x-=x-x;A)10 B)20 C)40 D)3026 下列可作為C語言賦值語句的是CA)x=3,y=5 B)a=b=6 C)i-; D)y=int(x);27 設x,y,z,t均為int型變量,則執(zhí)行以下語句后,t的值為x=y=z=1;t=x|y&z;CA)不定值 B)2 C)1 D)028 設i是int型變量,f是

11、float型變量,用下面的語句給這兩個變量輸入值:Bscanf(i=%d,f=%f,&i,&f);為了把100和765.12分別賦給i和f,則正確的輸入為A).12 B)i=100,f=765.12C).12 D)x=100y=765.1229設x和y均為int型變量,則執(zhí)行下的循環(huán)后,y值為for(y=1,x=1;y=50;y)if(x=10)break;if (x%2=1)x=5;continue;x-=3;A)2 B)4 C)6 D)830給出以下定義:char x=abcdefg;char y=a,b,c,d,e,f,g;則正確的敘述為C A)數(shù)組X和數(shù)組Y等價 B)數(shù)組x和數(shù)組Y的長

12、度相同C)數(shù)組X的長度大于數(shù)組Y的長度 D)數(shù)組X的長度小于數(shù)組Y的長度31 以下敘述中不正確的是C A)在不同的函數(shù)中可以使用相同名字的變量B)函數(shù)中的形式參數(shù)是局部變量C)在一個函數(shù)內定義的變量只在本函數(shù)范圍內有效D)在一個函數(shù)內的復合語句中定義的變量在本函數(shù)范圍內有效32假定a和b為int型變量,則執(zhí)行以下語句后b的值為a=1;b=10;dob-=a;a;while (b-0);BA)9 B)-2 C)-1 D)833設j為int型變量,則下面for循環(huán)語句的執(zhí)行結果是for(j=10;j3;j-)if(j%3)j-;-j;-j;printf(%d ,j);BA)6 3 B)7 4 C)

13、6 2 D)7 334設有以下宏定義:#define N 3#define Y(n)(N1)*n)則執(zhí)行語句:z=2 *(NY(51);后,z的值為A A)出錯 B)42 C)48 D)5435設P1和P2是指向同一個int型一維數(shù)組的指針變量,k為int型變量,則不能正確執(zhí)行的語句是B A)k=*P1*P2;B)p2=k;C)P1=P2;D)K=*P1 *(*P2);36 設有如下定義:int arr=6,7,8,9,10;int *ptr;則下列程序段的輸出結果為6,2 ptr=arr;*(ptr+2)=2;printf (%d,%d、n,*ptr,*(ptr=2);A)8,10 B)6,

14、8 C)7,9 D)6,1037 以下程序的輸出結果是 錯題 main()int i,k,a10,p3:K=5;for (i=0;i10;i)ai=i;for (i=0;i3;i)pi=ai*(i1);for (i=0;i3;i)k=pi*2;printf(%d、n,k);A)20 B)21 C)22 D)2338 執(zhí)行以下程序段后,m的值為A int a23=1,2,3,4,5,6;int m,*p;p=&a00;m=(*p)*(*(p+2)*(*(p+4);A)15 B)14 C)13 D)12(39)有以下程序段char arr=ABCDE;char *ptr;for(ptr=arr;p

15、trarr+5;ptr+)printf(%sn,ptr);輸出結果是此題是錯的 DA)ABCD B)A C)E D)ABCDE(40)有以下程序main()int x,i;for(i=1;i=50;i)x=i;if(x%2=0)if(x%3=0)if(x%7=0)printf(%d,i);”輸出結果是CA)28 B)27 C)42 D)41(41)有下列程序#includestdio.hmain()unionint k;char i2;*s,a;s=&a;s-i0=0x39;s-i1=0x38;printf(%x、n,s-k);輸出結果是AA)3839 B)3938 C) D)(42)有以下程

16、序#include stdio.hmain()int a,b,c=246;a=c/100%9;b=(-1)&(-1);printf(%d,%d、n,a,b);輸出結果是 A A)2,1 B)3,2 C)4,3 D)2,-1 (43)有以下程序#include stdio.hstruct stuint num;char name10;int age;;void fun(struct stu *p)printf(%s、n,(*p)。name);main()struct stu students3=9801,Zhang,20,9802,Wang,19,9803,Zhao,18;fun(student

17、s2);輸出結果是B A)Zhang B)Zhao C)Wang D)18(44)設有以下說明和定義:typedef unionlong i;int k5;char c;DATE;struct dateint cat;DATE cow;double dog;too;DATE max;則下列語句的執(zhí)行結果是printf (%d,sizeof (struct date )sizeof(max);A)26 B)30 C)18 D)8(45)有以下程序main()char a=programming,b=language;char *p1,*p2;int i;p1=a;p2=b;for(i=0;i7;

18、i)if(*(p1i)=*(p2i)printf(c,*(p1i);輸出結果是DA)gm B)rg C)or D)ga(46)有以下程序viod fun (int a,int b,int c)a=456;b=567;c=678;main()int x=10,y=20,z=30;fun (x,y,z);printf(%d,%d、n,c,d);輸出結果是 錯誤A)30,20,10 B)10,20,30 C)456,567,678 D)678,567,456(47)有以下程序int fun(int x,int y,int *cp,int *dp)*cp=xy;*dp=x-y;main()int a,

19、b,c,d;a=30;b=50;fun(a,b,&c,&d);printf(%d,%d、n,c,d);輸出結果是DA)50,30 B)30,J50 C)80,-20 D)80,20(48)有以下程序main()int i,j;for(j=10;j11;j+)for(i=9;ij;i+)if (!(j%i)break;if(i=j-1)printf(%d,j);輸出結果是BA)11 B)10 C)9 D)10 11(50)有以下程序include atdio.hint abc(int u,intv);main ()int a=24,b=16,c;c=abc(a,b);printf(%d、n,c)

20、;”int abc(int u,int v)int w;while(v)w=u%v;u=v;v=w return u;輸出結果是CA)6 B)7 C)8 D)9三、閱讀程序寫出運行結果1、 main() int x , y=10 ; x = 3 + 5 * 5 6 ; printf ( x = %d y=%d n , x , y) ; x = 10 + 2 * 3 7 ; printf ( x = %d n , x ) ; x = ( 7 + 6 ) % 5 + 2 ; y = x + y ;printf ( x = %d y=%dn , x , y) ; 輸出結果:x=16 y=10x=9x

21、=5 y=152、 include “ stdio.h ”main( )int sum=0 , k=1 ;do sum = sum + k ;k = k+2 ; while ( k=10 );printf ( “sum %d” , sum);輸出結果:sum=253、 include “ stdio.h ”main ( )int i;int count (int i );for ( i = 1 ; i=3 ; i+)count( i ) ;int count ( int n) static int x = 1 ;printf ( “%d : x=%d , “ , n , x ) ;x = x+

22、2 ;printf ( “x+2 = %d n, “ , x ) ;輸出結果:1:x=0X+2=33:x=0X+2=55:x=0X+2=74、swap ( int *p1 , int *p2 ) int temp ; temp = *p1 ; *p1=*p2 ; *p2 = temp ; main ( ) int a, b ; int *pt1 , *pt2 ; scanf ( %d %d , &a , &b ) ; pt1=&a ; pt2= &b ;if ( ab) swap (pt1, pt2 ) ;printf ( %d %d ,*pt1 ,*pt2 ) ; 輸入 55 66輸出結果:

23、66 555、# include main ( ) int a, b , c , d , x ; a = c = 0 ; b = 21 ; d = 60 ; if ( a ) d = d 30 ; else if (!b ) else if (!c ) x = 55; else x = 65 ; printf ( “d=%d , x=%dn” , d , x ) ;輸出結果:錯題6、# include main ( ) int a , b ; for ( a=1 ; a= 6 ; a+) for ( b=1 ; b= 14-2*a ; b+) printf (“ “ ) ; /*輸出一個空格*

24、/for ( b=1 ; b= a ; b+) printf (“%4d “ , a ) ;printf (“ n“ ) ; 輸出結果: 12 2 3 3 3 。 6 6 6 6 6 67、# include # define sub ( x ) (x) (x) main ( ) int a =2 4 , b = 46 , c = 78 , m ; m = sub(a+b)*c ; printf (“ m = %d” , m ) ; 輸出結果:m=-53908、# include main ( ) int a33= 21 , 22, 23, 24, 25, 26, 27, 28, 29 , j

25、 ; Long m = 1 ;for ( j=0 ; j3 ; j+)m=m*a j j ; printf ( “ m= %d “ , m ) ; 輸出結果:m=152259、# include main ( ) int a33 = 7,8,9 , *p , k ;p=&a00 ;for ( k=0 ; k2 ; k+ ) if ( k=0 ) akk+1 = *p+1 ; else +p ; printf ( “ %d ” , *p ) ;輸出結果:7 810 include “ stdio.h ”main ( )int x , y , z ;x = ( z=10 , z+15 ) ;y=

26、( x=3 , x+z) ;printf ( “ %d , %d , %d n” , x , y , z ) ;輸出結果:3 13 1011、include “ stdio.h ”main ( )char str10 , temp10 int k ; gets ( temp ) ; for ( k=0 ; k 0 ) strcpy(temp , str ) ; printf( “ %s “ , temp ) ;輸入:usa , canada , china , japan , korea輸出結果為:usa canada china , japankoreacanada12、include “

27、stdio.h ”main( )int s1, s2, s3 ,c , I ;int x ;s1= s2= s3 = 0 ;for ( I= 0 ; I =60&x y ) if ( z x ) m =Z ; else if ( y x ) m = y ; return ( M ) ; main ( ) float a , b , c , ma ; scanf ( “ %f %f %f “ , &a , &b , &c ); ma = max ( a , b , c) ; printf (“ the max is %f “ , ma ) ; 2、已知計算的公式為=4*(1-1/3+1/5-1/

28、7+ ),下面的程序是要根據(jù)此公式來求的值,精度要求為0.00001,請?zhí)顚懣杖辈糠?include #include main() int sign = 1 ; float pi=0 , item=1 ,n=1 ; while ( n30 ) pi=pi+item ;sign = -sign ; item = sign/(n+2) ; n = n+2 ;pi = 4*pi ;printf(“pi=%f”, pi) ;3、有一封信共有3行,每行20個字符。統(tǒng)計其中有多少英文大寫字母,多少英文小寫字母,多少數(shù)字字符。#define N 3#define M 20 #include stdio.h

29、void str_count ( char str )int i,upper=0 , lower=0 , digit=0 ;for ( i=0 ; iN*M ; i+ )if ( stri=A & stri=Z ) upper+ ;else if ( stri=a & stri=z ) lower+ ;else if ( stri=0 & stri=9 ) digit+ ;printf (%d , %d , %d n, upper , lower , digit ) ;main ( )char letter N M+1 ;int i ;for ( i = 0 ; i N ; i+ ) gets

30、 (letteri ) ;str_count ( letter ) ;4、采用選擇法對一維數(shù)組中的n個數(shù)按升序進行排序。void sort ( int a , int n )int j , k , p , t ;for ( j = 0 ; jn-1 ; j+ ) p = j ;for ( k = j+1 ; k n ; k+ ) if ( ak ap ) p=k ;if ( p != j ) t = ap ; ap = a j ; a j = t ; 5、求100 200 之間的全部素數(shù) # include main ( ) int m , k ,i , n = 0 ; for (m=101

31、; m=200 ;m= m+1 ) k = sqrt (m) ; for ( i=2 ;i=k+1) printf ( “ %d” , m ); 五、 程序設計1、編定一個程序,打印九九乘法表。#include stdio.hmain()int m,n;for (m=1;m=9;m+)for (n=1;n=m;n+)printf(%d*%d=%-3d,n,m,m*n);printf(n);2、在歌手比賽中有10名評委打分,分數(shù)采用百分制,歌手的最后得分是:從10名評委的評分中,去掉一個最高分,去掉一個最低分,統(tǒng)計其總分,再除以8。試編程求一個歌手的最后得分#include stdio.hmain()int i,max=0,min=0,sum=0;int a10;for(i=0;imax)max=ai;else if(minai)min=ai;sum+=ai;printf(%d,sum-min-max);3

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論