自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 收藏
  • 关注

原创 模拟实现atof函数

atof()函数atof():double atof(const char* str);功能:把字符串转换成浮点数str:要转换的字符串返回值:返回值为double值。如果该输入无法转换为该类型的值,则返回值为0.0问题:1.跳过空格字符          2.记录正负值          3.遇到数字才开始转换,如果是非数字或字符串结束('\0')结束转换 #include<iostrea...

2018-02-28 21:52:16 507

原创 在C语言中怎样定义一个字符串并输入输出

在C语言中没有字符串类型,用字符数组处理字符串字符数组定义:char 数组名 [常量表达式][常量表达式]说明:一维字符数组,用于存储和处理一个字符串 。二维字符数组,用于同时存储和处理多个字符串输入输出方法:逐个字符输入输出:%c    整个字符串输入输出:%s一  :用scanf输入字符串,printf输出字符串   逐个字符处理:#includeint main()

2018-02-28 16:57:29 254154 13

原创 C语言习题总结 上

#define _CRT_SECURE_NO_WARNINGS#include<stdio.h>#include<stdlib.h>#include<assert.h>//1.使用c语言在屏幕上输出hello world//int main()//{// printf("hello world");// system("pause");// ...

2018-02-27 18:33:04 349

原创 用C语言编写程序,将多个字符串排序输出

1:有三个字符串分别是:"hello" "bit" "world".然后排序之后输出的顺序为:"bit" "hello" "worldint main(){ char str1[100]; char str2[100]; char str3[100]; char tmp[100]; scanf("%s", str1); scanf("%s",

2018-02-23 23:38:06 9154 1

原创 用C语言编写一个程序,对整型数组排序(冒泡排序,选择排序)

冒泡排序:void Bubblesort(int *arr, int sz)//冒泡排序{ for (int j = sz - 1; j >= 0; j--)//控制趟数 { for (int i = 0; i+1 <= j; i++)//控制每趟多少次 { if (arr[i] > arr[i + 1]) { int tmp = arr[i...

2018-02-23 15:05:11 13989

原创 用C语言编写程序求一个1!+2!+3!+4!...(两种方法)

