浙江理工大學(xué)C語言期末試卷(含答案)_第1頁
浙江理工大學(xué)C語言期末試卷(含答案)_第2頁
浙江理工大學(xué)C語言期末試卷(含答案)_第3頁
浙江理工大學(xué)C語言期末試卷(含答案)_第4頁
浙江理工大學(xué)C語言期末試卷(含答案)_第5頁
免費(fèi)預(yù)覽已結(jié)束,剩余6頁可下載查看

下載本文檔

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

文檔簡介

1、D nD intD 121Dp=a+2;C 程序設(shè)計(jì)試卷一、 單選題(本題共20 分,每小題2 分)(1 以下C語言常量中,表達(dá)錯(cuò)誤的是。)A 0FFB 3.2e0.5C 5.6(2C程序的基本結(jié)構(gòu)有 (2)。)A選擇、重復(fù)和模塊B順序、選擇和模塊C順序、選擇和循環(huán)D邏輯、物理和程序(3在C語言程序中,關(guān)于字符串的描述正確的是。)A可定義一個(gè)字符串變量存儲(chǔ)字符串;B 可定義一個(gè)字符變量存儲(chǔ)任意字符串;C 可定義一個(gè)字符數(shù)組存儲(chǔ)字符串;D 可定義一個(gè)字符指針存儲(chǔ)字符串;(4 在C語言中,用關(guān)鍵字 (4) 定義雙精度類型變量。)A singleB doubleC float(5 下面敘述中不正確的

2、是_(5)_ 。)A 不同函數(shù)中可以使用相同名字的變量B 形式參數(shù)是局部變量C 在一個(gè)函數(shù)內(nèi)部的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效D 在一個(gè)函數(shù)內(nèi)部定義的變量只能在本函數(shù)范圍內(nèi)有效(6 下面程序段的輸出結(jié)果是_(6)_ 。)int i=100;while(i>120)i=i+1;printf( " %d , i);A 100B 101C 120(7 以下定義語句中正確的是_(7)_ 。)A char a='A' b='B'B float a=b=10.0;C int a=10, *b=&a;D float *a,b=&a;(8

3、 已有定義:int i, a10, *p;, 則合法的賦值語句是_(8)_ 。)A p=100;B p=a5;C p=a2+2;(9 設(shè)有定義:int a,*p1=&a; 以下scanf語句中能正確為變量a讀入數(shù)據(jù)的是 (9)A scanf( "%d ,p 1);B scanf( "%d ,a);C s canf( "d ,&p 1);D scanf( "%d ,*p 1);(1以下程序段中與語句 =a>b?(b>c?10)0 ;功能等價(jià)的是 (10)。0)A if(a>b)&&(b>c) =1 e

4、lse =0;B if(a>b)|(b>c) =1 else =0;C if(a<=b) =0;D if(a>b) =1;二、 程序填空題(本題共30分,每小題2分)閱讀下列程序說明和程序代碼,在每小題提供的若干可選項(xiàng)中,挑選一個(gè)最佳的選項(xiàng)。(1)【程序說明】輸入整數(shù)n,輸出共有n層的金字塔圖形。例如:k "明教學(xué)05崛拿講iwrnr|輸入層數(shù)百Press any key to continue. 【程序代碼】# include <stdio.h>void main() int i,j,n;char c='*'printf(&quo

5、t; 輸入層數(shù):");scanf("%d",&n);for(i=1;(11);i+)for(j=1;j<=n-i;(12)printf("");for(j=1;(13);j+)printf(14),c);printf("n"); 換行,在內(nèi)嵌循環(huán)結(jié)束后執(zhí)行(15)【選項(xiàng)】(1A i<=n+1B i<=nC i<nD i=n1)(1A i+B j=i+1C j+D i=j+12)(1A j>=2*i-1B j<=2*i-1C j<=2*n-1D j<=n3)(1A &qu

6、ot;%d"B "%s"C "%c"D "%f"4)(1A B)C ;D以上選項(xiàng)都不止5) 確(2)【程序說明】【程序代碼】#include <stdio.h> main() 輸入年份判斷是否閏年。int year,leap;scanf("%d",(16);if (year%4=0) if (year%100=0)if (year%400=0)leap=1;(17)leap=0;elseleap=1;else(18);if (19)printf ("%d is ",(20)

7、;printf ("%d is not ",year);printf ("a leap year.n");【選項(xiàng)】(16)A yearB &yearC &nD &leap(17)A else ifif(leap=1)Belse;C elseDelse(18A leap=0B leap=1C year=0D year=1)(19)Ayear=1確B leapC leap =0D以上選項(xiàng)都不止(20AleapB &leapCyearD&year)【程序說明】輸入十個(gè)整數(shù)并保存在一維數(shù)組中,使數(shù)組中每個(gè)兀素都增加10?!?/p>

8、程序代碼】#include <stdio.h>main() int a10,i;(21)p=a;for (i=0;i<10;i+)scanf("%d",(22);(23);for (p=a;p<(a+10);p+)(24)printf("n");(25);for (;p<(a+10);p+)printf("%d ",*p);【選項(xiàng)】(A int p10B int *p;C int p;D int a;(A a+B apC *pD p22)(A p+B a+C*p+D *a+23)(A *a=*a+10;B

9、 *p=*(p+10);C *p=*p+10;D *a=*(a+i);24)(A p=a0B p=*aC p=aD *p=&a)三、 程序閱讀題(本題共20 分,每小題2 分)閱讀下列程序并回答問題,在每小題提供的若干可選答案中,挑選一個(gè)正確的答案。(1) 【程序說明】運(yùn)行程序并回答問題。【程序代碼】#include <stdio.h>#include <math.h>void main() int n,s=0;scanf("%d",&n);n=fabs(n);while(n>1) s=s+n%10;n=n/10;printf(

