C語言程序設(shè)測試二及答案_第1頁
C語言程序設(shè)測試二及答案_第2頁
C語言程序設(shè)測試二及答案_第3頁
已閱讀5頁,還剩7頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C 語言程序設(shè)計期末考試試題及其答案 一、單項選擇題(本大題共 20 題,每題 1 分,共 20分)1、A )。程序的執(zhí)行是從(一個CA本程序的main函數(shù)開始,到main函數(shù)結(jié)束B 本程序文件的第一個函數(shù)開始 , 到本程序文件的最后一個函數(shù)結(jié)束C 本程序的 main 函數(shù)開始 , 到本程序文件的最后一個函數(shù)結(jié)束D 本程序文件的第一個函數(shù)開始,到本程序 main 函數(shù)結(jié)束2、以下不正確的 C 語言標(biāo)識符是 ( D )A、ABCB、 abcC、 a_bc D 、 ab.c3、一個 C 語言程序是由 ( B )A、一個主程序和若干子程序組成B、函數(shù)組成C、若干過程組成D、若干子程序組成4、以下能對

2、一維數(shù)組a進行初始化的語句是:( C )A. int a5=(0,1,2,3,4,) B. int a(5)=C. int a3=0,1,2D. int a5=10*15、 設(shè)變量a是整型,f是實型,i是雙精度型,則表達式10+ a+i*f值的數(shù)據(jù)類型為 ( C )A、int B、 float C、 double D、 不確定6、C語言中函數(shù)返回值的類型是由( A )決定的.A、函數(shù)定義時指定的類型B、 return語句中的表達式類型C、調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型D、形參的數(shù)據(jù)類型7、 有如下程序,輸入數(shù)據(jù):12345M678V cR后(表示回車),x的值 是 ( B ) 。#include

3、main()int x;float y;scanf(=%f,&x,&y);A、12345 B、123 C、45 D、3458、設(shè)有以下說明語句:typedef struct stu int a;float b; stutype; 則下面敘述中錯誤的是( D )。A、struct是結(jié)構(gòu)類型的關(guān)鍵字是用戶定義的結(jié)構(gòu)類型 struct stu、 BC、a和b都是結(jié)構(gòu)成員名D、 stutype 是用戶定義的結(jié)構(gòu)體變量名9、若有說明: int n=2,*p=&n,*q=p, 則以下非法的賦值語句是 : ( D )A、 p=qB、*p=*qC、n=*qD、p=n10、已知 char x=hello, y=

4、h,e,a,b,e;, 則關(guān)于兩個數(shù)組長度的正確 描述是 ( B ) .A、相同B、x大于y C、x小于yD、以上答案都不對11、下列代碼輸出的是 ( C ) main()int a5=1,2,3,4,5;int *ptr = (int *)(&a+1); printf(%d,%d,*(a+1),*(ptr -1);A、 2,3 B、 2,4C、 2,5 D、 輸出錯誤12、有以下程序main() int a=1, b=3, c=5;int *p1=&a, *p2=&b, *p=&c;*p =*p1*(*p2); printf(%dn,c); 執(zhí)行后的輸出結(jié)果是 ( C )A、 1 B、 2

5、C、 3 D、 413、有以下程序段 #include int main() int x = 10, 20, 30;int *px = x;printf(%d, +*px); printf(%d, *px);px = x; printf(%d, (*px)+); printf(%d, *px);px = x;printf(%d, *px+);printf(%d, *px);px = x; printf(%d, *+px);printf(%dn, *px);return 0; 程序運行后的輸出結(jié)果是 ( A )A、 11,11,11,12,12,20,20,20 B、 20,10,11,10,1

6、1,10,11,10C、 11,11,11,12,12,13,20,20 D、 20,10,11,20,11,12,20,2014、如果在 C 程序中有 main(int argc,char*argv) ,那么 ( D )是指命令行參數(shù)個數(shù)。 中的A、 argv B、 argvC、 argc,argv D、 argc15、以下關(guān)于 typedef 的敘述不的是( B )A 用 typedef 可以定義各種類型名,但不能用來定義變量B 用 typedef 可以增加新類型C 用 typedef 只是將已存在的類型用一個新的名稱來代表D 用 typedef 便于程序的通用16、下面程序的運行結(jié)果是

7、(C )#includemain()int num=0;while(num= a &ch= A &ch= 0 &ch= 9)printf(It is a digit charactern);else if( ch= )printf(It is a space charactern);elseprintf(It is other charactern); 2、 若輸入字符串:abcde,則以下while循環(huán)體將執(zhí) 行_0次.while(ch=getchar()=e) printf(*);3、 若有定義:chars=china;則C編譯系統(tǒng)為數(shù)組s開辟6_個字節(jié)的內(nèi) 存 單元.列程序運行后的輸出結(jié)

8、果是 4_#includemain()int i,j;for(i=4;i=1;i -)printf(*);for(j=1;j=4 -i;j+)printf(*););6,8,10;則初始化后, a12 5、若有定義: int 得到的初值是0a21得到的初值是 66、在 C 語言中,二維數(shù)組元素的內(nèi)存中的存放順序是_按行主順序存放 _三、程序分析題(本大題共 4題,每題 2 分,共 8分,寫出程序執(zhí)行結(jié)果)1、#includemain( )int a,s,n,count;a=2;s=0;n=1;count=1;while(count=7) n=n*a; s=s+n; +count;printf(

9、“s=%d”,s);功能:求 S=0+2+4+8+16+32+64+128 和。輸出結(jié)果: s=2542、#includemain()int a33=1,3,5,7,9,11,13,15,17,sum=0,i,j;for (i=0;i3;i+) for(j=0;j3;j+) if (i=j) sum=sum+aij;printf( “ sum=%dn”,sum); 功能:出矩形陣 a 的主對角線上的元素之和。輸出結(jié)果: 273、#include main() char grade= C ;switch(grade); “90-100n”case A: printf();80-90n” : pr

10、intf(case B “);70-80n”C : printf( “case); break; 60-70n”D: printf( “case”); : printf( “60ncase E); ”default : printf( “error!n76 十進制為注: L70-8060-70 #include 、 4; int int n33=1,2 ,3;main( ) printf( “%d,” , m10+n00); printf(“%dn”,m01+n10);3,0屏幕 9/5 。四、編程題(本大題共 10 題,每題 6 分,共 60 分)1、編寫攝氏溫度、華氏溫度轉(zhuǎn)換程序。要求:從

11、鍵盤輸入一個攝氏溫度, 就顯示對應(yīng)的華氏溫度,輸出取兩位小數(shù)。轉(zhuǎn)換公式:F= (C+32)X#include stdafx.h #include int main() float c,f; printf(input c:); scanf(%f,&c); f= (c+32.0)*9.0/5.0; printf(F=%.2f n,f); system(pause);2、 試編程判斷輸入的正整數(shù)是否既是5又是7的正倍數(shù)。若是,則輸出yes;否 則輸出 no。#include stdafx.h#include int main()int x; scanf(%d,&x);if(x%5=0&x%7=0)

12、printf(yes);elseprintf(o);system(pause);3、判斷數(shù) m 是否為素數(shù)(只能被 1 和它本身整除的整數(shù)) ?#include stdafx.h#include int main()bool isPrime(unsigned long);int m;printf(input m:);scanf(%d,&m);if(isPrime(m)printf(m is a prime number!n);elseprintf(m is not a prime number!n);system(pause);bool isPrime(unsigned long n)if (

13、n 1; else if (n % 2 = 0 | n % 3 = 0) return false; else for (unsigned short i = 5; i * i = n; i += 6) if (n % i = 0 | n % (i + 2) = 0) return false;return true;4、對 15 個數(shù)進行排序,按從小到大的順序輸出 #include stdafx.h#include int main()int i,j,a15,t;printf(input 15 numbers:n);for(i=0;i15;i+)scanf(%d,&ai);for(j=0;j

14、14;j+)for(i=0;iai+1)t=ai;ai=ai+1;ai+1=t; for(i=0;i15;i+)printf(,ai););system(pause);5、(* )編程輸出如下圖形(不能僅用 printf 語句):#include stdafx.h#include int main()int i,k,j; for(i=0;i=4;i+) for(j=0;j4 -i;j+) printf( );for(k=0;k=2*i;k+)printf(*););system(pause);6請編程序?qū)ⅰ?China”譯成密碼,密碼規(guī)律是:用原來的字母后面第 4個字 母代替原來的字母。例如,

