當前位置:首頁 » 編程語言 » c語言函數的知識

c語言函數的知識

發布時間: 2022-05-10 16:42:36

① 關於c語言函數部分的基礎知識~

#include<stdio.h>
#include<math.h>
//這是聲明引用的文件,用<>括起來的一般是系統的庫,用「」一般是用戶自己的文件
//stdio是標准輸入輸出,math是數學函數庫,一般還需要用stdlib.h標准庫包含常用的操作,如system("pause");這個是用來使控制台暫停,能讓你看清結果用的,否則程序運行完一閃就沒了

int f(int h) //此處是聲明子函數,也可以使用;結束,然後再在別的地方寫實現方法
//第一個int 這是返回的值的類型,f是函數名,括弧里的int是傳入的參數類型,h是參數名,多個參數用,隔開
{int i,b,n=0,s=0;//聲明局部變數,在此處可以直接賦值
do{b=sqrt(h);//b=h的平方,sqrt是math庫里的已有的函數
for(i=2;i<=b;i++)//for(變數初始化;循環繼續的條件;每次循環後執行的操作)
if(h%i==0) break;//if(條件)條件成立的操作 此處break是指如果h除以i的余數等於0,則退出for循環
if(i>b){n++;s=s+h;}//這里if的判斷是因為上面如果沒有break,即這個數是素數,肯定最後i>b,那麼就把n增加1,然後s增加h
h--;//h是傳入的參數,遞減, 從而和n結合就是,取從傳入進來的數以下最大的十個素數
}
while(n<10); //do{循環內執行的操作} while(循環繼續的條件)
return(s);//函數f的返回值
}
main()
{int h;scanf("%d",&h);//scanf是讀取鍵盤輸入
printf("%d\n",f(h));//這個就是屏幕輸出了
}

建議拿本書看下吧,基本的什麼判斷、循環語句至少要知道,才看程序吧。

② 學習C語言需要掌握哪些基本知識

1.入門程序

#include <stdio.h>
int main()
{
printf("Hello World!");
return 0;
}

2.數據類型

數據類型:

1.基本數據類型:

1.1. 整型:int 4個位元組

1.2. 字元型:char 1個位元組

