정처기_ 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

+ Recent posts