SlideShare une entreprise Scribd logo
1  sur  26
Лекц №12
Сэдэв: Тэмдэгт мөр
Тэмдэгт мөр
Тэмдэгт мөр
Тэмдэгт
мөрийн
эхлэл
Тэмдэгт
мөрийг
зааглагч
“ ”
Хоосон
тэмдэгт мөр
“H” тэмдэгт
мөр
Тэмдэгт
мөрийн
төгсгөл
Тэмдэгт мөр
төрлийн массивын
төгсгөл биш
Массивын хэсэг
боловч мэмдэгт мөр
төрлийн хэсэг биш
Тэмдэгт ‘H’
Тэмдэгт мөр
Тэмдэгтийг дан хашилт ‘ ’ дотор, тэмдэгт мөрийг давхар хашилт “ “
дотор бичнэ.
Тэмдэгтийн зарлах char s[5];
Тэмдэгтэд анхны утга оноох
char c[] = "abcd";
char c[50] = "abcd";
char c[] = {'a', 'b', 'c', 'd', '0'};
char c[5] = {'a', 'b', 'c', 'd', '0'};
Тэмдэгт Тэмдэгт мөр
Тэмдэгт мөр
Жишээ №1: Тэмдэгтийг scanf(); функцээр гараас оруулах
#include <stdio.h>
int main()
{
char name[20];
printf("Enter name: ");
scanf("%s", name);
printf("Your name is %s.", name);
return 0;
}
Үр дүн:
Enter name: Dennis Ritchie
Your name is Dennis.
D e n n i s -
[0] [1] [2] [3] [4] [5] [6]name
Утга
Дээрх жишээнд Dennis Ritchie гэсэн
тэмдэгт мөрний зөвхөн "Dennis"
хадгалагдаж байна. "Dennis" дараа
хоосон зай авсанаас хойшх тэмдэг
мөр хадгалагдахгүй.
Тэмдэгт мөр
Жишээ №2: Тэмдэгтийг fgets() функцээр гараас оруулж, puts()
хэвлэх
#include <stdio.h>
int main()
{
char name[30];
printf("Enter name: ");
fgets(name, sizeof(name), stdin); // read string
printf("Name: "); puts(name); // display string
return 0;
}
Үр дүн:
Enter name: Tom Hanks
Name: Tom Hanks
T o m H a n k s
[0] [1] [2] [3] [4] [5] [6] [7] [8]name
Утга
Хэрэглэгчийн оруулсан мөрийг уншихын тулд fgets() функцийг ашигласан
болно.
Тэмдэгт мөр
fgets() функцын бичигдэх хэлбэр
fgets(нэр, sizeof(нэр), stdin); // read string
sizeof(name) дээд тал нь 30 тэмдэгт авах боломжтой.
Мөрийг хэвлэхийн тулд бид puts(name); -ийг ашигласан болно.
Тэмдэглэл: get() функц нь хэрэглэгчийн оролтыг авах явдал байж болно.
Гэсэн хэдий ч С стандартаас хасагдсан болно.
Get() нь дурын урт тэмдэгт оруулах боломжийг олгодогтой холбоотой юм.
Тиймээс буфер хальж магадгүй юм.
Тэмдэгт мөр
Жишээлбэл: Тэмдэгтийн мөрийг хэвлэх
Тэмдэгт мөр
Тэмдэгт мөр
Тэмдэгт мөрийг ашиглахаас өмнө тэмдэгт мөрт зориулсан санах ойг
хуваарилах ёстой.
Тэмдэгт мөртэй
ажилладаг
функцууд
Тэмдэгт мөр
Мөртэй ажилладаг функцууд
C <string.h> толгой файл нь тэмдэгт мөрүүдтэй ажиллах дараах
функцуудтай.
Мөрийг хуулбарлах strcpy();
Бичигдэх хэлбэр
char* strcpy(char* s1, const char* s2);
Үйлдэл: s2 мөрийг s1 мөр рүү хуулна.
Мөрүүдийг нэгтгэх strcat();
Бичигдэх хэлбэр
char* strcat(char* s1, const char* s2);
Үйлдэл: S2 мөрийг s1 мөрний төгсгөлд холбоно.
Тэмдэгт мөр
Мөрийн уртыг олох strlen();
Бичигдэх хэлбэр
char* strlen(char* s1);
Үйлдэл: S1 мөрийн уртыг буцаана.
Мөрийг харьцуулах strcmp();
Бичигдэх хэлбэр
char* strcmp(char* s1, const char* s2);
Үйлдэл: s1 ба s2 ижил байвал 0 буцаана; s1<s2 бол 0-ээс бага; s1> s2 бол
0-ээс их.
Жич: Хэрэглэгч s2 тэмдэгт мөрүүдийг гараас оруулж дуусаад 0 тэмдэгтийг
оруулснаар тэмдэгт мөр дуусна.
Тэмдэгт мөртэй
ажиллах
/функц ашиглаагүй
жишээ/
Тэмдэгт мөр
Жишээ №3: Мөр дэх тэмдэгтүүдийн давтамжийг олох
1. #include <stdio.h>
2. int main() {
3. char str[1000], ch; int count = 0;
4. printf("Enter a string: ");
5. fgets(str, sizeof(str), stdin);
6. printf("Enter a character to find its frequency: ");
7. scanf("%c", &ch);
8. for (int i = 0; str[i] != '0'; ++i)
9. {
10. if (ch == str[i]) ++count;
11.}
12.printf("Frequency of %c = %d", ch, count);
13.return 0;
14.}
Үр дүн:
Enter a string: This website is awesome.
Enter a character to find its frequency: e
Frequency of e = 4
Тэмдэгт мөр
Жишээ №4: Мөр дэх тэмдэгтүүдээс эгшиг, гийгүүлэгч, тоог олох
1. include <stdio.h>
2. int main() {
3. char line[150]; int vowels, consonant, digit, space;
4. vowels = consonant = digit = space = 0;
5. printf("Enter a line of string: ");
6. fgets(line, sizeof(line), stdin);
7. for (int i = 0; line[i] != '0'; ++i) {
8. if (line[i] == 'a' || line[i] == 'e' || line[i] == 'i' || line[i] == 'o' || line[i] == 'u' ||
9. line[i] == 'A' || line[i] == 'E' || line[i] == 'I' || line[i] == 'O' || line[i] == 'U')
10. { ++vowels; }
11. else if ((line[i] >= 'a' && line[i] <= 'z') || (line[i] >= 'A' && line[i] <= 'Z'))
12. { ++consonant; }
13. else if (line[i] >= '0' && line[i] <= '9') { ++digit; } else if (line[i] == ' ')
14. { ++space; } }
15. printf("Vowels: %d", vowels);
16. printf("nConsonants: %d", consonant);
17. printf("nDigits: %d", digit);
18. printf("nWhite spaces: %d", space);
19. return 0; }
Үр дүн:
Enter a line of string: adfslkj34 34lkj343 34lk
Vowels: 1
Consonants: 11
Digits: 9
White spaces: 2
Тэмдэгт мөр
Жишээ №5: Бичсэн өгүүлбэрийг дэд функц буюу рекурс ашиглан
урвуу хэлбэр рүү шилжүүлэх
1. #include <stdio.h>
2. void reverseSentence();
3. int main() {
4. printf("Enter a sentence: ");
5. reverseSentence(); return 0;
6. }
7. void reverseSentence()
8. {
9. char c; scanf("%c", &c);
10.if (c != 'n') { reverseSentence(); printf("%c", c); }
11.}
Үр дүн:
Enter a sentence: margorp emosewa
awesome program
Тэмдэгт мөр
Жишээ №6: Мөрийн уртыг олох
1. #include <stdio.h>
2. int main()
3. {
4. char s[] = "Programming is fun";
5. int i; for (i = 0; s[i] != '0'; ++i);
6. printf("Length of the string: %d", i);
7. return 0;
8. }
Үр дүн:
Length of the string: 18
Тэмдэгт мөр
Жишээ №7: Хоёр мөрийг нэгтгэх
1. #include <stdio.h>
2. int main() {
3. char s1[100] = "programming ", s2[] = "is awesome"; int length, j;
4. // store length of s1 in the length variable
5. length = 0;
6. while (s1[length] != '0') { ++length; }
7. // concatenate s2 to s1
8. for (j = 0; s2[j] != '0'; ++j, ++length)
9. { s1[length] = s2[j]; }
10. // terminating the s1 string
11. s1[length] = '0';
12. printf("After concatenation: ");
13. puts(s1);
14. return 0; }
Үр дүн:
After concatenation:
programming is awesome
Тэмдэгт мөр
Жишээ №8: Мөрийг хуулбарлах
1. #include <stdio.h>
2. int main()
3. {
4. char s1[100], s2[100], i;
5. printf("Enter string s1: ");
6. fgets(s1, sizeof(s1), stdin);
7. for (i = 0; s1[i] != '0'; ++i)
8. { s2[i] = s1[i]; }
9. s2[i] = '0';
10. printf("String s2: %s", s2);
11. return 0;
12. }
Үр дүн:
Enter string s1: Hey fellow programmer.
String s2: Hey fellow programmer.
1. #include <stdio.h>
2. int main() {
3. char line[150];
4. printf("Enter a string: ");
5. fgets(line, sizeof(line), stdin); // take input
6. for (int i = 0, j; line[i] != '0'; ++i) {
7. // enter the loop if the character is not an alphabet
8. // and not the null character
9. while (!(line[i] >='a' && line[i] <='z') && !(line[i] >='A' && line[i] <='Z') && !(line[i] =='0'))
10. { for (j = i; line[j] != '0'; ++j) {
11. // if jth element of line is not an alphabet,
12. // assign the value of (j+1)th element to the jth element
13. line[j] = line[j + 1]; } line[j] = '0'; } }
14. printf("Output String: ");
15. puts(line);
16. return 0; }
Тэмдэгт мөр
Жишээ №9: Цагаан толгойноос бусад тэмдэгт тэмдэгтүүдийг устгах
Үр дүн:
Enter a string: p2'r-o@gram84iz./
Output String: programiz
Тэмдэгт мөртэй
ажиллах
/функц ашигласан
жишээ/
Тэмдэгт мөр
Жишээ №10: Мөрийн уртыг strlen() функц ашиглах олох
1. #include <stdio.h>
2. #include <string.h>
3. int main() {
4. char a[20]="Program";
5. char b[20]={'P','r','o','g','r','a','m','0'};
6. // using the %zu format specifier to print size_t
7. printf("Length of string a = %zu n",strlen(a));
8. printf("Length of string b = %zu n",strlen(b));
9. return 0;
10.}
Үр дүн:
Length of string a = 7
Length of string b = 7
Тэмдэгт мөр
Жишээ №11: Strcat() ашиглан хоёр мөрийг нэгтгэх
1. #include <stdio.h>
2. #include <string.h>
3. int main() {
4. char str1[100] = “Programming", str2[] = “C 2020";
5. // concatenates str1 and str2
6. // the resultant string is stored in str1.
7. strcat(str1, str2);
8. puts(str1);
9. puts(str2);
10.return 0; }
Үр дүн:
Programming C 2020
Programming
Тэмдэгт мөр
Жишээ №12: Strcpy() ашиглан мөрийг хуулбарлах
1. #include <stdio.h>
2. #include <string.h>
3. int main()
4. {
5. char str1[] = "abcd", str2[] = "abCd", str3[] = "abcd";
6. int result;
7. // comparing strings str1 and str2
8. result = strcmp(str1, str2);
9. printf("strcmp(str1, str2) = %dn", result);
10.// comparing strings str1 and str3
11.result = strcmp(str1, str3);
12.printf("strcmp(str1, str3) = %dn", result);
13.return 0;
14. }
Үр дүн:
C programming
#include <stdio.h>
#include <string.h>
int main() {
char str1[] = "abcd", str2[] = "abCd", str3[] = "abcd";
int result;
// comparing strings str1 and str2
result = strcmp(str1, str2);
printf("strcmp(str1, str2) = %dn", result);
// comparing strings str1 and str3
result = strcmp(str1, str3);
printf("strcmp(str1, str3) = %dn", result);
return 0;
}
Тэмдэгт мөр
Жишээ №13: strcmp() функц ашиглан мөрүүдийг харьцуулах
Үр дүн:
strcmp(str1, str2) = 32
strcmp(str1, str3) = 0
Тайлбар:
str1 ба str2 мөрүүдийн хоорондох
харьцуулахад гурав дахь тэмдэгт ‘с' -ийн
ASCII утга 99, 'C' -ийн ASCII утга 67
байна. Тиймээс буцах утга 32 болно.
Str1 ба str3 мөрүүдийг харьцуулж үзэхэд
хоёр мөр адилхан тул үр дүн нь 0 болно.

