![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
jianshuilan_0613
雁过留声,人过留痕
展开
-
C语言之关键字static、const、extern
1、static:声明静态变量声明局部变量,静态局部变量的特点:(1)声明时未赋初值,编译器会自动赋值为0,而普通变量则是不确定的;(2)静态变量在全局数据区分配内存,即使函数返回,静态变量的数值也是保持不变。#include<stdio.h>int c =9;int d;void static_test(void){ static int a = 0;//静态变量,如果不赋初值,编译器会初始化它为0 int b = 0;//普通变量 a++; b++; printf(原创 2021-05-05 01:10:32 · 370 阅读 · 0 评论 -
C语言之字符串转int和int转字符串
字符串与int整型中间的转换举个简单的例子:字符’a’转换成int整型是多少,ASCII码是97,而’0’(字符零)对应数值0,这样字符’a’ - '0’得到的结果就是字符a对应的int整型。由此int 97转换成字符,则是97 + '0’的结果。1、字符串转int#include<stdio.h>int string2int(char b[],int len){ int i; int c = 0;//string2int reslut int c1; for(i=0;i原创 2021-05-04 22:48:29 · 11152 阅读 · 0 评论 -
C语言之判断大端、小端
1、判断大端、小端存储需要了解:什么是大端小端?大端存储:就是把一个数的低位字节序的内容存放到高地址处,高位字节序的内容存放在低地址处。数值0x12345678的存储小端存储:就是把一个数的低位字节序的内容存放到低地址处,高位字节序的内容存放在高地址处。数值0x12345678的存储如果是单个字符的存储,如果是大端存储单字符就存储在高地址,而小端存储单字符就存储在低地址。由上内容再结合联合体union的一些特点:(1)所有成员占用同一段内存,且占用内存的大小是占内存最大成员的大小的特点;(2原创 2021-05-04 21:53:52 · 854 阅读 · 0 评论 -
C语言之求int型数值二进制中1的个数
int型数值占内存4个字节,就是4 * 8 = 32个字符。如果二进制每一位上都判断是否为1的话,最多需要32次来判断。还有两个比较重要的符号需要了解:(1)& 位运算符是把两个不同操作数内相同位置的位关联起来的AND(和),相同位置的值都是1则运算结果该位还是1,一旦有一个是0或两个都是0,则位运算的结果该位都是0。(2)>> << 移位运算符移位运算符将左操作数的二进制向左/右移动数个位置,至于移动几个位置,由右操作数指定。移位数值与移动位数都要求是整数。原创 2021-05-04 20:32:50 · 1176 阅读 · 0 评论 -
C语言之数组反转
数组反转是数组常见操作。大概来写一写数组反转添加上自己的理解注释。#include <stdio.h>#define N 6int main(){ int a[N] = {0,1,2,3,4,5}; int i; int t; int j; //反转算法 for(i=0;i<N/2;i++) { t = a[i]; a[i] = a[N-1-i]; a[N-1-i] = t;//遍历输出,每对换一对数值就打印一次数组原创 2021-05-04 18:50:45 · 11214 阅读 · 0 评论 -
C语言之循环语句while、do while、for实例
C语言中三个最重要的循环语句是while、do while、for。循环语句是在满足一定条件下反复执行某些操作的语句,即处理重复操作问题。1、while语句(1)while语句格式:while(条件){ 循环体语句;}(2)while 执行过程:(3)实例:用while语句实现输出 1 - n 之间的所有整型数字(包括n)#include <stdio.h>int main(){ //要求:while循环输出1-n之间的整型数值(包括n) int i =原创 2021-05-01 16:23:51 · 2018 阅读 · 0 评论 -
C语言之字符串的输入输出
C语言中没有字符串变量即没有string类型,但字符串可以采用字符数组来表示。字符数组就是一系列字符的集合,当字符数组中有‘\0’时才是字符串,没有则是字符集合。1、字符串的赋值形式//有数组长度时char a[3] = {'h','e','l'};//全部赋值则是字符集合,不是字符串char a[3] = {'h','e'};//不完全赋值,后面未赋值元素为'\0',是字符串//没有数组长度char a[]={'h','e','l','l','o',' ','w','o','r','l','原创 2021-04-30 23:44:19 · 725 阅读 · 1 评论 -
C语言之数组冒泡排序
冒泡排序是一种简单、常见的排序方式。#include <stdio.h>int main(){ int a[]={90,8,60,75,25,0,100,50,30,95}; int n = sizeof(a)/sizeof(a[0]);//数组长度 int i=0;//比较的轮数,一轮冒出一个数值,直至剩下一个数值不需要比较,即i最大 = n-1; int j=0;//每轮比较的次数,每一轮的两两比较次数都随着轮数变大而变原创 2021-04-30 14:59:45 · 567 阅读 · 0 评论 -
C语言之二维数组定义、初始化、赋值、求最大最小、求和
数组可以用来存储多个相同类型的数据,并占用多个连续的内存空间来存储数据。二维数组是有两个下标的数组。1、二维数组定义语法:类型名 数组名[行数][列数];#includ <stdio.h>#define X 5#define Y 6int main(){ int a[3][3]; int b[1+4][2+1]; int c = 2; int d = 3; int e[c][d];//不能是变量,会报错 int f[X][Y];//原创 2021-04-28 20:58:54 · 10878 阅读 · 0 评论 -
C语言之一维数组定义、初始化、赋值、求最大最小、求和
数组可以用来存储多个相同类型的数据,并占用多个连续的内存空间来存储数据。一维数组是只有一个下标的数组。1、一维数组定义语法:类型名 数组名[数组元素个数/数组长度];#includ <stdio.h># define length 5int main(){ int a[5];//相当于定义了5个int类型的变量 int b[1+4];//不报错 int c = 5; int d[c];//数组长度不能是变量,会报错 int e[length]原创 2021-04-28 17:30:39 · 6728 阅读 · 0 评论 -
gcc编译出错collect2: error: ld returned 1 exit status的解决办法
linux上编写C代码之后编译之后再执行,再编译过程中出现以下错误:解决办法:新建一个文件将之前编译出错的文件内容copy过来,再对paste之后的新建文件进行编译执行即可。原创 2021-04-27 17:08:37 · 12955 阅读 · 1 评论 -
C语言数据类型之联合体Union
1、联合体Union和结构体Struct的比较:联合体Union和结构体Struct均属于特殊的数据类型,都允许成员是不同类型的值。两者的区别在于结构体的各个成员会占用不同的内存,互相之间没有影响;而联合体的所有成员占用同一段内存,修改一个成员会影响其余所有成员。结构体占用的内存大于等于所有成员占用的内存的总和(成员之间可能会存在缝隙),联合体占用的内存等于最长的成员占用的内存。2、联合体Union语法:union tag //tag 即联合体名称{int member1;//联合体成员,成员之间原创 2021-04-27 16:16:10 · 1162 阅读 · 2 评论 -
C语言数据类型之结构体struct
结构体struct一种用户可以自定义的数据类型,它允许存储不同类型的数据项,存储的数据项被称为struct成员。1、结构体的语法:struct tag //struct tag,更清晰规范一般会写上{char member1;//struct members,可以为空int membe2;char member3;}[structure variables,一个或多个结构体变量,多个变量由逗号隔开];一般结构体中struct tag、struct member、structure vari原创 2021-04-27 00:48:36 · 2175 阅读 · 1 评论 -
C语言数据类型之基本数据类型
聊聊C语言的基本数据类型。1.int(4个字节)2.float(4个字节)3.short (2个字节)4.long(8个字节)5.char(1个字节)6.double(8个字节)一、为查看以上类型的大小,我们新建一个文件basic_data_type.c,通过vim进行编辑:#include <stdio.h>int main(){int a = 10;printf("int a = %d\n",a);printf("size = %x\n",sizeof(a));原创 2021-04-26 18:36:57 · 116 阅读 · 0 评论 -
C语言实现输出 Hello World!
是在Linux系统中实现的输出。作为初学者同时使用了linux图形界面。一、打开linux终端terminal,新建一个文件 touch helloworld.c。如果想让新建文件显示在桌面上,可以在新建前切换目录 cd Desktop。二、vim helloworld.c 打开helloworld.c文件,i 键(英文小写字母)进入编辑模式,输入代码:#include <stdio.h>int main(){ printf("Hello World!\n");}三、输原创 2021-04-26 16:52:29 · 22612 阅读 · 0 评论