1.3. 實型(浮點型)

  • 1.3.1.單精度型:float 4個位元組

  • 1.3.2.雙精度型:double 8個位元組

  • 2.構造類型:

    2.1.枚舉類型

    2.2.數組類型

    2.3.結構體類型

    2.4.共用體類型

    3.指針類型:

    4.空類型:

    3.格式化輸出語句

  • %d:十進制整數;

  • %c:單個字元;

  • %s:字元串;

  • %f:6位小數;

  • #include <stdio.h>

  • int main()

  • {

  • int age = 18;

  • float height = 1.85;

  • char unit = 'm';

  • printf("小明今年%d歲 ", age);

  • printf("小明身高%f%c ", height, unit);

  • printf("小明現在在慕課網上學習IT技術 ");

  • return 0;

  • }

  • 學好C++才是入職大廠的敲門磚! 當年要是有這課,我的C++也不至於這樣

    已失效

    4.常量

    值不發生改變的量成為常量;

    定義字元常量(注意後面沒有;)

  • #include <stdio.h>

  • #define POCKETMONEY 10 //定義常量及常量值

  • int main()

  • {

  • printf("小明今天又得到%d元零花錢 ", POCKETMONEY);

  • return 0;

  • }

  • 5.運算符

    5.1.算數運算符:+,-,*,/,%,++,--;前++/--,先運算,再取值.後++/--,先取值,再運算;

    5.2.賦值運算符:

    5.3.關系運算符;

    5.4.邏輯運算符;

    5.5.三目運算符:

  • 表達式1 ? 表達式2 : 表達式3;

  • 6.水仙花數計算

    輸出所有三位數的水仙花數字

    所謂「水仙花數」是指一個三位數,其各位數字立方和等於該數,如:153就是一個水仙花數,153=111+555+333。

  • #include <stdio.h>


  • int main()

  • {

  • //定義三位數num,個位數sd,十位數td,百位數hd

  • int num, sd, td, hd;

  • //循環所有三位數

  • for( num=100 ; num<1000 ; num++ )

  • {

  • //獲取三位數字num百位上的數字

  • hd = num/100 ;

  • //獲取三位數字num十位上的數字

  • td = num/10%10 ;

  • //獲取三位數字num個位上的數字

  • sd = num%10 ;

  • //水仙花數的條件是什麼?

  • if(num ==hd*hd*hd+td*td*td+sd*sd*sd )

  • {

  • printf("水仙花數字:%d ", num);

  • }

  • }

  • return 0;

  • }

  • 7.列印正三角形的*

  • #include <stdio.h>

  • int main()

  • {

  • int i, j, k;

  • for(i=1; i<5; i++)

  • {

  • /* 觀察每行的空格數量,補全循環條件 */

  • for( j=i ; j<5 ; j++ )

  • {

  • printf(" "); //輸出空格

  • }

  • /* 觀察每行*號的數量,補全循環條件 */

  • for( k=0 ; k<2*i-1 ; k++ )

  • {

  • printf("*"); //每行輸出的*號

  • }

  • printf(" "); //每次循環換行

  • }

  • return 0;

  • }

  • 8.臭名遠揚的goto語句

    很少使用

  • #include <stdio.h>

  • int main()

  • {

  • int sum = 0;

  • int i;

  • for(i=1; i<=10; i++)

  • {

  • printf("%d ", i);

  • if(i==3){

  • goto LOOP;//滿足條件就執行goto語句

  • }

  • }

  • //執行goto

  • LOOP:printf("結束for循環了...."); //請選擇合適位置添加標識符

  • return 0;

  • }

  • 9.形參與實參

    形參:形參是在定義函數名和函數體的時候使用的參數,目的是用來接收調用該函數時傳入的參數;

    實參:實參是在調用時傳遞該函數的參數。

    函數的形參和實參具有以下特點:

  • 形參只有在被調用時才分配內存單元,在調用結束時,即刻釋放所分配的內存單元。因此,形參只有在函數內部有效。函數調用結束返回主調函數後則不能再使用該形參變數。

  • 實參可以是常量、變數、表達式、函數等,無論實參是何種類型的量,在進行函數調用時,它們都必須具有確定的值,以便把這些值傳送給形參。因此應預先用賦值等辦法使實參獲得確定值。

  • 在參數傳遞時,實參和形參在數量上,類型上,順序上應嚴格一致,否則會發生類型不匹配」的錯誤。

  • 10.函數返回值注意

    注意:void函數中可以有執行代碼塊,但是不能有返回值,另void函數中如果有return語句,該語句只能起到結束函數運行的功能。其格式為:return;

    11.遞歸

  • #include <stdio.h>


  • int getPeachNumber(int n) //這里要定義n,要不編譯器會報錯!

  • {

  • int num;

  • if(n==10)

  • {

  • return 1;

  • }

  • else

  • {

  • num = (getPeachNumber(n+1)+1)*2;

  • printf("第%d天所剩桃子%d個 ", n, num);

  • }

  • return num;

  • }

  • int main()

  • {

  • int num = getPeachNumber(1);

  • printf("猴子第一天摘了:%d個桃子。 ", num);

  • return 0;

  • }

  • 12.變數存儲類別 !

    12.1.生存周期劃分存儲方式

    C語言根據變數的生存周期來劃分,可以分為靜態存儲方式和動態存儲方式。

    靜態存儲方式:是指在程序運行期間分配固定的存儲空間的方式。靜態存儲區中存放了在整個程序執行過程中都存在的變數,如全局變數。

    動態存儲方式:是指在程序運行期間根據需要進行動態的分配存儲空間的方式。動態存儲區中存放的變數是根據程序運行的需要而建立和釋放的,通常包括:函數形式參數;自動變數;函數調用時的現場保護和返回地址等。

    12.2.存儲類型劃分

    C語言中存儲類別又分為四類:自動(auto)、靜態(static)、寄存器的(register)和外部的(extern) ;

  • 用關鍵字auto定義的變數為自動變數,auto可以省略,auto不寫則隱含定為「自動存儲類別」,屬於動態存儲方式。

  • 用static修飾的為靜態變數,如果定義在函數內部的,稱之為靜態局部變數;如果定義在函數外部,稱之為靜態外部變數。

  • 注意:靜態局部變數屬於靜態存儲類別,在靜態存儲區內分配存儲單元,在程序整個運行期間都不釋放;靜態局部變數在編譯時賦初值,即只賦初值一次;如果在定義局部變數時不賦初值的話,則對靜態局部變數來說,編譯時自動賦初值0(對數值型變數)或空字元(對字元變數)

  • 為了提高效率,C語言允許將局部變數的值放在CPU中的寄存器中,這種變數叫「寄存器變數」,用關鍵字register作聲明。

  • 注意:只有局部自動變數和形式參數可以作為寄存器變數;一個計算機系統中的寄存器數目有限,不能定義任意多個寄存器變數;局部靜態變數不能定義為寄存器變數。

  • 用extern聲明的的變數是外部變數,外部變數的意義是某函數可以調用在該函數之後定義的變數。

  • #includ <stdio.h>

  • //來源公眾號:C語言與CPP編程

  • int main()

  • {

  • //定義外部局部變數

  • extern int x;

  • return 0;

  • }

  • int x=100;

  • 13.內部函數外部函數 !

    在C語言中不能被其他源文件調用的函數稱為內部函數 ,內部函數由static關鍵字來定義,因此又被稱為靜態函數,形式為:

    static [數據類型] 函數名([參數])

    這里的static是對函數的作用范圍的一個限定,限定該函數只能在其所處的源文件中使用,因此在不同文件中出現相同的函數名稱的內部函數是沒有問題的。

    在C語言中能被其他源文件調用的函數稱為外部函數 ,外部函數由extern關鍵字來定義,形式為:

    extern [數據類型] 函數名([參數])

    C語言規定,在沒有指定函數的作用范圍時,系統會默認認為是外部函數,因此當需要定義外部函數時extern也可以省略。 extern可以省略; 14.數組 數組:一塊連續的,大小固定並且裡面的數據類型一致的內存空間, 數組的聲明:數據類型 數組名稱[長度n]

  • 數據類型 數組名稱[長度n] = {元素1,元素2,元素3,......};

  • 數據類型 數組名稱[] = {元素1,元素2,元素3,......};

  • 數類類型 數組名稱[長度n]; 數組名稱[0] = 元素1;數組名稱[1] = 元素2;...... 注意: 1、數組的下標均以0開始; 2、數組在初始化的時候,數組內元素的個數不能大於聲明的數組長度; 3、如果採用第一種初始化方式,元素個數小於數組的長度時,多餘的數組元素初始化為0; 4、在聲明數組後沒有進行初始化的時候,靜態(static)和外部(extern)類型的數組元素初始化元素為0,自動(auto)類型的數組的元素初始化值不確定。

  • 15.數組遍歷

  • #include <stdio.h>


  • int main()

  • {

  • int arr[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

  • int i;

  • for(i=0;i<10;i++)

  • {

  • printf("%d ",arr[i]);

  • }

  • return 0;

  • }

  • 數組的冒泡排序

  • 冒泡排序的思想:相鄰元素兩兩比較,將較大的數字放在後面,直到將所有數字全部排序。

  • 字元串與數組

  • 在C語言中,是沒有辦法直接定義子字元串數據類型的,需使用數組來定義所要的字元串,形式如下:

  • char 字元串名稱[長度] = "字元串內容";

  • char 字元串名稱[長度] = {'字元串1','字元串2',....,'字元串n',''};

  • 注:

  • []中的長度可以省略不寫;

  • 採用第二種方式最後一個元素必須是'',表示結束;

  • 第二種方式不能寫中文!; 輸出字元串時,要使用:printf("%s",字元數組名);或puts(字元數組名);

  • 16.字元串函數

  • strlen(s):獲取字元串s的長度;

  • strcmp(s1,s2):比較字元串;比較的時候會把字元串轉換成ASCII碼再進行比較,返回結果為0表示s1和s2的ASCII碼值相等,返回結果為1表示s1比s2的ASCII碼大,返回結果為-1表示s1比s2的ACSII碼小;

  • strcpy(s1,s2):字元串拷貝;s2會取代s1中的內容;

  • strcat(s1,s2)將s2拼接到s1後面;注意:s1的length要足夠才可以!

  • atoi(s1)將字元串轉為整數!

  • 17.多維數組

    數據類型 數組名稱[常量表達式1]...[常量表達式n];

    多維數組的初始化與一維數組的初始化類似也是分兩種:

  • 數據類型 數組名稱[常量表達式1][常量表達式2]...[常量表達式n] = {{值1,..,值n},{值1,..,值n},...,{值1,..,值n}};

  • 數據類型 數組名稱[常量表達式1][常量表達式2]...[常量表達式n]; 數組名稱[下標1][下標2]...[下標n] = 值;

  • 多維數組初始化要注意以下事項:

  • 採用第一種始化時數組聲明必須指定列的維數。因為系統會根據數組中元素的總個數來分配空間,當知道元素總個數以及列的維數後,會直接計算出行的維數;

  • 採用第二種初始化時數組聲明必須同時指定行和列的維數。

  • 18.多維度數組的遍歷

    使用嵌套循環

    注意:多維數組的每一維下標均不能越界!

    19.結構體

    C 數組允許定義可存儲相同類型數據項的變數,結構是 C 編程中另一種用戶自定義的可用的數據類型,它允許您存儲不同類型的數據項。

    結構用於表示一條記錄,假設您想要跟蹤圖書館中書本的動態,您可能需要跟蹤每本書的下列屬性:

  • Title

  • Author

  • Subject

  • Book ID

  • 定義結構

    為了定義結構,您必須使用 struct 語句。struct 語句定義了一個包含多個成員的新的數據類型,struct 語句的格式如下:

  • struct tag {

  • member-list

  • member-list

  • member-list

  • ...

  • } variable-list ;

  • tag 是結構體標簽。

    member-list 是標準的變數定義,比如 int i; 或者 float f,或者其他有效的變數定義。

    variable-list 結構變數,定義在結構的末尾,最後一個分號之前,您可以指定一個或多個結構變數。下面是聲明 Book 結構的方式:

  • struct Books

  • {

  • char title[50];

  • char author[50];

  • char subject[100];

  • int book_id;

  • } book;

  • 在一般情況下,tag、member-list、variable-list 這 3 部分至少要出現 2 個。以下為實例:

  • //此聲明聲明了擁有3個成員的結構體,分別為整型的a,字元型的b和雙精度的c

  • //同時又聲明了結構體變數s1

  • //這個結構體並沒有標明其標簽

  • struct

  • {

  • int a;

  • char b;

  • double c;

  • } s1;


  • //此聲明聲明了擁有3個成員的結構體,分別為整型的a,字元型的b和雙精度的c

  • //結構體的標簽被命名為SIMPLE,沒有聲明變數

  • struct SIMPLE

  • {

  • int a;

  • char b;

  • double c;

  • };

  • //用SIMPLE標簽的結構體,另外聲明了變數t1、t2、t3

  • struct SIMPLE t1, t2[20], *t3;


  • //也可以用typedef創建新類型

  • typedef struct

  • {

  • int a;

  • char b;

  • double c;

  • } Simple2;

  • //現在可以用Simple2作為類型聲明新的結構體變數

  • Simple2 u1, u2[20], *u3;

  • 訪問結構成員

    為了訪問結構的成員,我們使用成員訪問運算符(.)。成員訪問運算符是結構變數名稱和我們要訪問的結構成員之間的一個句號。您可以使用 struct 關鍵字來定義結構類型的變數。下面的實例演示了結構的用法:

  • #include <stdio.h>

  • #include <string.h>

  • //來源公眾號:C語言與CPP編程


  • struct Books

  • {

  • char title[50];

  • char author[50];

  • char subject[100];

  • int book_id;

  • };


  • int main( )

  • {

  • struct Books Book1; /* 聲明 Book1,類型為 Books */

  • struct Books Book2; /* 聲明 Book2,類型為 Books */


  • /* Book1 詳述 */

  • strcpy( Book1.title, "C Programming");

  • strcpy( Book1.author, "Nuha Ali");

  • strcpy( Book1.subject, "C Programming Tutorial");

  • Book1.book_id = 6495407;


  • /* Book2 詳述 */

  • strcpy( Book2.title, "Telecom Billing");

  • strcpy( Book2.author, "Zara Ali");

  • strcpy( Book2.subject, "Telecom Billing Tutorial");

  • Book2.book_id = 6495700;


  • /* 輸出 Book1 信息 */

  • printf( "Book 1 title : %s ", Book1.title);

  • printf( "Book 1 author : %s ", Book1.author);

  • printf( "Book 1 subject : %s ", Book1.subject);

  • printf( "Book 1 book_id : %d ", Book1.book_id);


  • /* 輸出 Book2 信息 */

  • printf( "Book 2 title : %s ", Book2.title);

  • printf( "Book 2 author : %s ", Book2.author);

  • printf( "Book 2 subject : %s ", Book2.subject);

  • printf( "Book 2 book_id : %d ", Book2.book_id);


  • return 0;

  • }

  • 學好C++才是入職大廠的敲門磚! 當年要是有這課,我的C++也不至於這樣

    已失效

    20.共用體

    共用體是一種特殊的數據類型,允許您在相同的內存位置存儲不同的數據類型。您可以定義一個帶有多成員的共用體,但是任何時候只能有一個成員帶有值。共用體提供了一種使用相同的內存位置的有效方式。

  • #include <stdio.h>

  • #include <string.h>


  • union Data

  • {

  • int i;

  • float f;

  • char str[20];

  • };


  • int main( )

  • {

  • union Data data;


  • printf( "Memory size occupied by data : %d ", sizeof(data));


  • return 0;

  • }

  • 21.指針

  • #include <stdio.h>


  • int main ()

  • {

  • int var = 20; /* 實際變數的聲明 */

  • int *ip; /* 指針變數的聲明 */


  • ip = &var; /* 在指針變數中存儲 var 的地址 */


  • printf("Address of var variable: %p ", &var );


  • /* 在指針變數中存儲的地址 */

  • printf("Address stored in ip variable: %p ", ip );


  • /* 使用指針訪問值 */

  • printf("Value of *ip variable: %d ", *ip );


  • return 0;

  • }

  • 22.文件讀寫

    寫入文件

  • #include <stdio.h>


  • int main()

  • {

  • FILE *fp = NULL;


  • fp = fopen("/tmp/test.txt", "w+");

  • fprintf(fp, "This is testing for fprintf... ");

  • fputs("This is testing for fputs... ", fp);

  • fclose(fp);

  • }

  • 讀取文件

  • #include <stdio.h>


  • int main()

  • {

  • FILE *fp = NULL;

  • char buff[255];


  • fp = fopen("/tmp/test.txt", "r");

  • fscanf(fp, "%s", buff);

  • printf("1: %s ", buff );


  • fgets(buff, 255, (FILE*)fp);

  • printf("2: %s ", buff );


  • fgets(buff, 255, (FILE*)fp);

  • printf("3: %s ", buff );

  • fclose(fp);


  • }

  • C語言與C++學習路線

    23.排序演算法

    十大經典排序演算法(動態演示+代碼)

    24.查找演算法

    九種查找演算法

    25.面試知識

    C語言與C++面試知識總結

    26.字元串操作

    字元串操作的全面總結

    27.C語言常用標准庫解讀

    C語言常用標准庫解讀

    28. C語言最常用的貪心演算法

    C語言最常用的貪心演算法就這么被攻克了

    29. 常見的C語言內存錯誤及對策

    常見的C語言內存錯誤及對策

    30. C語言實現面向對象的原理

    C語言實現面向對象的原理

    31. C語言/C++內存管理

    看完這篇你還能不懂C語言/C++內存管理?

    32. 再談C語言指針

    再談指針:大佬給你撥開 C 指針的雲霧

    C語言函數指針之回調函數

    C語言指針詳解(文末有福利)

    33. C語言預處理命令

    長文詳解:C語言預處理命令

    34. C語言高效編程與代碼優化

    C語言高效編程與代碼優化

    35. C語言結構體

    C語言之結構體就這樣被攻克了!值得收藏!

    36. 原碼, 反碼, 補碼 詳解

    原碼, 反碼, 補碼 詳解

    37. C語言宏定義

    簡述C語言宏定義的使用

    38. c語言之共用體union、枚舉、大小端模式

    c語言之共用體union、枚舉、大小端模式

③ C語言入門需要掌握的核心知識點有哪些

1、順序、分支、循環等基本語句;
2、char、int、double、float等基本數據類型;
3、帶參數宏定義和函數的區別;
4、指針和數組的區別,尤其注意下指針數組和數組指針;
5、函數指針和指針函數;
6、結構體和聯合體以及自定義類型typedef的應用;
7、printf、scanf、getchar、putchar、fopen、fclose、fgetc、fputc等基本庫函數的應用;
8、malloc、calloc、realloc、free等內存管理函數的應用;
9、函數的聲明和定義;
10、注意C語言的基本單位是函數;
還有很多,因為篇幅限制不能一一例舉,但上面提到的10點都是很多考試和面試中經常出現的。
有時間可以看看這三本書《C和指針》、《C陷阱和缺陷》、《C專家編程》,C語言的大部分問題都可以在這三本書中找到答案,熟練掌握著三本書的內容再加上一些實際項目將沒有人可以輕易用C語言的問題為難你。

④ C語言常用的函數有哪些

C語言庫函數,常用庫函數有:

1、scanf格式輸入函數

2、printf格式輸出函數

3、systemdos命令函數

4、sort排序

5、main主函數

6、fgets文件讀取字元串函數

7、fputs文件寫入字元串函數

8、fscanf文件格式讀取函數

9、fprintf文件格式寫入函數

10、fopen打開文件函數

11、getchar輸入字元函數

12、putchar輸出字元函數

13、malloc動態申請內存函數

14、free釋放內存函數

15、abs求絕對值數學函數

16、sqrt求平方根數學函數

(4)c語言函數的知識擴展閱讀

語言組成:


1、數據類型

C的數據類型包括:整型、字元型、實型或浮點型(單精度和雙精度)、枚舉類型、數組類型、結構體類型、共用體類型、指針類型和空類型。

2、常量與變數

常量其值不可改變,符號常量名通常用大寫。

變數是以某標識符為名字,其值可以改變的量。標識符是以字母或下劃線開頭的一串由字母、數字或下劃線構成的序列,請注意第一個字元必須為字母或下劃線,否則為不合法的變數名。變數在編譯時為其分配相應存儲單元。

3、數組

如果一個變數名後面跟著一個有數字的中括弧,這個聲明就是數組聲明。字元串也是一種數組。它們以ASCII的NULL作為數組的結束。要特別注意的是,方括內的索引值是從0算起的。

4、指針

如果一個變數聲明時在前面使用 * 號,表明這是個指針型變數。換句話說,該變數存儲一個地址,而 *(此處特指單目運算符 * ,下同。C語言中另有 雙目運算符 *) 則是取內容操作符,意思是取這個內存地址里存儲的內容。指針是 C 語言區別於其他同時代高級語言的主要特徵之一。

⑤ C語言知識總結

c語言概要
第一章、 概述
1、 c語言的基本知識
1.1、 c語言的執行步驟
編輯-程序代碼的錄入,生成源程序*.c
編譯-語法分析查錯,翻譯生成目標程序*.obj
(語法或邏輯錯誤,從第一個開始改,變數定義,語句格式,表達式格式等)
鏈接-與其他目標程序或庫鏈接裝配,生成可執行程序*.exe
執行
1.2、 main函數的基本知識
main()函數的位置
c程序總是從main( )函數開始執行
一個c程序可以包含一個主函數,即main()函數;也可以包含一個main()函數和若干其它函數
1.3、 c程序的結構
函數與主函數
程序由一個或多個函數組成
必須有一個且只能有一個主函數main()
程序執行從main開始,在main中結束,其他函數通過嵌套調用得以執行
程序語句
C程序由語句組成
用「;」作為語句終止符
注釋
//

/* */ 為注釋,不能嵌套
不產生編譯代碼
1.4、c 程序書寫的規則
習慣用小寫字母,大小寫敏感
不使用行號,無程序行概念:通常一個語句佔一行
可使用空行和空格
常用鋸齒形的書寫格式;同一層次結構的語句上下對齊。
第二章、基本數據類型與運算
2.1、c程序的數據類型
注意類型和變數含義的不同(類型是固定好的名字,變數是自己起的名字)
變數佔用的存儲空間
數據類型
基本類型:整型、字元型、浮點型(單精度型,雙精度型)
構造類型:數組類型、結構體類型
指針類型
空類型
注意基本類型賦初值的方式
基本數據類型的表示形式
整形數據
十進制:以非0數字開頭,如:123,-9,0
八進制;以0數字開頭,如:0123,067
十六進制:以0x開頭,如:0x123,0xff
實型數據
十進制:必須帶小數點,如:123.0,-9.0
指數形式;如:1.23E3,0.9e-2,5e2
字元型數據
普通字元:如:』a』,』2』,』H』,』#』
轉義字元:如:』\n』,』\167』,』\xlf,』\\』
(實現幾列的對齊:指定寬度。如%100\ 『\t』製表位)
(字元串長度。「abc\n\t\\」 strlen 6; sizeof 7)
基本數據類型的存儲長度
整型
Int 位元組數 2 位數 16 數的表示範圍 -32768—32767
Short 2 16 -32768—32767
Long 4 32 -2147483648—2147483647
實型
Float 4 32 3.4e-38---3.4e38
Double 8 64 1.7e-308---1.7e308
字元型
Char 1 8 -128----127
2.2、標識符命名規則
C語言標志符命名規則
標識符有數字,字母,下劃線組成
標識符的首字元必須為字母和下劃線
標識符不能為c語言的保留字(關鍵字)
如:auto extern sizeof float static case for struct char goto switch continue in typedef const if union default long unsigned do register void double return else short while enum signed
算術運算符 + - * / %
關系運算符 > < == >= <= !=
邏輯運算符 ! && ||
位運算符 << >> ~ | ^ &
賦值運算符 = 及其擴展賦值運算符
條件運算符 ? :
逗號運算符 ,
指針運算符 * &
求位元組數運算符 sizeof
強制類型轉換運算符 (類型)
分量運算符 . ->
下標運算符 [ ]
其他 如函數調用運算符()
運算符的優先順序
由高到低:單目運算符,算數運算符,關系運算符,賦值運算符
說明:單目運算符:自增運算符,自減運算符,類型裝換運算符。結合方向:自右至左
如:++--I 先—i.。
算術運算 結合方向自左至右
2.3基本運算和表達式
關系表達式和邏輯表達式
(a>b)&&(x>y) (a==b)||(x==y) !=a||(a>b)
A&&b.a為0.不執行b
A||b a為1.不執行b
在 c 中邏輯運算結果:1代表「真」,0代表「假」;
判斷一個表達式是否真:0代表「假」,非0代表「真」
條件表達式 逗號表達式
如:k=5,k++
逗號值為5;k為6.
表達式1?表達式2 :表達式3
K=5>6 ? 1 : 0
2.4、混合運算的數據類型轉換
2/3+0.5 雙精度浮點型
第三章、順序結構程序設計
3.1、c語句的分類
簡單語句
表達式語句 表達式+分號
空語句 只有分號的語句
復合語句 用花括弧將若干語句括起來
流程式控制制語句
選擇語句 if ,switch
循環語句 while, do while , for
轉移語句 break ,continue ,return goto
3.2、格式輸入函數scanf
一般形式:scanf(「格式控制字元串「,地址列表);
使用scanf函數時,需要注意:
格式字元的個數必須與輸入項的個數相同,數據類型必須一一對應,非格式字元串(說明性的)要原封不動的輸入。
輸入實行數據時,可以不帶小數點,即按整型數據輸入
數值型數據與字元或字元串混合輸入時,需要注意輸入方式。
3.3、格式輸出函數printf
Printf(「格式控制字元串「,輸出列表);
指定輸出格式,由格式字元串和非格式字元串兩種組成,非格式字元串照原樣輸出。
%[標志][輸出最小寬度][.精度][長度]類型
標志:- 左對齊;+ 右對齊;
%f, %d, %c, %s
3.4、其他輸入輸出函數
Putchar getchar puts gets
第四章、選擇結構程序設計
If選擇結構
單分支
If(表達式)
語句
雙分支
If(表達式)
語句1
Else
語句2
多分支
If (表達式1)
語句1
Else if(表達式2)
語句2
。。。
Else if(表達式m)
語句m
Else
語句n
Switch(表達式)
{
Case 常量表達式1:語句1;break;
Case 常量表達式2:語句2;break;
。。。
Case 常量表達式m:語句m;break;
Default:語句n;break;
}
注意break的使用
第五章、循環結構程序設計
循環三要素
初始條件 ;終止條件 ;在初始條件和終止條件間反復做某件事情(循環體)
While(表達式)
語句

Do
語句
While(表達式);

For(循環體變數賦初值;循環條件;循環變數增量)
( for( ) ; // ; 進行時間延遲。在信息交換等時用。如for(i=0,i<100) ; 互相通訊的時間延遲。 Delay )
Break語句 :不能用於循環語句和switch語句之外的任何其他語句;跳出循環。
Continue語句 :跳過循環體中剩餘的語句而強行執行下一次循環;跳出本次循環。
第六章、函數與編譯預處理
6.1、函數的定義和調用
類型標識符 函數名 (形式參數列表)
{ 聲明部分
語句
}
例:
Int max (int x,int y)
{int z;<br>Z=x>y?x:y;<br>Return(z);}
6.2、局部變數和全局變數
注意函數中靜態變數的定義和使用
6.3、變數的存儲類型
局部變數的存儲類型
自動變數(auto) 動態存儲
局部靜態變數(static) 靜態存儲
寄存器變數(register) 靜態存儲
全局變數的存儲類型
自動變數(auto) 動態存儲
外部變數 (extern) 靜態存儲
全局靜態變數(static )靜態存儲
Extern 外部引用
Static 不能用extern 引用。
第七章、數組
7.1、一維數組的定義和使用
特別需要注意循環體的初值,終止條件
例:
Main()
{
Int I,a[10];
For(i=0;i<=9;i++)
A=I;
For(i=9;i>=0;i--)
Printf(「%d」,a);
}
注意下標問題
7.2、二維數組的定義和使用
二維數組的初始化
例如:
Int a[3][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12}};
Int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};
Int a[ ][4]={1,2,3,4,5,6,7,8,9,10,11,12};
Int a[ ][4]={{1,2,3,4},{5},{9,10,11,12}};
例如:int a[3][3]={{1},{2},{3}};
是對每一行的第一列元素賦值,未賦值的元素取0
7.3、字元數組和 字元串
字元串用字元數組來處理,結束標志符 『\0』
如:char c[ ]={「I am happy」};
用字元串常量使字元數組初值化
Char c[ ]={『I』,』 『,』a』,』m』,』 『,』h』,』a』,』p』,』p』,』y』,』\0』};
第八章、指針
8.1、地址和指針的概念
Int I;
Int *i_point;
8.2、指針變數和變數的地址
操作符:* &
8.3、指針和一維數組
若有定義
Int a[10];
Int *p=a;
分析下面表達式的含義:
A, &a,
*(a+i), a+I,
*(p+i), p+i
A=*(a+i)=*(P+i)
&a=a+i=p+i
8.4、指針與字元串
Main()
{
Char string[ ]=」I love china!」;
Printf(「%s\n」,string);
}
Main()
{ char *string=」I love china!」;
Printf(「%s\n」,string);
}
8.5、指針變數作為函數參數
形參的定義方式;實參的形式;參數的傳遞方式。
第九章、結構體
9.1、結構體類型和變數的定義
Struct 結構體名
{成員列表};
Struct student
{char stuNO[8];<br>Char name[20];<br>Char sex;<br>Int age;<br>Float score;<br>Char addr[30];<br>};

