카테고리 없음

3주차 강의 요약 정리

ASDdsas22111 2025. 3. 24. 16:32

3주차 학습 요약 
C언어프로그래밍의 기본 틀

#include <stdio.h>
int main()
{
return 0;
}


이 기본틀로 이 틀안에서 실행된다


main()함수는 하나의 프로그램에 반드시 하나만 있어야 하며

콘솔 기반 C , C++ C# JAVA 등 프로그램은 main()함수로 시작된다.

다른 함수를 추가 할 시에는 함수명이 main 함수가 아니여야 한다

int main(void)와 int main()은 다른 의미으로 void를 생략해선 안됨

C++ 언어에서는 동일한 의미

main()함수의 경우 예외적으로 return 0;이라는 소스를 생략가능

표준 라이브러리(standard library) 함수 

많이 사용하는 함수들 (printf, scanf) 등을 위해 미리 만들어져있음
이러한 함수를 표준 라이브러리 함수라고함.

밑은
표준 라이브러리 함수 rand()함수를 ai를활용해 만든 
예시 주사위게임 소스:


#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int rollDice() {
return (rand() % 6) + 1; // 1부터 6까지의 랜덤 숫자 생성
}
int main() {
int userRoll, computerRoll;
// 랜덤 시드 초기화
srand(time(NULL));
// 사용자 주사위 굴리기
printf("주사위를 굴립니다...\n");
userRoll = rollDice();
printf("사용자 주사위 결과: %d\n", userRoll);
// 컴퓨터 주사위 굴리기
printf("컴퓨터 주사위를 굴립니다...\n");
computerRoll = rollDice();
printf("컴퓨터 주사위 결과: %d\n", computerRoll);
// 결과 비교
if (userRoll > computerRoll) {
printf("사용자가 이겼습니다!\n");
}
else if (userRoll < computerRoll) {
printf("컴퓨터가 이겼습니다!\n");
}
else {
printf("무승부입니다!\n");
}
return 0;
}





표준 헤더파일은 표준 라이브러리 함수들을 미리 선언 해놓은 파일임 


함수선언 표준라이브러리 함수는 이미 만들어져이으므로 바로 사용 가능하지만
사용하기 전에 선언을 해야함 

printf()라는 함수를 사용하려면 선언을 해야하는데 
직접 선언을 할수도 있지만 stdio.h라는 ( 표준 헤더 파일)을 
프로그램에 포함 시켜 사용하는 방법이 일반적임

