최류현의 컴퓨터 정보공간

프로그래밍/C

[Codeup - 1092] 1065 : [기초-조건/선택실행구조] 정수 3개 입력받아 짝수만 출력하기

문제 설명 세 정수 a, b, c가 입력되었을 때, 짝수만 출력해보자. 참고 if(조건) { //조건이 참일 때에만 실행되는 구역(코드블록의 시작) 실행1; 실행2; ... } //코드블록의 끝 의 조건/선택 실행 구조는 주어진 “조건”을 검사해 그 결과가 참인 경우에만 코드블록 안에 작성된 내용들을 순서대로 실행한다. 예시 if(a%2==0) { printf(“%d”, a); } if(b%2==0) { printf(“%d”, b); } if(c%2==0) { printf(“%d”, c); } ** a%2==0 은 a%2가 먼저 수행되고 그 결과를 0과 비교한 참/거짓 값을 계산한다. a%2==0의 의미는 a를 2로 나눈 나머지를 0과 비교한 결과 값(참/거짓)이다. 따라서, if(a%2 == 0) 는 ..

프로그래밍/C

C | scanf, gets, fgets 입력 함수 이해하기

이 글에서는 C 언어에서 주로 사용되는 입력 함수인 `scanf`, `gets`, 그리고 `fgets`의 차이점과 사용법에 대해 알아보겠습니다. scanf char str[100]; int num; printf("문자열을 입력하세요: "); scanf("%s", str); // 예를 들어 "hello world" 입력 printf("숫자를 입력하세요: "); scanf("%d", &num); // 예를 들어, 42 입력 printf("입력된 문자열: %s\n", str); // 출력: "입력된 문자열: hello" printf("입력된 숫자: %d\n", num); // 출력: "입력된 숫자: 42" 이 코드에서는 scanf로 입력 받은 문자열은 공백을 기준으로 구분되므로, "hello world"를 입..

프로그래밍/C

C 언어로 시저 암호 구현하기

시저 암호는 암호학에서 가장 오래되고 간단한 암호 중 하나로, 로마 황제 카이사르가 사용한 암호화 기법입니다. 시저 암호는 알파벳 문자를 일정한 거리만큼 밀어서 다른 문자로 바꾸는 치환 암호(substitution cipher)의 가장 기본적인 형태입니다. 예를 들어, 시프트(shift) 값이 3인 경우, A는 D로, B는 E로, C는 F로 암호화됩니다. 시저 암호는 이러한 원리를 사용해 평문을 암호문으로 바꾸고 복호화하는 과정을 거칩니다. C 언어로 시저 암호 구현하기 다음은 C 언어를 사용하여 시저 암호를 구현한 코드입니다. 이 코드는 사용자로부터 문자열을 입력 받고, 시저 암호로 암호화한 후 다시 복호화하는 기능을 수행합니다. 코드를 나눠서 설명해드리겠습니다. 함수 원형 선언 #include #in..

프로그래밍/C

C 언어에서 함수 원형과 함수 정의의 중요성

C언어 함수 정의와 함수 원형 C 언어에서는 함수를 사용하기 전에 해당 함수의 원형(prototype)을 먼저 선언해야 합니다. 이는 컴파일러에게 함수가 어떤 형태인지 알려주는 역할을 합니다. 그렇지 않으면 컴파일러가 해당 함수를 찾지 못하고 오류가 발생할 수 있습니다. 함수 원형은 함수의 이름과 매개변수의 타입과 개수를 포함하고 있습니다. 원형을 작성하면 컴파일러는 해당 함수를 인식하고, 원형에 맞는 매개변수를 전달하여 함수를 호출할 수 있게 됩니다. 일반적으로 함수 원형은 함수 정의보다 먼저 작성합니다. 이는 함수를 호출하기 전에 미리 함수의 원형을 알려줌으로써 코드의 가독성을 높이고 오류를 방지하기 위함입니다. 그런데 함수 정의가 함수 원형보다 앞에 있는 경우에는 별도의 함수 원형 선언이 필요하지 ..

프로그래밍/C

C언어 문자열 입출력을 위한 함수 (gets,puts,fgets,fputs)

c언어에서 사용할 수 있는 문자열 입출력 함수 gets, puts, fgets, fputs들을 하나하나 알아보겠습니다 gets, puts 함수 gets함수는 문자열을 입력받을 때 사용하는 함수입니다 puts함수는 문자를 그대로 출력하거나 문자 배열을 출력하고 printf와 다르게 줄 바꿈을 하여 커서의 위치가 아래로 바뀌게 됩니다 근데 문자열을 입력받는 함수 하면 scanf가 떠오르지 않나요?? 이 gets함수는 scanf와는 조금 성질이 다릅니다 scanf,printf scanf함수 의경우 문자열을 입력받을 때 공백을 기준 삼아 입력받습니다 지정된 a문자 배열 리스트에는 공백을 기준으로 각각의 배열에 저장되게 됩니다 그래서 1 2 3 4라는 값이 입력되면 공백을 기준으로 a[0] = 1, a[1] = ..

프로그래밍/C

C언어 main함수의 매개변수 argc,argv

#include int main(void) { return 0 } 기본 에디터 프로그램을 설치한 뒤에 C언어를 처음 배우게 되면 보통은 가장 기본적인 구조를 배우게 됩니다 main함수를 작성할때 보통은 비워두거나 void 전달 인자를 사용하는데 void나 공백이라면 아무것도 전달하지 않겠다는 의미입니다 그런데 그거 알고계신가요? main함수에도 별도의 인자가 존재합니다 바로 argc와 argv가 있는데 제가 처음 c언어를 배울 때 main함수에 대한 자세한 개념 공부 없이 바로 printf문부터 시작해서 변수나 함수에 대해 공부했었고 main함수에 argc와 argv라는 매개변수가 존재한다는 건 모르고 있었습니다 main함수의 인자(매개변수) argc,argv int main(int argc,char *..

프로그래밍/C

C언어 매개변수와 인수와 인자 무슨차이일까?

매개변수와 인수와 인자 값? 매개변수와 인자 값, 인수 뭔가 말이 비슷비슷해서 헷갈리지 않나요?? 매개변수와 인수와 인자값 대해 우선 짚고 넘어갑시다 인수(Argument)와 인자(매개변수, Parameter)가 있는데 구분하자면 매개변수와 인수가 있습니다 결론은 아래와 같이 동의어에 해당된다고 생각하면 된다 매개변수 = 피라미터(Parameter) = 인자 값 =인자 인수(Argument) = 전달 인자 = 인수값 = 인수 인자 값, 매개변수 (Parameter) 다음 코드를 한번 살펴봅시다 1 2 3 int add(int a, int b){ return a+b; } cs a와 b의 값을 전달받아 더한 값을 리턴해주는 add함수입니다 1번째 줄에 add는 함수의 이름에 해당하며 a, b는 매개변수와 파..

최류현의 블로그
'프로그래밍/C' 카테고리의 글 목록