實(shí)驗(yàn)習(xí)題答案_第1頁(yè)
實(shí)驗(yàn)習(xí)題答案_第2頁(yè)
實(shí)驗(yàn)習(xí)題答案_第3頁(yè)
實(shí)驗(yàn)習(xí)題答案_第4頁(yè)
實(shí)驗(yàn)習(xí)題答案_第5頁(yè)
已閱讀5頁(yè),還剩15頁(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)介

1、c語(yǔ)言概述1若有源程序文件t1.c,編譯后生成的目標(biāo)文件名是_t1.obj_,連接后生成的文件名是_t1.exe_,它們位于磁盤什么位置? 默認(rèn)情況下是obj和源文件在同一目錄下,exe在源文件目錄下的debug目錄下,可以在編譯環(huán)境中設(shè)置到其他地方。2程序1_3.c中輸出的10!值是多少?3628800數(shù)據(jù)與數(shù)據(jù)類型1實(shí)驗(yàn)一的程序1中,語(yǔ)句a=1+1/2+1/3+1/4;執(zhí)行后變量a的值是_1_。怎樣修改程序才能得到正確的結(jié)果?將a=1+1/2+1/3+1/4改為a=1+1/2.0+1/3.0+1/4.0;2實(shí)驗(yàn)二中你用什么樣的方式定義符號(hào)常量?還可以用什么方法定義符號(hào)常量?可以通過(guò)defi

2、ne宏定義和const常量定義兩種方式定義符號(hào)常量3直接閱讀實(shí)驗(yàn)四的程序,你認(rèn)為三條輸出結(jié)果是什么?程序運(yùn)行得到的結(jié)果是什么?能分析一下為什么是這樣的結(jié)果?4實(shí)驗(yàn)五的程序運(yùn)行時(shí),如果輸入數(shù)據(jù)10 20 40 ,運(yùn)行時(shí)會(huì)出現(xiàn)什么結(jié)果?為什么?息樣避免這樣的情況發(fā)生? 面積出現(xiàn)不可預(yù)估值,pow參數(shù)為負(fù)數(shù),即兩邊之和不大于第三邊,應(yīng)在算面積之前用if語(yǔ)句判斷。5下面程序段執(zhí)行后,問(wèn):變量a、b在內(nèi)存中所占字節(jié)數(shù)分別為_4_、_4_,其值分別為_20_、_40_。int a=-6.56; float b;b=(a=4*5,a*2),a+6;6下列定義變量的語(yǔ)句中錯(cuò)誤的是_。a) int _int;

3、b) double int_; c) char for; d) float us$;7若變量x、y已正確定義并賦值,下面符合c語(yǔ)言語(yǔ)法的表達(dá)式是_a_。a) +x,y=x- b) x+1=y c) x=x+10=x+y d) double(x)/108數(shù)字字符0的ascii的值為48,下面程序運(yùn)行后輸出結(jié)果是_。main()char a='1',b='2' printf("%c,",b+); printf("%dn",b-a); a) 3,2 b) 50,2 c) 2,2 d) 2,509設(shè)有 int x=11; 則表達(dá)式

4、 x+*1/3 的值是_。a) 3 b) 4 c) 11 d) 12順序語(yǔ)句及輸入與輸出1已有如下定義和輸入語(yǔ)句,若要求a,b,c1,c2的值分別為5、6、a和b,當(dāng)從第一列開始輸入數(shù)據(jù)時(shí),正確的數(shù)據(jù)輸入方式是 _ (<cr>表示回車)。int a,b;char c1,c2;scanf("%d%c%d%c",&a,&c1,&b,&c2);a) 5 a 6 b<cr> b) 5 a6b<cr> c) 5a6b<cr> d) 5a6 b<cr>2以下說(shuō)法正確的是_。a)輸入項(xiàng)可以為一個(gè)實(shí)

