湖南工程學院C語言程序考試復習題有答案_第1頁
湖南工程學院C語言程序考試復習題有答案_第2頁
湖南工程學院C語言程序考試復習題有答案_第3頁
湖南工程學院C語言程序考試復習題有答案_第4頁
湖南工程學院C語言程序考試復習題有答案_第5頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、2010湖南工程學院年C語言程序考試題、單選題1 . c程序的基本構成單位是( C)A)文件 B)命令 C)函數(shù) D)語句2 .在C語言中,'a是(B )A)字符串常量B)字符常量C)變量D)函數(shù)3 .在C語言中," a=b=c=5”屬于哪種表達式? ( B ) A)關系 B)賦值 C)邏輯 D)非法4 .設a、b為整型,則表達式(a=2,b=5,b+,a+b)的值是(D )A)2B)6C)7D)85 .若有以下變量定義:int b=2;float a=5;則表達式“ a/b”之值為(A )A)2.5B)2C)3D)5/26 .若j=3,則表達式(+j)+(j+)的值為(C

2、)A)6B)7C)8D)107 .以下只能輸入單個字符的函數(shù)是( C )A)printf()B)puts() C)getchar() D)putchar()8 .若a的原值為4,則表達式“ a*=a-=3”運算后,a的值是(D )A)13B)4C)3D)19 .若a=5、b=3、c=1 ,則表達式“a>b>c”的值為( A )A)0B)1C)3D)510 .若有代數(shù)式:3ae bc 以下錯誤的C語言表達式是(C ) A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*311 .下列能輸出字符數(shù)組str中字符串的語句是( B )A)printf(&q

3、uot;%c",str0);B)printf("%s",str);C)printf("%s",str);D)putchar(str);12 .若p=&x ,則下列關系表達式之值為1的是(B )A)p=x B)*p=xC)&p=xD)*x=p13 . C語言中最基本的數(shù)據(jù)類型包括( B )A)整型、實型、邏輯型B)整型、實型、字符型C)整型、邏輯型、字符型D)整型、實型、字符串型14 . C語言中,要求運算對象必須是整型數(shù)據(jù)的運算符是( A )A)%B)/C)D)&&15 .表示數(shù)學關系“ xRyRz”的C語言表達

4、式是(C )A)x>=y>=zB)x>=y | y>=zC)x>=y&&y>=zD)x >y > z16 . 以下說法中正確的是(C )A)C 程序總是從文件中第一個函數(shù)開始執(zhí)行B)C 程序中,只有main( )函數(shù)才可以調(diào)用其他函數(shù)C)C 程序總是從main( )函數(shù)開始執(zhí)行D)C 程序中的main( )函數(shù)必須放在程序的開頭17 . 若有定義:int a=7;float x=2.5,y=4.7;則表達式x+a%3*(int)(x+y)%2/4 的值為(A )A)2.5B)2.75C)3.5D)018 . 設變量 a 是整型,f

5、 是實型,i 是雙精度型,則表達式10+'a'+i*f 值的數(shù)據(jù)類型為(C )A)intB)floatC)doubleD)不確定19 . 有輸入語句:scanf("%d,%d",&a,&b);為使變量a、 b 分別為 5 和 3,從鍵盤輸入數(shù)據(jù)的正確形式為(B )A)5 3< 回車 >B)5,3< 回車 >C)a=5 b=3< 回車 >D)a=5,b=3< 回車 >20 . 定義如下變量和數(shù)組:int j;int x33=1,2,3,4,5,6,7,8,9;則下面語句的輸出結(jié)果是(C )for

6、(j=2; j>=0; j-)printf("%2d",xj2-j);A)1 5 9B)1 4 7C)7 5 3D)3 6 921 . 執(zhí)行下面程序后,a 的值是(B )#include <stdio.h>#define SQR(x) x*x void main( )int a=10,k=2,m=1;a=SQR(k+m);printf("%dn",a); A)10B)5C)2D)122 . 以下敘述不正確的是(C )A) 在函數(shù)內(nèi)部定義的變量是局部變量B)函數(shù)中的形式參數(shù)是局部變量C)全局變量的作用范圍僅限于其所在的整個文件D) 局部變

7、量的作用范圍僅限于本函數(shù)23 .設 a=3,b=4,c=2,d=1 ,則表達式"a>b?a:c>d?c:d"的值為( C )A)4B)3C)2D)124 . 有以下程序段:x=-1;dox=x*x;while(!x);執(zhí)行時,循環(huán)體執(zhí)行的次數(shù)為(B )A)0B)1C)2 D) 不確定25 . 以下不正確的if 語句形式是(C )A)if (x>y&&x!=y);B)if (x= =y)x+=y;C)if (x!=y) scanf("%d",&x) else scanf("%d",&y)

