C程序的設計習題集(帶答案)_第1頁
C程序的設計習題集(帶答案)_第2頁
C程序的設計習題集(帶答案)_第3頁
C程序的設計習題集(帶答案)_第4頁
C程序的設計習題集(帶答案)_第5頁
已閱讀5頁,還剩67頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、選擇題1 結(jié)構化程序設計的 3 種結(jié)構是 (D)A)順序結(jié)構、選擇結(jié)構、轉(zhuǎn)移結(jié)構B)分支結(jié)構、等價結(jié)構、循環(huán)結(jié)構C)多分支結(jié)構、賦值結(jié)構、等價結(jié)構D )順序結(jié)構、選擇結(jié)構、循環(huán)結(jié)構2 以下敘述中正確的是(C)A ) C 語言比其他語言高級B) C語言可以不用編譯就能被計算機識別執(zhí)行C) C 語言以接近英語國家的自然語言和數(shù)學語言作為語言的表達形式D) C 語言出現(xiàn)的最晚,具有其他語言的一切優(yōu)點3 C 語言中用于結(jié)構化程序設計的 3 種基本結(jié)構是(A)A)順序結(jié)構、選擇結(jié)構、循環(huán)結(jié)構B ) if,switch,breakC) for,while,do-whileD ) if,for,contin

2、ue4 C 語言中最簡單的數(shù)據(jù)類型包括(B)A)整型、實型、邏輯型B)整型、實型、字符型C)整型、字符型、邏輯型D )字符型、實型、邏輯型5 .若變量已正確定義并賦值,以下符合C語言語法的表達式是(B)A) a:=b+1B) a=b=c+2C) int 18.5%3D ) a=a+7=c+b6.下列可用于C語言用戶標識符的一組是(B)A ) void, define, WORDB) a3_b3, _123,CarC) For, -abc, IF CaseD) 2a, DO, sizeof7 . C語言中運算對象必須是整型的運算符是(A)A) %=B) /C) =D) <=8 .若變量a,

3、i已正確定義,且i已正確賦值,合法的語句是(B)A) a= =1B) +i ;C) a=a+=5 ;D) a=int (i) ;9 .已知int t=0 ;while ( t=1 ).則以下敘述正確的是(B)A )循環(huán)控制表達式的值為0B)循環(huán)控制表達式的值為1C)循環(huán)控制表達式不合法D )以上說法都不對10 若變量已正確說明為 float 型,要通過語句scanf("%f%f%f",&a,&b,&c);給a賦予10.0 , b賦予22.0 , c賦予33.0 ,下列不正確的輸入形式是(B)A ) 10< 回車 >22< 回車 &g

4、t;33< 回車 >B) 10.0,22.0,33.0< 回車 >C) 10.0< 回車 >22.0< 空格 >33.0< 回車 >D) 10空格22回車33回車11 .有如下程序:main ()(int x=1,a=0,b=0;switch (x)(case 0: b+;case 1: a+;case 2: a+;b+;n",a,b);printf ("a=%d,b=%d該程序的輸出結(jié)果是(A)A) a=2,b=1B) a=1,b=1C) a=1,b=0D) a=2,b=212 .有以下程序main()int i

5、=1,j=1,k=2;if(j+|k+)&&i+)printf("%d,%d,%dn",i,j,k);執(zhí)行后輸出結(jié)果是(C)A) 1,1,2B) 2,2,1C) 2,2,2D) 2,2,313 有如下程序main()float x=2.0,y;if ( x<0.0 ) y=0.0;else if (x<10.0 ) y=1.0/x;else y=1.0;printf ( "%fn",y ) ;該程序的輸出結(jié)果是(C)A) 0.000000B) 0.250000C) 0.500000D) 1.00000014 有如下程序:mai

6、n()int n=9;while(n>6)n-;printf("%d",n);該程序的輸出結(jié)果是(B)A) 987B) 876C) 8765D) 9876A) int i=100;while(1)i=i 0+1;if(i>100)break;B) for(;);C) int k=10000;dok+;while(k>10000);D) int s=36 ;while(s)-s;16 設 int x=1,y=1; 表達式(!x|y-) 的值是 (B)A ) 0B) 1C) 2D) -1(D)17 若已定義的函數(shù)有返回值,則以下關于該函數(shù)調(diào)用的敘述中錯誤的是A