5、型常量,如scanf(“%f”,3.5);b)只有格式控制,沒(méi)有輸入項(xiàng),也能正確輸入,如scanf(“a=%d,b=%d”);c)當(dāng)輸入實(shí)型數(shù)據(jù)時(shí),格式控制部分應(yīng)規(guī)定小數(shù)點(diǎn)后的位數(shù),如scanf(“%4.2f”,&f);d)當(dāng)輸入數(shù)據(jù)時(shí),必須指明地址,如scanf(“%f”,&f);e)可以采用不同的格式符,實(shí)現(xiàn)對(duì)一個(gè)實(shí)型數(shù)據(jù)以八進(jìn)制或十六進(jìn)制形式輸入/輸出。f)整型數(shù)據(jù)不能使用%f或%lf格式符。3若a是int型變量,則表達(dá)式(a=5*6,a*3),a+8的值是 _ 。4若有定義:int b=7; float a=2.5,c=4.7; 則表達(dá)式 a+(int)(b/3*(in

6、t)(a+c)/2)%4的值為_5.5_。 5輸出長(zhǎng)整型數(shù)據(jù)使用格式符_%ld_,輸出無(wú)符號(hào)的整數(shù)用格式符_%u_ ,以指數(shù)形式輸出單精實(shí)數(shù)用格式符_%e_。6下面程序運(yùn)行時(shí)輸入:10 11<回車>,輸出_a=8,b=17_。#include<stdio.h>void main()int a,b; scanf("%o%x",&a,&b); printf("a=%d,b=%dn",a,b); 7下面程序段執(zhí)行時(shí),怎樣輸入才能讓a=10,b=20 ?_a=10,b=20_ int a,b;scanf("a=%

7、d,b=%d",&a,&b);8若a和b均為int變量,以下語(yǔ)句的功能是_交換a和b的值_。a+=b;b=a-b;a-=b;9在scanf函數(shù)調(diào)用中,可以在格式字符和%之間加一星號(hào)*,它的作用是_本輸入項(xiàng)在讀入后不賦給相應(yīng)的變量_。10a+、+a、a=a+1都能實(shí)現(xiàn)使變量a的值增1,與之等效的表達(dá)式還有_ a+=1_分支結(jié)構(gòu)1若執(zhí)行下面的程序時(shí)從鍵盤上輸入5,則輸出結(jié)果是_ main() int x; scanf("%d",&x); if(x+>5)printf("%dn",x); else printf(&quo

8、t;%dn",x-); a)7b)6c)5d)42已知a,b,m,n,c,d變量的定義如下,則執(zhí)行完下列表達(dá)式后m,n的值為_int a=3,b=4,m=0,n=0,c=3,d=4;(m=a<b)|(n=c<d);a)m=1 n=1b)m=1 n=0c)m=0 n=0d)m=0 n=13表達(dá)式(!7<5+1>0+4<5)的值是_a)3b)2c)1d)04假設(shè)在程序中,x,y,z均被定義成整型,且已賦大于1的值, 則下列能正確表示1/(xyz)的表達(dá)式是_a)1/x*y*z b)1/(x*y*z)c)1/x/y/(float)zd)1.0/x/y/z5已知

9、字母a的ascii十進(jìn)制代碼為97,則執(zhí)行以下語(yǔ)句后的輸出為_char a='a'a-;printf("%d,%cn",a+'2'-'0',a+'3'-'0');a) b,cb) a-運(yùn)算不合法,故有語(yǔ)法錯(cuò) c) 98,cd) 格式描述和輸出項(xiàng)不匹配,輸出無(wú)定值6為了避免嵌套的條件語(yǔ)句if-else的二義性,c語(yǔ)言規(guī)定:else與_配對(duì)。a) 縮排位置相同的ifb) 其之前最近的ifc) 其之后最近的ifd) 同一行上的if7若給定條件表達(dá)式(m)?(a+): (a-),則其中表達(dá)式m_a) 和

