
C语言
文章平均质量分 72
LyncDwight
嗨,没有简介。
展开
-
C语言基础教程(1)概述
参考内容:1、郝斌C语言教程笔记2、C Primer Plus第六版为什么学习c语言Fortran语言主要用于科学计算,在第三代语言中,以1980年为分水岭,分为结构化和面向对象语言。Basic语言是vb的前生,pascal语言一般是用于教学。C语言是最重要的,其他的语言一般很少用了。结构化的代表语言是c语言。结构化语言的数据和操作是分离的,导致在写大项目的时候,会出现...原创 2018-09-13 11:40:11 · 1942 阅读 · 1 评论 -
c实现功能(9)对文本的内容进行排序
#include <stdio.h>#include <string.h>#include <stdlib.h>void swap(int *p1, int *p2){ int temp = *p1; *p1 = *p2; *p2 = temp;}//实现对数组内容的排序void sort(int *p, int len...原创 2018-10-04 19:11:21 · 422 阅读 · 0 评论 -
c实现功能(10)对文本内容进行计算
#include <stdio.h>#include <string.h>#include <stdlib.h>//实现对文本内容的计算//首先实现对文本中每一行内容的计算int calcString(char *s){ char num1[100] = {0}; int oper = 0; char num2[100] =...原创 2018-10-04 20:08:07 · 284 阅读 · 0 评论 -
c实现功能(5)字符串和数字之间的转换
#include <stdio.h>int main() { //实现字符串转换成数字 char str[10] = "123"; //求取字符串的长度 int len = 0; while (str[len++]); len--; //设置和 int value = 0; for (int i = 0; i < len; i++) { //...原创 2018-09-27 18:44:20 · 343 阅读 · 0 评论 -
C实现功能(6)递归实现整数转换成二进制
#include <stdio.h>void binary(int num);int main() { //实现十进制转换成二进制 int num = 10; binary(num); return 0;}void binary(int num) { int i = num % 2; if (num > 0) { binary(num / 2);...原创 2018-09-27 21:31:45 · 741 阅读 · 0 评论 -
c实现功能(11)对二进制文件的读写
#include <stdio.h>#include <string.h>int main(){ //实现对二进制文件的读取 //打开文件 FILE *p = fopen("D:\\test\\a.wmv", "rb"); FILE *p1 = fopen("D:\\test\\b.wmv", "wb"); //设置字符缓冲原创 2018-10-06 17:17:57 · 1080 阅读 · 0 评论 -
c实现功能(12)利用stat函数对大文件进行拷贝
#include <stdio.h>#include <stdlib.h>#include <sys/stat.h>int main(){ struct stat st = {0}; //利用stat结构体对文件的相关信息进行保存 stat("D:\\test\\a.wmv", &st); //在堆中分配文件大小...原创 2018-10-06 19:26:26 · 308 阅读 · 0 评论 -
c项目实现(1)实现电子词典的翻译
项目实现功能通过用户的输入,在字典文件中进行 查找,返回对应的翻译内容。字典文件的样式,该文件已经上传。#a --------要查找的单词Trans:art. 一;字母A --------注释#a.m.Trans:n. 上午项目实现的思路1、首先读取字典文件2、读取用户的输入3、查找输...原创 2018-10-28 11:40:41 · 391 阅读 · 0 评论 -
c理解提高(1)数据类型的本质分析
数据类型本质分析数据类型概念“类型”是对数据的抽象 类型相同的数据有相同的表示形式、存储格式以及相关的操作 程序中使用的所有数据都必定属于某一种数据类型 数据类型的本质思考 思考数据类型和内存有关系吗? C/C++为什么会引入数据类型? 数据类型的本质数据类型可理解为创建变量的模具(模子);是固定内存大小的别名。 数据类型的作用:编译器预算对象(变量)...原创 2018-10-29 12:49:59 · 261 阅读 · 0 评论 -
c理解提高(2)变量的本质
变量本质分析变量概念概念:既能读又能写的内存对象,称为变量;若一旦初始化后不能修改的对象则称为常量。 变量定义形式: 类型 标识符, 标识符, … , 标识符 ; 例如: int x ; int wordCut , Radius , Height ; double FlightTime , Mi...原创 2018-10-29 12:56:14 · 201 阅读 · 0 评论 -
c理解提高(3)程序的内存四区模型和函数调用模型
程序的内存四区模型内存四区的建立流程流程说明1、操作系统把物理硬盘代码load到内存2、操作系统把c代码分成四个区3、操作系统找到main函数入口执行 各区元素分析函数调用模型基本原理内存四区模型和函数调用模型变量传递分析1、一个主程序有n函数组成,c++编译器会建立有几个堆区?有几个栈区?2、函数嵌套调用时,实参地址传给形参后,...原创 2018-10-29 12:59:43 · 378 阅读 · 0 评论 -
c理解提高(4)指针知识体系
指针知识体系搭建前言 先从整体上把握指针的知识体系。然后突破1级指针、二级指针、多级指针。 指针强化铁律1:指针是一种数据类型 1)指针也是一种变量,占有内存空间,用来保存内存地址 测试指针变量占有内存空间大小2)*p操作内存 在指针声明时,*号表示所声明的变量为指针 在指针使用时,*号...原创 2018-10-29 13:13:34 · 204 阅读 · 0 评论 -
c实现功能(13)实现单向链表的简要功能
#include <stdio.h>#include <stdlib.h>//利用结构体创建节点struct list{ //创建数据域 int data; //创建指针域 struct list *next;};//实现建立一个节点的方法struct list *create_list(){ return call...原创 2018-10-27 18:34:29 · 168 阅读 · 0 评论 -
c理解提高(5)字符串copy函数技术推演
#include <stdlib.h>#include <string.h>#include <stdio.h>void main01(){ //通过栈的方式对数据进行拷贝 char a[] = "i am a student"; char b[64]; int i = 0; for (i=0; *(a+i) != '\0'; i++)...原创 2018-10-30 16:48:24 · 313 阅读 · 0 评论 -
c理解提高(6)项目开发字符串查找模型
#include <stdlib.h>#include <string.h>#include <stdio.h>//项目要求//char *p = "abcd111122abcd3333322abcd3333322qqq"; //求字符串p中 abcd出现的次数//do while实现模型操作void main01(){ //strstr...原创 2018-10-30 17:23:58 · 223 阅读 · 0 评论 -
c实现功能(4)产生随机数
#include <stdio.h>#include <stdlib.h>#include <time.h>int main() { time_t tm = time(NULL);//利用时间作为种子 srand(tm);//要使rand函数得到的每次结果不同,就需要srand中的种子不同 for (int i = 0; i < 10...原创 2018-09-27 11:44:29 · 305 阅读 · 0 评论 -
c实现功能(8)简单实现文本的加密
#include <stdio.h>#include <string.h>//实现对文件的加密函数void encode(char *s){ while (*s) { (*s)++; s++; }}//实现对文件内容的解密void decode(char *s){ while (*s) { ...原创 2018-10-04 16:30:52 · 696 阅读 · 0 评论 -
C语言基础教程(2)必备知识
必备知识C语言的关键字: C语言程序的格式: 数据类型数据类型--数据的分类,对编程而言,首要考虑问题是数据的输入和存储。数据类型关键字A:基本数据类型:整数类型整型int --4字节 一字节byte = 8 位bit 短整型short int -2 长整型long int -8...原创 2018-09-13 12:13:53 · 516 阅读 · 0 评论 -
C语言基础教程(3)流程控制
流程控制什么是流程控制程序代码执行的顺序。 流程控制的分类顺序执行选择执行 定义:某些代码可能执行,可能不执行,有选择的执行某些代码。分类:ifIf最简单的用法:如果想控制多个语句的执行或者不执行,那么需要使用{}括起来。 3.if…else…的用法: if…else if…else的用法: C错...原创 2018-09-13 12:20:53 · 833 阅读 · 0 评论 -
C语言基础教程(4)数组和函数
数组数组的使用:为什么需要数组1:为了解决大量同类型数据的存储和使用问题。2:用数组可以模拟现实世界。Int a[25]:一维数组,可以当做一个线性结构。Int a[8][6]:可以当做一个平面,意思是8行6列。有48个元素。Int a[3][4][5]:可以当做一个三维 立体。Int a[3][4][5][6]:可以当做一个四维空间。数组的分类一维数组...原创 2018-09-13 12:22:33 · 4103 阅读 · 0 评论 -
C语言基础教程(5)指针
指针内存的存储是以一个字节为一个编号,也就是8位合在一起给一个编号,不是0,1就给编号。内存分为很多个单元,每个单元就会分配一个编号。地址:内存单元的一个编号。而指针和地址一个概念的。也就是说指针就是地址。普通变量:只能存放一个值。指针变量:同样是一个变量,但是指针变量存放其他变量的地址。 *p代表的是p所指向的那个变量。在上图中*p和i是同一个东西,但是*p和...原创 2018-09-13 12:24:07 · 727 阅读 · 0 评论 -
C语言基础教程(6)动态分配内存
动态分配内存动态内存分配 (所有高级语言,没有C里深刻,对JAVA、C#理解有益) 传统数组的缺点:1.数组长度必须事先指定,而且只能是常整数,不能是变量 例子 int a[5]; //必须事先指定,而且只能是常整数 int len = 5; int a[len];//error 2.传统形式定义的数...原创 2018-09-14 09:50:37 · 371 阅读 · 0 评论 -
C语言基础教程(7)枚举
枚举什么是枚举 把一个事物所以可能的取值一一列举出来/* 目的:枚举*/#include <stdio.h>//自定义了一个数据类型,并没有定义变量,该数据类型的名字 enum WeekDayenum WeekDay{ //MonDay, TuesDay, WednesDay, ThursDay, FriDay, ...原创 2018-09-14 09:53:12 · 193 阅读 · 0 评论 -
C语言基础教程(8)进制转换及补码
进制转换及补码位运算符 约翰·冯·诺依曼(JohnVonNouma,1903-1957),美藉匈牙利人 被称为计算机之父:2大贡献 二进制 计算机设备分类:运算器 控制器 存储器 输入设备 输出设备 什么是进制数字是本质,进制只是不同表现方式一个十六进制位,要用4个二进制数表示,...原创 2018-09-14 09:55:39 · 1733 阅读 · 0 评论 -
C语言基础教程(9)结构体
结构体为什么需要结构体为了表示一些复杂的事物,而普通的基本类型无法满足实际要求。什么叫结构体把一些基本类型数据组合在一起形成的一个新的复合数据类型。如何定义结构体// 3种方式:// 第一种 只是定义了一个新的数据类型,并没有定义变量 推荐采用1struct Student{ Int age; Float score; Char sex...原创 2018-09-14 10:03:39 · 848 阅读 · 0 评论 -
C语言基础教程(10)链表
链表C语言和数据结构的连接(过渡) 链表是数据结构第一部分 而是C语言最后一章内容,由此可以比较两者难度 算法: 通俗定义: 解题的方法和步骤 狭义定义: 对存储数据的操作 对不同的存储结构,要完成某一个功能所执行的操作是不一样 比如: 要输出数组中所有的元素...原创 2018-09-14 10:06:03 · 747 阅读 · 0 评论 -
C语言基础教程(11)基础总结
总结练习1.什么叫分配内存,什么叫释放内存分配内存:操作系统把某一块内存空间的使用权力分配给该程序内存释放:操作系统把分配给该程序的内存空间的使用权力收回, 该程序就不能使用这块内存空间附注:释放内存不是把该内存的数据清零 2.变量为什么必须初始化不初始化,变量通常是垃圾值,很可能是上次程序结束遗留下来的数据。 3.详细说明系...原创 2018-09-14 10:09:19 · 1146 阅读 · 1 评论 -
c实现功能(1)冒泡排序
#include <stdio.h>int main() { int array[10] = { 0,5,3,2,4,1,6,9,8,7 }; for (int i = 0; i < 10; i++) { for (int j = 0; j < 10 - 1 - i; j++) //减1是为了防止数组越界 { if (array[j] >...原创 2018-09-27 08:35:00 · 227 阅读 · 0 评论 -
c实现功能(2)汉字逆置
#include <stdio.h>int main() { char str[10] = "你好啊"; //获得数组的长度 int len = 0; while (str[len++]); len--; //由于汉字是两个字节,所以要分开进行置换 int min = 0; int max = len - 1; while (min < max) {...原创 2018-09-27 08:46:59 · 324 阅读 · 1 评论 -
c实现功能(3)去掉字符串左右的空格
#include <stdio.h>int main() { //去掉右边的字符串空格 char str[100] = "hello world "; int len = 0; while (str[len++]); len--; //printf("%d\n", len); for (int i = len - 1; i >= 0;...原创 2018-09-27 09:04:41 · 926 阅读 · 0 评论 -
c实现功能(7)写入和读取文本文件
#include <stdio.h>#include <string.h>int main(){ //向一个文件中写入内容 char s[1024] = {0}; //打开一个文件 FILE *p = fopen("D:\\test\\a.txt","w"); //将信息写入到文件中 while(1){ ...原创 2018-10-04 16:17:32 · 230 阅读 · 0 评论 -
c练习题(1)字符串操作练习题
1、有一个字符串开头或结尾含有n个空格(” abcdefgdddd ”),欲去掉前后空格,返回一个新字符串。要求1:请自己定义一个接口(函数),并实现功能;70分要求2:编写测试用例。30分int trimSpace(char *inbuf, char *outbuf); #include <stdio.h>#include <string.h>...原创 2018-10-30 19:46:23 · 2662 阅读 · 0 评论