C lang
[C language] Geany편집기 - 4. for, for-if(break, continue, go to~EXIT), while
걍작
2022. 3. 23. 00:43
#정리
#for - 반복문
//for(i=0;i<10;i++){} 뼈대로 작성한다.
//for문의 초기화 하는 부분(i=0;i<10;i++)이 어느 체제에서 구현하는지에 따라서 조금 달라진다.
- i값을 밖에서 별도로 초기화 해야할 때도 있다.
# for - if // break, continue, go to
<if문과 break, continue, go to 를 활용한 for문 반복 조절>
// if(x==5) break; //x = 5 되면 반복 종료
// if(x==5) continue; //x = 5 되면 종료 후 다음 반복 시작
// if(x==5) goto EXIT; ~~ EXIT : 실행문; //x = 5 되면 지정한 위치(EXIT)로 이동
- 연결된 EXIT에 실행문이 있어야한다.
#while - 반복문
//while(조건) - break; 뼈대로 작성
#for - 반복문
//for(i=0;i<10;i++){} 뼈대로 작성한다.
//for문의 초기화 하는 부분(i=0;i<10;i++)이 어느 체제에서 구현하는지에 따라서 조금 달라진다.
- i값을 밖에서 별도로 초기화 해야할 때도 있다.
--예문 코드 보기--
더보기
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
printf("for...\n");
//초기화 하는 부분이 어디서 구현하는지에 따라서 조금 달라진다.
int x,i;//i값의 초기화를 꼭 밖에 적어야할 때가 있다.
for(x=0;x<10;x++){
for(i=0;i<10;i++){
printf("%d,%d ",x,i);
}
printf("\n");
}
//2*1=2 ~ 9*9=81
for(x=2;x<10;x++){
for(i=1;i<10;i++){
printf(" %d*%d=%d ",x,i,x*i);
}
printf("\n");
}
return 0;
}
------------------
#mission : 3명의 학생 성적 처리 프로그램 작성
--예문 코드 보기--
더보기
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
//3명의 학생 성적 처리 프로그램.
for(int i=0;i<3;i++){
printf("Input student name: ");
char *name1 = malloc(sizeof(char)*11);
scanf("%10s",name1);
printf("name1: %s\n",name1);
free(name1);
printf("Input %s kor: ",name1);
int kor1=0;
scanf("%d",&kor1);
printf("Input %s eng: ",name1);
int eng1=0;
scanf("%d",&eng1);
printf("Input %s math: ",name1);
int math1=0;
scanf("%d",&math1);
printf("kor: %d eng: %d math: %d\n ",kor1,eng1,math1);
int total = kor1+eng1+math1;
float avg = total/3;
char *grade = "A";
if (avg >= 90){
grade = "A";
}else if(avg >= 80){
grade = "B";
}else if(avg >= 70){
grade = "C";
}else if(avg >= 60){
grade = "D";
}else {
grade = "F";
}
printf("total: %d, avg: %.2f, grade: %s\n",total,avg,grade);
}
return 0;
}
# for - if // break, continue, go to
<if문과 break, continue, go to 를 활용한 for문 반복 조절>
// if(x==5) break; //x = 5 되면 반복 종료
// if(x==5) continue; //x = 5 되면 종료 후 다음 반복 시작
// if(x==5) goto EXIT; ~~ EXIT : 실행문; //x = 5 되면 지정한 위치(EXIT)로 이동
- 연결된 EXIT에 실행문이 있어야한다.
--예문 코드 보기--
더보기
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
printf("for...i==5 goto - EXIT\n");
//초기화 하는 부분이 어디서 구현하는지에 따라서 조금 달라진다.
int x,i;//i값의 초기화를 꼭 밖에 적어야할 때가 있다.
for(x=0;x<10;x++){
for(i=0;i<10;i++){
//if(x==5) break; //x = 5 되면 반복 종료
//if(i==5) break; //i = 5 되면 반복 종료
//if(x==5) continue; //x = 5 되면 종료 후 다음 반복 시작
//if(i==5) continue; //i = 5 되면 종료 후 다음 반복 시작
//if(x==5) goto EXIT; //x = 5 되면 지정한 위치로 이동
if(i==5) goto EXIT; //i = 5 되면 지정한 위치로 이동
printf(" %d,%d ",x,i);
}
printf("\n");
}
printf("for...111\n");// EXIT 지정 위치 앞이어서 이 값은 안찍히고 아래부터 출력된다.
EXIT : printf("goto...EXIT\n");
printf("for...222\n");
return 0;
}
#while - 반복문
//while(조건) - break; 뼈대로 작성
//반복 성적 처리 mission - x누르면 반복 종료
--예문 코드 보기--
더보기
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
int main(int argc, char **argv)
{
printf("while...\n");
char x[2]="x";
char keyword[2] = "";
while (1){
//score
//End input x
printf("enter [x] to exit..");
scanf("%2s",keyword);
printf("strcmp: %d\n",strcmp(keyword,x));
if(strcmp(keyword,"x")==0){
break;
}
printf("Input student name: ");
char *name1 = malloc(sizeof(char)*11);
scanf("%10s",name1);
printf("name1: %s\n",name1);
free(name1);
printf("Input %s kor: ",name1);
int kor1=0;
scanf("%d",&kor1);
printf("Input %s eng: ",name1);
int eng1=0;
scanf("%d",&eng1);
printf("Input %s math: ",name1);
int math1=0;
scanf("%d",&math1);
printf("kor: %d eng: %d math: %d\n ",kor1,eng1,math1);
int total = kor1+eng1+math1;
float avg = total/3;
char *grade = "A";
if (avg >= 90){
grade = "A";
}else if(avg >= 80){
grade = "B";
}else if(avg >= 70){
grade = "C";
}else if(avg >= 60){
grade = "D";
}else {
grade = "F";
}
printf("total: %d, avg: %.2f, grade: %s\n",total,avg,grade);
}
printf("end while....\n");
return 0;
}