[C 언어] 1차원 배열 / 1D array 공부하기 !



배열이란 무엇인가?

만약 배열이라는 것을 모른다고 가정하고 정수 10개를 선언해보도록 하겠습니다.


1)

#include <stdio.h>

int main(void){

int a=0;

int b=0;

int c=0;

int d=0;

int e=0;

int f=0;

int g=0;

int h=0;

int i=0;

int k=0; // int a, b, c, d, e, f, g, h, i, k = 0;


return 0;

}


배열 없이 정수형 변수 10개를 선언하려고 하니 손이 너무 아픕니다.

이번에는 정수형 배열을 이용해서 정수형 변수 10개를 선언해보도록 하겠습니다.


2)

#include <stdio.h>

int main(void){

int i=0;

int array[10]={0};

for(i=0; i<10; i++){

printf("%d ", array[i]);

}

return 0;

}


두 코드는 완전히 일치합니다.

2)번 코드에서 조금 다른게 있다면, 배열에 저장된 모든 원소(element)를 출력했다는 점입니다.

그렇다면 결과는 어떻게 될까요?


[Result]

0 0 0 0 0 0 0 0 0 0


배열에 저장된 모든 원소들일 0 이기 때문에, 모든 값들을 출력하면 위와 값들이 출력되겠네요.

[C언어] goto statement, goto function 공부하기




#include <stdio.h>

int main(){


int i=0;

label :

i++;

if(i<=100){

if(i%2==0){

printf("%2d", i);

if(i==50){

printf("\n");

}

}

goto label; // label 로 이동

}

printf("\n");

return 0;

}


한번 보시면 잘 이해가 안될 겁니다.


int main(void){

int i =0;

printf("안녕하세요 goto statement 강의자료입니다\n");


printf("정말 좋은 아침입니다 \n");

Hey:

if(i==1){

printf("게임을 해야지\n");

}


i++;

goto Hey; // Hey로 이동.

printf("프로그래밍을 해야지\n");


return 0;

}


이렇게 코딩을 하면 결과가 어떻게 나올지 짐작이 되시나요?

직접 컴파일러에 시행시켜서 결과를 한번 확인해보세요.

[ printf("프로그래밍을 해야지\n"); ] 문장이 출력될까요? 아마 안될겁니다!





[C언어] while loop / while statement / 자연수 더하기


#include <stdio.h>

int main(){   

int i, sum, last_num=0;

printf("0부터 last_sum까지 더하는 프로그램입니다\n");

printf("last_num을 입력하세요 : ");

scanf("%d", &last_num);


while(i<=last_num){

sum=sum+i; // sum+=i;

}


printf("0부터 last_num까지의 합은 = %d입니다\n", sum);

return 0;

}

[C언어] for loop / for statement / 자연수 더하기


#include <stdio.h>

int main(){

int last_num=0;

int sum, i=0;

printf("0부터 last_num까지의 덧셈 프로그램입니다.\n");

printf("last_num을 입력해주세요 ex) 100, 10, 5000 : ");

scanf("%d", &last_num);


for(i=0; i<last_num; i++){

sum=sum+i;

}

printf("0부터 last_num까지의 합은 : %d 입니다.", sum);

return 0;

}





[C언어] if~else와 switch 비교



IF)

#include<stdio.h>

int main(){

int a =1;

{if(a==1){

printf("1번입니다\n");

}

else if(a==2){

printf("2번입니다\n");

}

else if(a==3){

printf("3번입니다\n");

}
else{
printf("다시 입력하세요\n");
}

}

return 0;

}




SWITCH)


#include<stdio.h>

int main(){

int a =1;

switch(a){

case 1 : printf("1번입니다\n");

break;

case 2 : printf("2번입니다\n");

break;

case 3 : printf("3번입니다\n");

break;

default : printf("다시 입력하세요\n");

}

return 0;

}


if statement 와 switch statement를 비교해보았는데, 어떤 것이 쉽다, 간결하다, 보기 좋다고 표현하는 책들이 여럿 있습니다.

그리고 대부분의 책에서는 if statement를 배우고 나서 switch statement를 다루는데 이유로 드는 것이 switch가 더 쉽다, 간결하다고 표현합니다.

하지만 판단은 본인의 몫이고 프로그래밍이 누구에게 좋아 보이는 것이 일순위가 아니기 때문에 본인이 필요하다고 느끼는 것에 더 집중하면 될 듯 싶습니다. 이상 comparison between if statement and switch statement 였습니다.



+ Recent posts