Recommended
PDF
PDF
PPS
Sw203 Lecture6 Inheritance
DOCX
PPTX
C++ vndsen oilgolt хичээл 1
PPTX
Ci prog tolgoi file хичээл 2
PPSX
PPTX
PDF
PDF
PPSX
PDF
Мэдээлэл, мэдээллийг хэмжих нэгж
DOCX
PPTX
Нээлттэй чөлөөт эхийн програм хангамж
PDF
DOCX
PDF
DOCX
мэдээлэл зүйн жишиг даалгавар 8 р анги
PPTX
U.cs101 алгоритм программчлал-5 zasvar badral(1)
PPTX
U.cs101 алгоритм программчлал-1(1)
PPTX
өгөгдлийн сангийн системийн үндэс
PPTX
PPTX
U.cs101 алгоритм программчлал-13
PPT
PPTX
U.cs101 алгоритм программчлал-3
PPT
PPTX
U.cs101 алгоритм программчлал-10
PPTX
PDF
u.cs101 "Алгоритм ба програмчлал" Лекц №7
PPTX
More Related Content
PDF
PDF
PPS
Sw203 Lecture6 Inheritance
DOCX
PPTX
C++ vndsen oilgolt хичээл 1
PPTX
Ci prog tolgoi file хичээл 2
PPSX
PPTX
What's hot
PDF
PDF
PPSX
PDF
Мэдээлэл, мэдээллийг хэмжих нэгж
DOCX
PPTX
Нээлттэй чөлөөт эхийн програм хангамж
PDF
DOCX
PDF
DOCX
мэдээлэл зүйн жишиг даалгавар 8 р анги
PPTX
U.cs101 алгоритм программчлал-5 zasvar badral(1)
PPTX
U.cs101 алгоритм программчлал-1(1)
PPTX
өгөгдлийн сангийн системийн үндэс
PPTX
PPTX
U.cs101 алгоритм программчлал-13
PPT
PPTX
U.cs101 алгоритм программчлал-3
PPT
PPTX
U.cs101 алгоритм программчлал-10
PPTX
Similar to Лекц №12
PDF
u.cs101 "Алгоритм ба програмчлал" Лекц №7
PPTX
PPTX
U.cs101 алгоритм программчлал-12
PPTX
PPT
PDF
PPT
PPTX
C++ vndsen oilgolt хичээл 1
PDF
PPTX
Unshih hewleh uildel хичээл 3
DOCX
ODP
PPT
DOC
DOC
PDF
PDF
PPT
Day 3 php working with string, number
PPTX
PDF
More from Amarsaikhan Tuvshinbayar
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PPTX
PPTX
PPTX
PDF
PDF
PPTX
PDF
Лекц №12 1. 2. 3. 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() нь дурын урт тэмдэгт оруулах боломжийг олгодогтой холбоотой юм.
Тиймээс буфер хальж магадгүй юм.
8. 9. 10. 11. 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 тэмдэгтийг
оруулснаар тэмдэгт мөр дуусна.
14. 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
22. 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 болно.