C/C++学习
文章平均质量分 61
使劲编
坚定自己的步伐
展开
-
C语言学习(九)数组
一维数组1.一维数组的定义格式为: 类型说明符 数组名[常量表达式];例如: int a[10]; 它表示定义了一个整形数组,数组名为a,有10个整形元素。2.在定义数组时,需要指定数组中元素的个数,方括弧中的常量表达式用来表示元素的个数,即数组长度。3.常量表达式中可以包括常量和符号常量,但不能包含变量。 注意: C语言不允许对数组的大小作动态定义,即数组的大小不依赖于程序运行过...原创 2018-07-26 19:43:30 · 839 阅读 · 0 评论 -
C语言学习(五)六种基本运算符与表达式
一、算术运算符和算术表达式 1.基本算术运算符 + (加)、 - (减) 、 * (乘) 、 / (除) 和 % (求余数)这五个运算符的优先级为: *、/ 和%同级,但比+和-高。即先乘除后加减。 两个整数相除,结果为一整数;分子小于分母,结果为零。 例如: 5/2 结果为 2 2/5 结果为 0 ...原创 2018-07-22 23:57:29 · 35403 阅读 · 0 评论 -
C语言学习(四)shell脚本
Linux系统中的Shell种类众多,常见的有bash、csh以及ksh等。不同的Shell语法有所不同,不能互换使用,但每种Shell都有其特色之处。这里我们选择bash来讲述Shell脚本编程的基础知识。Shell命令可以事先写在一个文件中,使用时Shell读取文件中的命令逐条解释,这种文件被称为脚本。1.编写一个Shell脚本编写一个简单的Shell脚本,输出字符串He...原创 2018-07-21 21:07:11 · 6966 阅读 · 0 评论 -
C语言学习(十二)栈和队列
栈栈是一个特殊的线性表,只能在一端操作;栈顶(top):允许操作 的一端;栈底(bottom):不允许操作的一端1.栈:是限定仅在表尾进行插入和删除操作的线性表;又称后进先出的线性表。LIFO结构。 栈顶top:允许插入和删除的一端; 栈底bottom:另外一端;2. 空栈:不含任何数据元素的栈;top=-1; 3. 栈的操作: 进...原创 2018-08-07 21:02:13 · 594 阅读 · 0 评论 -
C语言学习(三)Makefile基础学习详解
所谓工程管理器,顾名思义,是指管理较多的文件的。试想一下,有一个上百个文件的代码构成的项目,如果其中只有一个或少数几个文件进行了修改,按照之前所学的Gcc 编译工具,就(第一个缺点)不得不把这所有的文件重新编译一遍,因为编译器并不知道哪些文件是最近更新的,而只知道需要包含这些文件才能把源代码编译成可执行文件,于是,(第二个缺点)程序员就不能不再重新输入数目如此庞大的文件名以完成最后的编译工作。 ...原创 2018-07-20 09:47:50 · 1423 阅读 · 0 评论 -
C语言学习(十一)单、双向循环链表
1.单向循环:我对这里学习的几个函数的功能做了一个思路的整理,希望和大家共同进步,如有错误恭请指正!下面是对这些函数的一些总结,也是本篇的精华所在,后面的双向链表完成了老师留下的三个任务Status init(Node* p);//赋初值,需要对指针做修改,对指针的地址进行操作**pStatus insert_head(Node p,Elementype value);//插入函数首先...原创 2018-08-03 20:54:14 · 650 阅读 · 0 评论 -
C语言学习(十)顺序表
今天学习的内容比较多,函数的互相调用,指针的巧用,都是学习中的难点,下面是以代码为基础的自我复习与检查。希望可以互相学习共同进步‘。顺序表的逻辑没有学习难度,难的是缜密的思维以及清晰地思路保持。需要考虑每一种可能,也不能忽略每一种数据类型的转换或者定义。1.线性表的定义 定义n个数据元素的有限序列,记作(a1, a2, …, an)ai 是表中数据元素,n 是表长度2.线性表的...原创 2018-08-01 21:30:57 · 2073 阅读 · 0 评论 -
C语言学习(八)scanf、printf和 gets、puts
一、 printf和scanf printf 的函数原型是 printf("格式控制", 参量表) scanf的函数原型是 scanf("格式控制", 参量表); 格式化字符串:参数表:使用的是输入参数和输出参数的地址。注:输入的参量前加上址符“&” 关于scanf接受参数的时候 举个例子: scanf("%d,%d",&a,...原创 2018-07-25 21:19:41 · 1118 阅读 · 0 评论 -
C语言学习(七)冒泡排序,选择排序
今天讲的比较难的点事冒泡和选择排序,结合代码和自己的理解总结了一下。语言中,常用的算法有:冒泡排序、快速排序、插入排序、选择排序、希尔排序、堆排序以及归并排序等等。 冒泡排序法(Bubblesort) 所谓排序法,就是对一组无序的序列进行有序的排序(从大到小或者从小到大),那么什么叫冒泡排序法,冒泡排序法又是怎么实现数组的有序排列呢。冒泡排序法的具体实...原创 2018-07-24 20:37:09 · 1202 阅读 · 0 评论 -
C语言学习(六)三种基本程序结构
例一:财务人员给员工发工资时经常遇到这样一个问题,即根据每个人的工资额(以元作为单位)计算出各种面值的钞票的张数,且要求总张数最少。例如,某职工工资为3436元,发放方案为:100元34张,20元1张,10元1张,5元1张,1元1张。#include <stdio.h>int main(){ int money; int rmb100; int rm...原创 2018-07-23 20:22:55 · 2518 阅读 · 0 评论 -
C语言学习(一) C语言基础认知
C语言预习作业 什么是计算机程序?什么是编程语言?为什么需要编程语言?编程语言是用来干嘛的?举例一些编程语言,以及他们各自的特点? ①指一组指示计算机执行动作或做出判断的指令,通常用某种程序设计语言编写,运行于某种目标体系结构上②是用来定义计算机程序的形式语言。它是一种被标准化的交流技巧,用来向计算机发出指令。③编程语言就是我们和计算机之间的连接,通过编程语言就可以让计算机明白我...原创 2018-07-18 15:02:25 · 1351 阅读 · 0 评论 -
C语言学习(二)Linux下的用户和权限
Linux是多用户的操作系统,多个用户可以同时登陆进行操作。不同用户有不同的权限。root用户拥有最大的权限,其他用户的权限则有相应的限制。 Linux系统上还有用户组的概念,一个组可以包含多个用户,一个用户也可以同时加入多个组。组内用户除了自身的权限外,还拥有用户组成员的共同权限。通常每建立一个新的用户,也同时建立一个与用户同名的组,新用户包含在这个组内。 Linux文...原创 2018-07-19 20:14:43 · 1816 阅读 · 0 评论 -
C语言学习(十三)插入排序,堆排序,归并排序
对老师讲的排序方式深入的理解了一遍,还没来得及全部注释,正在逐步完善,与君共勉!#include <stdio.h>#define MAX 10typedef int ARR[MAX];typedef int Elementype;void swap(ARR arr,int i,int j);//交换参数的数值void insert(ARR arr);//插入排序v...原创 2018-08-08 21:40:27 · 694 阅读 · 0 评论 -
趣味百道之巧算末位
今天做了几道趣味百题,发现一些很有意思的算法,其实不如说是理解方式,理解题意并从另一个角度破题,成为这几题菜鸟玩家的首选首先第六题,题目设计让求13^13,如果按照我开始的想法,用递归求结果再取余,就会出现负数的结果,后来找到了另一种边做乘边取余,因为每次计算只有后三位对题目要求有帮助,所以用循环求每次积的后三位,避免了前面的问题。#include <stdio.h>#d...原创 2018-08-11 19:13:02 · 535 阅读 · 0 评论 -
运算符优先级
优先级这么多,一不注意容易掉进题目的坑,下面是360收集的超级全面的运算符优先级排序,希望对你有帮助 C语言优先级 优先级 运算符 名称或含义 使用形式 结合方向 说...原创 2018-09-15 02:34:13 · 353 阅读 · 0 评论 -
C网络编程--多线程客户端
下面是客户端的代码,本例用的是TCP连接(建立一个连接需要三次握手,而终止一个连接要经过四次握手),客户端主要用的是socket和connect,向客户端提出连接请求,在写聊天室的时候,创建线程接收服务器的消息实现交互创建线程的函数是int pthread_create(pthread_t *restrict tidp,const pthread_attr_t *restrict_att...原创 2018-10-05 16:10:06 · 557 阅读 · 0 评论 -
C网络编程--多线程服务器
服务器主要用的是socket(双向的通信的一端),bind(绑定),listen(切换监听状态),accept(与客户端取得连接)将accept放入多线程,可以多个客户端连接#include <stdio.h> //标准输入输出#include <sys/socket.h> //套接口#include <stdlib.h> ...原创 2018-10-05 16:21:51 · 658 阅读 · 0 评论 -
文件编程--实例讲解文件读取和写入
主要通过通讯录链表的存取讲解文件编程FILE *fopen(const char *path, const char *mode);const char *path 文件路径const char *mode 打开方式或者说以什么权限打开读写之前先打开文件,这里的雷区是读取的格式要严格的与写入保持一致,否则极其容易出错fscanf(file,"%s%s",newnod...原创 2018-10-08 22:24:54 · 451 阅读 · 0 评论 -
C语言学习总结--通讯录项目
在写通讯录前,基本没有什么思路,但是脑海中对于大概用到了什么功能还是有数的,就是无法有效的串联,当时请教了老师,老师给的建议是,把链表关于增删改查的操作,多敲几遍就会有所收获本次用到的知识模块有1、数据结构--单向链表2、结构体3、文件编程4、排序本程序实现了(理论上本通讯录人数无上限)1、添加联系人:如:学号、姓名、电话、qq号、家庭住址等2、查找联系人:根据...原创 2018-10-08 22:46:52 · 1083 阅读 · 0 评论 -
C++学习--static
1、静态的全局变量:改变量只能在本文件使用,其他文件无法使用2、静态的局部变量:延长变量生命周期,函数运行结束后变量不释放,到程序结束后才释放3、静态的函数:该函数只能在本文件使用静态成员函数 -----> 只能使用静态的成员变量静态的成员变量 1、不是对象的属性,可以理解为 类的属性 2、所有对象共享该变量 3、必须在类的外部进行初始化静态成员使...原创 2018-10-09 00:08:20 · 158 阅读 · 0 评论 -
C++学习--const
c++ cosnt 修饰变量, 则 变量将变为 常量编译器没有为 const 常量分配空间, const 常量存在符号表中使用的时候是从符号表中取值当对const常量进行取地址操作(extern)的时候,编译会在内存中为这个常量临时开辟空间但是 const常量 并不会使用这个块空间,取值还是从符号表中取值常量 #define 和 const 区别1、宏在预处理的时候处...原创 2018-10-09 00:10:56 · 190 阅读 · 0 评论 -
C++学习--内联函数
宏 可以做两件事情:1、定义常量 2、定义函数#define A 10#define ADD(x,y) (x+y)C++ 建议用:1、const 替换宏常量2、用 内联函数 替换宏函数内联函数定义:在函数定义前加 inline 关键字 注意:在声明前加无效宏函数是在预处理期间进行处理内联函数在编译进行处理,具备普通函数的相应功能 参数检查 类型检查。。函数运行是有开销...原创 2018-10-09 00:15:15 · 278 阅读 · 0 评论