PERTEMUAN KE DUA
ALGORITMA DAN STRUKTUR
DATA BAHASA C
OPERATOR
Sejarah bahasa C
Bahasa C dirancang oleh Dennis Mc Allostair Ritchie, AT&T
Bell labotatories, 1972.
Dirancang untuk
mengembakan piranti lunak sistem.
Kernel sistem operasi
UNIX ditulis kembali dengan bahasa C, 1973.
Publikasi melalui buku
The C Programming Language, Brian W. Kernighan dan Dennis M. Ritchie, 1978.
C++ dan C
Berbicara tentang C++ dan C sebagai bahasa pendahulunya, C
merupakan termasuk bahasa
pemrograman tingkat menengah. Pencipta C adalah Brian W. Keninghan dan Dennis M. Ritchie pada tahun 1972. C merupakan bahasa pemrograman terstuktur yang membagi program ke dalam sejumlah blok (sub program). Tujuannya adalah untuk memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis dengan C mudah sekali dipindahkan dari sutu jenis mesin ke mesin lain. Hal ini karena adanya standarisasi C yaitu ANSI (American National Standards Institute) yang menjadi acuan para pembuat compiler C.
pemrograman tingkat menengah. Pencipta C adalah Brian W. Keninghan dan Dennis M. Ritchie pada tahun 1972. C merupakan bahasa pemrograman terstuktur yang membagi program ke dalam sejumlah blok (sub program). Tujuannya adalah untuk memudahkan dalam pembuatan dan pengembangan program. Program yang ditulis dengan C mudah sekali dipindahkan dari sutu jenis mesin ke mesin lain. Hal ini karena adanya standarisasi C yaitu ANSI (American National Standards Institute) yang menjadi acuan para pembuat compiler C.
Program C++
Program C++ dapat dibuat
menggunakan sembarang editor teks maupun editor sekaligus compilernya. Program
utama berekstensi (*.CPP). Pada saat kompilasi program utama bersama dengan
file header (*.h) akan diterjemahkan oleh kompiler menhadi file obyek (*.OBJ).
selanjutnya file obyek ini bersama-sama dengan file obyek lain dan file library
(*.LIB) dikaitkan menjadi satu oleh linker. Hasilnya adalah file (*.EXE)
executable.
Compiler C++
Compiler C++ yang telah
beredar di pasaran antara lain Microsofr C / C++ dab Visual C++. Keduanya dari
Microsoft. Sementara Borland international juga mengeluarkan Turbo C++ dan
Borland C++.
Bentuk Program Dalam
C++
Struktur Program C++
#include
<iostream.h>
Main()
{
Std::cout<<”hello
world\n”;
Return 0;
}
Baris Pertama:
#include
<iostream.h>
Sebagai bagian dari
proses kompilator, kompilator dari C++ menjalankan program yang dinamakan
preprosesor. Preprosesor memiliki kemampuan menambahkan dan menghapus kode dari
sumber, pada bagian #include memberitahukan preprosesor untuk menyertakan kode
dari iostream, berkas iostream berisi deklarasi untuk berbagai fungsi yang
dibutuhkan oleh perangkat lunak atau class-class yang dibutuhkan.
Baris kedua
Int main()
Pernyataan ini
mendeklarasikan fungsi utama, bahwa suatu program C++ dapat berisi banyak fungsi,
yang harus selalu memiliki sebuah fungsi utama (main function), Fungsi adalah
modul yang berisi kode-kode untuk menyelesaikan masalah-masalah tertentu. Kata
void menandakan fungsi main tidak bertipe.
Baris ketiga:
{
Kurung kurawal buka
menandakan awal program.
Baris keempat:
Std::cout<<”Hello
world\n”;
Cout adalah sebuah object
dari pustaka perangkat lunak standart C++ yang digunakan untuk mencetak string
ke piranti output standart, yang biasnya adalah layar komputer, compiler
menghubungkan kode dari pustaka perangkat lunak standart itu dengan kode yang
telah ditulis untuk mendapatkan hasil executable.
\n
Adalah format modifier
yang digunakan untuk berganti baris setelah menampilkan string, jika ada cout
lain pada program tersebut, maka string
yang menyertainya akan dituliskan pada baris bawahnya,
Baris kelima:
}
Kurung kurawal tutup
menandakan akhir program.
Hal yan menjadi catatan
penting di sini bahwa program C++ bersifat Case Sensitive, artinya huruf besar
dan kecil dianggap beda.
FILE HEADER
Pada contoh diatas,
iostream.h disebut file header tersebut dierlukan agar perintah cout bisa
dijalankan. Apabila file header tersebut dihapus, maka akan terjadi eror. Untuk
mengakses file header, digunakan perintah #include <file header>, atau
#include “file header”. Dalam suatu program bisa jadi melibatkan lebih dari
satu file header.
Catatan:
Perintah
cout<<”Hello world.\n”; dapat diganti dengan printf(“Hellow world.\n”;
Akan tetapi untuk
menggunakan printf diperlukan file header stdio.h
MENGHAPUS LAYAR
Dalam C++, perintah
clrscr(); digunakan untuk menghapus atau membersihkan layar. Perintah ini akan
bisa dijalankan setelah ditambahkan file header conio.h
#include
<iostream.h>
#inlclude<conio.h>
void main()
{
Clrscr();
Cout<<”Hellow
world.\n”;
}
TIPIKAL PROGRAM C
/*potongan harga untuk 3
kaleng*/
#include<stdio.h>
int main() {
float j_unit, harga, nilai;
int i;
printf(“POTONGAN HARGA SUSU\n”);
for (i=0;i<19;i++) printf(“=”);printf(“\n”);
int main() {
float j_unit, harga, nilai;
int i;
printf(“POTONGAN HARGA SUSU\n”);
for (i=0;i<19;i++) printf(“=”);printf(“\n”);
ELEMEN BAHASA C
Karakter
Identifier
-
Keyword
-
Strandard
identifier
-
Programmer-defined
identifier.
Tipe data
Konstanta
Variabel
Karakter
Huruf, ABC sampai degan
Z. acb sampai dengan z.
Angka, 0123456789
Karakter khusus,
!”#5&’()*+,-./:;ó?[\]^_{|}~ spasi
Karakter extend, Tab
horisontal, tab vertikal, form feed, new
line.
Identifier.
-
Identifier.
o
Identifier,
pengenal, nama segala sesuatu.
o
Nama
instruksi, nama variabel, nama tipe data, nama function.
-
Ketentuan
idenfier
o
Diawali huruf
atau garis bawah (underscore)
o
Diikuti
huruf, angka, atau garis bawah.
o
Panjang
maksimum 32 karakter (borland C++)
o
Panjang tidak
dibatasi (Dev-C++)
-
Bahasa C
bersifat case sensitive.
o
Huruf besar
dan kecil dianggap beda.
o
Abc berbeda
dengan Abc AbC ABC abC.
-
Identifier
yang panjang
o
Luas_persegianjang_berwarna_biru
o
Luas_persegianjang_berwarna_biru_muda.
-
Contoh
identifier yang benar.
o
luas
o
segi3
o
bilangan_1
-
Contoh
identifier yang salah.
o
3com diawali angka.
o
Persegi-panjang terdapat tanda -
o
Luas
lingkaran dipisahkan spasi
Keyword
-
Keyword
o
Identifier
yang telah diberi kegunaan ertentu dan tidak boleh diubah, hanya boleh
digunakan.
1.
auto
2.
break
3.
case
4.
char
5.
const
6.
continue
7.
default
8.
do
9.
double
10.
else
11.
enum
12.
extend
13.
float
14.
for
15.
goto
16.
if
17.
int
18.
long
19.
register
20.
return
21.
short
22.
signed
23.
sizeof
24.
static
25.
stuct
26.
switch
27.
tpedef
28.
union
29.
unsigned
30.
void
31.
volatile
32.
while
contoh keyword.
int main() {
int i = 0;
do // OK
printf (“%d “,i++);
while (i<5);
return 0;
}
Outputnya : 0 1 2 3 4
Int main () {
Float do; //ERROR
...
}
%u
%d atau %i
%o , bilangan tak bertanda dalam sistem Oktal (0-7)
%x , bilangan tak bertanda dalam basil hexadesimal (0-F)
%f , menampilkan bilangan real dddd.ddddddd
%e atau %E , menampilkan bilangan dalam bentek sains
%g atau %G , menampilkan bilangan real dalam bentuk %f ata %E tergantung
pada kepresisian data.
l (huruf L kecil) , awalan yag digunakan untuk enyatakan long int atau
double. Contoh %ld untuk long int
atau %lf untuk double.
%% , untuk menyatakan simbol %.
Standard identifier
-
standard
identifier
o
identifier
yang telah didefinisikan compiler untuk kegunaan ertentu tetapi boleh di
definisi ulang.
int main () {
...
Printf(“POTONGAN HARGA SUSU\n”);//OK
...
}
Int main () {
Float
printf; //OK
...
Printf(“POTONGAN HARGA SUSU\n”);
//EROR
...
}
Programmer-Defined ID.
-
Programmer-Defined
Identifier.
o
Identifier
yang dibat oleh pemrogram.
int main () {
float
j_unit, harga; //OK
...
...
scanf
(“%f %f, &j_unit, &harga);//OK
printf(“POTONGAN
HARGA SUSU\n”);
...
}
TIPE DATA
-
Tipe data
o
Jenis data
yang dioleh.
o
Ilangan
bulat, bilangan pecahan, karakter.
Tipe data Character, keyword char, renang nilai (GCC) -128 s.d 127
Tipe data Short integer, keyword short, rentang nilai -32.768 s.d 32767
Tipe data Integer, keyword int, rentang nilai -2.147.483.648 s.d.
2.147.483.647
Tipe data Long integer, keyword long, rentang nilai -2.147.483.648 s.d.
2.147.483.647
Tipe data Long-long integer, keyword long long, rentang nilai
-9.223.372.036.854.775.808 s.d. 9.223.372.036.854.775.807.
Tipe data SP loating point, keyword float, 1.17 x e-38 s.d. 3.4 x e38.
Tipe data DP floating point, keyword double, 2.22 x e-308 s.d. 1.79 x e308
o
Tipe data
karakter (char)
§ 1 byte = 8 bit.
§ 28 = 256 nilai ( -128 ... -1 0 1 2 ...
127 )
o
Tipe data
short integer (short)
§ 2 byte = 16 bit.
§ 216 = 65536 nilai (-32768 ... 32767)
o
Tipe data
integer (int)
§ 4 byte = 32 bit.
§ 216 = 4.294.967.296 nilai
(--2.147.483.648 ... 2.147.483.647)
#include <stdio.h>
Int main () {
Printf(“char = %d\n”,
seizeof (char));
Printf(“short = %d\n”,
seizeof (short));
Printf(“int = %d\n”,
seizeof (int));
Printf(“long = %d\n”,
seizeof (long));
Printf(“float = %d\n”,
seizeof (float));
Printf(“double = %d\n”,
seizeof (double));
Printf(“long long = %d\n”, seizeof (long long));
Printf(“long double =
%d\n”, seizeof (long double));
Return 0;
}
Outputnya :
Char =1
Short = 2
Int = 4
Long = 4
Float = 4
Double = 8
Long long = 8
Long double = 12
-
Qualifier
unsigned pada tipe data.
o
Tidak
mengakomodasi nilai negatif
o
Seluruh daya
tampung untuk bilangan positif
o
Default
qualifier adalah signed.
Keyword unsigned char, rentang nilai (GCC) 0 s.d. 255.
Keyword unsigned short, rentang nilai (GCC) 0 s.d. 65.535.
Keyword unsigned int, rentang nilai (GCC) 0 s.d. 4.24.967.295.
Keyword unsigned long, rentang nilai (GCC) 0 s.d. 4.24.967.295.
Keyword unsigned long long, rentang nilai (GCC) 0 s.d.
18.446.744.073.709.551.615
-
Single
precision floating number (float) verses double precision floating number
(double).
#include <stdio.h>
int main() {
printf(“ 123456789A123456789B\n”);
printf(“%.20f\n”, (float)22.0 / (float)7.0);
printf(“%20lf\n”, (double)22.0 / (double) 7.0);
return 0;
}
int main() {
printf(“ 123456789A123456789B\n”);
printf(“%.20f\n”, (float)22.0 / (float)7.0);
printf(“%20lf\n”, (double)22.0 / (double) 7.0);
return 0;
}
Outputnya:
123456789A123456789B
3.14285707473754880000
3.14285714285714280000
3.14285707473754880000
3.14285714285714280000
KONSTANTA
-
Konstanta
o
Integer
constant
§ Konstanta integer desimal : 125 2010
§ Konstanta integer oktal : 07 0642
§ Konstanta integer heksadesimal : 0x36 0xab5
o
Charakter
constant : ‘a’ ‘1’ escape sequence
§ Escape sequence diawali dengan garis miring
terbalik.
o
Floating
point constant : 3.14 1.23e4
o
String
constant
§ “Dev-C++ versi 4.9.9.2”
§ “algoritma\npemrograman”
-
Escape
sequence
o
ES \0, nilai
0x00, karakter NUL, keterangan karakter dengan nilai ASCII = 0.
o
ES \a, nilai
0x07, karakter BEL, keterangan bunyi speaker.
o
ES \b, nilai
0x08, karakter BS, keterangan backspace (mundur ke kiri).
o
ES \f, nilai
0x0C, karakter FF, keterangan formfeed (ganti halaman).
o
ES \n, nilai
0x0A, karakter LF, keterangan Linefeed atau newline (ganti baris)
o
ES \r, nilai
0x0D, karakter CR, carriage return (keawal baris)
o
ES \t, nilai
0x09, karakter HT, keterangan tabulator horisontal.
o
ES \v, nilai
0x0B, karakter VT, keterangan tabulator vertikal.
o
ES \\, nilai
0x5C, karakter \, keterangan karakter miring kiri.
o
ES \’, nilai
0x27, karakter ‘, keterangan karakter petik-tunggal.
o
ES \”, nilai
0x22, karakter “, keterangan karakter petik-ganda.
o
ES \?, nilai
0x3F, karakter ?, keterangan karakter tanda tanya.
-
Integer
constant: desimal, oktal. Heksadsimal.
#include <stdio.h>
int main () {
printf(“123 (10) = %f\n”, 123);
printf(“123 (8) = %d\n”, 0123);
printf(“123 (16) = %d\n”, 0x123);
return 0;
}
int main () {
printf(“123 (10) = %f\n”, 123);
printf(“123 (8) = %d\n”, 0123);
printf(“123 (16) = %d\n”, 0x123);
return 0;
}
Outputnya :
123 (10) = 123
123 (8) = 83
123 (16) = 291
123 (8) = 83
123 (16) = 291
VARIABEL
-
Variabel
o
Tempat
menampung data
o
Harus
ditentukan tipe data yang ditampung.
o
Harus
dideklarasi atau didefinisi sebelum dipakai.
Data_type
var1 <= int1 >, var2 <= int2 >, ... ;
unsigned
int nilai_tugas;
int nilai_uts, nilai_uas;
char huruf;
int nilai_uts, nilai_uas;
char huruf;
float
jumlah = 0.0;
char titik
= ‘.’;
OPERASI DANN OPERATOR
-
Operasi :
proses terhadap data
-
Operator :
simbol operasi
-
Operan : data
yang dioperasikan
-
Berdasarkan
jumlah operan trlibat.
o
Unary
operator, satu operan: ++ -- unary minus.
o
Binary
operator, dua operan: + - * /
o
Ternaty
operator, tiga operan : ƨ :
-
Berdasarkan
jenis operasi.
o
Operator
aritmatika
o
Operator
relasi
o
Operator
logika
o
Operator
bitwise
o
Operator koma
o
Operator
assignment.
Operan aritmatika
-
Simak contoh
berikut 2+3, tanda + merupakan operator. Operator berupa simbol yang digunakan
untuk menusun suatu expresi, dengan meibatkan satu atau lebih operan.
Operan
-
Berdasarkan
jumlah operan terlibat.
o
Unary
operator, satu operan : ++ -- unary minus.
§ Contoh : +1, -1
o
Binary
operator, dua operan : + - * /
§ Contoh : 2+3, 5*2, 5>2.
o
Ternary
operantor, tiga operan : ƨ :
§ Contoh : a>b ƨ 1 : 0
Opreasi dan Operator
-
Operator
aritmatika
Simbol
+, fungsi penjumlahan, contoh y+6.
Simbol
-, fungsi pengurangan, contoh 2010 – tahunlahir
Simbol
*, fungsi perkalian, contoh 3.14 * diameter
Simbol
/, fungsi pembagian, contoh jumlahdetik / 3600
Simbol
%, fungsi modulus, contoh n % 16
Simbol
++, fungsi increment, contoh x++ ++x
Simbol --,
fungsi decrement, z-- --z
Fungsi Aritmatika
Fungsi sqrt(x),
keterangan nilai daari akar x
Fungsi pow(x,y),
keterangan nilai dari x pangkat y
Fungsi tan(x), keterangan
nilai dari tangen x
Fungsi sin(x), keterangan
nilai dari sin x
Fungsi cos(x), keterangn
nilai dari cos x
Fungsi log (x),
keterangan nilai dari loge x
Fungsi log10(x),
keterangan nilai dari log 10 x
Fungsi cabs(x),
keterangan nilai dari absolut x (nilai bertipe int)
Fungsi fabs(x),
keterangan nilai dari absolut x (nilai bertipe double)
Contoh notasi matematika
dan ekspresi dalam c atau c++
Notasi matematika (ax2
+ bx + c), ekspresi C dan C++ (a * x * x + b * x + c)
Notasi matematika ( ), ekspresi
C dan C++ [ sqrt(b) ]
Notasi matematika ( ), ekspresi
C dan C++ [ pow (b,1.0/3) ]
Notasi matematika ( ), ekspresi
C dan C++ [ (a+b)/(c+d) ]
Notasi matematika ( ), ekspresi C dan C++ [ sqrt (b*b-4*a*c) ]
Notasi matematika ( ), ekspresi C dan C++ [ Exp(x+y)/(x+y) ]
Notasi matematika (
a + ), ekspresi C dan C++ [ a+b/fabs(m-n) ]
Notasi matematika
log10 m, ekpresi C dan C++ [ log10(m) ]
Notasi matematika loge(m+n),
ekspresi C dan C++ [ log(m+n) ]
#include <stdio.h>
int main () {
float x, y, z, nilai;
printf(“masukkan nilai x = “);
scan(“%f”, &x);
printf(“masukkan nilai y = “);
scan(“%f”,&y);
printf(“masukkan nilai z = “);
scan(“%f”, &z);
nilai=(2*X+3*y)*(3*z-4*y);
printf(“nilai perkalian (2x-3y)(3z-4y) = %f\n”, nilai);
fflush(stdin); getch();
return 0;
}
int main () {
float x, y, z, nilai;
printf(“masukkan nilai x = “);
scan(“%f”, &x);
printf(“masukkan nilai y = “);
scan(“%f”,&y);
printf(“masukkan nilai z = “);
scan(“%f”, &z);
nilai=(2*X+3*y)*(3*z-4*y);
printf(“nilai perkalian (2x-3y)(3z-4y) = %f\n”, nilai);
fflush(stdin); getch();
return 0;
}
OPERASI DAN OPERATOR
-
Preincrement
dan postincrement
-
Operator
relasi
Simbol
|
Fungsi
|
Contoh
|
==
|
Sama
dengan
|
Grade
== ‘a’
|
!=
|
Tidak
sama dengan
|
Pilih
!= ‘y’
|
<
|
Lebih
kecil dari pada
|
Nilai
< 56
|
>
|
Lebih
kecil dari pada
|
Nilai
>79
|
<=
|
Lebih
kecil atau sama
|
Usia
<=17
|
>=
|
Lebih
kecil atau sama
|
Ip
>= 2.00
|
-
Operator
logika
Simbol
|
Fungsi
|
Contoh
|
!
|
Not
|
!a
|
&&
|
And
|
(a>79)&&(a<101)
|
||
|
Or
|
(a<0)
|| (n>100)
|
A
|
B
|
!A
|
A&&B
|
A||B
|
True
|
True
|
False
|
True
|
True
|
True
|
False
|
False
|
False
|
True
|
False
|
True
|
True
|
False
|
True
|
False
|
False
|
True
|
False
|
False
|
-
Operator
bitwise
Simbol
|
Fungsi
|
&
|
Melakukan
OR terhadap dua bit
|
!
|
Melakukan
AND terhadap dua bit
|
^
|
Melakukan
XOR terhadap dua bit
|
<<
|
Menggeser
bit-bit ke kiri
|
>>
|
Menggeser
bit-bit ke kanan
|
~
|
Melakukan
one’s complement
|
-
Operator koma
o
Menggabungkan
sejumlah nama variabel setipe pada seklarasi atau definisi variabel.
o
Memisahkan
argumen function.
o
Menyatukan
dua ekspresi menjadi sebuah pernyataan.
o
Inisialisasi
dan kontrol pengulangan.
-
Operator
assignment
o
Nilai
expression di berikan kepada variabel di kiri.
Varname = expression;
Contoh
Program
|
Output
|
#include
<stdio.h>
int main(){ int a,b;
a=7;
b=9; a=a+8; b=a%b; printf(“%d %d\n”,a,b); return 0; } |
15
6
|
o
L-value dan
R-value
§ R-value adalah nilai sebuah eksresi.
§ R-value dituliskan di kanan = .
§ L-value menyatakan tempat menampung data.
§ L-value ditulis di kiri = .
-
Compound
operator
o
Assignment
terbentuk var1 = var1 opr var2
o
Boleh
disingkat menjadi var1 opr = var2
Assigment
|
Disingkat
|
Assigment
|
Disingkat
|
a =
a + b ;
|
a +
= b;
|
a =
a << b ;
|
a
<< = b;
|
a =
a – b;
|
a -
= b;
|
a =
a >> b;
|
a>>
= b;
|
a =
a * b;
|
a *
= b;
|
a =
a | b;
|
a |
= b;
|
a =
a / b;
|
a /
= b;
|
a =
a & b;
|
a %
= b;
|
a =
a % b;
|
a %
= b;
|
a =
a ^ b;
|
a ^
= b;
|
-
Operator
precedence
o
Tingkat atau
prioitas pengerjaan ooperator
o
a + b * c – d
/ e , (a + (b*c)) – (d/e)
-
Operator
associativity
o
“arah”
pengerjaan operator
o
a – b – c ,
(a – b) – c
Operator
|
Asosiativitas
|
Presedensi
|
()
[] è
|
Kiri
ke kanan
|
1
|
! ~
++ -- - & “ (cast) sizeof
|
Kiri
ke kanan
|
2
|
* / %
|
Kiri
ke kanan
|
3
|
+ -
|
Kiri
ke kanan
|
4
|
<<
>>
|
Kiri
ke kanan
|
5
|
<
<= > >=
|
Kiri
ke kanan
|
6
|
==
!=
|
Kiri
ke kanan
|
7
|
Pada
presedensi 2 adalah operator derefence digunakan terhadap variabel pointer.
Operator
|
Asosiativitas
|
Presedensi
|
&
|
Kiri
ke kanan
|
8
|
^
|
Kiri
ke kanan
|
9
|
!
|
Kiri
ke kanan
|
10
|
&&
|
Kiri
ke kanan
|
11
|
||
|
Kiri
ke kanan
|
12
|
?:
|
Kiri
ke kanan
|
13
|
=
+= -= *= /=
|
Kanan
ke kiri
|
14
|
,
|
Kiri
ke kanan
|
15
|
Expression
-
Elemen
program yang jika dievaluasi (evaluate)
akan menghasilkan nilai (value).
-
Sebuah
konstanta adalah sebuah ekspresi.
-
Sebuah
variabel adalah sebuah ekspresi.
-
Sebuah
pemanggilan (pengaktifan function adalah sebuah ekspresi.
-
Ekspresi yang
dioperasikan dengan ekspresi adalah sebuah ekspresi.
Statement (command)
-
Elemen
program yang apabila dijalankan (execute) akan menimbulkan side effect, yaitu
perubahan isi memori variabel.
Perbedaan
statement dan expression.
o
a = b
menghasilkan nilai, bisa di print.
o
= adalah
expression.
o
a = b
menyebabkan isi variabel a berubah.
o
= adalah
statement.
o
Assigment
adalah statement dan juga expression.
§ a = b = c + 5;
konversi data
-
tipe data
mencangkup 2 hal:
o
value atau
nilai data.
o
Jenis oerator
yang dapat dilakukan terhada nilai.
-
Tipe data
integer (int)
o
Value : -10 0
3 123
o
Operasi : + -
* / %
-
Tipe data
floating point number (float)
o
Value : -6.0
3.14159
o
Operasi : + -
* /
-
Idealnya
kedua data yang dioperasikan adalah setipe, jika tidak demikian maka akan dilakukan
konversi secara implisit.
#include
<stdio.h
int main(){
int a = 10;
float b = 2.34;
a = a + b;
printf(“%d\n”, a);
return 0;
}
int main(){
int a = 10;
float b = 2.34;
a = a + b;
printf(“%d\n”, a);
return 0;
}
Outputnya
12
A + b =
10 + 2.34 = 10.00 + 2.34 = 12.34, karena a hanya bisa menampung bilangan bulat
maka bagian pecahan di buang.
-
Tipe casting.
o
Proses
konversi tipe data sehingga data seakan-akan (berperan sebagai) bertipe data
tertentu.
o
Dilakukan
dengan menuliskan tipe data didalam tanda kurung dan meletakkannya di kiri data
yang akan diproses.
Prepocessor directive
-
Elemen
program yang akan dilaksanakan pada tahap awal proses kompilasi.
-
Diawali
dengan simbol #.
-
#inlude untuk
menyertakan header file.
-
#define
o
Memberi nama
kepada elemen program.
o
Medeklarasi
macro
o
Mendeklarasi
symbolic contant.
o
#define
symbolicconstant constantvalue
Contoh:
#define NILAIMAX 100
#define NILAI MIN 0
#define GARIS “-------------------“
Symbolic constant
-
Compiler
menyediakan sejumlah symbolic constant
o
#include
<limits.h> untuk symbolic constant CHAR_MIN, CHAR_MAX, UCHAR_MAX, SHRT_MIN, SHRT_MAX, INT_MIN, INT_MAX, UINT_MAX, LONG_MIN, LONG_MAX, ULONG_MAX.
o
#include
<float.h> untuk symbolic constant FLT_MIN, FLT_MAX, DBL_MIN, DBL_MAX.
Symbolc
Constant
|
Nilai
|
CHAR_MIN
|
-128
|
CHAR_MAX
|
127
|
UCHAR_MAX
|
255
|
SHRT_MIN
|
-32768
|
SHRT_MAX
|
32767
|
INT_MIN
|
-2147483648
|
INT_MAX
|
2147481647
|
UINT_MAX
|
4294967295
|
LONG_MIN
|
-2147483648
|
LONG_MAX
|
2147483647
|
ULONG_MAX
|
4294967295
|
FLT_MIN
|
1.175494
x e-38
|
FLT_MAX
|
3.402832
x e38
|
DBL_MIN
|
2.225074
x e-308
|
DBL_MAX
|
1.797693
x e308
|
Tidak ada komentar:
Posting Komentar