#include <stdio.h> //함수를 선언
int main()
{
printf("sim seungbo" // 함수를 사용
return 0;
}




예약어
컴파일러에 의해 미리 의미가 정해져있는 32~44 여개의 단어
과거 소문자만 사용하였지만
c11부터 대문자 예약어가 추가됨

밑은 가장 많이 사용하는 예약어들의 순서들을 나열한것

int - 정수형 변수를 선언할 때 사용
return - 함수의 반환값을 지정할 때 사용
if - 조건문을 작성할 때 사용
else - 조건문에서 대안 경로를 지정할 때 사용
for - 반복문을 작성할 때 사용
while - 조건에 따라 반복하는 루프를 작성할 때 사용
do - do-while 반복문을 시작할 때 사용
switch - 여러 조건을 비교할 때 사용
case - switch 문 내에서 조건을 정의할 때 사용
break - 반복문이나 switch 문을 종료할 때 사용
continue - 반복문에서 다음 반복으로 넘어갈 때 사용
void - 반환값이 없는 함수를 정의할 때 사용
char - 문자형 변수를 선언할 때 사용
float - 부동소수점 변수를 선언할 때 사용
double - 더블 정밀도의 부동소수점 변수를 선언할 때 사용
struct - 구조체를 정의할 때 사용
typedef - 새로운 데이터 타입을 정의할 때 사용
static - 정적 변수를 선언할 때 사용
const - 상수를 정의할 때 사용
extern - 외부 변수를 선언할 때 사용

토큰
c 프로그램을 구성하는 기본 단위
예약어(reserved word,keywrod): int,if등 44개
연산자(operator): +,/등 40여개
구두점 (punctuator) 토큰을 구분하기 위해 사용하는 기호로 50여 개가 있는데 40여 개는 연산자로 사용
식별자(identifier):변수, 함수, 배열 구조체 등의 이름
리터럴(literal) or 상수라고 함

문자열(string): 문자열은 반드시 양쪽에 ""가 필요함

   

 

주석문

프로그램 중 설명문을 작성할 때 사용하는 문장

프로그램 수행과 무관하게 프로그램의 목적,수행과정, 알고리즘에 대한 설명

컴파일러는 이를 무시함.

/*,*/ 나 //로 사용 가능함 

이스케이프 시퀀스(확장 문자열)

이스케이프 시퀀스(escape sequence)는 탈출 문자 또는 확장 문자열이라고도 함

역슬래쉬(\)와 영문자나 특수문자로 이루어진 문자조합.

 

대부분 언어들은 이스케이프 시퀀스를 사용하며  각 언어마다 지원하는 이스케이프 시퀀스의

종류와 사용 방법이 다를 수 있음.

 

 

\\ \나 \ ' 등은  문자 상수 내에서 개행 (new line)
문자, 작은 따옴표, 큰 따옴표, 특별한
의미를 갖는 문자 등을 나타내기 위해서 사용 때문

 

실습문제:  

1.

위의 소스에 있는 주석을 참고하여 각 장으로 가서 다음 각각의 개념을 한 문장으로 간단히 설명하시오.  변수, 전처리기, 입출력 라이브러리 함수, 연산자, 제어문, 함수 선언, 기억 클래스, 배열, 구조체, 포인터, call by address

 

변수: 데이터를 저장하기 위한 이름이 붙은 메모리 공간.
전처리기: 컴파일 전에 소스 코드를 처리하는 도구로, 주로 매크로 정의와 파일 포함에 사용됨.
입출력 라이브러리 함수: 데이터를 입력받거나 출력하는 기능을 제공하는 함수들, 예를 들어 printf와 scanf.
연산자: 변수나 값에 대해 수행할 수 있는 연산을 정의하는 기호, 예를 들어 +, -, *, /.
제어문: 프로그램의 흐름을 제어하는 문장, 예를 들어 if, for, while.
함수 선언: 함수의 이름과 매개변수, 반환 타입을 정의하는 문장.
기억 클래스: 변수의 저장 방식과 생명 주기를 정의하는 개념, 예를 들어 static, extern, auto.
배열: 동일한 데이터 타입의 여러 값을 저장할 수 있는 고정 크기의 데이터 구조.
구조체: 서로 다른 데이터 타입의 값을 하나의 단위로 묶어 저장할 수 있는 사용자 정의 데이터 타입.
포인터: 다른 변수의 메모리 주소를 저장하는 변수로, 메모리 직접 접근을 가능하게 함.
Call by Address: 함수에 인수로 변수의 주소를 전달하여, 함수 내에서 원본 변수를 직접 수정할 수 있게 하는 방법.

 

2.함수의 매개변수와 반환값(리턴값)이 무엇인지 예를 들어서 설명하시오

 

함수의 매개변수는 함수가 입력으로 받는 값이며, 반환값은 함수가 작업 후 돌려주는 결과입니다. 예를 들어, int add(int a, int b)에서 a와 b는 매개변수이고, return a + b;는 반환값입니다.

3.  C 프로그램의 기본 틀을 설명하시오.

 

#include <stdio.h>
int main() {
// 프로그램의 실행 시작 지점
printf("Hello, World!\n"); // 화면에 문자열 출력
return 0; // 프로그램 종료
}
#include <stdio.h>:

이 줄은 표준 입력 및 출력을 위한 헤더 파일을 포함합니다. printf와 같은 함수는 이 헤더 파일에 정의되어 있습니다.
int main():

main 함수는 C 프로그램의 시작 지점입니다. 모든 C 프로그램은 main 함수를 포함해야 하며, 프로그램이 실행될 때 가장 먼저 호출되는 함수입니다.
{ ... }:

중괄호 {}는 함수의 시작과 끝을 나타냅니다. 이 안에 있는 코드는 main 함수가 호출될 때 실행됩니다.
printf("Hello, World!\n");:

printf 함수는 화면에 문자열을 출력하는 데 사용됩니다. 여기서는 "Hello, World!"라는 문자열을 출력하고, \n은 줄 바꿈을 의미합니다.
return 0;:

main 함수가 정상적으로 종료되었음을 나타내기 위해 0을 반환합니다. 이는 운영 체제에 프로그램이 성공적으로 실행되었음을 알리는 역할을 합니다.
이 기본 틀을 바탕으로 다양한 기능을 추가하여 C 프로그램을 작성할 수 있습니다.
4.주석문을 작성하는 두 가지 방법을 비교 설명하시오.
 
한 줄 주석: //로 시작하며, 해당 줄의 끝까지 주석으로 처리됩니다. 간단한 설명에 적합합니다.

여러 줄 주석: /*로 시작하고 */로 끝나며, 여러 줄에 걸쳐 주석을 작성할 수 있습니다. 긴 설명이나 코드 블록에 적합합니다.
 
5. 오늘의 "수익률"은 10%입니다. 다음과 같이 출력하는 프로그램을 작성하시오 
 

 

 

함수의 입출력값

 

 

 

예시 소스에 있는 20을 argument

int a 를 parameter로 정의 할 수 있음       

 

사진 모든 출처는 smile han의 c언어 교재에서 가져옴.