
C
文章平均质量分 62
f2016913
一个专业小白的奋斗之路
展开
-
面试常见的“套路”之--两个数的交换
方法一:借助第三数,来交换两个数。#include#includeint main(){ int a = 2; int b = 3; int c = 0; c = a; a = b; b = c; printf("a = %d\nb = %d\n", a, b); system("pause"); return 0;}方法二:算术运算。#include#inc原创 2016-09-21 23:08:33 · 524 阅读 · 0 评论 -
数组和指针
一.数组和指针int arr[5];int *p;首先要搞清楚数组是什么?数组表示相同数据类型的数的集合,arr[5]表示有5个整形元素的集合。p是变量,对于变量可以理解为左值,编译器会开辟一块内存空间,然后在这个空间存上其所指的内容。*表示解应用。可以形象理解为:如果你回家开门,需要钥匙打开,此时”*“就充当钥匙的功能,同样在指针中有了*,才会读取其所指向地址的内容。数原创 2016-11-15 19:46:49 · 558 阅读 · 0 评论 -
计算器
简易计算器:能够实现加减乘除的功能。方法一:函数指针的数组实现:#define _CRT_SECURE_NO_WARNINGS 1#include#include#includeint add(int x, int y){ return x + y;}int sub(int x, int y){ return x - y;}int mul(int x, in原创 2016-11-24 22:09:42 · 539 阅读 · 1 评论 -
函数与宏
一、函数1.函数定义:就是函数体的实现。函数体就是⼀个代码块。他在函数被调⽤的时候执行。2。函数声明(函数原型):函数声明出现在函数被调用的地方。函数声明向编译器提供函数的相关信。用于函数被正确的调用。函数包括:类型,函数名(),代码块int fun(){ printf("hello world ");return 0;}return 语句1.表明函数正确执行到函数调原创 2016-11-24 22:05:06 · 447 阅读 · 0 评论 -
C语言实现简单通讯录
实现一个通讯录;通讯录可以用来存储1000个人的信息,每个人的信息包括:姓名、性别、年龄、电话、住址提供方法:1. 添加联系人信息2. 删除指定联系人信息3. 查找指定联系人信息4. 修改指定联系人信息5. 显示所有联系人信息6. 清空所有联系人7. 以名字排序所有联系人头文件:#include#includ原创 2016-12-06 10:45:16 · 760 阅读 · 1 评论 -
C语言之--结构体内存对齐
一、聚合数据类型:数组和结构体。数组是相同数据类型的集合,它的每个数据元素可以通过下标或者是指针间接访问,而结构体的不同点是它是不同元素类型的数据的集合。结构体不能通过下标来访问原因是它的每个成员(元素)的类型不同,长度不同。它们可以通过名字来访问。结构体的声明:struct tag{ int a; short b; char c;}x;tag标签可以原创 2016-11-19 00:43:44 · 514 阅读 · 0 评论 -
实现不同类型的冒泡排序
一、按照qorst函数的原理实现不同类型的数组的排序。qorst函数是库函数,可以实现快速排序。在MSDN下类型为void qsort( void *buf, size_t num, size_t size, int (*compare)(const void *, const void *) );头文件是stdilb.h。该函数的参数主要包括四个部分:1、 代排序数组的首地址原创 2016-11-21 12:37:41 · 1294 阅读 · 0 评论 -
顺序表
顺序表的是计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构。顺序表是将表中的元素(节点)一个接一个存入一组连续的存储单元中。静态顺序表,大小已知,实现基本的增删改查。由于顺序表是一个依次存储的线性结构,在插入或者删除节点时可以有头插头删,尾插尾删。我们可以定义一个结构体,用来保存表的数据和数据的个数。头文件#define原创 2016-12-12 15:09:46 · 494 阅读 · 0 评论 -
C语言常见陷阱之“纠缠不清的位域”
一.表达式求值--整数类型提升问题:#define _CRT_SECURE_NO_WARNINGS 1#include#includeint main(){ char c; unsigned char uc; unsigned char us; c = 128;// -128-0-127; uc = 128; us = c + u原创 2016-12-01 09:34:26 · 4596 阅读 · 3 评论 -
C语言之——左旋字符串
如:ABCDE左旋一位是BCDEA;左旋两位是CDEAB。方法一:循环左移法。先将第一次字符拿出,然后将后面的字符依次向左移1位,刚好最后一个字符空出,把第一个字符放入,当然这里面考虑到这个字符串的长度,多次操作可以用移的步数和字符串的个数取%来计算。#define _CRT_SECURE_NO_WARNINGS#include#include#include#include原创 2016-10-31 22:12:45 · 816 阅读 · 0 评论 -
C语言之-找一个数组只出现一次的两个数
在一个数组中找到单独出现两次的数字。具体方法是:异或之后的结果的分类遵循两种情况,找到异或结果0,1序列最低比特位的非零位相同的数据被分到相同的组,不同的数据被分到不同的组。这样问题就被简化成为了两个子问题,在每一个里面找到只出现一次的那个数。分为三个步骤:1.所有数据异或得到结果序列2.找到异或结果最后一个非零比特位,把位置记录下来。3.根据非零比特位的位置进行分类。原创 2016-11-07 17:12:07 · 763 阅读 · 0 评论 -
数据类型之char型溢出的讨论。
数据类型:1.内置类型(C本身): 整形,浮点型,字符型。2.构造类型(自定义类型):数组,结构体,枚举。3.指针类型。4.空类型。头文件limis.h定义了不同的整形类型。二.字符型。主要分为char,unsiged char 和signed char型。如何判断三个类型的大小呢,一般情况用关键字sizeof来求其类型的长度。如:#de原创 2016-10-26 17:36:27 · 5649 阅读 · 0 评论 -
常见的字符串函数之strlen函数,strcpy函数,strcat函数的实现;
字符串是一种重要的的数据类型1.字符串长度strlen函数字符串的长度就是计算它包含的字符的个数。库函数strlen的在MSDN中原型如下:size_tstrlen( constchar *string);头文件如计算数组长度:#includesize_t strlen(char const *string){ int lengh = 0;原创 2016-10-16 17:27:34 · 688 阅读 · 0 评论 -
C语言之输出一个数的每一位,和获取一个二进制数所有奇数和偶数位,输出二进制序列的区别。
1:输出一个整数的每一位。输出一个整数的每一位是对其操作数从低位到高位输出。#include#include int main(){ int data = 0; int arr[10];//定义一个整形数组; int count = 0; printf("please enter data:"); scanf("%d",&data); while (data)//这个数原创 2016-09-27 23:59:33 · 2661 阅读 · 0 评论 -
你所不知道的“三个数从大到小的顺序输出”之—对if (else)条件语句的运用。
把三个数从大到小的顺序输出,可能会一个一个的比较,这个会很麻烦,大多数情况下,都是两两比较然后和第三个数再比较大小,此程序主要是对条件语句的熟练应用。#define _CRT_SECURE_NO_WARNINGS#include#includeint main(){ int data1 = 0; int data2 = 0; int data3 = 0; printf("pl原创 2016-09-26 18:47:07 · 4188 阅读 · 0 评论 -
C语言-在一个数组中找到一个数之sizeof的用法。
1.在一个数组中找到一个数:#include#includeint main(){ int arr[10] = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 }; int key = 10; int left = 0; int right = sizeof(arr) / sizeof(arr[0]) - 1;//下标数 while (left <= right)原创 2016-09-25 12:37:40 · 1047 阅读 · 0 评论 -
知名互联网公司面试题之--将一个数按照二进制输出,并且输出1的个数。
方法一:求余法#include#includeint main(){ int num = 9; int count = 0; int count_one_bits(int num); while (num) { if (num % 2 == 1) count++; num = num / 2; } printf("count = %d", count); s原创 2016-09-22 00:23:10 · 654 阅读 · 0 评论 -
C语言如何模拟C++实现继承和多态
首先要明白c++的三大特性:封装,继承,多态 而这些C语言统统都没有,那么C语言如何实现继承和多态呢? C++的继承属性是通过访问限定符:public,protected,private来实现. 我们知道c++的多态必须满足两个条件:虚函数的重写已经父类的指着和引用指向子类的对象. 思路:我们知道在C语言中没有类的概念,但是却有结构体struct,默认C++中struct也是类,这样我们就可原创 2017-07-29 23:34:49 · 1829 阅读 · 0 评论