10、(m=0)等價(jià)b) 和(m=1)等價(jià)c) 和(m!=0)等價(jià)d) 和(m!=1)等價(jià)8若有說(shuō)明語(yǔ)句char s='092' 則該語(yǔ)句_a) 使s的值包含1個(gè)字符b) 說(shuō)明不合法,s的值不確定c) 使s的值包含4個(gè)字符d) 使s的值包含3個(gè)字符9設(shè)a=1,b=2,c=3,d=4,則表達(dá)式:a<b?a:c<d?a:d的結(jié)果為_a) 4b) 3c) 2d) 110有如下的變量定義:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;則以下符合c語(yǔ)言語(yǔ)法的表達(dá)式是_a) a+=a-=(b=4)*(a=3)b) x%(-3)

11、c)a=a*3=2d) y=float(i)11有以下變量定義:int k=7,x=12;則下列值為3的表達(dá)式是_a) x%=(k%=5)b) x%=(k-k%5)c) x%=k-k%5d) (x%=k)-(k%=5)12設(shè) int a=3 ; 則表達(dá)式 a<1&& - - a>1 的運(yùn)算結(jié)果和a的值分別是_a) 0和2 b) 0和3 c) 1和2 d) 1和313假定所有變量均已正確定義,下列程序段運(yùn)行后x的值是_ ok1=1;ok2=2;ok3=3;x=15; if(!ok1) x-; else if(ok2) if(ok3) x=3; else x=4;a)

12、14b) 4c) 15d) 314下面程序的輸出結(jié)果是_void main()int x=1,a=0,b=0; switch(x) case 0 :b+; case 1 :a+; case 2 :a+;b+; printf(“a=%d,b=%dn”,a,b);a) a=2,b=1b) a=1,b=1c) a=1,b=0d) a=2,b=215. 兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入6和4,則輸出結(jié)果分別是_ void main( ) int x; scanf("%d",&x); if(x+>5)printf("%d",x); else

13、printf("%dn",x-); a) 7和5 b) 6和3 c) 7和4 d) 6和416有定義:int a=1,b=3,c=5,d=4,x; 則執(zhí)行完下面一段程序后x的值是 _。if(a<b)if(c<d) x=1;else if(a<c) if( b<d) x=2; else x=3;else x=6;else x=7;a) 1 b) 2 c) 3 d) 617能正確表示a和b同時(shí)為正或同時(shí)為負(fù)的表達(dá)式是_。a) (a>=0|b>=0)&&(a<0|b<0)b) (a>=0&&b&

14、gt;=0)&&(a<0&&b<0)c) (a+b>0)&&(a+b<=0)d) a*b>018當(dāng)a=3,b=2,c=1時(shí),表達(dá)式f=a>b>c的值是 _0_ 。19當(dāng)c的值不為0 時(shí),在下列選項(xiàng)中能正確將c的值賦給變量a、b的是_。a) c=b=ab) (a=c)|(b=c)c) (a=c)&&(b=c)d) a=c=b20下面程序程序后輸出結(jié)果是_。void main()int a=3,b=2,c=1,t; if(a>b>c) t=1; else if(a<b<

15、c) t=0; else t=-1; printf("%dn",t);a) 1 b) 0 c) -1 d) 不確定的數(shù)21. 以下程序運(yùn)行后的輸出結(jié)果是_3 5 3_。void main()int a=3,b=4,c=5,t=99; if(a<b<c) t=a;a=c;c=t; if(a>c,c>b) t=b;b=a;a=t; printf("%d %d %dn",a,b,c); 22. 以下程序運(yùn)行后的輸出結(jié)果是_2 1_。void main()int x=1,y=0,a=0,b=0; switch(x) case 1:swit