7、)函數(shù)調(diào)用可以作為獨立的語句存在B)函數(shù)調(diào)用可以作為一個函數(shù)的實參C)函數(shù)調(diào)用可以出現(xiàn)在表達式中D )函數(shù)調(diào)用可以作為一個函數(shù)的形參18 有以下程序float fun(int x,int y)return(x+y);main()int a=2,b=5,c=8;printf("%3.0fn",fun(int)fun(a+c,b),a-c);程序運行后的輸出結(jié)果是(B)A)編譯出錯B)9C)21D)9.019 若有以下調(diào)用語句,則不正確的 fun 函數(shù)的首部是(D)int a50,n; fun(n,&a9); A)void fun(int m,int x)B)void

8、fun(int s,int h41)C)void fun(int p,int *s)D)void fun(int n,int a)20 fseek 函數(shù)的正確調(diào)用形式是(B)A)fseek( 文件指針,起始點,位移量)B)fseek( 文件指針,位移量,起始點)C)fseek( 位移量,起始點,文件指針)D)fseek( 起始點,位移量,文件指針)21 若 fp 是指向某文件的指針,且已讀到文件末尾,則函數(shù)feof(fp) 的返回值是(C)A)EOFB)-1C)1D)NULL22 若有說明語句: char c='72' ;則變量 c (A)A )包含1 個字符B)包含2個字符C

9、)包含3個字符D )說明不合法, c 的值不確定23 若有說明 int a34; 則 a 數(shù)組元素的非法引用是(D)A) a02*1B) a13C) a4-20D) a0424 設有以下說明語句struct stuint a;float b;stutype;則下面的敘述不正確的是(C)A) struct 是結(jié)構體類型的關鍵字B) struct stu 是用戶定義的結(jié)構體類型C) stutype 是用戶定義的結(jié)構體類型名D ) a 和 b 都是結(jié)構體成員名(C)25 在 C 語言中,引用數(shù)組元素時,其數(shù)組下標的數(shù)據(jù)類型允許是A)整型常量B)整型表達式C)整型常量或整型表達式D )任何類型的表達式

10、26 若運行時給變量x 輸入 12 ,則以下程序的運行結(jié)果是(A)main()int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%dn",y);A)0B)22C)12D)1027 以下說確的是(C)A)C 語言程序總是從第一個的函數(shù)開始執(zhí)行B)在C語言程序中,要調(diào)用函數(shù)必須在 main()函數(shù)中定義C)C 語言程序總是從main() 函數(shù)開始執(zhí)行D)C 語言程序中的 main() 函數(shù)必須放在程序的開始部分28 .表達式0x13A0x17的值是(A)A ) 0x04B) 0x13C) 0xE8D

11、) 0x1729 有以下程序main()int a=3, b=4;printf("%d 'n", (a+)*(b+);程序運行后的輸出結(jié)果是(A)A)12B)15C)16D)2030 下列程序執(zhí)行后的輸出結(jié)果是(A)void func(int *a,int b)b0=*a+6;main()int a,b5;a=0; b0=3;func(&a,b);printf("%d 'n",b0);A)6B)7C)8D)931 若有下面的程序段:char s="china"char *p; p=s;則下列敘述正確的是(D)A

12、 ) s 和 p 完全相同B)數(shù)組s中的容和指針變量p中的容相等C) s數(shù)組長度和p所指向的字符串長度相等D) *p 與 s0 相等32 以下程序中函數(shù)sort 的功能是對a 數(shù)組中的數(shù)據(jù)進行由大到小的排序void sort(int a,int n)int i,j,t;for(i=0;i<n-1;i+)for(j=i+1;j<n;j+) if(ai<a j) t=ai;ai=aj;aj=t;main()int aa10=1,2,3,4,5,6,7,8,9,10,i;sort(&aa3,5);for(i=0;i<10;i+)printf("%d,&quo

13、t;,aai);printf("n");程序運行后的輸出結(jié)果是(C)A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,33 以下程序的運行結(jié)果是(A)struct dateint year,month,day;today;main()printf("%d 'n",sizeof(struct date);A)6B)8C)10D)1234 若有語句 int *point,a=4; 和 point=&a; 下面均

