C語言程序設計自學指導書_第1頁
C語言程序設計自學指導書_第2頁
C語言程序設計自學指導書_第3頁
C語言程序設計自學指導書_第4頁
C語言程序設計自學指導書_第5頁
已閱讀5頁,還剩15頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、C語言程序設計自學指導書一、課程編碼及適用專業課程編碼:適用專業:計算機專科(函授)二、課程性質C語言程序設計是計算機應用專業學生的必修課程,是其它后續專業課的基礎。通過本課程的學習,對程序設計的過程有一個比較深入的了解。利用基本語句和程序控制語句編寫常用算法的程序,并為后續專業課的學習打好基礎。三、本課程的地位和作用C語言程序設計本課程是計算機專業的基礎課,實踐性較強;基礎性是指基本理論、基本知識和基本技能。建立起模塊化程序設計的方式方法,培養學生理解程序、設計程序的能力,為其他專業課學習打下良好的基礎。四、學習目的與要求通過本課程的學習,要求學生既要掌握C語言的基本概念、學會編寫C程序、調

2、試運行程序,從而培養學生結構化程序設計的能力。本課程主要講授C語言的各種數據類型、各種常用語句、各種常用算法的編程等。通過學習,學生應掌握C語言的常用數據類型、選擇和循環結構設計、數組應用、預處理命令、指針應用、結構體和公用體、文件操作等應用。為學好這門課,學習時應注意以下幾點:(一)要抓主要內容,有條件地略去一些次要因素,找出問題的本質。(二)要抓住重點,即應牢固掌握基本概念、基本算法和結構化語句。(三)要有良好的學習方法,可運用對比或比較的學習方法,找出各分支語句、循環語句、同一問題的不同算法的共性和差異,以加深對各種算法和語句的理解。(四)學習是要理論聯系實際,重視實驗和實際應用。五、本

3、課程的學習方法為了學好本課程,首先要具有正確的學習目的和態度,在學習中要認真踏、虛心求教、持之以恒。在學習時要分析各種變量、常量、語句的定義方式,理解問題是如何提出和引申的,又是怎樣解決和應用的;要注意各部分內容之間的聯系,前后是如何呼應的;要重在理解,能提出問題,積極思考,不要死記;要注重各變量在程序中的變化,不要孤立地去看待一個變量,應有完整的系統概念。通過例題和習題鞏固和加深對所學理論的理解,并培養分析能力和運算能力,應按要求完成布置的作業題。解題前,要對所學內容基本掌握;解題時注意分析,熟練應用各類變量和算法。除學習規定教材外,應參閱相關的參考書。如有條件,可通過實驗驗證和鞏固所學知識

4、,培養嚴謹的科學作風。通過各個學習環節,培養分析和解決問題的能力和創新精神。解決問題不是僅僅照著書本上的例題作練習題,而是要求使用已有的知識對提出的新要求能提出自己的思路和解決問題的方案,這是一個理解加創新的過程。六、自學內容與指導第一章 C語言概述(一)自學內容C語言的特點、與其它語言的相同與不同,C程序的結構格式、主要部分的含義,C語言上機步驟、程序調試方法。(二)本章重點1、C語言的結構和各部分的含義。2、C語言的上機步驟和程序調試方法。(三)本章難點1、 C語言的上機步驟2、 C程序調試方法。(四)本章考點1、C語言的結構和各部分的含義。2、C程序調試方法。(五)學習指導通過例題和習題

5、理解C語言的結構和各部分的含義,通過實驗熟悉上機步驟和C程序調試方法。第二章 算 法(一)自學內容算法的定義、算法的特點、算法的表示(自然語言、流程圖、NS流程圖)、結構化程序設計方法。(二)本章重點1、算法的三種描述方式。2、結構化程序設計方法。(三)本章難點1、算法的三種描述方式。2、結構化程序設計方法。(四)本章考點1、算法的三種描述方式。(五)學習指導對實際應用中的問題利用算法描述,通過例題和習題的算法描述理解算法的含義和描述方法。第三章 數據類型、運算符與表達式(一)自學內容C的數據類型、常量和變量的定義和使用方法、整型數據、實型數據、字符型數據、變量賦初值、各數據類型混合運算、算術

