成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

c語言函數(shù)的基本知識,c語言函數(shù)

C語言知識總結

c語言概要

創(chuàng)新互聯(lián)是專業(yè)的赤城網(wǎng)站建設公司,赤城接單;提供成都網(wǎng)站設計、成都網(wǎng)站制作,網(wǎng)頁設計,網(wǎng)站設計,建網(wǎng)站,PHP網(wǎng)站建設等專業(yè)做網(wǎng)站服務;采用PHP框架,可快速的進行赤城網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團隊,希望更多企業(yè)前來合作!

第一章、 概述

1、 c語言的基本知識

1.1、 c語言的執(zhí)行步驟

編輯-程序代碼的錄入,生成源程序*.c

編譯-語法分析查錯,翻譯生成目標程序*.obj

(語法或邏輯錯誤,從第一個開始改,變量定義,語句格式,表達式格式等)

鏈接-與其他目標程序或庫鏈接裝配,生成可執(zhí)行程序*.exe

執(zhí)行

1.2、 main函數(shù)的基本知識

main()函數(shù)的位置

c程序總是從main( )函數(shù)開始執(zhí)行

一個c程序可以包含一個主函數(shù),即main()函數(shù);也可以包含一個main()函數(shù)和若干其它函數(shù)

1.3、 c程序的結構

函數(shù)與主函數(shù)

程序由一個或多個函數(shù)組成

必須有一個且只能有一個主函數(shù)main()

程序執(zhí)行從main開始,在main中結束,其他函數(shù)通過嵌套調用得以執(zhí)行

程序語句

C程序由語句組成

用“;”作為語句終止符

注釋

//

/* */ 為注釋,不能嵌套

不產生編譯代碼

1.4、c 程序書寫的規(guī)則

習慣用小寫字母,大小寫敏感

不使用行號,無程序行概念:通常一個語句占一行

可使用空行和空格

常用鋸齒形的書寫格式;同一層次結構的語句上下對齊。

第二章、基本數(shù)據(jù)類型與運算

2.1、c程序的數(shù)據(jù)類型

注意類型和變量含義的不同(類型是固定好的名字,變量是自己起的名字)

變量占用的存儲空間

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

基本類型:整型、字符型、浮點型(單精度型,雙精度型)

構造類型:數(shù)組類型、結構體類型

指針類型

空類型

注意基本類型賦初值的方式

基本數(shù)據(jù)類型的表示形式

整形數(shù)據(jù)

十進制:以非0數(shù)字開頭,如:123,-9,0

八進制;以0數(shù)字開頭,如:0123,067

十六進制:以0x開頭,如:0x123,0xff

實型數(shù)據(jù)

十進制:必須帶小數(shù)點,如:123.0,-9.0

指數(shù)形式;如:1.23E3,0.9e-2,5e2

字符型數(shù)據(jù)

普通字符:如:’a’,’2’,’H’,’#’

轉義字符:如:’\n’,’\167’,’\xlf,’\\’

(實現(xiàn)幾列的對齊:指定寬度。如%100\ ‘\t’制表位)

(字符串長度?!癮bc\n\t\\” strlen 6; sizeof 7)

基本數(shù)據(jù)類型的存儲長度

整型

Int 字節(jié)數(shù) 2 位數(shù) 16 數(shù)的表示范圍 -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、標識符命名規(guī)則

C語言標志符命名規(guī)則

標識符有數(shù)字,字母,下劃線組成

標識符的首字符必須為字母和下劃線

標識符不能為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

算術運算符 + - * / %

關系運算符 == = = !=

邏輯運算符 ! ||

位運算符 ~ | ^

賦值運算符 = 及其擴展賦值運算符

條件運算符 ? :

逗號運算符 ,

指針運算符 *

求字節(jié)數(shù)運算符 sizeof

強制類型轉換運算符 (類型)

分量運算符 . -

下標運算符 [ ]

其他 如函數(shù)調用運算符()

運算符的優(yōu)先級

由高到低:單目運算符,算數(shù)運算符,關系運算符,賦值運算符

說明:單目運算符:自增運算符,自減運算符,類型裝換運算符。結合方向:自右至左

如:++--I 先—i.。

算術運算 結合方向自左至右

2.3基本運算和表達式

關系表達式和邏輯表達式

(ab)(xy) (a==b)||(x==y) !=a||(ab)

Ab.a為0.不執(zhí)行b

A||b a為1.不執(zhí)行b

在 c 中邏輯運算結果:1代表“真”,0代表“假”;

判斷一個表達式是否真:0代表“假”,非0代表“真”

條件表達式 逗號表達式

如:k=5,k++

逗號值為5;k為6.

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

K=56 ? 1 : 0

2.4、混合運算的數(shù)據(jù)類型轉換

2/3+0.5 雙精度浮點型

第三章、順序結構程序設計

3.1、c語句的分類

簡單語句

表達式語句 表達式+分號

空語句 只有分號的語句

復合語句 用花括號將若干語句括起來

流程控制語句

選擇語句 if ,switch

循環(huán)語句 while, do while , for

轉移語句 break ,continue ,return goto

3.2、格式輸入函數(shù)scanf

一般形式:scanf(“格式控制字符串“,地址列表);

使用scanf函數(shù)時,需要注意:

格式字符的個數(shù)必須與輸入項的個數(shù)相同,數(shù)據(jù)類型必須一一對應,非格式字符串(說明性的)要原封不動的輸入。