14、代表地址的一組選項是(D)A) a,point,*&aB) &*a,&a,*pointC) *&point,*point,&aD ) &a,&*point,point35 在調(diào)用函數(shù)時,如果實參是簡單的變量,它與對應形參之間的數(shù)據(jù)傳遞方式是 (B)A)地址傳遞B)單向值傳遞C)由實參傳形參,再由形參傳實參D )傳遞方式由用戶指定36 fun(char *p2, char *p1)while(*p2=*p1)!='0')p1+;p2+;函數(shù)的功能是(A)A)將pl所指字符串復制到p2所指存空間B) 將 p1 所指字符串的地址

15、賦給指針 p2C) 對 p1 和 p2 兩個指針所指字符串進行比較D)檢查pl和p2兩個指針所指字符串中是否有0'37 若執(zhí)行下述程序時,若從鍵盤輸入6 和 8 時,結(jié)果為 (B)main()int a,b,s;scanf("%d%d",&a,&b);s=aif(a<b)s=b;s*=s;printf("%d",s);A)36B)64C)48D) 以上都不對38 fscanf 函數(shù)的正確調(diào)用形式是(D)A)fscanf(fp, 格式字符串,輸出表列);B)fscanf( 格式字符串 ,輸出表列 ,fp);C)fscanf(

16、格式字符串,文件指針,輸出表列 );D)fscanf( 文件指針,格式字符串,輸入表列);39 .下列關于C語言數(shù)據(jù)文件的敘述中正確的是(D)A)文件由ASCII碼字符序列組成,C語言只能讀寫文本文件B)文件由二進制數(shù)據(jù)序列組成,C語言只能讀寫二進制文件C)文件由記錄序列組成,可按數(shù)據(jù)的存放形式分為二進制文件和文本文件D )文件由數(shù)據(jù)流形式組成,可按數(shù)據(jù)的存放形式分為二進制文件和文本文件40 有以下程序void ss(char *s,char t)while(*s)if(*s=t)*s=t-'a'+'A's+;main()char str1100="a

17、bcddfefdbd",c='d'ss(str1,c); printf("%sn",str1);程序運行后的輸出結(jié)果是(B)A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd41 struct linkint data;struct link *next;a,b,c,*p,*q;c。且變量 a 和 b 之間已有如下圖所示的鏈表結(jié)構:指針p 指向變量 a,q 指向變量則能夠把 c 插入到 a 和 b 之間并形成新的鏈表的語句組是:(D)A)a.next=c; c.next=b;B)p.next=q

18、; q.next=p.next;C)p->next=&c; q->next=p->next;D)(*p).next=q; (*q).next=&b;42 在設計程序時,應采納的原則之一是(D)A )不限制 goto 語句的使用B)減少或取消注解行C)程序越短越好D )程序結(jié)構應有助于讀者理解43 程序設計語言的基本成分是數(shù)據(jù)成分、運算成分、控制成分和 (D)A)對象成分B)變量成分C)語句成分D )傳輸成分44 下列不屬于軟件工程的 3 個要素的是(D)A)工具B)過程C)方法D )環(huán)境45 下列敘述中正確的是(D)A ) C 語言編譯時不檢查語法B) C 語

19、言的子程序有過程和函數(shù)兩種C) C 語言的函數(shù)可以嵌套定義D ) C 語言的函數(shù)可以嵌套調(diào)用46 在 C 語言中,退格符是 (D)A) nB) tC) fD) b48 以下敘述中正確的是(A)A )構成C 程序的基本單位是函數(shù)B)可以在一個函數(shù)中定義另一個函數(shù)C) main ()函數(shù)必須放在其他函數(shù)之前D )所有被調(diào)用的函數(shù)一定要在調(diào)用之前進行定義49 在 C 程序中,判邏輯值時,用 "非 0"表示邏輯值"真" , 又用 "0" 表示邏輯值"假”。在求邏輯值時,用(A)分別表示邏輯表達式值為"真"和&qu

