C语言基础知识

printf函数向终极输出若干独随机档次的数据。

表示输出类型的格式字符     格式字符意义

a                    浮点数、十六进制数字和p-计数法(C99)

A                    浮点数、十六进制数字与p-计数法(C99)

c       输出单个字符
d      以十进制情势出口带符号整数(正数不出口符号)

e      以指数形式输出单、双精度实数

E      以指数格局输出单、双精度实数

f       以小数形式输出单、双精度实数

g     以%f%e中相比较短的出口宽度输出单、双精度实数,%e格式在指数低于-4要高于等于精度时采取
G     以%f%e中较短的输出宽度输出单、双精度实数,%e格式在指数小于-4要领先等于精度时用
i                    有标志十进制整数(与%d相同)
o      以八进制情势出口无符号整数(不出口前缀O)

p                   指针

s      输出字符串
x      以十六进制情势出口无符号整数(不出口前缀OX)

X     以十六进制格局出口无符号整数(不出口前缀OX)
u      以十进制形式出口无符号整数

  printf(“%d/n” , i);输出整型变量i;

 

memcpy函数

原型:extern void *memcpy(void *dest, void *src, unsigned int count);

用法:#include <string.h>

 效率:由src所据内存区域复制count个字节到dest所倚重内存区域。

声明:src和dest所依内存区域不可知重叠,函数再次来到指向dest的指针。

参数表达:dest为目标字符串,src为源字符串,count为而拷贝的字节数。

函数效率:将字符串src中往日count个字节拷贝到dest中。

#include <stdio.h>
#include <string.h>
int main()
{
    double s[3];
    double d[3];

    s[0]=1.25434;
    s[1]=32.43243;
    s[2]=-11.23432;

  memcpy(&d[0],s,24);

  printf("%f\r\n",d[0]);
   printf("%f\r\n",d[1]);
   printf("%f",d[2]);
  getchar();
  return 0;
}

结果:d[0]=1.254340,d[1]=32.432430,d[2]=-11.234320

double类型变量为对精度变量,占8只字节,即64位。默认%f输出时精确到晚6号。

float类型变量为单纯精度变量,占4只字节,即32各。

代码中double类型数组s[3]中有3个double型常量,总共占24个字节,memcpy(&d[0],s,24);即将数组s内容从0地址初始拷贝到数组d中。