내 블로그 목록

레이블이 C인 게시물을 표시합니다. 모든 게시물 표시
레이블이 C인 게시물을 표시합니다. 모든 게시물 표시

2019년 1월 3일 목요일

[C언어] for문 사용하여 3과 4로 나누어 떨어지는 수 구하기.


3과 4로 나누어 떨어지는 수 구하기.
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

int main(){

      int i, j;

      //방법[1] for(i=0; i<=99; i++){
      //방법[2] for(i=0; i<100; i=i+1){
      //방법[3] for(i=100; i>=0; i--){
      //방법[4] for(i=100; i>=0; i-=1){

      //방법[5]
      //int i=0;
      //for(; i<100; i++){

      for (i=0; i<100; i++){
            if (i % 3 == 0 && i % 4 == 0){
                  printf("%d\t", i);
            }
      }

      //방법[6] 
       for (i = 0;; i++){
            if (i < 100){
                  if (i % 3 == 0 && i % 4 == 0){
                        printf("%d\t", i);
                  }
            }
            else{
                  break;
            }
      }

       //방법[7]
for (i = 0;;){
            if (i < 100){
                  if (i % 3 == 0 && i % 4 == 0){
                        printf("%d\t", i);
                  }
                  i++;
            }
            else{
                  break;
            }

      }

//방법[8]
i = 0;
      for(;;){
            if (i < 100){
                  if (i % 3 == 0 && i % 4 == 0){
                        printf("%d\t", i);
                  }
                  i++;
            }
            else{
                  break;
            }
      }

      //**참조** for(i=100; i>=0; i-=2){ 만약 2씩 감소한다면

      system("pause");
      return 0;
}

Result:


[C언어] 대입연산자와 형변환(Casting/Promoting)




#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

int main(void){

      short a = 132;
      double b = a;
      printf("%f\n", b); 
//Result: 132.0000

      double d = 60000.345;
      short s = d;
      printf("%d\n", s); 
//Result: -5536. double>short이기 때문에 범위가 초과함.

      char c = 99;
      printf("%c\n", c); 
//Result: c

      short e = "abcd";
      printf("%d\n", e); 
//Result: 오류 발생. short에 문자열을 대입할 수 없음.

      system("pause");

}

** 크기가 작은 타입 변수 > 크기가 큰 타입 변수 대입 (O)
** 크기가 큰 타입 변수 > 크기가 작은 타입 변수 대입 (X)
** 문자열 변수 > 숫자 변수 대입 (X)

[C언어] 비주얼 스튜디오(Visual Studio) 설치 및 실행


[1] Visual Studio 설치하기


[2] ‘VS Express 2013 for Desktop’ 실행


[3] 새 프로잭트 생성




[4] 새 파일 생성
소스 파일 왼쪽 클릭 > 추가 > 새 항목 클릭



**참고 기본 include문
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>

#define _CRT_SECURE_NO_WARNINGS는 scanf() 함수를 위하여 선언함.
주의해야 할 점은 #include <studio.h> / #include <stdlib.h> 위에 선언해줘야 함.
Ex) scanf("%d", &height);

#include <stdlib.h> 
system("pause");를 위해서 선언해야 한다.


[5] 새 프로젝트 추가하기
솔루션 왼쪽 클릭 > 추가 > 새 프로젝트
이하 [3]번과 동일함.



[6] 프로젝트 변경 후 콘솔에서 결과 출력하기.
주의 ) C는 메인 실행 프로젝트가 자동으로 지정되어 콘솔에서 실행한다.  
//소스 파일 > 추가 > 새 항목 > 파일 생성

메인 실행 프로그램으로 지정하지 않은 프로젝트를 단독으로 실행하고자 한다면:
왼쪽에 새로 만든 프로젝트 왼쪽 클릭 > 디버그 > 새 인스턴스 시작

메인 실행 프로그램을 바꾸고자 한다면: 
왼쪽에 새로 만든 프로젝트 왼쪽 클릭 > 시작 프로젝트로 설정.




[C언어] 비쥬얼 스튜디오(Visual Studio) 줄 번호 옵션 추가




   도구 > 옵션 > 텍스트 편집기 > C/C++ > 일반 > 줄 번호 체크



2018년 12월 28일 금요일

[C언어] 변수의 데이터 타입과 연산자 우선순위


[1] 변수 값 입출력

#문자 출력 시
Printf(“기초를 튼튼히\n”);
Java를 동일하게 선언한다. \n은 줄 띄움 표시.

#숫자 출력 시
int num1 = 1;
Printf(“%d\n”, num1);
숫자 변수 출력 시, “%d”나 “%i”를 선언해야 한다.   

**자료형은 이 파일에서 확인 가능.

ccp 파일 > Standard C I/O > printf > Code와 Format 테이블


[2] 데이터 타입



*Unsigned: 음수가 아닌 양의 정수.

%주의) C와 자바(Java)의 차이점.
//
Char => C: 1byte / java : 2byte.
Long => C: 4byte / java: 8byte.
Long long => C: 8byte.
//
Java는 양의 정수(unsigned) 타입이 없음.



[3] 연산자의 우선순위



