tft每日頭條

 > 圖文

 > c語言基本結構和使用語句

c語言基本結構和使用語句

圖文 更新时间:2024-11-30 09:55:14

c語言基本結構和使用語句?C語句的作用和類型C 語句的作用和C語句分類,我來為大家科普一下關于c語言基本結構和使用語句?下面希望有你要的答案,我們一起來看看吧!

c語言基本結構和使用語句(C語句的作用和類型)1

c語言基本結構和使用語句

C語句的作用和類型

C 語句的作用和C語句分類

一個函數包含聲明部分和執行部分,執行部分是由語句組成的,語句的作用是向計算機系統發出操作指令,要求執行相應的操作。一個 C 語句經過編譯後

産生若幹條機器指令。聲明部分不是語句,它不産生機器指令,隻是對有關數據的聲明。

一個 C 程序可以由若幹個源程序文件(編譯時以文件模塊為單位)組成,一個源文件可以由若幹個函數和預處理指令以及全局變量聲明部分組成。一個函數由數據聲明部分和執行語句組成。

C 語句分為以下5類。

(1)控制語句。

控制語句用于完成一定的控制功能。 C 語言隻有9種控制語句,它們的形式是:

(條件語句)

if ()… else …

(循環語句)

for ()…

(循環語句)

while ()…

(循環語句)

do … while()

(結束本次循環語句)

continue

(中止執行 switch 或循環語句)

break

(多分支選擇語句)

switch

(從函數返回語句)

return

(轉向語句,在結構化程序中基本不用 goto 語句)

goto

