C Çalışması Uygulamaları
- January 4, 2013
Sınav öncesi yaptığımız C çalışmasının örnek kodları. Tek ve çok boyutlu diziler, dosya okuma, yazma, fprintf, fscanf, bit işlemleri, struct, union ve enum örnekleri gibi konular var.
#include <stdio.h>
void topla(int aktar[]){
int i, toplam = 0, boyut = 0;
boyut = sizeof(aktar)/sizeof(int);
for(i = 0; i < boyut; i++)
toplam += aktar[i];
printf("Bulunan toplam: %d\n", toplam);
}
void EkranaBas(int dizi[5]);
int main(void){
int aktar[] = {1,3,5,7,9};
topla(aktar);
EkranaBas(aktar);
return 0;
}
void EkranaBas(int dizi[5]){
int i = 0;
for(i = 0; i < BOYUT; i++)
printf("%d. Eleman: %d\n", i+1, dizi[i]);
}
#include <stdio.h>
#include <time.h>
#include <stdlib.h>
void ekranaBas(int [10][20]);
int main(void){
srand(time(NULL));
int a[10][20];
int i,j;
for(i = 0; i < 10; i++){
for(j = 0; j < 20; j++){
a[i][j] = (rand()%100) + 1;
}
}
ekranaBas(a);
return 0;
}
void ekranaBas(int a[10][20]){
int i,j;
for(i = 0; i < 10; i++){
for(j = 0; j < 20; j++){
printf("%4d",a[i][j]);
}
printf("\n");
}
}
#include <stdio.h>
int main(void){
int dizi[10] = {8,6,12,24,4,5,6,432,434,765};
int i,j, temp;
for(i = 0; i < 10; i++){
for(j = i; j < 10; j++){
if(dizi[i]>dizi[j]){
temp = dizi[i];
dizi[i] = dizi[j];
dizi[j] = temp;
}
}
}
for(i = 0; i < 10; i++){
printf("%d\n",dizi[i]);
}
return 0;
}
#include <stdio.h>
void kareal(int* x){
*x = (*x) * (*x);
}
int main(void){
int a = 10;
kareal(&a);
printf("Karesi: %d\n", a);
}
#include <stdio.h>
void hesapla(int a, int b, int (*f)(int f, int g)){
int c;
c = (*f)(a ,b);
printf("%d\n",c);
}
int toplama(int x, int y){
return x+y;
}
int cikarma(int x, int y){
return x-y;
}
int main(void){
int abc = 100;
int def = 200;
hesapla(abc, def, toplama);
hesapla(abc, def, cikarma);
return 0;
}
#include <stdio.h>
#include <string.h>
int main(void){
int i = 0;
for( i = 0; i < 256; i++){
putchar(i);
}
return 0;
}
#include <stdio.h>
#include <string.h>
int main(void){
char isim[100] = "Guray yildirim";
puts(isim);
printf("%s\nismi gir:", isim);
scanf("%s", isim);
puts(isim);
return 0;
}
#include <stdio.h>
#include <string.h>
int main(void){
char isim1[20] = "Guray";
char isim2[20] = "Eray";
char karma[100] = "İsimler: ";
int a;
if(strcmp(isim1,isim2) == 0)
printf("Karşılaştırma sonucu: Eşitler.\n");
strcat(karma,isim1);
strcat(karma, " - ");
strcat(karma,isim2);
puts(karma);
strcpy(isim1,isim2);
puts(isim1);
puts(isim2);
a = strcmp(isim1,isim2);
printf("Karşılaştırma sonucu: %d\n",a);
if(strcmp(isim1,isim2) == 0)
printf("Karşılaştırma sonucu: Eşitler.\n");
return 0;
}
#include <stdio.h>
int main(void){
char str[10];
str[0] = 'G';
str[1] = 'u';
str[2] = 'r';
str[3] = 'a';
str[4] = 'y';
str[5] = '\0';
}
#include <stdio.h>
#include <string.h>
struct calisan{
int id;
char adsoyad[100];
char tel[12];
};
int main(void){
struct calisan kisi1, kisi2;
strcpy(kisi1.adsoyad, "Kişi ismi 1" );
strcpy(kisi2.adsoyad, "Kişi ismi 2" );
puts(kisi1.adsoyad);
puts(kisi2.adsoyad);
kisi1.id = 1907;
kisi2.id = 1903;
printf("%d - %d\n", kisi1.id, kisi2.id);
return 0;
}
#include <stdio.h>
#include <string.h>
struct calisan{
int id;
char adsoyad[100];
char tel[12];
};
typedef struct calisan kisi;
void f(kisi *yapi);
int main(void){
kisi kisi1, kisi2;
strcpy(kisi1.adsoyad, "Kişi ismi 1" );
strcpy(kisi2.adsoyad, "Kişi ismi 2 );
kisi1.id = 1907;
kisi2.id = 1903;
printf("%d - %d\n", kisi1.id, kisi2.id);
f(&kisi1);
printf("%d\n", kisi1.id);
return 0;
}
void f(kisi *yapi){
puts(yapi->adsoyad);
(*yapi).id = 10;
printf("%d\n", yapi->id);
}
#include <stdio.h>
typedef unsigned char degisken; /* degisken a= 3; eşittir unsigned char a = 3;*/
union birlik{
int x;
float y;
//char z[20];
};
int main(void){
union birlik orn;
orn.x = 5;
printf("%d\n", orn.x);
orn.y = 10.3;
printf("%d\n", orn.x);
printf("%f\n", orn.y);
return 0;
}
#include <stdio.h>
typedef unsigned char degisken; /* degisken a= 3; = unsigned char a = 3;*/
void goster(unsigned char sayi);
int main(void){
/*
& and. 11 & 10 => 10
| or. 110 | 100 => 110
^ xor. 1100 ^ 1010 => 0110
~ not. 1010 => 0101
01010101
*/
unsigned char x = 123;
goster(x);
return 0;
}
void goster(unsigned char sayi){
unsigned int maske = 1 << 7;
int i;
for( i = 1; i <= 8; i++){
putchar(sayi&maske?'1':'0');
sayi <<= 1;
if(i%8 == 0)
putchar(' ');
}
}
#include <stdio.h>
enum mevsimler{SET_BY_DEFAULT, CLOSED_BY_SYSTEM, SONBAHAR, KIS};
int main(void){
int x = 1;
switch(x){
case SET_BY_DEFAULT:
printf("Varsayılan\n");
break;
case CLOSED_BY_SYSTEM:
printf("Kapandı\n");
break;
}
return 0;
}
#include <stdio.h>
int main(void){
FILE *yaz, *oku;
if((yaz = fopen("dosya.txt", "w")) == NULL){
printf("Dosya açılamadı.");
return 1;
}
/* write dosya yoksa oluşturur, varsa siler tekrar oluşturur.
append dosya yoksa oluşturur, varsa silmez, sonuna ekler. */
fprintf(yaz, "Merhaba dünya!\nby Birisi.");
fclose(yaz);
return 0;
}
#include <stdio.h>
int main(void){
FILE *yaz, *oku;
int n, dizi[5], i;
if((oku = fopen("data.txt", "r")) == NULL){
printf("Dosya açılamadı.");
return 1;
}
/* write dosya yoksa oluşturur, varsa siler tekrar oluşturur.
append dosya yoksa oluşturur, varsa silmez, sonuna ekler. */
fscanf(oku, "%d", &n);
printf("%d tane sayı okunacak.", n);
for( i = 0; i < n; i++ ){
fscanf(oku, "%d", &dizi[i]);
}
for(i = 0; i < n; i++){
printf("\n%d\n", dizi[i]);
}
fclose(oku);
return 0;
}
#include <stdio.h>
int main(void){
FILE *yaz, *oku;
int n, dizi[5], i;
if((oku = fopen("data.txt", "r")) == NULL){
printf("Dosya açılamadı.");
return 1;
}
/* write dosya yoksa oluşturur, varsa siler tekrar oluşturur.
append dosya yoksa oluşturur, varsa silmez, sonuna ekler. */
fscanf(oku, "%d", &n);
printf("%d tane sayı okunacak.", n);
while(!feof(oku)){
fscanf(oku, "%d", &n);
printf("%d\n",n);
}
fclose(oku);
return 0;
}
#include <stdio.h>
#include <string.h>
struct eleman{
int i;
char ad[100];
};
int main(void){
FILE *yaz, *oku;
int n, dizi[5], i;
if((yaz = fopen("veriler.db", "wb+")) == NULL){
printf("Dosya açılamadı.");
return 1;
}
struct eleman kisi;
for(i = 0; i < 100; i++){
kisi.i = i;
strcpy(kisi.ad, "Varsayilan");
fwrite(&kisi, sizeof(kisi), 1, yaz);
}
/* rewind(dosya); */
fseek(yaz, sizeof(kisi)*5, SEEK_SET);/*_END SONDAN, _CUR ŞU AN */
fread(&kisi, sizeof(kisi),1,yaz);
printf("%d - %s", kisi.i, kisi.ad);
fclose(yaz);
return 0;
}