제어문
- 조건문
- 반복문
if문, if-else문
//if문
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int number;
printf("정수를 입력하세요: ");
scanf("%d", &number);
if (number > 0)
printf("양수입니다.");
else if (number = 0)
printf("0입니다.");
else
printf("음수입니다.");
return 0;
}
/*홀수인지 짝수인지 구별하는 프로그램*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int num;
printf("정수를 입력하세요: ");
scanf("%d", &num);
if (num%2==0)
printf("입력된 정수는 짝수입니다.");
else
printf("입력된 정수는 홀수입니다.");
}
/*분모가 0인지 판단하는 프로그램*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int son, mom;
double answer=0;
printf("분자와 분모를 입력하시오: ");
scanf("%d%d", &son, &mom);
if (mom == 0)
printf("분모가 0이므로 계산이 불가합니다.\n");
else {
answer = (double)son / (double)mom; //형변환
printf("답은 %lf입니다.\n", answer);
}
return 0;
}
/*윤년인지 판단하는 프로그램*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int year;
printf("연도를 입력하세요: ");
scanf("%d", &year);
if (((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0))
printf("%d년은 윤년입니다.\n", year);
else
printf("%d년은 윤년이 아닙니다.\n", year);
return 0;
}
/*학생들의 성적을 입력받아서 학점을 출력하는 프로그램*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int score;
char alphabet;
printf("성적을 입력하시오: ");
scanf("%d", &score);
if (score >= 90)
printf("합격, 학점 A\n");
else if (score >= 80)
printf("합격, 학점 B\n");
else if (score >= 70)
printf("합격, 학점 C\n");
else if (score >= 60)
printf("합격, 학점 D\n");
else
printf("불합격, 학점 F\n");
return 0;
}
/* 문자들을 분류하는 프로그램 */
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
char input;
printf("문자를 입력하세요: ");
scanf("%c", &input);
if (input >= 'A' && input <= 'Z') //문자 입력받음
printf("%c는 대문자입니다.\n", input);
else if (input >= 'a' && input <= 'z')
printf("%c는 소문자입니다.\n", input);
else
printf("%c는 숫자입니다.\n", input);
return 0;
}
복합문
: 중괄호를 사용하여 문장들을 그룹핑하는 것
조건연산자
//조건연산자
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int score;
printf("점수를 입력하세요: ");
scanf("%d", &score);
//조건연산자
(score >= 60) ? printf("합격입니다.\n") : printf("불합격입니다.\n");
return 0;
}
중첩 if
: if문에 다시 if문이 포함됨
Lab: 이차방정식
/*이차방정식*/
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h> //sqrt함수를 사용하기 위해 math.h 헤더파일 추가
int main(void)
{
double a, b, c;
double dis;
printf("계수 a, 계수 b, 계수 c를 차례대로 입력하시오: ");
scanf("%lf%lf%lf", &a, &b, &c);
if (a == 0)
printf("근은 %f입니다.\n", -c / b);
else {
dis = b * b - 4.0 * a * c;
if (dis >= 0) {
printf("방정식의 근은 %f입니다.\n", (-b + sqrt(dis)) / (2.0 * a)); //sqrt == 루트
printf("방정식의 근은 %f입니다.\n", (-b - sqrt(dis)) / (2.0 * a));
}
else
printf("실근이 존재하지 않습니다.");
}
return 0;
}
Lab: 산술 계산기
/* 산술 연산기 */
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
double a, b, result;
char op;
printf("수식을 입력하시오(예: 2+5)>>");
scanf("%lf%c%lf", &a, &op, &b);
if (op == '+') {
result = a + b; // ==가 아니라, =이다.
printf("%lf+%lf=%lf", a, b, result);
}
else {
result = a - b;
printf("%lf-%lf=%lf", a, b, result);
}
return 0;
}
switch 문
: 제어식의 값에 따라서 여러 경로 중에서 하나를 선택할 수 있는 제어 구조
- default 문
Lab: 달의 일수를 출력하는 프로그램
/*달의 일수를 출력하는 프로그램*/
//switch문 이용하기
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int month, answer;
printf("달을 입력하시오: ");
scanf("%d", &month);
switch (month)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
answer = 31;
break;
case 2:
answer = 28;
break;
default:
answer = 30;
break;
}
printf("%d월의 일수는 %d입니다.\n", month, answer);
return 0;
}
Lab: 산술 계산기
/*산술 계산기*/
//swith 문
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int a, b, answer;
char op;
printf("수식을 입력하시오(예: 2+5) >>");
scanf("%d%c%d", &a, &op, &b);
switch (op)
{
case '+':
answer = a + b;
break;
case '-':
answer = a - b;
break;
case '*':
answer = a * b;
break;
case '/':
answer = a / b;
break;
case '%':
answer = a % b;
break;
default:
printf("잘못된 입력입니다.\n");
}
printf("%d%c%d=%d\n", a, op, b, answer);
return 0;
}
goto 문
: 조건없이 어떤 위치로 점프
- 사용하지 않는 것이 좋음
'Programming > 컴퓨터프로그래밍및실습' 카테고리의 다른 글
[컴프실] 중간고사 (0) | 2023.07.10 |
---|---|
[컴프실] 7일차 실습문제 (0) | 2023.07.08 |
[컴프실] 제5장: 수식과 연산자 (0) | 2023.07.07 |
[컴프실] 6일차 실습문제 (0) | 2023.07.05 |
[컴프실] 4일차 실습문제 (0) | 2023.07.04 |