輸入實行數(shù)據(jù)時,可以不帶小數(shù)點,即按整型數(shù)據(jù)輸入

數(shù)值型數(shù)據(jù)與字符或字符串混合輸入時,需要注意輸入方式。

3.3、格式輸出函數(shù)printf

Printf(“格式控制字符串“,輸出列表);

指定輸出格式,由格式字符串和非格式字符串兩種組成,非格式字符串照原樣輸出。

%[標志][輸出最小寬度][.精度][長度]類型

標志:- 左對齊;+ 右對齊;

%f, %d, %c, %s

3.4、其他輸入輸出函數(shù)

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的使用

第五章、循環(huán)結構程序設計

循環(huán)三要素

初始條件 ;終止條件 ;在初始條件和終止條件間反復做某件事情(循環(huán)體)

While(表達式)

語句

Do

語句

While(表達式);

For(循環(huán)體變量賦初值;循環(huán)條件;循環(huán)變量增量)

( for( ) ; // ; 進行時間延遲。在信息交換等時用。如for(i=0,i100) ; 互相通訊的時間延遲。 Delay )

Break語句 :不能用于循環(huán)語句和switch語句之外的任何其他語句;跳出循環(huán)。

Continue語句 :跳過循環(huán)體中剩余的語句而強行執(zhí)行下一次循環(huán);跳出本次循環(huán)。

第六章、函數(shù)與編譯預處理

6.1、函數(shù)的定義和調用

類型標識符 函數(shù)名 (形式參數(shù)列表)

{ 聲明部分

語句

}

例:

Int max (int x,int y)

{int z;brZ=xy?x:y;brReturn(z);}

6.2、局部變量和全局變量

注意函數(shù)中靜態(tài)變量的定義和使用

6.3、變量的存儲類型

局部變量的存儲類型

自動變量(auto) 動態(tài)存儲

局部靜態(tài)變量(static) 靜態(tài)存儲

寄存器變量(register) 靜態(tài)存儲

全局變量的存儲類型

自動變量(auto) 動態(tài)存儲

外部變量 (extern) 靜態(tài)存儲

全局靜態(tài)變量(static )靜態(tài)存儲

Extern 外部引用

Static 不能用extern 引用。

第七章、數(shù)組

7.1、一維數(shù)組的定義和使用

特別需要注意循環(huán)體的初值,終止條件

例:

Main()

{

Int I,a[10];

For(i=0;i=9;i++)

A=I;

For(i=9;i=0;i--)

Printf(“%d”,a);

}

注意下標問題

7.2、二維數(shù)組的定義和使用

二維數(shù)組的初始化

例如:

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、字符數(shù)組和 字符串

字符串用字符數(shù)組來處理,結束標志符 ‘\0’

如:char c[ ]={“I am happy”};

用字符串常量使字符數(shù)組初值化

Char c[ ]={‘I’,’ ‘,’a’,’m’,’ ‘,’h’,’a’,’p’,’p’,’y’,’\0’};

第八章、指針

8.1、地址和指針的概念

Int I;

Int *i_point;

8.2、指針變量和變量的地址

操作符:*

8.3、指針和一維數(shù)組

若有定義

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、指針變量作為函數(shù)參數(shù)

形參的定義方式;實參的形式;參數(shù)的傳遞方式。

第九章、結構體

9.1、結構體類型和變量的定義

Struct 結構體名

{成員列表};

Struct student

{char stuNO[8];brChar name[20];brChar sex;brInt age;brFloat score;brChar addr[30];br};

Stuct student

{char stuNO[8];brChar name[20];brChar sex;brInt age;brFloat score;brChar addr[30];br};

Struct student stu1, stu2;

9.2、結構體變量的引用

一般形式為:

結構體變量名.成員名

9.3、結構體數(shù)組

結構體數(shù)組 結構體數(shù)組元素.成員名

指向結構體的指針變量

(*p).成員名

p-成員名

其他

Strcpy(字符數(shù)組1,字符串2)

Strcat(字符數(shù)組1,字符數(shù)組2)

Strcmp(字符串1,字符串2)

Strlen(字符數(shù)組)

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

1.入門程序

#include stdio.h

int main()

{

printf("Hello World!");

return 0;

}

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

數(shù)據(jù)類型:

1.基本數(shù)據(jù)類型:

1.1. 整型:int 4個字節(jié)

1.2. 字符型:char 1個字節(jié)

1.3. 實型(浮點型)

1.3.1.單精度型:float 4個字節(jié)

1.3.2.雙精度型:double 8個字節(jié)

2.構造類型:

2.1.枚舉類型

2.2.數(shù)組類型

2.3.結構體類型

2.4.共用體類型

3.指針類型:

4.空類型:

3.格式化輸出語句

%d:十進制整數(shù);

%c:單個字符;

%s:字符串;

%f:6位小數(shù);

#include stdio.h

int main()

{

int age = 18;

float height = 1.85;

char unit = 'm';

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

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

printf("小明現(xiàn)在在慕課網(wǎng)上學習IT技術\n");

return 0;

}

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

已失效

4.常量

值不發(fā)生改變的量成為常量;

定義字符常量(注意后面沒有;)

#include stdio.h

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

int main()

{

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

return 0;

}

5.運算符

5.1.算數(shù)運算符:+,-,*,/,%,++,--;前++/--,先運算,再取值.后++/--,先取值,再運算;

5.2.賦值運算符:

5.3.關系運算符;

5.4.邏輯運算符;

5.5.三目運算符:

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

6.水仙花數(shù)計算

輸出所有三位數(shù)的水仙花數(shù)字

所謂“水仙花數(shù)”是指一個三位數(shù),其各位數(shù)字立方和等于該數(shù),如:153就是一個水仙花數(shù),153=111+555+333。

#include stdio.h

int main()

{

//定義三位數(shù)num,個位數(shù)sd,十位數(shù)td,百位數(shù)hd

int num, sd, td, hd;

//循環(huán)所有三位數(shù)

for( num=100 ; num1000 ; num++ )

{

//獲取三位數(shù)字num百位上的數(shù)字

hd = num/100 ;

//獲取三位數(shù)字num十位上的數(shù)字

td = num/10%10 ;

//獲取三位數(shù)字num個位上的數(shù)字

sd = num%10 ;

//水仙花數(shù)的條件是什么?

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

{

printf("水仙花數(shù)字:%d\n", num);

}

}

return 0;

}

7.打印正三角形的*

#include stdio.h

int main()

{

int i, j, k;

for(i=1; i5; i++)

{

/* 觀察每行的空格數(shù)量,補全循環(huán)條件 */

for( j=i ; j5 ; j++ )

{

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

}

/* 觀察每行*號的數(shù)量,補全循環(huán)條件 */

for( k=0 ; k2*i-1 ; k++ )

{

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

}

printf("\n"); //每次循環(huán)換行

}

return 0;

}

8.臭名遠揚的goto語句

很少使用

#include stdio.h

int main()

{

int sum = 0;

int i;

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

{

printf("%d\n", i);

if(i==3){

goto LOOP;//滿足條件就執(zhí)行goto語句

}

}

//執(zhí)行goto

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

return 0;

}

9.形參與實參

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

實參:實參是在調用時傳遞該函數(shù)的參數(shù)。

函數(shù)的形參和實參具有以下特點:

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

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

在參數(shù)傳遞時,實參和形參在數(shù)量上,類型上,順序上應嚴格一致,否則會發(fā)生類型不匹配”的錯誤。

10.函數(shù)返回值注意

注意:void函數(shù)中可以有執(zhí)行代碼塊,但是不能有返回值,另void函數(shù)中如果有return語句,該語句只能起到結束函數(shù)運行的功能。其格式為: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", n, num);

}