8、;D)if (x<y)x+;y+;26 . 以下程序的輸出結(jié)果是(C )#include <stdio.h>void main( )int x=2,y=-1,z=2;if (x<y)if (y<0) z=0;else z+=1;printf("%dn",z);A)0B)1C)2D)327 .以下能正確計算 1X2X3X-X 10的程序段是( A )B) s=1;i=1;while(i<=10) s=s*(+i);D)for(i=1,s=1;i+)s=s*i;A) i=1,s=1;dos=s*i;i+; while(i<11);C)

9、for(i=1,s=0;i<=10;i+)s=s*i;28 . 若 j 為整型變量,則以下循環(huán)執(zhí)行次數(shù)是(C )for (j=0;j= =0;)printf("%d",j-);A) 無限次B)0 次C)1 次D)2 次29 .若有說明:int a10;則對a數(shù)組元素的正確引用是( C )A)a3.5B)a(8)C)a6-5D)a1030. C 語言規(guī)定,變量做實參時,它和對應形參之間的數(shù)據(jù)傳遞方式是(B )A)地址傳遞B)單向值傳遞C)雙向值傳遞D)由用戶指定傳遞方式31. C 中,一個float 類型的數(shù)據(jù)在內(nèi)存中占(C )個字節(jié)。A) 1B) 232. 設有程序段

10、:int k=5;while (k<=0)k-;則下列描述中正確的是(A) while 循環(huán)執(zhí)行5 次C) 循環(huán)語句一次也不執(zhí)行33. 下面程序段的運行結(jié)果是(C) 4D) 8C)B) 循環(huán)是無限循環(huán)D) 循環(huán)體語句執(zhí)行一次B)char c5= 'a', 'b', '0', 'c', '0' ;printf("%s", c);A) 'a''b'B) ab34. 以下不正確的字符串賦值語句是(A) char *s; s="abcde"C)

11、char s10; s="abcde"C) AbcD) "abc"C)B) char s ="abcde"D) char *s="abcde"35. 設 p1、 p2 是指向 int 型一維數(shù)組的指針變量,k 為 int 型變量,以下錯誤的語句是(A) k=*p1+*p2; B) p2=k; C) p1=p2; D) k=p2-p1;36. 下面程序的輸出結(jié)果是(A )#include <stdio.h>void main( ) char s = "ABCD"char *p;for

12、(p=s;p<s+4;p+)printf("%sn", p);B)A) ABCDB)AC)DD ) ABCDBCDBCABCCDCBABDDAA37. 以下關于C 函數(shù)的定義和調(diào)用描述正確的是(B )A) 函數(shù)的定義可以嵌套,但函數(shù)的調(diào)用不可嵌套B) 函數(shù)的調(diào)用可以嵌套,但函數(shù)的定義不可嵌套C) 函數(shù)的定義和調(diào)用均可以嵌套D) 函數(shù)的定義和調(diào)用均不可嵌套38. 以下關于變量的作用域說法正確的是(D )A) 在不同函數(shù)中不能使用相同名字變量B) 在函數(shù)外部定義的變量只在本函數(shù)范圍內(nèi)有效C) 在函數(shù)內(nèi)的復合語句定義的變量在本函數(shù)內(nèi)有效D) 形式參數(shù)是局部變量39. 以下關

13、于變量的作用域敘述不正確的是(C )A) 在函數(shù)內(nèi)部定義的變量是局部變量B) 函數(shù)中的形式參數(shù)是局部變量C) 全局變量的作用范圍僅限于其所在的文件D) 局部變量的作用范圍僅限于本函數(shù)40. 以下關于C 函數(shù)參數(shù)說法不正確的是(B )A) 實參可以是常量、變量和表達式B) 形參可以是常量、變量和表達式C) 實參可以為任意數(shù)據(jù)類型D) 形參應與對應的實參類型一致41. 以下關于C 函數(shù)返回值的敘述正確的是(D )A) 被調(diào)函數(shù)中只有使用return 語句才能返回主調(diào)函數(shù)B) 使用一個return 語句可以返回多個函數(shù)值C) 函數(shù)返回值類型取決于return 語句中的表達式類型D) 函數(shù)返回值類型取

14、決于定義該函數(shù)時所指定的類型42. 在C中," a>b>c”屬于哪種表達式? ( A )A) 關系B) 賦值C) 邏輯D) 非法43. 以下不合法的C 表達式是(C )A) 10 | 8 B) 12=9+1 C) +5 D) x!=y44. 給定以下程序段:int n=10;while (n>6)n-;printf("%3d",n);以上程序段輸出結(jié)果是(D )A) 10 9 8 B) 9 8 7 C) 10 9 8 7 D) 9 8 7 645. 若 i, j 已定義為int 型,則以下程序段中內(nèi)循環(huán)總的執(zhí)行次數(shù)是(C )for (i=5; i