上面9種語句表示形式中的(表示括号中是一個“判别條件”,“…”表示内嵌的語句。

例如上面的“ if ()… else …”的具體語句可以寫成

if ( x > y ) z=x; else z=y ;

其中,x> y 是一個“判别條件”,“ z = X ;”和“Z=y;”是 C 語句,這兩個語句是内嵌在 if …· else 語句中的。這個 if … else 語句的作用是:先判别條件“ x > y ”是否成立,如果 x > y 成立,就執行内嵌語句“ z = x ;”,否則就執行内嵌語句“ z = y ;”。

選擇結構語句

if語句

if(條件)語句1;else語句2;

if(條件){複合語句};else語句2;

if嵌套

if(條件1)語句1;

else if(條件2)語句2;

else if(條件3)語句3;

else if(條件4)語句4;

②條件表達式

條件?表達式1:表達式2

C語言中唯一的三目運算。

③switch語句

switch(整型)

{case 常量:語句1;break;

case 常量:語句2;break;

case 常量:語句3;break;

default:語句n;}

(2)函數調用語句。

由一個函數調用加一個分号構成,例如 printf (" This is a C statement .");

其中 printf (" This is a C statement .”)是一個函數調用,加一個分号成為一個語句。

(3)表達式語句。表達式語句由一個表達式加一個分号構成,最典型的是由賦值表達式構成一個賦值語句。例如a=3是一個賦值表達式,一個表達式的最後加一個分号就成了一個語句。一個語句必須在最後有一個分号,分号是語句中不可缺少的組成部分,而不是兩個語句間的分隔符号。任何表達式都可以加上分号而成為語句,例如;

i ;是一個語句,作用是使 i 值加1。

x y ;所以它并無實際意義,沒有賦值給其他變量。

表達式能構成語句是 C 語言的一個重要特色。其實"函數調用語句”也屬于表達,因為函數調用(如 sin ( x ))也屬于表達式的一種。隻是為了便于理解和便用,才把“函調用語句”和“表達式語句(不帶函數的語句)”分開來說明。

(4)空語句。

一個空語句隻有一個分号。可以用來作為流程的轉向點(從程序其他地方轉到此語句處,或預留端口),也可用來作為循環語句中的循環體(循環體是空語句,表示循環體什麼也不做)。

(5)複合語句。把一些語句和聲明括起來成為複合語句。

//定義變量

float pi =314159, r =2.5, area ;

area=pi * r * ri

printf (" area =%f”,area );

可以在複合語句中包含聲明部分, 習慣上把它放在語句塊開頭位置。複合語句常用在 if 語句或循環中,

此時程序需要連續執行一組語句,複合語句中最後一個語句末尾的分号不能忽略不寫。

最基本的語句一一賦值語句

C 程序最常用的語句是:賦值語句和輸入輸出語句。其中最基本的是賦值語句。程序中的計算功能大部分是由賦值語句實現的,幾乎每一個有實用價值的程序都包括賦值語句。

在安排輸出時,常用`\ t '來調整輸出的位置,使輸出的數據整齊、美觀。以後凡在程序中要用到數學函數庫中的函數,都應當在本文件的開頭包含math.h 頭文件。

賦值有關的一些問題。

1.賦值運算符

賦值符号“=”就是賦值運算符,将一個數據賦給一個變量。如 a =3的作用是執行一次賦值操作,把常量3賦給變量 a 。也可以将一個表達式的值賦給一個變量。

2.複合的賦值運算符

在賦值符=之前加上其他運算符,可以構成複合的運算符。如果在“=”前加一個“ ”達算符就成了複合運算符“+=”。如:

a+=3

等價于a=十3

x*= y 8等價于 x=x *( y 8)

3.賦值表達式

賦值語句是在賦值表達式的末尾加一個分号構成的。由賦值運算符将一個變量和一個表達式連接起來的式子稱為“賦值表達式”。它的一般形式為:變量 賦值運算符 表達式

賦值表達式的作用是将一個表達式的值賦給一個變量,因此賦值表達式具有計算和賦值的雙重功能。

如 a =3*5是一個賦值表達式。對賦值表達式求解的過程是:先求賦值運算有右側的“表達式”的值,然後賦給賦值運算符左側的變量。既然是一個表達式,就應該有一個值,表達式的值等于賦值後左側變量的值。如:賦值表達式 a =3*5,對表達式求解後,變量 a 的值和表達式的值都是15。

賦值運算符左側應該是一個可修改值的“左值”( left value)。左值的意思是它可以出現在賦值運算符的左側,它的值是可以改變的。并不是任何形式的數據都可以作為左值的,左值應當有存儲地址空間并可以被賦值。變量可以作為左值,而算術表達式 a + b 就不能作為左值,常量也不能作為左值,因為常量不能被賦值,沒有存儲地址。能出現在賦值運算符右側的表達式稱為“右值”( right value )。顯然左值也可以出現在賦值運算符右側,可以作為右值。

賦值表達式中的“表達式”又可以是一個賦值表達式。如:a =(Ь=5)括号内的 b =5是一個賦值表達式,它的值等于5。執行表達式“ a =(b=5)”,就是執行 b=5和a= b 兩個賦值表達式。因此 a 的值等于5,整個賦值表達式的值也等于5。賦值運算符按照“自右而左”的結合順序,因此,( b =5)外面的括号可以不要,即 a =( b =5)和 a = b =5等價,都是先求 b =5的值,然後再賦給 a 。

把賦值表達式作為表達式的一種,使得賦值操作不僅可以出現在賦值語句中,而且可以以表達式的形式出現在其他語句中(如輸出語句、循環語句等),如

printf (“*% d”, a = b );

如果 b 的值為3,則輸出 a 的值(也是表達式 a = b 的值)為3。在一個 printf 函數中完成了賦值和輸出雙重功能。

4,賦值過程中的類型轉換

如果賦值運算符兩側的類型一緻,則直接進行賦值。

如果賦值運算符兩側的類型不一緻,但都是基本類型時,在賦值時要進行類型轉換,轉換的規則:

1)将浮點型數據(包括單,雙精度)賦給整型變量時,先對浮點數取整,即舍棄小數部分,然後賦予整型變量。

(2)将整型數據賦給單,雙精度變量時,數值不變,但以浮點數形式存儲到變量中。

(3)将一個 double 型數據賦給 float 變量時,先将雙精度數轉換為單精度,即隻取6~7位有效數字,存儲到 float 型變量的4個字節中。注意雙精度數值的大小不能超出 float 型變量的數值範圍。

将一個 float 型數據賦給 double 型變量時,數值不變,在内存中以8個學節存儲.有效位數擴展到15位。

(4)字符型數據賦給整型變量時,将字符的 ASCII 代碼賦給整型變量。

(5)将一個占字節多的整型數據賦給一個占字節少的整型變量或學符變量(如:把4個字節的 int 型數據賦給占2個字節的 short 變量或占1個學節的 char 變量)時,隻将低字節原封不動地送到被賦值的變量(即發生“截斷”)。要避免把占字節多的整型數據向占字節少的整型變量賦值,因為賦值後數值可能發生失真。如果一定要進行這種賦值,應當先保證賦值後數值不會發生變化,即所賦的值在變量的允許數值範圍内。隻要知道整型數據之間的賦值,存儲單元中的存儲形式直接傳送。實型數據之間以及整型與實型之間的賦值,是先轉換(類型)後賦值。

5.賦值表達式和賦值語句

在 C 程序中,賦值語句是用得最多的語句。

C 語言的賦值語句屬于表達式語句,由一個賦值表達式加一個分号組成。

在一個表達式中可以包含另一個表達式。賦值表達式既然是表達式,那麼它就可以出現在其他表達式之中。如:if (( a = b )>0) max=a;

先進行賦值運算(将b的值賦給 a ).然後判斷 a 是否大于0,如大于0,執行 max = a 。請注意,在 if 語句中的 a = b 不是賦值語句未帶分号,而是賦值表達式。在 if 的條件中可以包含賦值表達式,但不能包含賦值語句。

注意區分賦值表達式和賦值語句。賦值表達式的末尾沒有分号,而賦值語句的末尾必須有分号。在一個表達式中可以包含一個或多個賦值表達式,但絕不能包含賦值語句。

6.變量賦初值:用賦值語句對變量賦值,也可以在定義變量時對變量賦以初值,如:int a =3

//指定 a 為整型變量,初值為3

float f =3.56;

//指定f為浮點型變量,初值為3.56

char c =' a' ;

∥指定 c 為字符變量,初值為 a

也可以使被定義的變量的一部分賦初值。

如:

int a , b , c =5;

指定 a , b , c 為整型變量,但隻對 c 初始化, c 的初值為5。

如果對幾個變量賦予同一個初值,應寫成表示 a,b,c 的初值都是3。不能寫成int a = b=c =3;定義時不能這麼做,單獨賦值語句可以這麼做。

賦值可以單獨出現,不能與變量被定義時寫在一起。

c語言

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved