다음 괄호 부분을 채우시오.
C 언어에서 헤더파일을 첨가하는 지시자는 ()이다.
함수 scanf()에서 표준입력으로 값을 입력 받아 변수에 저장하려면 일반 변수 앞에는 반드시 주소를 의미하는 문자 ()가 앞에 와야 한다.
문장 ()는 C 언어의 일반 문장으로 이미 사용되는 자료형을 새로운 자료형으로 정의할 수 있는 기능이다.
switch 문장에서 ( ) 문장은 바로 switch 문을 종료한다.
switch 문의 표현식은 자료형이 ()이어야 한다.
switch 문에서 표현식과 일치하는 case가 없는 경우, 키워드 () 뒤의 문장을 실행한다.
반복 구조에서 반복을 종료하는 문장은 () 문이다.
반복문 세 종류 중에서 반복 조건검사를 몸체를 실행한 후 나중에 검사하는 문장은 () 문이다.
for 문을 for (1;2;3) {4};으로 표현하면 가장 나중에 실행하는 문장은 ()번 문장이다.
프로그램 제어문으로서 프로그램 제어를 복잡하게 하고, 이 문장이 없어도 프로그램이 가능하므로 현재는 이용을 권장하지 않는 문장은 () 문이다.
반복의 제어 횟수를 이용한 구조에 가장 적합한 반복문은 () 문이다.
관계 연산자 중에서 “같지 않다”를 의미하는 연산자 기호는 ( )이다.
다음 연산식의 결과값은 무엇인가?
a. 3 && 0 || 1
b. 5 –1 == sizeof (int)
c. ‘a’ + 1 > ‘c’
d. 3 == 4 ? 3-5 | 4%3
e. 0 || !1
f. ~~5 >> 2 << 3
g. 3 / !0 == 0
---------------------------------------------------------------------------
본인의 학번을 정수에 입력하여 출력하는 프로그램을 작성하시오.
1년이 몇 초인지 계산하는 프로그램을 작성하시오.
다음과 같이 화면에 입력과 출력이 되도록 프로그램을 작성하시오.
이 번 학기에 수강하는 총 학점은 ? x
총 x 학점을 듣는군요.
표준 입력으로 두 개의 정수를 입력 받아 두 수의 곱과 합을 출력하는 프로그램을 작성하시오.
온도를 표준입력으로 입력 받아 12도에서 18도 사이면 “좋은 날씨입니다.”라고 출력하는 프로그램을 작성해 보자.
두 정수를 입력 받아 앞의 정수가 크면 두 수를 더하고, 뒤의 정수가 크거나 같으면 두 수를 곱하여 결과를 출력하는 프로그램을 작성하시오.
2. 다음을 출력하는 프로그램을 작성하시오.
*
**
***
****
*****
3. 1부터 10까지의 곱을 구하여 출력하는 프로그램을 작성하시오.
4. 표준입력으로 양의 정수를 입력 받아 1부터 입력된 정수까지의 합을 구하는 프로그램을 while 문을 이용하여 작성하시오.
6. 표준입력으로 받은 정수를 출력하는 과정을 반복하는 구문 do while 문을 이용하여 작성하시오. 다만 0을 입력하면 프로그램을 종료하도록 한다.
1. 다음 식을 참고로 화씨 온도를 입력 받아서 섭씨 온도로 변환하여 출력하는 프로그램을 작성하시오.
섭씨온도(C)와 화씨온도(F)와의 관계식은 다음과 같다.
C = (5/9)(F-32)
. 두 정수를 입력 받아서 합과 평균을 구하여 출력하는 프로그램을 작성하시오.
1. 다음 c 코드와 동일한 일을 하는 while 문을 작성하시오
int i;
for (i=1; i<=10; i+=3)
{
if(i % 5 == 0)
printf("%d\n", i);
}
7. 다음을 기준으로 학점을 계산하는 프로그램을 switch문을 이용하여 작성하시오. 점수는 표준입력으로 받아 결과를 출력한다.
점수 학점
0 ~ 60 F
61 ~ 70 D
71 ~ 80 C
81 ~ 90 B
91 ~ 100 A
2. 프로그램 예제에 나오는 프로그램에서 다음 조건을 만족하도록 프로그램을 수정하시오.
두 수는 정수의 연산으로 하고
연산의 종류는 +, -, *, /, %, |, &, ^가 가능하도록
3. 위(2번)문제를 switch문으로 프로그램을 작성하시오.
7. 1부터 n까지(표준입력으로 받은 정수) 정수에서 3으로 나누어 떨어지지 않는 수만 모두 더한 결과를 출력하는 프로그램을 작성하시오.(continue 문 이용)
e. 99에서 1까지 홀수 정수를 출력
. 1부터 n까지 3으로 나누어지지 않는 수를 출력하는 프로그램을 작성하시오.
1부터 n까지의 합 중에서 10000을 넘지 않는 가장 큰 합과 그 때의 n을 구하는 프로그램을 다음 결과와 같이 출력되도록 작성하시오.
1부터 n까지의 합 중에서 10000를 넘지 않는 가장 큰 합은?
1부터 140까지의 합이 9870이다.
5. 다음을 출력하는 프로그램을 for 문을 이용하여 작성하시오.
/* 다음을 출력하는 프로그램을 for 문을 이용하여 작성하시오.
0
01
012
0123
01234
012345
0123456
01234567
012345678
0123456789
6. 다음을 출력하는 프로그램을 for 문을 이용하여 작성하시오.
z
yz
xyz
...
...
defghijklmnopqrstuvwxyz
cdefghijklmnopqrstuvwxyz
bcdefghijklmnopqrstuvwxyz
abcdefghijklmnopqrstuvwxyz
성적을 배열을 이용해서 저장하고 다음과같이 출력하시오
실행해 보자. 성적 다섯 개를 입력하면 입력된 성적의 통계치를 구해 출력한다.
1번 학생의 성적을 입력하세요 : 78
2번 학생의 성적을 입력하세요 : 85
3번 학생의 성적을 입력하세요 : 69
4번 학생의 성적을 입력하세요 : 92
5번 학생의 성적을 입력하세요 : 70
총점은 394점이고 평균은 78점입니다.
AlphaNum
영문 소문자로 구성된 긴 문장을 입력받아 이 문자열 내의 각 알파벳 문자 개수를 구해 출력하라. 예를 들어 alpha가 입력되었다면 a:2, b:0, .... h:1, ... l:1, .... p:1이 출력되어야 한다. 각 문자의 출현 회수를 저장할 배열이 필요하다.
다음과 같은 코드에서 ar을 이용해 inter만 출력
void main()
{
char ar[]="Pointer";
다음코드의 결과를 예측하시오.
void main()
{
int ar[]={1,2,3,4,5};
int *p1,*p2,*p3;
p1=&ar[0];
p2=&ar[4];
p3=p1+(p2-p1)/2;
printf("중간의 요소 = %d",*p3);
}
다음은 포인터를 잘못 사용하는 경우이다. 무엇이 문제인지 설명하라?
보기 1번
int
*p;
*p=200;
보기 2번
short int *p,
q=100;
p=&p;
*p=300;
보기 3번
int *p,
q=100;
p=&q;
p=p+1.5;
보기 4번
char
*p;
printf("input string ?")
gets(P);
길이가 6인 int형 배열 arr을 선언하고 이를 1,2,3,4,5,6 으로 초기화 시킨 다음 배열에 저장된 값의 순서가 6,5,4,3,2,1 이되도록 예제를 작성해보자 단 배열의 앞과 뒤를 가리키는 포인터 변수 두개를 선언하여 이를 활용하여 저장된 값의 순서를 뒤바꿔야 한다.
길이가 5인 int형 배열을 선언해서 프로그램 사용자로부터 총 5개의 정수를 입력받자 ! 그리고 입력이 끝나면
다음의 내용을 출력하도록 예제를 작성해보자.
1.최댓값 2. 최솟 값 3. 총합
길이가 5인 int 형 배열 arr을 선언하고 이를 1,2,3,4,5 로 초기화 한다음 , 이배열의 마지막 요소를 가리키는 포인터 변수 ptr을 선언한다. 그 다음 포인터 변수 ptr에 저장된 값을 감소시키는 형태의 연산을 기반으로 모든 배열요소에 접근하여, 배열에 저장된 모든 정수를 더하여 그 결과를 출력하는 프로그램을 작성시켜보자
프로그램 사용자로부터 이름과 나이를 다음의 형식에 맞춰서 하나의 문자열로 입력 받는다.
"이정선 29"
"한수정 7"
"오선주 17"
이름은 세글자가 아닐수도 있고 영문으로 입력될수도 있다, 단 이름과 나이 사이에만 공백이 삽입되어야한다.
이러한 형식으로 두 사람의 정보를 입력받아서 이름과 나이가 각각 같은지 다른지 를 판단하여 출력하는 프로그램을 작성해보자.
참고로 이문제는 수준이 어느정도 있는 문제이니 천천히 생각하며 해결하기 바란다.