프로그래밍 언어 활용 - 1
데이터 입출력
- 개요
키보드로부터 데이터를 입력받아 화면이나 파일로 출력하는 것
- C 문제
6과 4를 입력받아 두 수의 덧셈 결과를 출력하는 프로그램의 결과
#include <stdio.h>
main()
{
int i, j, k;
scanf("%d %d", &i, &j);
k = i + j;
printf("%d\n", k);
}
- 해설 및 답
- scanf()를 통해 i = 4, j = 6를 입력받음
- k = i + j이므로, 4 + 6 = 10으로 k = 10
- printf()로 k를 출력하면 10이 출력
- 따라서 출력 결과는 10
- Java 문제
4를 입력받은 정수를 가지고 여러 연산을 수행한 후 출력하느 프로그램의 출력 결과
import java.util.Scanner;
public class Test
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
System.out.printf("a * 3 = %d\n", a * 3);
System.out.println("a / 2 = " + (a / 2));
System.out.print("a - 1 = " + (a - 1));
scan.close();
}
}
- 해설 및 답
- Scanner 클래스를 이용해 키보드로 입력 값을 받는다.
- 객체 변수 scan을 생성하여 입력 값을 받음
- 정수형 변수 a를 선언하고 입력받은 정수 값인 4를 저장
- printf(), println(), print()의 연산 방법으로 출력
- 따라서 결과는 아래와 같다.
a * 3 = 12
a / 2 = 2
a - 1 = 3
- 헝가리안 표기법(Hungarian Notation)
변수명 작성 시 변수의 자료형을 알 수 있도록 자료형을 의미하는 문자를 포함하여 작성하는 방법
-
예시
int i_InputA : 정수형 변수
double d_Result : 배정도 실수형 변수
-
주요 자료형
종류 자료형 크기(C) 크기(Java) 정수형 int 4Byte 4Byte 문자형 char 1Byte 2Byte 실수형 float 4Byte 4Byte double 8Byte 8Byte
-
주요 서식 문자열
서식 문자열 의미 %d 정수형 10진수의 입출력에 사용 %o 정수형 8진수의 입출력에 사용 %x 정수형 16진수의 입출력에 사용 %c 문자의 입출력에 사용 %s 문자열의 입출력에 사용 %f 소수점을 포함한 실수의 입출력에 사용 출력시 소수점 이하는 기본적으로 6자리 출력
-
주요 제어문자
제어문자 기능 \n 커서를 다음 줄의 처음으로 이동(new line) \t 커서를 일정 간격 띄움(tab) \O 널 문자 출력
-
연산자 우선순위(높음 - 낮음)
단항 - 산술 - 시프트 - 관계 - 비트 - 논리 - 조건 - 대입 - 순서
제어문
- 개요
서술된 순서에 따라 무조건 위에서 아래로 실행되는 프로그램의 순서를 변경할 때 사용
- C 문제
#include<stdio.h>
main()
{
int score[] = {86, 53, 95, 76, 61};
char grade;
char str[] = "Rank";
for(int i = 0; i < 5; i++)
{
switch(score[i] / 10)
{
case 10:
case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
default: grade = 'F';
}
if(grade != 'F')
printf("%d is %c %s\n", i + 1, grade, str);
}
}
- 해설 및 답
반복문 실행 결과
i score[i] score[i]/0 grade grade!='F' 출력 0 86 8 B True 1 is B Rank 1 53 5 F False 2 95 9 A True 3 is A Rank 3 76 7 C False 4 is C Rank 4 61 6 F True 5
따라서 결과는
1 is B Rank
3 is A Rank
4 is C Rank
- Java 문제
public class Test
{
public static void main(String[] args)
{
String str = "agile";
int x[] = {1, 2, 3, 4, 5}
char y[] = new char[5];
int i = 0;
while (i < str.length())
{
y[i] = str.charAt(i);
i++;
}
for (int p : x)
{
i--;
System.out.print(y[i]);
System.out.print(p + " ");
}
}
}
- 해설 및 답
while 문 반복 결과
i str str.length() str.charAt(i) y[] 0 agile 5 a a 1 g ag 2 i agi 3 l agil 4 e agile 5
for 문 반복 결과
p i y[i] 출력 1 4 e e1 2 3 l e1 l2 3 2 i e1 l2 i3 4 1 g e1 l2 i3 g4 5 0 a e1 l2 i3 g4 a5
따라서 결과는 다음과 같다.
e1
e1 l2
e1 l2 i3
Author And Source
이 문제에 관하여(프로그래밍 언어 활용 - 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@swkiim/programming-lang-1
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
키보드로부터 데이터를 입력받아 화면이나 파일로 출력하는 것
6과 4를 입력받아 두 수의 덧셈 결과를 출력하는 프로그램의 결과
#include <stdio.h>
main()
{
int i, j, k;
scanf("%d %d", &i, &j);
k = i + j;
printf("%d\n", k);
}
- 해설 및 답
- scanf()를 통해 i = 4, j = 6를 입력받음
- k = i + j이므로, 4 + 6 = 10으로 k = 10
- printf()로 k를 출력하면 10이 출력
- 따라서 출력 결과는 10
4를 입력받은 정수를 가지고 여러 연산을 수행한 후 출력하느 프로그램의 출력 결과
import java.util.Scanner;
public class Test
{
public static void main(String[] args)
{
Scanner scan = new Scanner(System.in);
int a = scan.nextInt();
System.out.printf("a * 3 = %d\n", a * 3);
System.out.println("a / 2 = " + (a / 2));
System.out.print("a - 1 = " + (a - 1));
scan.close();
}
}
- 해설 및 답
- Scanner 클래스를 이용해 키보드로 입력 값을 받는다.
- 객체 변수 scan을 생성하여 입력 값을 받음
- 정수형 변수 a를 선언하고 입력받은 정수 값인 4를 저장
- printf(), println(), print()의 연산 방법으로 출력
- 따라서 결과는 아래와 같다.
a * 3 = 12
a / 2 = 2
a - 1 = 3
변수명 작성 시 변수의 자료형을 알 수 있도록 자료형을 의미하는 문자를 포함하여 작성하는 방법
-
예시
int i_InputA : 정수형 변수
double d_Result : 배정도 실수형 변수 -
주요 자료형
종류 자료형 크기(C) 크기(Java) 정수형 int 4Byte 4Byte 문자형 char 1Byte 2Byte 실수형 float 4Byte 4Byte double 8Byte 8Byte -
주요 서식 문자열
서식 문자열 의미 %d 정수형 10진수의 입출력에 사용 %o 정수형 8진수의 입출력에 사용 %x 정수형 16진수의 입출력에 사용 %c 문자의 입출력에 사용 %s 문자열의 입출력에 사용 %f 소수점을 포함한 실수의 입출력에 사용 출력시 소수점 이하는 기본적으로 6자리 출력 -
주요 제어문자
제어문자 기능 \n 커서를 다음 줄의 처음으로 이동(new line) \t 커서를 일정 간격 띄움(tab) \O 널 문자 출력 -
연산자 우선순위(높음 - 낮음)
단항 - 산술 - 시프트 - 관계 - 비트 - 논리 - 조건 - 대입 - 순서
- 개요
서술된 순서에 따라 무조건 위에서 아래로 실행되는 프로그램의 순서를 변경할 때 사용
- C 문제
#include<stdio.h>
main()
{
int score[] = {86, 53, 95, 76, 61};
char grade;
char str[] = "Rank";
for(int i = 0; i < 5; i++)
{
switch(score[i] / 10)
{
case 10:
case 9:
grade = 'A';
break;
case 8:
grade = 'B';
break;
case 7:
grade = 'C';
break;
default: grade = 'F';
}
if(grade != 'F')
printf("%d is %c %s\n", i + 1, grade, str);
}
}
- 해설 및 답
반복문 실행 결과
i score[i] score[i]/0 grade grade!='F' 출력 0 86 8 B True 1 is B Rank 1 53 5 F False 2 95 9 A True 3 is A Rank 3 76 7 C False 4 is C Rank 4 61 6 F True 5 따라서 결과는
1 is B Rank
3 is A Rank
4 is C Rank
- Java 문제
public class Test
{
public static void main(String[] args)
{
String str = "agile";
int x[] = {1, 2, 3, 4, 5}
char y[] = new char[5];
int i = 0;
while (i < str.length())
{
y[i] = str.charAt(i);
i++;
}
for (int p : x)
{
i--;
System.out.print(y[i]);
System.out.print(p + " ");
}
}
}
- 해설 및 답
while 문 반복 결과
i str str.length() str.charAt(i) y[] 0 agile 5 a a 1 g ag 2 i agi 3 l agil 4 e agile 5 for 문 반복 결과
p i y[i] 출력 1 4 e e1 2 3 l e1 l2 3 2 i e1 l2 i3 4 1 g e1 l2 i3 g4 5 0 a e1 l2 i3 g4 a5 따라서 결과는 다음과 같다.
e1
e1 l2
e1 l2 i3
Author And Source
이 문제에 관하여(프로그래밍 언어 활용 - 1), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@swkiim/programming-lang-1저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)