본문 바로가기
반응형

전체 글303

[C언어 코딩문제] 문자열 길이 출력 문제 문자열을 입력받고 길이를 출력하시오. 정답 #include int main() { printf("문자열을 입력하세요 \n"); char mystr[50]; scanf("%s",mystr); int length=0; for(int i=0; mystr[i] != '\0' ;i=i+1) { length=length+1; } printf("문자열의 길이는 %d 입니다.",length); return 0; } 2022. 6. 27.
[C언어] 문자열 입력받는 방법 충분히 긴 길이의 문자형 배열을 정의하고, scanf 로 입력받으면 됩니다. #include int main() { printf("문자를 입력하세요 \n"); char mystr[50]; scanf("%s",mystr); printf("입력한 문자는 %s 입니다",mystr); return 0; } 2022. 6. 27.
C언어 문자열 정의하면 길이가 하나 늘어나는 이유 (널문자) 문자열을 정의하면 길이가 하나 늘어납니다. 아래와 같이 abcde 를 정의하고 길이를 출력하면 6이 나옵니다. #include int main() { char str[]="abcde"; printf("정의한 문자열은 %s 입니다. \n",str); printf("정의한 문자열 길이는 %ld 입니다.",sizeof(str)); } 이유는 문자열 마지막에 널문자 \0이 자동으로 추가되기 때문입니다. 널문자는 문자열의 끝을 컴퓨터에게 알려주기 위해서 생성됩니다. 2022. 6. 22.
C언어 문자와 문자열 정의하기 문자 문자 하나를 정의할 때는 char 자료형을 사용하면 됩니다. 아래와 같습니다. 문자에는 작은따옴표를 사용합니다. #include int main() { char ch1='a'; printf("정의한 문자는 %c 입니다.",ch1); } 문자열 문자열 정의에는 배열이 사용됩니다. 큰 따옴표를 사용합니다. 문자열을 { } 로 정의할 때는 마지막에 널문자를 넣어줘야 합니다. #include int main() { char mystr1[]="hi hello"; char mystr2[]={'h','i',' ','h','e','l','l','o','\0'}; printf("정의한 문자열은는 %s 입니다. \n",mystr1); printf("정의한 문자열은는 %s 입니다.",mystr2); } 2022. 6. 22.
C언어 배열을 선언과 동시에 초기화하는 방법 중괄호를 이용합니다. #include int main() { int myarr[3]={1,10,100}; printf("myarr[0] 은 %d 입니다. \n",myarr[0]); printf("myarr[1] 은 %d 입니다. \n",myarr[1]); printf("myarr[2] 은 %d 입니다. \n",myarr[2]); return 0; } 2022. 6. 22.
C언어 배열이란 무엇이며, 왜 존재하며, 어떻게 정의하나 배열이란 무엇인가? 배열은 둘 이상의 변수를 모아놓은 것을 말한다. 왜 존재하나? 변수 여러개를 편하게 정의하기 위해 존재한다. 또는 문자열 정의에 사용된다. 어떻게 정의하나? 아래와 같은 형식으로 정의한다. 자료형 배열이름 [길이]; 배열을 정의하고 각 원소 값을 지정하는 예시는 아래와 같다. #include int main() { int myarr[3]; myarr[0]=1; myarr[1]=10; myarr[2]=100; printf("myarr[0] 은 %d 입니다. \n",myarr[0]); printf("myarr[1] 은 %d 입니다. \n",myarr[1]); printf("myarr[2] 은 %d 입니다. \n",myarr[2]); return 0; } 2022. 6. 22.
[C언어 코딩문제] 최대공약수 구하기 (for문) 문제 두 정수를 입력받고 최대공약수를 반환하시오. 풀이 #include int max(int a,int b) { if (a>b) return a; else if (a 2022. 6. 22.
C언어 산술연산자 더하기 + 빼기 - 곱하기 * 나누기 / 나머지 % 2022. 6. 22.
[C언어] for문 예시 (1부터 10까지 출력) #include int main() { for (int i=1; i 2022. 6. 22.
C언어 논리연산자 1. 논리곱 (AND) 기호 : && 설명 : 양쪽 모두일 때 참 2. 논리합 (OR) 기호 : || 설명 : 둘 중 하나라도 참이면 참 3. 논리부정 (NOT) 기호 : ! 설명 : 참이면 거짓, 거짓이면 참 2022. 6. 21.
[C언어 코딩문제] 온도 변환 (함수) 문제 현재 온도를 섭씨(Celsius)와 화씨(Fahrenheit) 중 선택하고, 현재 온도를 입력하면 화씨는 섭씨로 섭씨는 화씨로 바꿔주는 코드를 작성하시오. 화씨와 섭씨의 관계는 아래와 같습니다. (함수를 사용하시오.) F=1.8xC+32 풀이 #include float CeltoFah (float num1) { float F; F=1.8*num1+32; return F; } float FahtoCel (float num1) { float C; C=(num1-32)/1.8; return C; } int main() { int choice; while (1) { printf("섭씨를 화씨로 바꾸려면 1을, 반대는 2를 입력하시오."); scanf("%d",&choice); if (choice==1) b.. 2022. 6. 17.
애드블록 차단 방법 애드블록을 차단하는 html 소스코드를 생성해주는 사이트입니다. https://blockadblock.com/ BlockAdblock | Stop Losing Ad Revenue Stop losing ad revenue. Stop adblocking on your site today. BlockAdblock is the leading anti-adblock defense. blockadblock.com Set up now free 를 눌러줍니다. 차단 팝업이 뜨는 시간을 설정해주세요. 팝업이 떴을 때 나올 텍스트를 설정해주세요. 맨 아래 초록 버튼을 누르시면 코드가 생성됩니다. 귀찮으면 아래 코드 사용하세요. 테그 바로 위에 붙여넣어 주시면 됩니다. 2022. 6. 17.
[C언어 코딩문제] 학점 출력 프로그램 (if문) 문제 0~100 사이의 점수를 입력하면 학점을 출력하는 프로그램을 작성하시오. 학점 기준은 아래와 같습니다. A : [90,100] B : [80,90) C : [70,80) D : [60,70) E : [50,60) F : [0,50) 풀이 #include int main() { int score; printf("점수를 입력하시오"); scanf("%d",&score); if ( (90 2022. 6. 16.
[C언어 코딩문제] 아스키코드 출력 문제 정수를 입력받고, 해당정수의 아스키코드를 출력하는 코드를 작성하시오. 정답 #include int main() { int num; printf("정수를 입력하세요"); scanf("%d",&num); printf("입력하신 정수 %d에 해당되는 아스키코드 문자는 %c 입니다.",num,num); return 0; } 2022. 6. 15.
[C언어 코딩문제] 서식문자를 이용한 문장 출력 문제 아래 문장을 출력하시오. 숫자는 서식문자를 사용하시오. "제 나이는 27살입니다. 키는 183cm 이고 몸무게는 73kg 입니다." 정답 #include int main() { printf("제 나이는 %d 입니다. 키는 %dcm 이고 몸무게는 %dkg 입니다.",27,183,73); return 0; } 2022. 6. 15.
[C언어 코딩문제] 구구단 문제 숫자를 입력받고, 해당 숫자의 구구단을 출력하시오. 정답 #include int main() { int A; printf("숫자를 입력하세요"); scanf("%d",&A); int B; for(B=1;B 2022. 6. 13.
[구글 블로그 만들기] 1. 카테고리 만들기 구글에서도 블로그 서비스를 운영한다. 블로그를 개설하면 아래 화면이 뜬다. 카테고리를 만들어보겠다. Statistics 라는 상위 카테고리 아래에 Basic 이라는 카테고리를 만들려고 한다. 먼저 글을 하나 쓰고 라벨을 Basic 으로 설정해준다. 저장 후 레이아웃으로 이동한다. 가젯추가를 클릭한다. 라벨을 클릭한다. 여기서 만들어지는 라벨 이름이 상위 카테고리 이름이다. Statistics 라고 이름을 붙이겠다. 라벨을 선택해준다. 여기서 선택하는 라벨이 하위카테고리가 된다. 저장하고 블로그를 열어준다. 좌측에 카테고리가 생성된 것을 알 수 있다. 너무 안이뻐서, 다음 글에서 테마를 변경하려고 한다. 2022. 6. 11.
[C언어 코딩문제] 두 정수 A,B 입력받고, 평균 출력 문제 두 정수 A,B 입력받고, 평균을 출력하는 프로그램을 작성하시오. 정답 #include int main() { int A,B; printf("첫 번째 정수를 입력하시오"); scanf("%d",&A); printf("두 번째 정수를 입력하시오"); scanf("%d",&B); double C; C=(double)(A+B)/2; printf("두 수의 평균은 %lf 입니다.",C); } 2022. 6. 10.
[C++] 이름공간 (std::cout 의 의미) 여러 사람이 프로그램을 동시에 개발하다 보면 함수 이름이 중복될 수 있습니다. 이러한 중복 문제를 해결하기 위해 이름공간이 등장하였습니다. 예를 들어 Kim 과 Park 두 사람이 프로그램을 개발한다고 합시다. 두 사람 모두 myfun 이라는 함수를 선언하였습니다. 이때 각자가 자신의 이름으로 이름공간을 정의하고 이름 공간에 함수를 정의하면 문제가 발생하지 않습니다. 아래는 예시입니다. #include namespace kim { float myfun(float num1,float num2) { return (num1+num2)/2; } } namespace park { float myfun(float num1,float num2) { return (num1+num2)/2; } } int main() {.. 2022. 6. 2.
[C++ 강의] 3. 개행하는 방법 개행할 때는 2022. 6. 2.
[C++ 강의] 숫자 입력받기 (C언어와 비교) C언어에서 숫자를 입력받는 방법은 아래와 같았다. #include int main() { int num1; printf("숫자를 입력하세요"); scanf("%d",&num1); printf("당신이 입력한 숫자는 %d 입니다.",num1); return 0; } C++ 에서는 아래와 같이 입력받는다. int main() { int num1; std::coutnum1; std::cout 2022. 6. 2.
[C++] C언어와 C++의 hello world C언어의 hello world 출력 코드는 아래와 같다. #include int main() { printf("Hello World"); return 0; } C++의 출력코드는 아래와 같다. #include int main() { std::cout 2022. 6. 2.
[C언어] 포인터의 포인터의 포인터 (다중 포인터) 포인터는 삼중 이상의 다중 포인터도 가능합니다. 어떤 변수의 주소를 저장하는 포인터의 주소를 저장하는 포인터의 주소를 저장하는 포인터의 주소를 저장하는.....포인터 아래는 삼중포인터 예시입니다. #include int main(void) { int num=3; int *p_num=# int **p_p_num=&p_num; printf("%p\n",p_num); printf("%p\n",p_p_num); printf("%p\n",*p_p_num); } 2022. 4. 7.
[C언어] 포인터의 포인터 포인터변수는 어떤 변수의 주소를 저장합니다. 포인터변수에도 주소가 있는데요. 포인터 변수의 주소를 저장하는 포인터는 포인터의 포인터입니다. 이를 이중포인터라과 부릅니다. **를 붙여서 정의합니다. #include int main(void) { int num=3; int *p_num=# int **p_p_num=&p_num; printf("%p\n",p_num); printf("%p\n",p_p_num); printf("%p\n",*p_p_num); } 2022. 4. 1.
[C언어] 다차원 배열 (2차원 배열) 2차원 이상의 배열을 만들 수 있습니다. 2차원 배열은 아래와 같이 선언합니다. int arr2[3][2] 3행 2열의 배열을 뜻합니다. 선언과 동시에 초기화하는 방법은 아래와 같습니다. #include int main(void) { int arr2[3][2]={ {1,2},{3,4},{5,6} }; } 아래 배열을 만든 것입니다. 1 2 3 4 5 6 일부를 비워두면 0으로 초기화됩니다. 2022. 3. 31.
[C언어] scanf 에서 숫자 입력과 문자열 입력 scanf 에서 숫자를 입력받을 때는 주소 연산자 &를 붙이고 문자의 경우는 붙이지 않습니다. #include int main(void) { int num; char str[10]; scanf("%d", &num); scanf("%s", str) } 숫자 입력을 받을 때 &를 붙이는 이유는 주소에 접근해서 값을 넣어주기 위함입니다. 주소에 접근하지 않고 값을 입력하면 함수에서 지역변수가 바뀔 뿐입니다. 문자열은 그 자체가 배열의 주소값입니다. &를 붙일 필요가 없습니다. 2022. 3. 31.
[C언어] 함수의 인자로 배열을 입력받을 때 다른 형태의 선언 함수의 인자로 배열을 입력받을 때 아래와 같이 한다고 배웠습니다. void PrintArr(int *p_ar) *연산자로 포인터변수를 선언해서 배열의 주소를 가져오는 것인데요. 아래와 같이 선언해도 됩니다. void PrintArr(int p_ar[ ] ) p_ar[ ] 을 다른 경우에 사용할 수는 없습니다. 함수의 인자로 받는 경우만 가능합니다. 2022. 3. 31.
[C언어 함수의 인자로 배열 입력받기 배열의 값을 함수 인자로 넣는 것을 불가능하다. 포인터 변수를 이용하여 배열 인자의 주소값은 받을 수 있다. 입력받은 주소값을 이용하여 배열의 값에 접근하는 것은 가능하다. 아래 예시는 배열의 주소를 입력받아 배열 값을 출력하는 함수이다. #include void PrintArr(int *p_ar,int length) { int i; for(i=0; i < length; i++) { printf("%d\n",p_ar[i]); } } int main(void) { int ar[3]={1,2,3}; PrintArr(ar,sizeof(ar)/sizeof(int)); } 2022. 3. 31.
[C언어] 포인터 변수의 크기는 그냥 포인터의 크기이다 배열의 주소가 저장된 포인터 변수의 크기는 배열의 크기와 다릅니다. 64비트 운영체제에서 포인터 변수의 크기는 8바이트입니다. #include int main(void) { int ar[3]={1,2,3}; int *p_ar=ar; printf("%ld\n",sizeof(ar)); printf("%ld\n",sizeof(p_ar)); } 2022. 3. 31.
[C언어] 포인터 배열 포인터를 배열 형태로 만드는 것도 가능하다. 배열의 각 요소는 주소값을 갖는다. #include int main(void) { int num1=1; int num2=2; int num3=3; int *ar[3]={&num1,&num2,&num3}; printf("%p\n",ar[0]); printf("%d\n",*ar[0]); printf("%p\n",ar[1]); printf("%d\n",*ar[1]); } 2022. 3. 31.
반응형