
c、 c++
文章平均质量分 78
技术小白yhx
爱学习,爱生活
展开
-
const和 枚举的一些知识。
一、 constconst 可以用来声明一个常量, 当我们用const来修饰一个变量的时候, 我们就不能再后面给它赋值了。1、 用const 来修饰一个变量const int a = 5;如果我们想要在后面给它赋值,编译器就会报错。例如:#include int main(){ const int a = 5; int a = 6; ret原创 2017-11-07 12:00:12 · 2909 阅读 · 0 评论 -
单链表的基本操作
学过数据结构都知道,链表是最基础的一个数据结构。作为一个合格的程序员都应该清楚链表的操作。一、什么是链表呢?我的理解是,链表是有每个结点的组成的一种线性表,每个结点的物理存储单元是不连续的,但是这些结点能通过指针找到下一个结点的位置。结点是什么呢?我来画一个图解释一下。每个结点都是由数据域和指针域组成的,数据域中存放个的是这个结点的一些信息,指针域存放的是下一个结点的地址,这个...原创 2018-08-12 15:27:49 · 1428 阅读 · 0 评论 -
C语言和C++中const的区别
首先来看一个例子:在C语言编译器和C++编译器中编译这段代码,看最后输出的结果。int a = 10;const *p = &a;*p = 20;printf("a = %d\n", a);在C中运行的结果a = 20在C++中运行的结果a = 10为什么会导致在结果不同呢?因为两者对const的处理机制不同。C语言中对const的处理是这样的...原创 2018-08-11 23:10:10 · 653 阅读 · 0 评论 -
C语言和C++中三目运算符的区别
浅谈在C和C++中三目运算符的区别:C语言中唯一的三目运算符由 ? :组成它的一般形式: 表达式1 ? 表达式2 : 表达式3;如果表达式1的值为真,那么就返回表达式的值,否则返回表达式二的值。【注意】:在c语言中表达式返回的是一个数值。如果尝试给这个表达式赋值,那么编译就会报错。因为返回的是一个值,如果对这个值赋值,就相当于给一个常数赋值 10 = 40;这样肯定是有问题的。...原创 2018-08-11 15:48:38 · 890 阅读 · 0 评论 -
C和C++面试秘笈四——字符串(2)
一、编程实现字符串中各单词的反转这种题目的思路通常就是先将每个单词中的字母倒置,然后再将整个字符串倒置。#include <iostream>using namespace std;void change(char *str);int main(int argc, char **argv){ char src[] = "I am from Shanghai"; cou...原创 2018-05-08 15:39:32 · 175 阅读 · 0 评论 -
C和C++面试秘笈四——字符串(1)
在C和C++中没有字符串变量,字符串通常都是用一个字符数组来存放的。这一章的题目能够让我们更好的掌握对数组的运用。一、不使用库函数将整数转换为字符串#include <iostream>using namespace std;void change(int n, char *str){ int temp; int i = 0; char buf[10] = "0"; ...原创 2018-05-07 00:03:26 · 298 阅读 · 0 评论 -
C和C++面试秘笈一——C和C++程序基础
一、C++域操作符首先看下面的这一段代码#include <stdio.h>int value = 0;void printvalue(){ printf("value = %d\n", value);}int main(){ int value = 0; value = 1; printf("value = %d\n", value); ::value...原创 2018-04-27 20:01:50 · 632 阅读 · 0 评论 -
编写MyString类实现C++库中string类的一些基础功能
我们首先来看看C++库中的string类有什么功能。string s1("hel");string s2("lo");string s3; s3 = s1 + s2;cout << s3 << endl;我们就先看看上面这些例子,首先我们可以用一个字符串给s1对象初始化,我们可以用+号连接两个字符串,同时我们还可以用=号直接给s3对象赋值,最后还可以用cout直接...原创 2018-05-10 21:21:37 · 2988 阅读 · 0 评论 -
C和C++面试秘笈六——C++面向对象(2)
一、C++中的空类默认会产生哪些类成员函数我们来看一个空类class Empty{};这个类中没有定义任何成员,但是为了进行一些默认操作,编译器会给我们加入一些成员函数。1、默认构造函数,和默认拷贝构造函数,它们被用于类的对象的构造过程。2、析构函数,它们别用于类的对象的析构过程。3、赋值函数,它们被用于同类的对象间的赋值过程。4、取值运算,当对类的对象进行取址(&)时,此函数被调用。...原创 2018-05-09 21:00:11 · 244 阅读 · 0 评论 -
C和C++面试秘笈三——引用和指针(2)
一、指针数组和数组指针的应用先看下面这一段代码。#include <stdio.h>#include <stdlib.h>int main(){ char *str[] = { "Welcome", "to", "Fortemedia", "Nanjing" }; //第一行 char **p = str + 1;原创 2018-05-02 21:22:31 · 213 阅读 · 0 评论 -
C和C++面试秘笈六——C++面向对象(1)
一、C++相比C的改进C语言是过程式编程语言,它以过程为中心,以算法为驱动。C++是面向对象的编程语言,它是从C语言发展过来的。它以对象为中心,以消息为驱动的编程。二、class和struct的区别1、C语言中的struct和C++中的class的区别在C语言中的struct中只能 定义成员变量,不能定义成员函数。在C++中的class,可以定义成员变量,同时还可以定义成员函数。2、C++中的st...原创 2018-05-08 23:07:54 · 242 阅读 · 0 评论 -
C和C++面试秘笈三——引用和指针(1)
引用是C++引入的新语言特性,正确、灵活地使用引用,可以使程序简洁高效。一、一般变量的引用引用只是给变量起了一个别名,它们两个存储在同一个存储单元,具有同一地址。来看下面的代码int a = 10;int b = 20;int &rn = a;int equal;rn = b;cout << "a = " << a << endl;cout...原创 2018-05-01 17:50:13 · 223 阅读 · 0 评论 -
单链表实现的通讯录
这两天复习了一下单链表,将单链表的一些基本操作都自己写了一遍,也弥补了之前上课时不同的一些知识。这次的通讯录我分了三个文件,对链表的基本操作都用函数封装起来了,这样的代码看起来更加清楚。写选择操作功能的时候遇到了一个小问题,一开始我的选项是int类型的,但是只要我输入不是int类型的就会让程序崩掉,最后我将选项换成了char类型的,完美的解决了这个问题。虽然这个代码还是有点小bug,但还是能供大家...原创 2018-04-23 23:49:05 · 1347 阅读 · 0 评论 -
C和C++面试秘笈二——预处理、const、static与sizeof
【注】:本篇博客所使用的编译环境是32位的编译器一、用#define实现宏并求最大值和最小值#define MAX(x,y) (((x) > (y)) ? (x) : (y))#define MIN(x,y) (((x) < (y)) ? (x) : (y))我们可以这样写,加这么括号是因为宏只是简单的文本替换,如果不加括号很容易引起歧义。下面的例子就会讲这一点。二、宏定义的使用我们...原创 2018-04-30 18:29:44 · 220 阅读 · 0 评论 -
插入排序
插入排序最主要的两点1、拿出一个元素,留出空位,2、符合条件的元素往后移假设有一个int类型的数组中有这样几个没有顺序的数字 5,3,4,1, 2。首先将下标为1也就是3这个数拿出来,保存到一个temp中,这样3的位置就有了一个空位。然后就是把这个空位之前的数字都和temp比较如果,有数字大于temp,就将这个数字往后移,等到这轮比较结束之后就将temp插入到空位中。第一轮...原创 2018-08-15 15:13:55 · 350 阅读 · 1 评论