15、字母” A”后面第4個字母是” E”,用” E” ,用E 代替A,因此,” China”應(yīng)譯為” Glmre” 請編寫一程序,用賦初值的方法使c1,c2, c3, c4,c5這5個變量的值分別為C h i n a,經(jīng)過運算,使c1, c2, c3,c4, c5分別變成G i m廣e.分別用putchar函數(shù)和printf函數(shù)輸出這5個字符。Printf#include stdafx.h#include int main()char c1=C,c2=h,c3=i,c4=n,c5=a;printf(%c%c%c%c%c,c1+4,c2+4,c3+4,c4+4,c5+4);system(pause)

16、;Putchar#include stdafx.h#include int main()char c1=C,c2=h,c3=i,c4=n,c5=a;putchar(c1+4);putchar(c2+4);putchar(c3+4);putchar(c4+4);putchar(c5+4);system(pause);7、有 1、2、3、4個數(shù)字,能組成多少個互不相同且無重復(fù)數(shù)字的三位數(shù)?都是 多少#include stdafx.h#include int main()int count =0;for(int i=1;i5;i+)for(int j=1;j5;j+)for(int n=1;n5;n

17、+)if(i!=j&i!=n&j!=n)printf(%d%d%d%n,i,j,n);count+;牰湩晴尨一共有 %dn,count);system(pause);8、請編寫程序,輸出以下?lián)P輝三角形 ( 要求輸出 10 行)。 第一種#include stdafx.h#include # define N 10int main()int i,j;int aNN;for(i=1;iN;i+)ai1=1; / 每行第一個輸出 1aii=1; / 每行末尾輸出 1for(i=3;iN;i+)for(j=2;j=i -1;j+)aij=ai -1j-1+ai-1j;/第i行j列的數(shù)等于他低下一行的相

