c語言程序設(shè)計期末考試試題含答案_第1頁
c語言程序設(shè)計期末考試試題含答案_第2頁
c語言程序設(shè)計期末考試試題含答案_第3頁
c語言程序設(shè)計期末考試試題含答案_第4頁
c語言程序設(shè)計期末考試試題含答案_第5頁
已閱讀5頁,還剩5頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、c語言程序設(shè)計期末考試試題及其答案一、單項選擇題(本大題共20題,每題2分,共40分)1以下不是c語言的特點的是()a、c語言簡潔、緊湊b、能夠編制出功能復(fù)雜的程序c、c語言可以直接對硬件進行操作d、c語言移植性好2以下不正確的c語言標(biāo)識符是()a、abcb、abcc、a_bcd、ab.c3一個c語言程序是由()a、一個主程序和若干子程序組成b、函數(shù)組成c、若干過程組成d、若干子程序組成4一個算法應(yīng)該具有“確定性”等5個特性,對另外4個特性的描述中錯誤的是()a、有零個或多個輸入b、有零個或多個輸出c、有窮性d、可行性5設(shè)變量a是整型,f是實型,i是雙精度型,則表達式10+a+i*f值的數(shù)據(jù)類

2、型為()a、intb、floatc、doubled、不確定6在c語言中,char型數(shù)據(jù)在內(nèi)存中的存儲形式是()a、補碼b、反碼c、源碼d、ascii碼7有如下程序,輸入數(shù)據(jù):12345m678cr后(<cr>表示回車),x的值是()。#include<stdio.h>main()intx;floaty;scanf("%3d%f",&x,&y);a、12345b、123c、45d、3458若有以下定義inta,b;floatx,則正確的賦值語句是()a、a=1,b=2b、b+;c、a=b=5d、b=int(x);9以下程序的執(zhí)行結(jié)果是(

3、)#include<stdio.h>inti=10,j=10;printf("%d,%dn",+i,j-);a、11,10b、9,10c、11,9d、10,910巳知字母a的ascii碼是65,以下程序的執(zhí)行結(jié)果是()#include<stdio.h>main()charc1='a',c2='y'printf("%d,%dn",c1,c2);a、a,yb、65,65c、65,90d、65,8911下列運算符中優(yōu)先級最高的是()a、b、十c、%d、!12設(shè)x、y和z是int型變量,且x3,y4,z5,

4、則下面表達式中值為0是()。a、x&&yb、xyc、xy+z&&y-zd、!(xy)!z1)13判斷char型變量cl是否為小寫字母的正確表達式為()a、ac1fzb、(c1a)&&(c1z)c、(a=c1)(zc1)d、(c1a)&&(c1z)14字符串"a"在內(nèi)存中占據(jù)的字節(jié)個數(shù)為()a、0b、1c、2d、315下面有關(guān)for循環(huán)的正確描述是()a、for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況b、for循環(huán)是先執(zhí)行循環(huán)體語句,后判定表達式c、在for循環(huán)中,不能用break語句跳出循環(huán)體d、for循環(huán)體語句中,

5、可以包含多條語句,但要用花括號括起來16下面程序的運行結(jié)果是()#include<stdio.h>main()intnum=0;while(num<=2)num+;printf(“%d,num);a、1b、12c、123d、123417以下描述正確的是()a、由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合語句。b、do-while循環(huán)由do開始,用while結(jié)束,在while(表達式)后面不能寫分號。c、在do-while循環(huán)體中,一定要有能使while后面表達式的值變成零(“假”)的操作。d、do-while循環(huán)中,根據(jù)情況可以省略whi

6、le。18以下對一維整形數(shù)組a的正確說明是()a、inta(10);b、intn=10,an;c、intn;d、inta10;scanf(“%d”,&n);intan;19以下對二維數(shù)組a的正確說明是()a、inta3;b、floata(3,4);c、doublea14;d、floata(3)(4);20若二維數(shù)組a有m列,則在aj前面的元素個數(shù)為()a、j*m+ib、i*m+jc、i*m+j-1d、i*m+j+1二、填空題(本大題共10空,每空2分,共20分)1、結(jié)構(gòu)化設(shè)計中的三種基本結(jié)構(gòu)是 順序結(jié)構(gòu)分支結(jié)構(gòu)循環(huán)結(jié)構(gòu)。2、在c語言中的實型變量分為兩種類型,它們是 單精度型和 雙精度型