20、ot;假”。A )10B)01C)非0非0D)1150 在 C 語言中,運算對象必須是整型數(shù)的運算符是 (A)A) %B) C) %和D) *51 字符型數(shù)據(jù)在機器中是用 ASCII 碼表示的, 字符 "5" 和"7" 在機器中表示為 (C)A) 10100011 和 01110111B) 01000101 和01100011C) 00110101 和 00110111D) 01100101 和 0110011152 若已定義: int a=25,b=14,c=19; 以下三目運算符(?:)所構成語句的執(zhí)行后a<=25&&b-<

21、;=2&&c?printf("*a=%d,b=%d,c=%dn",a,b,c):printf("#a=%d,b=%d,c=%dn",a,b,c); 程序輸出的結(jié)果是(C)A) *a=25,b=13,c=19B) *a=26,b=14,c=19C) # a=25,b=13,c=19D) # a=26,b=14,c=1953 若有定義: int a=7;float x=2.5,y=4.7; 則表達式 x+a%3*(int)(x+y)%2/4的值是 (A)A) 2.500000B) 2.750000C) 3.500000D) 0.0000005

22、4 下列程序段的輸出結(jié)果是: (C)int a=1234;float b=123.456;double c=12345.54321;printf("-,%2.1f,%2.1f",a,b,c);A)無輸出B) 12 , 123.5,12345.5C) 1234,123.5,12345.5D) 1234,123.4,1234.555 若運行以下程序時,從鍵盤輸入 ADescriptor (表示回車) ,則下面程序的運行結(jié)果是(D)#includemain ()char c;int v0=1,v1=0,v2=0;doswitch ( c=getchar () )case '

23、;a':case 'A':case 'e':case 'E':case 'i':case 'I':case 'o':case 'O':case 'u':case 'U':v1+=1;default:v0+=1;v2+=1;while ( c!='n'printf ("v0=%d,v1=%d,v2=%dn",v0,v1,v2 );A v0=7,v1=4,v2=7B v0=8,v1=4,v2=8C v0=11,v

24、1=4,v2=11D v0=13,v1=4,v2=1256 設有以下程序段int x=0,s=0;while ( !x!=0 )s+=+x;printf ( "%d",s ) ;則(B)A )運行程序段后輸出0B)運行程序段后輸出1C)程序段中的控制表達式是非法的D )程序段執(zhí)行無限次57 執(zhí)行下面的程序段后,變量k 中的值為 (A)int k=3, s2;s0=k; k=s1*10;A)不定值B) 33C) 30D) 1058 以下程序段的描述,正確的是(C)x=-1;dox=x*x;while ( !x) ;A)是死循環(huán)B)循環(huán)執(zhí)行兩次C)循環(huán)執(zhí)行一次D )有語法錯誤5

25、9 以下有錯誤的是(D)A)main ()int x,y,z;x=0;y=x-1;z=x+y;B)main ()int x,y,z;x=0,y=x+1;z=x+y;C)main ()int x;intint y;x=0,y=x+1;z=x+y;D)main ()int x,y,z;x=0;y=x+1;z=x+y,60 有如下程序段int a=14,b=15,x;char c='A'x=(a&&b)&&(c<'B');執(zhí)行該程序段后, x 的值為 (D)A) tureB) falseC) 0D) 161 下列程序執(zhí)行后的輸出結(jié)

26、果是(C)void func1(int i);void func2(int i);char st="hello,friend!"main ()int i=0;func1(i);printf("n");void func1(int i)printf("%c",sti);if(i<3)i+=2;func2(i);void func2(int i) printf("%c",sti);if(i<3)i+=2;func1(i);A) helloB) helC) hloD) hlm62 .以下函數(shù)返回數(shù)組a中最大值