Contenu connexe

Tendances

9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
Bayalagmaa Davaanyam
 
U.cs101 алгоритм программчлал-13
U.cs101   алгоритм программчлал-13U.cs101   алгоритм программчлал-13
U.cs101 алгоритм программчлал-13
Badral Khurelbaatar
 
Салаалсан алгоритмын бодлогууд
Салаалсан алгоритмын бодлогуудСалаалсан алгоритмын бодлогууд
Салаалсан алгоритмын бодлогууд
Баярсайхан Л
 
си хэлний ойлголт
си хэлний ойлголтси хэлний ойлголт
си хэлний ойлголт
badral_0430
 
алгоритмын бодлогууд
алгоритмын бодлогуудалгоритмын бодлогууд
алгоритмын бодлогууд
Renchindorj Monkhzul
 
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
Bayalagmaa Davaanyam
 

Tendances (20)

9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
 
Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2Ci prog tolgoi file хичээл 2
Ci prog tolgoi file хичээл 2
 
U.cs101 алгоритм программчлал-3
U.cs101   алгоритм программчлал-3U.cs101   алгоритм программчлал-3
U.cs101 алгоритм программчлал-3
 
C cons
C consC cons
C cons
 
U.cs101 алгоритм программчлал-13
U.cs101   алгоритм программчлал-13U.cs101   алгоритм программчлал-13
U.cs101 алгоритм программчлал-13
 
