C언어 찍먹하기 [1]

no-pla·2024년 4월 22일
0

C언어 찍먹하기

목록 보기
2/2
post-thumbnail

if문

if(조건)
	printf("참이다.")
else
	print("거짓이다.")

if문 뒤에 실행할 문장이 하나일 경우에는 중괄호를 생략할 수 있다.

반복문 (for/while)

for문

for(변수 초기화; 조건; 변수 값 변경) {
	...
}

while

while(i <=100) {
	...
}

do {
	...
} while(조건)

함수

함수는 특정 기능을 수행하도록 만들어진 프로그램 단위로, 시스템 함수사용자 함수가 있다.
시스템 함수는 언어에서 자체적으로 제공하는 기능(printf 등)을 뜻하고 사용자 함수는 프로그래머가 필요에 의해 만든 함수로, 재 사용을 염두에 두고 만든 것을 뜻한다.

function_name() {

}

// or

void function_name(void) {

}

main()
{

}

리턴이나 매개 변수 모두 없는 경우, 괄호를 비워두거나 void를 입력할 수 있다. 리턴 타입이 만약 정수형이라면 함수명 앞에 int를 붙여주면 된다.
함수는 실행의 중심이 되는 main 함수 이전에 실행해야 정상적으로 동작한다.

랜덤 함수

C언어에는 랜덤 값을 생성해 주는 함수가 있다. rand()라는 함수를 이용할 수 있는데, 이 함수를 실행할 때마다 다른 값을 출력한다. srand()라는 함수를 실행하고 시드를 정의해 주면 매번 같은 값을 출력해 준다.

배열

int age[5] = { 14, 123, 213, 410, 4132939 }

배열을 지정할 때는 타입 변수명[크기] = { ... } 라는 구조로 선언해 준다. 초기값을 정해주는 경우에는 크기를 생략해주어도 된다.

char name[] = "name name"

캐릭터, 즉 한 글자가 아니라 문자열을 선언하고 싶을 때도 배열과 같은 방식으로 선언한다.

문자열 함수

C언어에도 문자열을 쉽게 다루기 위한 함수들이 존재한다.
문자열 길이: len
문자열 비교: comp
문자열 연결: concat
문자열 일부 반환: sub

이러한 함수들을 사용하기 위해서는 라이브러리를 설치해 주어야 한다.

#include <string.h>

main() {
	char a[] = "hi, hello.";
	char b[] = "good morning";
	char c[50] = "";

	printf("%d", strlen(a));

	strcat(c, a); // c에 a를 붙임
}

탐색: strstr 특정 문자열 안에 문자열이 있는지 확인한다.

#include <string.h>

main() {
	char a[] = "hi, hello.";
	char b[] = "hell";

    *char f; // 포인터 변수의 주소값을 저장하는 변수다.
    f = strstr(a, b);

    if(f != NULL) {

        printf("Found\n");

    }  else {

        printf("Not Found\n");

    }
}

포인터 선언: 자료형*포인터이름

구조체 사용법

C언어의 구조체는 객체 지향 프로그래밍의 원시 모델 형식으로 변수들을 묶어 하나의 타입으로 사용할 수 있는 기능이다.

struct car {
	int doors; // car.doors
	int seats; // car.seats
	char grade; // car.grade
}

struct car my_car

사담

지금까지 해본 언어는 자바스크립트와 파이썬(약간)이 전부였는데, 둘 다 동적 타입 언어라 C언어 같은 정적 타입 언어는 처음이라 좀 헷갈리는 부분이 있었다. 특히 세미콜론 붙이는 걸 계속 잊는다. 자바스크립트는 알아서 붙여주는데 취준하면서 틈틈이 공부해 봐야겠다.

0개의 댓글