"실행문"의 두 판 사이의 차이
(새 문서: '''실행문'''은 프로그래밍 언어에 있어서 대입 조작, 점프, 반복, 순서 호출 등과 같이 실제 동작을 지시하는 문. 포트란(FORTRAN) 용어에서...) |
(→같이보기) |
||
(사용자 2명의 중간 판 8개는 보이지 않습니다) | |||
1번째 줄: | 1번째 줄: | ||
− | '''실행문'''은 프로그래밍 | + | '''실행문'''(execute statement, executable statement)은 [[프로그래밍 언어]]에 있어서 대입 조작, 점프, 반복, 순서 호출 등과 같이 실제 동작을 지시하는 문장이다. [[포트란]](Fortran) 용어에서 실행문이라고 하면 실행시의 동작을 지정하는 용어이다.<ref> 〈[https://terms.naver.com/entry.naver?docId=1614372&cid=50372&categoryId=50372 실행문]〉, 《네이버 지식백과》 </ref> |
==종류== | ==종류== | ||
− | [[대입문]] | + | ===대입문=== |
+ | 대입 연산자(=)를 자료와 함께 작성한 것을 [[대입문]]이라고 한다. | ||
− | + | ;C언어 기본식 | |
− | |||
− | |||
int num01 = 7; | int num01 = 7; | ||
int num02 = 7; | int num02 = 7; | ||
13번째 줄: | 12번째 줄: | ||
num02 -= 5; | num02 -= 5; | ||
num03 =- 5; | num03 =- 5; | ||
− | printf("- 연산자에 의한 | + | printf("- 연산자에 의한 결과값은 %d이다.\n", num01); |
− | printf("-= 연산자에 의한 | + | printf("-= 연산자에 의한 결과값은 %d이다.\n", num02); |
− | printf("=- 연산자에 의한 | + | printf("=- 연산자에 의한 결과값은 %d이다.\n", num03); |
− | 실행 결과 : - 연산자에 의한 | + | 실행 결과 : - 연산자에 의한 결과값은 2이다. |
− | -= 연산자에 의한 | + | -= 연산자에 의한 결과값은 2이다. |
− | =- 연산자에 의한 | + | =- 연산자에 의한 결과값은 -5이다.<ref> 〈[http://tcpschool.com/c/c_operator_assignment 대입 연산자]〉, 《티시피스쿨》 </ref> |
− | * | + | |
+ | ;자바 기본식 | ||
+ | public class Ex02_02_복합대입 { | ||
+ | public static void main(String[] args){ | ||
+ | |||
+ | int a, b, c; | ||
+ | a=3; // = 대입 연산자 | ||
+ | a += 5;//a=a+5; += 복합 대입 연산자 | ||
+ | |||
+ | System.out.println("a="+a); | ||
+ | |||
+ | b=20; | ||
+ | b -= 3;; //b=b-3; | ||
+ | System.out.println("b="+b); | ||
+ | |||
+ | char ch2 = 'b'; | ||
+ | ch2+=3; | ||
+ | //ch2=ch2+3; //에러 98+3 | ||
+ | //ch2 = (char)ch2+3; //에러 | ||
+ | ch2 = (char)(ch2+3); | ||
+ | |||
+ | System.out.println("ch2="+ch2); | ||
+ | System.out.println("ch2="+(char)ch2); | ||
+ | |||
+ | String fruit = "apple"; | ||
+ | fruit += "bananan"; | ||
+ | System.out.println("fruit=" + fruit); | ||
+ | |||
+ | } | ||
+ | |||
+ | } | ||
+ | 실행결과 : a=8 | ||
+ | b=17 | ||
+ | ch2=h | ||
+ | ch2=h | ||
+ | fruit=applebananan<ref> 즐거운깐족이, 〈[https://spahrose.tistory.com/9 (Java) 예제 연산자 복합대입]〉, 《티스토리》, 2016-04-23 </ref> | ||
+ | |||
+ | ====문자열==== | ||
+ | 대입문은 문자열을 대입할 수도 있다. | ||
+ | |||
+ | ;C언어 예제 | ||
+ | #define _CRT_SECURE_NO_WARNINGS // strcpy 보안 경고로 인한 컴파일 에러 방지 | ||
+ | #include <stdio.h> | ||
+ | #include <string.h> // strcpy 함수가 선언된 헤더 파일 | ||
+ | |||
+ | int main() | ||
+ | { | ||
+ | char s1[10] = "Hello"; // 크기가 10인 char형 배열을 선언하고 문자열 할당 | ||
+ | char s2[10]; // 크기가 10인 char형 배열을 선언 | ||
+ | |||
+ | strcpy(s2, s1); // s1의 문자열을 s2로 복사 | ||
+ | |||
+ | printf("%s\n", s2); // Hello | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | 실행 결과 : Hello<ref> 〈[https://dojang.io/mod/page/view.php?id=358 문자열을 복사하고 붙이기]〉, 《코딩도장》 </ref> | ||
+ | |||
+ | ; 자바 예제 | ||
+ | String str = new String("Java"); | ||
+ | |||
+ | System.out.println("원본 문자열 : " + str); | ||
+ | |||
+ | |||
+ | |||
+ | for (int i = 0; i < str.length(); i++) { | ||
+ | |||
+ | System.out.print(str.charAt(i) + " "); | ||
+ | |||
+ | } | ||
+ | |||
+ | System.out.println("\ncharAt() 메소드 호출 후 원본 문자열 : " + str); | ||
+ | 실행 결과 : 원본 문자열 : Java | ||
+ | |||
+ | J a v a | ||
+ | |||
+ | charAt() 메소드 호출 후 원본 문자열 : Java<ref> 〈[http://tcpschool.com/java/java_api_string java.lang.String 클래스]〉, 《티시피스쿨》 </ref> | ||
+ | |||
+ | ====배열==== | ||
+ | ;C언어 예제 | ||
+ | #include <stdio.h> | ||
+ | |||
+ | int main() | ||
+ | { | ||
+ | int numArr[10]; // 크기가 10인 배열 선언 | ||
+ | |||
+ | numArr[0] = 11; // 인덱스가 0인 배열의 요소에 값 할당 | ||
+ | numArr[1] = 22; // 인덱스가 1인 배열의 요소에 값 할당 | ||
+ | numArr[2] = 33; // 인덱스가 2인 배열의 요소에 값 할당 | ||
+ | numArr[3] = 44; // 인덱스가 3인 배열의 요소에 값 할당 | ||
+ | numArr[4] = 55; // 인덱스가 4인 배열의 요소에 값 할당 | ||
+ | numArr[5] = 66; // 인덱스가 5인 배열의 요소에 값 할당 | ||
+ | numArr[6] = 77; // 인덱스가 6인 배열의 요소에 값 할당 | ||
+ | numArr[7] = 88; // 인덱스가 7인 배열의 요소에 값 할당 | ||
+ | numArr[8] = 99; // 인덱스가 8인 배열의 요소에 값 할당 | ||
+ | numArr[9] = 110; // 인덱스가 9인 배열의 요소에 값 할당 | ||
+ | |||
+ | printf("%d\n", numArr[0]); // 11: 배열의 첫 번째(인덱스 0) 요소 출력 | ||
+ | printf("%d\n", numArr[5]); // 66: 배열의 여섯 번째(인덱스 5) 요소 출력 | ||
+ | printf("%d\n", numArr[9]); // 110: 배열의 열 번째(인덱스 9) 요소 출력 | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | 실행 결과 : 11 | ||
+ | 66 | ||
+ | 110<ref> 〈[https://dojang.io/mod/page/view.php?id=295 배열의 요소에 값 할당하기]〉, 《코딩도장》 </ref> | ||
+ | |||
+ | ;자바 예제 | ||
+ | public class ArrayVariableTest { | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | // TODO Auto-generated method stub | ||
+ | int[] test = {1, 2, 3}; | ||
+ | int[] test2; | ||
+ | |||
+ | test2 = test; | ||
+ | |||
+ | System.out.println("test : " + test[0] + ", " + test[1] + ", " + test[2]); | ||
+ | System.out.println("test2 : " + test2[0] + ", " + test2[1] + ", " + test2[2]); | ||
+ | |||
+ | test[1] = 4; | ||
+ | |||
+ | System.out.println("test : " + test[0] + ", " + test[1] + ", " + test[2]); | ||
+ | System.out.println("test2 : " + test2[0] + ", " + test2[1] + ", " + test2[2]); | ||
+ | |||
+ | test[2] = 5; | ||
+ | |||
+ | System.out.println("test : " + test[0] + ", " + test[1] + ", " + test[2]); | ||
+ | System.out.println("test2 : " + test2[0] + ", " + test2[1] + ", " + test2[2]); | ||
+ | |||
+ | } | ||
+ | } | ||
+ | 실행결과 | ||
+ | test : 1, 2, 3 | ||
+ | test2 : 1, 2, 3 | ||
+ | test : 1, 4, 3 | ||
+ | test2 : 1, 4, 3 | ||
+ | test : 1, 4, 5 | ||
+ | test2 : 1, 4, 5<ref> 꽁담, 〈[https://mozi.tistory.com/456 (JAVA) 자바 배열변수 값 대입시 주의점과 다차원 배열]〉, 《티스토리》, 2020-11-03 </ref> | ||
+ | |||
+ | ===제어문=== | ||
+ | [[제어문]](control statement)은 프로그램의 흐름을 지시하는 데 사용되는 문장들로서 특별한 전달을 유발하거나 이미 상술된 상황에 의한 전달을 실행시키는 포트란의 용어로 대표적으로 [[if]] 문, [[goto]] 문, [[return]]문이 있다.<ref> 〈[https://terms.naver.com/entry.naver?docId=819025&cid=42344&categoryId=42344 제어문]〉, 《네이버 지식백과》 </ref> | ||
+ | |||
+ | ====if문==== | ||
+ | [[if]]문은 선택 제어문 중에서 기본이 되는 명령문으로, 다음은 두 프로그래밍의 제어문의 예제이다. | ||
+ | |||
+ | ;C언어 예제 | ||
+ | # include < stdio.h > | ||
+ | |||
+ | void main ( void ) | ||
+ | { | ||
+ | |||
+ | int a ; | ||
+ | printf ( " 어떤 수를 입력하시오 : " ) ; | ||
+ | scanf ( " %d " , &a ) ; | ||
+ | if ( a % 2 ) printf ( " %d 는 홀수입니다. \n " , a ) ; | ||
+ | if ( ! ( a % 2 ) ) printf ( " %d는 짝수 입니다. \n " , a ) ; | ||
+ | |||
+ | } | ||
+ | |||
+ | 실행 결과 | ||
+ | 어떤 수를 입력하시오 : 5 Enter Button Push | ||
+ | 5 는 홀수입니다.<ref name="IF문"> 〈[http://www.angel25.com/ClanguageStudy5.html ( C 언어 스터디 )]〉, 《성안당》 </ref> | ||
+ | |||
+ | ;자바 예제 | ||
+ | public class IfExample1 { | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | |||
+ | char gender = 'M'; | ||
+ | |||
+ | if ( gender == 'F') {// { 중괄호시작 = 블록의 시작, 중괄호사이를 블록이라고 부름// 블록에서는 들여쓰기 해야 함(가독성) | ||
+ | System.out.println("여성입니다."); | ||
+ | }else { | ||
+ | System.out.println("여성이 아닙니다."); | ||
+ | } | ||
+ | // 여성이 아닙니다. | ||
+ | } | ||
+ | |||
+ | }<ref> foeverna, 〈[https://velog.io/@foeverna/Java%EC%A0%9C%EC%96%B4%EB%AC%B8-%EC%A1%B0%EA%B1%B4%EB%AC%B8-if%EB%AC%B8 (Java)제어문 - 조건문- if문]〉, 《벨로그》, 2020-08-24 </ref> | ||
+ | |||
+ | ====goto문==== | ||
+ | [[goto]]문은 지정된 [[레이블]](lable)로 무조건 분기하는 명령문으로 다음은 두 프로그래밍의 제어문의 예제이다. | ||
+ | |||
+ | ;C언어 예제 | ||
+ | # include < stdio.h > | ||
+ | |||
+ | void main ( void ) | ||
+ | { | ||
+ | |||
+ | int n = 0 , sum = 0 ; | ||
+ | |||
+ | begin : | ||
+ | |||
+ | n++ ; | ||
+ | sum += n ; | ||
+ | if ( n == 100 ) | ||
+ | |||
+ | printf ( " 1 + 2 + 3 + ............ + 100 = %d \n " , sum ) ; | ||
+ | |||
+ | else | ||
+ | |||
+ | goto begin ; | ||
+ | |||
+ | } | ||
+ | |||
+ | 실행 결과 | ||
+ | 1 + 2 + 3 + .............. + 100 = 5050<ref name="IF문"></ref> | ||
+ | |||
+ | ;자바 예제 | ||
+ | 자바는 goto 대신 [[out]]을 이용한다. | ||
+ | |||
+ | public class GotoInJava { | ||
+ | public static void main(String[] args) { | ||
+ | int i = 0; | ||
+ | int j = 0; | ||
+ | |||
+ | outer: | ||
+ | while(true) { | ||
+ | i++; | ||
+ | while(true) { | ||
+ | j++; | ||
+ | if(j % 10 == 0) break; | ||
+ | if(i % 10 == 0) break outer; | ||
+ | System.out.println(j); | ||
+ | } | ||
+ | } | ||
+ | System.out.println("i : " + i); | ||
+ | System.out.println("j : " + j); | ||
+ | } | ||
+ | }<ref> SeYUN, 〈[https://seyun99.tistory.com/entry/goto-in-java goto in java]〉, 《티스토리》, 2018-02-13 </ref> | ||
+ | |||
+ | ====return문==== | ||
+ | [[return]]문은 현재의 함수에서 값이나 주소를 반환할 때 사용한다.<ref> 〈[https://ko.wikipedia.org/wiki/Return_%EB%AC%B8 Return 문]〉, 《위키백과》 </ref> | ||
+ | |||
+ | ;C언어 예제 | ||
+ | #include <stdio.h> | ||
+ | |||
+ | double half(int x) | ||
+ | |||
+ | { | ||
+ | |||
+ | return (x/2.0); | ||
+ | |||
+ | } | ||
+ | |||
+ | int main() | ||
+ | |||
+ | { | ||
+ | |||
+ | int number; | ||
+ | |||
+ | printf("숫자를 입력해주세요\n"); | ||
+ | |||
+ | scanf("%d",&number); | ||
+ | |||
+ | printf("\n"); | ||
+ | |||
+ | printf("%d의 반절은 %.1f입니다.",number,half(number)); | ||
+ | |||
+ | getchar(); | ||
+ | |||
+ | return 0; | ||
+ | |||
+ | } | ||
+ | 실행결과 : 숫자를 입력해주세요 | ||
+ | 50 | ||
+ | 50의 반절은 25.0입니다.<ref> 느긋한 주인장, 〈[https://intunknown.tistory.com/124 c언어 return문]〉, 《티스토리》, 2017-12-16 </ref> | ||
+ | |||
+ | ;자바 예제 | ||
+ | class MethodReturn | ||
+ | { | ||
+ | public static void main(String[] args) | ||
+ | { | ||
+ | int result = adder(4,5); | ||
+ | System.out.println("4와 5의 합 : " + result); | ||
+ | System.out.println("3.5의 제곱 : " + square(3.5)); | ||
+ | |||
+ | String result2 = grade(88); | ||
+ | System.out.println("합격여부 : " + result2); | ||
+ | } | ||
+ | |||
+ | public static int adder(int n1, int n2){ | ||
+ | int addResult = n1 + n2; | ||
+ | return addResult; | ||
+ | } | ||
+ | |||
+ | public static double square(double num){ | ||
+ | return num * num; | ||
+ | } | ||
+ | |||
+ | public static String grade(int score){ | ||
+ | if(score >= 80) | ||
+ | { | ||
+ | return "합격"; | ||
+ | } | ||
+ | else{ | ||
+ | return "불합격"; | ||
+ | } | ||
+ | } // if문 안에서 return할 경우에는 반드시 else문으로 종료되어야 함. | ||
+ | }<ref> Jamesy leather, 〈[https://intunknown.tistory.com/124 (Java) 메소드(Method) Return 키워드]〉, 《티스토리》, 22020-06-25 </ref> | ||
+ | |||
+ | ===입출력문=== | ||
+ | [[입출력문]]은 입력과 출력을 담당하는 것으로 C언어에서는 [[printf]], [[scanf]], 자바에서는 [[print]], [[printIn]], [[printf]], [[read]]등이 있다. | ||
+ | |||
+ | ==== printf ==== | ||
+ | [[printf]]와 [[scanf]]는 C언어에서 가장 많이 사용하는 표준 입출력 함수로써 <stdio.h> 헤더파일에 정의되어 있다. 출력 함수는 printf("출력내용 %d, integer); 과 같이 사용할 수 있고, 입력 함수는 scanf("%d %f", &integer, &float);와 같이 사용할 수 있다. | ||
+ | |||
+ | #include<stdio.h> | ||
+ | |||
+ | int main() { | ||
+ | |||
+ | int integer; | ||
+ | printf("input the value : "); | ||
+ | scanf("%d \n", &integer); | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | |||
+ | 결과 | ||
+ | input the value : 100 | ||
+ | 100<ref name="입출력"> La.place, 〈[https://dev-momo.tistory.com/entry/C%EC%96%B8%EC%96%B4-%ED%91%9C%EC%A4%80-%EC%9E%85%EC%B6%9C%EB%A0%A5-%EC%A0%95%EB%A6%AC C언어 표준 입출력 정리]〉, 《티스토리》, 2015-10-30 </ref> | ||
+ | |||
+ | ==== getchar ==== | ||
+ | [[getchar]] 함수는 키보드로부터 한 번에 한 문자씩 읽어들이는 C언어의 함수이다. 아래와 같은 형식으로 사용한다. | ||
+ | |||
+ | int i; | ||
+ | |||
+ | i = getchar(); | ||
+ | |||
+ | 단점은 getchar로 숫자를 입력받을 시 두 자리 이상의 숫자를 받을 수 없다. [[putchar]] 함수는 화면에 한 문자씩 출력하는 함수이다. 파라미터의 아스키 코드값에 해당하는 문자를 출력한다. | ||
+ | |||
+ | #include<stdio.h> | ||
+ | |||
+ | int main() { | ||
+ | |||
+ | char a1; | ||
+ | a1 = getchar(); | ||
+ | putchar(a1); | ||
+ | |||
+ | return 0; | ||
+ | |||
+ | }<ref name="입출력"></ref> | ||
+ | |||
+ | ==== gets ==== | ||
+ | [[gets]] 함수는 키보드로부터 문자열을 읽어들여 문자열 포인터가 가리키는 장소에 기억시키며, 그 포인터를 되돌려 주는 C언어의 함수이다. 한 줄을 입력받을 때 사용할 수 있으며, space도 공백으로 문자열에 포함시킨다. 단점은 문자열 변수의 길이보다 긴 글자들을 입력할 경우 에러가 발생한다. [[puts]] 함수는 문자열을 화면으로 출력하는 함수이다. '\0'을 만나면 '\n'으로 바꾸어 출력한다. | ||
+ | |||
+ | #include<stdio.h> | ||
+ | |||
+ | int main() { | ||
+ | |||
+ | char str[20]; | ||
+ | gets_s(str); | ||
+ | puts(str); | ||
+ | |||
+ | return 0; | ||
+ | }<ref name="입출력"></ref> | ||
+ | |||
+ | ==== Scanner ==== | ||
+ | [[Scanner]]는 값을 입력받을 수 있는 [[자바]]의 [[클래스]]이다. 이를 통해서 [[정수]], [[실수]], [[단어]], 줄단위를 쉽게 읽어올 수 있다. | ||
+ | |||
+ | ; 호출 | ||
+ | Scanner를 사용하기 위해서는 import를 통해 호출한다. java.util 패키지에 포함되어 있으므로 다음과 같이 import한다. | ||
+ | import java.util.Scanner; | ||
+ | |||
+ | ; 객체 생성 | ||
+ | scn라는 객체를 생성하여 System.in으로 입력한 값을 바이트 단위로 읽는 것을 의미한다. | ||
+ | Scanner scn = new Scanner(System.in); | ||
+ | |||
+ | ; 예제 | ||
+ | |||
+ | import java.util.Scanner; | ||
+ | |||
+ | public class test { | ||
+ | |||
+ | public static void main(String[] args) { | ||
+ | String name; | ||
+ | int age; | ||
+ | double height; | ||
+ | String intro; | ||
+ | String buffer; | ||
+ | |||
+ | Scanner sc = new Scanner(System.in); | ||
+ | System.out.println("이름을 입력하세요"); | ||
+ | name = sc.next(); | ||
+ | System.out.println("나이를 입력하세요"); | ||
+ | age = sc.nextInt(); | ||
+ | System.out.println("키를 입력하세요"); | ||
+ | height = sc.nextDouble(); | ||
+ | System.out.println("자기소개를 입력하세요"); | ||
+ | buffer = sc.nextLine(); | ||
+ | intro = sc.nextLine(); | ||
+ | |||
+ | System.out.println("이름은 "+name+"나이는 "+age+",키는 "+height+"입니다."); | ||
+ | System.out.println(intro); | ||
+ | } | ||
+ | }<ref> ssung.k, 〈[https://ssungkang.tistory.com/entry/java%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A1%9C-%EB%B6%80%ED%84%B0-%EA%B0%92-%EC%9E%85%EB%A0%A5%EB%B0%9B%EA%B8%B0-Scanner (java)사용자로 부터 값 입력받기, Scanner]〉, 《티스토리》, 2019-03-20 </ref> | ||
+ | |||
+ | {{각주}} | ||
+ | |||
+ | ==참고자료== | ||
+ | * 〈[https://terms.naver.com/entry.naver?docId=1614372&cid=50372&categoryId=50372 실행문]〉, 《네이버 지식백과》 | ||
+ | * 〈[http://tcpschool.com/c/c_operator_assignment 대입 연산자]〉, 《티시피스쿨》 | ||
+ | * 〈[https://dojang.io/mod/page/view.php?id=358 문자열을 복사하고 붙이기]〉, 《코딩도장》 | ||
+ | * 〈[https://dojang.io/mod/page/view.php?id=295 배열의 요소에 값 할당하기]〉, 《코딩도장》 | ||
+ | * 〈[http://tcpschool.com/java/java_api_string java.lang.String 클래스]〉, 《티시피스쿨》 | ||
+ | * 꽁담, 〈[https://mozi.tistory.com/456 (JAVA) 자바 배열변수 값 대입시 주의점과 다차원 배열]〉, 《티스토리》, 2020-11-03 | ||
+ | * 즐거운깐족이, 〈[https://spahrose.tistory.com/9 (Java) 예제 연산자 복합대입]〉, 《티스토리》, 2016-04-23 | ||
+ | * 〈[https://terms.naver.com/entry.naver?docId=819025&cid=42344&categoryId=42344 제어문]〉, 《네이버 지식백과》 | ||
+ | * SeYUN, 〈[https://seyun99.tistory.com/entry/goto-in-java goto in java]〉, 《티스토리》, 2018-02-13 | ||
+ | * 〈[https://ko.wikipedia.org/wiki/Return_%EB%AC%B8 Return 문]〉, 《위키백과》 | ||
+ | * Jamesy leather, 〈[https://intunknown.tistory.com/124 (Java) 메소드(Method) Return 키워드]〉, 《티스토리》, 22020-06-25 | ||
+ | * La.place, 〈[https://dev-momo.tistory.com/entry/C%EC%96%B8%EC%96%B4-%ED%91%9C%EC%A4%80-%EC%9E%85%EC%B6%9C%EB%A0%A5-%EC%A0%95%EB%A6%AC C언어 표준 입출력 정리]〉, 《티스토리》, 2015-10-30 | ||
+ | * ssung.k, 〈[https://ssungkang.tistory.com/entry/java%EC%82%AC%EC%9A%A9%EC%9E%90%EB%A1%9C-%EB%B6%80%ED%84%B0-%EA%B0%92-%EC%9E%85%EB%A0%A5%EB%B0%9B%EA%B8%B0-Scanner (java)사용자로 부터 값 입력받기, Scanner]〉, 《티스토리》, 2019-03-20 | ||
+ | |||
+ | ==같이보기== | ||
+ | *[[명령문]] | ||
+ | *[[대입문]] | ||
+ | *[[입출력문]] | ||
+ | |||
+ | {{프로그래밍|검토 필요}} |
2023년 12월 21일 (목) 14:39 기준 최신판
실행문(execute statement, executable statement)은 프로그래밍 언어에 있어서 대입 조작, 점프, 반복, 순서 호출 등과 같이 실제 동작을 지시하는 문장이다. 포트란(Fortran) 용어에서 실행문이라고 하면 실행시의 동작을 지정하는 용어이다.[1]
목차
종류[편집]
대입문[편집]
대입 연산자(=)를 자료와 함께 작성한 것을 대입문이라고 한다.
- C언어 기본식
int num01 = 7; int num02 = 7; int num03 = 7; num01 = num01 - 5; num02 -= 5; num03 =- 5; printf("- 연산자에 의한 결과값은 %d이다.\n", num01); printf("-= 연산자에 의한 결과값은 %d이다.\n", num02); printf("=- 연산자에 의한 결과값은 %d이다.\n", num03); 실행 결과 : - 연산자에 의한 결과값은 2이다. -= 연산자에 의한 결과값은 2이다. =- 연산자에 의한 결과값은 -5이다.[2]
- 자바 기본식
public class Ex02_02_복합대입 { public static void main(String[] args){ int a, b, c; a=3; // = 대입 연산자 a += 5;//a=a+5; += 복합 대입 연산자 System.out.println("a="+a); b=20; b -= 3;; //b=b-3; System.out.println("b="+b); char ch2 = 'b'; ch2+=3; //ch2=ch2+3; //에러 98+3 //ch2 = (char)ch2+3; //에러 ch2 = (char)(ch2+3); System.out.println("ch2="+ch2); System.out.println("ch2="+(char)ch2); String fruit = "apple"; fruit += "bananan"; System.out.println("fruit=" + fruit); } } 실행결과 : a=8 b=17 ch2=h ch2=h fruit=applebananan[3]
문자열[편집]
대입문은 문자열을 대입할 수도 있다.
- C언어 예제
#define _CRT_SECURE_NO_WARNINGS // strcpy 보안 경고로 인한 컴파일 에러 방지 #include <stdio.h> #include <string.h> // strcpy 함수가 선언된 헤더 파일 int main() { char s1[10] = "Hello"; // 크기가 10인 char형 배열을 선언하고 문자열 할당 char s2[10]; // 크기가 10인 char형 배열을 선언 strcpy(s2, s1); // s1의 문자열을 s2로 복사 printf("%s\n", s2); // Hello return 0; } 실행 결과 : Hello[4]
- 자바 예제
String str = new String("Java"); System.out.println("원본 문자열 : " + str); for (int i = 0; i < str.length(); i++) { System.out.print(str.charAt(i) + " "); } System.out.println("\ncharAt() 메소드 호출 후 원본 문자열 : " + str); 실행 결과 : 원본 문자열 : Java J a v a charAt() 메소드 호출 후 원본 문자열 : Java[5]
배열[편집]
- C언어 예제
#include <stdio.h> int main() { int numArr[10]; // 크기가 10인 배열 선언 numArr[0] = 11; // 인덱스가 0인 배열의 요소에 값 할당 numArr[1] = 22; // 인덱스가 1인 배열의 요소에 값 할당 numArr[2] = 33; // 인덱스가 2인 배열의 요소에 값 할당 numArr[3] = 44; // 인덱스가 3인 배열의 요소에 값 할당 numArr[4] = 55; // 인덱스가 4인 배열의 요소에 값 할당 numArr[5] = 66; // 인덱스가 5인 배열의 요소에 값 할당 numArr[6] = 77; // 인덱스가 6인 배열의 요소에 값 할당 numArr[7] = 88; // 인덱스가 7인 배열의 요소에 값 할당 numArr[8] = 99; // 인덱스가 8인 배열의 요소에 값 할당 numArr[9] = 110; // 인덱스가 9인 배열의 요소에 값 할당 printf("%d\n", numArr[0]); // 11: 배열의 첫 번째(인덱스 0) 요소 출력 printf("%d\n", numArr[5]); // 66: 배열의 여섯 번째(인덱스 5) 요소 출력 printf("%d\n", numArr[9]); // 110: 배열의 열 번째(인덱스 9) 요소 출력 return 0; } 실행 결과 : 11 66 110[6]
- 자바 예제
public class ArrayVariableTest { public static void main(String[] args) { // TODO Auto-generated method stub int[] test = {1, 2, 3}; int[] test2; test2 = test; System.out.println("test : " + test[0] + ", " + test[1] + ", " + test[2]); System.out.println("test2 : " + test2[0] + ", " + test2[1] + ", " + test2[2]); test[1] = 4; System.out.println("test : " + test[0] + ", " + test[1] + ", " + test[2]); System.out.println("test2 : " + test2[0] + ", " + test2[1] + ", " + test2[2]); test[2] = 5; System.out.println("test : " + test[0] + ", " + test[1] + ", " + test[2]); System.out.println("test2 : " + test2[0] + ", " + test2[1] + ", " + test2[2]); } } 실행결과 test : 1, 2, 3 test2 : 1, 2, 3 test : 1, 4, 3 test2 : 1, 4, 3 test : 1, 4, 5 test2 : 1, 4, 5[7]
제어문[편집]
제어문(control statement)은 프로그램의 흐름을 지시하는 데 사용되는 문장들로서 특별한 전달을 유발하거나 이미 상술된 상황에 의한 전달을 실행시키는 포트란의 용어로 대표적으로 if 문, goto 문, return문이 있다.[8]
if문[편집]
if문은 선택 제어문 중에서 기본이 되는 명령문으로, 다음은 두 프로그래밍의 제어문의 예제이다.
- C언어 예제
# include < stdio.h > void main ( void ) { int a ; printf ( " 어떤 수를 입력하시오 : " ) ; scanf ( " %d " , &a ) ; if ( a % 2 ) printf ( " %d 는 홀수입니다. \n " , a ) ; if ( ! ( a % 2 ) ) printf ( " %d는 짝수 입니다. \n " , a ) ; } 실행 결과 어떤 수를 입력하시오 : 5 Enter Button Push 5 는 홀수입니다.[9]
- 자바 예제
public class IfExample1 { public static void main(String[] args) { char gender = 'M'; if ( gender == 'F') {// { 중괄호시작 = 블록의 시작, 중괄호사이를 블록이라고 부름// 블록에서는 들여쓰기 해야 함(가독성) System.out.println("여성입니다."); }else { System.out.println("여성이 아닙니다."); } // 여성이 아닙니다. } }[10]
goto문[편집]
goto문은 지정된 레이블(lable)로 무조건 분기하는 명령문으로 다음은 두 프로그래밍의 제어문의 예제이다.
- C언어 예제
# include < stdio.h > void main ( void ) { int n = 0 , sum = 0 ; begin : n++ ; sum += n ; if ( n == 100 ) printf ( " 1 + 2 + 3 + ............ + 100 = %d \n " , sum ) ; else goto begin ; } 실행 결과 1 + 2 + 3 + .............. + 100 = 5050[9]
- 자바 예제
자바는 goto 대신 out을 이용한다.
public class GotoInJava { public static void main(String[] args) { int i = 0; int j = 0; outer: while(true) { i++; while(true) { j++; if(j % 10 == 0) break; if(i % 10 == 0) break outer; System.out.println(j); } } System.out.println("i : " + i); System.out.println("j : " + j); } }[11]
return문[편집]
return문은 현재의 함수에서 값이나 주소를 반환할 때 사용한다.[12]
- C언어 예제
#include <stdio.h> double half(int x) { return (x/2.0); } int main() { int number; printf("숫자를 입력해주세요\n"); scanf("%d",&number); printf("\n"); printf("%d의 반절은 %.1f입니다.",number,half(number)); getchar(); return 0; } 실행결과 : 숫자를 입력해주세요 50 50의 반절은 25.0입니다.[13]
- 자바 예제
class MethodReturn { public static void main(String[] args) { int result = adder(4,5); System.out.println("4와 5의 합 : " + result); System.out.println("3.5의 제곱 : " + square(3.5)); String result2 = grade(88); System.out.println("합격여부 : " + result2); } public static int adder(int n1, int n2){ int addResult = n1 + n2; return addResult; } public static double square(double num){ return num * num; } public static String grade(int score){ if(score >= 80) { return "합격"; } else{ return "불합격"; } } // if문 안에서 return할 경우에는 반드시 else문으로 종료되어야 함. }[14]
입출력문[편집]
입출력문은 입력과 출력을 담당하는 것으로 C언어에서는 printf, scanf, 자바에서는 print, printIn, printf, read등이 있다.
printf[편집]
printf와 scanf는 C언어에서 가장 많이 사용하는 표준 입출력 함수로써 <stdio.h> 헤더파일에 정의되어 있다. 출력 함수는 printf("출력내용 %d, integer); 과 같이 사용할 수 있고, 입력 함수는 scanf("%d %f", &integer, &float);와 같이 사용할 수 있다.
#include<stdio.h> int main() { int integer; printf("input the value : "); scanf("%d \n", &integer); return 0; }
결과 input the value : 100 100[15]
getchar[편집]
getchar 함수는 키보드로부터 한 번에 한 문자씩 읽어들이는 C언어의 함수이다. 아래와 같은 형식으로 사용한다.
int i; i = getchar();
단점은 getchar로 숫자를 입력받을 시 두 자리 이상의 숫자를 받을 수 없다. putchar 함수는 화면에 한 문자씩 출력하는 함수이다. 파라미터의 아스키 코드값에 해당하는 문자를 출력한다.
#include<stdio.h> int main() { char a1; a1 = getchar(); putchar(a1); return 0; }[15]
gets[편집]
gets 함수는 키보드로부터 문자열을 읽어들여 문자열 포인터가 가리키는 장소에 기억시키며, 그 포인터를 되돌려 주는 C언어의 함수이다. 한 줄을 입력받을 때 사용할 수 있으며, space도 공백으로 문자열에 포함시킨다. 단점은 문자열 변수의 길이보다 긴 글자들을 입력할 경우 에러가 발생한다. puts 함수는 문자열을 화면으로 출력하는 함수이다. '\0'을 만나면 '\n'으로 바꾸어 출력한다.
#include<stdio.h> int main() { char str[20]; gets_s(str); puts(str); return 0; }[15]
Scanner[편집]
Scanner는 값을 입력받을 수 있는 자바의 클래스이다. 이를 통해서 정수, 실수, 단어, 줄단위를 쉽게 읽어올 수 있다.
- 호출
Scanner를 사용하기 위해서는 import를 통해 호출한다. java.util 패키지에 포함되어 있으므로 다음과 같이 import한다.
import java.util.Scanner;
- 객체 생성
scn라는 객체를 생성하여 System.in으로 입력한 값을 바이트 단위로 읽는 것을 의미한다.
Scanner scn = new Scanner(System.in);
- 예제
import java.util.Scanner; public class test { public static void main(String[] args) { String name; int age; double height; String intro; String buffer; Scanner sc = new Scanner(System.in); System.out.println("이름을 입력하세요"); name = sc.next(); System.out.println("나이를 입력하세요"); age = sc.nextInt(); System.out.println("키를 입력하세요"); height = sc.nextDouble(); System.out.println("자기소개를 입력하세요"); buffer = sc.nextLine(); intro = sc.nextLine(); System.out.println("이름은 "+name+"나이는 "+age+",키는 "+height+"입니다."); System.out.println(intro); } }[16]
각주[편집]
- ↑ 〈실행문〉, 《네이버 지식백과》
- ↑ 〈대입 연산자〉, 《티시피스쿨》
- ↑ 즐거운깐족이, 〈(Java) 예제 연산자 복합대입〉, 《티스토리》, 2016-04-23
- ↑ 〈문자열을 복사하고 붙이기〉, 《코딩도장》
- ↑ 〈java.lang.String 클래스〉, 《티시피스쿨》
- ↑ 〈배열의 요소에 값 할당하기〉, 《코딩도장》
- ↑ 꽁담, 〈(JAVA) 자바 배열변수 값 대입시 주의점과 다차원 배열〉, 《티스토리》, 2020-11-03
- ↑ 〈제어문〉, 《네이버 지식백과》
- ↑ 9.0 9.1 〈( C 언어 스터디 )〉, 《성안당》
- ↑ foeverna, 〈(Java)제어문 - 조건문- if문〉, 《벨로그》, 2020-08-24
- ↑ SeYUN, 〈goto in java〉, 《티스토리》, 2018-02-13
- ↑ 〈Return 문〉, 《위키백과》
- ↑ 느긋한 주인장, 〈c언어 return문〉, 《티스토리》, 2017-12-16
- ↑ Jamesy leather, 〈(Java) 메소드(Method) Return 키워드〉, 《티스토리》, 22020-06-25
- ↑ 15.0 15.1 15.2 La.place, 〈C언어 표준 입출력 정리〉, 《티스토리》, 2015-10-30
- ↑ ssung.k, 〈(java)사용자로 부터 값 입력받기, Scanner〉, 《티스토리》, 2019-03-20
참고자료[편집]
- 〈실행문〉, 《네이버 지식백과》
- 〈대입 연산자〉, 《티시피스쿨》
- 〈문자열을 복사하고 붙이기〉, 《코딩도장》
- 〈배열의 요소에 값 할당하기〉, 《코딩도장》
- 〈java.lang.String 클래스〉, 《티시피스쿨》
- 꽁담, 〈(JAVA) 자바 배열변수 값 대입시 주의점과 다차원 배열〉, 《티스토리》, 2020-11-03
- 즐거운깐족이, 〈(Java) 예제 연산자 복합대입〉, 《티스토리》, 2016-04-23
- 〈제어문〉, 《네이버 지식백과》
- SeYUN, 〈goto in java〉, 《티스토리》, 2018-02-13
- 〈Return 문〉, 《위키백과》
- Jamesy leather, 〈(Java) 메소드(Method) Return 키워드〉, 《티스토리》, 22020-06-25
- La.place, 〈C언어 표준 입출력 정리〉, 《티스토리》, 2015-10-30
- ssung.k, 〈(java)사용자로 부터 값 입력받기, Scanner〉, 《티스토리》, 2019-03-20
같이보기[편집]