C
CC
C
 
Лекц 9(Заагч)
Лекц 9(Заагч)Лекц 9(Заагч)
Лекц 9(Заагч)
 
Лекц №10
Лекц №10Лекц №10
Лекц №10
 
Lecture 4 нийлмэл удамшил
Lecture 4 нийлмэл удамшилLecture 4 нийлмэл удамшил
Lecture 4 нийлмэл удамшил
 
Лекц №6
Лекц №6Лекц №6
Лекц №6
 
Салаалсан алгоритмын бодлогууд
Салаалсан алгоритмын бодлогуудСалаалсан алгоритмын бодлогууд
Салаалсан алгоритмын бодлогууд
 
u.cs101 "Алгоритм ба програмчлал" Лекц №7
u.cs101 "Алгоритм ба програмчлал" Лекц №7u.cs101 "Алгоритм ба програмчлал" Лекц №7
u.cs101 "Алгоритм ба програмчлал" Лекц №7
 
си хэлний ойлголт
си хэлний ойлголтси хэлний ойлголт
си хэлний ойлголт
 
алгоритмын бодлогууд
алгоритмын бодлогуудалгоритмын бодлогууд
алгоритмын бодлогууд
 
Massiv presentation
Massiv presentationMassiv presentation
Massiv presentation
 