27、所在的下標值fun(int *a,int n)int i,j=0,p;P=j;for (i=j;i<n;i+ )if (a 門 >a pl);return ( p ) ;在下劃線處應填入的容是(D)A) i=pB) a p =a iC) p=jD) p=i63 下面說明不正確的是(D)A) char a10="china"B) char a10,*p=a;p="china"C) char *a;a="china"D) char a10,*p;p=a="china"64 以下程序的輸出結(jié)果是(B)#inc

28、ludevoid prt(int *x,int *y,int *z)printf("%d,%d,%dn",+*x,+*y,*(z+);main()int a=10,b=40,c=20;prt(&a,&b,&c);prt(&a,&b,&c);A)11,42,3112,22,41B)11,41,2012,42,20C)11,21,4011,21,21D)11,41,2112,42,2265 若有函數(shù)部說明: int a34; 則數(shù)組 a 中各元素 (C)A )可在程序的運行階段得到初值0B)可在程序的編譯階段得到初值 0C)不能得

29、到確定的初值D )可在程序的編譯或運行階段得到初值066 有如下程序main()char s="ABCD",*p;for(p=s+1;p<s+4;p+)printf("%sn",p);該程序的輸出結(jié)果是(D)A) ABCDBCDCDDB) ABCDC) BCDD) BCDCD67 下列程序執(zhí)行后的輸出結(jié)果是(B)main()int a33,*p,i;p=&a00;for(i=1; i<9; i+)pi=i+1;printf("%dn",a12);A ) 3B) 6C) 9D )隨機數(shù)68 定義如下變量和數(shù)組:int

30、 k;int a33=9,8,7,6,5,4,3,2,1;則下面語句的輸出結(jié)果是 (B)for ( k=0;k<3;k+ ) printf ( "%d",akk ) ;A ) 7 5 3B) 9 5 1C) 9 6 3D) 7 4 169 下列程序執(zhí)行后的輸出結(jié)果是(A)main ()char arr 2 4 ;strcpy ( arr,"you" ) ; strcpy (arr 1 ,"me" ) ;arr 0 3 = & ;printf ("%s'n",arr);A) you&me

31、B) youC) meD) err70 有以下函數(shù)char fun ( char *p ) return p;該函數(shù)的返回值是(B)A)無確切的值B)形參p中存放的地址值C) 一個臨時存儲單元的地址D )形參p 自身的地址值71 以下正確的說法是(C)A)定義函數(shù)時,形參的類型說明可以放在函數(shù)體B) return 后邊的值不能為表達式C)如果函數(shù)值的類型與返回值類型不一致,以函數(shù)值類型為準D )如果形參與實參類型不一致,以實參類型為準72 有以下程序int f (int n )if ( n=1 ) return 1;else return f ( n-1 ) +1;main ()int i,j

32、=0;for ( i=1;i<3;i+ ) j+=f (i ) ;printf ("%d'n",j);程序運行后的輸出結(jié)果是(B)A ) 4B) 3C) 2D) 173 設有如下定義:struct skint a;float b;data;int *p;若要使 P 指向 data 中的 a 域,正確的賦值語句是 (C)A) p=&a;B) p=data.a;C) p=&data.a;D ) *p=data.a;74 以下對結(jié)構體類型變量的定義中,不正確的是(C)A)typedef struct aaint n;float m;AA;AA tdl

33、;B)#define AA struct aaAAint n;float m;tdl;C)structint n;float m; aa;struct aa tdl;D ) structint n;float m;tdl;75 若說明 int *p,n; 則通過語句 scanf 能夠正確讀入數(shù)據(jù)的程序段是 (D)A) p=&n;scanf ("%d",&p ) ;B) p=&n;scanf ( "%d",*p ) ;C) scanf ("%d",n ) ;D) p=&n;scanf ("%d&

