大學C語言考試題庫(含答案)_第1頁
大學C語言考試題庫(含答案)_第2頁
大學C語言考試題庫(含答案)_第3頁
大學C語言考試題庫(含答案)_第4頁
大學C語言考試題庫(含答案)_第5頁
已閱讀5頁,還剩59頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、單項選擇題號:1482執行以下程序段后,輸出結果和a的值是()。int a=10; printf(%d,a+);A、 11 和 10B、11 和 11C、10 和 11Dk 10 和 10答案:C題號:2100后,已知字符A的ASCII代碼值是65,字符變量c1的值是A,c2的值是D.執行語句printf(%d,%d,c1,c2-2);輸出結果是A、65,66B、A,BC、65,68Dk A,68答案:A題號:5055相同結構體類型的變量之間,可以()。A、比較大小B、地址相同C、賦值Dk相加答案:C題號:3217int a10;合法的數組元素的最小下標值為()。A、1B、0C、 10D、 9

2、答案:B題號: 45能正確表示邏輯關系:a10或a=0 | a=10 or a=10 & a=10 | a=0答案:D題號: 157main()int x=1,a=0,b=0;switch (x) case 0: b+;case 1: a+;case 2: a+;b+;printf(a=%d,b=%d,a,b); 該程序的輸出結果是( )A、 2,2B、 2,1C、 1,1D、 1,0答案:B題號: 4784設變量a是整型,f是實型,i是雙精度型,則表達式10+a+i*f 值的 數據類型為()。A、不確定B、 doubleC、 intD、 float答案:B題號: 1647以下程序中,whil

3、e 循環的循環次數是main()int i=0;while(i10)if(ib)=c 的值為真。答案:正確題號:66若有 # define S(a,b) a*b貝1J語句 area=S(3,2); area 的值為 6答案:正確題號:758若有宏定義:#define S(a,b) t=a;a=b;b=t 由于變量t沒定義,所以此宏定義是錯誤的。答案:錯誤題號:2158#define 和printf 都不是 麗句。答案:正確題號:5102關系運算符 100) printf( %d n,a 100);else printf(%d n , a = 100);答案:空1:1題號:3255表達式(int

4、 ) ( (double) (5/2) +)的值是答案:空1:4題號:2472閱讀下面程序,程序執行后的輸出結果為 。#include main ()char a,b;for (a= 0 ,b= 9 ;ab;a+,b- )printf (%c%c,a,b );printf ( n);答案:空 1:05題號: 937以下程序段的輸出結果是。int i = 0, sum = 1;do sum += i+; while( i y)if (xz) printf (%d,x );else printf (%d,y );printf(%dn,z );)答案:空1:3程序設計題號:2660/*【程序設計】功

5、能:計算出k以內最大的10個能被13或1廛除的自然數之和。(k 3000)。*/#include #includevoid b ky();int fun(int k)/*Begin*/* End */main()int m;printf(Enter m: );scanf(%d, &m);printf(nThe result is %dn, fun(m);b ky();void b ky()FILE *IN,*OUT;int s ;int t;int o;IN=fopen(,r);if(IN=NULL)printf(Read FILE Error);OUT=fopen(,w);if(OUT=NU

6、LL)printf(Write FILE Error);for(s=1;s=2)&(b10)if(k%13=0)|(k%17=0)a=a+k;b+;k-;return a;題號: 5854C語言中不可以嵌套的是()A、選擇語句B、循環語句C、函數調用D函數定義答案:D題號: 1957麗言中,邏輯“真”等價于A、非零的整數B、大于零的整數C、非零的數D大于零的數答案:C題號: 3786用戶定義的函數不可以調用的函數是()。A、本文件外的B、main函數C、本函數下面定義的D非整型返回值的答案:B題號: 1764以下敘述中正確的是()。A、C程序中注釋部分可以出現在程序中任意合適的地方B、分號是C

