개인 재정 C 프로그래밍의 가변 제어 - C 프로그래밍의 더미

C 프로그래밍의 가변 제어 - C 프로그래밍의 더미

차례:

비디오: [C 프로그래밍] 제1-3강 변수와 흐름제어 2024

비디오: [C 프로그래밍] 제1-3강 변수와 흐름제어 2024
Anonim

C 프로그래밍에서 변수를 다른 유형으로 변경하거나 새로운 이름을 지정하거나 귀하의 필요를 충족시키기위한 변수, 자비로운 또는 그렇지 않은 변수.

불신앙으로 형변환

float 변수가 부동 소수점 변수가 아닌 것은 언제입니까? 물론 int로 타입 변환 될 때. 이 속임수는 타입 변환을 사용하여 C 언어에서 가능합니다. 예:

(int) debt

앞의 행에서 float 변수 debt 는 int 값으로 타입 변환됩니다. 괄호 안의 int는 debt 의 값을 정수로 처리하도록 컴파일러에 지시합니다.

왜 누구가하고 싶습니까?

함수가 특정 변수 유형을 필요로하고 그 유형을 사용할 수없는 경우가 있기 때문입니다. 하나의 프로그램에서 여러 변수 유형을 변환하고 저글링하는 대신 원하는 유형으로 변수를 간단히 유형 변환 할 수 있습니다. 흔히 볼 수있는 트릭이 아니지만, '맞지 않음'과 같이 흔히 필요합니다.

그게 맞지는 않아.

#include int main () {int a, b; 플로트 c; printf ("첫 번째 값 입력:"); scanf ("% d", & a); printf ("두 번째 값 입력:"); scanf ("% d", & b); c = a / b; printf ("% d / % d = %. 2fn", a, b, c);

연습 문제 1: 맞지 않는 부분에서 소스 코드를 편집기에 입력하십시오. 빌드하고 실행하십시오.

첫 번째 값을 입력하십시오:

3 두 번째 값을 입력하십시오: 2 3/2 => 1. 00

분명히 3 ÷ 2가 어떻게 든 1에 도달한다는 것은 잘못된 것입니다. 50. 컴퓨터가 1.00이라고 말하면 컴퓨터는 정확해야합니다.

아니면 컴퓨터는 소스 코드의 Line 12에서 두 개의 int 값이 나뉘고 결과가 float 그러나 C에서 정수를 정수로 나누면 정수가됩니다.

값 1은 가장 가까운 정수 값이 1입니다. 50. 컴퓨터가 잘못 되었더라도 수행 한대로 정확하게 수행하고 있습니다.

연습 문제

2: 12 번째 줄을 읽도록 소스 코드를 수정하여 c = (float) a / (float) b;

변경 사항을 저장하십시오. 방금 표시된 것과 동일한 값을 사용하여 빌드하고 실행하십시오. 새로운 출력은 다음과 같습니다:

첫 번째 값을 입력하십시오. 3 두 번째 값을 입력하십시오. 2 3/2 = 1. 50

더 좋습니다. 방정식에 변수

와 b 를 형변환하여 일시적으로 컴파일러가 부동 소수점 숫자로 처리하도록 허용하기 때문입니다. 따라서 결과는 있어야합니다. typedef로 새로운 것을 만드는 법 typedef 키워드로 많은 어려움을 겪을 수 있습니다.일관된 자아에서 정상적인 C 단어와 연산자를 모든 종류의 장난에 사용할 수 있습니다.

TYPEDEF의 예 #include typedef int stinky; stinky main () {stinky a = 2; printf ("누구나 알고있다"); printf ("% d + % d = % dn", a, a, a + a);

typedef 의 Perils에서 3 행의 typedef 문은 stinky라는 단어를 int 키워드와 동일하게 정의합니다. 코드에서 int를 사용할 수있는 곳이면, 5 번과 7 번 라인 에서처럼 stinky라는 단어를 대신 사용할 수 있습니다.

