2021級非計算機專業(yè)C語言練習(xí)題1_第1頁
2021級非計算機專業(yè)C語言練習(xí)題1_第2頁
2021級非計算機專業(yè)C語言練習(xí)題1_第3頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、第一單元 數(shù)據(jù)類型、表達式及順序結(jié)構(gòu)練習(xí)題6、假設(shè)有定義:char c= 010 '那么變量c中包含的字符個數(shù)為一、選擇題:7、假設(shè)有定義:int x=3,y=2;float a=2、5,b=3 、 5;那么表達1、A、2、A、3、A、不合法的-012不合法的E3不合法的2C語言整型常量就是_B 、 0x35 CC語言實型常量就是B、123CC字符常量就是。B、 101C。123Lo-6、ZABZ8E2式(x+y)%2+(int)a/(int)b 的值為2E4三、程序閱讀題:0、以下程序的輸出結(jié)果就是#include <stdio、h>4、以下四組選項中,均就是不合法的用戶

2、標(biāo)識符的選項就是A、do B 、 b-agotofloat la0A D 、 -123定義三個變量 能的語句就是_int a=b=c=5; B 、int a,b,c=5;int a=5,b=5,c=5; D 、 int a=5;b=5;c=5;5、A、Ca、b、c,并分別賦初值為5。abc能實現(xiàn)該功 () 1=97; char y=TEMP 曲printf(“c,%d'b',x, y);2、以下程序的輸岀結(jié)果就是6、設(shè)有說明:char w;int x; float y;double z;貝V表達式#include <stdio 、 h>w*x+z-y值的數(shù)據(jù)類型為m

3、ain()A、7、A、8、A、9、A、float B、char C 、以下選項中不能用作C程序合法常量的就是1、234 B 、'123' C 、123 以下選項中可用作C程序合法實數(shù)的就是、1e0 B 、3、0e0、2 C 、E9以下標(biāo)識符中,不合法的用戶標(biāo)識符為Pad B 、CHAR Cint、doUn=6;()。D 、"x7G"()D 、9、12Ex+=x-=x*x;printf(“x=%dn , x);o、a 103、以下程序的輸岀結(jié)果就是10、 以下選項中能表示合法常量的就是oA、整數(shù):2、00 B、實數(shù):1、5E2、0C、字符斜杠: D 、字符串:

4、"007"11、 假設(shè)a就是數(shù)值類型,那么邏輯表達式a=1|a!=1的值就是 A、1 B 、0 C 、2 D12、 假設(shè)有定義語句:int x=10;,那么表達式DA、-20B 、-10 C 、013、表達式:(int)(double)9/2)-(9)%2A、0 B 、3 C 、414、int x=5, y=14; 那么表達式 x+7/y+0、3x-=x+x的值為、10 的值就是。、56值為。A、7、1 B、5、6 C 、6、6 D、6、115、 C語言中運算對象必需就是整型的運算符就是。A./ B. %C.*D.+16、 表達式 3、6-5/2+1、2+5%2的值就是A.

5、4、3 B. 4、8 C. 3、3D.317、C語言中,數(shù)字029就是一個。A.不合法數(shù)字B.十進制數(shù)C八進制數(shù)D十六進制數(shù)18、 設(shè)有定義:int k=0;,以下選項的四個表達式中與其她 三個表達式的值不相同的就是。A、k+ B、k+=1 C、+k D、k+119、 以下C語言運算符中優(yōu)先級最低的就是。A、+ B20、假設(shè)有定義語句 表達式就是A、a=b=4=3;C、a=b=4+c;二、填空題:、=C:int a=3,b=2,c=1;以下選項中錯誤的賦值、a=b=c+1;、a=1+(b=c=4);#include <stdio 、h>main() int i=1,j;j= -i+

6、;printf(“dn,j)4、有以下程序,運行后的輸岀結(jié)果就是main() char a='a',b;printf("%c,",+a);printf("%cn",b=a+);5、以下程序的輸岀結(jié)果就是main()、 &&i=0,j=0,a=6;if(+i>O)ll(+j>0)a+;printf("%d,%d,%d",i,j,a); 1、假設(shè)有定義 int m=5,y=2;,那么計算表達式y(tǒng)+=y-=m*=y后的第二單元選擇結(jié)構(gòu)練習(xí)題y值就是一、選擇題:2、假設(shè)s就是int型變量,且s =

