키보드로부터 데이터를 입력받아 화면이나 파일로 출력하는 것
#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
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 | 널 문자 출력 |
연산자 우선순위(높음 - 낮음)
단항 - 산술 - 시프트 - 관계 - 비트 - 논리 - 조건 - 대입 - 순서
서술된 순서에 따라 무조건 위에서 아래로 실행되는 프로그램의 순서를 변경할 때 사용
#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
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