-
swift 문법 기초 챕터1 RecapiOS 앱 개발 부트캠프/TIL 2024. 10. 29. 20:29
1. 기본 데이터 타입
기본 데이터 타입 질문
- Q. 기본 데이터 타입 Int 에 대해서 설명해주세요
- A. 정수를 저장하는 데이터 타입
기본 데이터 타입 질문
let testValue = 15
- Q. 위의 testValue는 어떤 데이터 타입일까요?
- A: Int
기본 데이터 타입 질문
- Q. Float 과 Double은 모두 소수점을 저장할수 있는 데이터 타입이다. OX로 답변해주세요
- A : O
기본 데이터 타입 질문
- Q. Bool 데이터에 대해서 설명해주세요.
- A: 참/거짓을 저장하는 데이터 타입
기본 데이터 타입 질문
- Q. 문자열을 저장할 수 있는 데이터타입의 이름은 무엇이었죠!?
- A. String
기본 데이터 타입 질문
아래의 _____에는 어떤 데이터타입이 들어가면 좋을까요?
let price: ______ = 199.95 // A: Float or Double let name: ______ = "수강생!" // A: String let isAdult: ______ = false // A: Bool
기본 데이터 타입 질문
- Q. Int와 Float은 둘다 숫자를 표현하는데 동일한 타입인가요?
- A. Int는 정수형, Float은 실수형 숫자를 저장하는 데이터 타입이라 조금 다릅니다.
- Q. 만약 동일하지 않다면 차이점은 무엇인가요?
- A. Int는 정수, Float은 소수점을 포함한 실수
2. 변수와 상수
변수와 상수 질문
- Q. 변수와 상수에 대해서 설명해주세요.
- A. 변수는 값을 할당한 후에도 값이 변할 수 있고 상수는 값을 할당 한 뒤로 값이 변하지 않습니다.
- Q. 변수를 사용하기 위한 키워드는 무엇인가요?
- A. var
- A. var
- Q. 상수를 사용하기 위한 키워드는 무엇인가요?
- A. let
- A. let
- Q. 상수에는 값을 할당하고 다른 값을 할당하면 어떻게 되나요?
- A. let 데이터라 값을 바꿀 수 없다고 컴파일 에러가 나곤 했습니다.
변수와 상수 질문
아래의 한국말을 개발해주세요!
- 1. 변수의 이름은 phone, 타입은 문자열로 선언해주세요.
- 2. phone변수에 "iPhone" 값을 할당해주세요.
- 3. print 함수를 사용하여 phone 변수의 값을 출력해주세요.
var phone: String phone = "iPhone" print(phone)
변수와 상수 질문
아래의 한국말을 개발해주세요. 그리고 아래에 있는 질문에 답변해주세요.
- 상수의 이름은 age이고 값은 15를 할당해주세요.
let age = 15
- Q. 위의 코드에서 age의 데이터타입은 무엇일까요!?
- A. Int
- Q. age에 데이터타입을 명시하지 않았는데 위의 데이터타입이 되는 이유는 무엇인가요?
- A. 숫자 15를 입력하면 swift 컴파일러가 데이터 타입 추론을 지원하기 때문에 명시하지 않아도 자동으로 Int 타입으로 처리합니다.
변수와 상수 질문
아래의 한국말을 코드로 개발해주세요!
- 상수의 이름은 width이고, 값은 200을 할당해주세요.
- 변수의 이름은 length이고, 값은 300을 할당해주세요.
- 두 값을 더한 결과를 출력해주세요.
let width = 200 var length = 300 print(width + length)
변수와 상수 질문
아래의 한국말을 코드로 개발해주세요!
- 변수의 이름은 temperature이고, 타입은 Double로 선언해주세요.
- temperature에 36.5 값을 할당해주세요.
- print 함수를 사용하여 "현재 온도는 36.5도 입니다"라는 문장을 출력해주세요.
- 이때 36.5는 temperature 변수의 값을 사용해주세요.
var temperature: Double temperature = 36.5 print("현재 온도는 \(temperature)도 입니다.")
변수와 상수 질문
아래의 코드를 한글로 번역해주세요.
var name: String = "!!" // 번역 : name이라는 이름의 문자열 타입 변수에 !! 라는 문구를 저장합니다. print(name) // 번역 : name에 저장된 내용을 출력합니다. print("Hello World") // 번역 : Hello World 라는 내용을 출력합니다. let height: Float // 번역 : Float 타입의 상수 height를 선언했습니다. height = 123.0 // 번역 : 상수 height에 123.0이라는 값을 할당했습니다.
변수와 상수 질문
아래의 한국말을 코드로 개발해주세요!
- 상수 isComplete를 Bool 타입으로 선언하고 true 값을 할당해주세요.
- print 함수를 사용하여 isComplete 값을 출력해주세요.
let isComplete: Bool = true print(isComplete)
변수와 상수 질문
- Q. 아래의 코드는 잘 작동 할까요?
let testValue = 10 testValue = 5 print(testValue)
- A. testValue를 상수로 선언하고 초기 값을 10으로 할당한 뒤에 다시 5를 할당하려고 하니 에러가 발생할 것입니다.
3. 연산자
연산자 질문 1.
OX 퀴즈
- Q. 대입연산자(=)는 왼쪽에 있는 값을 오른쪽에 대입(할당)하는 역할을 한다.
- A. X, 반대로 오른쪽에 있는 값을 왼쪽에 대입합니다.
연산자 질문 2.
아래의 한국말을 코드로 작성해주세요.
- 변수 count를 선언하고 값을 10 대입하세요.
- count의 값을 5로 변경하세요.
var count = 10 count = 5
연산자 질문 3.
아래의 코드를 보고 질문에 답변해주세요.
var test3 = 10 test3 -= 5
- Q. print(test3)의 출력값은 무엇일까요?
- A. 5
연산자 질문 4.
아래의 한국말을 코드로 개발해주세요.
- 두개의 변수 a,b를 선언하여 10, 20 값을 대입해주세요.
- 변수 a,b를 더한값을 출력해보세요.
- 변수 a와 b의 나머지 연산 결과를 출력해주세요.
- 아래에 개발해주세요
var a = 10 var b = 20 print(a + b) print(a % b)
연산자 질문 5.
아래의 코드를 보고 질문에 답변해주세요.
var test5A = true var test5B = false
- Q. print(test5A == test5B) 의 출력값은 무엇일까요?
- A. false
- Q. test5A의 타입은 String이다? O/X로 답변해주세요!
- A. X
- Q. print(test5A || test5B) 의 출력값은 무엇일까요?
- A. true
- Q. print(test5B && test5A) 의 출력값은 무엇일까요?
- A. false
- Q. print(!test5B) 의 출력값은 무엇일까요?
- A. true
- Q. print(!test5A || test5B)의 출력값은 무엇일까요?
- A. false
연산자 질문 6.
아래의 한국말을 코드로 개발해주세요!
- 변수 x에 10을, 변수 y에 20을 대입하세요.
- x와 y가 같은지 비교하여 결과를 출력하세요.
- x가 y보다 작은지 비교하여 결과를 출력하세요.
var x = 10 var y = 20 print(x == y) print(x < y)
연산자 질문 7.
아래의 코드를 보고 질문에 답변해주세요.
1...5
- Q. 해당 범위 연산자에 포함되는 숫자는 무엇이 있을까요?
- A. 1, 2, 3, 4, 5
연산자 질문 8.
아래의 코드를 보고 질문에 답변해주세요.
10..<11
- Q. 해당 범위 연산자에 포함되는 숫자는 무엇이 있을까요?
- A. 10
4. 조건문
조건문 질문
Q. 조건문을 개발할 때 사용하는 키워드를 선택해주세요
- for
- if
- switch
- func
- let
- Array
- guard
- closure
A. if, switch, guard
조건문 질문
아래의 코드에서 번역 : 뒤의 부분을 채워주세요
let score = 85 // 번역 : 상수 score에 숫자 85를 할당했습니다. if score >= 90 { // 번역 : 만약 score의 값이 90 이상이라면 print("A") // 번역 : A 를 출력합니다. } else if score >= 80 { // 번역 : 그리고 만약 score의 값이 90 이상이 아니면서, 80 이상이라면 B를 출력합니다. print("B") } else { // 번역 : score가 90이상도, 90~80의 값도 아니라면 C를 출력합니다 print("C") }
- Q. 위 코드에서 출력되는 값은 무엇일까요?
- A. score가 85이기 때문에 else if 부분이 동작해 B가 출력됩니다.
조건문 질문
아래의 한국말을 코드로 작성해주세요.
- 변수 dayOfWeek에 "Friday"를 대입하세요.
- switch 문을 사용하여 dayOfWeek이 "Monday"일 때는 "월요일", "Friday"일 때는 "금요일"을 출력하세요.
- 그 외의 경우에는 "평일입니다"를 출력하세요.
var dayOfWeek = "Friday" switch dayOfWeek { case "Monday": print("월요일") case "Friday": print("금요일") default: print("평일입니다") }
조건문 질문
아래의 한국말을 코드로 작성해주세요.
- if 조건문를 사용해서 개발해주세요.
- 1. 변수 age를 선언하고, 값으로 20을 대입하세요.
- 2. 만약 age가 18보다 크거나 같으면 "성인입니다"를 출력하세요.
- 3. 그렇지 않으면 "미성년자입니다"를 출력하세요.
var Age = 20 if Age >= 18 { print("성인입니다") } else { print("미성년자 입니다") }
조건문 질문
아래의 한국말을 코드로 작성해주세요.
- guard를 사용해보세요.
- 1. 함수 checkAdult를 작성하여, Int타입의 age를 파라미터로 받으며 반환타입은 없습니다.
- 2. age가 18보다 작으면 "성인이 아닙니다"를 출력하고 함수에서 빠져나오세요.
- 3. 그렇지 않으면 "성인입니다"를 출력하세요.
func checkAdult(age: Int) { // guard age < 18 else { // print("성인입니다") // } // print("성인이 아닙니다.") guard age > 18 else { print("성인이 아닙니다") return } print("성인입니다.") } checkAdult(age: 18)
5. 반복문
반복문 질문
OX 퀴즈
- Q. for 는 반복을 할 때 사용한다?
- A. O
- Q. while 반복문은 조건이 참일 동안 계속 반복해서 실행된다?
- A. O
반복문 질문
아래의 코드를 보고 질문에 답변해주세요.
for i in 1...5 { print(i) }
- Q. 위의 코드의 출력 결과는 무엇일까요?
- A. 1 \n 2 \n 3 \n 4 \n 5
반복문 질문
아래의 코드를 보고 질문에 답변해주세요.
var counter = 0 while counter < 3 { print(counter) counter += 1 }
- Q. 위 코드의 출력 결과는 무엇일까요?
- A. 0 \n 1 \n 2
반복문 질문
아래의 한국말을 코드로 작성해주세요.
- 1. 변수 total에 0을 선언하세요.
- 2. for 문을 사용하여 1부터 10까지의 숫자를 더해서 total에 저장하세요.
- 3. 마지막에 total 값을 출력하세요.
var total = 0 for i in 1...10 { total += i } print(total)
반복문 질문
아래의 한국말을 코드로 작성해주세요.
- 1. 변수 count에 5를 선언하세요.
- 2. while 문을 사용하여 count가 0이 될 때까지 count를 1씩 줄이면서 출력하세요.
var count = 5 while count > 0 { print(count) count -= 1 }
반복문 질문
아래의 코드를 보고 질문에 답변해주세요.
번역 : 뒤에를 채워주세요
for i in 3...10 { // 번역 : i의 값을 3부터 10까지 차례로 대입하며 아래 코드를 반복한다. if i == 5 { // 번역 : i의 값이 5일 때 break // 번역 : 반복문을 빠져나간다 } print(i) }
- Q. 위의 코드의 출력되는 값은 무엇인가요?
- A. 3 \n 4
반복문 질문
OX 퀴즈
- Q. break는 반복문을 중간에 종료시키는 역할을 합니다.
- A. O
반복문 질문
아래의 코드를 보고 질문에 답변해주세요
for i in 1...10 { if i % 2 == 0 { print(i) } if i > 8 { break } }
- Q. 위 코드에서 출력되는 값은 무엇인가요?
- A. 2 \n 4 \n 6 \n 8
반복문 질문
아래의 한국말을 코드로 작성해주세요.
- 1. while 문을 사용하여 1부터 100까지의 숫자 중 5로 나누어떨어지는 숫자만 출력하세요.
var count = 1 while count <= 100 { if count % 5 == 0 { print("\(count)", terminator: " ") } count += 1 }
6. 함수
함수 질문
OX 퀴즈
- Q. 함수를 구현할 때 필요한것은 함수의 이름과 파라미터 타입 2개이다!?
- A. X 이름, 파라미터, 반환값, 구현부
- Q. 함수는 하나 이상의 값을 무조건 반환해야 한다!?
- A. X
- Q. 함수를 정의할 때 파라미터가 없다면 괄호 ()를 생략해도 된다!?
- A. X
- Q. 함수를 정의할 때 반환하는 타입이 없다면 반환타입을 생략해도 된다!?
- A. O
함수 질문
아래의 코드를 보고 질문에 답변해주세요
func sayHello() { print("Hello, World!") }
- Q. sayHello 함수에 파라미터는 몇개인가요?
- A. 0개
- Q. 해당 함수를 호출하면 어떤 값이 출력되나요?
- A. Hello, World!
- Q. sayHello 함수를 호출하는 코드를 작성해주세요.
- A. sayHello()
함수 질문
아래의 코드를 보고 질문에 답변해주세요
func add(a: Int, b: Int) -> Int { return a + b }
- Q. 해당 함수의 이름은 무엇인가요?
- A. add
- Q. 해당 함수의 파라미터는 몇개이고 어떤 데이터타입인가요?
- A. Int 타입의 a,b 2개
- Q. 해당 함수의 반환타입은 있나요?
- A. Int
- Q. add 함수에 3,4 값을 넣어서 사용한 뒤 result 상수에 할당하는 코드를 작성해주세요.
- A. let result = add(a: 3, b: 4)
함수 질문
아래의 한국말을 코드로 작성해주세요.
- 1. 문자열을 인자로 받아 해당 문자열을 출력하는 printMessage 함수를 작성하세요.
- 2. 함수 안에서 print 함수를 사용하여 파라미터로 받는 값을 출력하세요.
func printMessage(message: String) { print(message) } printMessage(message: "안녕하세요!")
함수 질문
아래의 한국말을 코드로 작성해주세요.
- 1. 두 개의 정수를 입력받아, 그 값이 같으면 true를 반환하고 다르면 false를 반환하는 함수를 작성하세요.
- 2. 함수의 이름은 isEqual로 지정하세요.
func isEqual(first: Int, second: Int) -> Bool { // if first == second { // return true // } else { // return false // } return first == second } print(isEqual(first: 1, second: 1))
7. 고급 데이터 타입
고급 데이터 타입 질문
OX 퀴즈
- Q. Array는 순서를 보장한다!?
- A. O
- Q. Array의 index는 1부터 시작해서 2,3,4 형식으로 올라간다?
- A. X 0부터 시작합니다
고급 데이터 타입 질문
아래의 코드를 보고 질문에 답변해주세요
번역 : 뒤에를 채워주세요.
var numbers = [1, 2, 3, 4, 5] // 번역 : numbers라는 변수에 배열 [1, 2, 3, 4, 5] 를 할당했습니다. numbers.append(6) // 번역 : numbers 배열의 마지막에 6이라는 값을 추가했습니다. print(numbers)
- Q. numbers의 타입은 Array, Set 중 무엇인가요?
- A. Array 입니다
- Q. print(numbers)의 결과값은 무엇인가요?
- A. [1, 2, 3, 4, 5, 6] 입니다
- Q. numbers의 값 1을 삭제하는 코드를 아래에 작성해주세요.
- A. numbers.remove(at: 0)
고급 데이터 타입 질문
아래의 코드를 보고 질문에 답변해주세요.
변역 : 뒤에를 채워주세요.
var emptyArray = [String]() // 번역 : 변수 emptyArray를 선언해 String 타입의 값을 넣을 빈 배열을 할당 했습니다. emptyArray.append("Hello") // 번역 : emptyArray에 Hello 라는 값을 추가했습니다. emptyArray.append("World") print(emptyArray.count)
- Q. emptyArray.count는 어떤값이 출력될까요?
- A. 2
고급 데이터 타입 질문
아래의 한국말을 코드로 작성해주세요.
- 1. 변수 array에 Array에 1, 2, 3, 4, 5를 추가하세요.
- 2. 각 요소에 2를 곱한 결과를 새로운 배열로 반환하는 코드를 작성하세요.
var array = [1, 2, 3, 4, 5] var array2: [Int] = [] for arr in array { array2.append(arr * 2) } print(array2)
고급 데이터 타입 질문
아래의 코드를 보고 질문에 답변해주세요.
var testArray = [Int]() testArray = [1, 2, 3] testArray.append(1) testArray.insert(1, at: 1)
- Q. testArray[0] 의 값은 무엇인가요?
- A. 1
- Q. testArray에 값 1은 몇개가 저장되어 있나요?
- A. 3개
- Q. testArray에 어떤 값이 저장되어 있나요? [] <- 채워주세요!
- A. [1, 1, 2, 3, 1]
고급 데이터 타입 질문
아래의 한국말을 코드로 작성해주세요.
- 1. 문자열 Array를 생성하여 "Dog", "Cat", "Bird"를 추가하세요.
- 2. 각 요소를 반복문으로 순회하며 출력하세요.
- Array의 이름은 자유롭게 만드세요
var Array: [String] = ["Dog", "Cat", "Bird"] for arr in Array { print(arr) }
'iOS 앱 개발 부트캠프 > TIL' 카테고리의 다른 글
추상화 된 프로토콜 만들기 (0) 2024.10.31 자동완성 없이 코딩하기 (0) 2024.10.30 간단한 계산 로직 만들기 (0) 2024.10.28 미니 프로젝트 마무리 KPT (2) 2024.10.25 팀프로젝트 테이블 뷰 작업 마무리 (0) 2024.10.24 - Q. 기본 데이터 타입 Int 에 대해서 설명해주세요