алгоритм 8
алгоритм 8алгоритм 8
алгоритм 8
 
9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд9.эрэмбэлэлтийн аргууд
9.эрэмбэлэлтийн аргууд
 
Лекц №8
Лекц №8Лекц №8
Лекц №8
 
Өгөгдлийн бүтэц 1
Өгөгдлийн бүтэц 1Өгөгдлийн бүтэц 1
Өгөгдлийн бүтэц 1
 
Lab3 it101
Lab3 it101Lab3 it101
Lab3 it101
 

Similaire à Лекц №12 (17)

Mzui
MzuiMzui
Mzui
 
Лекц №13
Лекц №13Лекц №13
Лекц №13
 
C lects (1)
C lects (1)C lects (1)
C lects (1)
 
Hylbar shugaman programmuud хичээл 4
Hylbar shugaman programmuud хичээл 4Hylbar shugaman programmuud хичээл 4
Hylbar shugaman programmuud хичээл 4
 
баяраа сургалт
баяраа сургалтбаяраа сургалт
баяраа сургалт
 
U.cs101 лаборатори 8
U.cs101 лаборатори 8U.cs101 лаборатори 8
U.cs101 лаборатори 8
 
Лаборатор-3
Лаборатор-3Лаборатор-3
Лаборатор-3
 