7、3、當(dāng)a=5,b=4,c=2時,表達式a>b!=c的值是 14、下列程序運行后的輸出結(jié)果是_#include<stdio.h>*main() inti,j;for(i=4;i>=1;i-)printf("*");for(j=1;j<=4-i;j+)printf("*");printf("n");5、若有定義:inta34=1,2,0,4,6,8,10;則初始化后,a12得到的初值是_0_a21得到的初值是_66、在c語言中,二維數(shù)組元素的內(nèi)存中的存放順序是_按行主順序存放c語言程序設(shè)計試題一、單項選擇題(

8、本題共25小題,每小題2分,共50分)在每小題列出的四個備選項中只有一個是符合題目要求的,請將其正確答案涂寫在答題卡上。錯選、多選或未選均無分。1. 以下正確的c語言自定義標(biāo)識符是_。a. _1ab. 2a_c. dod. a.122. 在c語言中,錯誤的常數(shù)表示是_。a. 0lb.-0x6alc. '6'd. 1.234e3.53. 設(shè)int a, x=2; 執(zhí)行語句a=x>0?3*x:x=10;后,變量x的值是_。a. 1b. 2c. 6 d. 104.設(shè)有以下程序段:int x=2,y=2,z=0,a;a=+x|+y&&z+;printf("

9、;%d,%d,%dn",x,y,z);執(zhí)行后輸出的結(jié)果是_。a. 2, 2, 0b. 3, 3,1 c. 3, 2, 0d. 3, 2, 15. 在c語言中,字符串"topt65""的長度是_。a. 5b7c. 8 d. 126. 設(shè)float x,由鍵盤輸入:12.45, 能正確讀入數(shù)據(jù)的輸入語句是_。a. scanf("%5f",&x)b. scanf("%5d",&x);c. scanf("%f",x);d. scanf("%s",&x);7逗號

10、表達式a=2*6,a*3,a+5的值是_。a. 12 b. 17c36d. 418. c語言程序中,整型常量的書寫形式不包括_。 a. 二進制b. 八進制c. 十進制 d. 十六進制9. 在c語言中,下列運算符中結(jié)合性屬于自右向左的是_。 a. && b. - c<< d. ->10. 設(shè)int x;,則與計算x等價的表達式是_。 a. x>0?-x:x b. x>0?x:-x c. x<0?x:-x d. x<0?-x:-x11. 執(zhí)行下面的程序段后,k的值是_。 int k=1,n=325; do k*=n%10;n/=10;whi

11、le(n);a. 3 b. 30c. 523d. 32512. 表達式的值為0的是_。 a. 5/5%5 b. 5>2 c. !4 d. 0x7&&713. 設(shè)int a=11, b=2;執(zhí)行下述程序段后,變量a和b的值分別是_。 do a/=b+; while(a>b); a. 1,3 b. 1,4 c. 2,3 d. 2,414. 在c語言中,下列錯誤的說法是_。 a. 函數(shù)可以遞歸調(diào)用 b. 不允許在函數(shù)中再定義函數(shù) c. 遞歸程序不可能用非遞歸算法實現(xiàn) d. 對于continue語句,可以通過改變程序的結(jié)構(gòu)而不使用它15int a23=1,2,3;,則a10

12、的值是_。 a0b. 1 c. 2 d. 316. 以下對二維數(shù)組a的正確說明是_。 a. int a3;b. float a4; c. double a34; d. float a(3)(4);17.設(shè)char s10= "abcd",t="12345",則s和t在內(nèi)存中分配的字節(jié)數(shù)分別是_。a6和5b. 6和6c. 10和5 d. 10和618. switch(表達式)語句中的“表達式”,允許的類型是_。 afloat, int bfloat, int, char c. int, char d. char, double19. 在c語言中,形參的隱含

13、存儲類別是_。 a. autob. static c. externd. register20. 下列屬于文件包含的命令是_。 a. #define n 25b. #endif c. #include "stdio.h"d. #else21. 設(shè)int i,j;for(i=5;i;i-) for(j=0;j<4;j+) 則循環(huán)體執(zhí)行次數(shù)是_。a. 5b.4 c. 20d.無限次22若有以下定義和語句: char strl="string", str25; 則用以復(fù)制字符串的正確方法是_。a. strcpy(str2,"hello"

14、;);b. strcpy(strl,"hello");c. str2=str1;d. str1="hello"23正確的變量定義是_。a. unsigned long d=1000;b. float m1=m2=10.0;c. char c1='a',c2=a;d. double x=0.618,x=3.14;24.下面程序的輸出結(jié)果是_。 #include <stdio.h>void main() int s,k; for(s=1,k=2;k<5;k+) s+=k; printf("%dn",s);

