国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C語言(學(xué)習(xí)筆記)

這篇具有很好參考價(jià)值的文章主要介紹了C語言(學(xué)習(xí)筆記)。希望對大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1. 文件結(jié)構(gòu)

(1) 文件名:xxx.c

(2) 引用:#include <stdio.h>

(3) 常量:#define SIZE 5

(4) 全局變量:int i = 1;

(5) 函數(shù):void main() {... }

(6) 注釋:// 單行注釋,? /* 多行注釋 */

(7) 局部變量:聲明(int a;? char b[]="abc";? double c,d,e;)?賦值(a=2;)

(8) 輸入:scanf("%d", &a);

(9) 輸出:printf("%d", a);

注釋:extern int a; //引用其他文件的變量a,多個(gè)文件共用一個(gè)變量。

                    /* 1.1 文件名 main.c */ 
#include <stdio.h>  /* 1.2 引用 */ 
#define SIZE 5      /* 1.3 常量 */ 
int i = 1;          /* 1.4 全局變量 */ 
void main() {       /* 1.5 主函數(shù) */ 
  // 1.6 單行注釋:標(biāo)識符命名規(guī)范(1-9,a-z,A-Z,_),數(shù)字不能開頭,區(qū)分大小寫
  /* 1.6 多行注釋:變量定義 vs中可以邊定義邊使用,vc必須函數(shù)開頭先定義全部變量 */

  int a;             /* 1.7 局部變量(動態(tài)變量)聲明,默認(rèn)省略[auto] */ 
  char b[] = "abc";  /* 1.7 局部變量(動態(tài)變量)聲明,默認(rèn)省略[auto] */ 
  double c,d,e;      /* 1.7 局部變量(動態(tài)變量)聲明,默認(rèn)省略[auto] */ 
  a = 2;             /* 1.7 變量賦值 */ 
  static int sta=1;  /* 1.7 局部變量(靜態(tài)變量)聲明,只在加載時(shí)調(diào)用1次 */

  scanf("%d", &a);   /* 1.8 輸入:scanf輸入空格結(jié)束,gets(b)輸入可以識別空格, */
  scanf("%s", b);    /* 1.8 輸入:b等同于 &b[0] */

  printf("%d+%d=%d \n", 1, 1, 1+1); /* 1.9 輸出:puts(b)自動換行 */

}

2. 數(shù)據(jù)類型

(1) 字符型:[signed] char (1字節(jié)有符號), unsigned char (無符號), char c = 'a';

(2) 短整型:[signed] short(2字節(jié)有符號), unsigned short(無符號), short s= 1;

(3)?整型:? ??[signed] int (2或4字節(jié)有符號), unsigned (無符號), int i= 1;?

(4) 長整型:[signed] long (4或8字節(jié)有符號), unsigned long(無符號), long l= 3L;

(5) 長長整型:long long?(8字節(jié))

(6) 單精度浮點(diǎn):float (4字節(jié)) , float f = 1.2F;

(7) 雙精度浮點(diǎn):double(8字節(jié)) , double d?= 1.2;

注釋:int轉(zhuǎn)double:double d = (double)i;?// 可省略(double)1?=> 1.000000

注釋:double轉(zhuǎn)int:int i?= (int)d;? // 1.23 => 1 下切(舍棄小數(shù)部分)

3. 符號

3.1 運(yùn)算符

(1) 算術(shù)運(yùn)算符:+, -, *, /, %? ?// ()內(nèi)計(jì)算優(yōu)先級高

(2) 賦值運(yùn)算符:=, +=, -=, *=, /=, %=

(3) 比較運(yùn)算符:>, >=, <, <=, ==, !=

(4) 邏輯運(yùn)算符:&&, ||, !

(5) 自增自減符:++, --

(6) 三元運(yùn)算符:表達(dá)式 ? 真 : 假

注釋:sizeof(變量) 取字節(jié)長度

3.2 轉(zhuǎn)義字符

(1) 退格:\b

(2) 換行:\n (自動轉(zhuǎn)換,\r\n 或 \n)

(3) 制表:\t

(4) 符號:\\? ?\?? \"? \'

(5) 空值:\0? (null)

(6) 百分號:%%

3.3 占位符

(1) 整數(shù):%d (short, int)? ?%ld (long)? ? %lld (long long)

(2) 浮點(diǎn):%f (float)? ?%lf (double)? // %.2f 保留2位小數(shù)

(3) 字符:%c (char)

(4) 字符串:%s (char [])

(5) 十六進(jìn)制:%x

(6) 內(nèi)存地址:%p

4. 流程控制

4.1 分支

(1) if分支: if (表達(dá)式) {...},? if (..) {...} else {...},? if (..) else if (..) {...} else {...}