34、quot;,p ) ;76 在下述程序中,判斷i>j 共執(zhí)行的次數(shù)是(D)main ()int i=0, j=10, k=2, s=0;for( ;)i+=k;if (i>j )printf ( "%d",s ) ;break; s+=i;A 4B 7C 5D 677 以下 4 個選項中,不能看做一條語句的是(D)A ;B a=5,b=2.5,c=3.6;C if ( a<5;D if ( b!=5x=2;y=6;78 .在C語言中,變量的隱含存儲類別是(A)A autoB staticC externD 無存儲類別79 若有以下程序#includevoi

35、d f(int n);main()void f(int n);f(5);void f(int n)printf("%d n",n);則以下敘述中不正確的是(C)A) 若只在主函數(shù)中對函數(shù)f 進行說明,則只能在主函數(shù)中正確調(diào)用函數(shù)fB) 若在主函數(shù)前對函數(shù)f 進行說明, 則在主函數(shù)和其后的其他函數(shù)中都可以正確調(diào)用函數(shù) fC) 對于以上程序,編譯時系統(tǒng)會提示出錯信息:提示對f 函數(shù)重復說明D) 函數(shù) f 無返回值,所以可用 void 將其類型定義為無返回值型80 若有下面的說明和定義struct testint ml;char m2;float m3;union uuchar

36、ul 5 ;int u2 2 ; ua; myaa;則 Turbo C 中, sizeof ( struct test )的值是 (A)A ) 12B) 16C) 14D) 981 以下程序的輸出是(C)#include<stdio.h>struct stint x;int *y; *p;int dt4= 10,20,30,40 ;struct st aa4= 50,&dt0,60,&dt0,60,&dt0,60,&dt0;main()p=aa;printf("%dn",+(p->x);getch();A 10B 11C 5

37、1D 60(B)82 .若有運算符<<,sizeofF,&二,則它們按優(yōu)先級由高至低的正確排列次序是A ) sizeof,&=,<<,AB) sizeof,vv,A,&=C A,<<,sizeof,&=D vv,A,&=,sizeof83 .函數(shù) fseek (pf, OL,SEEK_END)中的 SEEK_END 代表的起始點是(B)A)文件開始B)文件末尾C)文件當前位置D 以上都不對84 有以下程序#include main ()FILE *fp; int i=20,j=30,k,n;fp=fopen ( &qu

38、ot;d1.dat","w" ) ;fprintf ( fp,"%dn",i ) ;fprintf ( fp,"%dn",j ) ;fclose ( fp ) ;fp=fopen ( "d1.dat","r" ) ;fscanf ( fp,"%d%d" , &k,&n ) ;printf ( "%d %dn",k,n ) ;fclose ( fp ) ;程序運行后的輸出結(jié)果是(A)A) 20 30B) 20 50C) 30 50D

39、) 30 20(C)85 結(jié)構化程序所規(guī)定的三種最基本控制結(jié)構是A)輸入、處理、輸出B)樹形、網(wǎng)形、環(huán)形C)順序、選擇、循環(huán)D )主程序、子程序、函數(shù)86 一個 C 語言程序是由 (B)A) 一個主程序和若干子程序組成B)函數(shù)組成C)若干過程組成D )若干子程序組成87 請選出可用作C 語言用戶標識符的是 (B)A) void,define,WORDB) a3_b3,_123,IFC) FOR,-abc,CaseD) 2a,Do,Sizeof88 下列各數(shù)據(jù)類型不屬于構造類型的是(A)A)枚舉型B)共用型C)結(jié)構型D )數(shù)組型89 在 16 位 C 編譯系統(tǒng)上,若定義long a; ,則能給

40、a 賦 40000 的正確語句是(D)A) a=20000+20000;B) a=4000*10;C) a=30000+10000;D) a=4000L*10L90 以下不正確的敘述是(D)A )在C 程序中,逗號運算符的優(yōu)先級最低B)在C程序中,APH和aph是兩個不同的變量C)若a和b類型相同,在計算了賦值表達式a=b后b中的值將放入a中,而b 中的值不變D )當從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸入實型數(shù)值91 sizeof ( float )是 (B)A) 一個雙精度型表達式B) 一個整型表達式C) 一種函數(shù)調(diào)用D )一個不合法的表達式92 若 x,i,j

