上海市高等學(xué)校計(jì)算機(jī)等級(jí)考試試卷二級(jí)C語言程序設(shè)計(jì)A卷_第1頁
上海市高等學(xué)校計(jì)算機(jī)等級(jí)考試試卷二級(jí)C語言程序設(shè)計(jì)A卷_第2頁
上海市高等學(xué)校計(jì)算機(jī)等級(jí)考試試卷二級(jí)C語言程序設(shè)計(jì)A卷_第3頁
上海市高等學(xué)校計(jì)算機(jī)等級(jí)考試試卷二級(jí)C語言程序設(shè)計(jì)A卷_第4頁
上海市高等學(xué)校計(jì)算機(jī)等級(jí)考試試卷二級(jí)C語言程序設(shè)計(jì)A卷_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

2012年上海市高等學(xué)校計(jì)算機(jī)等級(jí)考試試卷二級(jí)C語言程序設(shè)計(jì)(A卷)(本試卷考試時(shí)間120分鐘)一、單選題(本大題10道小題,每小題1分,共10分),從下面題目給出的A、B、C、D四個(gè)可供選擇的答案中選擇一個(gè)正確答案。1。在一個(gè)C語言源程序中,main()函數(shù)的位置_________.答案:CA。必須在最前面B。必須在其它函數(shù)之前C.可以在任意位置D。必須在最后面2.設(shè)有變量定義:inta[]={5,6,1,3,7},c,i;當(dāng)執(zhí)行完語句:for(i=c=0;i<5;i++){if(a[i]%3==0)continue;c++;}之后,c的值是_____。答案:CA.1B。2C。3D。43。以下程序運(yùn)行結(jié)果為_______#definePII3#defineS(x)PII*x*xmain(){inta=1,b=2,c;c=a+b;printf(”%d\n",S(c));}答案:BA.9B.27C。7D。104。若有變量定義:inta[4],*p=a;則以下對(duì)數(shù)組a的元素不正確的引用是_____。答案:DA.*aB。*(p+1)C.p[1]D。a[4]5.設(shè)有變量定義:intd[50],*p=&d[0];下面表達(dá)式中________的計(jì)算結(jié)果為int類型的數(shù)值(非地址).答案:DA.p+=1B。p++C。&d[2]D.p—d6。為了判斷兩個(gè)字符串s1和s2是否相等,應(yīng)當(dāng)使用_____。答案:DA。if(s1==s2)B。if(s1=s2)C。if(strcpy(s1,s2))D。if(strcmp(s1,s2)==0)7.設(shè)有變量定義intn;charstr[80];與函數(shù)調(diào)用:n=hex2dec(str);則函數(shù)hex2dec正確的函數(shù)說明應(yīng)該是_______.答案:AA。inthex2dec(charstr[]);B.voidhex2dec(charstr[]);C。inthex2dec(charstr);D.voidhex2dec(charstr);8。設(shè)有以下結(jié)構(gòu)體定義及初始化,表達(dá)式(stu[0].score+stu[1]。score)/2的結(jié)果是_______。structstudent{intnum;floatscore;}stu[2]={90,91.5,93,92.5};答案:CA.91.0B。91.5C。92.0D。92.59.在C語言中,將文件內(nèi)部的位置指針重新指向一個(gè)流(數(shù)據(jù)流/文件)的開頭的庫函數(shù)是_______。答案:BA.fgetcB。rewindC.fscanfD。fread10.若建立了以下鏈表結(jié)構(gòu),head,p,q是指向結(jié)點(diǎn)的指針,以下_____組語句的功能是輸出如下圖所示的中間結(jié)點(diǎn)(數(shù)據(jù)為E的結(jié)點(diǎn))的數(shù)據(jù)項(xiàng).答案:BA.q=p;printf(”%c”,q-〉data);B.q=p->next;printf(”%c”,q-〉data);C。q=p;printf(”%c”,q);D.q=p-〉next;printf("%c",q);二、程序填空題(本大題2道小題,每空2.5分,共20分)。1.程序完成以下功能:對(duì)x=1,2,.。。,10,求函數(shù)f(x)=x—10cos(x)-5sin(x)的最大值,并將該值寫到新建文件data.txt中。#include<stdio。h〉#include<math。h>voidmain(){FILE*p;floatf(float),max,x;if((p=fopen("___1____",”w”))==NULL){printf("cannotopenFILE\n");exit(0);}max=f(1);for(x=2;x〈=10;x++)if(___2____<f(x))max=f(x);fprintf(p,”%.3f",max);fclose(___3____);}floatf(floatx){___4____;y=x—10*cos(x)—5*sin(x);returny;}1):【data.txt】2):【max】3):【p】4):【doubley】【floaty】2.在輸入的字符串中刪除小寫字母t,并統(tǒng)計(jì)被刪除字母的個(gè)數(shù)。如輸入:gt=5xt—6ty則輸出:刪除后的串為:g=5x-6y刪除個(gè)數(shù):3#include〈stdio.h> #include〈string.h>intf(chars[]){ inti=0,___1____;while(s[i]!='\0’) if(___2___==’t'){strcpy(s+i,s+i+1);c=c+1;} else i++; ___3____;}voidmain(){ints;charstr[80];gets(str);s=f(___4____);printf("刪除后的串為:");puts(str);printf("刪除個(gè)數(shù):%d",s);}1):【c=0】2):【s[i]】【*(s+i)】3):【returnc】【returnc;】【return(c)】【return(c);】4):【str】三、操作題(一)程序調(diào)試題(3小題,第1,2小題各3處錯(cuò),第3小題4處錯(cuò),每改正1處得3分,共30分)1.程序調(diào)試題1調(diào)試要求:下列程序包含2個(gè)錯(cuò)誤,請(qǐng)按題中的功能要求,調(diào)試并修改該程序(在所修改語句后加/*******/字樣的注釋),使其運(yùn)行能得到正確的結(jié)果。將結(jié)果(包括B_2_1.C文件和B_2_1。EXE文件)保存到目錄C:\KS\中。功能說明:程序從鍵盤輸入8個(gè)學(xué)生計(jì)算機(jī)二級(jí)考試的成績(成績可能有小數(shù)),統(tǒng)計(jì)并輸出成績合格的學(xué)生的人數(shù)。程序?qū)τ行?shù)的成績應(yīng)也能夠正確處理.例如輸入:71.54664。58294537948 則輸出:5帶錯(cuò)誤原程序(見C:\KS\B_2_1.C):#include〈stdio。h>intmain(){inti,c;floatscore[8];c==0;for(i=0;i<8;i++){scanf("%d”,&score[i]);if(score[i]≥60)c++;}printf("%d\n”,c);getchar();/*本句無錯(cuò);暫停程序,按任意鍵繼續(xù)*/}2。程序調(diào)試題2調(diào)試要求:下列程序包含3個(gè)錯(cuò)誤,請(qǐng)按題中的功能要求,調(diào)試并修改該程序(在所修改語句后加/*******/字樣的注釋),使其運(yùn)行能得到正確的結(jié)果。將結(jié)果(包括B_2_2。C文件和B_2_2.EXE文件)保存到目錄C:\KS\中。功能說明:程序從鍵盤輸入一個(gè)字符串(長度不超過80),然后用選擇法按照字符順序從小到大進(jìn)行排序,最后輸出排序后的字符串.例如輸入:ca39t6k 則輸出:369ackt帶錯(cuò)誤原程序(見C:\KS\B_2_2。C):#include〈stdio.h>#include<string。h〉intmain(){charstr[81],*p,*q,*minq;gets(str[81]);for(p=str;*p!=’\0’;p++)//用選擇法按照字符順序從小到大進(jìn)行排序{for(q=minq=p;*q!='\0';q++)//用minq指向本趟排序字符值最小的字符的位置if(*q>*minq)minq=q;if(minq!=p)//字符值最小的字符不在希望的位置上,則交換{c=*minq;*minq=*p;*p=c;}}puts(str);getchar();/*本句無錯(cuò);暫停程序,按任意鍵繼續(xù)*/}3。程序調(diào)試題3調(diào)試要求:下列程序包含3個(gè)錯(cuò)誤,請(qǐng)按題中的功能要求,調(diào)試并修改該程序(在所修改語句后加/*******/字樣的注釋),使其運(yùn)行能得到正確的結(jié)果.將結(jié)果(包括B_2_3。C文件和B_2_3。EXE文件)保存到目錄C:\KS\中。功能說明:函數(shù)mysum的功能是計(jì)算n個(gè)整數(shù)中數(shù)值在70~80之間(含70和80)的整數(shù)的和,程序從鍵盤輸入8個(gè)整數(shù),通過調(diào)用函數(shù)mysum計(jì)算這8個(gè)整數(shù)中數(shù)值在70~80之間的整數(shù)的和,然后輸出。例如輸入:2371568594786380 則輸出:sum=229帶錯(cuò)誤原程序(見C:\KS\B_2_3。C):#include<stdio.h〉floatmysum(intb[],intn){floats;inti;for(i==0;i〈n;i++)if(70〈=b[i]<=80)s+=b[i];returns;}intmain(){inta[8],i;for(i=0;i<8;i++)scanf(”%d”,&a[i]);printf("sum=%.0f\n”,mysum(inta[],8));getchar();/*本句無錯(cuò);暫停程序,按任意鍵繼續(xù)*/}(二)編程題(2小題,共35分)1.編程題1編程要求:請(qǐng)按題中的功能要求,編寫程序并能得到正確的結(jié)果。將結(jié)果(包括B_4_1。C文件和B_4_1。EXE文件)保存到目錄C:\KS\中。程序功能:從鍵盤上輸入一個(gè)字符并存放到變量c,再輸入一個(gè)整數(shù)存放到變量n(設(shè)2≤n≤20),輸出以變量c中的字符組成的n行2n列方波波形圖案,當(dāng)c,n為#,8時(shí),圖案及坐標(biāo)計(jì)算如下圖所示。程序運(yùn)行兩次,分別輸入"#8”和"@5"時(shí)的運(yùn)行結(jié)果如下:2.編程題2編程要求:請(qǐng)按題中的功能要求,編寫程序并能得到正確的結(jié)果。將結(jié)果(包括B_4_2.C文件和B_4_2.EXE文件)保存到目錄C:\KS\中.功能說明:電力公司根據(jù)如下費(fèi)率表進(jìn)行收費(fèi):第一個(gè)300度(0到300度)以每度0.6元計(jì),下一個(gè)300度(301到600度)以每度0。5元計(jì),

溫馨提示

  • 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)論