C 언어 에서 구조 체 와 공용 체 인 스 턴 스 튜 토리 얼

실험 목적
  • 구조 체 유형 변수의 정의 와 사용 을 파악 한다
  • 4.567917.구조 체 유형 배열 의 개념 과 응용 을 파악 한다4.567917.링크 의 개념 을 파악 하고 링크 를 조작 하 는 것 을 초보 적 으로 배 웁 니 다4.567917.공용 체 의 개념 과 사용 을 파악 한다4.567917.구조 체 변 수 를 가리 키 는 지침 을 파악 한다4.567917.구조 체 배열 을 가리 키 는 지침 의 응용 을 파악 한다.
    실험 내용
    다음 프로그램 을 작성 한 후에 컴퓨터 에 올 라 가 디 버 깅 을 실행 합 니 다.
    후보 득 표 에 대한 통계 절차3 명의 후보 가 있 으 며,매번 득 표 한 후보자 의 이름 을 입력 하여,마지막 으로 각자 의 득 표 결 과 를 출력 하도록 요구한다4.567917.함수 print 를 작성 하여 한 학생 의 성적 배열 을 인쇄 합 니 다.이 배열 에는 5 명의 학생 의 데이터 기록 이 있 습 니 다.각 기록 은 num,name,score[3]를 포함 하고 주 함수 로 이 기록 을 입력 하고 print 함수 로 이 기록 을 출력 합 니 다4.567917.하나의 링크 를 만 들 고 모든 노드 는 학 번,성명,성별,연령 을 포함한다.나 이 를 입력 하 십시오.링크 에 포 함 된 노드 가 이 나이 와 같 으 면 이 노드 를 삭제 합 니 다.(골라내다
    실험 기록
    3.1 후보 투표 통계
    (1)소스 코드
    
    # include <stdio.h>
    
    typedef struct node
    {
    	char name;
    	int cnt;
    }candt;
    
    int main(void)
    {
    	candt A,B,C;
    	char vote;
    	A.name='A',A.cnt=0;
    	B.name='B',B.cnt=0;
    	C.name='C',C.cnt=0;
    	while(vote!='#')/*    # ,      。*/
    	{
    		printf("Please enter the candidate:
    "); scanf("%c",&vote); getchar(); switch(vote) { case 'A':A.cnt++;break; case 'B':B.cnt++;break; case 'C':C.cnt++;break; default:printf("Input error!
    "); } } printf("A'note:%d
    ",A.cnt); printf("B'note:%d
    ",B.cnt); printf("C'note:%d
    ",C.cnt); return 0; }
    (2)실행 결과 캡 처

    3.2 print 함수
    (1)소스 코드
    
    # include <stdio.h>
    # define N 5
    struct student
    {
    	char num[6];
    	char name[10];
    	int score[4];
    }stu[N];
    void print(struct student stu[6]);
    int main(void)
    {
    	int i,j;
    	for(i=0;i<N;i++)
    	{
    		printf("
    Input data of student:
    "); printf("NO.: "); scanf("%s",stu[i].num); printf("name: "); scanf("%s",stu[i].name); for(j=0;j<3;j++) { printf("score %d:",j+1); scanf("%d",&stu[i].score[j]); } } print(stu); return 0; } void print(struct student stu[6]) { int i,j; printf(" NO. name score1 score2 score3
    "); for(i=0;i<N;i++) { printf("%5s%10s",stu[i].num,stu[i].name); for(j=0;j<3;j++) printf("%9d",stu[i].score[j]); printf("
    "); } }
    (2)실행 결과 캡 처

    3.3 링크
    (1)소스 코드
    
    # include <stdio.h>
    # include <malloc.h>
    //              
    struct student
    {
    	char num[10];
    	char name[6];
    	char sex[2];
    	int age;//   
    	struct student *next; //   
    }stu[10];
    int main(void)
    {
    	struct student *p,*pt,*head;
    	int i,length,iage,flag=1;
    	int find=0;
    	while(flag==1)
    	{
    		printf("Please enter the length of the list(<10):");
    		scanf("%d",&length);
    		if(length<10)
    			flag=0;
    	}
    	//    
    	for(i=0;i<length;i++)
    	{
    		p=(struct student *)malloc(sizeof(struct student));
    		if(i==0)
    			head=pt=p;
    		else
    			pt->next=p;
    		pt=p;
    		printf("NO.:");
    		scanf("%s",&p->num);
    		printf("name:");
    		scanf("%s",&p->name);
    		printf("sex:");
    		scanf("%s",&p->sex);
    		printf("age:");
    		scanf("%d",&p->age);
    	}
    	p->next=NULL;
    	p=head;
    	printf("
    NO. name sex age
    "); while(p!=NULL) { printf("%4s%8s%6s%6d
    ",p->num,p->name,p->sex,p->age); p=p->next; } // printf("Input age:"); scanf("%d",&iage); pt=head; p=pt; if(pt->age==iage)/* */ { p=pt->next; head=pt=p; find=1; } else/* */ pt=pt->next; while(pt!=NULL) { if(pt->age==iage) { p->next=pt->next; find=1; } else p=pt; pt=pt->next; } if(!find) printf("Not found%d.
    ",iage); p=head; printf("
    NO. name sex age
    "); while(p!=NULL) { printf("%4s%8s",p->num,p->name); printf("%6s%6d
    ",p->sex,p->age); p=p->next; } return 0; }
    (2)실행 결과 캡 처

    총결산
    C 언어 에서 구조 체 와 공용 체 에 관 한 이 글 은 여기까지 소개 되 었 습 니 다.더 많은 C 언어 구조 체 와 공용 체 내용 은 우리 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보 세 요.앞으로 많은 응원 부 탁 드 리 겠 습 니 다!

    좋은 웹페이지 즐겨찾기