C語言程序設(shè)計A卷_第1頁
C語言程序設(shè)計A卷_第2頁
C語言程序設(shè)計A卷_第3頁
C語言程序設(shè)計A卷_第4頁
C語言程序設(shè)計A卷_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、哈爾濱工業(yè)大學(威海)2007/2008學年秋季學期 C語言程序設(shè)計 筆試試題(A卷)題號一二三四五六筆試(70%)綜合(30%)總分分數(shù) 號學名姓試卷說明:1. 筆試卷面總分100分,取卷面成績的70%計入總分;2. 綜合成績?yōu)槠綍r成績(10%)和實驗成績(20%)之和,占總分的30%;3. 答題時禁止拆開試卷釘,試卷背面即為草稿紙;4. 答題時間120分鐘。一、單項選擇題。請把答案填入下面框中, 不允許出框線。(本題16分,每小題2分) 題號12345678答案注意行為規(guī)范 遵守考試紀律1. 以下選項中合法的C語言用戶標識符是( )。A) long B) _2Test C) 3Dmax D

2、) A.dat2. 有以下程序main() int a=0, b=0, c=0, d=0;if(a=2) b=2; c=4;else d=3;printf("%d,%d,%d,%dn",a,b,c,d);則程序輸出( )。A) 0,1,2,0 B) 0,0,0,3C) 1,1,2,0 D) 編譯有錯教研室主任簽字:3. 用語句scanf(“%c%c%c”,&c1,&c2,&c3);輸入”a,b,c”時,變量c1、c2、c3的值分別為( )。A) a, b, cB) a, b, C) a, , ,b D) a, , c4. 有以下程序段main( )i

3、nt k=0;while(k=1) k+;則while循環(huán)執(zhí)行的次數(shù)是( )。A) 無限次 B) 有語法錯,不能執(zhí)行C) 一次也不執(zhí)行D) 執(zhí)行1次5. 有以下程序:#include <stdio.h>#include <string.h>main()char *p=”abc1010fghijk0”;printf(“%d”,strlen(p);執(zhí)行后的輸出結(jié)果為( )。A) 6B) 4C) 12D) 146. 設(shè)有說明語句:int a=1, b=2, c=3, d=4, m=2, n=2; 則執(zhí)行(m=a>b) && (n=c>d)后n的值為

4、( )。A) 1 B) 2C) 3D) 47. 表達式0x13&0x17和0x13|0x17的值分別是( )。A) 19, 23B) 23, 19C) 248, 232D) 236, 2008. 設(shè)有以下語句typedef struct TT char c;int a4; CIN;則下面敘述中正確的是( )。A) 可以用TT定義結(jié)構(gòu)體變量 B) TT是struct類型的變量C) 可以用CIN定義結(jié)構(gòu)體變量 D) CIN是struct TT類型的變量二、填空題。請按序號把答案填入下面框中, 不允許出框線。(本題20分,每空1分) 題號答 案題號答 案1112123134145156167

5、1781891910201. 下面程序的功能是輸出二維數(shù)組的所有元素值,請完成程序。main( )int a34=1,3,5,7, 9,11,13,15, 17,19,21,23;int *p;for( 【1】 ; p< 【2】 ; p+) printf("%dt", *p); 2. 有以下函數(shù)int fun (char *s) char *t=s;while(*t+);return(t-s-1);該函數(shù)的功能是 【3】 。3. 讀入三個浮點數(shù),取出其小數(shù)部分分別輸出,完成下列程序。void splitfloat(float x, float *fracpart)in

6、t intpart= 【4】 x;*fracpart=x - 【5】 ;main()int i;float x, temp;printf("Enter 3 float point numbers:n");for(i=0;i<3;i+)scanf("%f",&x);splitfloat(x, 【6】 );printf("Fraction Part= %5.4fn", temp);4. 下列程序段為鏈表結(jié)點類型定義,請?zhí)羁铡?【7】 student int num;char name20;int score; 【8】 nex

7、t;5. 如下圖所示,設(shè)指針p指向的結(jié)點已經(jīng)申請空間,并進行了賦值,寫出將結(jié)點p插入頭節(jié)點h之前的C程序語句。datanextdatanextdataNULL·····datanextph 【9】 ; 【10】 ;6. 如下圖所示,設(shè)指針q指向要刪除的結(jié)點,寫出刪除該結(jié)點的語句。hdatanextdataNULL·····qdatanext 【11】 ; 【12】 ;7. 下面程序的運行結(jié)果為 【13】 。main() enum weekday sun, mon, tue, wed, thu,

