Char Seriyasi

Char Seriyasi

char Ma'lumot Turi: char — bu C dasturlash tilida belgilarni saqlash uchun ishlatiladigan asosiy ma'lumot turi. Har bir char turi 1 bayt xotira egallaydi va ASCII jadvalidagi 256 ta belgidan birini ifodalashi mumkin.

Misol:

char belgi = 'A';

Char Qatorlar va Massivlar: Char qatorlari — bu ketma-ket joylashgan belgilar to'plami bo'lib, ular char massiv orqali saqlanadi. Qatorni yakunlash uchun oxirgi belgidan keyin \0 (null) belgisi qo'shiladi.

Misol:

char qator[] = "Salom";

Bu yerda "Salom" qatori char qator[] massivida saqlanadi va \0 bilan yakunlanadi.

Char bilan ishlash funksiyalari:

  1. strlen(): Bu funksiya qator uzunligini, ya'ni qator ichidagi belgilar sonini hisoblaydi (null belgidan tashqari).

    Misol:

    char str[] = "Hello";
    int uzunlik = strlen(str); // 5 qaytaradi
  2. strcpy(): Bir qatorni boshqa qatorga nusxalash uchun ishlatiladi.

    Misol:

    char manba[] = "Dasturlash";
    char manzil[20];
    strcpy(manzil, manba);
  3. strcat(): Ikkita qatorni birlashtirish uchun ishlatiladi.

    Misol:

    char qator1[20] = "Salom, ";
    char qator2[] = "Dunyo!";
    strcat(qator1, qator2); // "Salom, Dunyo!" natija
  4. strcmp(): Ikkita qatorni taqqoslaydi va ularning farqini aniqlaydi.

    Misol:

    char qator1[] = "abc";
    char qator2[] = "abc";
    int natija = strcmp(qator1, qator2); // 0 qaytaradi

Amaliy Misol:

Mana char massivlari va yuqoridagi funksiyalardan foydalanadigan kichik bir dastur:

#include <stdio.h>
#include <string.h>

int main() {
    char qator1[20] = "Salom";
    char qator2[20] = "Dunyo";

    printf("qator1 uzunligi: %lu\n", strlen(qator1));

    strcpy(qator2, qator1);
    printf("Nusxa qilingan qator: %s\n", qator2);

    strcat(qator1, " Dunyo");
    printf("Birlashtirilgan qator: %s\n", qator1);

    if (strcmp(qator1, qator2) == 0) {
        printf("Qatorlar bir xil.\n");
    } else {
        printf("Qatorlar farq qiladi.\n");
    }

    return 0;
}

Kod Tahlili:

  1. strlen(qator1) — Qatorning uzunligini hisoblaydi.

  2. strcpy(qator2, qator1)qator1 ni qator2 ga nusxalaydi.

  3. strcat(qator1, " Dunyo") — " Dunyo" ni qator1 ga birlashtiradi.

  4. strcmp(qator1, qator2) — Qatorlarni taqqoslaydi va ularning bir xil yoki farq qilganini aniqlaydi.

Bu amaliy misollar orqali char bilan ishlash asoslarini o'rganishingiz mumkin. Bu dasturda strlen(), strcpy(), strcat(), va strcmp() kabi asosiy funksiyalar tushuntirilgan.

Char Qatorlar va Belgilar Bilan Bog‘liq Funksiyalar

strncpy()

  • Ma'nosi: Bir qatorni boshqa qatorga nusxalaydi, lekin nusxa ko‘chirishda maksimal belgilar sonini ko'rsatishga imkon beradi.

  • Misol:

    char manba[] = "Dasturlash";
    char manzil[20];
    strncpy(manzil, manba, 4);  // "Dast"

strncat()

  • Ma'nosi: Bir qatorni boshqa qatorga birlashtiradi, lekin maksimal qo'shish uzunligini belgilashga imkon beradi.

  • Misol:

    char qator1[20] = "Salom";
    char qator2[] = " Dunyo!";
    strncat(qator1, qator2, 3);  // "Salom Dun"

strchr()

  • Ma'nosi: Berilgan belgini qator ichida qidiradi va uning birinchi uchragan joyini qaytaradi.

  • Misol:

    char str[] = "Salom";
    char *p = strchr(str, 'o');  // 'o' ni qidiradi

strstr()

  • Ma'nosi: Berilgan qatorni boshqa qator ichida qidiradi.

  • Misol:

    char str[] = "Salom Dunyo";
    char *p = strstr(str, "Dunyo");  // "Dunyo" ni qidiradi

Char Qatorlarni Kiritish va Chiqish Funksiyalari

gets()

  • Ma'nosi: Belgilar ketma-ketligini foydalanuvchidan kiritib oladi (faqat eski C standartlarida mavjud, xavfsiz emas).

  • Misol:

    char str[50];
    gets(str);  // Foydalanuvchidan qator kiritishni so'raydi

fgets()

  • Ma'nosi: Belgilarni fayldan yoki standart kirishdan (stdin) o'qiydi, lekin belgilangan uzunlikdan oshmasdan.

  • Misol:

    char str[50];
    fgets(str, 50, stdin);  // Foydalanuvchidan qator o'qiydi

Char Qatorlar Bilan Bog'liq Amaliy Masalalar:

  1. Qator uzunligini strlen() bilan hisoblang: Foydalanuvchi kiritgan qatorning uzunligini aniqlaydigan dastur yozing.

  2. Qatorlarni taqqoslash: Ikkita qatorni taqqoslab, ularning bir xil yoki farq qilishini aniqlovchi dastur yarating (strcmp() dan foydalaning).

  3. strncpy() bilan nusxalash: Foydalanuvchi tomonidan kiritilgan qatorni boshqa qatorga nusxalang va maksimal uzunlikni belgilang.

  4. Qatorni teskari aylantirish: strrev() funksiyasidan foydalanib, foydalanuvchi kiritgan qatorni teskari tartibda chiqaruvchi dastur yozing.

  5. Qatorni qidirish: Foydalanuvchi kiritgan qator ichida ma'lum bir belgi yoki belgilar ketma-ketligini qidiruvchi dastur yozing (strchr(), strstr()).

Xulosa:

char qatorlari C dasturlash tilida muhim o'rin tutadi va ular bilan ishlashni osonlashtiradigan ko'plab funksiyalar mavjud. strlen(), strcpy(), strcat(), va strcmp() kabi funksiyalar orqali qatorlar ustida turli amallar bajarish mumkin. Bundan tashqari, fgets() va strncpy() kabi funksiyalar yordamida xavfsiz qator kiritish va nusxalash amalga oshiriladi.

Last updated