7、6,那么表達式s%2+s+1%2的值1、假設(shè)a就是數(shù)值類型,那么邏輯表達式a=1|a!=1的值就是。A、3、假設(shè)a就是int型變量,那么表達式a+3、5/3、5-int4 、8的類型2、有以下程序運行時,輸入的值在哪個范圍才會有輸出結(jié)果 。main()4、假設(shè)a就是int型變量,那么計算表達式a=25/3%3后a的值為int x;oif(x<=3);else if(x!=10)printf("%dn",x);A. 不等于10的整數(shù) B. 大于3且不等于10的整數(shù)C.大于3或等于10的整數(shù) D. 小于3的整數(shù)3、在嵌套使用if語句時,C語言規(guī)定else總就是()。A.與

8、之前與其具有相同縮進位置的if配對B與之前與其最近的if配對C. 與之前與其最近的且不帶 else的if配對D. 與之前的第一個if配對4、希望當(dāng)num的值為奇數(shù)時,表達式的值為“真 ,num的值為偶數(shù)時,表達式的值為“假,那么以下不能滿足的表達式就是else printf(“#");A) 有語法錯誤,不能通過編譯B)輸出:*C)可以編譯,但不能通過連接,所以不能運行 D)輸出:#12、對下述程序,就是正確的判斷。mai n () int x,y;scanf( “d,%d,&x,&y);if (x>y)x=y;y=x;elsex+;()y+;A、num%2=1

9、B 、!(num%2=0) C 、!(num%2) D5、假設(shè)有定義:int a=3,b=2,c=1;并有表達式:a%b,a>b>c,b&&c+1,c+=1,那么表達式值相等的就是()。A) 與B)與 C)與 D)與6、以下程序片段。int x=2,y=3;printf( “ %d,%d ,x+2,y);A)輸出為:2,3B)輸出為:4,3C)輸出為:2 3D)輸出為:4 37、能正確表示“當(dāng)x的取值在1,10或200,210范圍內(nèi)為真,否那么為假的表達式就是。A) (x>=1) && (x<=10) && (x>=

10、200) && (x<=210)B) (x>=1) | | (x<=10) | | (x>=200) | | (x<=210)C) (x>=1) && (x<=10) | | (x>=200) && (x<=210)D) (x>=1) | | (x<=10) && (x>=200) | | (x<=210)&假設(shè)int i=10;執(zhí)行以下程序后,變量i的正確結(jié)果就是。switch (i) case 9: i+=1 ;case 10: i+=1 ;

11、case 11: i+=1 ;default : i+=1 ;A)10B)11C)12D)13prinfumd,%d ,x,y); A)有語法錯誤,不能通過編譯B)假設(shè)輸入3與4,那么輸出4與5C)假設(shè)輸入4與3,那么輸出3與4 D)假設(shè)輸入4與3,那么輸出4與513、 有以下程序運行時,輸入的值在哪個范圍才會有輸出結(jié)果()。 mai n()int x; sca nf("%d", &x);if(x<=3);else if(x!=10) pr in tf("%dn",x); A.不等于10的整數(shù)B.大于3且不等于10的整數(shù)C.大于3或等于10

12、的整數(shù) D. 小于3的整數(shù)14、下述表達式中,()可以正確表示x<0或XA1的關(guān)系。A)(x>=1) | | (x<=0)B)x>=1 | x<=0C)x>=1 && x<=0D)(x>=1) && (x<=0)15、 以下程序輸出結(jié)果就是。mai n () int x=1,y=0,a=0,b=0;switch(x) case 1:switch (y) case 0 : a+ ; break ;case 1 : b+ ; break ;case 2:a+; b+; break;case 3:a+; b+;pr

13、intf( “a=%d,b=%d ,a,b);9、下面就是錯誤的if語句(設(shè)int x,a,b;)A)if (a=b) x+; B)if (a=<b) x+;C)if (a-b) x+; D)if ( x ) x+;11、以下程序片段。A)a=1,b=0B)a=2,b=1C)a=1,b=1D)a=2,b=216、當(dāng)a=1,b=3,c=5,d=4時,執(zhí)行完下面一段代碼后 x的值就是if (a<b)if (c<d) x=1;elsemain () int x=1,y=2;if (x>y) printf();if (a<c) if (b<d) x=2;else x