7、語句之間的分隔符,不是語句的一部分C、花括號 “和” 只能作為函數體的定界符DK構成C程序的基本單位是函數,所有函數名都可以由用戶命名答案:A題號: 299下面四個選項中,均是不合法的浮點數的選項是()。A、 -e3 .234 1e3B、 160. e3C、 123 .e5D、 123e4答案:C題號: 6131假定所有變量均已正確定義,下列程序段運行后x的值是()k1=1;k2=2;k3=3;x=15;if(!k1) x-;else if(k2) x=4;else x=3;A、 15B、 14C、 3D、 4答案:D題號: 3208若變量已正確定義,以下程序段的輸出結果是x=;printf(

8、 “ %f n” , (int)(x*1000+/(float)1000);A、B、輸出格式說明與輸出項不匹配,輸出無定值C、D、答案:題號: 5043以下選項中合法的實型常數是()。A、B、C、 E-3D、 .2E0答案:D題號: 5608有以下程序main() int i;for(i=0; ib)=c的值為真。答案:正確題號:2316while和dowhile循環不論什么條件下它們的結果都是相同的答案:錯誤題號:2989char c=Very Good;是一個合法的為字符串數組賦值的語句答案:正確題號:5034語句scanf(%,&a); 是一個合法的scanf函數。答案:錯誤題號:206

9、7如果想使一個數組中全部元素的值為0,可以寫成int a10=0*10;答案:錯誤題號:5263x*=y+8 等價于 x=x*(y+8)。答案:正確題號:3862如果函數值的類型和return語句中表達式的值不一致,則以 函數類型為準。答案:正確題號:3558整數-32100可以賦值給int型和long int 型變量。答案:正確填空題號:551請寫出以下程序的輸出結果 。main() int a = 100;if( a 100) printf( %d n,a 100);else printf(%d n , a CD,給w、x、y、z分別輸入10、20、30、40,正確的輸入形式是 。請用CR

10、玳;表Enter鍵。scanf( d%c%d%c%d%c% d%w, &a, &x,&b, &y, &c, &z, &d);答案:空1:10A20B30C40D題號:4063以下程序段的輸出結果是 double a =;n , a, a, a, a);printf( a = %, a =答案:空1:a =空2:a =空3:a = 513.空4:a = 513.題號:5076以下程序的輸出結果是。main () int a=0;a+= (a=8);printf(%dn,a ) ; 答案:空1:16題號:5410以下程序的執行結果是。main()int a, b, *p = &a, *q = &b

11、;a = 10;b = 20;*p = b;*q = a;printf( a = %d, b = %d n” , a, b);答案:空1:a = 20, b = 20題號:6975以下程序的輸出結果是。main() int x = 2;while ( x-);printf(%d n , x);)答案:空1:-1程序設計題號:58/*【程序設計】功能:將字符串中的小寫字母轉換為對應的大寫字母, 其它字符不變。*/#include #include void b ky();void change(char str口)/*Begin */* End */ main()void change();ch

12、ar str40;gets(str);change(str);puts(str);b ky(); void b ky()FILE *IN,*OUT;char i200;IN=fopen(,r);if(IN=NULL)printf(Read FILE Error);OUT=fopen(,w);if(OUT=NULL)printf(Write FILE Error);fscanf(IN,%s,i);change(i);fprintf(OUT,%sn,i);fclose(IN);fclose(OUT);示例代碼:int i;for(i=0;stri!=0;i+) if(stri=a & stri10

13、或a=0 | a=10 or a=10 & a=10 | a char d6= h, a, b, c, 0;答案:C題號:2703從鍵盤上輸入某字符串時,不可使用的函數是()A getchar()B、scanf()C、fread()Dk gets()答案:A題號:3402以下對整型數組a的正確說明是:A、int n = 10, an;B、int n;scanf 1 fcn);int a.n*C、ffdefins SIZE L0+int a SIZE;/Dk int a(10);答案:題號: 130若char a10;已正確定義,以下語句中不能從鍵盤上給a數組的所有元素輸入值的語句是()。A、

14、scanf(%s,a);B、 for(i=0;i 2,6,3,2,3答案:A題號:300以下對一維整型數組a的正確說明是()。A、#define SIZE 10 (換行)int aSIZE;B、int a(10);C、int n; scanf(%d,&n); int an;D int n=10,an;答案:A判斷題號:2691若有int i=10,j=2;則執行完i*=j+8;后i的值為28。答案:錯誤題號:2067如果想使一個數組中全部元素的值為0,可以寫成int a10=0*10;答案:錯誤題號:1118函數調用語句:func(rec1,rec2+rec3,(rec4,rec5);中,含有

15、的實參個數是 5.答案:錯誤題號:1534C語言所有函數都是外部函數.答案:錯誤題號:2158#define 和printf都不是 麗句。答案:正確題號:6321循環結構中的continue語句是使整個循環終止執行答案:錯誤題號:2583在程序中定義了一個結構體類型后,可以多次用它來定義具有該類型的變量。答案:正確題號:3386若有int i =10, j=0;則執行完語句if (j=0) i + +; else i - -; i 的值為 11。答案:錯誤題號:2998c程序總是從程序的第一條語句開始執行.答案:錯誤題號:5034語句scanf(%,&a); 是一個合法的scanf函數。答案:

16、錯誤填空題號:582以下程序的執行結果是main ()int k=8;switch ( k)case 9: k+=1;case 10: k+=1;case 11: k+=1; break;default: k+=1;printf(%dn,k );答案:空 1:9題號: 5171把al、a2定義成單精度實型變量,并賦初值 1的說明語句是 答案:空 1:float a1 = , a2 = ;題號: 63以下程序的輸出結果是。#define PR(ar) printf( “ ar = %d “ , ar)main() int j, a = 1, 3, 5, 7, 9, 11, 13, 15, *p

17、= a + 5;for(j = 3; j ; j-)switch( j ) case 1:case 2: PR(*p+); break;case 3: PR(*(-p) );答案:空 1:ar=9 ar=9 ar=11題號: 3255表達式(int )( double )(5/2) +)的值是 答案:空 1:4題號:1076表達式 + 1 / 2 的計算結果是。答案:空 1:題號: 6547當a = 1、b = 2、c = 3時,以下if語句執行后,a、b、c中的值分別為: if(a c)b = a; a = c; c = b;答案:空 1:3空 2:2空 3:題號:3925閱讀下面程序,則執

18、行后程序的結果為 。#include main ()int a=0,b=0;while (a15)a+;while (b+15); printf (%d,%d n,a,b );答案:空1:15, 16題號:4473有以下程序段:s =;for(k = 1; k = n; k+)s = s + / (k * (k + 1); printf( %f n , s);請填空,使下面的程序段的功能完全與之等同。s =;k = 0;do s += d; ; d = / (k * (k + 1);while();printf( %f n , s);答案:空1:d =空2:k+空3:k = n題號:6975以

19、下程序的輸出結果是。main() int x = 2;while ( x-);printf( %d n , x);答案:空1:-1請填空。題號:4423下列程序的功能是輸入一個整數,判斷其是否是素數,若為素數輸出1,否則輸出0.main () int i, x, y=1;scanf (%d, &x );for (i=2; i=; i+)if y=0; break; printf (%dn, y );答案: 空1:x / 2空2:!(x % i) 【或】x % i = 0程序設計題號:788/*【程序設計】題目:用while語句求1100的累計和。*/void b ky();int fun(in

20、t n)/*Begin */* End */void main()int sum = 0;sum=fun(100);printf (sum = %dn, sum);b ky();void b ky()FILE *IN,*OUT;int i;int iIN,iOUT;IN=fopen(,r);if(IN=NULL)printf(Please Verify The Currernt Dir.it May Be Changed);OUT=fopen(,w);if(OUT=NULL)printf(Please Verify The Current Dir. it May Be Changed);for

21、(i=0;i5;i+)fscanf(IN,%d,&iIN);iOUT=fun(iIN);fprintf(OUT,%dn,iOUT);fclose(IN);fclose(OUT);示例代碼:int i=1,sum=0;while(ic)b=a;a=c;c=b;貝1Jc的值為()A、 3B、 2C、不一定D、 1答案:B題號: 961麗言中while 和do-while 循環的主要區別是()。A、while的循環控制條件比do-while的循環控制條件更嚴格B、do-while 的循環體至少無條件執行一次C、do-while 的循環體不能是復合語句D do-while 允許從外部轉到循環體內答案:

22、B判斷題號:3927兩個字符串中的字符個數相同時才能進行字符串大小的比較答案:錯誤題號:51247&3+12的值是15。答案:錯誤題號:3721語句 printf(%f%,3); 輸出為。答案:錯誤題號:3862如果函數值的類型和return語句中表達式的值不一致,則以 函數類型為準。答案:正確題號:6755若i =3 ,則 printf(%d,-i+); 輸出的值為-4。答案:錯誤題號:4579通過return語句,函數可以帶回一個或一個以上的返回值。答案:錯誤題號:2440int i,*p=&i;是正確的砥明。答案:正確題號:4678a=(b=4)+(c=6) 是一個合法的賦值表達式。答案

23、:正確題號:6288十進制數15的二進制數是1111.答案:正確題號:464若a=3,b=2,c=1 則關系表達式(ab)=c 的值為真答案:正確填空題號:2713以下程序段的輸出結果是 。printf( %d n” , strlen( s0end);答案:空1:3題號:2758若x為double型變量,請寫出運算x = , +x 后表達式的值 和變量的值 ,答案: 空1:空 2:題號: 3121若有定義:int a=8 , b=5, c執行語句c=a/b+后,c的值為答案:空 1:1題號: 4474當計算機用兩個字節存放一個整數時,其中能存放的最大十進制整數是、最小十進制整數是 ,它們的二進

24、制形式是。答案:空 1:65535空 2:-32768空 3:1111 1111 1111 1111,1000 0000 0000 0000題號: 4683若從鍵盤輸入58, 則以下程序輸出的結果是。main()int a;scanf%d,&a ) ;if(a50)printf(%d,a);if(a40)printf(%d,a);if(a30)printf(%d,a);答案:空1:585858題號:1262請寫出與以下表達式等價的表達式是A)B) A)! (x0)B )! 0答案:空1:x 2題號:2211在C語言程序中,用關鍵字 定義基本整型變量,用關鍵字 定義單精度實型變量,用關鍵字 定義

