函數小結c語言,c語言函數介紹

本文目錄一覽:

C語言函數的特點及其定義?

C語言中一個函數(function)是一個可以從程序其它地方調用執行的語句塊。

1、通過使用函數(functions)我們可以把我們的程序以更模塊化的形式組織起來,從而利用C語言所支持的結構化程序設計。

2、從數學角度,函數即集合A和集合B之間的映射關係。實際上計算機中的函數概念也是源於此,因此,一般函數,都有形參和返回值。

3、從計算機組成原理的角度來看,函數即是一個小型的計算機系統,依據馮諾伊曼的“存儲程序原理”,每一個計算機系統包含:輸入系統、輸出系統、運算器以及控制器,實際上對於C語言中的函數來說,它是“存儲程序原理”的軟實現,其中形參、實參這是輸入系統,返回值是輸出系統,函數體中的運算符,比如+、-、*、/四則運算即為運算器,而邏輯運算符以及if、while等控制語句便是一個控制器。

詳細的C語言函數介紹

函數名: cleardevice

功 能: 清除圖形屏幕

用 法: void far cleardevice(void);

程序例:

#include graphics.h

#include stdlib.h

#include stdio.h

#include conio.h

int main(void)

{

/* request auto detection */

int gdriver = DETECT, gmode, errorcode;

int midx, midy;

/* initialize graphics and local variables */

initgraph(gdriver, gmode, “”);

/* read result of initialization */

errorcode = graphresult();

if (errorcode != grOk) /* an error occurred */

{

printf(“Graphics error: %s/n”, grapherrormsg(errorcode));

printf(“Press any key to halt:”);

getch();

exit(1); /* terminate with an error code */

}

midx = getmaxx() / 2;

midy = getmaxy() / 2;

setcolor(getmaxcolor());

/* for centering screen messages */

settextjustify(CENTER_TEXT, CENTER_TEXT);

/* output a message to the screen */

outtextxy(midx, midy, “press any key to clear the screen:”);

/* wait for a key */

getch();

/* clear the screen */

cleardevice();

/* output another message */

outtextxy(midx, midy, “press any key to quit:”);

/* clean up */

getch();

closegraph();

return 0;

}

c語言 求總結字符串輸入、輸出函數使用的區別。

C語言中的輸入輸出函數總結

C語言中數據輸入輸出的概念及在C語言中的實現

(1)所謂輸入輸出是以計算機為主體而言的。

(2)本章介紹的是向標準輸出設備顯示器輸出數據的語句。

(3)在C語言中,所有的數據輸入/輸出都是由庫函數完成的。 因此都是函數語句。

(4)在使用C語言庫函數時,要用預編譯命令#include將有關“頭文件”包括到源文件中。使用標準輸入輸出庫函數時要用到 “stdio.h”文件,因此源文件開頭應有以下預編譯命令:#include stdio.h 或#include ”stdio.h”,stdio是standard input outupt的意思。

(5)考慮到printf和scanf函數使用頻繁,系統允許在使用這兩個函數時可不加#include stdio.h 或#include ”stdio.h”

一、字符數據的輸入輸出

( 1 ) putchar 函數(字符輸出函數)

putchar 函數是字符輸出函數, 其功能是在顯示器上輸出單個字符。其一般形式為:putchar(字符變量).對控制字符則執行控制功能,不在屏幕上顯示。使用本函數前必須要用文件包含命令:#includestdio.h或#include “stdio.h”

( 2 ) getchar函數(鍵盤輸入函數)

getchar函數的功能是從鍵盤上輸入一個字符。其一般形式為:getchar();

通常把輸入的字符賦予一個字符變量,構成賦值語句,如:char c; c=getchar();使用getchar函數還應注意幾個問題:

1)getchar函數只能接受單個字符,輸入數字也按字符處理。輸入多於一個字符時,只接收第一個字符。

2)使用本函數前必須包含文件“stdio.h”。

3)在TC屏幕下運行含本函數程序時,將退出TC 屏幕進入用戶屏幕等待用戶輸入。輸入完畢再返回TC屏幕。

二、格式輸入與輸出

(1)printf函數(格式輸出函數)

printf函數稱為格式輸出函數,其關鍵字最末一個字母f即為“格式”(format)之意。其功能是按用戶指定的格式,把指定的數據顯示到顯示器屏幕上。在前面的例題中我們已多次使用過這個函數。

(1)printf函數調用的一般形式

printf函數是一個標準庫函數,它的函數原型在頭文件“stdio.h”中。但作為一個特例,不要求在使用 printf 函數之前必須包含stdio.h文件。printf函數調用的一般形式為:printf(“格式控制字符串”,輸出表列),其中格式控制字符串用於指定輸出格式。格式控制串可由格式字符串和非格式字符串兩種組成。格式字符串是以%開頭的字符串,在%後面跟有各種格式字符,以說明輸出數據的類型、形式、長度、小數位數等。如:“%d”表示按十進制整型輸出;“%ld”表示按十進制長整型輸出;“%c”表示按字符型輸出等。非格式字符串在輸出時原樣照印,在顯示中起提示作用。輸出表列中給出了各個輸出項,要求格式字符串和各輸出項在數量和類型上應該一一對應。