6、運算符和算術表達式、賦值運算符和賦值表達式、逗號運算符和逗號表達式等。(二)本章重點1、 常量和變量的定義和使用方。2、 各數據類型的定義方式和使用方式。3、 各類運算符和表達式的使用方法。4、 各數據類型的混合運算。(三)本章難點1、各數據類型的定義方式和使用方式。2、各類運算符和表達式的使用方法。3、各數據類型的混合運算(四)本章考點1、各數據類型的定義方式和使用方式。2、各類運算符和表達式的使用方法。3、各數據類型的混合運算(五)學習指導利用簡單的C程序設計輸入/輸出不同數據類型,進行各類混合運算,驗證各類運算的含義和結果。第四章 順序程序設計(一)自學內容C語句類型、賦值語句、字符數據

7、輸入/輸出函數、格式輸入/輸出函數、順序程序設計。(二)本章重點1、 字符數據輸入/輸出函數。2、 格式輸入/輸出函數。3、 順序程序設計。(三)本章難點1、格式輸入/輸出函數。2、順序程序設計。(四)本章考點1、字符數據輸入/輸出函數。2、格式輸入/輸出函數。3、順序程序設計。(五)學習指導利用第三章的各種數據類型,通過實驗輸入各種不同數據類型,驗證各數據類型的輸入輸出格式,同時加深理解各類混合運算的含義和結果。第五章 選擇結構程序設計(一)自學內容C語言的關系運算符和關系表達式、邏輯運算符和邏輯表達式、if語句、switch語句的定義和使用。(二)本章重點1、 關系運算符和關系表達式。2、

8、 邏輯運算符和邏輯表達式。3、 if語句和switch語句的使用。(三)本章難點1、邏輯運算符和邏輯表達式。2、if語句和switch語句的使用。(四)本章考點1、關系運算符和關系表達式。2、邏輯運算符和邏輯表達式。3、if語句和switch語句的使用。(五)學習指導利用第三章的各種數據類型,通過實驗輸入各種不同數據類型,用關系表達式和邏輯表達式作為選擇條件,理解if 和switch的含義和結果。第六章 循環控制(一)自學內容C語言的goto語句、while語句、dowhile語句、for語句、break語句和continue語句、循環嵌套、各種循環的相同和不同。(二)本章重點1、while語

9、句、dowhile語句、for語句。2、break語句和continue語句。3、循環嵌套、各種循環的相同和不同。(三)本章難點1、while語句、dowhile語句、for語句。2、循環嵌套、各種循環的相同和不同。(四)本章考點1、while語句、dowhile語句、for語句。2、循環嵌套、各種循環的相同和不同。(五)學習指導通過例題和習題理解各種循環的使用方法,對于同一題目使用不同循環求解。在循環的不同位置加入輸入輸出語句,通過輸入輸出結果理解循環過程。第七章 數 組(一)自學內容C語言的一維數組定義和引用、二維數組的定義和引用,字符數組的定義、初始化、字符數組的輸入/輸出、字符串處理函

10、數。(二)本章重點1、 一維數組定義和引用。2、 二維數組的定義和引用。3、 字符數組的輸入/輸出。4、 字符串處理函數。(三)本章難點1、字符數組的輸入/輸出。2、字符串處理函數。(四)本章考點1、數組定義和引用。2、字符串處理函數。(五)學習指導通過例題和習題理解數組的定義和使用方法,對于同一題目使用循環和數組分別求解。在循環中完成數組的輸入、運算、輸出等。第八章 函 數(一)自學內容C語言的函數格式、函數參數、函數值,函數調用、函數嵌套調用和遞歸調用。(二)本章重點1、 函數參數、函數值。2、 函數調用、函數嵌套調用和遞歸調用。(三)本章難點1、 函數調用。2、 函數嵌套調用和遞歸調用。

11、(四)本章考點1、函數參數、函數值。2、函數調用、函數嵌套調用和遞歸調用。(五)學習指導通過例題和習題理解函數的作用、定義、使用方法,對于同一題目使用函數方式完成求解和僅用main函數并分析相同點和不同點。第九章 數預處理命令(一)自學內容C語言的宏定義、“文件包含”處理、條件編譯。(二)本章重點1、帶參數的宏定義和不帶參數宏定義的定義和引用。2、“條件編譯”的定義和使用。(三)本章難點1、帶參數的宏定義。2、“條件編譯”的定義和使用。(四)本章考點1、帶參數的宏定義和不帶參數宏定義的定義和引用。2、“條件編譯”的定義和使用。(五)學習指導通過例題和習題練習各種宏定義的使用,對于同一題目使用函