(2) switch:switch(xx) { case 值: ...; break;? default : ...; break; }?

注釋:switch不寫break會使case后的case繼續(xù)執(zhí)行?

4.2 循環(huán)

(1) for:for?(i=0; i<5; i++) {...}

(2) while:while?(表達(dá)式) {...}

(3) do while:do {...} while (表達(dá)式);

注釋:do while有分號。break終止循環(huán),continue跳過循環(huán)。

注釋:loop: if(..) {...; goto loop; } 可以使程序跳轉(zhuǎn),一般禁止使用goto

4.3 數(shù)組

(1) 整型數(shù)組:int arr[3];? arr[0]=1;? int arr[] = {1,2,3};

(2) 字符數(shù)組:char c[]="abc";? char c[4]={'a','b','c','\0'}; // \0代表null字符串終止

注釋:二維數(shù)組 arr[2][3],三維數(shù)組?arr[x][y][x]

5. 函數(shù)

5.1 函數(shù)

(1) 有參有返回值:int sum(int x, int y) { return x + y; }? // 函數(shù)調(diào)用? int z = sum(x1,y1);

(2) 無參無返回值:void printC() {... }? //調(diào)用? printC();

注釋:函數(shù)聲明? int sum(int x, int y);? 主函數(shù) main(){...}? ?函數(shù)實(shí)現(xiàn)? int sum(int x, int y) {...}

5.2 字符函數(shù)

注釋:使用字符函數(shù),需引入? #include <string.h>

(1) 復(fù)制:strcpy( s, "abc");? // char s[10];?

(2) 拼接:strcat(s, "def");? // 在s后追加

(3) 取長:strlen(s);

(4) 比較:strcmp(s1, s2);? // 相等返回0,可用于判斷 if (strcmp(s1,s2) == 0)

(5) 字符轉(zhuǎn)數(shù)字: int a = atoi(s);? double d = atof(s);

(6) 數(shù)字轉(zhuǎn)字符:sprintf(s, "xxx%d", i) // i換%d,賦值給s

6. 構(gòu)造體

6.1 構(gòu)造體

(1) 單個(gè)構(gòu)造

定義:struct student { int id; char name[256]; }

使用:main() {? struct student data;? data.id=1; }

(2) 數(shù)組構(gòu)造

定義:struct student { int id; char name[256]; }

重命名:typedef struct student re_data;

使用:main() {? re_data data[] = { {1,"aa"}, {2,"bb"} }; }

(3) 直接重命名

定義:typedef struct { int id; char name[256]; } re_data;

使用:main() { re_data n1={1,"aa"}, n2={2,"bb"}; }

6.2 枚舉

(1) 默認(rèn)值:enum XX{ X1, X2 }? //默認(rèn)值,0, 1

(2) 初始值:enum XX{ X1=1, X2=2 }?

7. 多文件

注釋:.h頭文件,.c 源文件

7.1 .h頭文件

(1) 判斷聲明是否存在?(ifdef),存在則加載內(nèi)容

#ifdef {key}
  ...