10、"%dn",s);【選項(xiàng)】D 3 為。D 51.04(2 程序運(yùn)行時(shí)輸入312,輸出_(26)_ 。6) A 213B 6C 312(2 程序運(yùn)行時(shí)輸入-5104 ,輸出_(27)_ 。7) A-5104B - 4015C10(2) 【程序說明】運(yùn)行程序并回答問題?!境绦虼a】# include <stdio.h>void main()int a,b,c,temp;a=5;b=12;c=6;printf("a=%d,b=%d,c=%dn",a,b,c);if(a<b) swap(&a,&b);if(a<c) swa

11、p(&a,&c);printf("a=%d,b=%d,c=%dn",a,b,c);if(b<c) swap(&b,&c);printf("a=%d,b=%d,c=%dn",a,b,c);void swap(int *,int *y)int temp;temp=*;=y;*y=temp;【選項(xiàng)】(2 程序運(yùn)行時(shí),第1 行輸出8) A a=5,b=12,c=6C a=5.0,b=12.0,c=6.0(2 程序運(yùn)行時(shí),第2 行輸出9) A a=5,b=12,c=6C a=12,b=5,c=6(3 程序運(yùn)行時(shí),第3 行輸出(

12、28)_ 。B a=%d,b=%d,c=%dD a=12,b=5,c=6(28)_ 。B a=6,b=12,c=5D a=12,b=6,c=5(30)_ 。0)A a=5,b=12,c=6B a=6,b=12,c=5Ca=12,b=5,c=6D a=12,b=6,c=5(3) 【程序說明】運(yùn)行程序并回答問題。【程序代碼】#include <stdio.h>void main()char s140;int i=0;printf("nInput a string");scanf("%s",s1);while (s1i !='0')

13、if (s1i>='A' && s1i <='') s1i=s1i+32;i+;printf("n%sn",s1);【選項(xiàng)】(3程序運(yùn)行時(shí),輸入輸入abc30DCA 輸出(31)_。1)A 62B abc30dcaC abc(3程序運(yùn)行時(shí),輸入 Face,輸出(32)_。2)A Face32B FACE(4) 【程序說明】運(yùn)行程序并回答問題?!境绦虼a】C faceD DCAD f#include <stdio.h>void main()FILE *fp;int i,j,y;scanf("%d

14、%d",&i,&j);fp=fopen("t.dat","w");fprintf(fp,"%dn",i);if (i<j)=j;else if(i>j)=i;else=i+j;fprintf(fp,"%dn",);fclose(fp);fp=fopen("t.dat","r");fscanf(fp,"%d%d",&,&y); printf("=%d,y=%dn",y); fclose

15、(fp);【選項(xiàng)】(3程序運(yùn)行時(shí),輸入2012 輸出_(33)_ 。3)A =20,y=20B =20,y=12C =12,y=20D =12,y=12(3程序運(yùn)行時(shí),輸入1035 輸出_(34)_ 。4)A =45,y=45B =10,y=10C =10,y=35D =35,y=35(3程序運(yùn)行時(shí),輸入1212 輸出_(35)_ 。5)A =24,y=24B =12,y=12C =24,y=12D =12,y=24四、程序設(shè)計(jì)題(本題共30分,每小題10分)(1)編寫程序,要求從鍵盤上輸入一個(gè)數(shù)給,計(jì)算并輸出分段函數(shù)y的值。+ 1010<x 15-3<0k提示:平方根函數(shù)為:sq

16、rt(),指數(shù)函數(shù)為:ep(),正切函數(shù)為:tan(),正弦函數(shù)為:sin(), 所有這些函數(shù)在math.h頭文件中。(2)從鍵盤輸入一個(gè)正整數(shù)n,編寫程序計(jì)算1/1!+1/2!+1/3!+1/n!的值并輸出結(jié)果, 要求定義和調(diào)用函數(shù) fact (n) 計(jì)算n的階乘。(3)隨機(jī)產(chǎn)生20個(gè)大于等于1小于等于100的數(shù),并按從大到小排序。請(qǐng)輸出排序后的數(shù),要求每行輸出5個(gè)數(shù)。浙江理工大學(xué)2005/2006下學(xué)期期末考試-C程序設(shè)計(jì)試題參考答案與評(píng)分標(biāo)準(zhǔn)、單選題(本題共 20分,每小題2分)題號(hào)12345678910答案BCCBCACDAA、程序填空題(本題共 30分,每小題2分)題號(hào)1112131

17、4151617181920答案BCBCABCABC題號(hào)2122232425答案BDACC三、程序閱讀題(本題共 20分,每小題2分)題號(hào)26272829303132333435答案BCACDBCACD四、編程題(本題共30分,每小題10分)1、# include <stdio.h># include <math.h>void main()float ,y;scanf("%f",&);if(>10) y=+10;else if(>=0) y=(sqrt(5*)+ep()/(+1);else y=tan()*sin();printf(

18、"y=%fn",y);2、#include<stdio.h>float fact(int n)float t=1.0;int i=1;while (i<=n)t=t*i+;return(t);void main()int n,i ;float sum=1.0;scanf("%d",&n);for (i=2;i<=n;i+)sum=sum+1.0/fact(i); printf("%fn",sum);3、#include<stdio.h>#include<stdlib.h>void main()int i,j,n=0,temp,20;srand(time(NULL);printf(" 原始數(shù)據(jù):n");for(i=0;i<=19;i+)i=rand()%100+1; /產(chǎn)生 20 個(gè)隨機(jī)數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論