정처기_ part4_ 프로그래밍 언어 활용
절차지향 프로그래밍
=> 내가 기억해야 할 것 요약!
(1) C언어
1) 데이터가공 및 입출력
2) 선택 및 반복 제어
3) c언어 고급
4) 코드의 품질 향상
(1) C언어
1) 데이터가공 및 입출력
상수)
8진수: 023, 058, 07, ...
16진수: 0xD2, 0x137, 0xFFFF, ...
변수 선언)
영문자, 언더바(_)로 시작, 구성+숫자
#include <stdio.h>
int main()
{
int score; //정수형 변수 생성
score = 70; //score변수에 70할당
double grade = 3.8; //실수형 변수 생성과 동시에 3.8 할당
return 0; //프로그램 종료
}
자료형의 크기)
이스케이프시퀀스)
-문자 입출력 이외 별도 기능을 가진 활장 문자열
서식지정자)
표준입출력_ 입력함수)
1. 한 문자 입력: getchar()
2. 문자열 입력: gets(문자배열)
3. 서식 문자열 입력: scanf(서식 문자열[, &변수명, &변수명, ...])
#inclue <stdio.h>
int main()
{
char c;
char s[10]; //문자 배열(10글자) 선언
char grade;
double score;
c = getchar(); //문자 하나 입력
gets(s); //문자열 입력
//띄어쓰기로 구분해서 점수와 학점을 입력
scanf("%lf %c", &score, &grade);
return 0;
}
출력함수)
1. 한 문자 출력: putchar()
2. 문자열 출력: puts(문자 배열): 모니터로 문자열을 출력
3. 서식 문자열 출력: printf(서식 문자열[,변수명, 변수명, ...])
#include <stdio.h>
int main()
{
putchar('a'); //문자 a 출력
puts("hello"); //문자열 hello 출력
printf("점수는 %.1lf점 \n학점은 %c입니다.", 4.2, 'A');
// 점수는 4.2점
// 학점은 A입니다.
return 0;
}
연산자) //데이터 가공
1.우선순위
단항, 이항순/ 우측방향으로 진행/ 괄호 안의 연산이 가장 먼저, 곱셈,나눗셈-덧셈,뺄셈 순
2. 산술/ 관계/ 논리/ 비트/ 복합대입/ 전치,후치,증감 연산자
노란박스: 시프트
주의)
산술연산자: 데이터 타입(ex, 3(정수)+2.1(실수)= 정수타입(5), 실수타입(5.1)
관계연산자: 두 값을 비교 참(true)1, 거짓(false)0 판별
관계연산자를 사용하는 계산식=조건식, 조건식이 여럿있을 때 각 조건식을 연결해주는 연산자=논리연산자.
논리연산자: 복수의 조건식 판단(모두 참이어야하는지, 하나 이상이면 되는지,,)
비트연산자: 비트:2진수, 비트연산자는 2진수 자리별로 연산을 수행
복합대입연산자: 자신의 연산 결과를 다시 자신에게 할당(값을 누적). 변수는 항상 최근 값만 기억
전치.후치.증감연산자: 연산자 앞->먼저 증감 뒤에 계산, 연산자 뒤->계산이 된 다음에 증감!
(1) C언어
2) 선택 및 반복 제어
제어문) 분기문
=> if, else, else if
// if(a >= b) c = 20;
// else c = 40;
c = (a >= b) ? 20 : 40;
// a가 b이상이면 c에 20할당, 아니면 40할당
#include <stdio.h>
int main()
{
int score = 70;
if(score >= 80)
puts("합격입니다.");
else if(score >= 70)
puts("재시험 대상입니다.");
else
puts("불합격 입니다.");
return 0;
}
=> switch-case, break, default
switch문은 데이터를 단일 숫자, 문자 등으로만 비교 가능.(70이상, 80이하x)
일치영역부터 break까지 블록, 일치하는 값이 없을 경우 default실행(단독x)
#include <stdio.h>
int main()
{
int month = 4;
switch(month){
case 2: // month값이 2인 경우
puts("총 28일 입니다.");
break; //switch문 종료
case 4:
case 6:
case 9:
case 11: // month값이 4,6,9,11인 경우
puts("총 30일 입니다.");
break; //switch문 종료
default: // month값이 4,6,9,11이 아닌 경우
puts("총 31일 입니다.");
}
}
반복문)
=> for
횟수 반복, break문 사용o
#include <stdio.h>
int main()
{
int i, sum=0; //반복용 변수, 합계용 변수 선언
//i가 1부터; <=10이하일때까지; 1씩++증가 반복
for(i=1; i<10; i++)
sum += i; //i값을 sum에 누적
//for문 종료후
printf("%d", sum); //sum(합계) 출력
return 0;
}
=> while, continue
조건 반복(조건판단, 조건에 따라 한번도 실행x일수도 있음, break문 사용o
continue 아래의 코드를 무시하고 다음 단계 반복 진행. break와 함께 모든 반복분에서 사용o
#include <stdio.h>
int mian()
{
int input=0, sum=0;
while(input >= 0) //input변수가 >=0이상인 동안 진행
{
scanf("%d", &input);//input값을 입력받음 (input변수가 <0미만이면 반복 종료)
if(input % 2 == 0) //입력값이 짝수면 현재단계 건너뛰기
continue;
sum = sum + input; //입력받은 값을 누적
}
printf("%d", sum);
return 0;
}
=>do-while문
조건에 따라 한번도 실행x 문제해결.
코드를 조건x여도 일단 실행, 그다음 조건 판단후 만족할 때까지 반복, break문 사용o
#include <stdio.h>
int main()
{
int input, sum=0;
do {
scanf("%d", &input); //10진수 입력받아 input에 할당
sum = sum + input; //할당 된 input값을 sum에 누적
} while(input >= 0);
printf("%d", sum);
return 0;
}
'STUDY > languages' 카테고리의 다른 글
파이썬 프로그래밍&코딩 스타일 가이드 (0) | 2021.08.31 |
---|---|
프로그래밍 파이썬(언어) (0) | 2021.08.10 |
프로그래밍 자바(언어) (0) | 2021.08.09 |
프로그래밍 자바(객체) (0) | 2021.08.09 |
프로그래밍 c언어 고급 (0) | 2021.08.09 |