C语言

C语言 选择排序算法原理和实现 从数组中 找出最小的元素然后交换位置

#include<stdio.h>intmain(void){/*选择排序算法原理:从数组中找出最小的元素然后交换位置;*/inta[10]={9,5,10,7,2,3,1,6,8,4};inti=0,j=0;intn=sizeof(a)/4;//外循环n-1轮for(i=0;i<n-1;i++){i...

C语言十六进制转换成十进制:要从右到左用二进制的每个数去乘以16的相应次方

#include<stdio.h>/*十六进制转换成十进制:要从右到左用二进制的每个数去乘以16的相应次方;在16进制中:a(A)=10b(B)=11c(C)=12d(D)=13e(E)=14f(F)=15例如:CE=12*16^1+14*16^0=192+14=206*///右旋转把第一位放到最后0x23...

C语言函数的定义和使用(2)

一:无参函数类型说明符 get(){  //函数体}二:无参函数类型说明符getname(inta,intb){  //函数体}三:类型说明符包括:int,char,float,double,void,static四、函数的调用 直接使用函数名调用;实参(常量,变量,表达式,其他函数)functio...
代码星球·2021-02-02

C语言for 循环 9*9 实现九九乘法表

#include<stdio.h>intmain(void){//for循环实现9*9乘法表/*1*1=11*2=22*2=41*3=32*3=63*3=9*/inttemp,i,j;for(i=1;i<10;i++){for(j=1;j<=i;j++){temp=j*i;//if(temp&l...

C语言实现的简单银行存取款程序 请输入如下数字命令

#include<stdio.h>intmain(void){//提供变量cmdbalance(余额)deposit(存款)withdraw(取款)//利用while做死循环intcmd;floatbalance=0.0f,deposit,withdraw;printf("------【陈大纯简单的银行存取...

C语言实现金字塔

#include<stdio.h>intmain(void){inti=0,j=0,k=0,line;printf("请输入金字塔的总行数:");scanf("%d",&line);//外层控制总行数while(i<line){//控制输出空格j=line;while(j>i){prin...
代码星球·2021-02-02

c语言冒泡排序算法

案例一:#include<stdio.h>intmain(void){inta[5];printf("pleaseinputsortnumber:");intk;for(k=0;k<5;k++){scanf("%d",&a[k]);//int类型要加&符号取地址}//开始排序intn=...
代码星球·2021-02-02

C语言中断言ASSERT

我一直以为assert仅仅是个报错函数,事实上,它居然是个宏,并且作用并非“报错”。  在经过对其进行一定了解之后,对其作用及用法有了一定的了解,assert()的用法像是一种“契约式编程”,在我的理解中,其表达的意思就是,程序在我的假设条件下,能够正常良好的运作,其实就相当于一个if语句:if(假设成立){程序正常运...
代码星球·2021-01-24

c语言中通过指针将数值赋值到制定内存地址

1.一种直观的方法假设现在需要往内存0x12ff7c地址上存入一个整型数0x100。我们怎么才能做到呢?我们知道可以通过一个指针向其指向的内存地址写入数据,那么这里的内存地址0x12ff7c其本质不就是一个指针嘛。所以我们可以用下面的方法:int*p=(int*)0x12ff7c;*p=0x100;需要注意的是将地址0...

C语言 void 万能类型

C中void类型其实是一种万能类型,也就是说我们的void可以代表任意一种类型,也就是说他的范围要比具体的一种类型要宽广,例如:int*p=NULL;void*ptr=p;//这是可以的,因为void*类型包含了int*类型,但是你要在使用ptr之前必须要强制转化为确定的类型那反过来又怎么理解呢?void*ptr=NU...
代码星球·2021-01-24

C语言实现银行家算法

  #include<stdio.h>#include<stdlib.h>#include<string.h>#include<stdbool.h>//bool类型intN=0;//进程数目intM=0;//资源数目int*Available;//可利...

C语言出现 "initializer element is not constant" 错误的原因

当在全局变量定义一个指针变量,并动态分配内存后,发现竟然编译不过去,并提示""initializerelementisnotconstant"":char*buf=malloc(1024);intmain(){return0;}; 后来知道了,不能将全局变量初始化为一个无法在编译时期确定的值。再想想暑假学习的...

Linux/UNIX编程:使用C语言实现ls命令

刚好把Linux/UNIX编程中的文件和IO部分学完了,就想编写个ls命令练习一下,本以为很简单,调用个stat就完事了,没想到前前后后弄了七八个小时,90%的时间都用在格式化(像ls-l中的对齐)输出了,反反复复改了好几遍。一共实现了常用的四个选项:-a-h-l-d。可以从命令行参数中同时接受多个目录和文件,然后分开...

C语言宏的神奇写法:语句块作为参数,算半个函数式编程?

我想要写几个循环做测试代码,每次都写`for(size_ti=0;i<n;i++)`很烦人,然后就灵机一动,能不能用宏实现,然后就写出了:#definerepeat(n,statements)for(size_ti=0;i<n;i++){statements}然后竟然真的可以执行指定的语句(块),像发现了新...

沃尔夫勒姆自动机时空图输出 C语言实现

1#include<stdio.h>2#include<stdlib.h>3#include<time.h>4#include<conio.h>567//行宽度8#defineROW_LEN3891011//比特位域结构12typedefstructbitsbits;13...