A. c語言函數的定義與調用
錯誤一、
void strca1(char s1[],char s2[])
{
int i,j; //這里i , j 沒的初值,運行結果是不確定的!!加上一句:
i=j=0;
錯誤二、
char e[20]="aaaa",f[20]="bbbb",*g,*h,*k; //這里g h都是指針,且沒有給指定空間位置
g="cccc"; //這里直接向g所指向的位置放數據,就好比,你想往盒子裡面放蘋果,但你卻沒有告訴往哪個盒子里放,「cccc"就不知道會存放到哪裡了,當g指向了一個不可用的內存地址,程序就會運行錯誤了!
h="dddd";//同上
改正方法:
char e[20]="aaaa",f[20]="bbbb";
char *g="cccc",*h="dddd",*k; //在定義時這樣寫是可以的,意思是讓g直接指向一個存放"cccc"數據的位置。
B. 說明一下C語言函數的基本結構,謝謝!
C語言程序結構的特點是順序結構、選擇結構、循環結構。
1、順序結構,默認的流程結構,按照書寫順序執行每一條語句。
2、選擇結構,對給定的條件進行判斷,再根據判斷結果來決定執行那一段代碼。
3、循環結構,在給定條件成立的情況下,反復執行某一段代碼。只有滿足條件是才會執行循環體,特別注意是否進入了死循環。
(2)c語言教學第五章函數擴展閱讀
C語言程序設計還能幫助我們學習其它計算機語言如我們熟悉的java語言vb語 言的設計,因此C語言是初學者必備的語言。
馮.諾依曼在1945年提出了現代計算機的若干思想,被後人稱為馮.諾依曼思想,這是計算機發展史上的里程碑。自1945 年至今大多採用其結構,因此馮.諾依曼被稱為計算機之父。
他的體系結構計算機由運算器,控制器,存儲器,輸入設備,輸出設備五大部件構成。C語言擁有一套完整的理論體系經過了漫長的發展歷史,在編程語言中具有舉足輕重的地位。
C. c語言的函數怎麼定義在主函數中要調用該函數,怎麼弄 形參與實參的關系
C語言函數在函數過程編寫前定義,比如編寫一個名稱為fx的函數,那麼:
#include"stdio.h"
#......
void fx(變數類型定義,用,分開);
main()
{
。。。。。。
fx(形參);
。。。。。。
}
void fx(變數類型定義,用,分開)
{。。。。。。}
形參是一個形式,相當於書架,你把實參(書)賦值給(放到)形參(書架對應位置上),並通過形參進行編輯(理解為在書架上拿書操作);最終書架的東西不能動,你看完從哪裡拿的放到哪,但是你拿下來過的東西的方式是你自己決定的
D. C語言圖形函數及應用 C語言輸出圖形
摘 要:圖形函數是C語言函數庫中的重要組成部分,利用圖形函數可以繪制出非常精美的圖形,該文介紹了常用C語言圖形函數並通過一個具體的實例介紹了如何利用圖形函數設計出完美、漂亮的圖形。
關鍵詞:C語言 圖形函數 應用
引言
C語言是國際上廣泛流行的很有發展前途的計算機高級語言。它既具有一般計算機高級語言的可讀性改睜、可移植性的特點,又具有低級語言能夠改皮對計算機硬體進行操作的特性,因此,它適合用於操作系統的描述語言,用C語言開發系統軟體和應用軟體。但在87ANSIC中並沒有規定C語言的圖形功能,許多C語言教材沒有介紹C語言的圖形功能,這給許多需要用C語言設計完美、漂亮的用戶界面的初學者帶來了困難[1-2]。本文旨在通過介紹Turbo C 2.0的主要圖形函數及一個具體的實例簡介這些函數的用法。
1 與圖形繪制有關的系統硬體[2-3]
要使計算機能夠繪制圖形,必須有一定的硬體基礎作為保障。圖形繪制的硬體基礎主要是顯示器和顯示卡。顯示器的工作方式一般有文本方式和圖形方式。要在屏幕上顯示圖形,必須將其設置成圖形方式。衡量顯示器的主核殲歲要性能指標是點距和解析度。目前顯示器常用的點距有0.39mm、0.31mm和0.28mm三種。高檔微機配置的彩色顯示器目前流行的是VGA檔次,它最低的解析度為640×480,中檔的是800×600,高檔的是1024×768。顯示器必須與顯示卡配套使用才能發揮其圖形功能。顯示卡所能支持的不同解析度的顯卡類型稱為顯示模式。下表給出Turbo C中常用的幾種顯示卡的圖形模式:
2 Turbo C 2.0中與繪圖有關的常用圖形函數
2.1 設置圖形工作方式的函數:initgraph()。
Turbo C繪圖,首先必須設置顯示器為圖形方式。該函數通過選定參數可確定顯卡的類型及圖形模式。
如:
int driver,mode;
driver=IBM8514;
mode=IBM8514HI;
initgraph(&driver,& mode,「c:\temp」);
將圖形方式設置為IBM8514類型,IBM8514HI圖形模式,1024×768的解析度,搜索路徑temp為C盤一級子目錄。
2.2 顏色控制函數setbkcolor(int color)及setcolor(int color)。
其中setbkcolor( )設置背景顏色,setcolor( )設置劃線顏色。
2.3 基本繪圖函數
A. line(int x1,int y1,int x2,int y2)
功能:從點(x1,y1)到點(x2,y2)畫一直線。
B. arc(int x,int y,int stange,int endangle,int r)
功能:以(x,y)為圓弧的中心,以stange為起始角度,以endangle為終止角度,以r為半徑作一圓弧。
C. setfillstyle(int pattern,int color)
功能:用參數pattern所確定的填充模式,用參數color確定的顏色進行填充。
D. floodfill(int x,int y,int color)
功能:填充一個含有點(x,y)在內的有界封閉區域,這個有界封閉區域的邊界由參數color確定,填充模式與填充顏色由函數setfillstyle設定。
2.4 字元輸出函數
A. settextstyle(int font,int direction,int size)
功能:在圖形方式下設置字元的字體,式樣和放大因子。
B. outtextxy(int x,int y,char &str)
功能:在窗口(x,y)的位置輸出字元或字元串。
C. getch( )
功能:從控制台取得一字元且不輸出,用來使程序暫停,按任意鍵後使程序繼續運行。
3. 繪制一個圓餅型統計圖的程序如下
#include
main( )
{ int driver,mode;
driver=VGA;
mode=VGAHI;
initgraph(&driver,&mode,「 」);
setbkcolor(0);
setcolor(15);
arc(320,240,0,360,180);
line(320,240,500,240);
line(320,240,443,112);
line(320,240,266,70);
line(320,240,200,374);
setfillstyle(4,2);
floodfill(340,230,15);
setfillstyle(5,9);
floodfill(340,180,15);
setfillstyle(7,4);
floodfill(300,240,15);
setfillstyle(8,3);
floodfill(340,280,15);
setcolor(14);
settextstyle(1,0,4);
outtextxy(410,180,「14%」);
settextstyle(1,0,4);
outtextxy(330,110,「16%」);
settextstyle(1,0,4);
outtextxy(200,200,「34%」);
settextstyle(1,0,4);
outtextxy(340,310,「36%」);}
上述程序在Turbo C 2.0中上機通過編譯、連接、運行,可得到精美的圓餅型圖。讀者通過閱讀並上機調試運行該程序可以對C語言的圖形設置、繪制;顏色的控制、填充等函數的應用有一個感性的認識,對復雜枯燥的C函數提高學習興趣。
結語
目前許多C語言教材很少介紹C語言的圖形功能,而許多C語言學習者對C語言的圖形功能很感興趣,為幫助初學者學習C語言繪圖函數並提高學習興趣,本文簡單介紹了C語言一些常用的繪圖函數及其應用,權當拋磚引玉!還有一些圖形函數沒有列出,讀者若有興趣可參閱《C語言函數大全》。
參考文獻:
[1]徐士良.PC機C圖形編程手冊.北京:清華大學出版社,1994.2.
[2]譚浩強.C程序設計(第二版)[M].北京:清華大學出版社,1999.
[3]MarkFinlay.C和C++圖形程序設計基礎.北京:龍門書局,1997.4.
[4]Herbert Schildt著.戴健鵬譯.C語言大全(第二版)[M].北京:電子工業出版社,1994.
E. C語言教程的內容是
C語言學習從入門到精通的一套經典視頻教程,本課程通過高清晰的視頻、概念詳解、實例精講、習題測試讓你很快的掌握C語言的相關知識,並領略運用到實例中去。在針對一些用戶認為C語言比較難學的情況下,本課程從初中級用戶的角度出發,進行合理的內容安排,突出學、練、用、鞏固相結合的特點,以通俗易懂的語言,豐富多彩的實例,詳細介紹了使用C語言進行程序開發應該掌握的各方面知識。本課程主要給大家講解了C語言概述,演算法,數據類型,運算符與表達式,常用的數據輸入、輸出函數,選擇結構程序設計,循環控制,數組,函數,指針,結構體和共用體,位運算,預處理,模塊化編程,編程規范,C語言常見問題及分析,習題測試等內容。所有知識都結合具體實例進行介紹,涉及的程序代碼給出了詳細的講解,可以使讀者輕松領會C語言程序開發的精髓,快速提高開發技能。
課程內容詳盡,實例豐富,非常適合作為單片機及編程初學者的學習課程,也可作為大中院校相關專業在校學生及畢業生的教學輔導課程、短期C語言培訓課程,是C語言編程愛好者從入門到深入的經典課程。
課程共分為15講,每節課的內容大綱如下:
第1課 C語言概述
1、幾種常見的程序設計語言
2、C語言出現的歷史背景
3、C語言的特點
4、簡單的C程序介紹
5、C程序的上機步驟
6、習題測試
第2課 程序的靈魂-演算法
1、程序設計過程
2、演算法的基本概念
3、演算法的特徵
4、演算法的表示方法(流程圖)
5、結構化程序設計方法
6、習題測試
第3課 C語言的數據類型
1、預備知識
2、C語言的數據類型
3、常量與變數
4、不同數據類型之間的轉換
5、運算符號和表達
6、習題測試
第4課 C語言順序程序設計
1、C語句概述
2、賦值語句
3、數據的輸入輸出
4、字元數據輸入輸出
5、格式輸入輸出
6、順序程序舉例
7、習題測試
第5課 C語言選擇程序設計
1、關系運算符和關系表達式
2、邏輯運算符和邏輯表達式
3、if 語句---條件判斷
4、條件運算符
5、switch 語句
6、選擇程序舉例
7、習題測試
第6課 C語言的循環控制
1、概述
2、goto語句及與if語句構成循環
3、while語句
4、do …while語句
5、for語句
6、循環的嵌套
7、幾種循環的比較
8、break語句和contiune語句
9、程序舉例
10、習題測試
第7課 C語言數組
1、一維數組
2、二維數組及多維數組
3、字元數組和字元串
4、程序舉例
5、習題測試
第8課 函數
1、概述
2、函數定義的一般格式
3、函數的返回值
4、函數的調用
5、函數參數及其傳遞方式
6、函數的嵌套與遞歸調用
7、數組作為函數參數
8、變數的存儲屬性
9、內部函數和外部函數
10、習題測試
第9課 C語言預處理命令
1、編譯預處理
2、宏定義
3、文件包含
4、條件編譯
5、習題測試
第10課 指針
1、指針的概念
2、指針變數
3、指針與數組
4、指針與字元串
5、指針與函數
6、返回指針值的函數
7、指針數組和多級指針
8、習題測試
第11課 結構體與共用體
1、結構類型與結構變數的定義
2、結構變數的引用與初始化
5、結構數組
6、指向結構類型數據的指針
7、用指針處理鏈表
8、共用體
9、枚舉類型
10、用typedef定義別名
11、程序舉例
12、習題測試
第12課 位運算
1、位運算概述
2、位運算符的使用方法
3、習題測試
第13課 單片機C語言的模塊化編程
1、模塊化編程的優點
2、C語言源文件(*.c)文件和頭文件(*.h)的的作用
3、模塊化編程設計步驟
4、程序實例
5、模塊化程序的移植
6、習題測試
第14課 C語言編程規范
1、編碼規范概述
2、編程排版規范
3、編程注釋規范
4、命名規則
5、可讀性規范
6、變數與結構規范
7、函數與過程規范
8、編程效率規范
9、質量保證規范
10、宏規范
11、代碼編輯
12、編譯
13、審查
14、代碼測試
15、維護
16、習題測試
第15課 C語言編程常見出錯問題及分析
1、C語言的一些基本概念
2、位(bit)和位元組(byte)
3、變數和數據存儲
4、數據文件
5、字元串操作
6、數組
7、指針和內存分配
8、函數
9、編譯預處理
10、標准庫函數
11、系統調用
12、可移植性
13、編程風格和標准
14、程序的編寫和編譯
15、調試
F. C語言 函數功能解析
本函數為求字元長度的函數。
int
fun(char
*s)
{char
*t=s;
//t取s的首地址
while(*t++);
//t自己遍歷,到字元末也就是
『\0』的時候,也是,s有幾個字元,就++幾次,到不能加的時候,停止循環,
return(t-s);
//首先,字元是一個位元組的大小,所以t-s就是char
*s的長度,又因為*t到『\0』的時候還加一次,所以長度包括『\0』.
}