본문 바로가기

C59

임시파일 #include #include typedef struct studentTag { char name[10]; int age; double gpa;}student;typedef struct point { int xpos; int ypos;}Point;double get_distance(Point *p1, Point *p2){ return sqrt((pow(((p1->xpos) - (p2->xpos)), 2) + pow(((p1->ypos) - (p2->ypos)), 2)));}int main(){ student a = { "kim",20,4.3 }; student b = { "park",21,4.2 }; Point p1 = { 1,2 }; Point p2 = { 9,8 }; printf("%.2lf",g.. 2024. 7. 30.
매크로 단순 매크로#define SIZE 100#define AND &&#define OR ||#define NOT !함수 매크로#define SUM(x,y) ((x)+(y))#define MAX(x,y) ((x)>(y))?(x):(y)일반적인 함수 사용과 달리 매개변수의 자료형을 써주지 않아도 된다.그러나 다음과 같이 증감 연산자를 사용하면 원치않은 결과가 나오기도 한다.#define SQUARE(x) ((x)*(x))int main (){ int x=2; printf("%d\n",SQUARE(++x)); //9가 아니고 16이 출력된다. // ++x * ++x 결과적으로 x의 값이 두번 증가하게된다. return 0;}# 연산자#includ.. 2024. 7. 9.
스트림과 파일 입출력 (성적 기록 및 계산기) #define _CRT_SECURE_NO_WARNINGS#include #include int main(){ FILE* fp; char fname[100]; int number, count = 0; char name[20]; float score, total = 0.0; printf("성적 파일 이름을 입력하시오: "); scanf("%s", fname); if ((fp = fopen(fname, "w")) == NULL) { fprintf(stderr, "성적파일 %s를 열 수 없습니다.\n", fname); exit(1); } while (1) { printf("학번, 이름, 성적을 입력하시오: (음수이면 종료) "); scanf("%d", &number); if (number 성적파일을 .. 2024. 7. 3.
2차원 공간상에서의 평행이동 (typedef 활용) typedef 활용#define _CRT_SECURE_NO_WARNINGS#include typedef struct coordinate { //구조체 좌표를 정의하면서 동시에 새로운 자료형인 POINT로 정의 int x; int y;}POINT;POINT translate(POINT p,POINT delta);int main(void){ POINT p; POINT delta; printf("coordinate : "); scanf("%d %d", &p.x, &p.y); printf("delta : "); scanf("%d %d", &delta.x, &delta.y); POINT result; result = translate(p,delta); //p를 delta만큼 평행이동하기 위해 함수호출, .. 2024. 6. 30.
문자열 처리 라이브러리 함수 int size=strlen("Hello"); //size는 5가 된다.#include strlen(s) //문자열 s의 길이를 구한다.strcpy(s1,s2) //s2를 s1에 복사한다.strcat(s1,s2) //s2를 s1끝에 붙여넣는다.strcmp(s1,s2) //s1과 s2를 비교한다.strncpy(s1,s2,n) //s2의 최대 n개의 문자를 s1에 복사한다.strncat(s1,s2,n) //s2의 최대 n개의 문자를 s1의 끝에 붙여넣는다.strncmp(s1,s2,n) //최대 n개의 문자까지 s1과 s2를 비교한다.strchr(s,c) //문자열 s안에서 문자 c를 찾는다.strstr(s1,s2) //문자열 s1에서 문자열 s2를 찾는다.char *strtok(s,delimit); //문자.. 2024. 6. 27.
문자열 입출력 라이브러리 int scanf("%s",s) //문자열을 읽어서 문자배열 s[]에 저장int printf("%s",s) //배열 s[]에 저장되어 있는 문자열을 출력한다.char *gets_s(char *s, int size) //한 줄의 문자열을 읽어서 문자 배열 s[]에 저장한다.int puts(const char *s) //배열 s[]에 저장되어 있는 한 줄의 문자열을 출력한다. gets_s(), puts()char buf[100];gets_s(buf,100);//한 줄 입력받는다.puts(buf); //한 줄 출력한다.gets_s()는 표준 입력에서 엔터키, 즉 줄바꿈 문자('\n')이 나올때 까지 한 줄 전체를 문자열로 입력받는다. 문자열에 줄바꿈 문자 ('\n')는 포함되지 않으며 자동으로 NULL문.. 2024. 6. 25.