C

5주차 강의 내용

wlsn 2024. 4. 1. 17:05

문자로 했을때와, %d를 했을때의 결과

 

#include <stdio.h>
int main()
{
printf("나이 : 20살\n");
printf("이름 : %s, 반 : %c, 나이 : %d살, 키 : %.1lf \n","Hello",'A',20, 170.5);

 

return 0;
}
 

printf의 s c d f형

printf의 가장 흔한 4가지 유형이다.

 

d는 정수형

f는 실수형

c는 문자형

s는 문자열형

 

argument = 전달인자

parameter = 매개변수

 

int x;

x = 10

변수선언

 

printf("%[정렬][폭][.정밀도][크기]서식지정자", ---);

            -,+,#,0                     l,ll,L     d,f,c,s 등

정렬 부분

-는 왼쪽 정렬을 의미하고, 없다면 디폴트 오른쪽 정렬을 사용함.

+는 양수일 경우 +부호를 표시함.

 

정밀도 부분

보통 소수점 이하 자릿수를 지정하는데 사용되며,

%7.5lf라면 전체 자릿수가 7자리, 소수점의 자리가 5자리가 된다.

하지만 보통 소수점 자리만 자주 사용한다.

%.5lf 처럼 전체자릿수를 적어놓지않는게 중요하다.

 

크기부분

ll은 int형이 long long형임을 나타냄

L은 실수형이 long double형임을 나타냄

#include <stdio.h>
int main()
{
printf("%lld",234567890001);
return 0;
}
 
#include <stdio.h>
int main(void)
{
printf("%d는 16진수로는 %#x, 8진수로는 %#o입니다.\n", 12, 12, 12);
return 0;
}
 
#include <stdio.h>
int main(void)
{
printf("\n%c%c%c\n", 'N', 'O', ',');
return 0;
}
#include <stdio.h>
 
int main(void)
 
{
 
printf("%s\n", "I am sad.");
 
return 0;
 
}
 
#include <stdio.h>
int main(void)
{
int x = 10;
printf("%d\n", x);
scanf_s("%d", &x);
printf("%d\n", x);
return 0;
}

scanf와 scanf_s의 장단점을 비교한 표이다.

 

scanf는 visual studio에서 오류가 나지만 #define _CRT_SECURE_NO_WARNINGS를 추가한다면 오류가 해결된다.

 

"scanf에서 소수점이 있는 숫자는 반드시 %f가 아닌 %lf로 입력받아야 된다"

 

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
int x;
scanf("%3d", &x); // %3d는 숫자를 입력했을때 처음 3개만 출력되도록 한다.
printf("%d\n", x);
return 0;
}
 
 

&(앰퍼센트) 기호는 변수의 주소(address)를 얻을 때 사용하는 연산자

 

문자 한개를 저장할때

num1 = getchar();

printf("%c", num1);

2개가 있다.

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main(void)
{
char name[10];
printf("당신의 이름을 입력하세요 : ");
scanf("%9s", name);
printf("당신의 이름은 %s입니다.\n", name);
return 0;
}

 

scanf에서 "%9s" 9를 쓰지않는다면 9자리가 넘어갈 경우 보안에 취약해 질 수 있다.

#include <stdio.h>
int main(void)
{
char ch = 'p';
putchar(ch); //p, char형 변수 출력
putchar('A'); //A, 문자 리터럴 출력
putchar(65); //A, 숫자는 해당 ASCII문자 출력
printf("%c", 'A');
puts("ssssssssssssssss");
return 0;
}

 

printf와 puts는 같은 함수라서 puts가 더 편하다.

 

gets_s는 공백까지 이어갈 수 있지만 다른 컴파일러들에 호환이 안되는 경우가 많다.

 

putchar와 putch, putche의 차이를 보여주는 표이다.

'C' 카테고리의 다른 글

5주차 실습문제 2  (0) 2024.04.01
5주차 실습문제 1  (0) 2024.04.01
5주차 예습과제  (0) 2024.03.31
Ai 코드 틀린 부분 지적  (0) 2024.03.25
3장 정리 예제  (0) 2024.03.25