Subscribe to Zinmag Tribune
Subscribe to Zinmag Tribune
Subscribe to Zinmag Tribune by mail

Constants

8:42 AM Posted by fendhy
Literal adalah jenis yang paling jelas dari konstanta. Mereka digunakan untuk menyatakan nilai-nilai tertentu dalam kode sumber program. Kita telah digunakan sebelumnya ini untuk memberikan nilai konkrit untuk variabel atau untuk mengekspresikan pesan kami ingin program kami untuk mencetak, misalnya, ketika kita menulis:







a = 5;


5 dalam potongan kode ini adalah konstanta literal.
Literal konstanta dapat dibagi dalam angka Integer, Floating-Point angka, Karakter, String dan Boolean Nilai.





Integer Numerals

1
2
3
1776
707
-273


 
Mereka adalah konstanta numerik yang mengidentifikasi nilai desimal integer. Perhatikan bahwa untuk mengekspresikan numerik konstan kita tidak harus menulis tanda kutip (") maupun karakter khusus Tidak ada keraguan bahwa itu adalah konstan:. setiap kali kita menulis 1776 dalam sebuah program, kita akan mengacu ke nilai 1776.

Selain angka desimal (orang-orang bahwa kita semua digunakan untuk menggunakan setiap hari), C + + memungkinkan penggunaan angka oktal (basis 8) dan angka heksadesimal (basis 16) sebagai konstanta literal. Jika kita ingin mengekspresikan nomor oktal kita harus mendahului dengan 0 (karakter nol). Dan untuk mengekspresikan angka heksadesimal kita harus mendahului itu dengan karakter 0x (nol, x). Sebagai contoh, konstanta literal berikut adalah semua setara dengan satu sama lain:





1
2
3
75         // decimal
0113       // octal
0x4b       // hexadecimal 




Semua ini merupakan nomor yang sama: 75 (tujuh puluh lima) dinyatakan sebagai angka-10 base, angka angka oktal dan heksadesimal, masing-masing.

Konstanta Literal, seperti variabel, yang dianggap memiliki jenis data tertentu. Secara default, literal integer adalah tipe int. Namun, kami bisa memaksa mereka untuk baik akan unsigned dengan menambahkan karakter u untuk itu, atau panjang dengan menambahkan l:





1
2
3
4
75         // int
75u        // unsigned int
75l        // long
75ul       // unsigned long 



 Dalam kedua kasus, akhiran dapat ditentukan baik menggunakan huruf besar atau huruf kecil.
Floating Point Numbers
Mereka mengekspresikan angka dengan desimal dan / atau eksponen. Mereka dapat mencakup baik titik desimal, karakter e (yang mengekspresikan "oleh sepuluh pada ketinggian Xth", dimana X adalah nilai integer yang mengikuti karakter e), atau keduanya titik desimal dan karakter e:




1
2
3
4
3.14159    // 3.14159
6.02e23    // 6.02 x 10^23
1.6e-19    // 1.6 x 10^-19
3.0        // 3.0 




Ini adalah empat nomor yang valid dengan desimal disajikan dalam C + +. Nomor pertama adalah PI, yang kedua adalah jumlah Avogadro, yang ketiga adalah muatan listrik dari sebuah elektron (jumlah yang sangat kecil)-semuanya mendekati-dan yang terakhir adalah nomor tiga dinyatakan sebagai floating-point numerik literal.

Jenis default untuk literal floating point adalah double. Jika Anda secara eksplisit ingin mengekspresikan float atau long double numerik literal, Anda dapat menggunakan f atau akhiran l:



 
1
2
3.14159L   // long double
6.02e23f   // float 


Setiap huruf yang dapat menjadi bagian dari numerik konstanta floating-point (,l, e, f) dapat ditulis menggunakan huruf baik lebih rendah atau huruf besar tanpa perbedaan arti mereka.
Karakter dan string literal



Character and string literals

 
Ada juga konstanta non-numerik, seperti:

 
1
2
3
4
'z'
'p'
"Hello world"
"How do you do?" 


Dua yang pertama merupakan ekspresi konstanta karakter tunggal, dan dua berikut ini mewakili string literal terdiri dari beberapa karakter. Perhatikan bahwa untuk mewakili satu karakter kami lampirkan di antara tanda kutip tunggal (') dan untuk mengekspresikan string (yang umumnya terdiri dari lebih dari satu karakter) kami lampirkan di antara tanda kutip ganda (").

Saat menulis literal baik karakter tunggal dan string, perlu untuk menempatkan tanda kutip sekitar mereka untuk membedakan mereka dari identifier variabel yang mungkin atau kata kunci reserved. Perhatikan perbedaan antara dua ekspresi:





1
2
x
'x'


 x saja akan merujuk ke variabel yang identifier adalah x, sedangkan 'x' (yang dimasukkan dalam tanda kutip tunggal) akan mengacu pada konstanta karakter 'x'.

Karakter dan literal string memiliki kekhasan tertentu, seperti kode melarikan diri. Ini adalah karakter khusus yang sulit atau tidak mungkin untuk mengekspresikan dinyatakan dalam kode sumber dari program, seperti newline (\ n) atau tab (\ t). Semuanya didahului dengan backslash (\). Di sini Anda memiliki daftar beberapa kode melarikan diri seperti:







\n
newline
\r
carriage return
\t
tab
\v
vertical tab
\b
backspace
\f
form feed (page feed)
\a
alert (beep)
\'
single quote (')
\"
double quote (")
\?
question mark (?)
\\
backslash (\)




Contoh:
1
2
3
4
'\n'
'\t'
"Left \t Right"
"one\ntwo\nthree" 


 Selain itu, Anda dapat mengekspresikan setiap karakter ASCII dengan kode numerik dengan menulis karakter backslash (\) diikuti dengan kode ASCII dinyatakan sebagai oktal (basis-8) atau heksadesimal (basis-16) nomor. Dalam kasus pertama (oktal) digit harus segera mengikuti backslash (misalnya \ 23 atau \ 40), dalam kasus kedua (heksadesimal), karakter x harus ditulis sebelum digit sendiri (misalnya \ x20 atau \ x4A ).

String literal dapat memperpanjang untuk lebih dari satu baris kode dengan menempatkan tanda backslash (\) pada akhir setiap baris yang belum selesai.





1
2
"string expressed in \
two lines" 


Anda juga dapat menggabungkan beberapa string konstanta memisahkan mereka dengan satu atau beberapa ruang kosong, tabulasi, newline atau karakter kosong lain yang valid:





"this forms" "a single" "string" "of characters"


Akhirnya, jika kita ingin string literal untuk secara eksplisit terbuat dari karakter lebar (wchar_t type), , bukan karakter yang sempit (char type), kita dapat mendahului konstanta dengan L awalan:





L"This is a wide character string"


 

Karakter Wide digunakan terutama untuk mewakili set karakter non-Inggris atau eksotis.
 

Boolean literal
Hanya ada dua nilai Boolean yang valid: true dan false. Ini dapat dinyatakan dalam C + + sebagai nilai bool tipe dengan menggunakan Boolean literal benar dan salah.


Anda dapat menentukan nama Anda sendiri untuk konstanta yang anda gunakan sangat sering tanpa harus resor untuk variabel memakan memori, hanya dengan menggunakan direktif preprocessor # define. Formatnya adalah:




Defined constants (#define)



#define identifier value
For example:
1
2
#define PI 3.14159
#define NEWLINE '\n' 


Hal ini mendefinisikan dua konstanta baru: PI dan NEWLINE. Setelah mereka ditetapkan, Anda dapat menggunakannya di seluruh kode seolah-olah mereka yang lain biasa konstan, misalnya:










 












// defined constants: calculate circumference
 
#include <iostream>
using namespace std;
 
#define PI 3.14159
#define NEWLINE '\n'
 
int main ()
{
  double r=5.0;               // radius
  double circle;
 
  circle = 2 * PI * r;
  cout << circle;
  cout << NEWLINE;
 
  return 0;
}


Run: 


31.4159
 
 Bahkan satu-satunya yang preprocessor kompiler tidak ketika bertemu # define arahan adalah harfiah mengganti terjadinya mereka identifier (pada contoh sebelumnya, ini adalah PI dan NEWLINE) dengan kode yang mereka telah didefinisikan (3,14159 dan '\ n 'masing-masing).

The # define direktif bukan C + + pernyataan tetapi arahan untuk preprocessor, karena itu mengasumsikan seluruh baris sebagai patokan dan tidak membutuhkan tanda titik koma (;) di ujungnya. Jika anda menambah sebuah karakter titik koma (;) di akhir, itu juga akan ditambahkan dalam semua kejadian dari identifier dalam tubuh program yang preprocessor menggantikan.



Dideklarasikan konstanta (const)


Dengan prefix const Anda dapat mendeklarasikan konstanta dengan tipe tertentu dengan cara yang sama seperti yang Anda akan lakukan dengan variabel:


 


1 const int pathwidth = 100;
2 const char tabulator = '\t';


Di sini, pathwidth dan tabulasi adalah dua konstanta diketik. Mereka diperlakukan sama seperti variabel biasa kecuali bahwa nilai tidak dapat diubah setelah definisi mereka.


Source Of cplusplus.com 
You can leave a response, or trackback from your own site.

Labels

My Blog List

Followers