c語言試卷及答案2_第1頁
c語言試卷及答案2_第2頁
c語言試卷及答案2_第3頁
c語言試卷及答案2_第4頁
c語言試卷及答案2_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、浙江理工大學 C程序設計 試題(二)浙江理工大學一、判斷題(判斷下列各小題,正確的在題后括號內打"",錯的打"×"。每小題1分,共10分) 1. s(s-a)(s-b)(s-c)是合法的C語言表達式。2. 表達式!6的值是6。3. 在C語言程序中,在函數內部定義的變量稱為全局變量。4. 結構體變量可以被整體賦值. 5. 結構體類型的成員可以定義成該結構體類型的指針類型6. 字符型數組中可以存放字符串7. 可以在賦值語句中通過賦值運算符"="對字符型數組進行整體賦值8. 運算符“=”和“&=”的優先級相同。9. %f是

2、不正確的字符常量。10. 表達式(2<<1)的值是5。二、單項選擇題(在每小題的四個備選答案中,選出一個正確答案,并將正確答案的序號填在題干的括號內。每小題2分,共20分) 1. 當c的值不為0時,在下列選項中能正確將c的值賦給變量a、b的是_A c=b=a; B (a=c)(b=c);C (a=c)&&(b=c); D a=c=b;2. 在C語言中,不正確的int類型的常數是_A C B 0 C 037 D 0xAX3. 在C語言類型中,int ,char, short等類型的長度是_ A.固定的 B.由用戶自己定義 C.任意的 D.與機器字長有關 4. 設a=3

3、,b=2,c=3,d=4,則表達式:a<b?a:c<d?a:d的結果為_A 3 B 2 C 4 D 15. 設有如下定義:int x=l,y=-1;,則語句:printf("%dn",(x- & y+);的輸出結果是_A 1 B 0 C -1 D 26. 下列語句中符合C語言語法的賦值語句是_A a=7+b+c=a+7; B a=7+b+=a+7;C ) a=7+b,b+,a+7 D a=7+b,c=a+7;7. 若a為二維數組,則a12等價于_A. *(a+1)+3) B. *(a1+3) C. (*(a+1)+3) D. &a1+38. 下列

4、表達式中,錯誤的是_. A.2>1 ? a:b B.i+j C.4.0%2.0 D.x*=y+89. 若以數組元素作為函數的實參,則實參向形參傳送的是_. A.數組元素的地址 B.數組元素的值 C.數組的首地址 B.數組名10. 設有如下的共用體定義: union data int i; long b; float f; a; 則a所占的內存單元為_個字節. A.4 B.16 C.8 D.10三、程序填空題(閱讀以下程序說明和相應程序(段),在每小題提供的若干可選答案中,選出一個正確答案,并將正確答案的序號填在題干的括號內。每小題2分,共20分)1【程序說明】 下面程序是查找學生的成績,

5、完成該程序。輸入值為學生序號,當輸入為-1時程序結束。【程序】 #include <stdio.h> main( )void search (float (*p) 3, int i ); float score 43=75,78,82,66,72,77,85,90,81,74,89,68; while (1) scanf (“%d” &i ); if(_1_)break; search(_2_);void search (float (*p)3,int i ) int k; print (“The score of No %d are n”,i ); for(_3_) pr

6、intf( “%5.2f”,_4_);(1) A、i= =0 B、break C、return D、i = = -1(2) A、p B、score, i C、&score, i D、p, i(3) A、i=0;i<3; i+ B、k=1;k<=3;k+i C、k=2; k>0; k- D、k=0;k<3;k+(4) A、*pi+k B、pik C、scoreik D、*scorei+k 2.【程序說明】 輸入一個字符串,將其中的大寫字母轉換為小寫字母后輸出。【程序】 #include <stdio.h> void main( )char str80;