16、ch(y)case 0:a+;break; case 1:b+;break; case 2:a+;b+;break; printf("%d %dn",a,b); 23有以下程序void main( ) int i=1,j=1,k=2; if(j+|k+)&&i+) printf( "%d,%d,%dn",i,j,k ); 執(zhí)行后輸出結(jié)果是_。a) 1,1,2 b) 2,2,1 c) 2,2,2 d) 2,2,324以下程序執(zhí)行后輸出結(jié)果是_。void main( ) int a=3,b=4,c=5,d=2; if(a>b) if(b

17、>c) printf("%d",d+1); else printf("%d",+d+1); printf("%dn",d); a) 2 b) 3 c) 43 d) 4425以下程序執(zhí)行后輸?shù)慕Y(jié)果是_-4_ 。main( ) int n=0,m=1,x=2; if(!n) x-=1; if(m) x-=2; if(x) x-=3;printf("%dn",x);循環(huán)控制1對(duì)下面程序段描述正確的是_。 int k=10; while(k=0) k=k-1;a) while循環(huán)執(zhí)行10次 b) 循環(huán)是無(wú)限循環(huán)c)

18、循環(huán)體語(yǔ)句一次也不執(zhí)行 d) 循環(huán)體語(yǔ)句執(zhí)行一次2語(yǔ)句while(!e);中的表達(dá)式!e等價(jià)于_.a) e=0 b) e!=1 c) e!=0 d) e=13下面程序段的運(yùn)行結(jié)果是_.int n=0;while(n+<=2); printf("%d",n);a) 2 b) 3c) 4 d) 有語(yǔ)法錯(cuò)4下面程序的運(yùn)行結(jié)果是_. #include<stdio.h> main() int num=0; while(num<=2) num+; printf("%dn",num); a)1 b)1 c) 1 d) 1 2 2 2 3 3 4

19、5以下程序段_. x=-1; do x=x*x; while(!x); a) 是死循環(huán) b) 循環(huán)執(zhí)行二次 c) 循環(huán)執(zhí)行一次 d) 有語(yǔ)法錯(cuò)誤6如下程序段 _.int x=3;doprintf("%dn",x-=2);while(!(-x); a) 輸出的是1 b) 輸出的是1和-2 c) 輸出的是3和0 d) 是死循環(huán)7下面程序的運(yùn)行結(jié)果是_.#include<stdio.h>main()int y=10; doy-;while(-y); printf("%dn",y-); a) -1 b) 1 c) 8 d) 08若i為整型變量,則以下

20、循環(huán)執(zhí)行次數(shù)是_. for(i=2;i=0;)printf("%d",i-);a) 無(wú)限次 b) 0次 c) 1次 d) 2次9執(zhí)行語(yǔ)句for(i=1;i+<4; ); 后變量i的值是_.a) 3 b) 4 c) 5 d) 不定10以下正確的描述是_.a) continue語(yǔ)句的作用是結(jié)束整個(gè)循環(huán)的執(zhí)行b) 只能在循環(huán)體內(nèi)和switch語(yǔ)句體內(nèi)使用break語(yǔ)句c) 在循環(huán)體內(nèi)使用break語(yǔ)句或continue語(yǔ)句的作用相同d) 從多層循環(huán)嵌套中退出時(shí),只能使用goto語(yǔ)句11. 運(yùn)行下面程序時(shí),從鍵盤輸入20357<cr>,則下面程序的運(yùn)行結(jié)果是_66

21、277879_。#include<stdio.h>main( )int c; while(c=getchar()!='n') switch(c-'2')case 0: case 1: putchar(c+4); case 2: putchar(c+4); break; case 3: putchar(c+3); default: putchar(c+2); break; putchar('n'); 12.下面程序段是從鍵盤輸入的字符串中統(tǒng)計(jì)數(shù)字字符的個(gè)數(shù),用換行符結(jié)束循環(huán)。請(qǐng)?zhí)羁铡?int n=0,c; c=getchar(); wh

