c語言什麼時候用
1. c語言中 什麼時候用void 什麼時候用int
在c語言中,有返回值的就用int,沒有返回值就用void。
在C語言中,凡不加返回值類型限定的函數,就會被編譯器作為返回整型值處理。即不加返回值說明的函數為返回為int的函數。
如果函數沒有返回值,一定要聲明為void類型。這既是程序良好可讀性的需要,也是編程規范性的要求。另外,加上void類型聲明後,也可以發揮代碼的「自注釋」作用。代碼的「自注釋」即代碼能自己注釋自己。
(1)c語言什麼時候用擴展閱讀:
給定一個正整數,如果除以100,看得到的余數是否大於50。如果大於等於50,則用int函數(注意,int函數具有向下取整的特性)對商取整,並加1,得到結果乘以100即可;如果余數小於50,則用int函數對商取整,直接乘以100。
int函數是取整函數,其的語法是int(數字),函數將對括弧中的數字向下取整,如int(6.9)=6, int(-6.9)=-7。
mod函數是取余函數,其的語法是mod(數字,除數),函數將對商進行取余處理。注意,當數字為負數時,其同樣的除數結果可能不同,具體在Excel中參考mod函數的幫助。
2. c語言中什麼時候用"->"什麼時候用"."
假如結構體
struct
a{int
num};
struct
a
*p,則p->num;
struct
a
p,則
p.num;
當結構體定義的那個變數是指針的時候用->如果定義的是一個變數,則用「.」;
3. 誰知道C語言里什麼時候用Printf,什麼時候用Scanf,他倆有嘛區別啊!
printf()產生格式化輸出的函數,printf()函數實際上是將所有參數的類型輸出顯示出來,
至於scanf函數,與printf函數一樣,都被定義在stdio.h里,因此在使用的時候頭文件要加上#include<stdio.h>。它是格式輸入函數,即按用戶指定的格式從鍵盤上把數據輸入到指定的變數之中
他們兩個最末一個字母f即為「格式」(format)之意。就是按指定的類型輸入輸出!
4. 在C語言里,什麼時候用scanf函數
scanf
的意思是把輸入的值給送到地址,因此,如果參數已經是地址了,那麼不需要
&,否則
需要用&取一下地址
scanf
格式輸入函數
函數作用:按照變數在內存的地址將變數值存進去。
一般格式:scanf(格式控制,地址表列)
其中,格式控制:
%d:以帶符號的十進制形式輸出整數
%o:以八進制無符號形式輸出整數
%x:以十六進制無符號形式輸出整數
%u:以無符號十進制形式輸出整數
%c:以字元形式輸出,只輸出一個字元
%s:輸出字元串
%f:以小數形式輸出單,雙精度數,隱含輸出六位小數
%e:以指數形式輸出實數
%g:選用%f或%e格式中輸出寬度較短的一種格式,不輸
出無意義的0
在格式控制的字母前面可以用幾種常見的格式符的修飾符,作用如下:
L:用於長整型整數,可加在格式符d,o,x,u前面
M(代表一個正整數):數據最小寬度
N(代表一個正整數):對實數,表示輸出n位小數;
對字元串,表示截取的字元個數
地址列表:是由若干個地址組成的表列,可以是變數的地址,或字元串的首地址
舉例:
用scanf函數輸入數據。
#include
void
main()
{
int
a,b,c;
scanf(「%d%d%d」,&a,&b,&c);
printf(「%d,%d,%d\n」,a,b,c);
}
運行情況:3
4
5
(回車)
(輸入a,b,c的值)3,4,5
(輸出a,b,c的值)
使用scanf函數時應注意的問題
:
(1)scanf函數中的「格式控制」後面應當是變數地址,而不應
是變數名。
(2)
如果在「格式控制」字元串中除了格式說明以外還有其他字元,
則在輸入數據時在對應位置應輸入與這些字元相同的字元。
(3)
在用「%c」格式輸入字元時,空格字元和「轉義字元」都作為
有效字元輸入
(4)
在輸入數據時,遇以下情況時認為該數據結束。
①
遇空格,或按「回車」或「跳格」(Tab)鍵;
②
按指定的寬度結束,如「%3d」,只取3列;
③
遇非法輸入。
5. c語言什麼時候用lf什麼時候用f
f就是float,lf就是long float,所以當你要輸入float類型的數值時就用%f,當你要輸入double類型數值時就用%lf
C語言是一門面向過程的、抽象化的通用程序設計語言,廣泛應用於底層開發。C語言能以簡易的方式編譯、處理低級存儲器。C語言是僅產生少量的機器語言以及不需要任何運行環境支持便能運行的高效率程序設計語言。
6. C語言中什麼時候用 &
1、取變數地址的時候用。
2、運算符,按位與運算符。
7. C語言中什麼時候用int型什麼時候用double型
當需要存儲含小數點的小數時就可以用double數據類型,存儲小數也可以用floor數據類型,不過它的存儲范圍沒有double數據類型的存儲范圍大,盡管計算機里存儲小數從絕對意義來講都是一個近似值,但因為double的存儲范圍比floor的存儲范圍大,可以說用double來表示一個小數相對更准確一些。
8. 在C語言中,什麼時候用void main,什麼時候用main
就是子函數的返回值,main主函數也是有返回值的,但是一般用不到,都忽略掉了
所以說,一般來說的返回值就是子函數的返回值
還有一點一定要注意,就是一個子函數一定是只能返回一個值,多了不可以。只能用數組或指針來完成
函數的返回值一般有兩種,無論有無返回值,都需要標類型
一個是void型的。這個一般也不用,他是空返回值。也就是當不需要返回值的時候,函數的類型標void。其實這個也是會返回一個值,好像是調用成功返回1,不成功返回0
另一種是非void型的。就是在函數前面寫上類型,如int,float,char等,這個就是函數的返回值類型。這個一般在子函數的末尾或者程序的某個部位有個return返回一個。但是遇到return子函數一定是要結束的。
其實還有一種返回值,就是scanf和printf等系統帶的函數,這個我知道printf的返回值是他列印的字元的數量。
9. c語言 什麼時候 用到
如果你的程序要解決數學問題,比如說求平方pow(x,2); 或者求平方根sqrt(x);或者求絕對值fabs(x); 這一類的函數在math.h中有聲明,便可直接調用,所以要用到。
10. c語言什麼時候使用數組,什麼時候使用指針
任何時候都可以使用數組,使用指針。
定義時,通常只有字元指針,和字元數組指針直接定義。用來表示字元串或字元串數組。
其他一般定義數組。操作時用指針或數組。
其他指針,多半用在參數傳遞,數據結構內部(不確定需要內存的大小,或者鏈表,二叉樹等鏈式結構)的時候。
還有一種是有些函數參數就是指針,這時定義一個指針,來操作傳進來的指針參數比較好。
指針作為參數,有一下幾種用法,
1)當作數組用,用來獲取或設置數組元素。
2)把一個比較長的數據結構傳入函數,只需要一個指針就夠了。
3)傳入變數的地址,用來讀取或修改變數的值,主要是為了修改用。
直接定義一個不指向任何對象的指針,並且也從不給他賦值,沒什麼意義;
指針要麼指向數組,要麼指向變數,要麼動態申請內存。
NULL指針,只是一個方便的指針,表示不指向任何對象。
真正有用的還是指向具體對象的指針。
如果定義了一個指針,使用時要讓他指向一個具體對象,當需要他不指向什麼對象的時候,給他賦值為NULL;
PS:
C語言,數組名只是一個指針常量而已,離開定義可見處,數組大小的信息就不存在了。
只有定義完全可見的地方,才可以獲得數組的大小。
數組作為函數的參數,和外部引用聲明都不能獲得數組的大小。
參數只能傳遞指針,參數的大小隻是指針的大小;
只能看到聲明的地方,獲取數組大小的努力,只能換來錯誤。
void fun1(int a[10]) //<==> void fun1(int a[]) <==>void fun1(int *a)
{
}
void fun2(int [10][10])// <==>void fun2(int a[][10])<==> void fun2(int (*a)[10])
{
}