12、數和宏定義分別求解,注重理解函數宏定義的不同。第十章 指 針(一)自學內容C語言的指針和地址、指針變量的定義、數組與指針的關系、字符串與指針的關系、指向函數的指針。(二)本章重點1、 指針和地址、指針變量的定義。2、 數組與指針的關系。3、 字符串與指針的關系。(三)本章難點1、數組與指針的關系。2、字符串與指針的關系。(四)本章考點1、指針和地址、指針變量的定義。2、數組與指針的關系。3、字符串與指針的關系。(五)學習指導通過例題和習題理解指針的含義和使用方法,對于同一題目使用指針和數組分別求解,分析數組與指針的關系。第十一章 結構體和共用體(一)自學內容C語言的結構體變量的定義和引用、結構

13、體數組的定義和引用、指向結構體類型數據的指針、用指針處理鏈表(建立鏈表、輸出鏈表、對鏈表刪除操作、對鏈表插入操作、綜合操作鏈表)。(二)本章重點1、 結構體數組的定義和引用。2、 指向結構體類型數據的指針。3、 用指針處理鏈表(建立鏈表、輸出鏈表、對鏈表刪除操作、對鏈表插入操作、綜合操作鏈表)。(三)本章難點1、指向結構體類型數據的指針。2、用指針處理鏈表(建立鏈表、輸出鏈表、對鏈表的刪除、插入、綜合操作)。(四)本章考點1、結構體數組的定義和引用。2、指向結構體類型數據的指針。3、用指針處理鏈表(建立鏈表、輸出鏈表、對鏈表刪除操作、對鏈表插入操作、綜合操作鏈表)。(五)學習指導通過本章和上一

14、章的綜合例題和習題理解指針的含義和使用方法,反復練習鏈表操作,指針和鏈表是C語言的難點和重點,也是后續課程的基礎。第十三章 文 件(一)自學內容C語言的文件類型、文件的打開和關閉函數、文件的讀寫函數、文件的定位。(二)本章重點1、 文件的打開和關閉函數。2、 文件的讀寫函數。3、 文件的定位。(三)本章難點1、文件的讀寫函數。2、文件的定位。數組與指針的關系。(四)本章考點1、文件的打開和關閉函數。2、文件的讀寫函數。3、文件的定位。(五)學習指導通過例題和習題重點掌握文本文件的打開和關閉、文件的讀寫操作、文件的定位。理解對文件的讀寫操作的含義和使用方法。作業:選擇題(1) 在32位計算機中,

15、一個字長所占的字節數為_。 A) 1 B) 2 C) 4 D) 8 (2)與十進制511等值的十六進制數為_。 A) 1FF B) 2FF C) 1FE D) 2FE (3)能將高級語言編寫的源程序轉換成目標程序的是_。 A) 編輯程序 B) 編譯程序 C) 解釋程序 D) 鏈接程序 (4)在計算機系統中,存儲一個漢字的國標碼所需要的字節數為_。 A) 1 B)

16、60;2 C) 3 D) 4 (5)下列帶有通配符的文件名,能表示文件ABC.TXT的是_。 A) *BC.? B) A?.* C) ?BC.* D) ?.? (6)在多媒體計算機系統中,不能用以存儲多媒體信息的是_。 A) 光纜 B) 軟盤 C) 硬盤 D) 光盤 (7)DOS命令“COPY/?”的功能是_。 A) 將當前盤當前目錄中的所有文件復制到當前盤的根目錄下  B) 將當前盤當

17、前目錄中所有以單個字符命名的文件復制到當前盤的根目錄下  C) 以提示方式復制文件  D) 顯示COPY命令的幫助信息 (8)在Windows環境下,若要將當前活動窗口存入剪貼板,則可以按_。 A) Ctrl+PrintScreen鍵 B) Shift+PrintScreen鍵  C) PrintScreen鍵  D) Alt+PrintScreen鍵 (9)在Windows環境下,單擊當前應用程序窗口的“關閉”按鈕,其功能是_。 A) 將當前應用程序轉為后臺運行  B)&#

18、160;退出Windows后再關機  C) 退出Windows后重新啟動計算機  D) 終止當前應用程序的運行 (10)在Windows環境下,粘貼快捷鍵是_。 A) Ctrl+Z B) Ctrl+X C) Ctrl+C D) Ctrl+V (11)以下敘述中正確的是_。 A) 構成C程序的基本單位是函數 B) 可以在一個函數中定義另一個函數  C) main()函數必須放在其它函數之前  D) 所有被調用的函數一定要在調用之