си хэл 10
си хэл 10си хэл 10
си хэл 10
 
с++ хэл
с++ хэлс++ хэл
с++ хэл
 
Day 3 php working with string, number
Day 3   php working with string, numberDay 3   php working with string, number
Day 3 php working with string, number
 
Excel 2007
Excel 2007Excel 2007
Excel 2007
 
Microsoft excel
Microsoft excelMicrosoft excel
Microsoft excel
 
лекц4
лекц4лекц4
лекц4
 
U.cs101 алгоритм программчлал-12
U.cs101   алгоритм программчлал-12U.cs101   алгоритм программчлал-12
U.cs101 алгоритм программчлал-12
 
Presentation1
Presentation1Presentation1
Presentation1
 
Unshih hewleh uildel хичээл 3
Unshih hewleh uildel хичээл 3Unshih hewleh uildel хичээл 3
Unshih hewleh uildel хичээл 3
 
үндсэн функцууд
үндсэн функцуудүндсэн функцууд
үндсэн функцууд
 

Plus de Amarsaikhan Tuvshinbayar (14)

U.it101 lec2
U.it101 lec2U.it101 lec2
U.it101 lec2
 
U.it101 lec1
U.it101 lec1U.it101 lec1
U.it101 lec1
 
Лекц №16
Лекц №16Лекц №16
Лекц №16
 
Лекц №15
Лекц №15Лекц №15
Лекц №15
 
Лекц №14
Лекц №14Лекц №14
Лекц №14
 
Лекц №9
Лекц №9Лекц №9
Лекц №9
 
Лекц №7
Лекц №7Лекц №7
Лекц №7
 
Лекц №5
Лекц №5Лекц №5
Лекц №5
 
Лекц №4
Лекц №4Лекц №4
Лекц №4
 
Лекц №3
Лекц №3Лекц №3
Лекц №3
 
Лекц №2
Лекц №2Лекц №2
Лекц №2
 
Лекц №1
Лекц №1Лекц №1
Лекц №1
 
U.IT101 homework 1
U.IT101 homework 1U.IT101 homework 1
U.IT101 homework 1
 
U.CS101
U.CS101U.CS101
U.CS101
 

