![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c语言
Kobe51920
这个作者很懒,什么都没留下…
展开
-
C语言:字符串
1.字符串的使用如;不知道长度,可以用数组加下标,不等于‘\0’就可以例子;arr[i]!='\0'//字符长度等于字符串的有效长度1.puts函数———输出字符串的函数(puts(字符数组))//只能输出一个字符串2.gets函数————输入字符串的函数(gets (字符数组))//只能输入一个字符串3.stract函数————字符串连接函数 (stract (字符数组1...原创 2019-11-26 17:36:47 · 206 阅读 · 0 评论 -
C语言:各种函数用法
1.函数调用函数调用有三种方式:1.作为语句调用:2.作为函数表达式调用:3.作为函数参数调用:https://blog.csdn.net/zhou1432590267/article/details/790280952.c语言函数:函数的定义不能被嵌套,函数调用可以被嵌套函数的默认值不允许为局部变量建立自定义函数的目的是:1.调用时只需要明白函数的功...原创 2019-11-02 15:36:49 · 6213 阅读 · 0 评论 -
C语言:腾讯面试题
有一个集合由A-Z这26个字母组成,打印这个集合的所有子集,每个子集一行,写C代码实现,不能使用递归void Show1()//{const char chars[] = "abcdefghijklmnopqrstuvwxyz";for(int i=0;i<0x3ffffff;i++){//0000 0000 0000 0000 1010 0000 11for(i...原创 2019-06-02 20:32:22 · 1194 阅读 · 1 评论 -
C语言:泛型编程
1.memset:内存清零格式:memset(arr,0,sizeof(arr));例子:# include <string.h>void *memset(void *s, int c, unsigned long n);函数的功能是:将指针变量 s 所指向的前 n 字节的内存单元用一个“整数” c 替换,注意 c 是 int 型。s 是 void* 型的指针变量,所以它...原创 2019-11-02 15:35:51 · 398 阅读 · 0 评论 -
C语言:KMP算法
//字符串查找(i回退)int BF(const char *str,const char *sub,int pos)//O(n*m),O(1){int i = pos;int j = 0;int lenstr = strlen(str);int lensub = strlen(sub);if(i<0 || i>=lenstr){return -1...原创 2019-06-02 11:26:59 · 384 阅读 · 0 评论 -
C语言:时间复杂度与空间复杂度
算法效率主要从两方面分析:1,空间复杂度;2,时间复杂度一个算法由控制结构和原操作组成,其执行时间取决于两者的综合效果。将原操作重复操作执行的次数与问题规模n之间的关系记为函数f(n)。**1.空间复杂度**空间复杂度记为该算法所消耗的存储空间,它是问题规模n的函数,记做S(n)=O(f(n))。逐渐复杂度也常简称为空间复杂度。(空间复杂度就是辅助空间)一维数组 a[n] ...原创 2019-04-10 16:24:51 · 5852 阅读 · 0 评论 -
C语言:给出一个不多于5位的正整数,要求: 1.求出它是几位数; 2.分别输出每一位数字; 3.按逆序输出各位数字。
给出一个不多于5位的正整数,要求:1.求出它是几位数;2.分别输出每一位数字;3.按逆序输出各位数字。1,int GetFigures(int n){ int count= 0; do { n /= 10; count++; }while(n!=0); return count;...原创 2019-04-22 17:25:39 · 9892 阅读 · 0 评论 -
C语言:假设在n进制下,下面的等式成立,n的值是(),567*456=150216.
假设在n进制下,下面的等式成立,n的值是(),567*456=150216.A,9 B,10 C,12 D,18解:设567为1;456为2;第一步;去1的个位和2的个位相乘得到42:在分别对A,B,C,D取余;看对A,B,C,D取余后那个值等于150216中的个位;经过第一步后B被排除在外;第二步;展开567*456=(5n^2+6n+7)*(4n^2+5n+6)=20...原创 2019-04-22 17:26:11 · 804 阅读 · 0 评论 -
C语言:多种方法实现两数交换
交换两个数首先,举一个例子,假设a=10,b=20.第一种方法,借助一个临时变量来进行保存,这是最容易也是最直观的方法。代码如下:#include <stdio.h>int main(){ int a; int b; int temp; a=10; b=20; printf("a=%d,b=%d",a,...原创 2019-04-22 17:26:35 · 700 阅读 · 0 评论 -
C语言:结构体
1.定义和使用结构体变量1.结构体类型的一般形式:struct 结构体名{成员表列};2.在声明类型的同时定义变量struct 结构体名{成员表列}变量名,变量名;3.结构体变量的初始化和引用(1)C99标准中允许对某一成员初始化,如:struct Student.b={.name="zhang fang"};".name"隐含代表结构体...原创 2019-04-22 17:56:54 · 225 阅读 · 0 评论 -
C语言:内存对齐
内存对齐(硬件寄存器设计的要求)*//1.前面所有成员字节数相加是当前成员的字节数的倍数,不是则补齐*//2.整个结构体得大小要能整除最大单个成员的字节数例子:1.2.显然程序1 输出的结果为 8 2 输出的结果为 16 .1.最大的数据成员是4bytes,1+4=5,补齐为4的倍数,也就是8。而2为8bytes,1+8=9,补齐为8的倍数,也就是16。...原创 2019-04-23 22:32:37 · 458 阅读 · 0 评论 -
C语言:文件
1.打开与关闭文件(1)fopen函数打开数据文件fopen(文件名,使用文件方式);例;fopen("a1","r");表示要打开的名字为"a1"的文件,使用文件方式为"读入"(r代表read,即读入)。fopen函数的返回值是指向a1文件的指针(即a1文件信息区的起始地址)。通常fopen函数的返回值赋给一个指向文件的指针变量。如: FELE*fp; ...原创 2019-04-23 23:54:32 · 536 阅读 · 0 评论 -
C与指针:指针
1.字节:每个字节包含8个位,可以储存无符号值0至255,或有符号值-128-127。2.指针变量1.指针的初始化是用&地址符来完成的,它用于产生操作符的内存地址 100 104 108 ...原创 2019-04-27 21:45:30 · 334 阅读 · 0 评论 -
C语言:字符串数组与字符串指针数组
1,首先,不论是局部,静态还是全局数组都必须在定义的时候初始化,否则就得通过其他方式,eg 循环操作,字符串处理函数strcpy()2,附以下代码: 主要完成将”I am from china ”倒置为”china from am I”,最开始编写时,将str定义为字符串数组,怎么都出不来结果。半天才发现应该用字符串指针数组3,那么问题来了,字符串数组和字符串指针数组有什么区别...原创 2019-04-27 21:46:19 · 41427 阅读 · 11 评论 -
C语言:二维数组变一维数组
二维数组就是一维数组 直接循环例如 a[3][4] 可以直接用*p指向 然后 p++ 只要不超过3x4就行#include<stdio.h>#defineN3#defineM4intmain(){inta[N][M]={{1,2,3,4},{5,6,7,8},{9,10,11,12}},i,j,*p;p=(int*)a;//将二维...原创 2019-06-02 15:41:27 · 13517 阅读 · 0 评论 -
C语言:求X的Y次方
double MyPow(int x,int y){unsigned int z = (y>=0 ? y : -y);for(int tmp = 1; ;x *= x)//x=5{if((z&1) != 0){tmp *= x;}if((z>>=1) == 0){return y>=0 ? tmp : 1.0/tmp...原创 2019-06-02 20:34:27 · 9199 阅读 · 0 评论 -
C语言:数组
# 一维数组的创建和初始化数组的创建:在创建数组时,我们必须定义数组的类型和大小,数组的大小不能为0,数组中的元素类型都是相同的。在内存中的储存char a1[]={'a','b','c'}----------'a','b','c'char a2[3]=''abc''-----------'a','b','c','\0'char *p=''abc''-------------*p='...原创 2019-08-18 21:51:55 · 245 阅读 · 0 评论