연습

3: 를 사용하여 냄새 나는 변수 유형이 int와 동일 함을 보여주는 새 프로그램을 만듭니다. 빌드하고 실행하십시오.

typedef 의 예에서의 예는 다소 어리 석다. 심각한 프로그래머는 그런 진짜 프로그램을 만들지 않을 것입니다. typedef가 가장 자주 사용되는 곳은 구조를 정의하는 데 있습니다. typedef 문은 해당 활동의 chunkiness를 줄이는 데 도움이됩니다. 전통적 방식으로 구조 만들기: 구조에 대한 지식을 바탕으로 중첩 된 구조 작업이 어떻게 작동하는지 보여줍니다. 구조적 방식 만들기

struct id {char first [20]; char last [20];}; struct date {int month; int 하루; int year;}; struct human {struct id name; 구조체 날짜 생일;}; 구조체를 정의하기 위해 ypedef

를 사용하여 구조체를 typedef하면 선언이 어떻게 발생하는지 보여줍니다:

TYPEDEF

USING

구조체를 정의하려면 > typedef struct id {char first [20]; char last [20];} 개인; typedef struct date {int 달; int 하루; int year;} 달력; struct human {개인 이름; 달력 생일;}; 이 목록에서 구조 ID는 개인 이름에 typedef됩니다. 그것은 변수 이름이 아닙니다. 그것은 typedef입니다. "struct id에 대한 모든 참조가 이제는 개인 이름과 동일합니다. " 마찬가지로 구조 날짜는 달력에 typedef'd됩니다. 마지막으로, 구조체 human의 선언에서보다 복잡한 구조체 정의 대신 typedef 이름이 사용됩니다.

중첩 된 구조체 #include #include int main () {struct date {int month; int 하루; int year;}; struct human {char name [45]; 구조체 날짜 생일;}; 인간의 대통령을 구조하다; strcpy (대통령 이름, "조지 워싱턴"); 대통령. 생일. 월 = 2; 대통령. 생일. 일 = 22; 대통령. 생일. 년 = 1732; printf ("% s / % d / % dn에 태어났습니다.", 회장, 회장, 생일, 월, 회장, 생일, 대통령, 생일. 연습 9 :

중첩 구조의 인체 구조에

이름

멤버를 중첩 구조로 바꿉니다. 구조체 ID의 이름을 지정하고 개인의 이름과 성을 저장하기위한 두 개의 멤버 인 char 배열 first와 last를 포함하게합니다.

모든 일을 올바르게하면 회장의 이름은

회장의 변수가됩니다. 이름. 최초의

회장. 이름. 마지막 . 코드에서 이러한 변수에 값을 지정하고 결과를 표시하십시오. 연습 5 :

t ypedef 를 사용하여 구조 정의에 표시된 것처럼 연습 문제 4에서 만든 프로젝트의 소스 코드를 typedef로 수정합니다. 빌드하고 실행하십시오. typedef를 사용한다고해서 좋은 변수 이름과 형식이 잘 짜여진 텍스트를 사용했을 때보 다 코드를 더 명확하게 만들 수 있다고 주장 할 수 있습니다. 예를 들어 typedef는 정의한 것을 기억하고 싶지 않기 때문에 사용할 수 없습니다. 하지만 typedef를 사용하는 다른 코드를 접하게 될 것입니다. 너를 괴롭히지 않게해라. 구조체와 함께 typedef를 사용하는 것의 진정한 이점은 아마도 구조체라는 단어를 너무 많이 입력하지 않아도된다는 것입니다.

C 프로그래밍의 가변 제어 - C 프로그래밍의 더미

편집자의 선택

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

JavaScript에서 HTML 양식 요소에 액세스하는 방법 - 다른 HTML 요소와 마찬가지로

자바 스크립트에서 HTML5 요소와 직접 상호 작용할 수 있습니다. 트릭은 선택한 요소가 지원해야하는 브라우저 및 플랫폼에서 작동하는지 확인하는 것입니다. 이 예제에서는 및 태그를 다음과 같은 솔루션의 일부로 사용하는 방법을 보여줍니다.

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