Stuct student
{char stuNO[8];<br>Char name[20];<br>Char sex;<br>Int age;<br>Float score;<br>Char addr[30];<br>};
Struct student stu1, stu2;
9.2、結構體變數的引用
一般形式為:
結構體變數名.成員名
9.3、結構體數組
結構體數組 結構體數組元素.成員名
指向結構體的指針變數
(*p).成員名
p->成員名
其他
Strcpy(字元數組1,字元串2)
Strcat(字元數組1,字元數組2)
Strcmp(字元串1,字元串2)
Strlen(字元數組)

⑥ 什麼是c語言裡面的函數

...就像是啊。。。

木匠做椅子的時候,是做四個腳,靠背,平板分開做的

函數也就是差不多這樣,

main是主函數,一個C程序中有且中能又一個主函數。

主函數可以調用任何函數。除了主函數。

簡單說啊,比如說 寫一個函數的功能是求兩個數的和,
就在主函數外面寫一小段程序,把a,b的值相加,再返回。
然後再主函數中當需要求兩個數的和的時候,直接調用這個函數就可以了
比如寫的那個函數是:
qiuhe()
調用的時候就說
he = qiuhe(a,b)
函數也就是分工啦,
各自有不同功能,用主函數通過函數名來使用這些功能,就可以使程序簡化,
不需要重復編寫功能相似的代碼,。。。就這樣...