22、ile(_c!='n'_) if(_c>='0'&&c<='9'_)n+; c=getchar(); 13下面程序的功能是用"輾轉(zhuǎn)相除法"求兩個(gè)正整數(shù)的最大公約數(shù)。請(qǐng)?zhí)羁铡?#include<stdio.h> main() int r,m,n; scanf("%d%d",&m,&n); if(m<n)_ r=m;m=n;n=r;_; /* 保證m總是是大于n */ r=m%n; while(r)m=n;n=r;r=_ m%n_; printf(&

23、quot;%dn",n); 14下面程序的運(yùn)行結(jié)果是_s=254_. #include <stdio.h> main() int a,s,n,count; a=2;s=0;n=1;count=1; while(count<=7)n=n*a;s=s+n;+count; printf("s=%d",s); 15下面程序段的運(yùn)行結(jié)果是_a=-5_.i=1;a=0;s=1;doa=a+s*i;s=-s;i+;while(i<=10);printf("a=%d",a);16下面程序段的運(yùn)行結(jié)果是_8_. i=1;s=3; dos+

24、=i+; if(s%7=0)continue; else +i; while(s<15); printf("%d",i);17下面程序用于打印出所有的“水仙花數(shù)”。所謂“水仙花數(shù)”是指一個(gè)3位數(shù),其各位數(shù)字立方和等于該數(shù)本身。完成程序。main( )int i,a,b,c; for(i=100;i<1000;i+ )a = i/100; b =_i/10%10_; c = i%10; if(_i=a*a*a+b*b*b+c*c*c_) printf( "%d ", i);數(shù)組1. 定義如下變量和數(shù)組 :int k ;int a33= 1, 2

25、, 3, 4, 5, 6, 7, 8, 9 ;則下面語(yǔ)句的輸出結(jié)果是( )for(k=0;k<3;k+) printf(%d,ak2-k);a、357b、369 c、 159d、 1472. 執(zhí)行下面的程序段后,變量k中的值為()int k=3,s2;s0=k;k=s1*10;a、不定值b、33c、30d、103. 設(shè)有數(shù)組定義:char array ="china"; 則數(shù)組 array所占的空間為( )a、4個(gè)字節(jié) b、5個(gè)字節(jié) c、6個(gè)字節(jié)d、7個(gè)字節(jié)4. 如下程序的輸出結(jié)果是( )void main( ) int n5=0,0,0,i,k=2;for(i=0;

26、i<k;i+)ni=ni+1;printf("%dn",nk);a、不確定的值b、2c、1d、05. 有如下程序void main( ) int a33=1,2,3,4,5,6,i,j,s=0;for(i=1;i<3;i+)for(j=0;j<=i;j+)s+=aij;printf("%dn",s);該程序的輸出結(jié)果是()a、18b、19c、20d、216. 以下程序的輸出結(jié)果是()void main( ) inti,x33=1,2,3,4,5,6,7,8,9;for(i=0;i<3;i+)printf("%d,&quo

27、t;,xi2-i);a、1,5,9,b、1,4,7,c、3,5,7,d、3,6,9,7. 當(dāng)執(zhí)行下面的程序時(shí),如果輸入abc,則輸出結(jié)果是()#include "stdio.h"#include "string.h"void main( ) char ss10="1,2,3,4,5"gets(ss);strcat(ss,"6789");printf("%sn",ss);a、abc6789b、abc67c、12345abc6d、abc4567898以下程序段的輸出結(jié)果是( )char s = &q

28、uot;141141abct"printf("%dn",strlen(s);a、9b、12c、13d、149. 下面是對(duì)s的初始化,其中不正確的是( )a、char s5=“abc” ;b、char s5=a,b,c;c、char s5=“”; d、char s5=”abcde”10. 以下程序的輸出結(jié)果是_ abc_void main( )char s ="abcdef" s3= '0'printf("%sn",s);11. 下列程序段的輸出結(jié)果是_ hello_void main( ) char b=&q