CSS 값 정의에 대한 빠른 가이드 구문 - 인형

W3C (World Wide Web Consortium)에서 모든 CSS 속성의 구문과 가능한 값을 정의합니다. 정의를 가능한 한 정확하게 만들기 위해 W3C는 CSS 값 정의 구문이라는 공식 시스템을 사용합니다. 정의 구문은 가능한 값을 매우 정확하게 정의하지만 CSS 값 정의 구문을 읽는 중 ...

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

JavaScript로 동적 HTML 요소를 작성하는 방법 - 더미

모든 페이지에 대한 특수 효과는 페이지에 동적 HTML 변경 기능을 제공하는 것입니다. 예를 들어 다음 예제와 같이 선택한 요소에 특수 효과를 만들 수 있습니다. function ChangeStyles (event) {// 요소에 대한 참조를 얻습니다. var ThisElement ...

편집자의 선택

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 변경 내용 수락 또는 거부 방법 - 변경 내용 추적을 설정하면 더미

Excel 2013 통합 문서의 경우 리본의 검토 탭에있는 변경 내용 추적 명령 단추의 드롭 다운 메뉴에서 Alt / RGC를 눌러 변경 내용 적용 / 거부 옵션을 선택하여 수락 또는 거부 할 변경 내용을 결정할 수 있습니다. 이렇게하면 Excel이 강조 표시된 모든 변경 내용을 검토합니다 ...

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel에서 셀에 설명을 추가하는 방법 2016 - 문자

Excel 2016 워크 시트의 특정 셀에 주석을 달 수 있습니다. 댓글은 스티커 메모의 전자 팝업 버전과 유사합니다. 셀에 주석을 추가하려면 다음과 같이하십시오. 셀 포인터를 이동하거나 주석을 추가 할 셀을 클릭하십시오. 새 주석을 클릭하십시오.

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

Excel 피벗 테이블에 계산 된 필드를 추가하는 방법 - 더미

피벗 테이블 내부의 값을 계산합니다. 계산 된 필드 및 항목을 표에 추가 할 수 있습니다. 계산 된 필드를 추가하면 새로운 행이나 열을 피벗 테이블에 삽입 한 다음 수식을 사용하여 새 행이나 열을 채울 수 있습니다. 예를 들어 다음과 같이 나타납니다.

편집자의 선택

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

포토샵 CS6에서 히스토리 기능으로 채우기를 사용하는 방법 - 더미

채우기 Adobe Photoshop의 기능 Creative Suite 6는 선택을 원할 때 유용합니다. 특정 상태로 바꿀 영역을 쉽게 선택할 수 있으면 기록으로 채우기 기능을 사용할 수 있습니다. 특정 이미지에서 하늘이 마음에 들지 않는다고 가정 해보십시오. 선택한 항목 ...

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6에서 패싯 필터를 사용하는 방법 -

Photoshop CS6의 이미지는 먼지와 스크래치를 줄이거 나 날카로운 모서리를 부드럽게하는 것입니다. 패싯 필터는 포스터 라이징 효과를 사용하여 이미지를 분할합니다. Photoshop CS6에서 이미지를 흐리게 처리하려는 한 가지 이유는 먼지 및 스크래치를 줄이거 나 밝기를 비슷하게하는 픽셀 블록을 모아서 기하학적 모양을 사용하여 단일 값으로 변환하기 때문입니다.

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6에서 손 도구 사용 방법 - 인형

Photoshop CS6 손 도구는 이미지 문서에서 빠르게 이동하고 스크롤 막대와 유사하게 작업하여 작업을보다 신속하게 수행 할 수 있습니다. 손 도구는 손 도구를 클릭 할 필요가 거의 없기 때문에 실제 도구보다 기능이 더 많습니다. 간단히 ...