41、 和 k 都是 int 型變量,則計算表達式x= (i=4,j=16,k=32 )后, x 的 值為 (C)A) 4B) 16C) 32D) 5293.下面程序的功能是把 316表示為兩個加數(shù)的和,使兩個加數(shù)分別能被13和11整除,請選擇填空。#include <stdio.h>main ()int i=0,j,k;doi+;k=316-13*i;while (B );j=k/11;printf ("316=13*%d+11*%d",i,j);A) k/11B) k%11C)k/11=0D) k%11=094 設有定義: int n=0,*p=&n,*q

42、=&p, 則下列選項中正確的賦值語句是(D)A) p=1 ;B) *q=2;C) q=p;D) *p=5;95 下面程序的運行結(jié)果是(D)#include <stdio.h>main ()int y=10;doy-;while ( -y ) ;printf ("%d n",y-);A ) -1B) 1C) 8D) 096 下面程序的輸出結(jié)果是(A)main ()int a 10 =1,2,3,4,5,6,7,8,9,10,*p=a;printf ("%d n",* (p+2 );A ) 3B) 4C) 1D) 297 設有 int x

43、=11 ;則表達式( x+*1/3 )的值是 (A)A ) 3B) 4C) 11D) 1298 請選出以下語句的輸出結(jié)果(A)printf ( "%dn",strlen ( "t"065xffn") ) ;A ) 5C) 8D )輸出項不合法,無正常輸出99 下列程序的輸出結(jié)果是(C)main ()double d=3.2; int x,y;x=1.2; y= ( x+3.8 ) /5.0;printf ("%d n", d*y );A ) 3B) 3.2C) 0D) 3.07100 下列程序的輸出結(jié)果是(B)int b=2

44、;int func ( int *a )b += *a;return ( b ) ;main ()int a=2, res=2;res += func (&a );printf ("%d'n",res);A) 4B) 6C) 8D) 10To 3 (28)二、 填空題1 .設y是int型,請寫出 y為奇數(shù)的關系表達式(y%2)=1 或(y%2)!=0。2 .設 int a=5,b=6,表達式(+a=b-)?+a:-b 的值是 7。3 .下列程序的輸出結(jié)果是Hello。maim()char b口 = "Hello you"b5 = 0 ;

45、printf("%sn",b);4 .當調(diào)用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳遞的是片百地址5.用局級語言編寫的程序稱為源程序,它可以通過解釋程序翻譯一旬執(zhí)行一句的方式執(zhí)行,也可以通過編譯程序一次翻譯產(chǎn)生目標程序,然后執(zhí)行。6.以下程序的輸出結(jié)果是16main()int a=0;a+=(a=8);printf("%d n",a);7 .該程序運行的結(jié)果是M=7#include <stdio.h> #define M 100void fun(int m, int *a, int *n)int i,j=0;for(i=1;i<=m;i+)

46、if(i%7=0|i =0)aj+ = i;*n=j;main()int aaM,n,k;fun(10,aa,&n);for(k=0;k<n;k+)if(k+1) =0)printf(" n");else printf("M=%d",aak);printf("n");8 下列函數(shù)的功能是:求出字符串 ss 中包含字符 c 的個數(shù),并返回此值。請?zhí)钊牒线m的表達式,使函數(shù)能正常運行int fun(char *ss, char c) int i=0;for(; *ss!= '0'ss+)if(*ss=c)i+;

47、return i;9 .設有如下宏定義#define MYSWAP(z,x,y) z=x;x=y;y=z;以下程序段通過宏調(diào)用實現(xiàn)變量 a, b容交換,請?zhí)羁說loat a=5,b=16,c;MYSWAP( c ,a,b);10 .以下程序的運行結(jié)果是9。# define MAX(a,b) (a>b?a:b ) +1main ()int i=6,j=8,k;printf ("%d'n",MAX (i,j);11 .以下程序的功能是從健盤輸入若干學生的成績,并輸出最高成績和最低成績,當輸入負數(shù)時結(jié)束。請?zhí)羁铡ain ()float x,amax,amin;sc