⑦ 求C語言的常用函數,詳細一點

C語言的常用庫函數

函數1。absread()讀磁碟絕對扇區函數
函數2。abswrite()寫磁碟絕對扇區函數
函數3。atof()將字元串轉換成浮點數的函數
函數4。atoi()將字元串轉換成整型數的函數
函數5。atol()將字元串轉換成長整型數的函數
函數6。bcd()把一個數轉換成對應的BCD碼的函數
函數7。bdos()
函數8。biosdisk()調用BIOS磁碟驅動程序函數
函數9。biosprint()調用BIOS列印機I/O介面的函數
函數10。calloc()分配內存函數
函數11。ceil()
函數12。cgets()讀字元串函數
函數13。chdir()改變當前目錄的函數
函數14。_chmod()改變文件存取許可權的函數
函數15。chmod()改變文件存取許可權的函數
函數16。clock()
函數17。close()關閉文件函數
函數18。closegraph()關閉圖形函數
函數19。cos()
函數20。ctrlbrk()設置ctrl-break處理程序的函數
函數21。delay()暫停函數
函數22。disable()屏蔽中斷的宏
函數23。enable()開硬體中斷的宏
函數24。exec()載入並運行其它程序的函數族
函數25。farcalloc()從遠堆中分配內存的函數
函數26。farfree()從遠堆中釋放一塊已分配內存的函數
函數27。farmalloc()從遠堆中分配內存的函數
函數28。farrealloc()調整遠堆中已分配塊的函數
函數29。fclose()關閉一個流函數
函數30。fcloseall()關閉打開的流的函數
函數31。feof()檢查文件是否結束的函數
函數32。fgets()從流中讀取一字元串的函數
函數33。findfirst()函數和findnext()函數
函數34。floodfill()填充區域的函數
函數35。floor()
函數36。fnmerge()建立文件路徑函數
函數37。fnsplit()分解完整的路徑名函數
函數38。fopen()打開一個流函數
函數39。FP_OFF()獲取遠地址偏移量的宏
函數40。fprintf()傳送輸出到一個流中的函數
函數41。FP_SEG()獲取遠地址段值的宏
函數42。fscanf()格式化輸入函數
函數43。fseek()移動文件指針函數
函數44。fwrite()把參數寫入流中的函數
函數45。gcvt()把雙精度數轉化成字元串的函數
函數46。geninterrupt()執行中斷函數
函數47。getc()從流中取字元的宏
函數48。getch()從鍵盤無回顯地讀取一字元的函數
函數49。getchar()從stdin流中讀取一個字元的函數
函數50。getcurdir()讀取指定驅動器的當前目錄的函數