14、=3;else x=6;else x=7;A)1B)2C)3D)417. 在下面的條件語句中(其中S1與S2表示C語言語句),只有一個在功能上與其她三個語句不等價。它就是()A)if (a) S1; else S2; B)if (a=0) S2; else S1;C)if (a!=0) S1; else S2; D)if (a=0) S1; else S2;18、假設(shè)int i=10;執(zhí)行以下程序后,變量i的正確結(jié)果就是。switch (i) case 9: i+=1 ;case 10: i+=1 ;case 11: i+=1 ;default : i+=1 ;A)10B)11C)12D)13

15、二、填空題:1、C語言提供6種關(guān)系運算符,按優(yōu)先級上下, 等。2、C語言提供三種邏輯運算符,按優(yōu)先級上下它們分別就是,。3、將條件“y被4整除但不能被100整除,或y能被400整除寫成邏輯表達式。4、設(shè)x,y,z均為int型變量;寫出描述“馮與z中有兩個為負(fù)數(shù)的C語言表達式:。5、 A=7、5,B=2,C=3、6,表達式 A>B && C>A|A<B &&!C>B的值就是。6、有 int x=3,y=-4,z=5;那么表達式(x&&y)=(x|z)的值為。7、 C語言編譯系統(tǒng)在給出邏輯運算結(jié)果時,以數(shù)值代表真以代表假但在判

16、斷一個量就是否為真時,以代表 假以代表真。8、 表示“整數(shù)x的絕對值大于5時值為“真的C語言表達 式就是_9、假設(shè)x為int類型,請以最簡單的形式寫出與!x等價的C語言表達式、10、如果不考慮條件表達式語句,很多情況下,多分支選擇結(jié)構(gòu)既可以通過if語句來實現(xiàn),也可以通過語句來實現(xiàn)。三、讀程題:1. 以下程序的輸出結(jié)果就是 。mai n()int a=1,b=0;if( ! a) b+;else if(a=0)if(a)b+=2;else b+=3;printf( dn ,b);2、寫出以下程序的運行結(jié)果mai n () int a=2,b=7,c=5;switch (a>0) case

17、1: switch (b<0) case 1: printf(“ ); break ;case 2: printf(“! ); break ;case 0: switch (c=5) case 1: pritnf(“* ); break ;case 2: printf(“# ) ; break ;default : printf(“# ) ; break ;default : printf(“& );它們分別in就是“ n);3、以下程序的輸岀結(jié)果就是 。main() int a=100;if(a>100) printf("%dn",a<=100)

18、;else printf("%dn",a<=100);4、 以下程序的輸岀結(jié)果就是。main() int i;for(i=0;i<3;i+)switch(i) case 1: printf("%d",i);case 2: printf("%d",i);default: printf("%d",i);5、 以下程序的輸岀結(jié)果就是。main() int i=0,j=0,a=6;if(+i>0)|(+j>0) a+;printf("%d,%d,%d",i,j,a); 第三單元循

19、環(huán)結(jié)構(gòu)練習(xí)題選擇題:1、有以下程序執(zhí)行后的輸岀結(jié)果就是()。main() int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf("%dn",s);A. 自然數(shù)19的累加與 B. 自然數(shù)110的累加與scanf(“d,&a);while () if (max<a) max=a ;scanf (“d,&a);printf(“d ,max );A)a=0B)aC)!a=1D)!a12、下述程序段的運行結(jié)果就是int a=1,b=2, c=3, t;while (a<b<c) t=a; a=b; b=t; c-

20、;printf(“d,%d,%d ,a,b,c);A)1,2,0B)2,1,0C)1,2,1D)2,1,113、 以下不就是死循環(huán)的語句就是。A) for (y=9,x=1;x>+y;x=i+) i=x ;B) for ( ; ; x+=i );C) while (1) x+ ; D) for (i=10 ; ; i-) sum+=i ;14、 下述語句執(zhí)行后,變量k的值就是。C.自然數(shù)19中的奇數(shù)之與D自然數(shù)110中的偶數(shù)之與2、以下關(guān)于for語句的說法不正確的就是()。A、for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況B、 for循環(huán)就是先判斷表達式,后執(zhí)行循環(huán)體語句C for循環(huán)中,可以