48、anf ("%f',&x );amax=x;amin=x;while (x>0)if (x>amax )amax=x;else if (x<amin )amin=x;else scanf ("%f',&x );printf ("n amax=%fn amin=%fn",amax,amin );12 .在對文件操作的過程中,若要求文件的位置指針回到文件的開始處,應當調(diào)用的函數(shù)是 rewind()或fseek() 。13 .在計算機中,字符的比較是對它們的ASCII碼進行比較14 .在存中,存儲字符'

49、x'要占用 1個字節(jié),存儲字符串"X”要占用 2個 字節(jié)。15 .下列程序的輸出結(jié)果是16.00,請?zhí)羁?。main ()int a=9, b=2;float x= 6.6, y=1.1,z;z=a/2+b*x/y+1/2;printf ("%5.2f'n", z );16 .設在主函數(shù)中有以下定義和函數(shù)調(diào)用語句,且 fun函數(shù)為void類型; 請寫出fun函數(shù)的首部 void fun(double b口22)。要求形參名為bmain ()double s 10 22;int n;fun (s);1,17 .下列程序的功能是輸入一個整數(shù),判斷是否是素

50、數(shù),若為素數(shù)輸出否則輸出0,請?zhí)羁铡ain ()int i, x, y=1;scanf ("%d", &x );for (i=2; i<=x/2; i+)if (x%i=0)y=0; break; printf ("%d'n", y);18 .下面程序的功能是將一個字符串str的容顛倒過來,請?zhí)羁铡?include main ()int i,j, k ;char str 口 ="1234567"for (i=0,j=strlen (str)-1;i<j;i+,j-)k=str i ;str i =str

51、j;str j =k;printf ("%s'n",str);19 .以下程序可把輸入的十進制數(shù)以十六進制數(shù)的形式輸出,請?zhí)羁?main()char b17="0123456789ABCDEF"int c64,d,i=0,base=16;long n;printf("Enter a number:n");scanf("%ld",&n);doci= n%base ;i+;n=n/base;while(n!=0);printf("Transmite new base:n");for(

52、-i;i>=0;-i)d=ci;printf("%c",b d);printf("n");20 .若給fun函數(shù)的形參s傳送字符串:"6354abcc",則函數(shù)的返回值是 6354。#includelong fun(char s口)long n;int sign;for(;isspace(*s);s+);sign=(*s='-')?-1:1;if(*s='+'|*s='-')s+;for(n=0;isdigit(*s);s+)n=10*n+(*s-'0');retu

53、rn sign*n;21 .設有定義"struct int a; float b; char c; abc, *p_abc=&abc;" ,則對結(jié)構體成員a的引用方法可以是abc.a和p_abc -> a。22 .下面程序是指從終端讀入的20個字符放入字符數(shù)組中,然后利用指針變量輸出上述字符申,請?zhí)羁铡?include <stdio.h>main ()int i; char s 21 ,*p;for (i=0 ; i<20 ; i+ )s i =getchar ();s i ='0'p = swhile (*p)putchar

54、 (*p+);23 .以下程序?qū)?shù)組a的4個元素和數(shù)組b的6個元素寫到名為lett.dat的二進制文件中,請?zhí)羁铡?include <stdio.h>main ()FILE *fp ;char a 4 ="1234" , b 6 ="abcedf"if (fp=fopen (" lett.dat ","wb" ) =NULL )exit (0);fwrite (a,sizeof (char) ,4,fp );fwrite (b, 6*sizeof(char) ,1,fp);fclose (fp);24

55、.在C語言中,一個float型數(shù)據(jù)在存中所占的字節(jié)數(shù)為 4; 一個double型數(shù)據(jù)在存中所占的字節(jié)數(shù)為8。25 .以下程序輸出的結(jié)果是00main ()int a=5,b=4,c=3,d;d= (a>b>c );printf ("%d'n",d);26 .以下函數(shù)的功能是求出能整除 x且不是偶數(shù)的各整數(shù),并按從小到大的順序放在pp所指的數(shù)組中,然后返回這些除數(shù)的個數(shù)。例如,若x中的值為30,則有4個數(shù)符合要求,它們是1, 3, 5, 15。請按題意,完成填空。試題程序:int fun (int x, int pp 口)int i,j=0;for(i=1;i<x;i+=2)if (x%i=0 ) pp j+ =i;return j ;27 . m

溫馨提示

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

評論

0/150

提交評論