1.C언어로 1~100 까지의 수 중에서 3 또는 5의 배수의 합을 구하는 프로그램을 작성하시오.
2.구구단 작성( for, while, do-while)사용 3가지 버전
3.0진수를 입력 받아서 8진수, 16진수를 표현하는 프로그램을 작성하시오
4.#include 란? 자신이 알고 있는 헤더 파일 종류 및 내용을 쓰시오
5.C언어의 입출력 함수 아는 것들의 사용법을 나열하시오.
6.데이터 타입에 대해서 쓰시오.
7.변수란? 변수 이름 정의 규칙에 대해서 쓰시오.
8.If문 형식 간단하게, switch문 형식 간단하게
9.함수란? 재귀함수란?
10.배열, 포인터, 구조체의 정의 및 다음 것들을 왜 쓰는지…
11.Call-by-value, Call-by-reference 란?
12.A = 1; B = 2; 일때, ++A A++ B? --B 예상 출력 값은?
13.함수의 기본형식을 쓰시오.
14.A, a의 아스키 코드 값은?
15.C언어의 특징은? 객체지향이란?
1.C언어로 1~100 까지의 수 중에서 3 또는 5의 배수의 합을 구하는 프로그램을 작성하시오.
#include <stdio.h>
int main()
{
int i,hap=0;
for(i=1;i<100;i++)
{ if(0==i%3||0==i%5)
{
hap=hap+i;
}
}
printf("3 또는 5의 배수의 합:%d\n",hap);
return 0;
}
2.구구단 작성( for, while, do-while)사용 3가지 버전
#include <stdio.h>
int main()
{
//2.구구단 작성( for, while, do-while)사용 3가지 버전
// 형이건 for문만 한다고했을때 알겠다고 for문만 했었던거였어요 ^^;죄송합니다ㅎ
int a=1,b=1;
printf("////////////for문 이용///////////\n\n");
for(a;a<10;a++)
{
printf(" %d단\t",a);
}
printf("\n");
for(a=1;a<10;a++)
{
for(b=1;b<10;b++)
{
printf("%2d*%2d=%2d",b,a,a*b);
}
printf("\n");
}
a=1;
b=1;
printf("////////////while문 이용///////////\n\n");
while(a<10)
{
printf("%2d단\t",a);
a=a+1;
}
printf("\n");
a=1;
while(a<10)
{
while(b<10)
{
printf("%2d*%2d=%2d",b,a,a*b);
b=b+1;
}
a=a+1;
b=1;
printf("\n");
}
printf("\n");
printf("////////////do-while문 이용///////////\n\n");
a=1;
b=1;
do
{
printf("%2d단\t",a);
a=a+1;
}while(a<10);
a=1;
printf("\n");
do{
do
{
printf("%2d*%2d=%2d",b,a,a*b);
b=b+1;
}while(b<10);
a=a+1;
b=1;
printf("\n");
}while(a<10);
printf("\n");
printf("////////////종합으로 다 이용///////////\n\n");
a=1;
b=1;
do
{
printf("%2d단\t",a);
a=a+1;
}while(a<10);
printf("\n");
a=1;
while(a<10)
{
for(b=1;b<10;b=b+1)
{
printf("%2d*%2d=%2d",b,a,a*b);
}
a=a+1;
printf("\n");
}
printf("\n");
return 0;
}
3.0진수를 입력 받아서 8진수, 16진수를 표현하는 프로그램을 작성하시오.
#include <stdio.h>
int main()
{int a;
printf("십진수입력해:");
scanf("%d",&a);
printf("10진수:%d\n",a);
printf("8진수:%o\n",a);
printf("16진수:%x\n",a);
return 0;
}
4.#include 란? 자신이 알고 있는 헤더 파일 종류 및 내용을 쓰시오.
#include는 해당 헤더파일의 내용을 포함시킨다.
stdio.h 표준입출력 함수에 관한 선언을 모아두 헤더파일
-printf,scanf
math.h 수학함수를 사용하기 위한 헤더파일
-pow,abs,labs,fabs,ceil,floor,round off
string.h 문자열에 관련된 헤더파일
-strlen,strncpy,memmove,memcpy,strcat,strcmp
malloc.h 동적 메모리 할당에 관련된 헤더파일
conio.h 또다른 입/출력 함수들을 사용하기 위한 헤더파일
-kbhit,getch
memory.h 메모리에 관련된 헤더파일
stdlib.h 기본 라이브러리 헤더파일
-sysrem("cls")
windows.h 윈도우즈 관련 헤더파일
-sleep,gotoxy,beep
time.h 시간.
-asctime(lcatime(&now)),ctime(&now)
ctype.h
-tolower,toupper
5.C언어의 입출력 함수 아는 것들의 사용법을 나열하시오.
printf,scanf 데이터형식 입출력
-사용 예) printf("문장 %변수에맞는데이터형식",변수);,scanf("%변수에맞는데이터형식",&변수);
puts문자 출력
-사용 예) puts("문자열");
cf)printf와 puts 의 차이점.
printf함수는 문자열 외에도 다른것도 출력 가능.
puts함수는 문자열만 출력 가능하며 \n을 입력하지 않아도 알아서 개행
gets문자 입력 : 변수에 문자열을 저장.
-사용 예)gets(변수);
getchar :사용자가 키보드로 enter키를 누를 때 까지 입력한 것을 메모리에
모두 저장 해놓고 그중 한 문자만 꺼낸다.
-사용 예)변수=getchar();
putchar 문자 하나 입출력
-사용 예)putchar(변수);
getch 입력내용 화면에 보여주지않음
getche 입력한 내용 화면 보여줌
putch를 사용하지 않아도 입력글자로 출력
fprintf파일출력함수
-사용 예)fprintf(저장파일이름,"문장&변수값",변수);
fscanf파일입력함수
-사용 예)fscanf(저장파일이름,"문장&변수값",&변수);
6.데이터 타입에 대해서 쓰시오.
데이터 타입이란? 자료에 대한 형태를 지정해주는 것.
예를들어 정수는 작은 수와 큰 수 실수는
정밀한 실수와 그렇지않은 실수로 분류
컴퓨터 내에서 하나의 데이터를 표현하기 위해 어느 정도의
메모리를 사용하고 있느냐에 따라 분류
데이터타입의 쓰임새와 데이터의 관계.
변수에 데이터의 형태를 지정한다.
데이터 타입은 변수를 만드는 역할을 한다.
데이터 타입이 지정되어진 변수에는 데이터를 넣을 수 있다.
데이터 타입의 종류.
수를 표현하는 (정수형)int,long,(실수형)float,double,(문자형)char
7.변수란? 변수 이름 정의 규칙에 대해서 쓰시오.
변수란? 수치가 대입되는 임의의 문자값.
변수 이름 정의 규칙
변수이름은 문자로 시작해야한다.
변수이름 끝에 마침표 밑줄 사용 불가.
길이는 최대 64바이트이므로 최대 영어 64자 한글 32자만 가능.
공백,특수문자 사용 불가.
변수이름은 중복 될 수 없다.
예약된 키워드는 변수로 사용 될 수없다.ex)ALL,NOT,OR,TO,WITH 등
8.If문 형식 간단하게, switch문 형식 간단하게
if(조건문)
{문장}
switch(변수)
case 변수값1 : 문장 break;
case 변수값2 : 문장 break;
case 변수값3 : 문장 break;
case 변수값4 : 문장 break;
if/switch 차이점: switch는 단일 값으로만 할수 있고, if 는 조건의 범위로 할 수 있다.
if(조건)
조건에만족하면 실행
switch(변수)
변수=조건에 성립할 때 문장실행.
9.함수란? 재귀함수란?
함수:하나의 클래스.
재귀함수:작성한 함수 호출이 자기 자신에게 이루어지는 처리를 말한다
//인터넷 찾아보니 재귀함수 대표적인 예가 n!이라
만들어봤어요.
#include <stdio.h>
void main()
{
int i,a;
int fact(int n);
printf("입력 : ");
scanf("%d",&i);
a=fact(i);
printf("%d!=%d\n",i,a);
}
int fact(int n)
{
if (n==0)
return 1;
else
return n*fact(n-1);
}
10.배열, 포인터, 구조체의 정의 및 다음 것들을 왜 쓰는지…
배열: 변수들의집합
-사용이유 :동형 자료의 통합된 관리를 위해
포인터:변수의 주소를 가지고 가는것
-사용이유 :불필요한 메모리 할당을 줄이기 위해
구조체:사용자가 정의하여 사용하는 자료형
-사용이유 :변수가 많을때 구조체로 정의한후 변수들을 사용하면
간단명료,관리를 편하게 할수있다.
cf)
클래스:함수들의 집합.
11.Call-by-value, Call-by-reference 란?
값을 복사해서 넘기느냐 주소값을 넘기느냐.
예시)
void call_by_value(int);
void call_by_reference(int *);
int main()
{
int a=0,b=0;
call_by_value(a);
call_by_reference(&b);
printf("call_by_value : %d\n",a);
printf("call_by_reference : %d\n",b);
getch();
return 0;
}
void call_by_value(int A)
{
A=6;
}
void call_by_reference(int *b)
{
*B=6;
}
12.A = 1; B = 2; 일때, ++A A++ B? --B 예상 출력 값은?
형이건 실행순서에따라 달라서
A = 1; 일때,
cout<<++A;
cout<<A++;
의 출력값을 말할게요
2,2
B = 2;
cout<<b--;
cout<<--b;
의출력값
2,0
13.함수의 기본형식을 쓰시오.
return-type function-name( args ...)
{
statement;
}
14.A, a의 아스키 코드 값은?65/97
15.C언어의 특징은? 객체지향이란?
c언어의 특징 : 프로그래밍 언어중 가장 대표적인 프로그래밍 언어.
유닉스 운영체제를 만들려고 고안된 언어.
하나 이상의 함수 정의문들의 집합으로 구성된 함수형 언어
시스템간의 호환성이 높은 언어
직접 지원하는 입,출력기능은 없다. 함수를 통한 입,출력 기능만이 존재
c언어의 특성 :
이식성: 컴퓨터의 모든 분야에 사용할 수 있도록 설계
유연성: 기계어에 준하면서 고급 프로그래밍 언어로 집적된
표현을 할 수 있다.
혼합성: 다른 프로그램 언어와 함께 사용이 가능하다.
다양성
객체지향 :데이터와 이를 처리하는기능이 하나로 이루어져있는 클래스를 모델링하고 이들간의 관계를 정의하는것
*대표적인 예 JAVA,c++
*어떤 특정 목적을 달성하기 위해서라면 새로운 클래스를 만들고 그안에
필요한 데이터 타입을 정의, 그에 따른 함수도 정의,추가만 해주면 되서
유지/보수 용이.
객체지향의 특징.
모형의 적합성:컴포넌트 간의 결합도가 낮아서 더욱 복잡한 문제를
다루는데 적합.
재사용 용이
Time-to-market-소프트웨어가 시장에 출하되는 시점 :개발시간을 크게 단출시킬수있다.
객체지향의 특성.
추상화: 복잡한 동작을 추상적으로 설명해 낼수 있다.
캡슐화: 클래스 내부의 데이터를 직접 노출하지 않고 내부에 은닉시켜 보호
계층화: 트리처럼 추상화한 것들을 정렬
모듈화: 복잡한 것을 쪼개어 관리 가능한 조각으로 만듦
cf) 절차지향 :
*대표적인 예 C언어,C언어는 대부분 함수단위로이용
*프로그램은 데이터와 함수부분이 따로 존재
*자료,함수 안의 알고리즘,함수의 구조에 초점
*프로그램의 연관이 복잡하게 되어 유지/보수가 힘듬.
'프로그래밍 > c언어' 카테고리의 다른 글
도서관리프로그램 (0) | 2011.01.08 |
---|---|
BMI비만도측정 프로그램 (0) | 2011.01.07 |
Call by value, Call by reference (0) | 2011.01.07 |
글자/문자 색넣기 (0) | 2010.11.18 |
ASCII코드 (0) | 2010.11.13 |