
제가 대학교 1학년 때 C언어 수업에서 배운 내용을 교재와 ppt를 중심으로 정리한 내용입니다. (2022.3 ~ 2022.6)
당시에 공부를 위해서 HWP 파일로 정리해 놓은 것을 그대로 올립니다.
대학에 처음 들어와 정리한 내용이라 모든 내용을 담고 싶은 욕심에 정리가 많이 지져분하고 어설픈점 양해 부탁드립니다..!
: 프로그램의 수행 순서를 제어
: 조건에 따라 프로그램이 선택적으로 특정 문장을 수행하게 만드는 기능을 제공
() 안에 있는 조건식이 참이면 주어진 문장을 수행하고, 거짓이면 수행하지 않음.if문의 다음 문장에서 합쳐짐.if의 조건식은 수식이며, 관계 연산식 주로 사용if의 조건식이 참일 때 수행할 문장이 여러개라면, 수행할 문장들을 { } 로 묶어주어야함.{ } 으로 묶인 문장{} 없이 들여쓰기만 하면 복합문 아님if의 조건식이 참이면 if 다음문장을 수행하고, 거짓이면 else 다음의 문장을 수행else : if의 조건식이 false로 판단되면(그렇지 않으면)if문의 다음문장에서 합쳐짐.if else문 대신 2개의 if문으로 작성 할 수도 있지만, 조건문을 2번 수행하므로 비효율적.if else문 대신 조건 연산자를 이용해서 같은 코드를 작성가능else블록안에 다른 문장 없이 또 다른 if문만 들어있을 때 작성가능else if는 여러 조건을 순서대로 검사if문과 함께, else앞의 if문의 조건식이 거짓일때만 else if다음의 조건식을 검사else if 문에 또 다른 else if문을 여러번 연결 가능else가 사용될 수 있음()의 정수식에 값에 따라서 여러 가지 case 중 하나를 선택하여 문장 수행()안의 수식의 값은 반드시 정수{ }안에는 여러개의 case를 사용 가능case문 작성시 case 정수값 ;(콜론) 수행할 문장을 순서대로 적어줌case문에서 수행할 문장이 여러개 일때도 {}를 써줄 필요가 없음 (이미 switch전체에 {} 사용)case문에서 수행할 문장의 끝에는 break를 써줌. break를 만나면 switch를 탈출하는데, break가 없으면 switch의 끝을 만날때까지 나열된 모든 문장을 수행 break의 생략자체는 가능함case가 없을 때 수행 할 문장은 default 다음에 써줌(반드시 제공 할 필요는 없음)default에서 수행할 문장의 끝에도 break가 필요else if vs switch → 프로그래머 마음대로else if : 조건식이 단순한 정수값 비교가 아닌 경우switch : 정수값을 비교하고, 비교할 값이 2개 이상인 경우switch문에서 break는 생략 가능
break를 만날 때까지나 }을 만날때까지 연속된 다음 case의 문장들을 모두 수행switch문이 올바르게 수행되게 하려면 case와 default에 break를 써주는 것이 좋음switch문에서 default 생략 가능
case가 없고, default도 없으면 바로 switch를 빠져나감default의 위치는 상관없지만, 일반적으로 switch문의 끝부분에 써줌: 조건이 만족하는 동안 주어진 문장을 반복해서 수행
for(초기식; 조건식; 증감식) 형식으로 구성{} 로 묶어줌for문을 빠져나감for의 초기식, 조건식, 증감식에서 사용되는 변수for 반복회차마다 변경 되어야 함 for문에서 루프제어 변수 여러개 사용가능for의 초기식, 증감식은 한 문장 이지만, 콤마연산자를 이용해 여러개 수식 나열 가능. for문을 구성하는 초기식, 증감식, 조건식, 반복할 문장은 모두 생략 가능함(;는 필수)for의 반복할 문장 생략 : 널문장(문장없이 세미콜론만 으로 이루어진 문장)for : for문에 포함된 for문for가 M번, 안쪽에서 for가 N번 수행되는 경우에는 전체 반복 횟수는 M*N번이됨while문을 빠져나가 while문 다음문장 수행{} 안에while문의 조건식은 생략할 수 없기에, 무한 루프를 만들 때는 조건식으로 항상 참인 값 이용 → while(1)for vs while → 프로그래머 마음대로while문의 작성 형식이 for문에 비해 간단for → while 로 변형 : for문의 초기식을 while앞에 써주고, 조건식은 그대로, for문의 증감식은 while 블록의 맨 끝에 써줌참/거짓에 상관없이 무조건 반복할 문장을 수행, 끝부분에서 조건식을 검사해서 반복을 더 수행 할 것인지, 루프(반복)을 탈출할지 결정
do 반복할문장; while(조건식);의 구성.
for나 while은 조건식이 거짓이면 반복할 문장이 한번도 수행되지 않지만, do while은 반드시 한번은 수행됨
: 문장의 실행 순서를 변경 할 수 있음
switch나 반복문을 탈출하여 반복문의 수행 순서를 변경
{}에서 블록 외부로 탈출무한 루프와 break
for나 while은 루프의 시작 부분, do while은 루프의 끝부분에서만 조건식을 검사해서 루프를 탈출하는데, 무한루프와 break를 함께 사용하면, for의 조건식을 생략하거나, 항상 참인 조건식으로 반복문을 무한 루프로 만든다음 원하는 위치에서 if로 루프 탈출 조건을 검사해서 break로 루프 탈출 가능continue를 만나면, 루프의 조건식이나 증감식(for) 부분으로 이동main함수 안에서 retrun문을 만나면 main함수가 리턴되며 프로그램 종료return 값이 있는 함수에선 return다음 값을 적어주고, return 값이 없는 함수에서는 retrun만 써줌.