return num;

}

int main()

{

int num = getPeachNumber(1);

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

return 0;

}

12.變量存儲類別 !

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

C語言根據(jù)變量的生存周期來劃分,可以分為靜態(tài)存儲方式和動態(tài)存儲方式。

靜態(tài)存儲方式:是指在程序運行期間分配固定的存儲空間的方式。靜態(tài)存儲區(qū)中存放了在整個程序執(zhí)行過程中都存在的變量,如全局變量。

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

12.2.存儲類型劃分

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

用關鍵字auto定義的變量為自動變量,auto可以省略,auto不寫則隱含定為“自動存儲類別”,屬于動態(tài)存儲方式。

用static修飾的為靜態(tài)變量,如果定義在函數(shù)內部的,稱之為靜態(tài)局部變量;如果定義在函數(shù)外部,稱之為靜態(tài)外部變量。

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

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

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

用extern聲明的的變量是外部變量,外部變量的意義是某函數(shù)可以調用在該函數(shù)之后定義的變量。

#includ stdio.h

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

int main()

{

//定義外部局部變量

extern int x;

return 0;

}

int x=100;

13.內部函數(shù)外部函數(shù) !

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

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

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

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

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

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

數(shù)據(jù)類型 數(shù)組名稱[長度n] = {元素1,元素2,元素3,......};

數(shù)據(jù)類型 數(shù)組名稱[] = {元素1,元素2,元素3,......};

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

15.數(shù)組遍歷

#include stdio.h

int main()

{

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

int i;

for(i=0;i10;i++)

{

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

}

return 0;

}

數(shù)組的冒泡排序

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

字符串與數(shù)組

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

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

char 字符串名稱[長度] = {'字符串1','字符串2',....,'字符串n','\0'};

注:

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

采用第二種方式最后一個元素必須是'\0',表示結束;

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

16.字符串函數(shù)

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)將字符串轉為整數(shù)!

17.多維數(shù)組

數(shù)據(jù)類型 數(shù)組名稱[常量表達式1]...[常量表達式n];

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

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

數(shù)據(jù)類型 數(shù)組名稱[常量表達式1][常量表達式2]...[常量表達式n]; 數(shù)組名稱[下標1][下標2]...[下標n] = 值;

多維數(shù)組初始化要注意以下事項:

采用第一種始化時數(shù)組聲明必須指定列的維數(shù)。因為系統(tǒng)會根據(jù)數(shù)組中元素的總個數(shù)來分配空間,當知道元素總個數(shù)以及列的維數(shù)后,會直接計算出行的維數(shù);

采用第二種初始化時數(shù)組聲明必須同時指定行和列的維數(shù)。

18.多維度數(shù)組的遍歷

使用嵌套循環(huán)

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

19.結構體

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

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

Title

Author

Subject

Book ID

定義結構