21、用break跳出循環(huán)體Do for循環(huán)體語句中可保含多條語句,但要用花括號括起來3、假設(shè)i與k都就是int類型變量,有以下for語句for(i=0,k=-1;k=1;k+) pri ntf("*n");下面關(guān)于語句執(zhí)行情況的表達中正確的就是()。A、循環(huán)體執(zhí)行兩次 B、循環(huán)體執(zhí)行一次C循環(huán)體一次也不執(zhí)行D、構(gòu)成無限循環(huán)4、設(shè)有以下程序段int x=0,s=0;while(!x!=O)s+=+x;printf("%d",s); 那么A)運行程序段后輸岀0B)運行程序段后輸岀1C)程序段中的控制表達式就是非法的D)程序段執(zhí)行無限次5、設(shè)i,j,k 均為int

22、型變量,那么執(zhí)行完下面的for語句后k 的值為()for(i=0,j=10;i<=j;i+, j- -) k=i+j;A、6B、9C 10D 116、C語言中,break;語句可以用于循環(huán)語句與()語句中。A、if B 、switchC、forD、while7、for(i=0; i<=15; i+) printf("%d", i );循環(huán)結(jié)束后,i的值為()。A、14B、 15C、16D、&與語句“ while(!x)"等價的語句就是()int k=1;while (k+<10);A)10B)11C)9 D)無限循環(huán),值不定25、以下程序

23、段。x=-1;do x=x*x; while (!x);A)就是死循環(huán)B)循環(huán)執(zhí)行2次C)循環(huán)執(zhí)行1次D)有語法錯誤三、讀程題:1、以下程序的輸出結(jié)果就是 。mai n()A、while(x=0) Bwhile(x!=0) C 、while(x=1)D 、while(x!=1) int i, a6=2,3,4,5,6,7;9、以下程序中,while循環(huán)的次數(shù)就是()。#inelude <stdio、h>void mai n()int i=0;while(i<10) if(i<1) con tin ue; if(i= =5)break; i+;A、1 B 、死循環(huán),不能確

24、定次數(shù)C、6for(i=1; i<6; i+=2)prin tf("%d ", ai);2、寫出下面程序運行的結(jié)果mai n ()D 、 10 int i=5 ;for (; i<5 ;)10、下面程序段-;B) 循環(huán)就是無限循環(huán)D)循環(huán)體語句執(zhí)行一次次 D)2 次,輸C)111、下面程序的功能就是在輸入的一批正數(shù)中求最大者 入0結(jié)束循環(huán),選擇填空。main () int a,max=0; int a,b;for (a=1,b=1 ; a<=100 ; a+) int k=2;while (k=0) printf(“d ,k);k那么下面描述中正確的就是A

25、)while循環(huán)執(zhí)行10次C)循環(huán)題語句一次也不執(zhí)行A)無限次B)0 次 i+;if(i%4=0)printf( “ -2c ,i); else continue;3、寫出下面程序運行的結(jié)果mai n ()A、int num0、2021;B、int num;C、int N=2021;D、#define N 2021int numN;int numN;2、以下數(shù)組定義中錯誤的就是()。A、int x3=0;B、int x23=1,2,3,4,5,6;C、 int x3=1,2,3,4,5,6;D、int x23=1,2,3,4,5,6;1、以下選項中,能正確定義數(shù)組的語句就是()3、假設(shè)有說明數(shù)

26、組“ int a34 ,那么以下對數(shù)組a的正確引用就是()。if (b%3=1) b+=3 ; continue ; C、 ssca nf("%d%s",b,c);D、 sca nf("%d%s",b,&c);b-=5;7、有以下程序段 char n ame20; int num;printf( “d n ,a);sca nf("n ame=%s nu m=%d", name ;&nu m);當(dāng)執(zhí)行上述程序段,并從鍵盤輸入:name=aaa num=2021回車后,name的值為。if (b>=20) break

