版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
PAGE2007/2008學(xué)年第2學(xué)期《C程序設(shè)計(jì)》期末考試試卷說(shuō)明: (1)考生應(yīng)將答案填寫(xiě)在答卷上,否則作無(wú)效處理;(2)考試時(shí)間為120分鐘。試題一、判斷題(每小題2分,共20分)說(shuō)明:在以下提供的若干陳述中,逐一判斷其正確與否,用A表示正確,用B表示錯(cuò)誤。(1)一個(gè)C語(yǔ)言程序可以有一個(gè)或多個(gè)函數(shù)組成。(2)流程圖是描述算法的最常用的方法之一。(3)在C語(yǔ)言中,符號(hào)A與a可以用來(lái)表示同一個(gè)變量。(4)在C語(yǔ)言中,‘1’和1表示同一個(gè)常量。(5)當(dāng)復(fù)合語(yǔ)句多于一條時(shí),要用一對(duì)括號(hào)括起來(lái)。(6)if語(yǔ)句只能用邏輯表達(dá)式作為其控制條件。(7)(8)如果定義了chara[10],則數(shù)組a可以能夠容納的最長(zhǎng)字符串長(zhǎng)度為10。(9)語(yǔ)句a<<=2執(zhí)行后,a的值將變?yōu)樵瓉?lái)的4倍。(10)結(jié)構(gòu)體成員的類型可以是另外一種結(jié)構(gòu)體類型。試題二、單選題(每小題2分,共20分)(11)下列語(yǔ)句或命令中,不符合C語(yǔ)言程序書(shū)寫(xiě)規(guī)則的是________。[A]inta; [B]a=6;[C]inta、b; [D]#include“stdio.h”(12)以下說(shuō)法正確的是________。[A]C語(yǔ)言程序是從第一個(gè)定義的函數(shù)開(kāi)始執(zhí)行的。[B]C語(yǔ)言程序中要調(diào)用的函數(shù)必須在main()函數(shù)中定義。[C]C語(yǔ)言程序是從main()函數(shù)開(kāi)始執(zhí)行的。[D]C語(yǔ)言程序的main()函數(shù)必須放在程序的開(kāi)始部分。(13)當(dāng)c=0時(shí),在下列選項(xiàng)中能正確將c的值賦給變量a、b的是______[A]c=b=a; [B](a=c)‖(b=c);[C](a=c)&&(b=c); [D]a=c=b;(14)下列說(shuō)法中正確的是________。[A]break語(yǔ)句用在switch語(yǔ)句中,而continue語(yǔ)句有在循環(huán)語(yǔ)句中。[B]break語(yǔ)句用在循環(huán)語(yǔ)句中,而continue語(yǔ)句有在switch語(yǔ)句中[C]break語(yǔ)句與continue語(yǔ)句均可以用在循環(huán)語(yǔ)句中。[D]break語(yǔ)句與continue語(yǔ)句均可以用在switch語(yǔ)句中。(15)以下C語(yǔ)言語(yǔ)句中,正確的是________。[A]unsignedinta[2*3]; [B]chars[N+1];[C]doublef[]; [D]floatb[4]={1,2,3,4,5};(16)以下敘述不正確的是________。[A]在不同的函數(shù)中可以使用相同名字的局部變量。[B]函數(shù)中的形式參數(shù)實(shí)際上是一個(gè)局部變量。[C]在一個(gè)函數(shù)內(nèi)定義的局部變量只有在本函數(shù)范圍內(nèi)有效。[D]在一個(gè)函數(shù)內(nèi)定義的靜態(tài)變量實(shí)際上是一個(gè)全局變量。(17)假設(shè)有以下定義:inta[5]={1,2,3,4,5},i=3,*p=a,*q=a;則不能正確執(zhí)行的語(yǔ)句是________。[A]i=*p+*q; [B]a=i;[C]*p=*(a+i); [D]i=*p**(q+2);(18)若以數(shù)組名作為函數(shù)的實(shí)參,則實(shí)參向形參傳送的是______。[A]數(shù)組第一個(gè)元素的值 [B]數(shù)組元素的值[C]數(shù)組的首地址 [D]數(shù)組名(19)以下有關(guān)宏定義的敘述,正確的是________。[A]宏名必須用大寫(xiě)字母表示 [B]帶參數(shù)的宏就是一個(gè)函數(shù)[C]宏名不具有類型 [D]宏定義和其它C語(yǔ)句,其末尾要加分號(hào)(20)假設(shè)有以下定義:inta=0xAA,b=0x55,則a&b的值為:________。[A]0x0 [B]0xff[C]0x01 [D]0xAA試題三、程序填空題(每空2分,共20分,)說(shuō)明:閱讀下列程序說(shuō)明和相應(yīng)程序,在每小題提供的若干可選答案中,挑選一個(gè)正確答案。程序1【程序說(shuō)明】從一個(gè)n行m列的矩陣中找出矩陣中最小數(shù)及它所在的行與列,并輸出它們。矩陣的行n與列m及矩陣的元素由鍵盤(pán)輸入?!境绦颉?include"stdio.h"#defineN100#defineM100voidmain(){floata[N][M],min;inti,j,n,m,col,row;scanf("%d,%d",&n,&m);for(i=0;i<n;i++)for(j=0;j<m;j++)scanf("%f",(21));min=a[0][0];for(i=0;i<n;i++)for(j=0;(22);j++){if((23))min=a[i][j];col=j;(24)}printf("最小的元素為:a[%d][%d]=%f",row,col,(25));}【選項(xiàng)】(21) [A]&a[i][j] [B]a[i][j][C]&a[j][i] [D]*(a[i]+j)(22) [A]j<=m [B]J<m [C]j<m [D]j==m(23) [A]a[i][j]>min [B]a[i][j]!=min [C]min>a[j][i] [D]a[i][j]<min(24) [A]i=row; [B]row=col; [C]row=i; [D]row=a[i][j];(25) [A]a[i][j] [B]min [C]a[row]+col [D]a[col][row]程序2【程序說(shuō)明】從鍵盤(pán)輸入一個(gè)字符串,將其中的大寫(xiě)字母按出現(xiàn)的順序連續(xù)放入另個(gè)一字符數(shù)組,形成另外一個(gè)字符串,并輸出之?!境绦颉?include<stdio.h>#defineN80voidmain(){charstr1[N+1],str2[N+1],*p=str1;inti=0;scanf("%s",str1);for(;(26);p++){if((27)){str2[i]=*p;(28)}}str2[i]='\0';puts(str2);}【選項(xiàng)】(26) [A]p!='\0' [B]*p<>'\0' [C]*p=!'\0' [D]*p!='\0'(27) [A]*p>='A'||*p<='Z' [B]*p>='A'&*p<='Z' [C]*p>='A'&&*p<='Z' [D]p>='A'&&p<='Z'(28) [A]i++; [B]&i++; [C]p++; [D]i=*p;程序3【程序說(shuō)明】從鍵盤(pán)輸入一百分制成績(jī),若用戶輸入錯(cuò)誤時(shí),重新讓其輸入,當(dāng)成績(jī)小于60分時(shí),輸出“fail!”,當(dāng)成績(jī)大等于60分時(shí),輸出“pass!”【程序】#include<stdio.h>voidmain(){floatscore;do{printf("pleaseinputthescore:\n");scanf("%f",&score);}(29)switch((int)score/10){case6:case7:case8:case9:case10:printf("pass!");break;(30)printf("fail!");break;}}【選項(xiàng)】(29) [A]while(score>100||score<0); [B]while(score>100&&score<0); [C]while(score>100||score>0); [D]while(score<=100||score>0);(30) [A]case5: [B]case0-5: [C]if(score<60) [D]default:
試題四、程序閱讀題(每小題5分,共20分)程序1、閱讀下列程序,寫(xiě)出程序運(yùn)行結(jié)果。#include<stdio.h>#defineF(x,y)x*x+y*yvoidmain(){inta=8,b=6;printf("%d\n",F(a,b));printf("%d",F(a,b+a));}程序2、閱讀下列程序,寫(xiě)出程序運(yùn)行結(jié)果。voidf1(intx,inty){intt;t=x;x=y;y=t;}voidf2(int*x,int*y){intt;t=*x;*x=*y;*y=t;}voidf3(int*x,int*y){int*t;t=x;x=y;y=t;}voidf4(intx,inty,int*x1,int*y1){*x1=y;*y1=x;}voidmain(){inta=-1,b=1;printf("(%d,%d)\n",a,b);f1(a,b);printf("(%d,%d)\n",a,b);f2(&a,&b);printf("(%d,%d)\n",a,b);f3(&a,&b);printf("(%d,%d)\n",a,b);f4(a,b,&a,&b);printf("(%d,%d)\n",a,b);}程序3、閱讀下列程序,寫(xiě)出程序運(yùn)行結(jié)果。#include<stdio.h>#defineN3structstudent{intnum;charname[20];intscore;};voidfunc1(structstudent*stud,intn){inti,j,k;structstudenttemp;for(i=0;i<n-1;++i){k=i;for(j=i+1;j<n;j++)if(stud[j].score<stud[k].score)k=j;temp=stud[k];stud[k]=stud[i];stud[i]=temp;}}voidfunc2(structstudent*stud){printf("%d%s%d\n",stud->num,stud->name,stud->score);}voidfunc3(structstudent*stud,intn){inti;for(i=0;i<n;i++){func2(&stud[i]);}}voidmain(){inti,j;structstudentstud[N]={{1,"Tom",90},{2,"Jake",78},{3,"Rose",99}};func3(&stud[0],N);func1(&stud[0],N);func3(&stud[0],N);}程序4、閱讀下列程序,寫(xiě)出程序運(yùn)行結(jié)果。voidmain(){intk=10;dok=k-1;while(k=0);printf("k=%d",k);}試題五、程序設(shè)計(jì)題(第1小題4分,第2、3小題各8分)編寫(xiě)程序,要求從鍵盤(pán)上輸入一個(gè)數(shù)給x,計(jì)算并輸出分段函數(shù)y的值。-xx<=01/x0<x<10-xx<=01/x0<x<10x2x>=10y=從鍵盤(pán)輸入一個(gè)正整數(shù)n,編寫(xiě)程序計(jì)算1!-2!+3!-4!+...+(-1)n-1*n!的值并輸出結(jié)果,要求定義和調(diào)用函數(shù)fact(n)計(jì)算n的階乘。已知華氏溫度與攝氏溫度的轉(zhuǎn)換公式為:c=(5/9)(f-32),設(shè)計(jì)程序?qū)∈(30,40)的每一華氏溫度轉(zhuǎn)換為攝氏溫度,并將以對(duì)照表的形式寫(xiě)入文件e:\data.txt中,即在文件中有兩列數(shù)據(jù),左邊一列為華氏溫度,右邊一列是左邊列對(duì)應(yīng)的攝氏溫度,兩列中間用空格隔開(kāi),每一華氏溫度和與之對(duì)應(yīng)的攝氏溫度占據(jù)一行?!禖程序設(shè)計(jì)》考試答案與評(píng)分標(biāo)準(zhǔn)一、判斷題(每小題2分,滿分20分)(1)(2)(3)(4)(5)(6)(7)(8)(9)(10)AABBBBABAA二、單選題(每小題2分,滿分20分)(11)(12)(13)(14)(15)(16)(17)(18)(19)(20)CCBCADBCCA三、程序填空題(每小題2分,滿分20分)(21)(22)(23)(24)(25)(26)(27)(28)(29)(30)ACDCBDCABd四、程序閱讀題(每小題5分,滿分20分)程序1程序2100126格式錯(cuò)扣1分,錯(cuò)一個(gè)數(shù)字扣2分。(-1,1)(-1,1)(1,-1)(1,-1)(-1,1)每行1分,格式錯(cuò)扣1分。程序3程序41Tom902Jake783Rose992Jake781Tom903Rose99格式錯(cuò)扣1分k=0*格式錯(cuò)扣1分五、程序設(shè)計(jì)題(每小題10分,滿分20分)評(píng)分標(biāo)準(zhǔn):include語(yǔ)句:0.5分評(píng)分標(biāo)準(zhǔn):include語(yǔ)句:0.5分主函數(shù)定義:0.5分變量定義:0.5分scanf語(yǔ)句:0.5分判斷結(jié)構(gòu)1.5分printf語(yǔ)句:0.5分#include<stdio.h>voidmain(){ floatx,y; scanf("%f",&x); if(x<=0)y=-x; elseif(x<10)y=1/x; elsey=x*x; printf("y=%f",y);}fact函數(shù)評(píng)分標(biāo)準(zhǔn):函數(shù)定義:0.5分變量定義及正確初始化:0.5分fact函數(shù)評(píng)分標(biāo)準(zhǔn):函數(shù)定義:0.5分變量定義及正確初始化:0.5分循環(huán)結(jié)構(gòu):1分返回語(yǔ)句:0.5分主函數(shù)評(píng)分標(biāo)準(zhǔn):include語(yǔ)句:0.5分主函數(shù)定義:0.5分變量定義及正確初始化:1分函數(shù)聲明:0.5分scanf輸入:0.5分循環(huán)結(jié)構(gòu):2分printf輸出:0.5分#include<stdio.h
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文化旅游用地租賃書(shū)
- 健康與安全管理辦法服務(wù)業(yè)篇
- 地?zé)岚l(fā)電站施工合同樣本
- 2024年上外版八年級(jí)科學(xué)下冊(cè)階段測(cè)試試卷
- 企業(yè)人事管理制度的標(biāo)準(zhǔn)化建設(shè)
- 云計(jì)算項(xiàng)目招投標(biāo)指南
- 辦公樓防火門(mén)施工協(xié)議
- 2024年新野縣人民醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫(kù)頻考點(diǎn)附帶答案
- 礦泉水公司財(cái)務(wù)會(huì)計(jì)聘用協(xié)議
- 《紅酒品鑒英文版》課件
- 注塑領(lǐng)班作業(yè)指導(dǎo)書(shū)
- 廣東省異地就醫(yī)備案登記表
- 光纜布線工程施工組織設(shè)計(jì)方案
- 食堂日??己嗽u(píng)分表(后勤)
- 高頻淬火設(shè)備安全操作規(guī)程
- 閘閥的操作力矩參考表
- 浙江省市政工程安全臺(tái)賬完整
- 環(huán)氧樹(shù)脂參考配方大全
- 花木綠化養(yǎng)護(hù)考核評(píng)分表
- #2鍋爐爐膛內(nèi)腳手架搭設(shè)及拆除施工方案
- 110KV變電站工程創(chuàng)優(yōu)監(jiān)理實(shí)施細(xì)則
評(píng)論
0/150
提交評(píng)論