29、uot;hello,you"b5=0;printf("%s n", b );12. 在c語(yǔ)言中,二維數(shù)組元素在內(nèi)存中的存放順序是_行優(yōu)先_13. 設(shè)有定義語(yǔ)句 “ int a34=1,2,3 ” ,則a11值為_0_,a21的值為_0_ 14. 若在程序中用到 “ putchar() ” 函數(shù)時(shí),應(yīng)在程序開頭寫上包含命令#include <stdio.h>_ ,若在程序中用到 “ strlen() ” 函數(shù)時(shí),應(yīng)在程序開頭寫上包含命令_#include string.h_15. 下面程序的功能是輸出數(shù)組s中最大元素的下標(biāo),請(qǐng)?zhí)羁铡?void main(

30、) int k,p; int s=1,-9,7,2,-10,3; for(p=0,k=p;p<6;p+) if (sp>sk) _k=p_ ; printf("%dn",k); 16. 以下程序執(zhí)行時(shí)輸入language programming<cr>的結(jié)果是_language_ #include <stdio.h> void main() char str30; scanf("%s",str); printf("str=%sn",str); 17. 以下程序可把輸入的十進(jìn)制長(zhǎng)整型數(shù)以十六進(jìn)制數(shù)的形

31、式輸出,請(qǐng)?zhí)羁铡?void main() char b17="0123456789abcdef" int c64,d,i=0,base=16; long n; printf("enter a number:n"); scanf("%1d",&n); doci= _ n % 16_;i+;n=n/base;while(n!=0); printf("transmite new base:n"); for (-i;i>=0;-i)d=ci;printf("%c",b _ d_ ; 18.

32、 以下數(shù)組定義中,錯(cuò)誤的是( c )a、 int a=1,2,3;b、 int a5=1,2,3;c、 int a3=1,2,3,4;d、 int a5,b;19以下數(shù)組定義中,正確的是( b )a、 int n=4,an=1,2,3,4; b、 int a2=1,2,3,4;c、 int a2=1,2,3,4;d、 int a=1,2,3,4;20.設(shè)有如下定義:int a810;在c中一個(gè)整數(shù)占用4字節(jié),設(shè)a的起始地址為1000,則a11的地址是( )a、 1000b、 1004c、 1036 d、 104421. 有數(shù)組定義:int a 3=1,2,3,4,5,6,7,8,9,則a12的

33、值是( )a、 2b、 5c、 6d、 822.設(shè)已定義 char str6='a','b','0','c','d','0' 執(zhí)行語(yǔ)句 printf("%s",str) 后,輸出結(jié)果為( )a、 ab、 abc、 abcdd、 ab0cd023引用數(shù)組元素時(shí),數(shù)組元素下標(biāo)不可以是( )a、 字符常量b、 整型變量 c、 字符串d、 算術(shù)表達(dá)式24下面程序段的運(yùn)行結(jié)果是( )void main()char a="abcd",b="123"st

34、rcpy(a,b);printf("%sn",a);a、 123 b、 123dc、 abcd d、 abcd12325下面程序段的運(yùn)行結(jié)果是( )void main()char a="123",b="abcd"if(a>b) printf("%sn",a);else printf("%sn",b);a、 123 b、 編譯時(shí)出錯(cuò)c、 abcdd、 運(yùn)行時(shí)出錯(cuò)函數(shù) 1. 有如下程序#include<stdio.h>long fib( int n)if(n>2) retur

35、n(fib(n-1)+fib(n-2);else return(2);void main( ) printf("%dn",fib(3);該程序的輸出結(jié)果是()a、2b、 4c、 6d、8 2. 在c語(yǔ)言中,函數(shù)的隱含存儲(chǔ)類別是()a、 autob、 staticc、 externd、 無(wú)存儲(chǔ)類別3. 以下所列的各函數(shù)首部中,正確的是()a、 void play(var:integer,var b:integer)b、 void play(int a,b)c、 void play(int a,int b)d、 sub play(a as integer,b as intege

36、r)4. 以下程序的輸出結(jié)果是()a、 0b、 29c、 31d、 無(wú)定值fun(int x,int y,int z) z=x*x+y*y;main( ) int a=31;fun(5,2,a);printf("%d",a);5. 以下程序的輸出結(jié)果是()f(int b ,int m,int n) int i,s=0; for(i=m;i<n;i=i+2) s=s+bi; return s; main( ) int x,a =1,2,3,4,5,6,7,8,9; x=f(a,3,7); printf("%dn",x); a、10b、18c、8d、1

37、56. 以下程序的輸出結(jié)果是()a、1b、2c、3d、4long fun( int n) long s;if(n=1 | n=2)s=2;else s=n-fun(n-1);return s;main( ) printf("%ldn",fun(3); 7. 以下程序的輸出結(jié)果是()int f( ) static int i=0; int s=1; s+=i;i+; return s; main( ) int i,a=0; for(i=0;i<5;i+) a+=f(); printf("%dn",a); a、20b、24c、25d、158. 以下程序

38、的功能是調(diào)用函數(shù)fun計(jì)算:m=1-2+3-4+9-10,并輸出結(jié)果。請(qǐng)?zhí)羁铡nt fun( int n) int m=0,f=1,i;for(i=1; i<=n; i+) m+=i*f;f= _-f_ return m;main() printf("m=%dn", _fun(10)_ ); 9. 以下程序輸出的最后一個(gè)值是_120_int ff(int n) static int f=l;f=f*n;return f

39、;main( ) int i;for(i=1;i<=5;i+ ) printf("%dn",ff(i);10. 以下函數(shù)的功能是:求x的y次方,請(qǐng)?zhí)羁?。double fun( double x,int y) int i;double z;for(i=1, z=x; i<y;i+) z=z*_x_;return z;11. 以下正確的說(shuō)法是()a、用戶若需要調(diào)用標(biāo)準(zhǔn)庫(kù)函數(shù),調(diào)用前必須重新定義 b 、用戶可以重新定義標(biāo)準(zhǔn)庫(kù)函數(shù),如若此,該函數(shù)將失去原有定義 c 、系統(tǒng)不允許用戶重新定義標(biāo)準(zhǔn)庫(kù)函數(shù) d 、用戶若需要使用標(biāo)準(zhǔn)庫(kù)函數(shù),調(diào)用前不必使用預(yù)處理命令將該函數(shù)所在的

40、頭文件包含編譯,系統(tǒng)會(huì)自動(dòng)調(diào)用。 12. c 語(yǔ)言規(guī)定,簡(jiǎn)單變量做實(shí)參時(shí),它和對(duì)應(yīng)的形參之間的數(shù)據(jù)傳遞方式是()a、地址傳遞 b 、值傳遞 c 、有實(shí)參傳給形參,再由形參傳給實(shí)參 d 、由用戶指定傳遞方式 13. 下面程序的輸出是()    int i=2 ;     printf(“%d%d%d”,i*=2,+i,i+) ; a、 8 , 4 , 2 b 、 8 , 4 , 3 c、 4 , 4 , 5 d 、 4 , 5 , 6 14. 以下不正確的說(shuō)法是()a 、 register 變量可以提高變量使用的執(zhí)行

41、效率 b 、 register 變量由于使用的是 cpu 的寄存器,其數(shù)目是有限制的 c 、 extern 變量定義的存儲(chǔ)空間按變量類型分配 d 、全局變量使得函數(shù)之間的 “ 耦合性 ” 更加緊密,不利于模塊化的要求 15. c 語(yǔ)言函數(shù)返回類型的默認(rèn)定義類型是_int_ 16. 函數(shù)的實(shí)參傳遞到形參有兩種方式:_傳值_ 和_傳址_ 。 17. c 語(yǔ)言變量按其作用域分為_全局變量_和_局部變量_ 。按其生存期分為_靜態(tài)_和_動(dòng)態(tài)_ 。 18. 已知函數(shù)定義 : , 其函數(shù)聲明的兩種寫法為_ void dothat(int n,double x);_ , _ void dothat(int ,

42、double );_ 。 19. c 語(yǔ)言變量的存儲(chǔ)類別有_auto_ ,_static_ ,_register_ 和_extern_ 。 20. 在一個(gè) c 程序中,若要定義一個(gè)只允許本源程序文件中所有函數(shù)使用的全局變量,則該變量需要定義的存儲(chǔ)類別為 _extern_。結(jié)構(gòu)體習(xí)題1. 下面程序的運(yùn)行結(jié)果是_. void main() struct cmplxint x; int y; cnum2=1,3,2,7; printf("%dn",cnum0.y/cnum0.x*cnum1.x); a)0 b)1 c)3 d)62. 以下程序的運(yùn)行結(jié)果是_10,x_. struc