Лекц №12

  • 3. Тэмдэгт мөр Тэмдэгт мөрийн эхлэл Тэмдэгт мөрийг зааглагч “ ” Хоосон тэмдэгт мөр “H” тэмдэгт мөр Тэмдэгт мөрийн төгсгөл Тэмдэгт мөр төрлийн массивын төгсгөл биш Массивын хэсэг боловч мэмдэгт мөр төрлийн хэсэг биш Тэмдэгт ‘H’
  • 4. Тэмдэгт мөр Тэмдэгтийг дан хашилт ‘ ’ дотор, тэмдэгт мөрийг давхар хашилт “ “ дотор бичнэ. Тэмдэгтийн зарлах char s[5]; Тэмдэгтэд анхны утга оноох char c[] = "abcd"; char c[50] = "abcd"; char c[] = {'a', 'b', 'c', 'd', '0'}; char c[5] = {'a', 'b', 'c', 'd', '0'}; Тэмдэгт Тэмдэгт мөр
  • 5. Тэмдэгт мөр Жишээ №1: Тэмдэгтийг scanf(); функцээр гараас оруулах #include <stdio.h> int main() { char name[20]; printf("Enter name: "); scanf("%s", name); printf("Your name is %s.", name); return 0; } Үр дүн: Enter name: Dennis Ritchie Your name is Dennis. D e n n i s - [0] [1] [2] [3] [4] [5] [6]name Утга Дээрх жишээнд Dennis Ritchie гэсэн тэмдэгт мөрний зөвхөн "Dennis" хадгалагдаж байна. "Dennis" дараа хоосон зай авсанаас хойшх тэмдэг мөр хадгалагдахгүй.
  • 6. Тэмдэгт мөр Жишээ №2: Тэмдэгтийг fgets() функцээр гараас оруулж, puts() хэвлэх #include <stdio.h> int main() { char name[30]; printf("Enter name: "); fgets(name, sizeof(name), stdin); // read string printf("Name: "); puts(name); // display string return 0; } Үр дүн: Enter name: Tom Hanks Name: Tom Hanks T o m H a n k s [0] [1] [2] [3] [4] [5] [6] [7] [8]name Утга Хэрэглэгчийн оруулсан мөрийг уншихын тулд fgets() функцийг ашигласан болно.
  • 7. Тэмдэгт мөр fgets() функцын бичигдэх хэлбэр fgets(нэр, sizeof(нэр), stdin); // read string sizeof(name) дээд тал нь 30 тэмдэгт авах боломжтой. Мөрийг хэвлэхийн тулд бид puts(name); -ийг ашигласан болно. Тэмдэглэл: get() функц нь хэрэглэгчийн оролтыг авах явдал байж болно. Гэсэн хэдий ч С стандартаас хасагдсан болно. Get() нь дурын урт тэмдэгт оруулах боломжийг олгодогтой холбоотой юм. Тиймээс буфер хальж магадгүй юм.
  • 10. Тэмдэгт мөр Тэмдэгт мөрийг ашиглахаас өмнө тэмдэгт мөрт зориулсан санах ойг хуваарилах ёстой.
  • 12. Тэмдэгт мөр Мөртэй ажилладаг функцууд C <string.h> толгой файл нь тэмдэгт мөрүүдтэй ажиллах дараах функцуудтай. Мөрийг хуулбарлах strcpy(); Бичигдэх хэлбэр char* strcpy(char* s1, const char* s2); Үйлдэл: s2 мөрийг s1 мөр рүү хуулна. Мөрүүдийг нэгтгэх strcat(); Бичигдэх хэлбэр char* strcat(char* s1, const char* s2); Үйлдэл: S2 мөрийг s1 мөрний төгсгөлд холбоно.
  • 13. Тэмдэгт мөр Мөрийн уртыг олох strlen(); Бичигдэх хэлбэр char* strlen(char* s1); Үйлдэл: S1 мөрийн уртыг буцаана. Мөрийг харьцуулах strcmp(); Бичигдэх хэлбэр char* strcmp(char* s1, const char* s2); Үйлдэл: s1 ба s2 ижил байвал 0 буцаана; s1<s2 бол 0-ээс бага; s1> s2 бол 0-ээс их. Жич: Хэрэглэгч s2 тэмдэгт мөрүүдийг гараас оруулж дуусаад 0 тэмдэгтийг оруулснаар тэмдэгт мөр дуусна.
  • 15. Тэмдэгт мөр Жишээ №3: Мөр дэх тэмдэгтүүдийн давтамжийг олох 1. #include <stdio.h> 2. int main() { 3. char str[1000], ch; int count = 0; 4. printf("Enter a string: "); 5. fgets(str, sizeof(str), stdin); 6. printf("Enter a character to find its frequency: "); 7. scanf("%c", &ch); 8. for (int i = 0; str[i] != '0'; ++i) 9. { 10. if (ch == str[i]) ++count; 11.} 12.printf("Frequency of %c = %d", ch, count); 13.return 0; 14.} Үр дүн: Enter a string: This website is awesome. Enter a character to find its frequency: e Frequency of e = 4
  • 16. Тэмдэгт мөр Жишээ №4: Мөр дэх тэмдэгтүүдээс эгшиг, гийгүүлэгч, тоог олох 1. include <stdio.h> 2. int main() { 3. char line[150]; int vowels, consonant, digit, space; 4. vowels = consonant = digit = space = 0; 5. printf("Enter a line of string: "); 6. fgets(line, sizeof(line), stdin); 7. for (int i = 0; line[i] != '0'; ++i) { 8. if (line[i] == 'a' || line[i] == 'e' || line[i] == 'i' || line[i] == 'o' || line[i] == 'u' || 9. line[i] == 'A' || line[i] == 'E' || line[i] == 'I' || line[i] == 'O' || line[i] == 'U') 10. { ++vowels; } 11. else if ((line[i] >= 'a' && line[i] <= 'z') || (line[i] >= 'A' && line[i] <= 'Z')) 12. { ++consonant; } 13. else if (line[i] >= '0' && line[i] <= '9') { ++digit; } else if (line[i] == ' ') 14. { ++space; } } 15. printf("Vowels: %d", vowels); 16. printf("nConsonants: %d", consonant); 17. printf("nDigits: %d", digit); 18. printf("nWhite spaces: %d", space); 19. return 0; } Үр дүн: Enter a line of string: adfslkj34 34lkj343 34lk Vowels: 1 Consonants: 11 Digits: 9 White spaces: 2
  • 17. Тэмдэгт мөр Жишээ №5: Бичсэн өгүүлбэрийг дэд функц буюу рекурс ашиглан урвуу хэлбэр рүү шилжүүлэх 1. #include <stdio.h> 2. void reverseSentence(); 3. int main() { 4. printf("Enter a sentence: "); 5. reverseSentence(); return 0; 6. } 7. void reverseSentence() 8. { 9. char c; scanf("%c", &c); 10.if (c != 'n') { reverseSentence(); printf("%c", c); } 11.} Үр дүн: Enter a sentence: margorp emosewa awesome program
  • 18. Тэмдэгт мөр Жишээ №6: Мөрийн уртыг олох 1. #include <stdio.h> 2. int main() 3. { 4. char s[] = "Programming is fun"; 5. int i; for (i = 0; s[i] != '0'; ++i); 6. printf("Length of the string: %d", i); 7. return 0; 8. } Үр дүн: Length of the string: 18
  • 19. Тэмдэгт мөр Жишээ №7: Хоёр мөрийг нэгтгэх 1. #include <stdio.h> 2. int main() { 3. char s1[100] = "programming ", s2[] = "is awesome"; int length, j; 4. // store length of s1 in the length variable 5. length = 0; 6. while (s1[length] != '0') { ++length; } 7. // concatenate s2 to s1 8. for (j = 0; s2[j] != '0'; ++j, ++length) 9. { s1[length] = s2[j]; } 10. // terminating the s1 string 11. s1[length] = '0'; 12. printf("After concatenation: "); 13. puts(s1); 14. return 0; } Үр дүн: After concatenation: programming is awesome
  • 20. Тэмдэгт мөр Жишээ №8: Мөрийг хуулбарлах 1. #include <stdio.h> 2. int main() 3. { 4. char s1[100], s2[100], i; 5. printf("Enter string s1: "); 6. fgets(s1, sizeof(s1), stdin); 7. for (i = 0; s1[i] != '0'; ++i) 8. { s2[i] = s1[i]; } 9. s2[i] = '0'; 10. printf("String s2: %s", s2); 11. return 0; 12. } Үр дүн: Enter string s1: Hey fellow programmer. String s2: Hey fellow programmer.
  • 21. 1. #include <stdio.h> 2. int main() { 3. char line[150]; 4. printf("Enter a string: "); 5. fgets(line, sizeof(line), stdin); // take input 6. for (int i = 0, j; line[i] != '0'; ++i) { 7. // enter the loop if the character is not an alphabet 8. // and not the null character 9. while (!(line[i] >='a' && line[i] <='z') && !(line[i] >='A' && line[i] <='Z') && !(line[i] =='0')) 10. { for (j = i; line[j] != '0'; ++j) { 11. // if jth element of line is not an alphabet, 12. // assign the value of (j+1)th element to the jth element 13. line[j] = line[j + 1]; } line[j] = '0'; } } 14. printf("Output String: "); 15. puts(line); 16. return 0; } Тэмдэгт мөр Жишээ №9: Цагаан толгойноос бусад тэмдэгт тэмдэгтүүдийг устгах Үр дүн: Enter a string: p2'r-o@gram84iz./ Output String: programiz
  • 23. Тэмдэгт мөр Жишээ №10: Мөрийн уртыг strlen() функц ашиглах олох 1. #include <stdio.h> 2. #include <string.h> 3. int main() { 4. char a[20]="Program"; 5. char b[20]={'P','r','o','g','r','a','m','0'}; 6. // using the %zu format specifier to print size_t 7. printf("Length of string a = %zu n",strlen(a)); 8. printf("Length of string b = %zu n",strlen(b)); 9. return 0; 10.} Үр дүн: Length of string a = 7 Length of string b = 7
  • 24. Тэмдэгт мөр Жишээ №11: Strcat() ашиглан хоёр мөрийг нэгтгэх 1. #include <stdio.h> 2. #include <string.h> 3. int main() { 4. char str1[100] = “Programming", str2[] = “C 2020"; 5. // concatenates str1 and str2 6. // the resultant string is stored in str1. 7. strcat(str1, str2); 8. puts(str1); 9. puts(str2); 10.return 0; } Үр дүн: Programming C 2020 Programming
  • 25. Тэмдэгт мөр Жишээ №12: Strcpy() ашиглан мөрийг хуулбарлах 1. #include <stdio.h> 2. #include <string.h> 3. int main() 4. { 5. char str1[] = "abcd", str2[] = "abCd", str3[] = "abcd"; 6. int result; 7. // comparing strings str1 and str2 8. result = strcmp(str1, str2); 9. printf("strcmp(str1, str2) = %dn", result); 10.// comparing strings str1 and str3 11.result = strcmp(str1, str3); 12.printf("strcmp(str1, str3) = %dn", result); 13.return 0; 14. } Үр дүн: C programming
  • 26. #include <stdio.h> #include <string.h> int main() { char str1[] = "abcd", str2[] = "abCd", str3[] = "abcd"; int result; // comparing strings str1 and str2 result = strcmp(str1, str2); printf("strcmp(str1, str2) = %dn", result); // comparing strings str1 and str3 result = strcmp(str1, str3); printf("strcmp(str1, str3) = %dn", result); return 0; } Тэмдэгт мөр Жишээ №13: strcmp() функц ашиглан мөрүүдийг харьцуулах Үр дүн: strcmp(str1, str2) = 32 strcmp(str1, str3) = 0 Тайлбар: str1 ба str2 мөрүүдийн хоорондох харьцуулахад гурав дахь тэмдэгт ‘с' -ийн ASCII утга 99, 'C' -ийн ASCII утга 67 байна. Тиймээс буцах утга 32 болно. Str1 ба str3 мөрүүдийг харьцуулж үзэхэд хоёр мөр адилхан тул үр дүн нь 0 болно.