函數61。getcwd()讀取當前目錄的函數
函數62。getdate()讀取系統日期函數
函數63。getdfree()讀取磁碟空閑空間的函數
函數64。getdisk()讀取當前磁碟驅動器號函數
函數65。getenv()讀取環境變數的當前值的函數
函數66。getimage()將指定區域的點陣圖象存入內存的函數
函數67。getmaxx()返回屏幕上最大的X坐標值的函數
函數68。getmaxy()返回屏幕上最大的Y坐標值的函數
函數69。getpixel()讀取像素顏色的函數
函數70。getpsp()
函數71。gets()從標准輸入流stdio中讀取一字元串的函數
函數72。gettime()讀取系統時間的函數
函數73。getvect()讀取中斷向量函數
函數74。getx()返回當前圖形方式下位置的X坐標值的函數
函數75。gety()返回當前圖形方式下位置的Y坐標值的函數
函數76。imagesize()返回保存圖像緩沖區大小的函數
函數77。initgraph()顯示模式控制函數(初始化圖形系統函數)
函數78。inport()從埠中讀入一個字的函數
函數79。inportb()從埠讀入一個位元組的函數
函數80。int86()執行中斷函數(調用8086軟中斷函數)
函數81。int86x()執行中斷函數 (通用8086軟中斷介面函數)
函數82。intdos()通用dos中斷介面函數
函數83。intdosx()通用dos中斷介面函數
函數84。intr()執行8086軟中斷函數(改變軟中斷介面函數)
函數85。itoa()把整形數轉換為字元串的函數
函數86。kbhit()檢查當前按下的鍵的函數
函數87。keep()駐留並退出函數
函數88。log()
函數89。log10()
函數90。_lrotl()將一個無符號長整形數左循環移位的函數
函數91。_lrotr()將一個無符號長整形數右循環移位的函數
函數92。lseek()移動文件指針函數
函數93。ltoa()把長整形數轉換為字元串的函數
函數94。malloc()分配內存函數
函數95。mkdir()創建目錄函數
函數96。mktemp()建立一個唯一的文件名的函數
函數97。MK_FP()設置一個遠指針的宏
函數98。movedata()拷貝數據函數
函數99。_open()打開一個文件進行讀寫的函數
函數100。open()打開文件進行讀寫的函數
函數101。outport()輸出一個字到埠中的函數
函數102。outportb()輸出一個位元組到埠中的函數
函數103。outtextxy()在指定位置顯示一字元串的函數
函數104。peek()返回指定內存中字的函數
函數105。peekb()返回指定內存中位元組的函數
函數106。poke()在指定的內存中存儲一個字的函數
函數107。pokeb()在指定的內存中存儲一個位元組的函數
函數108。pow()
函數109。printf()寫格式化輸出到stdout的函數
函數110。putch()向屏幕輸出字元的函數
函數111。putchar()在stdout上輸出字元的宏
函數112。putenv()將字元串放入當前環境中的函數
函數113。putimage()重新寫屏函數(輸出一個點陣圖象到圖形屏幕上的函數)
函數114。putpixel()寫像素點函數
函數115。puts()輸出一字元串到stdout(標准輸出)的函數
函數116。_read()讀文件函數
函數117。read()讀文件函數
函數118。realloc()重新分配內存函數
函數119。rectangle()畫一個矩形的函數
函數120。remove()刪除一個文件的函數
函數121。rename()文件改名函數
函數122。restorecrtmode()恢復屏幕視頻模式為調用initgraph前的設置的函數
函數123。rmdir()刪除目錄函數
函數124。_rotl()將一個無符號整形數左循環移位的函數
函數125。_rotr()將一個無符號整形數右循環移位的函數
函數126。scanf()格式化輸入函數
函數127。searchpath()按dos路徑查找一個文件的函數
函數128。segread()讀段寄存器函數
函數129。setactivepage()設置圖形輸出活動頁的函數
函數130。setcolor()設置當前要畫的線顏色的函數
函數131。setdisk()設置當前驅動器的函數
函數132。setgraphmode()將系統設置成圖形模式並清屏的函數
函數133。setlinestyle()設置當前畫線寬度和類型的函數
函數134。settextstyle()顯示字元的當前設置函數
函數135。setvect()設置中斷向量函數
函數136。setviewport()建立視口的函數
函數137。setvisualpage()設置可見的圖形頁號的函數
函數138。sin()
函數139。sprintf()格式化輸出到數組的函數
函數140。strcat()
函數141。tan()
函數142。_write()寫文件函數
函數143。write()寫文件函數

