정보처리기사/[흥달쌤] 실기_깨알 C언어 8

C언어 특강 / 35. 구조체, 36. 배열포인터

35강. 구조체 *구조체 : 여러 변수들을 모아서 하나의 객체를 구성할 때 사용하는 사용자 정의 타입 객체 *구조체 구성 struct 구조체명 { 멤버변수1; 멤버변수2; } *구조체 정의 및 사용 struct person { char *name; int age; }; struct person user1; user1.name = "h user"; printf("%s", user1.name);//h user (문자열 출력) struct person { char *name; int age; } test; test.name = "h user"; test.age = 40; printf("%s : %d", test.name, test.age);//h user, 40 struct person { char *name..

C언어 특강 / 29, 30. 2차원 배열과 포인터(1),(2), 31~34. 포인터배열(1)~(4)

29강. 2차원 배열과 포인터(1) int a[3][2] = {{1,2}, {3,4}, {5,6}}; a = 100 a[0] 100 1 (100) 2 (101) a[1] 102 3 (102) 4 (103) a[2] 104 5 (104) 6 (105) printf("%d\n", a); //100 printf("%d\n", *a); //100 printf("%d\n", **a); //1 문) 다음 C프로그램의 실행 결과로 옳은 것을 고르시오 #include int main(){ int data[][3] = {1,3,4,5,2,9,6,8,7}; int *p = data[1]; int x, y; x = *p; y = *(p+2); printf("x=%d, y=%\n", x, y); } 30강. 2차원 배열과 포..

C언어 특강 / 25~28. 배열과 포인터(1) ~(4)

25. 배열과 포인터(1) 문) 다음 C프로그램의 출력값은? #include int main(void){ int i; int a[] = {10, 20, 30, 40, 50, 60, 70, 80, 90, 100}; int *ptr = a + 3; for( i=0; i b[2] : 20 b = 100 문) 다음 C프로그램의 출력 값은? #include int main(void){ int a[] = {1,2,4,8}; int *p = a; p[1] = 3; a[1] = 4; p[2] = 5; printf("%d %d\n", a[1]+p[1], a[2]+p[2]); return 0; } cf) 문제변형 #include int main(void){ int a[] = {1,2,4,8}; int *p = a+1;//..

C언어 특강 / 21. 배열(1),(2), 23. 포인터, 24. scanf와 변수

21. 배열(1) * 배열이란? 같은 자료형의 변수를 연속적으로 묶어놓은 저장공간 * 배열의 선언 * 이차원배열 : 같은 자료형의 변수를 행과 열의 연속적인 공간으로 묶어놓은 것 문) 다음 C프로그램의 출력 결과는? void main(){ char msg[50] = "Hello World! God Luck!"; int i = 2, number = 0; while( msg[i] != 'i' ){//같지 않을 때 참이 됨 if( msg[i] == 'a' || msg[i] == 'e' || msg[i] == 'i' || msg[i] == 'o' || msg[i] =='u' ) number++; i++; } printf("%d", number);//i=2~11에서 a,e,i,o,u와 일치하는 글자의 갯수 ret..

C언어 특강 / 13. 삼항연산자, 14. if문, switch문, 15. 반복문, for문, 16. while 문, 17. do~while, for, while, 18. while, if문, 19. for, continue, break, 20. 다중for문, continue, break

13. 삼항연산자 * 삼항연산자 : 조건에 따라서 다른 명령을 수행하는 연산자 구조 : 조건 ? 참 : 거짓 int a = 10>5 ? 10:5; printf("%d", a); //10 문) C프로그램의 실행후, 출력 결과값은? void main(void){ int a, b; a = 20; b = (a>10) ? a+a : a*a;//a>10 = T -> a+a = 20 printf("b=%d\n", b);//b = 20 } 14. if문, switch문 (제어문) * if문 : 조건에 따라 다른 명령어들을 수행 * switch문 : 주어진 값에 맞는 명령어들을 수행 문) 다음 C프로그램의 실행 결과는? #include int main(){ int a = 0, b = 1; switch(a){//a가 0이..

C언어 특강 / 10. 출력형식, 11. 진법변환, 비트연산, 12. 매크로, 비트연산

10. 출력형식 * 출력변환기호 기호 의미 데이터 타입 %d 부호있는 10진수 출력 정수, 문자 %f 고정 소수점으로 출력 정수, 실수 %c 문자 출력 문자 %s 문자열 출력 문자열 포인터 %x 16진수 출력 정수 %o 8진수 출력 정수 printf("값1: %d, 값2: %d", 10, 5); //값1: 10, 값2: 5 printf("값: %c", 65);//값: A (아스키코드 65는 A표현) printf("값: %c", A);//값: A printf("값: %s", "안녕하세요.");//값: 안녕하세요. printf("값: %x", 34);//값: 100010(2진수), 값: 22(16진수, 4자리씩 끊음) printf("값: %o", 34);//값: 42(8진수, 3자리씩 끊음) * 정수형 자리..

C언어 특강 / 05. 산술연산자, 06. 연산자 우선순위, 07. 관계-논리 연산자, 조건문, 08. 논리연산자, 증감연산, 09. 산술연산자

05. 산술연산자 * 산술연산자 종류 구분 종류 예 이항연산자 +, -, *, /, % 3*4; 단항연산자 ++, -- 4++; 대입연산자 =, +=, -=, *=, /= a+=3; ex) - 3/4 = 0 (실수/실수 = 실수) - a = 10; b = a++; c = ++a; //a=10, b=10, c=12 - a =10; a += 10; 문) 아래 C프로그램의 실행결과는? #include void main(){ int a, b; a=4*(1/2);//1/2 = 0 이 됨, a=0 b=a++;//b=0 printf("%d", b);//0 } 06. 연산자 우선순위 높음 ↑ ↓ 낮음 ( ) 괄호 ++, --, ~, ! 단항 *, /, % 산술 +, - 산술 비트 = 비교 ==, != 관계 &, ^, ..

C언어 특강 / 01. 프로그래밍이란?, 02. 컴파일러&인터프리터, 03. 변수, 04. 변수의 종류와 유효범위

01. 프로그래밍이란? * 프로그램 동작과정 : 선언 -> 입력 -> 처리 -> 출력 * 예제 - 아침에 비가 오면 우산을 가져가고 비가오지않으면 자전거를 타고간다. int 자전거, 우산; if(날씨 == "비"){ printf("우산"); }else{ printf("자전거"); } 02. 컴파일러&인터프리터 * 컴파일이란? 인간이 만든 고급언어를 컴퓨터가 해석할 수 있는 저급언어로 번역 * C언어 컴파일 과정 .c -[전처리기] -> .i -[컴파일러]-> .s -[어셈블러]-> .o -[링커]-> .EXE 구분 기능 확장자 전처리기 전처리 구문을 처리하는 과정 ex) #include .c 컴파일러 고수준언어를 저수준 언어로 변환하여 기계어와 가장 가까운 형태의 언어로 .i 어셈블러 완전히 기계어로 바..

반응형