강좌 : 부스트캠프 모두를 위한 컴퓨터과학(cs50 2019)
자료형 | bool | char | int | flot | long | double | string |
---|---|---|---|---|---|---|---|
크기 | 1바이트 | 1바이트 | 4바이트 | 4바이트 | 8바이트 | 8바이트 | 7바이트 |
ASCII
와 유니코드
로 문자를 숫자로 변환하게 되는데 변수앞에 (int)를 적으면 char은 문자지만 정수처럼 여겨져 printf
하면 변환된 숫자로 표시
// 배열을 사용하지 않았을때
#include<cs50.h>
#include<stdio.h>
int main(void)
{
int score 1 =72;
int score2=73;
int score3= 33;
printf("Average: %i\n", (score1 + score2 + score3) / 3);
}
// 배열을 사용했을때
#include<CS50.h>
#include<stdio.h>
int main(void)
{
int scores[3]; // int 3의 배열을 scores라는 이름으로 생성하겠다는 의미
scores[0] = 72;
scores[1] = 73;
scores[2] = 33;
printf("Average : %i\n", (scores[0] + scores[1] + scores[2]) / 3);
}
const int N = 3;
만약 N이 고정된 값(상수)이라면 그값을 선언할 때 const를 앞에 붙여 전역변수를 지정
// 전역변수를 사용했을때
#include<CS50.h>
#include<stdio.h>
const int N = 3;
int main(void)
{
int scores[N];
scores[0] = 72;
scores[1] = 73;
scores[2] = 33;
printf("Average : %i\n", (scores[0] + scores[1] + scores[2]) / N);
}
#include<stdio.h>
#include<cs50.h>
float average(int x, int y[]);
int main(void)
{
int n = get_int("Number of scores: "); // 사용자로부터 점수의 갯수입력
int scores[n]; // 입력된 갯수만큼 스코어 갯수생성
for (int i =0; i < n; i+=1) // 스코어 갯수만큼 반복
{
scores[i] = get_int("Scores%i:",i+1); // 사용자로부터 스코어점수 입력
}
printf("Average: %.1f\n",average(n, scores)); // 평균출력
}
// 평균을 계산하는 함수
float average(int x, int y[])
{
int sum = 0;
for (int i=0; i < x; i++)
{
sum += y[i];
}
return (float) sum / (float) x;
}