15、a. 1b. 9 c. 10d. 1525下列描述中不正確的是_。a. 字符型數(shù)組中可以存放字符串b. 可以對字符型數(shù)組進行整體輸入、輸出c. 可以對實型數(shù)組進行整體輸入、輸出d. 不能在賦值語句中通過賦值運算符“=”對字符型數(shù)組進行整體賦值 二、填空題(本題共10小題,每小題2分,共20分) 請在每小題空格中填上正確答案錯填、不填均無分。 26. 一個c語言程序的執(zhí)行起點是_。 27. 設(shè)int x=3,y=5; 則執(zhí)行printf("%dn",x&&y);后輸出_。 28定出公式對應(yīng)的c語言表達式_。 29. 若函數(shù)調(diào)用語句為f(a,b,f(a+b,a-

16、b,b);,則函數(shù)f的參數(shù)個數(shù)是_。 30. 設(shè)int a=2;,則執(zhí)行a+=a*=15;后,變量a的值是_。 31. 設(shè)double y45;,則數(shù)組y中元素的個數(shù)是_。 32. 設(shè)int x=7,y=3,則表達式x%y+x/y的值是_。 33. 設(shè)char s ="e_mail",則執(zhí)行printf("%dn",strlen(s);后輸出的值是_。 34. 當(dāng)執(zhí)行下面程序段后,變量i的值是_。 int a,b,c,d,i,j,k; a=10; b=c=d=5; i=j=k=0; for( ; a>b; +b) i+; while(a>+c

17、) j+; do k+; while(a>d+); 35.設(shè)int a34=1,2,5,3,2,4,7,9,3,6,5,8;則表達式a12+a23的值是_。三、程序分析題(本題共5小題,每小題2分,共10分) 36.寫出下面程序的運行結(jié)果。#include <stdio.h>void main() int x=15; while(x<20) x+; if(x/3!=0) x+;break; else continue; printf("%dn",x);37. 寫出下面程序的運行結(jié)果。#include <stdio.h>void inv (

18、int x , int n)int t,i,j; for (i=0; i<n/2; i+) j=n-1-i; t=xi; xi=xj; xj=t;void main()int i,a5=3,7,9,11,0; inv(a,5); for(i=0;i<5;i+) printf("%d ",ai); printf("n");38. 寫出下面程序的運行結(jié)果。(程序運行時,輸入一個整數(shù)5)#include <stdio.h>void main() int a,b10,c,i=0; printf("輸入一個整數(shù)n");

19、scanf("%d",&a); while(a!=0) c=a%2; a=a/2; bi=c; i+; for(;i>0;i-) printf("%d", bi-1);39. 寫出下面程序的運行結(jié)果。#include <stdio.h>void main() int a,b,i; a=b=0; for(i=0;i<=10;i+=2) a+=i; b+=i+1; printf("a=%dn",a); printf("b=%dn", b-11);40. 寫出下面程序的運行結(jié)果。#incl

20、ude <stdio.h>int a=100;s() static int a =20; a+; printf("%dn",a);void main() int i; for(i=1;i<=3;i+) a+; printf("%d",a); s(); 四、程序填充題(本題共2小題,每個空格2分,共10分) 給出下列程序,將橫線處缺少的部分補上,使其能正確運行。41. 對含有10個元素的數(shù)組a先按元素的存儲次序倒序輸入,再按其正序輸出。 #include <stdio.h>#define _ /* 空格1 */void mai

21、n() int i,an; for(i=n-1;_;i-) /* 空格2 */ scanf("%d",_); /* 空格3 */ for(i=0;i<n;i+) printf("%dt",ai); printf("n");42.學(xué)生成績的字每等級和分?jǐn)?shù)范圍如下: 字母等級 分?jǐn)?shù)范圈 a 90100 b8089 c7079 d 6069 e 059 其它字母 輸入錯誤 輸入字母等級之后,輸出相應(yīng)的分?jǐn)?shù)范圍。#include <stdio.h>void main() _; /* 空格4 */ scanf("%c

22、",&score); switch(score) case 'a': printf("a:90100n"); break; case 'b': printf("b:8089n");break; case 'c': printf("c:7079n");break; case 'd': printf("d:6069n");break; case 'e': printf("e:059n");break; _: printf("輸入錯誤n"); /* 空格5 */ 五、程序修改題(本題共2小題,共10分) 請在注釋“error”處修改程序中的錯誤,使它能得出正確的結(jié)果。注意:不要改動main 函數(shù),不得增行或刪行,也不得更改程序結(jié)構(gòu)!43.用指針變量輸出數(shù)值。#include <stdio.h>void main() int a =1,2,3,4,5,6,7,8,9,10,*p; *p=a; /* error1 */ printf("%fn",*p+9); /* error2 */44利用函數(shù)求兩個整數(shù)的最大公約數(shù)。#include &

溫馨提示

  • 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

提交評論