43、t n int x; char c; ;void main() struct n a=10,'x' func(a); printf("%d,%c",a.x,a.c); func(struct n b) b.x=20; b.c='y' 3. 根據(jù)下面的定義,能打出字母m的語(yǔ)句是 。struct person char name9;int age;struct person class10= john,17, paul,19, mary,18, adam,16;a.printf(%cn,);b.printf(%cn,clas

44、1);c.printf(%cn,1);d.printf(%cn,0;指針類型數(shù)據(jù)一、選擇題1. 變量的指針,其含義是指該變量的_. a)值 b)地址 c)名 d)一個(gè)標(biāo)志2. 若有說(shuō)明;int *p,m=5,n;以下正確的程序段的是_.a)p=&n; b)p=&n; scanf("%d",&p); scanf("%d",*p); c)scanf("%d",&n); d)p=&n; *p=n; *p=m;3. 若有以下定義,則對(duì)a數(shù)組元素的

45、正確引用是_. int a5,*p=a; a) *&a5 b) a+2 c) *(p+5) d) *(a+2)4. 若有定義:int a23,則對(duì)a數(shù)組的第i行j列元素地址的正確引用為_. a) *(ai+j) b) (a+i) c) *(a+j) d) ai+j5. 下面程序段的運(yùn)行結(jié)果是_. char *s="abcde" s+=2;printf("%d",s); a)cde b)字符'c' c)字符'c'的地址 d)無(wú)確定的輸出結(jié)果6. 以下正確的程序段是_. a)char str20; b)char *p;