7、 int k; gets(str);for (k=0;strk!=0;k+); if ( (5) ) (6) ; puts(str); (5) A、k= =0 B、strk<a C、strk<a D、k < = 80(6) A、k+ B、strk=strk-32 C、k=32 D、str32 -= k3【程序說明】在 n 行 n 列的矩陣中,每行都有最大的數,本程序求這 n 個最大數中的最小一個【程序】#includestdio.h#define N 100int aNN;void main() int row ,col ,max ,min ,n;  &#

8、160; /*輸入合法 n (100 ,和輸入 n×n 個整數到數組 a 的代碼略*/    for ( row = 0;row < n;row+)         for ( max = arow0,col = l ;col < n;col+)            if (_7_) max = arowcol;    &#

9、160;   if (_8_)min = max;        else if(_9_)min = max;        printf ("The min of max numbers is _10_n",min);(7) A、max<aij B、max>arowcol C、max>aij D、max = =a ij(8) A、min<aij B、max<min C、max>min D、

10、i= =0(9) A、max<aij B、max<min C、max>min D、max = =min(10) A、%5i B、%5d C、%5f D、%5c四、閱讀理解題(閱讀下列程序或程序段,寫出運行結果,每小題5分,共20分)1 閱讀下面程序,給出輸出結果。 main( ) int i, j, k; for(i=1; i<10; i+) printf(“n”); if(i<=5) for(j=1; j<=i; j+) for(k=1;k<=5-i;k+) printf(“#”); printf(“* “); else for (j=1; j<

11、;=10-i;j+) for(k=1;k<=i-5;k+) printf(“#”); printf(“* ”); 2 閱讀下面程序,寫出運行結果。#include <stdio.h> void main( ) long fun(long number); printf(“%1dn”,fun(-974); long fun(long number) int flag; long res=0;flag=number<0 ? -1:1; if (number<0) number=-number; res=res*10+number%10; printf(“%d#”,re

12、s); return flag*res; 3 閱讀下面程序,指出下面程序所完成的功能main()int a=5,b=6;int c,d,x;c=1;d=-1;a+;if (a<b) if (c<d)  x=1;   else if(a<c) if(b<d)x=2;    elsex=3;    elsex=6;else   x=7; printf(“x=%3dn”,x);4分析以下程序: #include “string.h” main() char

13、c,string81; int i,a=0,b=0; gets(string); for(i=0;(c=stringi)!='0'i+) if (c=' ') a=0; else if (a=0) a=1;b+; printf("%dn",b); 若輸入:a b c,則程序運行后,輸出結果為_,且c的值為_,a的值為_.五、編程題(每題10分,共30分) (1) 有函數f(x)=1-x /2+x/4-x/6+x/8 編寫程序求f(x),使誤差小于0.0000001。(2) 有一函數: 寫一程序,輸入x, 輸出y 值。(3) 隨機產生15個數屬

14、于30,150范圍的數,請按由從小到大排序。請輸出排序前后的數,要求每行輸出5個數。C程序設計試題2考試答案與評分標準(一)、判斷題(每小題1分,滿分10分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)BBBBAABAAA(二)、單選題(每小題2分,滿分20分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)CDDAADCCBD(三)、程序填空題(每小題2分,滿分20分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)DBDACBABDB(四)、程序閱讀題(每小題5分,滿分15分)程序1程序2#* #* #* #* #* #* #* #* #* #

15、* * * * * * #* #* #* #* #* #* #* #* #* #* 4#-4程序3程序4x= 73c的值為_0 _,a的值為_1_五、程序設計題(每小題10分,滿分20分)1、double f(float x) double s=1,t=0; int i=2,f=1; do f=-f; t=x/i; s=s+f*t; i=i+2; while(t<1e-7); 2、#include <stdio.h>#include <math.h>int main() float x,y,a,b,c; scanf("%f %f %f %f",&x,&a,&b,&c); if(x<1) y=a*x*x+b*x+c; else if(x>=10) y=3*x+10 else y=a*log(x)+cos(x*x*x); printf("y=%fn",y);3.#include <stdio.h>#i

溫馨提示

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

評論

0/150

提交評論