27、;A、 scanf("%d%s",&b, &c);B、 scanf("%d%s",&b,c);4、寫岀下面程序運行的結(jié)果。D) name=aaa num=2021main () int k=1,n=263 ;do k*= n%10 ; n/=10 ; while (n);printf( “d n ,k);5、 假設(shè)執(zhí)行以下程序時從鍵盤上輸入3與4,那么輸岀結(jié)果就是main() int a,b,s;scanf("%d%d", &a, &b);s=a;if(a<b) s=b;s*=s;prin

28、tf("%dn",s);6、寫出下面程序運行的結(jié)果。mai n ()inti ;for(i=1;i<10;i+)if(i%3) i+;+i ;A) aaa B) name=aaa C) aaa num=20218、有以下程序#include <stdio、h>main() char a30,b30;scanf("%s",a);gets(b);prin tf("%sn %sn",a,b);程序運行時假設(shè)輸入:how are you? I am fine< 回車 >那么輸出結(jié)果就是()A、how are yo

29、u?B、howC、howI am fineI am fineare you?9、以下對二維數(shù)組a的正確說明就是、D、howare you? I am fineA、inta3; B、float a(3,4);C、doublea14;D、floata(3)(4);10、 假設(shè)有說明:int x3=1,3,5,7,9,11;,那么x數(shù)組的行數(shù)為 。A、2B、3C、4D、無確定值11、假設(shè)有定義:int a34=1,2,3,0,5,4,6,8,10; 那么初始化后,a12的初值就是()A、2 B、3C、0 D、沒有確定的值12、 以下程序程序的運行結(jié)果就是()。#include<string、h

30、>main() char a10= "abcd"printf("%d,%dn",strlen(a),sizeof(a);A、7,4 B、4,10 C、8,8 D、10,1013、以下程序程序運行后的輸出結(jié)果就是()。#include <stdio、h>main() char s="012xy"int i,n=0;printf( “d ,i);for(i=0;si!=0;i+)四、編程題:if(si>= 'a' &&si<= 'z') n+;printf(&q

31、uot;%dn",n);A、0B、2第四局部數(shù)組練習(xí)題A、a24B、a1,3C、a1+10 D、4、假設(shè)有定義語句:char s10="123456700"那么 strlen(s)的值就是(A、7B、8C、9D、5、 以下程序程序的執(zhí)行后的輸出結(jié)果就是()。mai n()int i,t3=9,8,7,6,5,4,3,2,1;for(i=0;i<3;i+) printf(-i“g ,t2A、7 5 3B、3 5 7C、3 6 9 6、有以下語句:int b;char c10;,那么正確的輸入語句就是()C、14、假設(shè)有定義語句:int m=5,4,3,2,1,

32、i=4;,那么下面對m數(shù)組元素的引用中錯 誤的就是()。A、m-i B、m2*2 C、mm0 D、mmi15、main() int a2=0,i,j,k=2;for(i=0;i<k;i+)for(j=0;j<k;j+) aj=ai+1;prin tf("%dn",ak);a(2)(1)10以上程序的輸出結(jié)果就是()、A) 1 B) 3 C) 2 D)不確定的值16、以下定義語句中,錯誤的就是(A) in tD=i7=,7,8; B) int n=5, a n;)、C ) char a = "stri ng" D) char a5 ='

33、0','1','2','3','4'17、 以下描述中正確的就是()、A) 數(shù)組名后面的常量表達式用一對圓括弧括起來B) 數(shù)組下標(biāo)從1開始C) 數(shù)組下標(biāo)的數(shù)據(jù)類型可以就是整型或?qū)嵭虳)數(shù)組名的規(guī)定與變量名相同18、假設(shè)定義數(shù)組并初始化char a10='0','1 ','2',3,'4','5','6','7',8,'9'指出以下錯誤語句(A)sca nf("%c",a0);

34、B) sca nf("%s",&a);C) pri ntf("%c",a3);D) pri ntf("%s",a);19、 假設(shè)定義數(shù)組int a10,其最后一個數(shù)組元素為()、A)a0 B) a1 C) a9 D) a1020、 假設(shè)定義數(shù)組并初始化int a10= 1,2,3,4,下語句哪個不成立A) a8的值為0 B) a1的值為1 C) a3的值為421、指出以下錯誤語句()、A)int n=10,an;B)int an =10;C)int a10=1,2,3; D) int a10=1,2,3,4,5,6,7,8,9