18、鄰左右數(shù)的和。for(i=1;iN;i+)for(j=1;j=N -i-1;j+)printf( );/輸出三角 前面用空格填充for(j=1;j=i;j+)輸出三角數(shù)值 printf(M,aij);/);/換行);system(pause);第二種#include stdafx.h#include #define M 10#define N 10 int main() int aMN,i,j; for(i=0;iM;i+) for(j=0;j=i;j+) if(j=0|j=i) aij=1;else aij=ai -1j-1+ai-1j;for(i=0;iM;i+) for(j=0;j=i;

19、j+) printf(M,aij);); system(pause);9、寫一程序,要求用戶在鍵盤上輸入一個整數(shù),并把每位數(shù)字轉(zhuǎn)換為英文。例 如:輸入 1024 時,輸出 One Zero Two Four#include stdafx.h #include int main() long int n; int m,i=0,c10; scanf(%ld,&n); do m=n_x0010_; i+;ci=m; printf(n,i,m,ci);while (n/=10)0); while(i=1) i-;switch(ci+1)case 0: printf(zero);printf( );break; case 1: printf(one);printf( ); break; case 2: printf( wo);printf( ); break; case 3: printf( hree);printf( );break;case 4: printf(our);printf( );break; case 5:

溫馨提示

  • 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)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論