본문 바로가기

전체 글75

[3-2] scanf 함수 - printf가 특정 서식에 따라 출력하듯, scanf는 특정 서식에 따라 입력을 받음.- scanf에서 허용되는 변환들은 전부 printf에서 사용되는 변환들과 같음. int i;int j;float x;float y;scanf("%d%d%f%f", &i, &j, &x, &y);사용자 입력 : 1 -20 .3 -4.0e3scanf는 이 줄을 읽은 다음 각 문자들을 내포하고 있는 숫자로 변환한 다음 i, j, x, y에 각각 1, -20, .3, -4.0e3을 할당함.scanf를 호출할 때에 "%d%d%f%f"와 같이 "빽빽하게 채워진" 형식 문자열을 자주 사용하게 됨. (printf는 반면에 변환 규격들이 인접해있지 않는 경우가 많음) ❗ scanf는 자신도 모르게 실수할 때가 있기에 몇 가지 주의를.. 2024. 9. 2.
[3-1] printf 함수 🌟 글 많음 주의........ 미리 경고합니닷 🌟 - printf 함수는 서식 문자열이라고 불리는 문자열을 문자열의 특정 부분에 추가된 값과 함께 출력하는 기능을 수행하도록 만들어짐.- printf가 호출되려면, 서식 문자열과 출력을 할 때 삽입되어야하는 값을 공급해줘야 함.printf(string, expr1, expr2, …);출력되는 값들은 상수, 변수 혹은 매우 복잡한 표현식일 수도 있음. printf 함수는 호출 한 번으로 무한가지의 값을 출력할 수 있음.% 다음으로 나오는 정보는 값이 어떤 규격으로 본래 형식(이진수)에서 출력되는 형식(문자) 변환되는지를 정함.변환 규격 %d : printf이 int값을 이진수로부터 10진수를 갖는 문자열로 변환되어 출력하는 규격을 정해줌.변환규격 %f .. 2024. 9. 2.
Q&A (GCC, GNU, 함수, 주석, 식별자, 레이아웃..) 📌 GCC의 약자는 뭔가요?- 원래는 GNU C Compiler의 약자, 현재는 GNU Compiler Collection의 약자임.- 바뀐 이유 : 현재 GCC는 C 뿐만 아니라 Ada, C, C++, Fortran, Java와 Objective-C와 같은 다양한 언어를 컴파일하기 때문임.  📌 GNU는 뭔가요? *거뉴- GNU's Not Unix의 약자임.- GNU는 리처드 M. 스톨맨이 세운 Free Software Foundation의 프로젝트로, 사용권이 있어 사용하려면 돈을 내야했던 UNIX 소프트웨어에 일종의 저항을 하기 위해 만들었음. (Free Software Foundation은 공식 홈페이지에 따르면 사용자들은 모두 무료로 소프트웨어를 실행하고, 복사하고, 배포하고, 공부하고, 바.. 2024. 9. 2.
[2-8] C 프로그램의 레이아웃 - C 프로그램을 일종의 토큰(의미를 구성하는 최소 단위)의 연속이라고 이해할 수 있음. printf  (  "Height: %d\n"  ,    height  )  ;  ①    ②          ③          ④     ⑤    ⑥⑦  - ①번과 ⑤번 토큰은 식별자들이고 ③번 토큰은 스트링 리터럴이며, 나머지 토큰들은 전부 구두점들임. celsius.c 프로그램에선 int와 main 사이, float와 fahrenheit 사이 등을 제외하고는 존재하는 대부분의 스페이스 제거 가능./* Converts a Fahrenheit temperature to Celsius */#include#define FREEZING_PT (32.0f)#define SCALE_FACTOR (5.0f / 9.0f)in.. 2024. 9. 2.
[2-7] 식별자 - 프로그램을 작성하면서 변수, 함수, 매크로 등에 정해주는 이름- C에서 식별자를 정의할 때 문자, 숫자, _ 사용할 수 있음. ❌숫자로 시작❌- 대・소문자 구별함. 🔥 예시식별자로 가능한 것 : times10 / get_next_char / _done]식별자로 불가능한 것 : 10times (숫자로 시작) / get-next-char (언더바가 아닌, 뺄셈 기호) 📌 키워드- [C99] C 컴파일러에서 아래의 표에 명시된 일부 키워드들을 특별히 인식해, 이들을 식별자로 사용❌ [!!!] 식별자엔 위에서 다룬 것 외의 또다른 제한이 있기도 하다. 몇몇 컴파일러들은 asm과 같은 특정 식별자들 추가적인 키워드로 인식한다. 당연히 표준 라이브러리에 포함된 식별자 또한 제한된다. 이러한 이름을 실수를 해.. 2024. 9. 2.
[2-6] 상수 이름 정의하기 프로그램이 상수를 포함하고 있다면, 상수에 이름을 지어주는 것이 좋음.✅ C 언어의 기능 중 하나인 매크로 정의를 사용해 상수에 이름을 붙여줄 수 있음. #define INCHES_PER_POUND (166)#define은 #include와 같은 전처리 지시자이기 때문에, 마지막에 세미콜론이 들어가지 않음.프로그램이 컴파일 될 때, 전처리자는 각 매크로를 지정된 값으로 대체함. // 1번weight = (volume + INCHES_PER_POUND - 1) / INCHES_PER_POUND;// 2번weight = (volume + 166 - 1) / 166;1번, 2번 구문은 동일한 구문임. 매크로 값은 표현식이 될 수 있음.#define RECIPROCAL_OF_PI (1.0f / 3.14159f).. 2024. 8. 22.