19、前進行定義 (12)以下選項中合法的實型常數是_。 A) 5E2.0 B) E-3 C) .2E0 D) 1.3E (13)以下選項中合法的用戶標識符是_。 A) long B) _2Test C) 3Dmax D) A.dat (14)已知大寫字母A的ASCII碼是65,小寫字母a的ASCII碼是97,則用八進制表示的字符常量101是_。 A) 字符A B) 字符a C) 字符e D) 

20、;非法的常量 (15)以下非法的賦值語句是_。 A) n=(i=2,+i); B) j+; C) +(i+1); D) x=j>0; (16)設a和b均為double型常量,且a=5.5、b=2.5,則表達式(int)a+b/b的值是_。 A) 6.500000 B) 6 C) 5.500000 D) 6.000000 (17)已知i、j、k為int型變量,若從鍵盤輸入:1,2,3<回車>,使i的值為1、j的值為2、k的值為3,以下選項中

21、正確的輸入語句是_。 A) scanf("%2d%2d%2d",&i,&j,&k); B) scanf(""%d %d %d",&i,&j,&k);  C) scanf("%d,%d,%d",&i,&j,&k);  D) scanf("i=%d,j=%d,k=%d",&i,&j,&k); (18)與數學式子3乘以x的n次方/(2x-

22、1)對應的C語言表達式是_。 A) 3*xn/(2*x-1) B) 3*x*n/(2*x-1)  C) 3*pow(x,n)*(1/(2*x-1)  D) 3*pow(n,x)/(2*x-1) (19)設有定義:long x=-123456L;,則以下能夠正確輸出變量x值的語句是_。 A) printf("x=%d ",x); B) printf("x=%ld ",x);  C) printf("x=%8dL ",x);

23、60; D) printf("x=%LD ",x); (20)若有以下程序: main() int k=2,i=2,m; m=(k+=i*=k); printf("%d,%d ",m,i); 執行后的輸出結果是_。 A) 8,6 B) 8,3 C) 6,4 D) 7,4 (21)已有定義:int x=3,y=4,z=5;,則表達式!(x+y)+z-1&&y+z/2的值是_。      A)&

24、#160;6 B) 0 C) 2 D) 1 (22)有一函數 1 x>0 y= 0 x=0 -1 x<0, 以下程序段中不能根據x的值正確計算出y的值的是_。 A) if(x>0) y=1;else if(x=0) y=0;else y=-1; B) y=0;if(x>0) y=1;else if(x<0) y=-1;  C) y=0;if(x>=0)

25、if(x>0) y=1;else y=-1;  D) if(x>=0) if(x>0) y=1;else y=0;else y=-1; (23)以下選項中,與k=n+完全等價的表達式是_。 A) k=n,n=n+1 B) n=n+1,k=n C) k=+n D) k+=n+1 (24)以下程序的功能是:按順序讀入10名學生4門課程的成績, 計算出每位學生的平均分并輸出,程序如下: main() int n,k; flo

26、at score,sum,ave; sum=0.0; for(n=1;n<=10;n+) for(k=1;k<=4;k+) scanf("%f",&score); sum+=score; ave=sum/4.0; printf("NO%d:%f ",n,ave); 上述程序運行后結果不正確,調試中發現有一條語句 出現在程序的位置不正確。這條語句是_。 A) sum=0.0; B) sum+=score;  C) ave=sum/4.0;  D) print

27、f("NO%d:%f ",n,ave); (25)有以下程序段 int n=0,p; do scanf("%d",&p);n+; while(p!=12345&&n<3); 此處do-while循環的結束條件是_。 A) p的值不等于12345并且n的值小于3 B) p的值等于12345并且n的值大于等于3  C) p的值不等于12345或者n的值小于3  D) p的值等于12345或者n的值大于等于3 (26)有以下程序 main()

28、 int a=15,b=21,m=0; switch(a%3) case 0:m+;break; case 1:m+; switch(b%2) default:m+; case 0:m+;break; printf("%d ",m); 程序運行后的輸出結果是_。 A) 1 B) 2 C) 3 D) 4 (27)C語言中,函數值類型的定義可以缺省,此時函數值的隱含類型是_。 A) void B) int C) floa