方法一:思路:用两个for循环,一个用于计算阶乘(n!),一个用于计算和(sum).代码如下,自己感悟。int main(){ int sum = 0; for (int i = 1; i <= 4; i++)//此循环用于求和 即求1!+2!+3!+4! { int ret = 1; for (int j = 1; j <= i; j++)//此循环用于计算...

2018-02-23 15:04:55 37918 3

原创 判断一个数是否是回文数(两种方法1.将数字翻转看与原来是否相等2.当作字符串处理看是不是左右对称相等)

方法一  :将一个整数翻转,判断翻转后的数是否与原数相等,如果相等则是回文数int JudgePalindrome(int n)//方法1{ int m = 0; int c = n;//保存n,底下用于判断是否和反过来的数相等 while (n) { m = m * 10 + n % 10; n = n / 10; } if (c == m) {...

2018-02-23 15:04:36 1777

原创 C语言求最小公倍数与最大公约数(4种实现)

一   最大公约数算法:1.辗转相除思想有整数a b;(1)a%b得到余数c  (2)若c==0,则b就是最大公约数(3若c!=0,则a=b;b=c;继续执行(1)int GetGreatestCommonDivisor(int a, int b)//辗转相除{ int c = 1; while (c) { c = a%b; a = b; b = c; } return ...

2018-02-18 00:30:15 4056

原创 if语句的书写规范

一  bool值和零比较bool类型是在c99标准中才引入的一个语法特点,用的很少,一般情况下我们都使用整形变量来充当bool变量的角色 int flag; if (flag == TRUE) { //... } if (flag == false) { //... }上面这个是错误写法。 因为在C语言中BOOL值的语义是:0表示假,非0表示真# define F...

2018-02-17 19:40:22 1194

原创 C语言链表面试题

SeqList.h#pragma once#include<stdio.h>#include<stdlib.h>#include<string.h>#include<assert.h>typedef int DataType;typedef struct Node{ struct Node* next; DataType Data;...

2018-02-16 23:25:54 280

原创 C语言实现单链表

LinkList.h     //这里面主要放函数声明,头文件等#ifndef __LINKLIST_H__#define __LINKLIST_H__#include<stdio.h>#include<stdlib.h>#include<assert.h>typedef int DataType;typedef struct Node{ Dat...

2018-02-11 20:23:52 691

原创 extern关键字的用法

在进入今天博客正文之前,我们先来说一些基础的概念。一  编译模块对于编译的一些概念很多然已经不再清楚了,很多程序员最怕的是处理连接错误(LINK   ERROR),因为它不像编译错误那样可以给出你程序错误的具体位置,这时你就特别崩溃。当在VS这样的开发工具上编写完代码,点击编译生成exe文件时,VS其实做了两步工作,第一步:将每个.C(.Cpp)和相应的.h文件编译成obj文件  第二步:将工程中...

2018-02-10 09:13:57 504

原创 实现不创建临时变量,但交换两个数的函数

#include#include//方法1:创建临时变量//int Swap(int* x, int* y)//{// int tmp =*x;// *x = *y;// *y = tmp;//}//方法2:不创建临时变量 异或//int Swap(int *x,int *y)//{// *x = *x^*y;// *y = *x^*y;// *x

2018-02-09 23:42:45 358

原创 剑指offer第4题 把空格替换成20% 剑指offer第14题 让一个数组中奇数位与前面,偶数位与后面

1.题目:请实现一个函数,将一个字符串中的空格替换成20%,例如当字符串为i am happy,输出i%20am%20happy#include<stdio.h>#include<stdlib.h>#include<string.h>void replace_black(char*str){ int count = 0; char*ptr = st...

2018-02-09 20:59:51 203

原创 二分查找递归实现,非递归实现

二分查找非递归实现一  区间左闭右闭#include<stdio.h>#include<stdlib.h>int BinarySerach(int *arr, int x, int sz){ int left = 0; int right = sz - 1;//左闭右闭 while (left <= right)//注意有等号 { int mid...

2018-02-09 20:56:04 2371 3

原创 c语言实现静态顺序表 ------------第一次自己独立完成

Seqlist.htypedef struct SeqList{ DataType array[N]; size_t size;}SeqList;void InitSeqList(SeqList *s);void PushBack(SeqList *s, DataType x);void PopBack(SeqList *s);void PushFront(SeqList *s, ...

2018-02-08 17:36:58 263

原创 c语言模拟实现c++继承和多态

本题主要考的是C语言,和C++的区别,以及C++中继承和多态的概念C语言和C++的区别一   C语言是面向过程的语言,C++是基于面向对象的语言(注意:不是纯面向对象,因为兼容C语言)1  面向过程:面向过程就是分析解决问题的步骤,然后用函数把这些步骤一步一步的进行实现,在使用的时候进行一一调用就行了,注重的是对于过程的分析。    面向对象:就是指把构成问题事务分解成各个对象,建

2018-02-07 21:42:38 333

原创 动态内存开辟,以及动态内存开辟中所出现的越界访问,内存泄漏等问题

一   静态内存开辟:也就是传统的内存开辟。-----一般在栈上开辟-----一旦分配好,便不能再改变,也不需要自己释放,系统自        动回收二    动态内存分配:你想要多少就开辟多少。-----在堆上开辟-----避免了静态内存分配出现的问题1.内存不足  2.内存浪费---程          序员释放       malloc  ,realloc,calloc等开辟出来

2018-02-05 21:43:39 337

原创 多态&多态对象模型&虚函数表

所谓多态,就是指多种形态C++中虚函数的主要作用就是实现多态,简单说,父类的指针/引用调用重写的虚函数,当父类指针/引用指向父类对象时,调用的是父类的虚函数,指向子类对象调用的是子类的虚函数。虚函数表虚函数表(虚表)是通过一块连续内存来存储虚函数的地址,这张表解决了继承,虚函数(重写)的问题。在有虚函数的对象实例中都存在一张虚函数表,虚函数表就像一张地图,指名了实际应该调用的虚函数地址

2018-02-05 18:00:16 247

原创 虚函数和多态

一   虚函数:在类的成员函数前面加上virtual关键字,则这个成员函数称为虚函数       注意:只有类成员函数加virtual才能称为虚函数,普通函数不可以二   虚函数的重写:在子类定义了一个与父类完全相同的虚函数时,则称子类的这个函数重写(覆盖)了父类的这个虚函数三   多态的两个条件:1.虚函数重写(覆盖 )    两个要求(1)虚函数   (2)函数全都相同(参数,

2018-02-03 12:05:42 210

原创 重写,重载,重定义的区别,联系

2018-02-03 11:20:05 167

原创 深入探索构造函数--------------之构造函数初始化

一   类的成员变量有两种初始化方式:      1.初始话列表      2.构造函数体内进行赋值      但是尽量使用初始化列表进行初始化,因为它更高效,为什么更高效呢?   #includeusing namespace std;class Time{public: Time() { cout << "Time()" << endl; } Time&op

2018-02-02 18:42:03 219

原创 构造函数,拷贝构造的优化相关问题

话不多说,直接看题,先看简单一点的。第一题:#includeusing namespace std;class Date{public: Date() { cout << "Date()" << endl; } Date(const Date& d) { cout << "Date(const Date& d)" << endl; } Date& operat

2018-02-01 18:58:11 164

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除