[#else]
  ...
#endif

(2) 判斷聲明是否不存在(ifndef),不存在則加載內(nèi)容

#ifndef {key}
  ...
[#else]
  ...
#endif

(3) 判斷表達(dá)式(if)?

#if {表達(dá)式}
  ...
[#else]
  ...
#endif

?(4) 代碼例

#ifndef _文件名_H_
#define _文件名_H_  //不存在則聲明變量,防止多次引用重復(fù)聲明
  ...
  int sum(int x, inty); 
[#else]
  ...
#endif

7.2 .c源文件

(1) 代碼例

#include "xx.h"  /* 引入.h頭文件 */

int sum(int x, int y) {
  return x+y;
}

(2) 主程序

#include <stdio.h> /* <>引入系統(tǒng)程序 */
#include "xx.h"    /* ""引入自定義程序,找不到再找系統(tǒng) */

void main() {
  ...
}

8. 指針

8.1 內(nèi)存地址

(1) 值傳遞:setData1(n1);? //內(nèi)部dn1屬性值變更,不影響函數(shù)外的n1的值。

(2) 地址傳遞:setData2(&n2); //內(nèi)部dn2屬性值變更,外部變量n2的值也變更。

typedef struct {
  int id,
  char name[256]
} data

void main() {
  data n1={1,"aa"}, n2={2,"bb"};

  setData1(n1);
  setData2(&n2);
}

void setData1(data dn1) {
  dn1.id=3;
}

void setData2(data *dn2) {
  dn2.id=4;
}

8.2 指針

注釋:int a =1;

(1) 定義:int *p;? int *p=null;?

(2) 賦地址:p=&a;?int *p=&a;

(3) 賦值: *p=300;?

注釋:p為地址,*p為值

8.3 數(shù)組指針

(1) 數(shù)組:int a[3]={1,2,3}

注釋:值 a[0],a[1],a[2],? 地址 &a[0],&a[1],&a[2]

(2) 指針指向數(shù)組開頭:int *p = &a[0];? //等同與 int *p = a;

注釋:值 *p=a[0],*(p+1)=a[1], *(p+2)=a[2]???地址 p=&a[0], p+1=&a[1], p+2=&a[2]

(3) 指針指向數(shù)組中間:int *p = &a[1];?

注釋:值 *(p-1)=a[0],*p=a[1], *(p+1)=a[2]???地址 p-1=&a[0], p=&a[1], p+1=&a[2]

(4) 循環(huán)

for(i=0;i<3;i++){
  *(a+1) /* 或者 p[1] */
}
for(i=0;i<3;i++){
  *p
  p++  /* 指針使用后,需手動更改指針 */
}

9. 讀寫文件

9.1 文件函數(shù)

(1) 打開文件:FILE *file = fopen("c:\\xx.txt", "w");

(2) 關(guān)閉文件:fclose(file);

(3) 讀寫函數(shù):

fgetc(file);? fputc(file); // 讀寫1個(gè)字符

fgets(s,n,file);? fputs(s, file); // 讀n個(gè)字符到s, 寫s到文件

注釋:二進(jìn)制讀寫 fread, fwrite。fscanf(file,"xx%d", &s);? fprintf(file, "xx%d\r\n", 1);

9.2 讀寫區(qū)分(fopen參數(shù))

(1) 只讀:r? // 文件不存在,異常

(2) 只寫:w // 文件不存在,新建。覆蓋原有文件內(nèi)容

(3) 只寫:a // 文件不存在,新建。原有文件末尾添加內(nèi)容

注釋:r+(讀寫),w+(讀寫), a+(讀寫)文章來源地址http://www.zghlxwxcb.cn/news/detail-827669.html

9.3 例

#include <stdio.h>
#include <stdlib.h>

void main() {
  FILE *file = fopen("c:\\xx.txt", "w");
  if ( file == null ) {
    exit(1);
  }
  
  fprintf(file, "xxx \r\n");  /* \r\n輸出后換行 */
  fclose(file);
}

到了這里,關(guān)于C語言(學(xué)習(xí)筆記)的文章就介紹完了。如果您還想了解更多內(nèi)容,請?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 匯編語言學(xué)習(xí)筆記六

    匯編語言學(xué)習(xí)筆記六

    CF:進(jìn)位標(biāo)志位,產(chǎn)生進(jìn)位CF=1,否則為0 PF:奇偶位,如010101b,則該數(shù)的1有3個(gè),則PF=0,如果該數(shù)的1的個(gè)數(shù)為偶數(shù),則PF=1。 0也是偶數(shù) ZF:在相關(guān)指令執(zhí)行后(運(yùn)算和邏輯指令,傳送指令不影響ZF的值),其結(jié)果為0,則ZF=1,否則為0。 SF:符號標(biāo)志位,如果結(jié)果為負(fù),則SF=1,否則為

    2024年02月03日
    瀏覽(22)
  • 【go語言學(xué)習(xí)筆記】05 Go 語言實(shí)戰(zhàn)

    【go語言學(xué)習(xí)筆記】05 Go 語言實(shí)戰(zhàn)

    在做項(xiàng)目開發(fā)的時(shí)候,要善于借助已經(jīng)有的輪子,讓自己的開發(fā)更有效率,也更容易實(shí)現(xiàn)。 1. RESTful API 定義 RESTful API 是一套規(guī)范,它可以規(guī)范如何對服務(wù)器上的資源進(jìn)行操作。和 RESTful API 和密不可分的是 HTTP Method。 1.1 HTTP Method HTTP Method最常見的就是POST和GET,其實(shí)最早在

    2024年02月13日
    瀏覽(23)
  • 6.Go語言學(xué)習(xí)筆記-結(jié)合chatGPT輔助學(xué)習(xí)Go語言底層原理

    6.Go語言學(xué)習(xí)筆記-結(jié)合chatGPT輔助學(xué)習(xí)Go語言底層原理

    1、Go版本 2、匯編基礎(chǔ) 推薦閱讀:GO匯編語言簡介 推薦閱讀:A Quick Guide to Go\\\'s Assembler - The Go Programming Language 精簡指令集 數(shù)據(jù)傳輸: MOV/LEA 跳轉(zhuǎn)指令: CMP/TEST/JMP/JCC 棧指令: PUSH/POP 函數(shù)調(diào)用指令: CALL/RET 算術(shù)指令: ADD/SUB/MUL/DIV 邏輯指令: AND/OR/XOR/NOT 移位指令: SHL/SHR JCC有條件跳轉(zhuǎn): JE

    2024年02月04日
    瀏覽(29)
  • lua腳本語言學(xué)習(xí)筆記

    lua腳本語言學(xué)習(xí)筆記

    Lua 是一種輕量小巧的腳本語言,用標(biāo)準(zhǔn)C語言編寫并以源代碼形式開放, 其設(shè)計(jì)目的是為了嵌入應(yīng)用程序中,從而為應(yīng)用程序提供靈活的擴(kuò)展和定制功能。 因?yàn)槲覀兪褂胷edis的時(shí)候一般要寫lua腳本,這篇文章就介紹一下lua腳本語言的基礎(chǔ)用法。 window操作系統(tǒng)下可以使用SciTE來

    2024年02月16日
    瀏覽(23)
  • go語言學(xué)習(xí)筆記1

    go語言學(xué)習(xí)筆記1

    ? GoLang是一種靜態(tài)強(qiáng)類型、編譯型、并發(fā)型,并具有 垃圾回收 功能的編程語言;它可以在不損失應(yīng)用程序性能的情況下極大的降低代碼的復(fù)雜性,還可以發(fā)揮多核處理器同步多工的優(yōu)點(diǎn),并可解決面向?qū)ο蟪绦蛟O(shè)計(jì)的麻煩,并幫助程序設(shè)計(jì)師處理瑣碎但重要的內(nèi)存管理問題

    2024年02月12日
    瀏覽(18)
  • C語言學(xué)習(xí)筆記<1>

    1. EOF(End of File)是文件結(jié)束標(biāo)志,用于表示文件已經(jīng)讀取完畢。在C語言中,可以通過判斷是否讀取到EOF來判斷文件是否讀取完畢。 以下是一個(gè)簡單的C語言代碼示例,用于讀取一個(gè)文本文件并輸出其內(nèi)容: 2.單步執(zhí)行 #include Windows.h 是C/C++中引入Windows API頭文件的語句,它包

    2024年04月22日
    瀏覽(26)
  • 學(xué)習(xí)筆記:R語言基礎(chǔ)

    學(xué)習(xí)筆記:R語言基礎(chǔ)

    R語言是一種開源的統(tǒng)計(jì)計(jì)算和圖形制作環(huán)境,它不僅提供了全面的數(shù)據(jù)處理能力,還具備強(qiáng)大的數(shù)組運(yùn)算工具,尤其在向量和矩陣運(yùn)算上表現(xiàn)出色。此外,R語言內(nèi)置了豐富的統(tǒng)計(jì)分析方法,并擁有卓越的統(tǒng)計(jì)圖表繪制功能。更關(guān)鍵的是,R語言提供了一種靈活且功能強(qiáng)大的編

    2024年02月04日
    瀏覽(37)
  • Go語言學(xué)習(xí)筆記(三)

    Go語言學(xué)習(xí)筆記(三)

    教程:文檔 - Go 編程語言 (studygolang.com) 在call-module-code需要注意,需要在hello目錄下操作 這是一個(gè)在Go項(xiàng)目的模塊管理中的命令。在Go的模塊管理工具( go mod )中,這個(gè)命令用于修改模塊依賴關(guān)系。 具體來說, go mod edit -replace example.com/greetings=../greetings ?這個(gè)命令的作用是:

    2024年02月02日
    瀏覽(14)
  • 極語言中文編程_學(xué)習(xí)筆記

    更多有關(guān)極語言中文編程的信息請看文件夾下的sec.htm或者官網(wǎng)的編程說明書 http://sec.yihuolao.com/sec.htm 。 極語言的官方網(wǎng)址是: http://sec.yihuolao.com/ http://sec.z5x.cn/ http://www.z5x.cn/ 極語言入門教學(xué)視頻:https://www.ixigua.com/7128748847265743371 極語言游戲教學(xué)視頻:https://www.ixigua.com/712

    2024年02月05日
    瀏覽(24)
  • C語言學(xué)習(xí)筆記:數(shù)組

    C語言學(xué)習(xí)筆記:數(shù)組

    ?博文作者:煙雨孤舟 ?? 喜歡的可以 點(diǎn)贊 收藏 關(guān)注哦~~ ?? 作者簡介: 一個(gè)熱愛大數(shù)據(jù)的學(xué)習(xí)者 ?? 筆記簡介:作為大數(shù)據(jù)愛好者,以下是個(gè)人總結(jié)的學(xué)習(xí)筆記,如有錯(cuò)誤,請多多指教! 目錄 ??????? 簡介 數(shù)組聲明 數(shù)組初始化 訪問數(shù)組元素 多維數(shù)組 二維數(shù)組

    2024年02月09日
    瀏覽(16)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包