29、t D) double (28)若有說明:int n=2,*p=&n,*q=p;,則以下非法的賦值語句是_。 A) p=q; B) *p=*q; C) n=*q; D) p=n; (29)有以下程序 float fun(int x,int y) return(x+y);  main() int a=2,b=5,c=8; printf("%3.0f ",fun(int)fun(a+c,b),a-c); 程序運行后的輸出結

30、果是_。 (30)有以下程序 void fun(char *c,int d) *c=*c+1;d=d+1; printf("%c,%c,",*c,d); main() char a=A,b=a; fun(&b,a); printf("%c,%c ",a,b); 程序運行后的輸出結果是_。 A) B,a,B,a B) a,B,a,B C) A,b,A,b D) b,B,A,b (31)以下程序中函數sort的功能是對a所指數組中的

31、數據進行由大到小的排序 void sort(int a,int n) int i,j,t; for(i=0;ifor(j=i+1;jif(a main() int aa10=1,2,3,4,5,6,7,8,9,10,i; sort(&aa3,5); for(i=0;i<10;i+) printf("%d,",aa); printf(" "); 程序運行后的輸出結果是_。 A) 1,2,3,4,5,6,7,8,9,10, B) 10,9,8,7,6,5,4,3,2

32、,1,  C) 1,2,3,8,7,6,5,4,9,10,  D) 1,2,10,9,8,7,6,5,4,3, (32)有以下程序 int f(int n) if (n=1) return 1; else return f(n-1)+1; main() int i,j=0; for(i=1;i<3;i+) j+=f(i); printf("%d ",j); 程序運行后的輸出結果是_。 A) 4 B) 3

33、0;C) 2 D) 1 (33)有以下程序 main() char a=a,b,c,d,e,f,g,h,; int i,j; i=sizeof(a); j=strlen(a); printf("%d,%d ",i,j); 程序運行后的輸出結果是_。 A) 9,9 B) 8,9 C) 1,8 D) 9,8 (34)以下程序中的函數reverse的功能是將a所指數組中的內容進行逆置。 void reverse(int a

34、,int n) int i,t; for(i=0;it=a;a=an-1-i;an-1-i=t; main() int b10=1,2,3,4,5,6,7,8,9,10; int i,s=0; reverse(b,8); for(i=6;i<10;i+) s+=b; printf("%d ",s); 程序運行后的輸出結果是_。 A) 22 B) 10 C) 34 D) 30 (35)有以下程序 main() int aa44=1,

35、2,3,4,5,6,7,8,3,9,10,2,4,2,9,6; int i,s=0; for(i=0;i<4;i+) s+=aa1; printf("%d ",s); 程序運行后的輸出結果是_。 A) 11 B) 19 C) 13 D) 20 (36)有以下程序 #include  main() char *p="abcdefghjik" printf("%d ",strlen(p); 程序運行后的輸出結果是_。 A)&

36、#160;12 B) 15 C) 6 D) 5 (37)程序中頭文件type1.h的內容是: #define N 5 #define M1 N*3 程序如下: #include "type1.h" #define M2 N*2 main() int i; i=M1+M2; printf("%d ",i); 程序編譯后運行的輸出結果是_。 A) 10 B) 20 C)&

37、#160;25 D) 30 (38)有以下程序 #include  main() FILE *fp; int i=20,j=30,k,n; fp=fopen("d1.dat","w"); fprintf(fp,"%d ",i);fprintf(fp,"%d ",j); fclose(fp); fp=fopen("d1.dat","r"); fscanf(fp,"%d%d",&k,&

38、n); printf("%d%d ",k,n); fclose(fp); 程序運行后的輸出結果是_。 A) 20 30 B) 20 50 C) 30 50 D) 30 20 (39)以下敘述中錯誤的是_。 A) 二進制文件打開后可以先讀文件的末尾,而順序文件不可以  B) 在程序結束時,應當用fclose函數關閉已打開的文件  C) 利用fread函數從二進制文件中讀數據,可以用數組名給數組中所有元素讀入數

39、據  D) 不可以用FILE定義指向二進制文件的文件指針 (40)有以下程序 #include  main(int argc,char *argv) int i,len=0; for(i=1;iprintf("%d ",len); 程序編譯連接后生成的可執行文件是ex1.exe, 若運行時輸入帶參數的命令行是: ex1 abcd efg 10<回車> 則運行的結果是_。 A) 22 B) 17 C) 12 D)&#