原文釋義請到網路文庫里搜尋字串「C語言常用函數」後下載
函數51-60因原注里排序號碼少編,所以只有133個常用函數。

DOC大小是119.5KB
貢獻時間:2010-09-10
貢獻者:handanlinzhang

⑧ C語言的知識點有哪些

1、C語言是一門程序的基礎語言,知識點有很多,如果只是應付考試的話,把函數、數組和指針學會了就基本沒有問題了,還有就是幾種結構按是基礎,也是學習必不可少的。C++是在C語言的基礎上而法發展起來的,他繼承了C語言的大多數編程風格,現在市場上對C語言要求的人很少,軟體公司現在都是要C++/java等,極少數招收C語言的,不過學好C++的前提是學好C。

2、非語言部分:
1)首先是基礎數學,簡單的運算需要會,加減乘除問題不大
2)邏輯數學,分析解決問題邏輯需要清晰有條理
3)線性代數,數據結構中使用
4)概率統計

⑨ c語言中函數怎麼說明

「怎麼說明」?
這是什麼zd意思啊?你想問什麼呢?
*************************************
如果是系統函數,就包含對應的頭文件,例如:
要用內到printf()函數以及scanf()函數,就包含stdio.h頭文件。
如果是自定義函數,可以將函數的定義寫在容主函數前面,也可以將自定義函數的頭部寫在調用之前(一般情況下是寫在主函數前)。