35、,10;22、已定義 int x24=1,2,3,4,5,6,7,8;元素 x11的正確初值就是()、A) 6 B) 5 C) 7 D) 123、設(shè)有定義:int a3=1,2,3,4,5,6,7,8,9;那么a12的初值為()、A) 2 B) 4 C) 6 D) 824、 判斷字符串s1就是否大于字符串s2,應(yīng)當(dāng)使用()。A) if(s1>s2)B)if(strcmp(s1,s2)C)if(strcmp(s1,s2)>0)D) if(strcmp(s2,s1)>0)二、填空題1、在C語言中,二維數(shù)組的定義方式為:類型說明符數(shù)組名 ;2、假設(shè)有定義:double x35;那么

36、x數(shù)組中最小行下標(biāo)的為,列下標(biāo)的最大為 。3、假設(shè)有定義:int a34 = 1,2,0,4,6,8,10;那么初始化后,a12得到的初值就是 。4、假設(shè)有定義 int a10; char b10; double c10;假設(shè) int 類型在內(nèi)存中占2個字節(jié),那么編譯系統(tǒng)分配給數(shù)組a字節(jié),分配給數(shù)組b_字節(jié),分配給數(shù)組c字節(jié)、5、有定義 char s="abcd0ef0g"那么 strlen(s)=。6、有定義:char str50="abcd"然后調(diào)用函數(shù)strcat(str, "def0gh");貝U puts(str);輸出。二

37、、瞧程序?qū)懡Y(jié)果1、下面程序的運行結(jié)果就是。mai n() int a10=10,2,-13,21,11,67,-78,8,90,-53;int i,x=0, y=0;(D) a9if(ai >0) x+;else y+;printf( %d,%dn, x, y );2、 以下程序的輸出結(jié)果就是。mai n()、 int i,x33=1,2,3,4,5,6,7,8,9;for(i=0; i<3; i+)prin tf("%d ",xi2-i);3、 以下程序的輸出結(jié)果就是。mai n() )?nt i, a6=2,3,4,5,6,7;的值為'(i=1; i

38、<6; i+=2)prin tf("%d ",ai);4、 以下程序的輸出結(jié)果就是。mai n() int i, j, a34=0,1,2,3,4,5,6,7,8;for(i=0;i<3;i+)for(j=i;j<4;j+)prin tf("%5d", a2-ij);prin tf("n");5、假設(shè)運行時輸入abc/,以下程序的輸出結(jié)果就是 #include<string、h>mai n () char str_a12="xyzuvw" , str_b8;gets(str_b);st

39、rcpy(str_a, str_b);printf( “ %s, %s , str_a, str_b );6、以下程序的輸出結(jié)果就是#include <stdio、h>mai n() int a33=1,2,3,4,5,6,7,8,9, i,s=0;for(i=0;i<=2;i+)s=s+aii;printf( s=%dn,s);7、以下程序的輸出結(jié)果就是#include <stdio、h>mai n() int a44=1,3,5,2,4,6,3,5,7;printf( %d%d%d%dn ,a03,a12,a21,a30);for(i=0;i<10;i+

40、)&以下程序的輸出結(jié)果就是 #inelude <stdio、h>mai n() char s= "abedef's3= '0'printf( %sn",s);第五局部函數(shù)練習(xí)題1、C語言程序的根本單位就是()、A.程序B、語句C、字符D、函數(shù)2、以下表達中正確的就是()、A、在C語言中總從第一個開始定義的函數(shù)開始執(zhí)行B、 在C語言中所有調(diào)用別的函數(shù)必須在main函數(shù)中定義C、 C語言總就是從main函數(shù)開始執(zhí)行D、在C語言中,main函數(shù)必須放在最前面3、以下正確的函數(shù)定義就是()、A、double fun(int x,int y

41、);int z;z=x+y; return z;B、fun(int x,y)intz; retur n z;C、double fun(int x,int y);double z;z=x+y; return z;D、double fun( x, y)int x,y;double z; z=x+y; return z;4、 C語言中,函數(shù)返回值的類型就是由()決定的。A、調(diào)用函數(shù)時臨時B、return語句中的表達式類型C、調(diào)用該函數(shù)的主調(diào)函數(shù)類型D、定義函數(shù)時,所指定的函數(shù)類型6、 C語言中關(guān)于“函數(shù)聲明的說法正確的就是()。A. 必須對所有所調(diào)用的函數(shù)進行聲明。B. 都沒必要聲明,聲明只就是為了

