C語言2006A(軟)問題詳解_第1頁
C語言2006A(軟)問題詳解_第2頁
C語言2006A(軟)問題詳解_第3頁
C語言2006A(軟)問題詳解_第4頁
C語言2006A(軟)問題詳解_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2006級C語言程序設(shè)計 A卷答案一、 基礎(chǔ)知識題( 20分,每題5分)什么是數(shù)據(jù)緩沖區(qū)?對于輸入流來說,數(shù)據(jù)緩沖區(qū)是如何工作的?開辟一塊存儲區(qū) (稱為“數(shù)據(jù)緩沖區(qū)”) ,作為文件和程序之間的中介, 作為數(shù)據(jù)的緩沖??梢跃徍痛婧屯獯嬷g的數(shù)據(jù)提供和使用之間速度上的差別。在程序與實際文件之間的傳輸通道上設(shè)置了一個緩沖區(qū)。文件中的數(shù)據(jù)被以成塊方式復(fù)制到緩沖區(qū)。當程序中需要讀入數(shù)據(jù)時:如果緩沖區(qū)有數(shù)據(jù),它就直接由緩沖區(qū)讀取,而不必到外存讀數(shù)據(jù)。如果緩沖區(qū)里數(shù)據(jù)已經(jīng)用完,系統(tǒng)會自動執(zhí)行一個部操作,一次從文件里取得一批數(shù)據(jù),將緩沖區(qū)填滿,程序又可以按照正常方式讀入數(shù)據(jù)。C語言的預(yù)處理有哪幾種?各有什么作用?中的預(yù)處理命令有三種:宏定義、文件包含和條件編譯。一個宏定義的作用是為宏名字定義一個替代,該替代由整個替代正文段構(gòu)成。所謂“文件包含”處理是指一個源程序文件可以將另外一個源程序文件的全部容包含進來。即將另外的文件包含到本文件之中。對其中一部分容只在滿足一定條件下才進行編譯,也就是對一部分容指定編譯的條件,這就是“條件編譯”。對于數(shù)據(jù)類型和存儲類別,你是如何理解的?在C語言中每一個變量和函數(shù)有兩個屬性: 數(shù)據(jù)類型和數(shù)據(jù)存儲類別。 數(shù)據(jù)類型決定著數(shù)據(jù)的存儲空間和數(shù)據(jù)的存儲方式。存儲類別是指數(shù)據(jù)在存中存儲的方法和存儲的位置。寫出switch分支結(jié)構(gòu)的語法結(jié)構(gòu),并寫出其執(zhí)行過程。switch(表達式){case 整型常量表達式:語句序列case 整型常量表達式:語句序列...default:

語句序列}它的執(zhí)行過程:首先求出 switch 后面“表達式”的值,然后用這個值與寫在各 case 標號中的“整型常量表達式” 的值依次做比較。如果遇到相等的值,程序就從這里執(zhí)行下去;如果找不到,而這個開關(guān)語句有 default 部分,就從 “default: ”之后繼續(xù)執(zhí)行;如果開關(guān)語句沒有 default 部分,那么整個語句結(jié)束。二、讀程序?qū)懡Y(jié)果( 30分,每題 5分)1.structs{intn;int* m;}* p;intd[5]={10,20,30,40,50};structsarr[]={{100,&d[0]},{200,&d[1]},{300,&d[2]},{400,&d[3]},{500,&d[4]}};intmain(){p=arr;printf(printf(printf(

“%d“%d“%d

n”,++p->n);n”,(++p) ->n);n”,++(*p ->m));return0

;}101200212.intmain(){staticintx[]={0,5,6,10,12,15,18,20}inta,s=0,*p=x;for(;p<x+7;p+=2)

;{

s+=*p;printf(

“S=%d\n

”,s);}p=x;for(s=1,a=7;a>=0;a-=2)s*=*(p+a);printf(

“S=%d\n

”,s);}return0

;}s=0s=6s=18s=36s=20s=300s=3000s=150003.include<stdio.h>include<string.h>voidfun(char*w,intm){chars,*p1,*p2;p1=w;p2=w+m-1;while(p1<p2){s=*p1++;*p1=*p2--;*p2=s;}}intmain(){chara[]= ”ALGORITHM”;fun(a,strlen(a));puts(a);return0;}AMAMMAMAM4.#include<stdio.h>voidfun(intx){if(x>=8)fun(x/8) ;putchar( ’0’+x%8);}intmain(){fun(231) ;return0;}3475.#definePRINT(int)printf(“int=%d\n”,int);intmain(){intx=1,y=1,z=1;x+=y+=z;PRINT(x<y?y:x)PRINT(z+=x<y?x++:y++)PRINT(x)PRINT(y)PRINT(z)return0;}int=3int=3int=3int=3int=36.#include"stdio.h"voidmain(){inti,j;for(i=1;i<=5;i++){for(j=1;j<=30-i;j++)putchar('');printf("*");for(j=1;j<=2*i-3;j++)putchar('');if(i!=1)printf("*");printf("\n");}for(i=4;i>0;i--){for(j=1;j<=30-i;j++)putchar('');printf("*");for(j=1;j<=2*i-3;j++)putchar('');if(i!=1)printf("*");printf("\n");}}三、 應(yīng)用及程序編程題( 50分,每題 10分)1.從鍵盤輸入 20個整數(shù),將它們從小到大排序后輸出,并輸出每個元素輸入時的序號。#include<stdio.h>intmain(){intt,i,j;intdata[20][2];for(i=0;i<20;i++){scanf(“%d”,&data[i][0]);data[i][1]=i;}for(i=0;i<14;i++)for(j=0;j<14-i;j++)if(data[j]>data[j+1]){t=data[j][0];data[j][0]=data[j+1][0];data[j+1][0]=t;t=data[j][1];data[j][1]=data[j+1][1];data[j+1][1]=t;}for(i=0;i<20;i++)printff( “%5d,%5d\n ”,&data[i] [0],data[i][1]);return0;}2.如果一個正整數(shù)等于其各個數(shù)字的立方和,則該數(shù)稱為阿姆斯特朗數(shù)。如:407=43+03+73就是一個阿姆斯特朗數(shù)。編程求100~999以的所有阿姆斯特朗數(shù)。#include”stdio.h”intmain()

溫馨提示

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

評論

0/150

提交評論