⑩ c語言函數的重點

1、函數如何定義,函數有什麼分類,函數的基本語法知識,函數編寫常見的錯誤。
2、記住一些常用的函數,其他的函數需要用到的時候查表就ok了。

c語言的函數知識其實不難(個人認為),難點在c語言的指針(指針是c語言的靈魂,學不好等於沒學c語言)指針和數組、指針和函數、指針和結構體、動態內存分配等混合內容知識比較難,並且c語言循環控制一定要會。樓上所說的鏈表,需要學習數據結構這門課。

希望能幫助到樓主

熱點內容
解壓專家解壓迅雷雲盤 發布:2025-07-14 09:11:09 瀏覽:910
編程基礎教學 發布:2025-07-14 09:09:48 瀏覽:94
電腦板能進入的手機版伺服器 發布:2025-07-14 09:08:10 瀏覽:555
roblox電腦版伺服器推薦 發布:2025-07-14 09:06:07 瀏覽:807
application緩存 發布:2025-07-14 09:01:56 瀏覽:345
安卓怎麼看綁定地區 發布:2025-07-14 09:01:49 瀏覽:85
籽岷的生存伺服器IP 發布:2025-07-14 08:51:06 瀏覽:419
我的世界搭建tcp伺服器 發布:2025-07-14 08:42:55 瀏覽:660
安卓jj比賽哪個版本有全記牌器 發布:2025-07-14 08:28:27 瀏覽:73
python腳本執行hive 發布:2025-07-14 08:26:24 瀏覽:489