SW 배움터/C#

프로그램별 백까지 더하기 비교

kusson 2017. 6. 5. 16:52
반응형
728x170

 우리가 많이 쓰는 프로그램들은 C, C++, C#, 자바등이다. 언어의 개발 순서를 보면 C가 가장 먼저 나왔고 그 이후 C++이 나오면서 나머지는 대분분 비슷한 시기에 개발되었다고 보면 된다. 이 4가지 언어들의 공통점은 모두 C에서 출발한다는 점이다. C가 절차지형적인 프로그램이라면 나머지 3개의 언어는 모두 객체지향적인 프로그램이나 C에서 부터 출발했기에 문법적인 부분에서는 공통적인 점이 많다. 그래서 이들 언어의 문법과 공통점이나 차이점을 알아보고 싶을때가 있다. 이때 가장 좋은 방법은 1부터 100까지 더하는 프로그램을 비교해 보는 것이다. 가장 쉽게 프로그램을 짤 수 있고 서로의 기본적인 문법을 비교해 볼 수 있는 좋은 방법이라고 생각된다. 그럼 C부터 하나하나 덧셈을 처리하는 방법을 살펴보자

 

 

C로 1부터 100까지 더하는 프로그램.

#include <stdio.h>

/*
main(){
int i;
int sum = 0;
  for(i=1; i<=100; i++){
    sum = sum+i;
  }
 printf("%d\n",sum);
return 0;

*/
}

 

C++로 1부터 100까지 더하는 프로그램.

#include <stdio.h>

//void main(){

//int i;
//int sum = 0;
//for (int i=1; i<=100; i++)
//sum = sum+i;
//cout << "1부터 100까지의 합:" << sum <<end;
//}

 

  C++은 C에 클래스 기능을 추가한 언어라고 간단히 말할 수 있는데 클래스 추가 외에 몇가지의 차이점이 더 존재 한다. 그것은 주석처리하는 방법과 변수선언의 방법 차이다. C에서의 주석처리는 /*  ~    */ 로 처리하는 반면 C++에서는/* ~ */ 도 가능하나 주로 //를 사용한다. 또한 변수 선언방식도 다르다. C에서는 로컬 변수의 선언을 선두에서 수행했지만 C++에서는 블록내의 어느곳에서나 변수 선언이 가능해졌다. 즉 변수 선언의 자유도가 훨씬 높아졌다는 말이다. 따라서 프로그램이 길어질 경우 변수선언을 중간에 다시 하려면 한참 위로 스크롤해서 올라가 변수선언을 해야 하거나 또 변수선언을 하려던 생각을 잊어버려서 에러가 발생했던 경험들 있을 것이다. C++에서는 그런 문제점들을 수정했다. 그러나 함수선언에 있어서는 C++에서 더 엄격해 졌다. 즉 함수는 상단부에 프로토타입으로 선언을 해야지만 에러가 발생하지 않으니 주의를 해야 한다. 또한 출력하는 방법도 차이가 있으니 구분을 잘 해야 할 것이다.

 

C#으로1부터 100까지 더하는 프로그램.

using System;

class Program
   {
      static void Main(string[] args)
     {
        int count = 1, sum = 0, n = 100;

        while (count <= n)
      {
       sum = sum+i;
       count++;
      }

      Console.WriteLine(sum);
     }
   }

 

 

자바로 1부터 100까지 더하는 프로그램.

public class sumCal {

   public static void main(String[] args) {
     int i=0;
     int sum=0;
          for(i=0; i<=100; i++)
          {
             sum=sum+i;
          }
      Systemout.println(sum);
     }

 }

 

 절차지향언어와 객체 지향언어의 차이점은 클래스를 어떻게 처리하느냐에 달렸다. C에서는 클래스란 개념이 없기 때문에 생각나는대로 쭉쭉 프로그램을 짜나가면 되고 C++과 C#, 자바는 객체지향언어이기 때문에 클래스란 개념을 생각해 가면서 프로그램을 짜야 하는 것이다.

반응형
그리드형

'SW 배움터 > C#' 카테고리의 다른 글

C# 텍스트와 이미지 동시 출력  (1) 2022.10.28
visual studio 2022에서 C# 실행하기  (0) 2022.09.03
VS code에서 C# 실행하기  (0) 2022.09.02
C# 프로그램 개요  (0) 2017.03.29