40、160;9 (41)有以下程序 int fa(int x) return x*x;  int fb(int x) return x*x*x;  int f(int (*f1)(),int (*f2)(),int x) return f2(x)-f1(x);  main() int i; i=f(fa,fb,2); printf("%d ",i); 程序運行后的輸出結果是_。 A) -4 B)

41、60;1 C) 4 D) 8 (42)有以下程序 int a=3; main() int s=0; int a=5; s+=a+;  s+=a+; printf("%d ",s); 程序運行后的輸出結果是_。 A) 8 B) 10 C) 7 D) 11 (43)有以下程序 void ss(char *s,char t) while(*s) if(*s=t) *s=t-

42、a+A; s+; main() char str1100="abcddfefdbd",c=d; ss(str1,c); printf("%s ",str1); 程序運行后的輸出結果是_。 A) ABCDDEFEDBD  B) abcDDfefDbD  C) abcAAfefAbA  D) Abcddfefdbd (44)有以下程序 struct STU char num10; float score3;  main(

43、) struct STU s3="20021",90,95,85, "20022",95,80,75, "20023",100,95,90,*p=s; int i; float sum=0; for(i=0;i<3;i+) sum=sum+p->score; printf("%6.2f ",sum); 程序運行后的輸出結果是_。 A) 260.00 B) 270.00 C) 280.00 D)&

44、#160;285.00 (45)設有如下定義: struct sk int a; float b; data; int *p; 若要使p指向data中的a域,正確的賦值語句是_。 A) p=&a; B) p=data.a; C) p=&data.a; D) *p=data.a (46)有以下程序 #include  struct NODE int num; struct NODE *next;  ma

45、in() struct NODE *p,*q,*r; p=(struct NODE *)malloc(sizeof(struct NODE); q=(struct NODE *)malloc(sizeof(struct NODE); r=(struct NODE *)malloc(sizeof(struct NODE); p->num=10;q->num=20;r->num=30; p->next=q;q->next=r; printf("%d

46、",p->num+q->next->num); 程序運行后的輸出結果是_。 A) 10 B) 20 C) 30 D) 40 (47)若有以下說明和定義 typedef int *INTEGER INTEGER p,*q; 以下敘述正確的是_。 A) p是int型變量  B) p是基類型為int的指針變量  C) q是基類型為int的指針變量  D) 程序中可用INTEGER代替int類型名 (48)

47、有以下程序 main() unsigned char a,b,c; a=0x3; b=a|0x8; c=b<<1; printf("%d%d ",b,c); 程序運行后的輸出結果是_。 A) -11 12 B) -6 -13 C) 12 24 D) 11 22 (49)有以下程序 #include  main() char *p,*q; p=(char *)malloc(sizeof(

48、char)*20); q=p; scanf("%s%s",p,q); printf("%s%s ",p,q); 若從鍵盤輸入:abc def<回車>,則輸出結果是_。 A) def def B) abc def C) abc d D) d d (50)以下程序中函數f的功能是將n個字符串,按由大到小的順序進行排序。 #include  void f(char p10,int&

49、#160;n)  char t20; int i,j; for(i=0;ifor (j=i+1;jif(strcmp(p,pj)<0)  strcpy(t,p);strcpy(p,pj);strcpy(pj,t); main() char p10="abc","aabdfg","abbd","dcdbe","cd"int i; f(p,5); printf("%d ",strlen

50、(p0); 程序運行后的輸出結果是 A) 6 B) 4 C) 5 D) 3 二、填空題請將每一個空的正確答案寫在答案卡上,答在試卷上不得分。 (1) 計算機軟件分為系統軟件和應用軟件,操作系統屬于【1】 。 (2) 在DOS環境下,代表鍵盤和顯示器的設備文件名為【2】。  (3) 支持Internet基本服務的協議是【3】。 (4) 從Windows環境進入MS-DOS方式后,返回Windows環境的DOS命令為【4】。 (5) 某微型機的運算速度為2MI

51、PS,則該微型機每秒執行【5】條指令。 (6) 以下程序運行后的輸出結果是【6】。 main() int x=10,y=20,t=0; if(x=y)t=x;x=y;y=t; printf("%d,%d ",x,y); (7) 以下程序運行后的輸出結果是【7】。 main() int x=15; while(x>10&&x<50) x+; if(x/3)x+;break; else continue; printf("%d ",x); (8) 有以下程序: #incl