為了定義結構,您必須使用 struct 語句。struct 語句定義了一個包含多個成員的新的數(shù)據(jù)類型,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 部分至少要出現(xiàn) 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創(chuàng)建新類型

typedef struct

{

int a;

char b;

double c;

} Simple2;

//現(xiàn)在可以用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\n", Book1.title);

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

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

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

/* 輸出 Book2 信息 */

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

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

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

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

return 0;

}

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

已失效

20.共用體

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

#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\n", sizeof(data));

return 0;

}

21.指針

#include stdio.h

int main ()

{

int ?var = 20; ? /* 實際變量的聲明 */

int ?*ip; ? ? ? ?/* 指針變量的聲明 */

ip = var; ?/* 在指針變量中存儲 var 的地址 */

printf("Address of var variable: %p\n", var ?);

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

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

/* 使用指針訪問值 */

printf("Value of *ip variable: %d\n", *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...\n");

fputs("This is testing for fputs...\n", 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\n", buff );

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

printf("2: %s\n", buff );

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

printf("3: %s\n", buff );

fclose(fp);

}

C語言與C++學習路線

23.排序算法

十大經(jīng)典排序算法(動態(tài)演示+代碼)

24.查找算法

九種查找算法

25.面試知識

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

26.字符串操作

字符串操作的全面總結

27.?C語言常用標準庫解讀

C語言常用標準庫解讀

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

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

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

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

30. C語言實現(xiàn)面向對象的原理

C語言實現(xiàn)面向對象的原理

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

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

32. 再談C語言指針

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

C語言函數(shù)指針之回調函數(shù)

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

33. C語言預處理命令

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

34. C語言高效編程與代碼優(yōu)化

C語言高效編程與代碼優(yōu)化

35. C語言結構體

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

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

原碼, 反碼, 補碼 詳解

37. C語言宏定義

簡述C語言宏定義的使用

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

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

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

1、順序、分支、循環(huán)等基本語句;

2、char、int、double、float等基本數(shù)據(jù)類型;

3、帶參數(shù)宏定義和函數(shù)的區(qū)別;

4、指針和數(shù)組的區(qū)別,尤其注意下指針數(shù)組和數(shù)組指針;

5、函數(shù)指針和指針函數(shù);

6、結構體和聯(lián)合體以及自定義類型typedef的應用;

7、printf、scanf、getchar、putchar、fopen、fclose、fgetc、fputc等基本庫函數(shù)的應用;

8、malloc、calloc、realloc、free等內存管理函數(shù)的應用;

9、函數(shù)的聲明和定義;

10、注意C語言的基本單位是函數(shù);

還有很多,因為篇幅限制不能一一例舉,但上面提到的10點都是很多考試和面試中經(jīng)常出現(xiàn)的。

有時間可以看看這三本書《C和指針》、《C陷阱和缺陷》、《C專家編程》,C語言的大部分問題都可以在這三本書中找到答案,熟練掌握著三本書的內容再加上一些實際項目將沒有人可以輕易用C語言的問題為難你。

C語言基礎知識

?1 C語言程序的結構認識

用一個簡單的c程序例子,介紹c語言的基本構成、格式、以及良好的書寫風格,使讀者對c語言有個初步認識。

例1 計算兩個整數(shù)之和的c程序:

1、任何一個c語言程序都必須包括以下格式:

這是c語言的基本結構,任何一個程序都必須包含這個機構。括號內可以不寫任何內容,那么該程序將不執(zhí)行任何結果。

2、main()----在c語言中稱之為“主函數(shù)”,一個c程序有且僅有一個main函數(shù),任何一個c程序總是從main函數(shù)開始執(zhí)行,main函數(shù)后面的一對圓括號不能省略。

3、被大括號{ }括起來的內容稱為main函數(shù)的函數(shù)體,這部分內容就是計算機要執(zhí)行的內容。

4、在{ ?}里面每一句話后面都有一個分號(;),在c語言中,我們把以一個分號結尾的一句話叫做一個c語言的語句,分號是語句結束的標志。

5、printf(“a=%d,b=%d,sum=%d\n”,a,b,sum); ----通過執(zhí)行這條c語言系統(tǒng)提供給我們直接使用的屏幕輸出函數(shù),用戶即可看到運行結果,本程序運行后,將在顯示器上顯示如下結果:

6、#include

7、程序中以 /*開頭并且以*/結尾的部分表示程序的注釋部分,注釋可以添加在程序的任何位置,為了提高程序的可讀性而添加,但計算機在執(zhí)行主函數(shù)內容時完全忽略注釋部分,換而言之就是計算機當做注釋部分不存在于主函數(shù)中。

? ?2 C程序的生成過程

C程序是先由源文件經(jīng)編譯生成目標文件,然后經(jīng)過連接生成可執(zhí)行文件,如圖所示。

? ? ? ? ? ? ? ? ? ? ? ? ? 編譯過程

? 3 標識符

在編寫程序時,必須為函數(shù)、變量等命名,這個名字稱為標識符。C語言中標識符的命名規(guī)則如下:

標識符不能與程序中具有特殊意義的關鍵字相同,不能與用戶編制的函數(shù)名、C語言庫函數(shù)相同,在程序中各種標識符盡量不要重復,以便區(qū)分。選擇變量名和其他標識符時,應注意做到 “見名知義”。

標識符分為如下三類:

1、關鍵字

3、用戶標識符

用戶根據(jù)需要自己定義的標識符稱為用戶標識符。無論如何自定義標識符,都必須符合標識符的三條命名規(guī)則。

? 4 常量

在程序運行中,其值不能被改變的量稱為常量。常量有5種類型:整型常量、實型常量、字符常量、字符串常量和符號常量。

(一)數(shù)值轉換

數(shù)字的四種表現(xiàn)形式:

在計算機內部,數(shù)字均以二進制形式表示和存放,用戶輸入的普通十進制數(shù)字都要被計算機轉換成二進制才能在計算機內部存儲,同樣計算機的運算結果也為二進制,一般要將其轉換成十進制數(shù)再輸出給用戶閱讀,這種轉換通常由計算機自動實現(xiàn)。

(1)將十進制轉換二進制、八進制和十六進制

除法:將十進制數(shù)除以2,記錄余數(shù),得到的商繼續(xù)除以2,直到商為0,然后將各次相處所得的余數(shù)從后往前逆序排列,所得余數(shù)數(shù)字序列就是該十進制數(shù)對應的二進制數(shù)。八進制和十六進制轉換方法同上。

例:十進制數(shù)13轉換成二進制數(shù)的值為1101,轉換八進制為015,轉換成十六進制為D.

(2)將二進制、八進制和十六進制轉換成十進制

乘積求和:將二進制的每一位從低位到高位(右邊為低位,左邊為高位)分別乘以20,21,22。。。。,然后將這些積求和。

例如:(1101)2=(13)10 ? ? (317)8=(207)10 ? ? (23E)16=(574)10

(3)二進制與八進制、十六進制數(shù)之間的相互轉換

(二)整型常量

整型常量有3種形式:十進制整型常量、八進制整型常量和十六進制整型常量。

書寫方式如下:

(三)實型常量

實型常量有兩種表示形式:小數(shù)形式和指數(shù)形式。

(四)字符常量

(2)由一對單引號括起來,以反斜杠\開頭,后跟若干數(shù)字或者字母,比如‘\n’,其中“\“是轉義的意思,后面跟不同的字符表示不同的意思,這類字符常量叫轉義字符。具體如圖所示 。

(五)字符串常量

C語言中,以雙引號括起來的,由若干個字符組成的序列即為字符串常量。

例:“ni hao” ? “happy”等等。

(六)符號常量

例:計算圓的面積的c程序。

說明:

? 5 變量

變量就是其值可以改變的量。變量要有變量名,在內存中占據(jù)一定的存儲單元,存儲單元里存放的是該變量的值。不同類型的變量其存儲單元的大小不同,變量在使用前必須定義。

(一)整型變量

不同的編譯系統(tǒng)對上述四種整型數(shù)據(jù)所占用的位數(shù)和數(shù)值范圍有不同的規(guī)定。

類型說明符

說明:

(二)實型變量

C語言中,實型變量分為單精度類型( float )和雙精度類型( double )兩種。如:

在vc中,float 型數(shù)據(jù)在內存中占4個字節(jié)(32位),double型數(shù)據(jù)占8個字節(jié)。單精度實數(shù)提供7位有效數(shù)字,雙精度實數(shù)提供15~16位有效數(shù)字。實型常量不分float型和double型,一個實型常量可以賦給一個float 型或double型變量,但變量根據(jù)其類型截取實型常量中相應的有效數(shù)字。

注意:實型變量只能存放實型值,不能用整型變量存放實型值,也不能用實型變量存放整型值。

(三)字符變量

字符變量用來存放字符常量,定義形式:

char ?變量名;

其中關鍵字char定義字符型數(shù)據(jù)類型,占用一個字節(jié)的存儲單元。

將一個字符賦給一個字符變量時,并不是將該字符本身存儲到內存中,而是將該字符對應的ASCII碼存儲到內存單元中。例如,字符 ′A′ 的ASCII碼為65,在內存中的存放形式如下:01000001

由于在內存中字符以ASCII碼存放,它的存儲形式和整數(shù)的存儲形式類似,所以C語言中字符型數(shù)據(jù)與整型數(shù)據(jù)之間可以通用,一個字符能用字符的形式輸出,也能用整數(shù)的形式輸出,字符數(shù)據(jù)也能進行算術運算,此時相當于對它們的ASCII碼進行運算。

?6 類型的自動轉換和強制轉換

當同一表達式中各數(shù)據(jù)的類型不同時,編譯程序會自動把它們轉變成同一類型后再進行計算。轉換優(yōu)先級為:

即左邊級別“低“的類型向右邊轉換。具體地說,若在表達式中優(yōu)先級最高的數(shù)據(jù)是double型,則此表達式中的其他數(shù)據(jù)均被轉換成double型,且計算結果也是double型;若在表達式中優(yōu)先級最高的數(shù)據(jù)是float型,則此表達式中的其他數(shù)據(jù)均被轉換成float型,且計算結果也是float型。

在做賦值運算時,若賦值號左右兩邊的類型不同,則賦值號右邊的類型向左邊的類型轉換;當右邊的類型高于左邊的類型時,則在轉換時對右邊的數(shù)據(jù)進行截取。

除自動轉換外,還有強制轉換,表示形式是:

討論:當a值賦值為3.4,b值賦值為2.7,(int)(a+b)和(int)a+b的值分別為多少?

? 7 ?C運算符認識

C語言的運算符范圍很廣,可分為以下幾類:

1、算術運算符:用于各類數(shù)值運算。包括加(+)、減(-)、乘(*)、除(/)、求余(%)、自增(++)、自減(--)共七種。

2、賦值運算符:用于賦值運算,分為簡單賦值(=)、復合算術賦值(+=,-=,*=,/=,%=)和復合位運算賦值(=,|=,^=,=,=)三類共十一種。

3、逗號運算符:用于把若干表達式組合成一個表達式(,)。

4、關系運算符:用于比較運算。包括大于()、小于()、等于(==)、 大于等于(=)、小于等于(=)和不等于(!=)六種。

5、邏輯運算符:用于邏輯運算。包括與()、或(||)、非(!)三種。

6、條件運算符:這是一個三目運算符,用于條件求值(?:)。

7、位操作運算符:參與運算的量,按二進制位進行運算。包括位與()、位或(|)、位非(~)、位異或(^)、左移()、右移()六種。

8、指針運算符:用于取內容(*)和取地址()二種運算。

9.、求字節(jié)數(shù)運算符:用于計算數(shù)據(jù)類型所占的字節(jié)數(shù)(sizeof)。

10、特殊運算符:有括號(),下標[],成員(→,.)等幾種。

另外,按參與運算的對象個數(shù),C語言運算符可分為:單目運算符 (如 !)、雙目運算符 (如+,- )和三目運算符 (如 ? ?: )。

一、 ? 基本的算術運算符

(1)+(加法運算符或正值運算符,如2+5)。

(2)-(減法運算符或負值運算符,如4-2)。

(3)*(乘法運算符,如3*8)。

(4)/(除法運算符,如11/5)。

/的運算分為兩種情況:

(5)%(模運算符或稱求余運算符,%兩側均應為整型數(shù)據(jù),如9%7的值為2)。

需要說明的是:當運算對象為負數(shù)時,所得結果隨編譯器不同而不同,在vc中,結果的符號與被除數(shù)相同,比如:13%-2值為1,而-15%2值為-1.

二、 ? 算術表達式和運算符的優(yōu)先級與結合性

算術表達式是用算術運算符和括號將運算量(也稱操作數(shù))連接起來的、符合C語言語法規(guī)則的表達式。運算對象包括函數(shù)、常量和變量等。

在計算機語言中,算術表達式的求值規(guī)律與數(shù)學中的四則運算的規(guī)律類似,其運算規(guī)則和要求如下。

(1)在算術表達式中,可使用多層圓括號,但括號必須配對。運算時從內層圓括號開始,由內向外依次計算各表達式的值。

(2)在算術表達式中,對于不同優(yōu)先級的運算符,可按運算符的優(yōu)先級由高到低進行運算,若表達式中運算符的優(yōu)先級相同,則按運算符的結合方向進行運算。

(3)如果一個運算符兩側的操作數(shù)類型不同,則先利用自動轉換或強制類型轉換,使兩者具有相同類型,然后進行運算。

三、 ? 自增自減運算符

作用:使變量的值增1或減1。

(1)只有變量才能用自增運算符 (++)和自減運算符(--),而常量或表達式不能用,如10++或(x+y)++都是不合法的。

(2)++和--的結合方向是“自右向左“,如 -i++ ,i的左邊是負號運算符,右邊是自增運算符,負號運算和自增運算都是 “自右向左“結合的,相當于 -(i++)。

在循環(huán)語句中常用到自增(減)運算符,在指針中也常用到該運算符,考生要弄清楚“i++”和“++i”及“i--”和“--i”的區(qū)別,特別弄清楚表達式的值和變量的值。

例:變量n的初始值為2,則

例:有以下程序

程序運行后的輸出結果是_____

A.12 ?35 ?13 ?35 ?14 ?36 ? ? B. 12 ?35 ?14 ?35 ?14 ?36

C.12 ?35 ?14 ?36 ?14 ?36 ? ? D. 12 ?35 ?14 ?35 ?14 ?35

解析:自增自減運算需要注意區(qū)分表達式的值和變量的值,表達式運算后,變量會自增自減運算,表達式和變量變化如下:

??9 賦值運算符與賦值表達式

一、賦值運算符與賦值表達式

賦值符號 “=“就是賦值運算符,作用是將一個數(shù)據(jù)賦給一個變量或將一個變量的值賦給另一個變量,由賦值運算符組成的表達式稱為賦值表達式。一般形式為:

變量名 = 表達式

在程序中可以多次給一個變量賦值,每賦一次值,與它相應的存儲單元中的數(shù)據(jù)就被更新一次,內存中當前的數(shù)據(jù)就是最后一次所賦值的那個數(shù)據(jù)。

說明:

a、如果賦值號兩邊的運算對象類型不一致,系統(tǒng)會自動進行類型轉換,轉換的規(guī)則:將賦值號右邊表達式的值的類型轉換成賦值號左邊變量的類型,

b、 可以將復制表達式的值再賦值給變量,形成連續(xù)賦值。

二、復合的賦值運算符

在賦值運算符之前加上其他運算符可以構成復合賦值運算符。其中與算術運算有關的復合運算符是:+=,-=,*=,/=,%= 。

兩個符號之間不可以有空格,復合賦值運算符的優(yōu)先級與賦值運算符的相同。表達式n+=1等價于n=n+1,作用是取變量n中的值增1再賦給變量n,其他復合的賦值運算符的運算規(guī)則依次類推。

如求表達a+=a-=a*a 的值,其中a的初值為12 。

步驟:

?10 ?逗號運算符和逗號表達式

在c語言中,逗號除了作為分隔符,還可以用作一種運算符----逗號運算符,用逗號運算符將幾個表達式連接起來,例如a=b+c,a=b*c等稱為逗號表達式。

一般形式為:

表達式1 ,表達式2 ,表達式3 , …,表達式n

例:x=2,y=3,z=4

逗號表達式具有從左至右的結合性,即先求解表達式1,然后依次求解表達式2,直到表達式n的值。表達式n的值就是整個逗號表達式的值。上述的逗號表達式的值就是表達式z=4的值4.需要注意的是,逗號運算符是所有運算符中級別最低的。

例:有如下程序段:

程序顯示結果為:y=6,x=6

討論:將y=(x=a+b),(b+c);改為y=((x=a+b),b+c) 的程序結果?

? 11 關系運算符和關系表達式

一、 ? C語言中的邏輯值

C語言中的邏輯值只有兩個:真(true)和假(flase)。用非零代表真,用零代表假。因此,對于任意一個表達式,如果它的值為零,就代表一個假值,如果它的值為非零,就代表一個真值。只要值不是零,不管是正數(shù),負數(shù),整數(shù),實數(shù),都代表一個真值。例如-5的邏輯值為真。

二、 ? 關系運算符及其優(yōu)先次序

C語言提供了6種關系運算符,見表

由兩個字符組成的運算符之間不可以加空格,關系運算符都是雙目運算符。

(1)結合性:自左向右。

(2)優(yōu)先次序:前4種關系運算符( ,=,=, )的優(yōu)先級別相同,后兩種 (==,!=)優(yōu)先級相同,且前4種優(yōu)先級高于后兩種;關系運算符的優(yōu)先級低于算術運算符,高于賦值運算符。

三、 ? 關系表達式

由關系運算符連接而成的表達式稱為關系表達式。

例如:ab,(a=7)(b=10)等都是合法的關系表達式。

關系表達式的結果有兩個:0和1,。其中0表示假,1表示真。如果關系表達式成立,則值為真,如果關系表達式不成立,則值為假。

例:變量a的值為5,b的值為6,那么關系表達式ab的值為假,即為0.而關系表達式

(a=13)(b=10)的值為真,即為1。

當關系運算符兩邊值的類型不一致時,若一邊是整型,一邊是實型,系統(tǒng)將自動把整型數(shù)轉化為實型數(shù),然后再進行比較。

?12 邏輯運算符和邏輯表達式

一、 ? 邏輯運算符及其優(yōu)先級

C語言提供了3種邏輯運算符,如下表。

二、 ? 邏輯表達式

“”和“||”的運算對象有兩個,故它們都是雙目運算符,而!的運算對象只有一個,因此它是單目運算符。邏輯運算舉例如下:

(1)ab: 當兩邊都為“真”時,表達式ab的值才是真。

值得注意的是:在數(shù)學中,關系式0

(2)a||b: 當||兩邊有一個為“真”時,表達式a||b的值就是真。

(3)!a: ? 表示取反,如果a為真,則!A為假,反之亦然。例如!-5的值就為0.

在C語言中,由或||組成的邏輯表達式,在某些特定情況下會產生“短路“現(xiàn)象。

(1)x y z ,只有當x為真(非0)時,才需要判別y的值;只有x和y都為真時,才需要去判別z的值;只要x為假就不必判別y和z,整個表達式的值為0??谠E:“一假必假”。

例:(!5==1)(++i==0) ?(!5==1)表達式的值為0,所以計算機運行中就跳過(++i==0)此表達式,(!5==1)(++i==0)表達式的值為0.

(2)x||y||z ,只要x的值為真(非零),就不必判別y和z的值 ,整個表達式的值為1,只有x的值為假,才需要判別y的值,只有x和y的值同時為假才需要判別z的值,口訣:“一真必真”。

?13 位運算

一、 ? 位運算符

在計算機中,數(shù)據(jù)都是以二進制數(shù)形式存放的,位運算就是指對存儲單元中二進制位的運算。C語言提供6種位運算符。

二、位運算

位運算符 ?|~ ? ?∧ 按優(yōu)先級從高到低排列的順序是:

位運算符中求反運算“~“優(yōu)先級最高,而左移和右移相同,居于第二,接下來的順序是按位與 ““、按位異或 “∧“和按位或 “|“。順序為~ ? ? ? ?∧ ?| ?。

例1左移運算符“”是雙目運算符。其功能把“ ”左邊的運算數(shù)的各二進位全部左移若干位,由“”右邊的數(shù)指定移動的位數(shù),高位丟棄,低位補0。

例 2右移運算符“”是雙目運算符。其功能是把“ ”左邊的運算數(shù)的各二進位全部右移若干位,“”右邊的數(shù)指定移動的位數(shù)。

應該說明的是,對于有符號數(shù),在右移時,符號位將隨同移動。當為正數(shù)時,最高位補0,而為負數(shù)時,符號位為1,最高位是補0或是補1 取決于編譯系統(tǒng)的規(guī)定。

例 3 設二進制數(shù)a是00101101 ,若通過異或運算a∧b 使a的高4位取反,低4位不變,則二進制數(shù)b是。

解析:異或運算常用來使特定位翻轉,只要使需翻轉的位與1進行異或操作就可以了,因為原數(shù)中值為1的位與1進行異或運算得0 ,原數(shù)中值為0的位與1進行異或運算結果得1。而與0進行異或的位將保持原值。異或運算還可用來交換兩個值,不用臨時變量。

所以本題的答案為: 11110000 。

c語言基礎知識入門是什么?

一、算法結構

1、順序結構、選擇結構、循環(huán)結構;

2、循環(huán)結構又分為while型、until型、for循環(huán)結構;

二、數(shù)據(jù)類型

1、常量:常量包括字面常量、直接常量和符號常量;

2、變量:C語言規(guī)定標志符只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必須是字母或者下劃線;必須壓迫先定義后使用;每一個變量被定義以確定類型后,在編譯時就能為其分配相應的存儲單元;

3、整數(shù)類型:整數(shù)常量有十進制、八進制和十六進制;“%d”

4、整形變量:數(shù)據(jù)在內存中存放形式是以二進制形式存放;有int型、shortint型和longint型,無符號整型變量的范圍是-32768—32767,有符號型為0~65535.通常把long定義為32位,把short定義為16位,int可以是32位也可以為16位,這都主要取決于機器字長。

三、運算符

1、算術運算符(+-*/%)結合方向自左向右

2、關系運算符( == = = !=)

3、邏輯運算符(! ||)

4、位運算符( ~ | ^ )

5、賦值運算符(=及符號擴展賦值運算符)

6、條件運算符(?:)

7、逗號運算符(,)

8、指針運算符(* )

四、控制語句

完成一定的控制功能。

1、if()~else~

2、for()~

3、while()~

4、do~while()

5、continue

6、break

7、switch

8、goto

9、return

五、數(shù)組

一維數(shù)組的定義:類型說明符數(shù)組名【常量表達式】;先定義后引用;一維數(shù)組初始化時可以只對一部分元素初始化,在對全部數(shù)組元素初始化的時候可以部規(guī)定長度;但是若被定義的數(shù)組長度與提供的初始值不一樣時,則數(shù)組長度不能省略。

二維數(shù)組的定義:類型說明符數(shù)組名【常量表達式】【常量表達式】C語言中存放二維數(shù)組是先存放第一行的元素,緊接著是第二行,其實也是以一維的方式存放。如果初始化時能指定所有元素的初始值,第一維大小可以省略,但是第二維不能省略。

字符數(shù)組:定義和初始化跟數(shù)組差不多,只是需要加單引號。字符和字符串結束標志,C語言規(guī)定,以‘\0’代表。

六、函數(shù)

1、一個源程序由多個函數(shù)組成。

2、C程序的執(zhí)行從main()函數(shù)開始;

3、所有函數(shù)都是平行的;

4、函數(shù)分類;可以分為標準和自定義,還可以分為有參函數(shù)和無參函數(shù)。

七、指針

指針是指向一片內存空間的地址,指針變量是變量,是存放一片內存空間首地址的變量,我們一般所說的指針都是指針變量。

c語言函數(shù)的構成是什么?

c語言函數(shù)由主函數(shù)main和其他函數(shù)組成。

C語言函數(shù)是一種函數(shù),用來編譯C語言,所在庫函數(shù)為ctype.h,分為分類函數(shù),數(shù)學函數(shù),目錄函數(shù),進程函數(shù),診斷函數(shù),操作函數(shù)等?!昂瘮?shù)”是從英文function翻譯過來的,其實,function在英文中的意思即是“函數(shù)”,也是“功能”。

從本質意義上來說,函數(shù)就是用來完成一定功能的。這樣對函數(shù)的概念就很好理解了,所謂函數(shù)名就是給該功能起個名字,如果該功能是用來實現(xiàn)數(shù)學運算的,就是數(shù)學函數(shù)。

相關知識:

C語言是目前世界上流行、使用最廣泛的面向過程的高級程序設計語言。C語言對操作系統(tǒng)和系統(tǒng)使用程序以及需要對硬件進行操作的場合,用C語言明顯優(yōu)于其它高級語言。

許多大型應用軟件都是用C語言編寫的。C語言是以函數(shù)形式提供給用戶的,這些函數(shù)可方便的調用,并具有多種循環(huán)、條件語句控制程序流向,從而使程序完全結構化。

當前文章:c語言函數(shù)的基本知識,c語言函數(shù)
URL分享:http://jinyejixie.com/article12/hseddc.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設計網(wǎng)站策劃、品牌網(wǎng)站設計、企業(yè)網(wǎng)站制作、網(wǎng)站建設品牌網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
曲阳县| 孝昌县| 济阳县| 和顺县| 万安县| 垦利县| 巴林左旗| 邵武市| 洪江市| 进贤县| 双辽市| 怀来县| 屯昌县| 沭阳县| 湛江市| 成安县| 澎湖县| 周口市| 长子县| 桂东县| 米脂县| 东宁县| 涟源市| 微博| 多伦县| 刚察县| 昭通市| 富宁县| 香格里拉县| 杨浦区| 阿尔山市| 讷河市| 历史| 阳原县| 广南县| 厦门市| 称多县| 大埔县| 古交市| 泰和县| 镇雄县|