리눅스
1.Bash ( Bourne Again Shell)
Bash 쉘은 리눅스 쉘이며 리눅스에서 가장 널리 사용되는 쉘
.bashrc 설정파일
~/.bashrc는 별칭(alias)과 bash가 수행될 때 실행되는 함수를 제어하는 지역적인 시스템 설정과 관련된 파일
별칭과 함수들은 오직 그 사용자에게만 한정되며, 그 이외의 다른 사람에게는 영향을 미치지 않는다
리눅스에서 .이 붙은 파일들은 중요파일들로써 기본 숨김처리가 됨
2.set
로컬 환경변수를 조회하는 명령어
3.env
글로벌 환경변수를 조회하는 명령어
OS별 Path 실행 순서 차이 |
|
DOS |
현재 경로의 파일부터 먼저실행, 그뒤 path경로의 파일 실행 |
유닉스 |
path에 없으면 실행되지 않음, 명확해야됨 |
리눅스 |
일단 path경로 부터 찾아서 실행함,없으면 현재경로 의 파일 실행 |
gcc
컴파일
gcc -o main main.c
실행
./main
C언어
GotoBasic.c
goto 는 베이직 쓰던 시절 쓰던 문법으로써 강제로 특정 위치로 이동해서 실행
문제가 있으므로 현재 잘 쓰이지 않는 방법
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 | #include <stdio.h> int main(void) { int num; printf("자연수 입력: "); scanf("%d", &num); if(num == 1) { goto ONE; } else if(num == 2) { goto TWO; } else { goto OTHER; } ONE: printf("1을 입력 하셨습니다! \n"); goto END; TWO: printf("2를 입력 하셨습니다! \n"); goto END; OTHER: printf("3혹은 다른 값을 입력 하셨습니다! \n"); END: return 0; } | cs |
while문에서 주로 많이 사용
whilebreak.c
while 안의 조건이 만족하는동안 내부는 계속 진행됨
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | #include <stdio.h> int main(void) { int sum = 0; int num = 0; while(1) { sum+=num; if(sum>5000) { break; } num++; } printf("sum : %d \n",sum); printf("num : %d \n",num); return 0; } | cs |
해당되는 조건 값이 없을때 default 를 실행함
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 | #include <stdio.h> int main(void) { int num; printf("1이상 5이하의 정수 입력: "); scanf("%d", &num); switch(num) { case 1: printf("1은 ONE \n"); break; case 2: printf("2는 TWO \n"); break; case 3: printf("3은 THREE \n"); break; case 4: printf("4는 FOUR \n"); break; case 5: printf("5는 FIVE \n"); break; default: printf("I don't know! \n"); } return 0; } | cs |
AdvanES.c
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 | #include <stdio.h> int main(void) { char sel; printf("M 오전, A 오후, E 저녁 \n"); printf("입력: "); scanf("%c", &sel); switch(sel) { case 'M': case 'm': printf("Morning \n"); break; case 'A': case 'a': printf("Afternoon \n"); break; case 'E': case 'e': printf("Evening \n"); break; } return 0; } | cs |
scanf
키보드의 입력을 받아서 수행하는 함수
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include <stdio.h> int main(void) { int inum; scanf("%d",&inum); if(inum != 1) { printf("100으로 종료합니다\n"); return 100; } printf("0으로 종료합니다\n"); return 0; } | cs |
PrintOutPut
1 2 3 4 5 6 7 8 9 10 11 | #include <stdio.h> int main(void) { int num1; int num2; num1 = printf("12345\n"); num2 = printf("I love my home\n"); printf("%d %d \n", num1, num2); return 0; } | cs |
9번 : num1과 num2 의 글자 수를 읽어서 출력하고 있음
프로그래밍
문제해결능력이 중요함
분석후 파악
함수 잘 쪼개는 능력이 필요
메인함수 종합
함수
SimpleAddFunc
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | #include <stdio.h> int Add(int num1, int num2) { return num1+num2; } int main(void) { int result; result = Add(3,4); printf("덧셈결과1: %d \n",result); result = Add(5,8); printf("덧셈결과2: %d \n",result); return 0; } | cs |
Add 함수에 값을 전달해서 처리후 그 결과를 출력
순차적으로 진행하므로 처음 printf와 2번째 printf는 각각 별개로 출력됨
SmartAddFunc
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 | #include <stdio.h> int Add(int num1, int num2) { return num1+num2; } void ShowAddResult(int num) { printf("덧셈 결과 출력 : %d \n",num); } int ReadNum(void) { int num; scanf("%d",&num); return num; } void HowToUseThisProg(void) { printf("두개의 정수를 입력하시면 덧셈결과가 출력 됩니다 \n"); printf("자 ! 그럼 두개의 정수를 입력하세요 \n"); } int main(void) { int result; int num1; int num2; HowToUseThisProg(); num1=ReadNum(); num2=ReadNum(); result = Add(num1,num2); ShowAddResult(result); return 0; } | cs |
두개의 정수를 입력해서 그 값을 더해서 출력하는 코드
AbsoCompare.c
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 | #include <stdio.h> int AbsoCompare(int num1, int num2); int GetAbsoValue(int num); int main(void) { int num1; int num2; printf("두개의 정수 입력: "); scanf("%d %d", &num1, &num2); printf(" %d 와 %d중 절대값이 큰 정수 : %d 이다. \n", num1, num2, AbsoCompare(num1,num2)); return 0; } int AbsoCompare(int num1, int num2) { if(GetAbsoValue(num1) > GetAbsoValue(num2)) { return num1; } else { return num2; } } int GetAbsoValue(int num) { if(num<0) { return num * (-1); } else { return num; } } | cs |
두개의 정수를 입력받아서
14번 AbsoComaper 함수에서 값을 받아서
if문에 의해 29번 GetAbsoValue가 먼저 실행되어 0보다 작으면 -1을 곱해서 +로 만들어줌
그뒤 조건문에 의해 서로 비교한뒤 참일 경우 num1의 값을 반환 거짓일경우 num2를 반환함
NumberCompare
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | #include <stdio.h> int NumberCompare(int num1, int num2); int main(void) { printf("3과 4중에서 큰 수는 %d 이다. \n",NumberCompare(3,4)); printf("7과 2중에서 큰 수는 %d 이다. \n",NumberCompare(7,2)); return 0; } int NumberCompare(int num1, int num2) { if(num1 > num2) { return num1; } else { return num2; } } | cs |
12번 NumberCompare 함수 - num1과 num2를 비교해서 참일 경우 num1, 거짓일 경우 num2의 값을 반환시킴
'코스웨어 > 16년 스마트컨트롤러' 카테고리의 다른 글
20160404_조재찬_업무일지_전역변수와 포인터 (0) | 2016.04.04 |
---|---|
2016_04_04_업무일지_노태경 (0) | 2016.04.04 |
20160328-업무일지-허도경-로봇제어-환경변수 (0) | 2016.04.04 |
20160401_노유찬_리눅스 명령어 (1) | 2016.04.04 |
20160324_김도관_업무일지_시리얼통신4_저항및온도측정,PWM (0) | 2016.04.03 |
20160323_김도관_업무일지_시리얼통신3_저항연결 (0) | 2016.04.03 |
20160322_김도관_업무일지_시리얼통신2 (0) | 2016.04.03 |
20160321_김도관_업무일지_시리얼통신1 (0) | 2016.04.03 |