52、ude  main() char c; while(c=getchar()!=?) putchar(-c); 程序運行時,如果從鍵盤輸入:Y?N?<回車>,則輸出結果為【8】。 (9) 以下程序運行后的輸出結果是【9】。 void fun(int x,int y) x=x+y;y=x-y;x=x-y; printf("%d,%d,",x,y); main() int x=2,y=3; fun(x,y); printf("%d,%d ",x,y); (10)

53、0;以下函數的功能是計算s=1+1/2!+1/3!+1/n!,請填空。 double fun(int n) double s=0.0,fac=1.0; int i; for(i=1;i<=n;i+) fac=fac 【10】; s=s+fac; return s; (11) 下面程序的運行結果是:【11】。 #define N 10 #define s(x) x*x #define f(x) (x*x) main() int i1,i2;

54、i1=1000/s(N);i2=1000/f(N); printf("%d %d ",i1,i2); (12) 下面程序的運行結果是:【12】。 void swap(int *a,int *b) int *t; t=a;a=b;b=t; main() int x=3,y=5,*p=&x,*q=&y; swap(p,q); printf("%d%d ",*p,*q); (13) 下面程序的運行結果是:【13】。 typedef union s

55、tudent char name10; long sno; char sex; float score4; STU; main() STU a5; printf("%d ",sizeof(a); (14) 若fp已正確定義為一個文件指針,d1.dat為二進制文件,請填空,以便為“讀”而打開此文件:fp=fopen(【14】);。 (15) 設有定義:int n,*k=&n;以下語句將利用指針變量k讀寫變量n中的內容,請將語句補充完整。 scanf("%d",【15】)

56、; printf("%d ",【16】); (16) fun函數的功能是:首先對a所指的N行N列的矩陣,找出各行中的最大的數,再求這N個最大值中的最小的那個數作為函數值返回。請填空。 #include  #define N 100 int fun(int(*a)N) int row,col,max,min; for(row=0;rowfor(max=arow0,col=1;colif(【17】) max=arowcol; if(row=0) min=max; else if(【18】)

57、 min=max; return min; (17) 函數sstrcmp()的功能是對兩個字符串進行比較。當s 所指字符串和t所指字符相等時,返回值為0;當s所指字符串大于t所指字符串時,返回值大于0;當s所指字符串小于t所指字符串時,返回值小于0(功能等同于庫函數strcmp()。請填空。 #include  int sstrcmp(char *s,char *t) while(*s&&*t&&*s=【19】) s+;t+;  return 【20】; 三、程序

58、題1. 已知三角形的三邊長,試編程求三角形的面積.    要求:三邊長從鍵盤輸入,要考慮數據輸入是否正確,能否構成三角形等情況.假設三 邊分別為: a, b, c, s=1/2 (a+b+c), area=  s(s-a)(s-b)(s-c)2.有一分數序列:2/1, 3/2, 5/3, 8/5, 13/8, 21/13,    試編程求數列前20項的和.3. 輸入10個學生的成績,分別用函數實現: (1)求平均成績;(2)按分數高低進行排序并輸出。答案:一、選擇題(1) C (2) A (3)

59、 B (4) B (5) C (6) A (7) D (8) D (9) D (10) D (11) A (12) D (13) B (14) A (15) C (16) D (17) C (18) C (19) B (20) C (21) D (22)

60、60;C (23) A (24) A (25) D (26) A (27) B (28) D (29) B (30) D (31) C (32) B (33) D (34) A (35) B (36) D (37) C (38) A (39) D (40) D (41)

61、 C (42) A (43) B (44) B (45) C (46) D (47) B (48) D (49) A (50) C 二、填空題答案(1) 【1】 系統軟件 (2) 【2】 CON 或 CON: (3) 【3】 TCP/IP 或者 傳輸控制協議/網際協議 (4) 【4】 EXIT

62、60;或者 exit (5) 【5】 二百萬 或者 兩百萬 或者 2百萬 或者 200萬 或者 2000000 或者 2,000,000 (6) 【6】 20,0 (7) 【7】 17 (8) 【8】 X (9) 【9】 3,2,2,3 (10) 【10】 /i 或者 *1.0/i 或者 *1/i 或者 *(1.0/i) 或者 /(double)i (11) 【11】 1000 10 (12) 【12】 3 5 (13) 【13】 80 (14) 【14】 "d1.dat","rb"#"d1.dat","r+b"#"d1.dat","rb+" (15) 【15】 k (16) 【16】 

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論