8、fri, sat a,b,c; a=sun;b=tue;c=sat; printf("%d%d%d", a,b,c);8. 在C語言中,對于文件的操作主要是通過調(diào)用包含在頭文件”stdio.h”的標準庫函數(shù)來實現(xiàn)的。因此,在對文件操作的C程序中,必須添加包含此頭文件的預處理指令,該指令為 【14】 。假設(shè)在C盤根目錄下有一文本文件hit.txt,現(xiàn)在要以讀寫方式打開此文件并在打開后立即關(guān)閉。請完成下面的C程序語句: 【15】 fp;fp = fopen( 【16】 , “rw”); 【17】 ;9. 若有定義語句:int a=7; float x=2.5, y=4.7; 則

9、表達式x + a % 3 * (int) (x+y) % 2 / 4的值是 【18】 ;10. 以下函數(shù)的功能是:輸出三個變量中的最小值,請完成該函數(shù)。int GetMin(int x1, int x2, int x3) int t1 = 【19】 ; int t2 = 【20】 ; return (t1 > t2 ? t2 : t1);三、請把下列程序運行結(jié)果填入答案框中,不允 許出框線,用“”表示回車。(本題24分,每小題3分) 題號12345678答案1. #include <stdio.h>main( ) int p=30;printf("%dn"

10、,(p/3>0 ? p/10 : p%3);2. #include <stdio.h>main( )char c1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar(); c6=getchar();putchar(c1);putchar(c2);printf("%c%cn",c5,c6);程序運行后,若從鍵盤輸入 (代表回車換行):1357 24請把輸出結(jié)果填入答案框中。3. #include <stdio.h>main()

11、 int a=1, b; for(b=1;b<=10;b+) if(a>=8) break; if(a%2=1) a+=5;continue; a-=3; printf("%dn",b); 4. #include <stdio.h>main( )int a = 1, 2, 3, 4, 5, 6, *p = a;*(p+3) += 2;printf ( "%d,%d", *p, *(p+3);5. #include <stdio.h>char * fun(char *str) return str="fun&q

12、uot; main( ) char *str="ction" printf("%s,%cn", fun(str)+1, *fun(str)+1);6. #include <stdio.h>main( ) char *s="two","three","four","five"char *p=s1;char *q=s3;q+=2;printf("%s,%s",(+p),(q-);7. #include <stdio.h>struct s

13、t int x; int *y;*p;int dt4=10,20,30,40;struct st stMatrix4=50,&dt0,60,&dt1,70,&dt2,80,&dt3;main() p=stMatrix;printf("%d,%d",+(p->x),*(p+2)->y);8. #include <stdio.h>main( )int a=0,b=2,c=3;switch(a)case 0: switch(b=2)case 1:printf("&");break;case 2:p

14、rintf("%");break;case 1: switch(c)case 1:printf("$");case 2:printf("*");break;default:printf("#");四、根據(jù)功能描述改正程序中的錯誤。 不得增行或刪行,不得更改程序結(jié)構(gòu)。(本題10分)1. 要求以下程序的功能是計算1+1/2+1/3+1/10的和。(本小題4分)#include <stdio.h>main( ) int n; float s;for(n=10;n>1;n-)s += 1/n;printf

15、("%6.4fn",s);2. 下面函數(shù)Squeez()的功能是刪除字符串s中所出現(xiàn)的與變量c相同的字符。(本小題6分)void Squeez(char s, char c);int i, j;for (i=0,j=0; si!='0' i+) if (si != c) sj = si; j+; si='0'五、請用標準程序流程圖描述下列問題的算法 (本題10分,每小題5分)1. 依次從鍵盤輸入10個不同的整型數(shù)據(jù),請查找出這些數(shù)據(jù)中的最大值和最小值,并指出它們分別是第幾次輸入的。2. 某人身上有人民幣50張,面值分別為20元、10元、5元和

16、1元。請分別統(tǒng)計出這些不同面值人民幣的張數(shù)并計算出這50張人民幣的總面值來。 六、編程題(本題20分) 1. 請從鍵盤輸入一個長度為29的字符串,要求分別統(tǒng)計出該字符串中所包含的英文字符、數(shù)字字符、空格字符以及其他字符的個數(shù)。請寫出解決該問題的完整C程序。(本小題6分)2. 輸入任意長度的字符串str1和子字符串str2(str2的長度要小于str1的長度),請統(tǒng)計出str1中包含有幾個子字符串str2,并計算str1中出現(xiàn)最后一個子串str2之前已有多少個字符出現(xiàn)。 (本小題8分)3. 某數(shù)理化三項競賽訓練組有4個人,其中有且僅有一個人的一項成績不及格(小于60),請找到此人并輸出其所有成績。要求使用指針函數(shù),完成下列程序。(本小題6分)#include <stdio.h>int * seek( int ) int i, *pnt_col; /*定義一個(列)指針變量pnt_col */pnt_col = ; for(i=0; i<3; i+) if( ) return(pnt_col); main( )int grade43=6

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論