728x90
1. Python
1) range(1, 3) : 1부터 2까지
- ex ) for i in range(1, 3) // i = 1, i = 2 두 번 반복
2) 100 >> 1
- 01100100(64+32+4) → 00110010(32+16+2)
- 128 64 32 16 8 4 2 1
a = ["ABC"]
for i in a
print(i[0])
//출력결과
A
2. C(6번까지 품)
while(0) { // C에서는 0이면 false, 1이면 true
}
char *p = "KOREA";
printf("%c\n", *(p+2));
printf("%c\n", *p+2);
//출력결과
R
M
포인터P(*p)는 문자열의 첫위치값으로 지정되어 있는데 *(p+2)는 첫 위치값에서 +2만큼 더한 값이 된다.
그런데 *p+2는 아스키코드값의 +2만큼 더한 값이 되서 ABC알파벳 순서인 'K, L, M'여기서 M값이 된다.
※ 구조체 선언 방법
1) 첫번째 방법
struct 구조체이름 {
변수선언문
};
struct 구조체이름 변수명;
struct person {
char name[20];
int age;
char address[100];
};
int main()
{
struct Person p1;
strcpy(p1.name, "홍길동");
p1.age = 30;
strcpy(p1.address, "서울");
printf("이름 : %s\n", p1.name);
printf("나이 : %d\n", p1.age);
printf("주소 : %s\n", p1.address);
}
2) 두번째 방법
struct 구조체이름 {
변수선언문
}변수명;
struct person {
char name[20];
int age;
char address[100];
} p1;
int main()
{
strcpy(p1.name, "홍길동");
p1.age = 30;
strcpy(p1.address, "서울");
printf("이름 : %s\n", p1.name);
printf("나이 : %d\n", p1.age);
printf("주소 : %s\n", p1.address);
}
3. SQL
//테이블A의 컬럼 : 시퀀스번호(INT), 내용(VARCHAR(20))
/* 이것만 알았는데 */
INSERT INTO 테이블A(시퀀스번호, 내용) VALUES(1, 'TEST');
/* 이것도 가능 */
INSERT INTO 테이블A VALUES(1, 'TEST');
단, 'INSERT INTO 테이블A'로 끝나는 경우 VALUES의 값은 테이블A의 존재하는 모든 컬럼을 데이터타입의 맞게 입력하여야한다.
CREATE TABLE 테이블A (
시퀀스넘버 NUMBER NOT NULL,
식별번호 NUMBER NOT NULL,
내용 VARCHAR(20),
CONSTRAINT 테이블A_PK PRIMARY KEY(시퀀스넘버),
CONSTRAINT 테이블A_FK FOREIGN KEY(식별번호) REFERENCES 테이블B(식별번호) ON DELETE RESTRICT ON UPDATE CASCADE
);
NOT NULL, PRIMARY KEY, FOREIGN KEY, REFERENCES 등 위치에 작성하는 문제였음. 구조 파악 및 스펠링 외우기.
CREATE INDEX 인덱스명 ON 테이블A(컬럼A);
인덱스 생성 방법이다.
4. Java
public class Test {
public static int[] arr(int[] a) {
a[0] = 50;
return a;
}
public static void main(String[] args) {
int n[] = {1,2};
arr(n);
for(int i=0; i<2; i++)
System.out.println(n[i]);
}
}
//출력결과
50
2
기존에 내가 알고 있는 것은 ' n = arr(n); ' 이렇게 해야 배열 n의 값이 변하는 줄 알았음..
둘다 되지만 arr(n);만해도 됐다..
public static void main(String[] args) {
System.out.println(1%2);
System.out.println(2%4);
System.out.println(3%4);
}
//출력결과
1
2
3
안나눠지면 0인줄알았지만 나머지가 남아있어서 1,2,3이 됌.
class SuperObject {
public void print() {
draw();
}
public void draw() {
draw(); //여기서 draw는 override되서 SubObject의 draw로 실행된다.
System.out.println("Super Object");
}
}
class SubObject extends SuperObject {
public void print() {
super.draw();
}
public void draw() {
System.out.println("Sub Object");
}
}
public class Test {
public static void main(String[] args) {
SuperObject a = new SubObject();
a.print();
}
}
class A {
int a;
A(int a) { //A클래스의 선언 메서드로 인스턴스를 생성하면서 parameter를 전달하면서 동작을 수행한다.
this.a = a;
}
void display() {
System.out.println(""a=""+a);
}
}
class B extends A {
B(int a) { //B클래스의 선언 메서드로 인스턴스를 생성하면서 parameter를 전달하면서 동작을 수행한다.
super(a);
super.display();
}
}
public class Main {
public static void main(String[] args){
B obj = new B(10);
}
}
public class SSO {
public static void main(String[] args) {
System.out.print(check(1));
}
static String check(int num) {
return (num >= 0) ? "positive" : "negative";
}
}
check() 함수를 선언할 때 public static String check(int num)으로 해야되는줄 알았으나
같은 클래스 내의 메서드이기 때문에 static만 선언해도 됌.
728x90
'자기계발 > 자격증' 카테고리의 다른 글
정보처리기사 실기 합격 후기 및 공부법 공유(교재, 강의 없이 합격하기) (0) | 2022.05.13 |
---|---|
정보처리기사 오답 노트 (0) | 2022.04.29 |
정처기 실기 정리] 13. 정보처리 실무 일반(IT 관련 지식 등) (0) | 2022.04.01 |
정처기 실기 정리] 12. 제품 소프트웨어 패키징 (0) | 2022.04.01 |
정처기 실기 정리] 11. 응용 SW 기초 기술 활용 (0) | 2022.04.01 |