編譯一個程序獲得整數值的默認值
❶ 用C語言編寫一個程序: 從鍵盤輸入 10 個整數,求出其中的最大值。
程序:
#include<stdio.h>
int main()
{
int arr[10] = {0};
int i = 0;
int max = 0;
int min = 0;
printf("請輸入10個整數:");
for (i = 0; i < sizeof(arr)/ sizeof(arr[0]); i++)
{
scanf("%d",&arr[i]);
}
max = arr[0];
for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
{
if (max < arr[i])
{
max = arr[i];
}
}
min = arr[0];
for (i = 0; i < sizeof(arr) / sizeof(arr[0]); i++)
{
if (min > arr[i])
{
min = arr[i];
}
}
printf("max=%d
", max);
printf("min=%d
", min);
return 0;
}
結果:
請輸入10個整數:1 2 3 56 23 6 767 32 11 567
max=767
min=1
請按任意鍵繼續. . .
(1)編譯一個程序獲得整數值的默認值擴展閱讀:
編寫過程分為三部分:源代碼文件 ------> 目標代碼文件------>可執行文件。
用到兩個組件:編譯器、鏈接器。編譯器的作用是將源代碼轉換為中間代碼,產生中間文件。鏈接器將此中間代碼與其他代碼相結合來生成可執行文件。
中間文件的形式有多種,一般就是將源代碼文件轉換為機器語言代碼,將其結果放置在一個目標代碼文件中。雖然目標代碼文件包含機器代碼文件,但是該文件還不能運行。目標文件包含源代碼的轉換結果,但它還不是一個完整的程序,也就是不是一個完整的可執行文件,它還需要與一些基本元素。
目標代碼文件中所缺少的第一個元素是一種叫做啟動代碼的東西,這個代碼相當於程序跟操作系統之間的介面。所缺少的第二個元素是庫常式的代碼,幾乎所有c程序都利用標准c庫中所包含的常式,例如printf。
而鏈接器的作用就是將這三部分結合在一起,並將它們存放在單個文件,即可執行文件中,這樣,一個完整的可執行文件就產生了。
❷ double java默認初值
基本數據類型作為類的成員時,
即使沒有對其進行初始化,
java也會確保它有一個默認值,如下:
基本類型的初始值 基本類型 默認值
boolean false
char \u0000(null)
byte (byte)0
short (short)0
int 0
long 0L
float 0.0f
double 0.0d
上面的默認值,是當變數作為類的成員使用時才有的,
java這樣做是保證基本類型的成員變數得到初始化,
防止產生程序錯誤,
但這些值在實際的程序中可能都是不合理的,
所以最好明確的給出初始值。
上面的默認值對在程序中非成員變數就不適用了,
非成員變數如果不明確給出初始值,就可能是任何值。
在java程序編譯時會提示你一個錯誤,而不是c++中的警告。
至於那些應用類型,像數組,對象啦,有些復雜,根據你的類型而定,對象一般弄人為null,
數組根據你的類型,按照基本數據類型的默認值來初始化……
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/yongpang/archive/2008/01/30/2073765.aspx
❸ 凡是未在調用前定義的函數,c編譯程序都默認函數的返回值類型為int 給個例子
這個不對,現在的標准如果調用沒有定義沒有原型聲明的是沒法通過編譯的
倒是另外一個情況是這樣的,調用沒有顯式聲明返回值類型的函數,就認為其是整型的
比如int main()
和main()
❹ C# "要確保結構的默認值有效;總是可以獲得結構的默認「全零」值。"
這個規范寫得很清楚,是針對Struct。Struct可以代表所有值類型。對於值類型來說,從概念上它總是有一個「值」的,簡單舉例,你有一個int x,那麼任何時候,x都有一個確定的值,即使未初始化,它也等於零(這是由編譯器替你做了初始化,因為在棧上分配一個int的時候,int所在的地址中不見得一定為0,所以初始化這個工作在底層是無法省略的)。這個概念的重要性在於,當你對值類型進行==(或Equals)比較的時候,兩個未手動初始化的同類型Struct應當是相等的。
並且在概念上,這兩個未初始化Struct代表的意義應當是「零」。這個概念的重要性在於,當你使用泛型struct的時候,你可以通過default關鍵字來進行初始化(不必,也不可能在編譯時知道泛型是什麼),而default在編譯器的視角下,總是對值類型清0,所以你應當和編譯器的這個規則保持一致:
struct MyStruct<T>
{
public int x;
public T t;
public MyStruct(int x)
{
this.x = x;
t = default;
}
}
❺ C語言-默認值
如果是全局變數,所有的數值變數都賦零,字元變數都賦NULL即0.指針變數也是NULL。即全部變數都自動初始化了。
如果是局部變數,所有的變數都不初始化,因此為隨機數。如果不賦值就使用,很危險。
❻ 編寫一個程序,獲得整數型數據的默認值(JAVA)
public class DefaultValue {
private static int i;
public static void main(String args[]){
System.out.println("整型的默認值是:"+i);
}
}
❼ c++ int類型默認值是多少
如果是定義的全局變數或者靜態變數,未初始化的話就是0.如果是局部變數,那就是以前殘留在堆棧里的隨機值。
區分變數的類型,有兩種情況。
1、局部變數。
局部變數在沒有顯式初始化時,其值C語言規范沒做要求,可以是隨機值,也可以是編譯器隨意給定的值。
比如gcc編譯器的局部變數就是隨機值,可能為任何值。而微軟的編譯器,如VC或VS,則會初始化為全c,即0xCCCCCCCC。
2、全局變數或靜態局部變數。
所有的全局變數,即定義在函數外的變數,默認值為0。
所有的靜態局部變數,即定義在函數內部的static int name形式的,默認初始化為0。
(7)編譯一個程序獲得整數值的默認值擴展閱讀:
定義方法:
inti;//定義整形變數i
inti=1;//定義整形變數i並初始化為1
定義常量:
constinti;//編譯錯誤,因為常量需要給予一個初值
constinti=1;//定義常量i,值為1
Java定義常量:
finalinti=1;//定義常量i,值為1
❽ C語言中定義int變數,默認值是多少
如果是定義的全局變數或者靜態變數,未初始化的話就是0.如果是局部變數,那就是以前殘留在堆棧里的隨機值。
區分變數的類型,有兩種情況。
1、局部變數。
局部變數在沒有顯式初始化時,其值C語言規范沒做要求,可以是隨機值,也可以是編譯器隨意給定的值。
比如gcc編譯器的局部變數就是隨機值,可能為任何值。而微軟的編譯器,如VC或VS,則會初始化為全c,即0xCCCCCCCC。
2、全局變數或靜態局部變數。
所有的全局變數,即定義在函數外的變數,默認值為0。
所有的靜態局部變數,即定義在函數內部的static int name形式的,默認初始化為0。
(8)編譯一個程序獲得整數值的默認值擴展閱讀:
int是一種數據類型,在編程語言(C、C++、C#、Java等)中,是用於定義整數類型變數的標識符。
目前在一般的電腦中,int佔用4位元組,32比特,數據范圍為-2147483648~2147483647[-2^31~2^31-1]
在之前的微型機中,int佔用2位元組,16比特,數據范圍為-32768~32767[-2^15~2^15-1]
定義方法:
inti;//定義整形變數i
inti=1;//定義整形變數i並初始化為1
定義常量:
constinti;//編譯錯誤,因為常量需要給予一個初值
constinti=1;//定義常量i,值為1
Java定義常量:
finalinti=1;//定義常量i,值為1