가볍게 시작하는 C언어, Lite C

Lite C

내가 C언어 기초 수업을 2번 들은 이유는 무엇일까?

이전에 구름 EDU를 통해서 '처음 시작하는 C언어'라는 강의를 들었다.
그리고 이번에는 'LiteC'라는 C언어 강의를 들었다.

동일하게 C언어 기초를 다루는데 왜 나는 LiteC 강의를 수강하였을까?

그 이유는 복습과 실습 예제가 필요했기 때문이다.

사실 나는 열혈 C프로그래밍이라는 책을 이번에 구입했다.

그런데 책이 배송되기 전에 할 공부가 필요했고, 이전에 공부한 처음 시작한 C언어에서 직접 해볼 수 있는 실습 예제가 상대적으로 부족하다고 느끼던 참에 라이트C를 발견하게 되었다.

C언어의 기초 개념 중 중요한 것만 다루고 있고 간단한 연습 문제가 있어서 매우 좋았다.

그래서 오늘은 LiteC을 통해 학습한 내용들을 정리해보려고 한다.

이전에 이론 강의를 들었기 때문에 연습문제 코드 위주로 기록해보고자 한다.






변수, prinf


추가 학습

프로그램 기본형

#incluude <stdio.h>
int main()
{
	(실행코드)
}



연습 문제

문제: 변수 a, b값을 지정하고 a+b, a-b, axb, a/b 출력하기

#include<stdio.h>
int main(){
	int a = 20;
	int b = 10;
	
	printf("%d\n",a+b);
	printf("%d\n",a-b);
	printf("%d\n",a*b);
	printf("%d\n",a/b);
}






조건문 if


연습 문제

현재 시각에 따라 영업 상태 표시 프로그램 만들기.
시각에 따라 각 close, coming soon, open 출력

#include<stdio.h>
#include<time.h>
int main(){
	time_t tnow;
	time(&tnow);
	struct tm t;
	localtime_r(&t, &tnow);
	int a = t.tm_hour;
	
	if (a >= 22 || 8 >= a){
		printf("Close");
	} 
	else if (a > 8 && a < 9) {
		printf("Coming Soon");
	}
	else{
		printf("Open");
	}
}






반복문 while


추가 학습

무한 루프

반복문에서 무한하게 반복을 시행해야 하는 경우 사용.

int main()
{
	while (1) {
    	반복할 코드
    }
}



연습 문제

  1. 4의 배수 이지만 6의 배수는 아닌 수들 중 1이상 2021이하 수 모두 출력
  2. 모든 수 출력 시 "모든 수를 출력했습니다" 출력 후 프로그램 종료
  3. 수는 공백으로 구분
  4. break, continue 활용
#include<stdio.h>
int main(){
	int a;
	a = 0;
	
	while(a < 2022){
		a++;
		if(a % 4 != 0){
			continue;
		} else if (a % 6 == 0){
			continue;
		}
	printf("%d\n", a);
	}
	printf("모든 수를 출력했습니다!");
}






자료형, scanf


추가 학습

scanf

scanf를 이용할 경우 오류가 발생할 수 있음. 이를 막기 위해 하단과 같은 코드 추가 해야함.

#include<stdio.h>
#pragma warning(disable: 4996)



연습 문제

사용자의 입력을 받아 따라하기. 사용자가 stop 시 프로그램 종료 멘트와 함께 프로그램 종료

#include<stdio.h>
#include<string.h>
#pragma warning(disable: 4996)

int main() {
	char abc[10000];
	
	printf("문자열을 입력하세요.\n");
	
	while (1) {
		
		if (strcmp(abc, "stop")!=0) {
			scanf("%s", abc);
			printf("%s\n", abc);
			continue;
		}
		else
		{
			break;
		}
	}
	printf("프로그램을 종료합니다.");
	return 0;
}

이 코드 작성하는게 나한테는 정말 힘들었다..

특히 저 'stop' ...ㅠㅠ

구글링을 여러번 한 끝에 나의 실 수를 알아내었다.

문자열을 비교하는 코드가 따로 있었던 것이다 ㅠ

그래도 하나 알게되어 기쁘고, 문제를 해결해서 행복했다!! 🥰






배열, for 반복문


연습 문제

배열 {1, 6, 3, 24, 64, 33}의 변수들에 각 2를 곱해서 만든 새로운 배열을 for 반복문을 사용해서 만들기

#include<stdio.h>

int main() {
	
	int arrayA [6] = {1, 6, 3, 24, 64, 33};
	
	for (int i = 0 ; i < sizeof(arrayA)/sizeof(int) ; i++)
	{
		printf("%d\n", arrayA[i]*2);
	}
}






학습 후기

배운 내용들을 연습 문제를 통해 복습할 수 있어서 좋았다.
특히 앞서 기술한 연습 문제들 이외에 강의 마지막 강에 있는 추가 연습문제들이 도움이 많이 된 것 같다.
그리고 강의해주시는 분이 쉽게 잘 풀어서 설명해주셔서 쉽게 이해할 수 있었다.

추가적으로 풀었던 연습문제는 따로 올리지는 않을 것이다.
궁금하시거나 풀어보시고자 하시는 분들은 하단 참조 링크를 통해 들어가서 풀어보시면 좋을 것 같다.






reference

범고래의 SW 공작소, 가볍게 시작하는 C언어, 라이트C, 구름EDU, URL, 2021년 8월 29일 수강

좋은 웹페이지 즐겨찾기