42、加快編譯的速度。C. 返回值為void類型的函數(shù)任何時候都可以不用聲明。D. 并不就是任何情況下都需要進行聲明。7、 假設(shè)函數(shù)調(diào)用時的實參為變量時,以下關(guān)于函數(shù)形參與實參的表達中正確的就是()。A、在函數(shù)調(diào)用時函數(shù)的實參與其對應(yīng)的形參共占同一存儲單元。B、在函數(shù)調(diào)用時函數(shù)的形參與實參分別占用不同的存儲單元。C、在函數(shù)調(diào)用時同名的實參與形參占同一存儲單元。A、7B、8C、9D、1011、f(int x)return x;main()float a=3、14;a=f(a);printf("%、2fn",a);執(zhí)行結(jié)果為()、A) 3B) 3、14C) 3、00D) 012、 執(zhí)

43、行以下程序后,變量a的值應(yīng)為()、8、 假設(shè)有說明“ static int a34;",那么數(shù)組a中各元素()。A、可在程序的運行階段得到初值0。B、可在程序的編譯階段得到初值0oC、不能得到確定的初值。D、可在程序的編譯或運行階段得到初值09、 以下程序程序的運行結(jié)果就是()oint funint x,i nt y if(x=y) retur n( x);else reture n(x+y)/2)main() int a=4,b=5,c=6;printf("%dn",fun(2*a,fun(b,c)A、 3B、 6C、 8D、 1210、 以下程序程序運行后的輸

44、出結(jié)果就是()。int f(int n) static int a=1;n+=a+;retur n n;main() int a=3,s; s=f(a);s=s+f(a);pri ntf(dn,s);f1(float x)return x+1、3;mai n()float a;a=f1(2、4);A) 3、7 B) 3C) 4 D)不確定13、以下程序的執(zhí)行結(jié)果為()、float f1(float x)int k=2;k=k*x;return k;main()float b=4、3;printf("%、1f",f1(b);D、形參只就是形式上的存在,即使在函數(shù)調(diào)用時也不占用

45、具體存儲單元4執(zhí)行以下語句后,程序的運行結(jié)果為()、A) 8、6 B) 9、0 C) 8、0 D) 8int a=10;f()a=12;mai n()f();pri ntf("%d",a);A) 10 B) 12C) 0 D)不確定二、填空題1、一個C程序中可以有多個函數(shù),但就是有且僅能有一個函數(shù)。2、 從用戶使用的角度,函數(shù)分為函數(shù)與函數(shù);從有無參數(shù)的角度,函數(shù)分為函數(shù)與函數(shù);從有無返回值的角度,函數(shù)與函數(shù)3、函數(shù)調(diào)用語句f(a,(3,b)向函數(shù)f傳遞了參數(shù)。4、 如果一個函數(shù)的函數(shù)體內(nèi)無任何語句那么該函數(shù)被稱為函數(shù)。5、 函數(shù)大致分為函數(shù)頭部與局部。6、 一般地,如果函

46、數(shù)的定義就是在對該函數(shù)的調(diào)用之后,那么需要對該函數(shù)進行。7、 對于有返回值的函數(shù),函數(shù)的返回值需要通過語 句來實現(xiàn)。& C程序中數(shù)組名作為函數(shù)的參數(shù),傳遞的就是數(shù)組的 9、 函數(shù)可以嵌套調(diào)用,但就是不可以嵌套。10、 所謂的函數(shù)參數(shù)的單向值傳遞,就是指只能將 的值傳遞給而的值不會影響的值。三、讀程序?qū)懡Y(jié)果1、 以下程序的運行結(jié)果就是、int a=5;i nt b=7;mai n() int a=4,b=5,c;c=plus(a,b);prin tf("A+B=%dn",c);plus(int x,int y) int 乙z=x+y;return(x);2、 以下程序