25、雙精度實型變量。答案:空1:int空2:float空3:double程序設計題號:4003/*【程序設計】功能:求一個四位數的各位數字的立方和*/#include void VV();int fun(int n)/* Begin */*End */main()int k;k=fun(1234);printf(k=%dn,k);VV();void VV()FILE *IN,*OUT;int iIN,iOUT,i;IN=fopen(,r);if(IN=NULL)printf(Please Verify The Currernt Dir.it May Be Changed);OUT=fopen(,w

26、);if(OUT=NULL)printf(Please Verify The Current Dir. it May Be Changed);for(i=0;i0)d=n%10;s+=d*d*d;n/=10;return s;題號: 6991以下程序的執行結果是.main() int w = 1, x = 2, y = 3, z = 4;w =( w x ) x : w;w =( w y ) y : w;w =( w 答案:D題號:855若有以下程序段:int a=3,b=4; a=aAb;b=bAa;a=aAb;則執行以上語句后,a和b的值分別是()。A、a=4,b=4B、a=3,b=3C、

27、a=3,b=4D a=4,b=3答案:D判斷題號:1325若有說明int c;則while(c=getchar(); 是正確的C語句答案:正確題號:478C語言中運算符的運算對象必須是整型.答案:正確題號:2998c程序總是從程序的第一條語句開始執行.答案:錯誤題號:3246假設有 int a10, *p; 則 p=&a0與 p=a等價答案:正確 題號:2158#define 和printf都不是 麗句。答案:正確題號:1498C語言本身不提供輸入輸出語句,輸入和輸出操作是由函數來 實現的。答案:正確題號:6288十進制數15的二進制數是1111.答案:正確題號:5263x*=y+8 等價于

28、x=x*(y+8)。答案:正確題號:2691若有int i=10,j=2; 則執行完i*=j+8;后i的值為28。答案:錯誤題號:5102關系運算符 =與=的優先級相同。答案:錯誤填空題號:937 以下程序段的輸出結果是int i = 0, sum = 1;do sum += i+; while( i 5);printf( “ %dn ” , sum);答案:空 1:11題號:1076表達式 + 1 / 2 的計算結果是。答案: 空 1:題號: 1797以下程序段,要求通過 scanf語句給變量賦值,然后輸出變量的值。寫出運行時給k輸入100,給a輸入,給x輸入時的三種可能的輸入形式 、。in

29、t k; flaot a; double x;scanf( “ %d%f%l”f , &k, &a, &x);printf( “kn” , k, a, x);答案:空 1: 100空 2: 100空 3: 100題號: 2472閱讀下面程序,程序執行后的輸出結果為。#include main()char a,b;for (a= 0 ,b= 9 ;ab;a+,b- ) printf ( %c%c,a,b ) ;printf ( n);答案:空 1:05題號: 2797以下程序的輸出結果是。unsigned fun6(unsigned num) unsigned k = 1;do k *= num

30、 % 10;num /= 10; while( num);return k;main() unsigned n = 26;printf( “ %d n” , fun6(n);答案:空 1:題號:4423下列程序的功能是輸入一個整數,判斷其是否是素數,若為素數輸出1,否則輸出0.請填空。main () int i, x, y=1;scanf (%d, &x );for (i=2; ic*2&b! =5| ! (1/2)中,a、b、c的定義和賦值為Int a=3, b=4, c=2;則表達式的值為 。答案:空1:1程序設計題號:1124/*請編寫一個函數fun ,它的功能是:找出一維整型數組元素中

31、最大的值和它所在的下標,最大的值和它所在的下標通過形參傳回。數組元素中的值已在主函數中賦予。主函數中x是數組名,n是x中的數據個數,ma痔放最大值,index存放最大值所在元素的下標。注意:部分源程序存在文件中。請勿改動主函數main和其它函數中的任何內容,僅在函數fun的花括號中填入你編寫的若干語句。*/#include #include #include void fun(int a, int n , int *max, int *d )/* Begin */*End */void NONO ( )/* 本函數用于打開文件,輸入數據,調用函數,輸出數據,關閉文件。*/FILE *fp, *

32、wf ;int i, x20, max , index, n = 10, j ;fp = fopen(,r) ;if(fp = NULL) printf( 數據文件不存在!) ;return ;wf = fopen(,w) ;for(i = 0 ; i 10 ; i+) for(j = 0 ; j n ; j+) fscanf(fp, %d, &xj) ;fun( x, n , &max, &index);fprintf(wf, Max=%d,Index=%dn, max, index) ;fclose(fp) ;fclose(wf) ;main() int i, x20, max , index, n = 10;srand(time(0);for (i=0;i n;i+) xi = rand()%50; printf(%4d, xi) ; printf(n);fun( x, n , &max, &index);printf(M

溫馨提示

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

評論

0/150

提交評論