***格式字符串

格式: [標誌][輸出最小寬度][.精度][長度]類型

1)類型:類型字符用以表示輸出數據的類型,其格式符和意義如下表所示:

d,以十進制形式輸出帶符號整數(正數不輸出符號)

o,以八進制形式輸出無符號整數(不輸出前綴0)

x或X ,以十六進制形式輸出無符號整數(不輸出前綴Ox)

u,以十進制形式輸出無符號整數

f,以小數形式輸出單、雙精度實數

e或E,以指數形式輸出單、雙精度實數

g或G,以%f或%e中較短的輸出寬度輸出單、雙精度實數

c,輸出單個字符

s,輸出字符串

2)標誌:標誌字符為-、+、#、空格四種,其意義下表所示:

-,結果左對齊,右邊填空格

+,輸出符號(正號或負號)

空格,輸出值為正時冠以空格,為負時冠以負號

#,對c,s,d,u類無影響;對o類,在輸出時加前綴o;對x類,在輸出時加前綴0x;對e,g,f 類當結果有小數時才給出小數點

3)輸出最小寬度:用十進制整數來表示輸出的最少位數。若實際位數多於定義的寬度,則按實際位數輸出,若實際位數少於定義的寬度則補以空格或0。

4)精度:精度格式符以“.”開頭,後跟十進制整數。本項的意義是:如果輸出數字,則表示小數的位數;如果輸出的是字符,則表示輸出字符的

個數;若實際位數大於所定義的精度數,則截去超過的部分。

5.長度:長度格式符為h,l兩種,h表示按短整型量輸出,l表示按長整型量輸出。

(2)scanf函數(格式輸入函數)

scanf函數稱為格式輸入函數,即按用戶指定的格式從鍵盤上把數據輸入到指定的變量之中。

(1) scanf函數的一般形式

scanf函數是一個標準庫函數,它的函數原型在頭文件“stdio.h”中,與printf函數相同,C語言也允許在使用scanf函數之前不必包含stdio.h文件。scanf函數的一般形式為:scanf(“格式控制字符串”,地址表列);其中,格式控制字符串的作用與printf函數相同,但不能顯示非格式字符串,也就是不能顯示提示字符串。地址表列中給出各變量的地址。地址是由地址運算符“”後跟變量名組成的。這個地址就是編譯系統在內存中給a,b變量分配的地址。在C語言中,使用了地址這個概念,這是與其它語言不同的。應該把變量的值和變量的地址這兩個不同的概念區別開來。變量的地址是C編譯系統分配的,用戶不必關心具體的地址是多少。

(2) 格式字符串

格式字符串的一般形式為:%[*][輸入數據寬度][長度]類型其中有方括號[]的項為任選項。各項的意義如下:

1) 類型:表示輸入數據的類型,其格式符和意義如下表所示。

d,輸入十進制整數

o,輸入八進制整數

x,輸入十六進制整數

u,輸入無符號十進制整數

f或e,輸入實型數(用小數形式或指數形式)

c,輸入單個字符

s,輸入字符串

2) “*”符:用以表示該輸入項,讀入後不賦予相應的變量,即跳過該輸入值。

如:

scanf(“%d %*d %d”,a,b);

當輸入為:123時,把1賦予a,2被跳過,3賦予b。

3) 寬度:用十進制整數指定輸入的寬度(即字符數)。

例如:

scanf(“%5d”,a);

輸入:12345678

只把12345賦予變量a,其餘部分被截去。

又如:

scanf(“%4d%4d”,a,b);

輸入:12345678

將把1234賦予a,而把5678賦予b。

4) 長度:長度格式符為l和h,l表示輸入長整型數據(如%ld) 和雙精度浮點數(如%lf)。h表示輸入短整型數據。

使用scanf函數還必須注意以下幾點:

1))scanf函數中沒有精度控制,如:scanf(“%5.2f”,a);是非法的。不能企圖用此語句輸入小數為2位的實數。

2))scanf中要求給出變量地址,如給出變量名則會出錯。如 scanf(“%d”,a);是非法的,應改為scnaf(“%d”,a);才是合法的。

3))在輸入多個數值數據時,若格式控制串中沒有非格式字符作輸入數據之間的間隔則可用空格,TAB或回車作間隔。C編譯在碰到空格,TAB,回車或非法數據(如對“%d”輸入“12A”時,A即為非法數據)時即認為該數據結束。

4))在輸入字符數據時,若格式控制串中無非格式字符,則認為所有輸入的字符均為有效字符。

