ì˜�호가 내는 간단한 C언어 ë¬¸ì œ.
C언어 기초를 *ì œëŒ€ë¡œ* ë°°ì› ë‹¤ë©´ 아주 쉬운 ë¬¸ì œê°€ ë� 것ì�´ë‹¤.
*주* : 컴파ì�¼ 하지ë§�ê³ ê·¸ëƒ¥ 풀어보기 바란다.
※ 다ì�Œì�´ 옳ì�€ì§€ 옳지 않ì�€ì§€ í�‰ê°€í•˜ê³ 옳다면 ì˜³ë‹¤ê³ ì �ê³ , 옳지 않으면 옳지 ì•Šë‹¤ê³ ì �ê³ ì™œ 그런지 ì�´ìœ 를 ì �으시오.
1.
-
옳다.
- ��호
안옳다. ë©”ì�¸í•¨ìˆ˜ ì •ì�˜ê°€ 잘못ë�˜ì–´ìžˆë‹¤. -yahar
옳다. -ì •ìˆ˜ë¯¼
C언어ì�˜ 컴파ì�¼ëŸ¬ì—� ë”°ë�¼ ë©”ì�¸í•¨ìˆ˜ëŠ” ì €ë ‡ê²Œ ì“°ì�¼ 수가 있어요;;; íŠ¹ì • 컴파ì�¼ëŸ¬ëŠ” return형ì�´ int형ì�´ 아니ë�¼ê³ warnningì�„ 내기ë�„ í•˜ì£ ;; - ì�´ì˜�호
2.
-
안옳다. 프린트ì—�푸ì—�있는 %f ê°€ %d로 바뀌면 ë�” 예ì�˜ê²Œ ì¶œë ¥ë� 꺼같다.-ì •ìˆ˜ë¯¼
signed int형ì�¸ a와 b를 ë�”하면 (65535/2)ì—�서 ë�°ì�´í„°ê°€ 넘치게 ë�˜ì–´ -숫ìž�ê°€ 나온다. (-65536/2)+((30000+30000)-(65536/2-1)) <- ì œëŒ€ë¡œ 설명ì�„ ëª»í•˜ê² ë‹¤;;; - ì�´ì˜�호
-
3.
-
옳다. 콘스트 ìº�ë¦í„° 별ì—�ì�´ëŠ” í�¬ì�¸í„°ì�˜ 주소 그러니까 &a ê°’ë§Œ 변하지 않는거같다(아닌가;;)-ì •ìˆ˜ë¯¼
옳지 않다. ë¬¸ì œì �ì�€ b=a;ì—� 있다. const char *형ì�„ char *형ì—� ëŒ€ìž…í• ìˆ˜ 없다. 컴파ì�¼ëŸ¬ ì—�러. - ì�´ì˜�호
-
4.
-
안옳다. fê°€ ì•„ë‹ˆê³ s여야한다. -ì •ìˆ˜ë¯¼
옳지않다. atof함수로 float변환ì�€ ë�˜ì—ˆì§€ë§Œ, atof함수ì�˜ í”„ë¡œí† íƒ€ìž…ì�´ 있는 í—¤ë�”를 추가하지 않았기 때문ì—� int형으로 returnë�œë‹¤. 즉, numì—” 숫ìž� 123ì�´ 담긴다. ANSI C99ì—�서는 í”„ë¡œí† íƒ€ìž…ì�´ ì„ ì–¸ë�˜ì§€ 않으면 컴파ì�¼ë�˜ì§€ 않ë�„ë¡� 변했다. - ì�´ì˜�호
-
5.
-
안옳다. 최초ì�˜ 0ì�„ ì œì™¸í•œ 숫ìž�가오는 시ì �부터 프린트 ë�˜ëŠ”ê±°ê°™ë‹¤. -ì •ìˆ˜ë¯¼
옳지않다. 0ì�„ 앞ì—� ì �으면 8진수로 취급ë�œë‹¤. 0x숫ìž� <- 16진수 - ì�´ì˜�호
-
6.
-
옳지않다. ss[]ì�˜ "문ìž�"란 단어는 isdigit로 확ì�¸ í• ìˆ˜ 없다. (확장코드ì�´ë¯€ë¡œ.) ì�´ê²ƒì�„ isdigit로 확ì�¸ í•˜ë ¤ë©´ unsigned char형으로 ì„ ì–¸ 하면 ë�œë‹¤. 기본 char형ì�€ signed형ì�´ë‹¤. - ì�´ì˜�호
-
7.
-
안옳다. 와ì�¼ë¬¸ì�˜ 조건문ì—�는 콤마가 허용ë�¼ì§€ 않는거같다. -ì •ìˆ˜ë¯¼
옳다. ,ì�˜ 앞ì�€ 비êµ�문ì�´ 아니ë�¼ ì„ í–‰ 수행으로 처리한다. - ì�´ì˜�호
-
8.
-
안옳다. 단순히 í�¬ì�¸í„°ë§Œ 존재한다. -ì •ìˆ˜ë¯¼
옳지않다. ��터만 있다. - ��호
-
9.
-
옳다. -ì •ìˆ˜ë¯¼
옳지 않다. NUM �수가 2번 define �었다. � 경우 나중 define� 200으로 처리�다. - ��호
-
10.
-
옳다. -ì •ìˆ˜ë¯¼
옳지 않다. staticì�€ C++ì�˜ private와 비슷하다. 한 파ì�¼ì�´ë‚˜ íŠ¹ì • 로컬함수ì—�서만 ì“°ì�¸ë‹¤ëŠ” 것ì�„ 표현한다. - ì�´ì˜�호
-
11.
-
옳다. -ì •ìˆ˜ë¯¼
옳지않다. 함수ì�˜ í”„ë¡œí† íƒ€ìž…ì�´ ì •ì�˜ë�˜ì§€ 않았기 때문ì—� return형ì�´ int형으로 ë°”ë€�다. í”„ë¡œí† íƒ€ìž…ì�€ return 타입ì�„ 컴파ì�¼ëŸ¬ì—�서 알기 위해 ì“°ì�´ëŠ” 것ì�´ë‹¤. - ì�´ì˜�호
-
12.
-
-
100번 까지만 ë‚´ê² ë‹¤.
11번 까지� 답� �주� 후�.
C언어 기초를 *ì œëŒ€ë¡œ* ë°°ì› ë‹¤ë©´ 아주 쉬운 ë¬¸ì œê°€ ë� 것ì�´ë‹¤.
*주* : 컴파ì�¼ 하지ë§�ê³ ê·¸ëƒ¥ 풀어보기 바란다.
~cpp Specì�€ 다ì�Œê³¼ 같다. 16Bit ì²´ì œì�˜ Windows ANSI C를 규격으로 하는 Compiler (C90)
~cpp
#include <stdio.h>
main(){
int i;
for(i=0; i<10; i++){ // ë”´ì§€ : {는 for문 ë’¤ì—� 쓰는 것ì�´ 좋다. -_-. 내리는 것ì�€ ì •ë§� 좋지 않ì�€ 스타ì�¼ì�´ë‹¤.(ê°€ë�…성ì�„ 해친다.)
printf("%d", i);
}
}
Note:
-
옳다.
- ��호
íŠ¹ì • 컴파ì�¼ëŸ¬ì—� 종ì†�ì �ì�¸ 프로그래ë°�ì�€ 좋지 않습니다. C90ì�´ë�¼ëŠ” 표준ì�´ 엄연히 존재하니까요. íŠ¹ì • 구현ì—� 종ì†�ì �ì�¸ 프로그래ë°�ì�„ í•œë‹¤ê³ í•˜ë�”ë�¼ë�„, 프로그램ì�˜ 심장ì�€ 표준ì—� ë”°ë�¼ 프로그래ë°� 하는게 좋습니다.
혹ì�€, ê·¸ë ‡ì§€ 않습니다. -yuhar
-
혹ì�€, ê·¸ë ‡ì§€ 않습니다. -yuhar
~cpp
#include <stdio.h>
main(){
int a, b;
double c;
a = 30000;
b = 30000;
c = a + b;
printf("%f", c);
}
Note:
-
안옳다. 프린트ì—�푸ì—�있는 %f ê°€ %d로 바뀌면 ë�” 예ì�˜ê²Œ ì¶œë ¥ë� 꺼같다.-ì •ìˆ˜ë¯¼
signed int형ì�¸ a와 b를 ë�”하면 (65535/2)ì—�서 ë�°ì�´í„°ê°€ 넘치게 ë�˜ì–´ -숫ìž�ê°€ 나온다. (-65536/2)+((30000+30000)-(65536/2-1)) <- ì œëŒ€ë¡œ 설명ì�„ ëª»í•˜ê² ë‹¤;;; - ì�´ì˜�호
-
~cpp
#include <stdio.h>
main(){
const char *a;
char *b, msg[]="test code";
a = msg;
b = a;
puts(msg);
puts(msg);
}
Note:
-
옳다. 콘스트 ìº�ë¦í„° 별ì—�ì�´ëŠ” í�¬ì�¸í„°ì�˜ 주소 그러니까 &a ê°’ë§Œ 변하지 않는거같다(아닌가;;)-ì •ìˆ˜ë¯¼
옳지 않다. ë¬¸ì œì �ì�€ b=a;ì—� 있다. const char *형ì�„ char *형ì—� ëŒ€ìž…í• ìˆ˜ 없다. 컴파ì�¼ëŸ¬ ì—�러. - ì�´ì˜�호
-
~cpp
// ì�´ 소스는 ì œëŒ€ë¡œ 컴파ì�¼ ë�˜ë©°, 실행ë�„ ë�œë‹¤.
#include <stdio.h>
main(){
float num;
char data[]="123.12";
num = atof(data);
printf("%f", num);
}
Note:
-
안옳다. fê°€ ì•„ë‹ˆê³ s여야한다. -ì •ìˆ˜ë¯¼
옳지않다. atof함수로 float변환ì�€ ë�˜ì—ˆì§€ë§Œ, atof함수ì�˜ í”„ë¡œí† íƒ€ìž…ì�´ 있는 í—¤ë�”를 추가하지 않았기 때문ì—� int형으로 returnë�œë‹¤. 즉, numì—” 숫ìž� 123ì�´ 담긴다. ANSI C99ì—�서는 í”„ë¡œí† íƒ€ìž…ì�´ ì„ ì–¸ë�˜ì§€ 않으면 컴파ì�¼ë�˜ì§€ 않ë�„ë¡� 변했다. - ì�´ì˜�호
-
~cpp
main(){
int a, b, c;
a = 0010;
b = 0200;
c = 2000;
printf("a=%d b=%d c=%dn", a, b, c);
}
Note:
-
안옳다. 최초ì�˜ 0ì�„ ì œì™¸í•œ 숫ìž�가오는 시ì �부터 프린트 ë�˜ëŠ”ê±°ê°™ë‹¤. -ì •ìˆ˜ë¯¼
옳지않다. 0ì�„ 앞ì—� ì �으면 8진수로 취급ë�œë‹¤. 0x숫ìž� <- 16진수 - ì�´ì˜�호
-
~cpp
#include <stdio.h>
#include <ctype.h>
main(){
char ss[] = "A2 문�";
int i;
puts(ss);
for(i=0; ss[i]; i++){
printf("i=%d %4x(%4d) ", i, ss[i], ss[i]);
if(isdigit(ss[i])) puts("숫�");
else puts("�반 문�");
}
}
Note:
-
옳지않다. ss[]ì�˜ "문ìž�"란 단어는 isdigit로 확ì�¸ í• ìˆ˜ 없다. (확장코드ì�´ë¯€ë¡œ.) ì�´ê²ƒì�„ isdigit로 확ì�¸ í•˜ë ¤ë©´ unsigned char형으로 ì„ ì–¸ 하면 ë�œë‹¤. 기본 char형ì�€ signed형ì�´ë‹¤. - ì�´ì˜�호
-
~cpp
#include <stdio.h>
main(){
int i;
while(scanf("%d", &i), i)
printf("%d", i);
}
Note:
-
안옳다. 와ì�¼ë¬¸ì�˜ 조건문ì—�는 콤마가 허용ë�¼ì§€ 않는거같다. -ì •ìˆ˜ë¯¼
옳다. ,ì�˜ 앞ì�€ 비êµ�문ì�´ 아니ë�¼ ì„ í–‰ 수행으로 처리한다. - ì�´ì˜�호
-
~cpp
#include <stdio.h>
main(){
char *p;
gets(p);
puts(p);
}
Note:
-
안옳다. 단순히 í�¬ì�¸í„°ë§Œ 존재한다. -ì •ìˆ˜ë¯¼
옳지않다. ��터만 있다. - ��호
-
~cpp
// main.h
#define NUM 100
struct a {
int num1;
int num2;
};
// main.c
#include "main.h"
#define NUM 200
main(){
struct a test;
test.num1 = 100;
test.num2 = 200;
printf("%d", test.num1+test.num2);
}
Note:
-
옳다. -ì •ìˆ˜ë¯¼
옳지 않다. NUM �수가 2번 define �었다. � 경우 나중 define� 200으로 처리�다. - ��호
-
~cpp
// � 파�� 같� linking
//main1.c
static int a = 100;
int mul(int num)
{
printf("a = %d", a);
return num*num;
}
//main2.c
main(){
exturn int a;
printf("a = %d");
printf("%d", mul(100));
}
Note:
-
옳다. -ì •ìˆ˜ë¯¼
옳지 않다. staticì�€ C++ì�˜ private와 비슷하다. 한 파ì�¼ì�´ë‚˜ íŠ¹ì • 로컬함수ì—�서만 ì“°ì�¸ë‹¤ëŠ” 것ì�„ 표현한다. - ì�´ì˜�호
-
~cpp
// � 파�� 같� linking
// 1.c
main(){
double a, b;
a = 1234.1234;
b = 123.123;
printf("%f", mul(a, b));
}
// 2.c
double mul(double a, double b){
return a*b;
}
Note:
-
옳다. -ì •ìˆ˜ë¯¼
옳지않다. 함수ì�˜ í”„ë¡œí† íƒ€ìž…ì�´ ì •ì�˜ë�˜ì§€ 않았기 때문ì—� return형ì�´ int형으로 ë°”ë€�다. í”„ë¡œí† íƒ€ìž…ì�€ return 타입ì�„ 컴파ì�¼ëŸ¬ì—�서 알기 위해 ì“°ì�´ëŠ” 것ì�´ë‹¤. - ì�´ì˜�호
-
~cpp
main(){
Note:
-
-
11번 까지� 답� �주� 후�.
ì“°ë ˆë“œ ¶
아무나 참가해� �는 건가요 ? --아�
아무나 참가해� �는거야. --�호
네 .
ê·¼ë�° ìƒ�ê°�보다 ì–´ë µë„¤ìš” 김승욱 êµ�수님 시험 스타ì�¼ì�´ 문ë“� ìƒ�ê°�나네요ㅋㅋ --ì•„ì˜�
너무 쉬운 ë¬¸ì œë“¤ì�´ì•¼ ë§Žì�´ ìƒ�ê°�í•˜ê³ í’€ì–´ë´¤ìž–ì•„. ì�´ì¯¤ì—�ì„ ê¸°ì´ˆì—� 치중한 중간 난ì�´ë�„ì�˜ ë¬¸ì œê°€ 필요하지. --ì˜�호
ê°€ë�…성ì—� 대한 ë‚´ìš©ì�„ 따로 뽑아서 ê°€ë�…성 페ì�´ì§€ì—� 뽑아ë‘�었습니다. ì�´ì—� 대한 ì�˜ê²¬ êµ�환ì�€ ì�´ì œ 새로 만들어진 페ì�´ì§€ì—�서 했으면 합니다 - ìž„ì�¸íƒ�
í‹€ë ¤ë�„ 어쩔수없어요
-ì •ìˆ˜ë¯¼
----
분류분류
아무나 참가해� �는거야. --�호
네 .
ê·¼ë�° ìƒ�ê°�보다 ì–´ë µë„¤ìš” 김승욱 êµ�수님 시험 스타ì�¼ì�´ 문ë“� ìƒ�ê°�나네요ㅋㅋ --ì•„ì˜�
너무 쉬운 ë¬¸ì œë“¤ì�´ì•¼ ë§Žì�´ ìƒ�ê°�í•˜ê³ í’€ì–´ë´¤ìž–ì•„. ì�´ì¯¤ì—�ì„ ê¸°ì´ˆì—� 치중한 중간 난ì�´ë�„ì�˜ ë¬¸ì œê°€ 필요하지. --ì˜�호
-ì •ìˆ˜ë¯¼
분류분류