15、>0; i-)for (j=1; j<6; j+)A) 30B) 24C) 25D) 2046. 若已定義:float *p, m=3.14159; 則使 p 指向 m 正確的賦值語句是(B )A) p=m;B) p=&m;C) *p=m;D) *p=&m;47. 若已定義:chars10;則下面表達式中不能表示s1地址的是(A )A)s+B)s+1C)&s0+1D)&s1二、填空題1 .函數(shù)是C程序的基本構成單位,C程序總是從 main函數(shù) 開始執(zhí)行的。2 .賦值表達式x*=y+5的另一種書寫形式為x=x*(y+5)3 .已知a=10, b=20,

16、 c=3,則表達式 a>b|c的值為 L4 .整數(shù) m既能被3整除又能被 4整除的邏輯表達式為(m%3= =0)&&(m%4= =0)5 .若有定義:double a105;則數(shù)組a中行下標最大值為9,列下標最大值為4 。6 .若有定義:int a = 1,4,6,5,8,9;則 *(a+5)的值為 97 .設有如下定義inta56,*p;取數(shù)組元素a42的地址放到p中的語句為p=&a4;8 .未加特別說明(說明為靜態(tài)的)的全局變量是外部的,能被其它文件中的函數(shù)使用,而在引用 它的文件中,需要用關鍵字 extern說明。9 .已知a=10, b=20,則表達式!a

17、>b的值為 010 .寫出0<x<1的C邏輯表達式(0<x)&&(x<1)11 .若有定義:int a10,*p=a;則元素a5的值用p表示的形式是*(p+5)12 .若有定義:int *p4;則標識符p表示 數(shù)組長度為4的一維指針數(shù)組13 .凡是函數(shù)中未指定存儲類型的局部變量,其默認的存儲類型為auto三、程序填空1 .下面程序的功能是:從鍵盤輸入一個字符,若是大寫字母,則轉(zhuǎn)換為小寫字母并輸出,若為小 寫字母則直接輸出,請在 處填上合適內(nèi)容,使程序完整。#include <stdio.h>void main() char ch;ch=

18、getchar();if (ch>='A'&&ch<='Z')ch+=32;printf("%c",ch);2 .下面程序的功能是:求1100間的偶數(shù)和,請在 處填上合適內(nèi)容,使程序完整。#include <stdio.h>void main()int num, sum=0;for (num=2; num<=100; num=num+2)sum=sum+num ;printf("1-100 間的偶數(shù)和是: %dn", sum);3 .下面程序段是求 n!的遞歸函數(shù),請將函數(shù)補充

19、完整。double fac(int n) double result;if (n= =1)result=1;elseresult=n*fac(n-1);return(result);4 .以下程序的功能是:輸入一整數(shù)n,判斷是否為素數(shù)。#include <stdio.h>#include<math.h>void main() int i, n;scanf("%d",&n);for (i=2; i<=sqrt(n); i+)if (n%i=0)break;if (i>sqrt(n)printf("%d is a prime

20、 number.n", n);elseprintf("%d is not a prime number.n", n);四、閱讀程序1. #include <stdio.h>void main() char ch;int cnt1=0,cnt2=0;while (ch=getchar( )!='n')if (ch>='a'&&ch<='z')cnt1+;else cnt2+;printf("COUNT=%dn",cnt1);若輸入"This is a

21、 C program.”,運行結(jié)果: COUNT=132. #include <stdio.h>void main() int i,j,temp;int a尸0,123,4,5,6,7,8,9;for(i=0,j=9;i<j;i+,j-)temp=ai;ai=aj;aj=temp;for(j=0;j<10;j+)printf("%2d",ajD;運行結(jié)果:9 8 7 6 5 4 3 2 1 03. #include <stdio.h>#include <string.h> void main() char str120=&qu

22、ot;good",str2 ="morning"int i,j;for (i=strlen(str1),j=0;str2j!='0' i+, j+) str1i=str2j;str1i='0'printf("string1=%s",str1);運行結(jié)果: string1=goodmorning4. #include <stdio.h> void main() int i,j,pos; float val,a10; for(i=0;i<10;i+)scanf("%f",&

23、;ai);val=a0;for(j=0;j<10;j+) if (aj>val) val=aj;pos=j;printf("Max=%f,position:%d",val,pos);本程序的功能是:從鍵盤輸入10個數(shù)存到數(shù)組a中,求10個數(shù)的最大值及其位置當程序運行時,從鍵盤輸入“1 0 2 9 3 8 4 7 5 6” ,運行結(jié)果:Max=9.000000,position:35. #include <stdio.h>float average(int x , int n) int i;float sum=0; for(i=0;i<n;i+)