47、的輸岀結(jié)果就是 。int fun() static int x=1;x*=2;return x;main() int i,s=1;for(i=1;i<=3;i+) s*=fun();printf("%dn",s);3、 以下程序的輸岀結(jié)果就是。int f(int v , int w) int t;t=v*v+v/w;return t;main() int x=1,y=3,z=2;x=f(y, z+5);prin tf("%d,%d,%dn",x,y,z);4、以下程序的輸出結(jié)果就是int f(int i,int j) int t=1;for(;j&

48、gt;0;j-)t*=i;return (t);main()int a=2,b=3;printf( f=%dn ,f(a,b);5、以下程序的輸岀結(jié)果就是#include <stdio、h>func(int x) x=20;main() int x=10;func(x);printf( %d,x);6、以下程序的輸出結(jié)果就是int a=5;void fun (i nt b) int a=10; a+=b;pri ntf("%d",a);main() int c=20;fun(c);a+=c;printf("%dn",a);第六局部指針練習(xí)題1

49、、已有變量定義與函數(shù)調(diào)用語句:int a=25;print_value(&a); 下面函數(shù)的正確輸出結(jié)果就是void print_value(int *x) printf(“%dn,+*x);A、 23 B 、 24 C 、 25 D 、 262、有以下程序main() int a=1, b=3, c=5; int *p1=&a, *p2=&b, *p=&c;*p =*p1*(*p2); printf("%dn",c); 執(zhí)行后的輸出結(jié)果就是 A、 1 B、 2 3、有以下程序A、int a=b=0 ;、char A=65+1,b='

50、b'C、3D、4main() int a,k=4,m=4,*p1=&k,*p2=&m;a=p1=&m;printf("%dn",a); 程序運行后的輸出結(jié)果就是 ()A)4 B)1C)0 D) 運行時出錯 , 無定值4、有以下程序段 int a10=1,2,3,4,5,6,7,8,9,10,*p=&a3,b; b=p5; b 中的值就是 ()A 、 5 B、6 C 、 8 D 、 95、假設(shè)有以下定義 , 那么 p+5 表示inta10,*p=a;A、元素 a5 的地址 B 、元素 a5 的值C、元素 a6 的地址 D 、元素 a6

51、的值6、#include <stdio 、h>main()int a30=1,2,3,4,5,6,7,8,9, *p;p=&a4;printf("%dn",*(p+2);程序執(zhí)行后會輸出A、3 B、 6C、7 D 、 9以下程序段中 , 編譯時系統(tǒng)會提示錯誤的就是 ()char s10="abcdefg" B 、 char t="abcdefg",*s=t; cha11r s10;s="abcdefg"char s10;strcpy(s,"ab7、A、C、D、 cdefg")

52、; char s10,*p=s, 那么以下語句中錯誤的就是 ( )8、A、p=s+5; Bs=s+p; C 、 s2=p4; D9、以下程序程序運行后的輸出結(jié)果就是 ( )main() int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r;printf("%d,%d,%d,%d", m,n,*p,*q);A.1,2,1, B.1,2,2,1C.2,1,2,D.2,1,1,210、以下定義語句中正確的就是A、int a=b=0 ;、 char A=65+1,b='b'C、float a=1,*b=&a,*c=&

53、amp;b ; D、double a=0 、0,b=1 、1;11、以下定義語句中正確的就是C、 float a=1,*b=&a,*c=&b ; D12、以下語句組中 , 正確的就是 ( )A、 char *s;s="Olympic" BC、char *s;s="Olympic" ;13、設(shè)有定義 :double x10,*p=x;,素讀入數(shù)據(jù)的正確語句就是 ( ) A、 scanf("%f",&x6);BC、 scanf("%lf",p+6);Ddouble a=0 、0,b=1 、1;、

54、 char s7;s="Olympic"、char s7;s="0lympic"以下能給數(shù)組 x 下標(biāo)為 6 的元。、 scanf("%lf",*(x+6);、 scanf("%lf",p6);14、 假設(shè)指針pl已經(jīng)指向了某個整型變量,要使指針p2也指向同一個變量, 那么下面各項中正確的就是 ( )A、p2=*p1 B 、p2=&p1 C 、p2=*p115、以下正確的程序段就是A 、 char str20;scanf("%s",&str);C 、 char str20;scanf("%s",&str2);scanf("%s",p);scanf("%s",p2);16、下面程序段的運行

溫馨提示

  • 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

提交評論