浙江理工大學(xué)C程序設(shè)計試題04_第1頁
浙江理工大學(xué)C程序設(shè)計試題04_第2頁
浙江理工大學(xué)C程序設(shè)計試題04_第3頁
浙江理工大學(xué)C程序設(shè)計試題04_第4頁
浙江理工大學(xué)C程序設(shè)計試題04_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

浙江理工大學(xué)C程序設(shè)計試題(四)C程序設(shè)計考試試卷試題一、判斷題(每題1分,共10分)說明:在以下提供的若干陳述中,逐一判斷其正確與否,選A表示正確,選B表示錯誤。在C語言中,常量和變量都有數(shù)據(jù)類型。C語言的運(yùn)算符只有單目運(yùn)算符和雙目運(yùn)算符兩種。若變量已正確定義,表達(dá)式x+y=z符合C語言語法。C編輯器可以找出C源程序中所有的語法錯誤和邏輯錯誤。表達(dá)式3*5/2和表達(dá)式3/2*5等價。表達(dá)式m=n++的求解順序是先計算機(jī)m=n,再計算機(jī)n=n+1。變量名fahr和Fahr代表兩個不同的變量。若表達(dá)式sizeof(unsigned)的值為2,則unsigned類型數(shù)據(jù)能表示的最大整數(shù)為216-1。break語句只能用于循環(huán)結(jié)構(gòu)中。while語句先判斷循環(huán)條件,所以循環(huán)體有可能一次也不執(zhí)行。試題二、單選題(每題2分,共20分)執(zhí)行scanf("%d%1f%d",&money,&money,&year),輸入______后,money=1000,year=3,rate=0.025。 A、100030.025 B、10000.0253 C、1000,3,0.025 D、1000,0.025,3判斷變量ch是英文字母的表達(dá)式為________。 A、('a'<=ch<='z')||('A'<=ch<='Z') B、(ch>='a'&&ch<='z')&&(ch>='A'&&ch<='Z') C、(ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z') D、('A'<=ch<='z')&&('A'<=ch<='z')while(_____)等價于while(!x)。 A、x==1 B、x==0 C、x!=0 D、x!=1以下程序段輸出字符串str,其中循環(huán)條件str[i]!=’\0’還可以寫成_____。charstr[80];for(i=0;str[i]!='\0';i++)putchar(str[i]); A、str[i]!=NULL B、i<80 C、!(str[i]!='\0') D、i<=80設(shè)變量定義為:intn,*p;chrch,*q,*g;,則語句______是不正確的。 A、p=&n;g=q=&ch; B、p=&n;q=&ch; C、p=&n;g=&ch; D、p=&n;q=&ch;g=p;設(shè)變量定義如下,則對其中的結(jié)構(gòu)分量num正確的引用是______。structstudent{intnum;charname[20];floatscore;}stud[10]; A、stud[1].num=10; B、student.stud.num=10; C、struct.stud.num=10; D、structstudent.num=10;對于以下遞歸函數(shù)f,調(diào)用函數(shù)f(2,'1','3')的輸出結(jié)果是______。voidf(intn,chara,charb,charc){if(n==1)printf("%c->%c#",a,b);else{f(n-1,a,c,b);printf("%c->%c#",a,b);f(n-1,c,b,a);}} A、1->2#1->3#3->2# B、3->2#1->2#1->3# C、’1’->’3’#’3’->’2’#’1’->’2’# D、1->3#1->2#3->2#下列程序段的輸出結(jié)果是_______。for(p=a;p<a+3;p++)t=t+*p;printf("%d",t); A、15 B、16 C、10 D、不確定設(shè)變量定義為:int*p[3],a[3];,______是正確的賦值。 A、p=&a[0] B、*p=**a C、p[0]=a D、**p=a對于以下的變量定義,語句______在語法和語義上都是正確的。structnode{floatx,y;chars[10];}point={1,2,"abc"},*p; A、*p=point; B、p=&point; C、point=p; D、p->x=point.y;試題三、程序填空(每空2分,共20分)說明:閱讀下列程序說明和相應(yīng)程序,在每小題提供的若干可選答案中,挑選一個正確答案。程序1、【程序說明】 根據(jù)下式計算s的值,要求精確到最后一項的絕對值小于10-6。【程序】#include<stdio.h>#include<math.h>voidmain(){intflag=1,t=1;(21);while((22)){item=flag*1.0/t;s=s+item;(23);t=t+2;}printf("s=%f\n",s);}21) A、doubleitem=2,s=0; B、doubleitem=0,s=0; C、doubleitem=1,s=1 D、doubleitem=3,s=1;22) A、item<1E-6; B、item>=1E-6; C、fabs(item)<1E-6; D、fabs(item)>=1E-6;23) A、flag=-1; B、s=-s C、flag=-flag D、t=-t程序2、【程序說明】 驗證歌德巴赫猜想:任何一個大于6的偶數(shù)均可表示為兩個素數(shù)之和。列如6=3+3,8=3+5,…,18=7+11。將6~100之間的每個偶數(shù)都表示成兩個素數(shù)之和。函數(shù)prime(m)用于判斷m是否為素數(shù)。素數(shù)就是只能被1和自身整除的正整數(shù),1不是素數(shù),2是素數(shù)?!境绦颉?include<stdio.h>#include<math.h>voidmain(){inti,k;intprime(intm);for(i=6;i<=100;i=i+2)for(k=3;k<=50;k++)if(24){printf("%d=%d+%d\n",i,k,i-k);break;}}intprime(intm){intk,n;if(m==1)return0;n=(int)sqrt(m);for(k=2;k<=n;k++)(25)(26)}24) A、prime(i) B、prime(i)&&prime(k) C、prime(i)&&prime(i-k) D、prime(k)25) A、if(m%k!=0)return0; B、if(m%k==0)return0; C、if(m%k==0)return1; D、if(m%k!=0)return1;26) A、return0; B、return1; C、elsereturn0; D、elsereturn1;程序3、【程序說明】 輸入一個字符串(少于80個字符),濾去所有的非八進(jìn)制字符后,組成一個新字符串(八進(jìn)制形式),然后將其轉(zhuǎn)換為十進(jìn)制整數(shù)后輸出。函數(shù)stoi(str)將八進(jìn)制形式的字符串str轉(zhuǎn)換為十進(jìn)制整數(shù),例如,stoi(“12”)的值為10(八進(jìn)制12對應(yīng)十進(jìn)制10)。#include<stdio.h>voidmain(){inti,k;chars[10]intstoi(char*str);gets(s);for(i=k=0;s[i]!='\0';i++)if(s[i]<='7'&&s[i]>='0')(27); (28)printf("digit=%d\n",(29));}intstoi(char*str){inti,n=0;for(i=0;str[i]!='\0';i++)(30);returnn;}27) A、s[i]=s[k];i++ B、s[k]=s[i] C、s[k]=s[i];k++ D、s[i]=s[k]28) A、s[i]!=‘\0’ B、s[k]!=‘\0’ C、s[i]=‘\0’ D、s[k]=‘\0’29) A、stoi(s) B、s C、stoi(s[i]) D、n30) A、n=n*8+(str[i]–‘0’) B、n=n*10+(str[i]–‘0’) C、n=n*8+str[i] D、n=n+str[i]試題四、程序閱讀題(每題5分,共20分)說明:閱讀下列程序,將運(yùn)行時的輸出結(jié)果寫在答卷紙的相應(yīng)提號下。程序1#include<stdio.h>voidmain(){intx=10023;do{printf("%d#",x%10);x=x/10;}while(x!=0);}程序2#include<stdio.h>voidmain(){inti,x=1,y=1;for(i=1;i<=5;i++){x=x+y;y++;printf("%d#",x);}}程序3#include<stdio.h>voidmain(){intx=1,y=1;voidf(intm,intn,int*px,int*py);f(2004,70,&x,&y);printf("%d#%d#",x,y);f(2005,98,&x,&y);printf("%d#%d#",x,y);}voidf(intm,intn,int*px,int*py){intk,flag;inttab[2][13]={{0,31,28,31,30,31,30,31,31,30,31,30,31},{0,31,29,31,30,31,30,31,31,30,31,30,31},};flag=m%4==0&&m%100!=0||m%400==0;for(k=1;n>tab[flag][k];k++)n=n-tab[flag][k];*px=k;*py=n;}程序4/*假設(shè)讀寫文件的操作能正常完成*/#include<stdio.h>#include<stdlib.h>voidmain(){charch,*s="ACEDB";intx;FILE*in;if((in=fopen("file.txt","w"))!=NULL)while(*s!='\0')fputc(*s++,in);fclose(in);if((in=fopen("file.txt","r"))!=NULL)while((ch=fgetc(in)!=EOF)){switch(ch){case'A':x=95;break;case'B':x=85;break;case'C':x=75;break;case'D':x=60;break;default:x=0;break;}printf("%d#",x);}fclose(in);}試題五、程序設(shè)計題(每題10分,共30分)輸入

x,計算并輸出下列分段函數(shù)f(x)的值。可以調(diào)用數(shù)學(xué)庫函數(shù):平方根函數(shù)sqrt(),絕對值函數(shù)fabs()和冪函數(shù)pow()。2.輸出一張攝氏—華氏溫度轉(zhuǎn)換表,攝氏溫度的取值區(qū)間是[-100℃,150℃],溫度間隔5℃。要求定義和調(diào)用函數(shù)ctof(c),將攝氏溫度C轉(zhuǎn)換為華氏溫度F,計算公式:F=32+C*9/53.輸入一個正整數(shù)n(1≤n≤6),在輸入一個n行n列的矩陣,找出該矩陣中絕對值最大的元素以它的行下標(biāo)和列下標(biāo)?!禖程序設(shè)計》試題4考試答案與評分標(biāo)準(zhǔn)(一)、判斷題(每小題1分,滿分10分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)對錯錯錯錯催催錯錯對(二)、單選題(每小題2分,滿分20分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)BCBADADDCB(三)、程序填空題(每小題2分,滿分20分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)ADCCBBCDAA(四)、程序閱讀題(每小題5分,滿分15分)程序1程序23#2#0#0#1#2#4#7#11#16#程序3程序43#10#4#8#95#75#0#60#85#五、程序設(shè)計題(每小題10分,滿分20分)1、#include<stdio.h>#include<math.h>voidmain(){floatf,x;printf("pleaseinputthex:");scanf("%f",&x);if(x<0)f=fabs(x);elseif(x<2)f=sqrt(x+1);elseif(x<4)f=pow((x+2),3);elsef=2*x+5;printf("f(%.2f)=%.2f\n",x,f);

}2、#include<stdio.h>

#include<math.h>

floatctof(floatc)

{

floatf;

f=32+c*9/5;

returnf;

}

voidmain()

{

inti;

printf("攝氏溫度\t華氏溫度\n");

for(in

溫馨提示

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

評論

0/150

提交評論