例如: scanf(“%c%c%c”,a,b,c);

輸入為:def

則把’d’賦予a, ‘ ‘ 賦予b,’e’賦予c。

只有當輸入為:def

時,才能把’d’賦於a,’e’賦予b,’f’賦予c。

如果在格式控制中加入空格作為間隔,

如:scanf (“%c %c %c”,a,b,c);

則輸入時各數據之間可加空格。

5) 如果格式控制串中有非格式字符則輸入時也要輸入該非格式字符。

例如:scanf(“%d,%d,%d”,a,b,c);

其中用非格式符“ , ”作間隔符,故輸入時應為:5,6,7

又如:scanf(“a=%d,b=%d,c=%d”,a,b,c);

則輸入應為:a=5,b=6,c=7

6) 如輸入的數據與輸出的類型不一致時,雖然編譯能夠通過,但結果將不正確。

學習c語言函數這一章的心得,和方法技巧。

我個人認為函數這部分的重點給你說下哦:

1.函數的返回值類型,也就是你函數return的內容的類型,注意如果有多種結束函數途徑的話一定要有多個return,譬如說

int fun(int x)

{

if(x0)

return 0;

else

return 1;

}

2.函數形參的傳遞關係,有的可以改變值,有的不可以改變值,也是給你個例子:

void fun1(int x,int *y,int z)

{

x=1;

*y=1;

z=1;

}

如果主函數有變量int a=b=c=2;fun(a,b,c);的話,那麼b和c的值會改變,而a的值不會改變,那是因為:

a並不對變量a所佔用內存空間的內容進行操作。

b是把b變量的內存空間地址傳遞進去了,fun函數直接對b變量所在內存空間進行操作,所以b會改變。

至於c,你暫時不用知道,因為形參int c表示的是一個引用,是c++裡面會涉及的,你現在用c所以暫時只要知道有這麼種方法就可以了。

3.就是注意函數中變量的存活期,這個說起來有點麻煩,你看下書上關於局部變量和全局變量那部分的內容吧,那個說的比較詳細。

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’.

}

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/300724.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-29 12:52
下一篇 2024-12-29 12:52

相關推薦

  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • Python中capitalize函數的使用

    在Python的字符串操作中,capitalize函數常常被用到,這個函數可以使字符串中的第一個單詞首字母大寫,其餘字母小寫。在本文中,我們將從以下幾個方面對capitalize函…

    編程 2025-04-29
  • Python中set函數的作用

    Python中set函數是一個有用的數據類型,可以被用於許多編程場景中。在這篇文章中,我們將學習Python中set函數的多個方面,從而深入了解這個函數在Python中的用途。 一…

    編程 2025-04-29
  • 三角函數用英語怎麼說

    三角函數,即三角比函數,是指在一個銳角三角形中某一角的對邊、鄰邊之比。在數學中,三角函數包括正弦、餘弦、正切等,它們在數學、物理、工程和計算機等領域都得到了廣泛的應用。 一、正弦函…

    編程 2025-04-29
  • 單片機打印函數

    單片機打印是指通過串口或並口將一些數據打印到終端設備上。在單片機應用中,打印非常重要。正確的打印數據可以讓我們知道單片機運行的狀態,方便我們進行調試;錯誤的打印數據可以幫助我們快速…

    編程 2025-04-29
  • AES加密解密算法的C語言實現

    AES(Advanced Encryption Standard)是一種對稱加密算法,可用於對數據進行加密和解密。在本篇文章中,我們將介紹C語言中如何實現AES算法,並對實現過程進…

    編程 2025-04-29
  • Python3定義函數參數類型

    Python是一門動態類型語言,不需要在定義變量時顯示的指定變量類型,但是Python3中提供了函數參數類型的聲明功能,在函數定義時明確定義參數類型。在函數的形參後面加上冒號(:)…

    編程 2025-04-29
  • 學習Python對學習C語言有幫助嗎?

    Python和C語言是兩種非常受歡迎的編程語言,在程序開發中都扮演着非常重要的角色。那麼,學習Python對學習C語言有幫助嗎?答案是肯定的。在本文中,我們將從多個角度探討Pyth…

    編程 2025-04-29
  • Python定義函數判斷奇偶數

    本文將從多個方面詳細闡述Python定義函數判斷奇偶數的方法,並提供完整的代碼示例。 一、初步了解Python函數 在介紹Python如何定義函數判斷奇偶數之前,我們先來了解一下P…

    編程 2025-04-29
  • Python實現計算階乘的函數

    本文將介紹如何使用Python定義函數fact(n),計算n的階乘。 一、什麼是階乘 階乘指從1乘到指定數之間所有整數的乘積。如:5! = 5 * 4 * 3 * 2 * 1 = …

    編程 2025-04-29

發表回復

登錄後才能評論