본문 바로가기

프로그래밍 언어들/C

2장 - C언어 출력문 2장 - C언어 출력문 출력문이란 말 그대로 원하는 결과값을 화면을 통해 출력하는 것을 의미합니다. c언어의 출력문으로 printf() 를 주로 사용하므로, 이번 장에서는 printf() 함수의 사용법에 대해서 학습합니다. printf("(1)", (2)); printf() 함수의 인자값으로는 크게 2가지로 분류할 수 있습니다. (1) 실질적으로 화면에 보이는 데이터( 문자, 숫자 등 ) (2) 화면에 출력하고자 하는 변수 ( 생략이 가능하다. ) printf("Hello world!"); 위의 문장을 보면, (2)가 생략되어있고, (1)에는 Hello world!라는 문구가 쓰여져있습니다. 다음 소스코드를 실행해보도록 합니다. #include int main( void) { printf("Hello w.. 더보기
1장 - C언어의 구조 1장 - C언어의 구조 #include int main( void) { // write your code here return 0; } C언어는 크게 전처리 부분과 함수 부분으로 나눌 수 있다. 1. 전처리 : 사용자가 작성한 코드를 컴파일하기엔 미리 수행하는 작업으로 위의 예제 line.1에 해당한다. 헤더 파일을 소스코드에 포함시키거나, 매크로 등을 예로 들 수 있다. 2. 함수 : 실질적으로 코드를 작성하는 부분으로, 위의 예제 line3 - 8에 해당한다. 함수에 대한 세부적인 내용은 뒤에서 학습하도록 한다. 더보기
C언어 2중 포인터를 이용한 스택(stack) #include #include typedef struct node{int data;struct node *prv;}NODE; NODE* createnode( int); // create a node in Hip realmvoid delNode( NODE **); // delete a node positioned on top of stackvoid addNode( NODE **, int); // add a node on top of stackvoid insertNode( NODE **, int, int); // insert a node between two nodes int main( void){NODE *top = NULL; addNode( &top, 10);addNode( &top, 20);addNo.. 더보기
이중 포인터를 이용한 tree(트리) 구조 #include #include #defineFAIL0#defineSUCC1 typedef struct node{struct node *left;struct node *right;int data;}NODE; NODE* createNode( int);void insertNode( NODE **, int);int deleteNode( NODE **, int); int main( void){int arry[]= {50, 70, 30, 90, 60, 20, 110, 80, 65, 55, 68, 63, 58, 53};int c= 0;NODE *root= NULL; for( c = 0 ; c < sizeof(arry) / 4 ; c ++){insertNode( &root, arry[c]);} deleteNode( .. 더보기
이중 포인터를 이용한 큐(queue) #include #include #define _MSGONCALL_#define _PRINTNODE_ typedef struct node{int data;struct node* next;}NODE; void insertNode( NODE **, NODE **, int);void deleteNode( NODE **);void printNode( NODE *);NODE* createNode( int); int main( void){NODE *front = NULL;NODE *rear= NULL; insertNode( &front, &rear, 10);insertNode( &front, &rear, 20);insertNode( &front, &rear, 30); deleteNode( &front);delete.. 더보기
입력한 수의 회문 구하기 회문이란 뒤집어도 같은 수를 의미한다. ex) 121 , 545 ... int reverse_number( int); int main( void){int number= 0;scanf( "%d", &number); while( number != ( rvs_num = reverse_number( number))){printf( "%d + %d = %d\n", number, rvs_num, number + rvs_num); number += rvs_num;} return 0;} int reverse_number( int n){int num = 0; for(; n > 0 ; n /= 10){num *= 10; num += n % 10;} return num;} 더보기
파스칼 삼각형 출력하기 #define MAX 100 int main(void) {int arry[MAX][MAX] = {0, };int count = 1;int r = 0;scanf( "%d", &number); for( c = 0 ; c < number ; c ++){for( r = 0 ; r 더보기
재귀함수(recursive function)을 이용한 순차적 수 출력 void rec_func( int); int main( void){int number= 0;scanf( "%d", &number); rec_func( number); } void rec_func( int n){if( n == 0) return;rec_func( n-1);printf( "%3d", n);} 더보기
입력한 수가 소수(prime number)인지 판단하는 프로그램 int check_prime( int); int main( void){int number= 0;scanf( "%d", &number); if( check_prime( number)){printf( "That's prime number\n");}else{printf( "NOT prime number\n");}} int check_prime( int n){int c = 0; for( c = 2 ; c 더보기
조건문(switch~case)만 이용한 점수에 따른 학점 출력 Switch~case만을 사용해서 0~100 점 사이의 점수를 입력받아 해당하는 점수의 학점을 출력하는 프로그램이다. 그 외의 점수 입력시 에러 출력 int main( void){int number= 0;int c= 0;int sum= 0;intrvs_num= 0; scanf( "%d", &number); switch( number 0){case 0: printf("error!\n"); break;default :switch( number / 10){case 10:case 9: printf("A\n"); break;case 8: printf("B\n"); break;case 7: printf("C\n"); break;case 6: printf("D\n"); break;default : printf("F\.. 더보기