46、 scanf("%s",&str); scanf("%s",p); c)char str20; d)char str20,*p=str; scanf("%s",&str2); scanf("%s",p2);7. 若有說(shuō)明語(yǔ)句 char a="it is mine" char *p="it is mine" 則以下不正確的敘述是_. a)a+1表示的是字符t的地址 b)p指向另外的字符串時(shí),字符串的長(zhǎng)度不受限制 c)p變量中存放的地址值可以改變 d)a中只能存放

47、10個(gè)字符 8. 下面程序的運(yùn)行結(jié)果是_. #include <stdio.h> #include <string.h> main() char *s1="abdeg" char *s2="abdeg" s1+=2;s2+=2; printf("%dn",strcmp(s1,s2); a)正數(shù) b)負(fù)數(shù) c)零 d)不確定的值9. 已知說(shuō)明語(yǔ)句int (*p) ;,則下列敘述正確的是:_。a) p是一個(gè)指針變量,它指向一個(gè)整型一維數(shù)組b) p是一個(gè)指針變量,它指向一個(gè)整型數(shù)據(jù)c) p是一個(gè)指針數(shù)組d) 以上都不對(duì)10. 已知有聲明語(yǔ)句char s110= abcde,s310;以下語(yǔ)句中能將s1

溫馨提示

  • 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)論