24、 sum+=xi;return (sum/n);void main() int a5=2,4,6,8,10;float rst;rst=average(a,5);printf("result=%fn",rst);運行結(jié)果:result=6.0000006. 給定如下程序:#include <stdio.h>void main() char grade;scanf("%c", &grade);switch (grade) case 'A':printf("85 100n"); break;case &

25、#39;B':printf("70 84n"); break;case 'C':printf("60 69n"); break;case 'D':printf("<60n"); break;default: printf("errorn");當程序運行時,從鍵盤輸入“ D”,輸出的結(jié)果是:<607. 給定如下程序:#include <stdio.h>void main() int a5=2,5,3,7,6,i,j,t;for(i=0;i<4;i+

26、)for(j=0;j<4-i;j+)if(aj>aj+1)t=aj;aj=aj+1;aj+1=t;for (i=0; i<5; i+)printf("%3d",ai);該程序的功能是:用“起泡法”對數(shù)組 a中的5個整數(shù)按由小到大排序并輸出輸出的結(jié)果為:2 3 5 6 78. 給定如下程序:#include <stdio.h>void fun() auto int b=0;static int c=4;b+;c+;printf("b=%d c=%dn",b,c);void main() int i;for (i=0; i<

27、;3; i+)fun();運行結(jié)果是:b=1 c=5b=1 c=6b=1 c=79. 給定如下程序:#include <stdio.h>#include <string.h>void main() char *p1, *p2, c, s50;gets(s);p1=s; p2=s+strlen(s)-1;for(; p1<p2; p1+, p2-)c=*p1; *p1=*p2; *p2=c;printf("The new string is %sn", s);此程序的功能是:從鍵盤輸入一字符串存放到數(shù)組s中,將此字符串逆序輸出當程序運行時,從鍵盤

28、輸入“ abc we #y”,輸出的結(jié)果是:The new string is y# ew cba五、按要求編程1. 編寫0100之間偶數(shù)之和的程序。#include <stdio.h>void main() int num, sum=0;for (num=2; num<=100; num=num+2)sum=sum+num;printf("sum=%dn", sum);2. 編程計算1!+2!+3!+ +2Q!#include <stdio.h>void main()float s=0,t=1;int n;for(n=1;n<=20;n

29、+)t=t*n;s=s+t; printf("1!+2!+20!=%en",s);3. 統(tǒng)計由鍵盤輸入的任意一串字符中空格的個數(shù)。#include <stdio.h>void main( )char ch;int space=0;while (ch=getchar( )!='n')if (ch=' ') space+;printf("konggeshu=%dn",space);4. 編寫程序找出1 100 之間的素數(shù),并統(tǒng)計素數(shù)的個數(shù)。#include <stdio.h>#include <m

30、ath.h>void main( )int m,k,i,n=0;for(m=1;m<=100;m=m+2)k=sqrt(m);for(i=2;i<=k;i+)if(m%i=0)break;if(i>=k+1)printf("%3d",m);n=n+1;if(n%10=0) printf("n");printf("ntotal number is=%d",n);5. 打印楊輝三角形(10 行)。要求:使用二維數(shù)組和循環(huán)語句實現(xiàn)。11 12 213 331#include <stdio.h>#defin

31、e N 11void main( )int i,j,aNN;for(i=1;i<N;i+)aii=1;ai1=1;for(i=3;i<N;i+)for(j=2;j<=i-1;j+)aij=ai-1j-1+ai-1j;for(i=1;i<N;i+)for(j=1;j<=i;j+)printf("%6d",aij);printf("n");6. 從鍵盤輸入10 個數(shù),找出最大值與最小值,并計算它們的平均值。#include <stdio.h>void main( )float a10,aver,sum,max,min

32、;int i;for(i=0;i<10;i+)scanf("%f",&ai);max=min=a0;if(stri<stri+1)sum=a0;for(i=1;i<10;i+)if(ai>max) max=ai;else if(ai<min) min=ai;sum=sum+ai;aver=sum/10;printf("aver=%f,max=%f,min=%f",aver,max,min);7 .寫一個函數(shù)求兩個整數(shù)的最大公約數(shù),函數(shù)原型為:int gongyue(int m, int n),在主函數(shù)中從鍵盤輸入兩個整數(shù),然后調(diào)用gongyue 函數(shù),并輸出結(jié)果。#include <stdio.h>int gongyue(int m,int n)int i;for(i=m;i>=1;i-)if(m%i=0&&n%i=0) break;return (i);void main()int a,b;scanf("%d,%

溫馨提示

  • 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

提交評論