일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 모래재 임도 mtb 코스
- mtb로이화령넘기
- 괴산 사리면 mtb코스
- ict컨설턴트 김민호
- 새로운대통령은위기를극복할줄아는대통령이필요
- 증평 청안 mtb코스
- 한국경제산업전망
- 청주부근mtb코스
- 온라인마케팅강의
- mtb코스 안내
- 한국의경제예측과전망
- 우기는사람처리방법
- 김민호
- 봉성제mtb코스
- 방축제mtb코스
- mtb국토종주이화령
- 온라인마케팅 강사
- 태양김민호
- 이화령라이딩
- 자기말이 맞다고 우기는사람 대하는 지혜 방법
- 모래재 임도 산악자전거
- C#
- 자기주장강한사람을대하는지혜
- 우기는사람
- 우겨되는사람대하는방법
- 자기말이 맞다고 우기는사람 처리방법
- IT트렌드
- 보은군청온라인마케팅
- 갤럭시노트2 케이스
- 투자해야할사업
- Today
- Total
태양김민호의 금태양블로그
C# 기본적인 구문 (변수와 표현식) 닷넷(.NET) 본문
1. C# 컴파일러은 코드의 추가적인 공백들을 그냥 무시한다. 여기서 공백이란 빈칸, 캐리지 리턴,
탭 등을 모두 포괄하는 것이다.
2. C#은 일련의 문장들로 이루어지며, 하나의 문장은 하나의 세미콜론으로 끝난다. 코드의 가동성
을 위해서는 한 줄에 한 문장씩, 즉 세미콜론 다음에 캐리지 리턴을 넣어서 줄을 바꿔주는 것이
좋다.
3. C#은 블럭 구조의 언어이다. 블럭은 중괄호({와 })로 둘러싸이며, 그 안에는 여러 개의 문장들이
포함될 수도 있고, 하나도 포함되지 않을 수도 있다. 중괄호에는 세미콜론을 붙이지 않는다.
<간단한 블럭 형태>
{
<코드 줄1>;
{
<코드 줄2>;
<코드 줄3>;
}
<코드 줄4>;
}
4. 주석(Comment)
1) 블럭 주석의 경우 주석의 시작을 "/*"로, 주석의 끝을 "*/"로 표시한다. 블럭주석은 한 줄일
수도 있고 여러 줄들로 이루어질 수도 있다.
2) 한 줄 짜리 주석은 "//"로 시작하며, 그 줄 끝까지 주석으로 간주된다.
3) 특별한 주석은 "///"로 시작하는데 이는 그냥 한 줄 짜리 주석으로 간주되나, 적절한 설정을
거치면 프로젝트를 컴파일할 때 VS가 이러한 주석 뒤에 나오는 텍스드를 추출해서 특정한
형식의 텍스트 파일을 만들어내게 할 수 있다. (JavaDoc, DoxyGen의 자동 문서화 기능)
5. C# 코드는 C/C++ 처럼 대,소문자를 구별한다.
6. 변수
1) 변수를 사용하기 위해서는 먼저 변수를 선언해야 한다. 변수를 선언한 다음에는 변수의 형식
에 맞는 데이터를 변수에 저장할 수 있다.
< 변수 선언 구문 구조 > <형식> <이름>;
2) 정수 형식
형식 |
실제이름 |
허용되는 값 |
sbyte |
System.SByte |
-128과 127 사이의 정수 |
byte |
System.Byte |
0과 255 사이의 정수 |
short |
System.Int16 |
-32768과 32767 사이의 정수 |
ushort |
System.Uint16 |
0과 65536 사이의 정수 |
int |
System.Int32 |
-2147483648과 2147483647 사이의 정수 |
uint |
System.Uint32 |
0과 4294967295 사이의 정수 |
long |
System.Int64 |
-와 9223372036854775807 사이의 정수 |
ulong |
System.Uint64 |
0과 188446744073709551615 사이의 정수 |
3) 단순 형식
형식 |
실제이름 |
허용되는 값 |
char |
System.Char |
하나의 유니코드 문자. 0 ~ 65535 사이의 정수 |
bool |
System.Boolean |
부울 값. True 또는 false |
string |
System.String |
일련의 문자들(문자열) |
4) 단순 형식의 활용
static void Main(string[] args)
{
int myInteger;
string myString;
myInteger = 17;
myString = "\"myInteger\" is";
Console.WriteLine("{0}, {1} .", myString, myInteger);
}
* 출력 결과는 "myInteger" is 17 .
< NOTE >
(1) 문자열 자체에 큰 따옴표를 표현하기 위해 \"라는 이스케이프 시퀀스를 사용했다.
(2) 역슬래시는 이스케이프 시퀀스의 시작을 의미하며, 역슬래스 자체를 문자열에 포함
시키고자 할 때에는 역슬래시 두개를 연달아 쓴 \\를 사용해야 한다.
(3) {0}과 {1}은 실제로 출력될 값이 들어갈 자리를 의미하는 수단으로 중괄호의 숫자는
그 부분에 치환될 값을 가진 변수가 어떤 것인지를 가리킨다. 0은 변수 목록 중 첫번째
변수, 1은 두번째 변수이며, 변수가 더 있으면 1씩 증가시켜서 지정하면 된다.
7. 변수 명명 규칙
1) 변수 이름의 첫번째 문자는 하나의 글자(letter) 또는 하나의 밑줄 문자("_") 또는 앳 기호
("@") 여야 한다.
2) 그 이후에는 글자, 밑줄 문자, 숫자가 올 수 있다.
※ 명명 관례 : PascalCase의 경우에는 모든 단어의 첫글자를 대문자로 표기하고, camelCase
의 경우에는 첫 단어를 모두 소문자로 쓴다.
마이크로소프트는 간단한 변수들에는 camelCase를 사용하고, 좀더 복잡한 형식
의 변수들에는 PascalCase를 사용하도록 권장하고 있다.
8. 리터럴
1) 정수 리터럴
형식 |
범주 |
접미어 |
예/허용되는 값 |
bool |
부울 |
없슴 |
True 또는 false |
int, uint, long, ulong |
정수 |
없슴 |
100 |
uint, ulong |
정수 |
u 또는 U |
100U |
long, ulong |
정수 |
l 또는 L |
100L |
ulong |
정수 |
ul, uL, Ul, UL, lu, lU, Lu 또는 LU |
100UL |
float |
실수 |
f 또는 F |
1.5F |
double |
실수 |
없슴, d 또는 D |
1.5 |
decimal |
실수 |
m 또는 M |
1.5M |
char |
문자 |
없슴 |
‘a’, 또는 이스케이프 시퀀스 |
string |
문자열 |
없슴 |
“a…a”, 이스케이프 시퀀스 포함 가능 |
2) 문자 리터럴
이스케이프 시퀀스 |
생성되는 문자 |
문자의 유니코드 값 |
\’ |
작은따옴표 |
0x0027 |
\”” |
큰따옴표 |
0x0022 |
\\ |
역슬래시 |
0x005c |
\0 |
널 문자 |
0x0000 |
\a |
경고(삐 소리) |
0x0007 |
\b |
백스페이스 |
0x0008 |
wf |
폼 피드(form feed) |
0x000C |
\n |
새 줄(new line) |
0x000A |
\r |
캐리지 리턴(carriage return) |
0x000D |
\t |
수평 탭(horizontal tab) |
0x0009 |
\v |
수직 탭(vertical tab) |
0x000B |
※ 문자열 앞에 @를 붙이면 문자열을 있는 그대로 표기하는 것도 가능하다. 이 경우 양쪽 큰 따옴
표 사이의 문자들이 형채 그대로 문자열에 포함된다.
@"형태 그대로의 문자열."
※ 다른 형식들은 모두 값(value) 형식이지만, 문자열은 참조(reference) 형식이다. 그래서 문자열
변수에는 null 이라는 값을 배정할 수 있다. 이는 문자열 변수가 어떠한 문자열도 참조하지 않는
다는 뜻이다.
9. 변수의 선언과 배정
1) 변수에 값을 배정할 때에는 = 배정 연산자를 사용한다.
2) 변수들은 반드시 선언한 후 사용해야 한다. 선언과 배정을 동시에 하는 것도 가능하다.
(변수의 초기화)
10. 표현식
1) 변수와 리터럴 값들을 연산자들로 결합한 것이 표현식(expression, '식') 이다.
2) 계산의 기본적인 구축요소이다.
3) 연산자들의 범주
(1) 단항 연산자(unary operator, 短項) : 하나의 피연산자에 대해 작용한다.
(2) 이항 연산자(binary operator, 二項) : 두 개의 피연산자들에 대해 작용한다.
(3) 삼항 연산자(ternary operator) : 세 개의 피연산들에 대해 작용한다. (선택 연산자)
11. 산술 연산자
1) 기본 산술연산자
연산자 |
범주 |
표현식 예 |
결과 |
+ |
이항 |
var1 = var2 + var3; |
var2와 var3의 합이 var1에 배정된다. |
- |
이항 |
var1 = var2 - var3; |
var2에서 var3을 뺀 결과가 var1에 배정된다. |
* |
이항 |
var1 = var2 * var3; |
var2에 var3을 곱한 결과가 var1에 배정된다. |
/ |
이항 |
var1 = var2 / var3; |
var2를 var3으로 나눈 결과가 var1에 배정된다. |
% |
이항 |
var1 = var2 % var3; |
var2를 var3으로 나눈 나머지가 var1에 배정된다. |
+ |
단항 |
var1 = +var2; |
var2의 값이 var1에 배정된다. |
- |
단항 |
var1 = -var2; |
var2에 –1을 곱한 결과가 var1에 배정된다. |
※ 이항 + 연산자는 string 형식의 변수들에 대해서도 적용된다.
(예) var1 = var2 + var3; var2와 var3에 담긴 문자열들을 결합한 결과가 var1에 배정된다.
2) 감소 연산자
연산자 |
범주 |
표현식 예 |
결과 |
++ |
단항 |
var1 = ++var2; |
var2 + 1의 값이 var1에 배정된다. var2가 1증가한다 |
-- |
단항 |
var1 = --var2; |
var2 - 1의 값이 var1에 배정된다. var2가 1감소한다 |
++ |
단항 |
var1 = var2++; |
var2의 값이 var1에 배정된다. var2가 1증가한다. |
-- |
단항 |
var1 = var2--; |
var2의 값이 var1에 배정된다. var2가 1감소한다. |
12. 배정 연산자
연산자 |
범주 |
표현식 예 |
결과 |
= |
이항 |
var1 = var2; |
var1에 var2의 값이 배정된다. |
+= |
이항 |
var1 += var2; |
var1과 var2의 합이 var1에 배정된다. |
-= |
이항 |
var1 -= var2; |
var1에서 var2를 뺀 결과가 var1에 배정된다. |
*= |
이항 |
var1 *= var2; |
var1에 var2를 곱한 결과가 var1에 배정된다. |
/= |
이항 |
var1 /= var2; |
var1을 var2로 나눈 결과가 var1에 배정된다. |
%= |
이항 |
var1 %= var2; |
var1을 var2로 나눈 나머지가 var1에 배정된다. |
※ += 연산자는 String 형식에도 쓰일 수 있다.
13. 연산자 우선순위
우선순위 |
연산자 |
가장 높음 |
++, -- (변수 앞에 올 때); +, - (단항) |
|
*, /, % |
|
+, - |
|
=, *=, /=, %=, +=, -= |
가장 낮음 |
++, -- (변수 뒤에 올때) |
※ 괄호를 이용해서 우선 순위를 명시적으로 지정할 수 있다.
14. 네임스페이스
1) 한 응용 프로그램의 코드에 담긴 항목들을 다른 응용 프로그램의 것들과 식별하기 위한 수단
으로 이름공간은 .NET Framework의 항목들을 범주별로 나누는 수단으로도 쓰인다.
2) namespace라는 키워드를 사용하면, 중괄호로 감싼 어떠한 코드 블럭에 고유한 네임스페이
스를 정의할 수 있다. 그 네임스페이스 안에 있는 이름들을 그 네임스페이스 밖에서 언급하
려면 반드시 형식을 갖춘 이름을 사용해야 한다.
3) 형식을 갖춘 이름이란 다른 네임스페이스 안의 이름에 접근하려면 그 네임스페이스의 이름
까지 써줘야 한다는 뜻이다. 네임스페이스들이 계통적으로 구성되어 있다면 각 수준의 네임
스페이스 이름들을 마침표(".")로 결합해서 써준다.
4) 네임스페이스 계통구조가 복잡하다면, 어떻나 이름을 지칭하기가 매우 번거로와질 것이다.
매번 각 수준의 네임스페이스들을 모두 써줘야 하기 때문인데 이를 위해서 using 키워드가
있다. using 문은 자신이 들어 있는 네임스페이스에 적용되며, 그 네임스페이스에 포함된
다른 모든 중첩된 네임스페이스들에도 적용된다.
namespace LevelOne
{
using LevelTwo;
namespace LevelTwo
{
// "NameTwo" 라는 이름을 정의한다.
}
}
이렇게 하면 LeveOne 네임스페이스 안의 코드는 LevelTwo.NameTwo를 그냥 NameTwo라
고 지칭할 수 있다.
5) System 네임스페이스는 .NET Framework의 루트 네임스페이스로, 콘솔 응용 프로그램에 필
요한 기본적인 기능성을 모두 담고 있다.
'SOFTWARE' 카테고리의 다른 글
비지오가 무엇일까요? MS VISIO 2013 기능설명, 기능차이, 버젼별 차이, 달라진점, 토렌트, office 2013 프로페셔널에 속해있습니다. (0) | 2013.12.25 |
---|---|
마이크로소프트 오피스 프로페셔널 2013 한글언어팩 다운로드 받는 곳 (0) | 2013.12.25 |
인터넷(웹)상에 영상을 녹화저장하는 방법은 없을까요? (0) | 2013.11.01 |
실수와 정수 - 실수 자료형 선언, 정수 자료형 선언 (0) | 2013.10.16 |
UCC다바다 블로그 - 고독한 프로그래머의 블로그 (0) | 2013.10.16 |
닷넷 클래스, 델리게이트, 이벤트 (0) | 2013.10.16 |
앱인벤터, APP INVENTOR 로 손쉽게 어플을 제작한다. (0) | 2013.10.16 |
포토샵온라인버젼, 온라인포토샵, 설치없이 사용하는 포토샵 (0) | 2013.10.16 |
C#의 디버깅과 오류 처리 (0) | 2013.10.15 |
C# 입문자를 위한 토탈 가이드 (0) | 2013.10.15 |