10-7장 문자(열) 처리 라이브러리(암기는 필요 없으나, 뭐하는 함수인지는 알아야함)
문자 처리 라이브러리 함수 #include ctype.h>함수설명isalpha(c)c가 영문자인가?(a-z, A-Z)isupper(c)c가 대문자인가?(A-Z)islower(c)c가 소문자인가?(a-z)isdigit(c)c가 숫자인가?(0-9)isalnum(c)c가 영문자이나 숫자인가?(a-z, A-Z, 0-9)isxdigit(c)c가 16진수의 숫자인가?(0-9, A-F, a-f)isspace(c)c가 공백문자인가?(‘ ’, ‘\n', '\t', '\v', '\r')ispunct(c)c가 구두점 문자인가?isprint(c)C가 출력가능한 문자인가?iscntrl(c)c가 제어 문자인가?isascii(c)c가 아스키 코드인가?toupper(c)c를 대문자로 바꾼다.tolower(c)c를 소문자로 바꾼다...
2024. 11. 5.
10-6장 문자열의 배열
문자열의 배열을 이용해서 각 문자열의 문자들은 행이 되고, 문자열 들의 개수는 열이된다. char 문자열 명[문자열 개수][문자열 중 최대 문자의 길이 + 1] = { "" , "" , "", ... }char s[3][6] = { "init", "open", "close"}; 반복문을 통해서 문자열의 배열(2차원 배열) 출력하기#include int main() { int i, j; char menu[5][10] = { "init", "open", "close", "read", "write" }; for (i = 0; i 이렇게 각 행의 길이를 매번 최대 길이 + 1을 계산해서 정해주기란 불편하다. 따라서 C에서는 각 행의 길..
2024. 11. 5.
10-4장 문자열을 수치로 변환
atoi(문자열): 특정 숫자 형태의 문자열을 정수로 변경해주는 것 sscanf(문자열, "%d", 정수형 변수) ⭐️⭐️⭐️: 특정 숫자 형태의 문자열을 정수형 변수에 저장해주는것 sprintf(문자열 변수, "%d", 정수) ⭐️⭐️⭐️: 특정 숫자를 문자열 변수에 저장해주는 것 #include #include int main(){ char s[] = "100"; char t[100] = ""; int i; printf("%d\n", atoi("100")); sscanf(s, "%d", &i); //문자열을 정수로 변경해서 저장 sprintf(t, "%d", 102); //정수를 문자열로 변경해서 저장 printf("i: %d\n", i); //i: 100 ..
2024. 11. 4.
9-4장 배열과 포인터
배열의 이름이 바로 포인터이다. 즉, 배열은 따로 주소가 없이 배열 이름자체가 주소이다. #includeint main(){ int a[] = {10, 20, 30, 40, 50}; printf("배열의 이름 = %u\n", a); // 배열의 이름 = 1868132144 printf("첫 번째 원소의 주소 = %u\n", &a[0]); // 첫 번째 원소의 주소 = 1868132144} 따라서, 포인터도 배열처럼 사용할 수 있다. #includeint main(){ int a[] = {10, 20, 30, 40, 50}; int *p; p=a; printf("a의 첫 번째 원소 = %u\n", a[0]); // 10 printf("p의 첫..
2024. 10. 28.
7장 배열
1. 중간 점검 퀴즈(1)Quiz 1) n개의 요소를 가지는 배열의 경우, 첫 번째 요소의 번호는 무엇인가?: 0 Quiz 2) n개의 요소를 가지는 배열의 경우, 마지막 요소의 번호는 무엇인가?: n - 1 Quiz 3) 범위를 벗어나는 인덱스를 사용하면 어떻게 되는가? 즉, int a[10];과 같이 선언된 배열이 있는 경우, a[10]에 6을 대입하면 어떻게 되는가?: 배열 인덱스 범위 초과 오류가 생긴다. 2. 중간 점검 퀴즈(2)Quiz 1) 배열 a[6]의 요소를 1, 2, 3, 4, 5, 6으로 초기화int a[6] = {1, 2, 3, 4, 5, 6}; Quiz 2) 배열의 초기화에서 초기값이 배열 요소의 개수보다 적은 경우: 배열 요소보다 초기화 값이 적으면 나머지 요소는 0으로 초..
2024. 10. 25.