본문 바로가기
비트 단기/c

11/07 함수 시작

by woohyun22 2018. 11. 8.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#include "pch.h"
#include <iostream>
#include <time.h>
//func01이 함수 이름이다.
//함수이름은 중복될 수 없다.
//void는 '없다'라는 의미를 가진다.
//함수는 이름을 불러야(call) 실행이 된다.
//func01함수를 call 한다.
//뒤에있는 void는 생략할 수 있다.
//함수를 call할때는 반드시 함수명뒤에 ()가 있어야된다.
//함수는 구태여 주석을 잡을 필요가 없다. - 안 부르면 콜안됨.
 
//func01(); - call한다는 얘기는 그 함수로 jump해서 실행후 다시 돌아오는 것.
void func01() {
   printf("함수 1번콜\n");
   printf("호 랑 이 \n");
}
//func02(); - 함수가 콜이되면 함수내용이 실행된다.
//함수는 한번이상 몇번이고 콜할수있다.
void func02() {
   printf("함수 2번콜\n");
   printf("라면먹고\n");
   printf("밥먹고\n");
}
void func03() {
   printf("함수 3번콜\n");
   for (int i = 0; i < 10; i++)
      printf("5*%d=%d\n", i, 5 * i);
}
void func04() {
   int s = 0;
   for (int i = 0; i <= 10; i++)
      s+=i;
 
   printf("%d\n", s);
}
//내가 만든 구조체의 크기를 알고싶을때 sizeof()를 쓸 수 있다.
void func05() {
   char a=10;//1byte 8bit
   short b=20;//2byte
   long c=30;//4byte - 반드시 4byte
   int d=40;//4byte - 사용하고있는 컴퓨터의 비트수에 따라 다름. 64비트 컴퓨터에서는 8byte,32비트는 4byte, default = 4byte,
   float e= 3.14f;//4byte - 실수, 끝에 f붙여줘야된다. 오류날수있다.
   double f = 3.14;//8byte - 실수, float보단 정밀하다.
   bool g = true;//1byte - T or F , 0,1도가능
   printf("%d \n"sizeof(char));
   printf("%d \n"sizeof(short));
   printf("%d \n"sizeof(long));
   printf("%d \n"sizeof(int));
   printf("%d \n"sizeof(float));
   printf("%d \n"sizeof(double));
   printf("%d \n"sizeof(bool));
}
void func06() {
   int a = 10;
   int b = -10;
   signed int c = -20;//signed을 적으나 안적으나, 안적어도 default로 들어가있다(굳이 안적어도된다.) - 양수,음수 다 사용할 수 있다.
   unsigned int d = 30;//원래 int가 20억까지 쓸수있다면, unsigned 붙이면 40억까지 가능 but 음수안됨.
   //unsigned e = -30; 양수만 사용가능
   signed char e = 150;
   unsigned char f = 150;//max = 255 8bit는 2의8승 = 256, 0부터 255까지
   printf("%d %d\n", e, f);//e는 비정상적으로 출력됨
   //unsigned = 나이,볼륨의 감도,색상값
   //java에서는 안쓴다.
}
void func07() {
   int a = 123, b = 0x123, c = 0xab7;// d = ab7; 0x안붙이면 안됨 - 앞에 0x를 붙이면 16진수가되고, 출력은 10진수로된다. 0만붙이면 8진수 0,0x 8,16
   //int e = 0386; 8진수가 넘어가므로 오류가뜬다.
   int f = 0376;//8진수 376을 10진수로
   printf("%d %d %d %d \n", a, b,c,f);//2진법을 표현하는 문법은 없다.
}
//변수와 상수개념
//변수를 상수화시킬때 const(상수변수)를 붙인다.
void func08() {
   //int는 type, a = 변수,'='은 대입, 대입되는값을 literal이라고함.
   int a = 10,b=20;
   a = 100;//a가 값을 대입받을 수 있다면 a는 변수 이다.
   b = 200;//b가 값을 대입받을 수 없다면 b는 상수이다.
   const int c = 30;//얘는 이 이후부터 상수가된다 - 대입을 받을 수 없다.
   //c = 300; const해서 대입 못받음.
   //const int d; - const변수는 무조건 초기값을 받아야된다, 이제 대입을 받을 수 없기 때문에.
   const int RainbowColorNumber = 7;//다른수로 안바뀌도록 고정하려고 씀 ,ex)1분 =60초 등
   const float pi = 3.14f;//고정값
   //20 = 30; 상수이기 때문에 대입받을 수없다..
}
//shift + tab
void func09() {
   /*
   printf("함수9번콜\n");
//10      16      2      진수
   0      0      0000      
   1      1      0001
   2      2      0010
   3      3      0011
   4      4      0100
   5      5      0101
   6      6      0110
   7      7      0111
   8      8      1000
   9      9      1001
   10      A      1010
   11      B      1011
   12      C      1100
   13      D      1101
   14      E      1110
   15      F      1111
   */
}
void func10() {
   
}
int main()
{
   printf("1\n");
   func02();
   printf("2\n");
   func02();
   func03();
   func04();
   func05();
   func06();
   func07();
}
cs


728x90

'비트 단기 > c' 카테고리의 다른 글

함수이어서 3~  (0) 2018.11.09
함수 이어서~2  (0) 2018.11.08
구조체 복습 11/06  (0) 2018.11.07
복습  (0) 2018.11.06
11/5 포인터 구조체  (0) 2018.11.05

댓글