C언어 기초에서 활용까지 제대로 배우기(고급)

所在平台: Udemy

课程主页: https://www.udemy.com/course/c-wqnrmj/

课程评论:没有评论

第一个写评论        关注课程

课程简介

《C语言基础到应用精通(高级)》课程摘要 本课程是为希望通过C语言学习进阶编程的学习者准备的高级课程,旨在帮助学员彻底掌握C语言中的指针和结构体概念。课程将引导学员理解这些核心概念,并教授如何实际运用C语言编写和运行程序,从而深入理解C语言及计算机科学的核心概念。 课程内容涵盖以下几个主要部分: **第一部分:指针基础** * **理论讲解**: 深入阐述指针概念、变量与内存的关系、指针的声明、NULL初始化、绝对地址与相对地址、间接引用运算符的使用及注意事项。 * **实践操作**: 通过多种实例,讲解不同数据类型的指针变量声明、地址值与实际值的输出、间接引用运算符的操作、指针使用时的注意事项、地址引用与间接引用运算符及数据类型匹配的练习题。还包括通过指针数组进行运算、操作数组以及理解指针与数组名(常量指针)的关系。 **第二部分:指针应用** * **理论讲解**: 讲解指针与字符串的关系、指针数组与普通数组在内存管理上的区别、数组指针的概念。 * **实践操作**: 学习比较字符数组和仅持有地址的字符串、指针数组的应用及内存地址的确认、整数型指针数组的练习题、使用数组指针处理一维和二维数组、二维字符数组的输入、存储和输出。此外,还包括函数指针、函数指针数组的概念和应用,以及通过函数指针计算圆的面积、通过函数指针数组调用函数。 **第三部分:指针进阶** * **理论讲解**: 讲解指向指针的指针(双重指针)的内存关系、概念以及使用场景。void类型指针的概念。 * **实践操作**: 实践操作变量、单重指针、双重指针之间的地址关系、指针数组与双重指针的关系。学习在函数参数中使用双重指针,并完成逆序输出指针数组的字符串值、找出最大最小值等练习。void类型指针的使用示例及与数组名和void类型指针的关系。 **第四部分:字符与字符串(一)** * **理论讲解**: 区分字符与字符串、字符数组、字符串与指针、内存区域的解释。讲解缓冲的标准输入输出函数(getchar(), putchar())及直接输入输出函数(_getch(), _putch(), _getche())和回车符的概念。介绍字符库函数。 * **实践操作**: 通过实例学习字符与字符串的区别、字符数组、字符串与指针的应用。练习使用getchar(), putchar(), EOF。实践使用_getch(), _putch(), _getche()并处理回车符。使用isalnum(), isalpha(), islower(), isupper(), toupper(), tolower()等函数进行练习。 **第五部分:字符与字符串(二)** * **理论讲解**: 介绍字符串输入输出函数、字符串长度、复制、比较、连接、搜索等操作。讲解字符串反转、大小写转换、字符串分割为令牌的概念。 * **实践操作**: 实践gets_s(), puts(), atoi(), atol(), atof()等函数。练习strlen(), strcpy_s(), strncpy_s(), strcmp()函数及其返回值含义。实践strcat_s(), strncat_s()及错误处理。实践strchr(), strrchr(), strstr()函数。实践_strrev(), _strupr_s(), _strlwr_s(), strtok_s()函数,并学习字符串反转的多种方式。通过这些函数完成字符串转整数、字符串数组排序、字符串连接和搜索等综合应用题。 **第六部分:结构体** * **理论讲解**: 讲解结构体的概念、声明、初始化及注意事项。讲解结构体变量的声明、初始化、成员访问。讲解结构体变量的复制、结构体数组、结构体与指针。 * **实践操作**: 实践结构体的声明、初始化、字节大小及内存填充。练习输入输出结构体成员变量的值、计算两点间距离。实践结构体变量的复制、结构体数组的应用及内存确认。学习通过结构体变量、指针变量、结构体间接成员运算符三种方式输出结构体成员。实践将指针作为结构体成员、结构体作为函数参数和返回值。通过结构体数组实现商品、数量、单价、金额的输入输出。解决使用结构体成员指针变量实现链表成绩处理的问题。 * **进阶理论**: 讲解嵌套结构体、联合体、枚举、typedef的概念。 * **进阶实践**: 实践嵌套结构体和联合体的内存空间。实践枚举和typedef的应用。通过typedef、嵌套结构体、函数调用计算矩形面积和输出坐标。通过typedef、结构体指针函数调用实现坐标交换。 **第七部分:流和文件输入输出** * **理论讲解**: 讲解流和缓冲的概念、标准输入输出函数的工作原理。讲解二进制属性和字符串属性的区别、文件指针、FILE结构体、文件输入输出函数。讲解文件打开、关闭函数、返回值、有效性验证及注意事项。讲解字符输入输出函数、文本文件字符串的存储、文件内容的读取、按令牌读取。 * **实践操作**: 实践二进制属性、文本文件属性、fopen_s(), fclose(), FILE, errno_t结构体。使用fprintf(), fscanf_s()进行文件数据输入输出。实践fgets()读取文本文件、处理韩文乱码问题、讲解编码。实践fputc(), fputs()。实践二进制文件的fwrite(), fread()。解决根据用户输入创建文本文件并读取内容处理成绩的问题。实践二进制文件的输入输出。实践文件指针移动fseek(), 返回移动字节数ftell(), 文件模式属性。通过文件指针实现二进制文件复制。 **第八部分:动态内存和链表** * **理论讲解**: 讲解静态内存分配与动态内存分配的区别、使用方法和内存释放。讲解C语言内存细节、动态内存的创建和释放。讲解可存储结构体的动态内存、动态结构体、内存大小调整。讲解链表概念、结构、自引用结构体、链表创建方法。 * **实践操作**: 实践动态内存分配函数malloc(), 初始化函数memset(), 内存释放free()。练习分配动态内存并为用户输入处理成绩。用char类型动态内存实现小写字母的赋值和输出。实践定义结构体、创建结构体动态内存并进行初始化、输入输出。讲解malloc(), calloc()的区别以及内存扩展函数realloc()的特性。实践realloc()。用结构体、malloc(), memset(), free()实现电影标题和评分的输入输出。用malloc(), realloc(), free()解决整数输入中动态内存扩展的问题。利用动态内存、结构体、文件输入输出函数实现电影管理文件。练习使用自引用结构体创建链表。通过链表管理书籍列表。 **第九部分:预处理器和多源文件(完)** * **理论讲解**: 讲解预处理器的概念、特点、优点和种类。讲解预处理器的使用、创建和使用自定义头文件。讲解宏的概念、扩展、函数宏、取消宏。讲解条件编译和多源文件的概念。 * **实践操作**: 实践预处理器和自定义头文件。实践宏扩展、宏函数、宏常量取消。实践条件编译(#ifdef, #ifndef, #if, #elif, #else, #endif)。使用7个源文件实现计算器程序。使用3个源文件实现成绩处理和条件编译。 本课程提供了详尽的理论讲解和丰富的实践练习,旨在帮助学员全面掌握C语言的高级特性,为更复杂的编程任务打下坚实基础。

课程评论(0条)

课程详情

[C언어의 포인터, 구조체 개념 완벽 정복하기]본 강의는 C언어를 통한 상급 프로그래밍 학습을 하고자 하는 분들을 위하여 준비된 고급 강의입니다. C언어의 포인터 및 구조체에 대한 핵심 개념을 안내해 드립니다.또한, 실제로 C언어를 활용한 프로그램 작성법과 실행 방법에 대해서 알려드립니다. 본 강의를 통해서 C언어 및 컴퓨터공학의 핵심 개념에 대해 짚어가실 수 있습니다.해당 과정은 아래와 같은 커리큘럼으로 구성되어 있습니다.[C언어 기초에서 활용까지 제대로 배우기 - 고급 Part.1 포인터 기초]포인터 기초(이론-포인터 개념, 변수와 메모리 관계, 예제설명)포인터 기초(실습-데이터 타입에 따른 포인터 변수선언과 주소값, 실제값 출력 실습)포인터 기초(이론-포인터 선언과 NULL초기화, 절대, 상대 주소값의 개념)포인터 기초(이론-간접참조 연산자의 개념과 포인터 사용시 주의사항)포인터 기초(실습-간접 참조 연산자를 통한 데이터 출력 및 변경 실습)포인터 기초(실습-포인터 사용에 따른 주의 사항 2가지에 대한 실습)포인터 기초(실습-주소참조연산자,간접참조연산자,자료형 일치에 대한 문제풀이)포인터 기초(실습-배열을 간접참조연산자로 출력하는 문제풀이)포인터 기초(이론-포인터를 통한 연산의 이해)포인터 기초(실습-포인터를 통한 실제값, 주소값 연산 예제 실습)포인터 기초(실습-포인터를 통한 실제값, 주소값 연산, 배열을 포인터로 조작하는 문제 풀이)포인터 기초(이론-포인터와 배열명(포인터 상수)와의 관계 설명)포인터 기초(실습-포인터로 배열주소, 배열값 변경 예제 실습)포인터 기초(실습-배열명으로 배열주소, 배열값 변경 예제 실습, 배열명과 포인터로 데이터 조작의 차이점)포인터 기초(실습-배열요소를 입력받고 포인터를 이용하여 합계와 평균 구하는 문제풀이)[C언어 기초에서 활용까지 제대로 배우기 - 고급 Part.2 포인터 활용]포인터 활용(이론-포인터와 문자열의 관계 이해, 예제설명)포인터 활용(실습-문자형 배열, 포인터로 주소만 가지는 문자열의 비교 실습)포인터 활용(이론-포인터배열과 일반배열의 메모리 관리 차이점, 예제설명)포인터 활용(실습-포인터 배열 예제 실습, 메모리 주소 확인)포인터 활용(실습-정수형 포인터 배열 문제풀이)포인터 활용(이론-배열포인터의 개념설명, 예제 설명)포인터 활용(실습-배열포인터를 활용하여 1차원 배열 다루기 실습)포인터 활용(실습-배열포인터를 활용하여 2차원 배열 다루기 실습)포인터 활용(실습-배열포인터를 활용하여 정수형 2차원 배열값 출력, 복사, 연산 문제풀이)포인터 활용(실습-배열포인터를 문자형 2차원 배열값 입력, 저장, 출력 문제풀이)포인터 활용(이론-함수 포인터, 함수 포인터의 배열, 예제 설명)포인터 활용(실습-함수 포인터, 함수의 주소값에 대한 실습)포인터 활용(실습-함수 포인터의 배열에 대한 실습)포인터 활용(실습-함수 포인터를 이용하여 원의 넓이를 구하는 문제풀이)포인터 활용(실습-함수 포인터의 배열을 이용하여 함수 호출 문제풀이)[C언어 기초에서 활용까지 제대로 배우기 - 고급 Part.3 포인터 심화]포인터 심화(이론-이중 포인터의 메모리 관계, 개념, 예제설명)포인터 심화(실습-변수, 싱글포인터, 이중포인터의 주소관계, 포인터 배열과 이중포인터 관계 예제 실습)포인터 심화(실습-함수의 매개변수로 이중포인터를 사용한 예제 실습)포인터 심화(실습-함수의 매개변수로 이중포인터를 사용하여 포인터배열의 문자열값 역순 출력 문제풀이)포인터 심화(실습-함수의 매개변수로 이중포인터를 사용하여 최대,최소값 문제풀이)포인터 심화(이론-void형 포인터의 개념과 예제설명)포인터 심화(실습-void형 포인터의 사용 예제, 배열명과 void형 포인터와의 관계 실습)[C언어 기초에서 활용까지 제대로 배우기 - 고급 Part.4 문자와 문자열1]문자와 문자열-1(이론-문자와 문자열의 차이, 문자형 배열, 문자열과 포인터, 메모리 영역의 설명)문자와 문자열-1(실습-문자와 문자열의 차이, 문자형 배열, 문자열과 포인터의 예제 실습)문자와 문자열-1(이론-버퍼형 표준 입출력 함수(getchar(), putchar()함수), 예제 설명)문자와 문자열-1(실습-버퍼형 표준 입출력 함수(getchar(), putchar()함수), EOF활용 실습)문자와 문자열-1(이론-직접형 표준 입출력 함수(_getch(), _putch(), _getche()함수), 라인피드 설명)문자와 문자열-1(실습-직접형 표준 입출력 함수(_getch(), _putch(), _getche()함수), 라인피드 예제 실습)문자와 문자열-1(이론-문자라이브러리 함수에 대한 설명)문자와 문자열-1(실습-isalnum(), isalpha(), islower(), isupper(), toupper(), tolower()함수를 이용한 예제 실습)[C언어 기초에서 활용까지 제대로 배우기 - 고급 Part.5 문자와 문자열2]문자와 문자열-2(이론-문자열 입출력 함수에 대한 설명)문자와 문자열-2(실습-gets_s(), puts(), atoi(), atol(), atof()들의 예제 실습)문자와 문자열-2(이론-문자열의 길이, 복사, 비교에 대한 설명 및 예제 설명)문자와 문자열-2(실습-strlen(), strcpy_s(), strncpy_s()함수들의 예제 실습)문자와 문자열-2(실습-strcmp()함수의 예제 실습, 반환값의 의미)문자와 문자열-2(이론-문자열 결합, 문자, 문자열 검색 설명 및 예제 설명)문자와 문자열-2(실습-strcat_s(), strncat_s()함수, 에러발생 부분 실습)문자와 문자열-2(실습-strchr(), strrchr(), strstr()함수 부분 실습)문자와 문자열-2(이론-문자열 역순, 대소문자로 변환, 토큰으로 분리에 대한 설명)문자와 문자열-2(실습-_strrev()함수, 한글을 역순으로 출력하는 방법에 대한 실습)문자와 문자열-2(실습-_strupr_s(), _strlwr_s(), strtok_s()함수에 대한 실습)문자와 문자열-2(실습-무한루프, gets_s(), atoi(), _getche()를 이용한 문자열을 정수형으로 변환하는 문제풀이)문자와 문자열-2(실습-문자열 배열과 선택정렬 알고리즘을 strcmp(), strcpy_s()를 이용한 정렬 문제풀이)문자와 문자열-2(실습-문자열 배열을 strcat_s(), strchr(), strstr()함수를 이용한 결합, 검색 문제풀이)[C언어 기초에서 활용까지 제대로 배우기 - 고급 Part.6 구조체]구조체(이론-구조체의 개념, 선언과 초기화, 유의할 사항에 대한 설명)구조체(이론-구조체 변수의 선언 및 초기화, 구조체 멤버 참조, 예제 설명)구조체(실습-구조체의 선언과 초기화, 구조체의 바이트 크기 및 패딩에 대한 실습)구조체(실습-구조체를 이용하여 멤버변수들의 값을 입력, 출력하는 예제 실습)구조체(실습-구조체를 활용한 두 점의 거리를 구하는 문제풀이 실습)구조체(이론-구조체 변수 복사, 구조체 배열, 구조체와 포인터에 대한 설명 및 예제 설명)구조체(실습-구조체 변수 복사, 구조체 배열의 예제 실습과 메모리 영역 확인)구조체(실습-구조체의 멤버를 출력하는 구조체 변수, 포인터 변수, 구조체 간접멤버 연산자를 통한 3가지 방법 실습)구조체(이론-구조체 멤버로써의 포인터 활용, 구조체를 함수의 인수 및 리턴값에 대한 설명과 예제 설명)구조체(실습-구조체 멤버로써의 포인터, 구조체를 함수의 인수 및 리턴값에 대한 실습)구조체(실습-구조체 배열을 활용한 품목, 수량, 단가, 금액 입출력에 대한 문제풀이)구조체(실습-구조체 멤버 포인터 변수를 활용하여 연결리스트 성적처리 프로그램 문제풀이)구조체(이론-중첩 구조체, 공용체, 열거형, typedef 에 대한 설명과 예제 설명)구조체(실습-중첩 구조체, 공용체의 메모리 공간에 대한 예제 실습)구조체(실습-열거형, typedef에 대한 예제 실습)구조체(실습-typedef, 중첩 구조체, 함수 호출을 통한 사각형의 넓이,좌표 출력 문제풀이)구조체(실습-typedef, 구조체 포인터 함수 호출을 통한 좌표바꾸기 문제풀이)[[HD]C언어 기초에서 활용까지 제대로 배우기 - 고급 Part.7 스트림과 파일입출력]이론-스트림의 개념, 버퍼의 개념, 표준 입출력 함수 설명 및 작동원리에 대한 설명 이론-바이너리 속성, 문자열 속성에 차이, 파일포인터, FILE형 구조체, 파일 입출력 함수에 대한 설명 이론-파일 열기, 닫기 함수, 반환값, 유효성 검증, 주의사항에 대한 설명 이론-문자 입출력 함수, 텍스트 파일 문자열 저장, 파일 내용 읽어오기, 토큰 단위로 읽어오기에 대한 설명 실습-binary속성, text파일 속성, fopen_s(), fclose(), FILE, errno_t구조체에 대한 실습 실습-fprintf(), fscanf_s()함수를 이용하여 파일에 데이터 입출력에 대한 실습 이론-텍스트 파일 줄 단위로 문자열 읽기,입력한 문자열을 텍스트 파일에 출력, 바이너리 파일 입출력에 대한 설명 실습-fgets(), 한글깨짐 문제처리, 인코딩 설명, fputc(), fputs()함수에 대한 실습 실습-바이너리 파일의 fwrite(), fread()함수에 대한 실습 실습-사용자로부터 입력받은 내용을 텍스 파일로 만들어 내용을 읽어 들여 성적을 처리하는 문제풀이 이론-바이너리 파일의 입출력에 대한 설명, 예제 설명 실습-바이너리 파일의 입력 fwrite(), 출력 fread()에 대한 실습 실습-파일 포인터 이동 fseek(), 이동한 바이트 크기 반환 ftell(), 파일 모드의 속성에 대한 실습 실습-파일 포인터 이용하여 바이너리 파일 복사하기 문제풀이 [[HD]C언어 기초에서 활용까지 제대로 배우기 - 고급 Part.8 동적메모리와 연결리스트]이론-정적, 동적메모리 할당의 차이점, 사용방법, 메모리 해제 방법에 대한 설명 이론-C언어의 메모리 상세, 동적메모리 생성, 해제에 대한 예제 설명 실습-동적메모리 할당 함수 malloc(), 초기화 함수 memset(), 메모리 해제 free()에 대한 실습 실습-동적메모리를 할당 받고 사용자에게 입력받은 후 성적 처리하는 실습(malloc(), memset(), free()) 실습-char타입 동적메모리를 이용한 소문자 알파벳 대입 및 출력 문제풀이 이론-구조체를 저장할 수 있는 동적메모리, 동적 구조체, 메모리크기를 변경에 대한 설명 실습-구조체를 정의하고 구조체 동적메모리를 생성 후 초기화, 입출력 예제 실습 실습-동적메모리 할당 함수 malloc(), calloc()의 차이점, 메모리 확장 함수 realloc()에 대한 특성 실습 실습-동적메모리 재할당 함수 realloc()에 대한 예제 실습 실습-구조체를 이용하여 malloc(), memset(), free()함수를 사용하여 영화제목, 평점 입출력 문제풀이 실습-malloc(), realloc(), free()함수를 사용하여 정수의 입력에 있어 동적 메모리 확장 문제풀이 실습-동적 메모리, 구조체, 파일입출력의 함수들을 이용하는 영화관리 파일에 대한 문제풀이 이론-연결리스트 개념, 구조, 자기 참조 구조체, 연결 리스트 생성 방법에 대한 설명 이론-자기 참조 구조체로 연결 리스트 생성에 대한 예제 설명 실습-자기 참조 구조체를 활용하여 연결 리스트 생성을 하는 예제 실습 실습-연결 리스트를 활용하여 소장하고 있는 책 리스트를 관리 하는 프로그램 문제 풀이 [[HD]C언어 기초에서 활용까지 제대로 배우기 - 고급 Part.9 선행처리기와 다중소스파일 (完)]이론-선행처리기 개념, 특징, 장점, 종류에 대한 설명 이론-선행처리기 예제, 사용자 정의 헤더파일 만들고 사용하는 방법에 대한 설명 실습-선행처리기, 사용자 정의 헤더파일 예제 실습 이론-매크로 개념, 확장, 함수, 취소에 대한 설명 및 예제 파일 설명 실습-매크로 확장, 매크로 함수, 매크로 상수 취소에 대한 예제 파일 실습 이론-조건부 컴파일, 다중소스 파일의 개념과 예제 설명 실습-조건부 컴파일(#ifdef, #ifndef, #if, #elif, #else, #endif) 예제 실습 실습-다중소스 파일 7개를 이용한 계산기 프로그램 예제 실습 실습-다중소스 3개를 이용한 성적처리, 조건부 컴파일 문제풀이 * 강의 교안 및 예제 코드는 첫 번째 영상의 참고자료로 추가해뒀습니다.

课程标签

0人关注该课程

主题相关的课程