( ): 연산 우선 연산자, 형변환(Casting) 연산자
->: 구조체 포인터, 간접 지정 연산자.
Sizeof : 변수나 자유형의 크기(byte)를 측정 해주는 연산자. Java의 length()와 비슷함.
~ : 비트 Not(부정) 연산.
! : 일반 Not(부정) 연산.
* : 포인터. 메모리 주소 간접 지정 연산자.
<<, >> : 비트 이동(shift) 연산자. 참고로 java에는 >>>이 존재하지만 <<<이 존재하지X.
& : 포인터 연산(메모리 주소 연산). (1)메모리 주소 반환 시 사용. (2)비트 논리곱(and).
| : 비트 논리합(OR)
^ : 비트 XOR(배타적인 논리합: exclusive-OR). Ex) 0^0 => 0 / 1^0 => 1 / 0^1 => 1 / 1^1 => 0
? : : 삼항(ternary) 연산자.   




-- 오타가 많아서 다른 연산자 우선순위 표를 첨부한다.

**연산자 우선순위는 이 파일에서 확인 가능.

[C언어] 한글 유니코드


UniCode 사이트 주소: http://unicode.org/


**참고) ISO

UTF-8 : ISO/IEC-10646-1.
웹 브라우저의 인자 인코딩 체계(기본값) : ISO-8859-1(서유럽어)




[C언어] 아스키 코드 (ASCII Code)

10진수
8진수
16진수
ASCII
Name(Meaning) <Text Reference>
0
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
124
125
126
127
000
001
002
003
004
005
006
007
010
011
012
013
014
015
016
017
020
021
022
023
024
025
026
027
030
031
032
033
034
035
036
037
040
041
042
043
044
045
046
047
050
051
052
053
054
055
056
057
060
061
062
063
064
065
066
067
070
071
072
073
074
075
076
077
100
101
102
103
104
105
106
107
110
111
112
113
114
115
116
117
120
121
122
123
124
125
126
127
130
131
132
133
134
135
136
137
140
141
142
143
144
145
146
147
150
151
152
153
154
155
156
157
160
161
162
163
164
165
166
167
170
171
172
173
174
175
176
177
00
01
02
03
04
05
06
07
08
09
0A
0B
0C
0D
0E
0F
10
11
12
13
14
15
16
17
18
19
1A
1B
1C
1D
1E
1F
20
21
22
23
24
25
26
27
28
29
2A
2B
2C
2D
2E
2F
30
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F

^A
^B
^C
^D
^E
^F
^G
^H
^I
^J
^K
^L
^M
^N
^O
^P
^Q
^R
^S
^T
^U
^V
^W
^X
^Y
^Z
^[
^\
^]
^^
^_

!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
NUL (used for padding) <NULL>
SOH (start of header)
STX (start of text)
ETX (end of text)
EOT (end of transmission)
ENQ (enquiry)
ACK (acknowledge)
BEL (bell or alarm) <BELL>
BS (backspace) <BS>
HT (horizontal tab) <TAB>
LF (line feed) <LF> <NL>
VT (vertical tab)
FF (form feed new page) <FF> <NP>
CR (carriage return) <CR>
SO (shift out)
SI (shift in)
DLE (data link escape)
DC1 (device control #1, XON)
DC2 (device control #2)
DC3 (device control #3, XOFF)
DC4 (device control #4)
NAK (negative acknowledge)
SYN (synchronous idle)
ETB (end transmission block)
CAN (cancel)
EM (end of medium)
SUB (substitute)
ESC (escape)
FS (file separator)
GS (group separator)
RS (record separator)
US (unit separator)
space or blank <SP>
exclamation mark
quotation(double quotation)
number sign(hash mark)
dollar sign
percent sign
ampersand sign
apostrophe(single quotation)
opening parenthesis
closing parenthesis
asterisk
plus sign
comma
hyphen or minus sign
period(decimal point dot)
slash
numeral zero
numeral one
numeral two
numeral three
numeral four
numeral five
numeral six
numeral seven
numeral eight
numeral nine
colon
semicolon
less than sign
equal sign
greater than sign
question mark
at sign
uppercase(capital) A
uppercase(capital) B
uppercase(capital) C
uppercase(capital) D
uppercase(capital) E
uppercase(capital) F
uppercase(capital) G
uppercase(capital) H
uppercase(capital) I
uppercase(capital) J
uppercase(capital) K
uppercase(capital) L
uppercase(capital) M
uppercase(capital) N
uppercase(capital) O
uppercase(capital) P
uppercase(capital) Q
uppercase(capital) R
uppercase(capital) S
uppercase(capital) T
uppercase(capital) U
uppercase(capital) V
uppercase(capital) W
uppercase(capital) X
uppercase(capital) Y
uppercase(capital) Z
opening bracket
backward slash(backslash)
closing bracket
caret(uparrow)
underscore
grave accent(back quotation)
lowercase a
lowercase b
lowercase c
lowercase d
lowercase e
lowercase f
lowercase g
lowercase h
lowercase i
lowercase j
lowercase k
lowercase l
lowercase m
lowercase n
lowercase o
lowercase p
lowercase q
lowercase r
lowercase s
lowercase t
lowercase u
lowercase v
lowercase w
lowercase x
lowercase y
lowercase z
opening brace
vertical line
closing brace
tilde
DEL(delete, rub out) <DEL>

[C언어] cmd로 C파일 내용 확인하기


[1] cmd로 파일 내용 확인하기

>Cd 파일주소
>d: (D 드라이브 접속)
>dir (파일 정보 확인)
>Project181228_1.exe (파일이름.exe)

결과가 '안녕' 이라고 나오는 것을 확인할 수 있다.