C基础

作者: Serenity那年 | 来源:发表于2018-10-28 21:29 被阅读15次
一、变量的内存寻址

内存寻址从大到小,如果按照这种规则,那么先定义的变量内存地址一定大于后定义的变量;

int call(){
    int numbler ;
    int value ;
    //内存寻址:从大到小,如果按照这种规则,那么先定义的变量内存地址一定大于后定义的变量
    //内存地址是16进制的:
    //  a  b  c  d  e  f
    // 10  11 12 13 14 15
    //0x7fff5fbff74c  c代表12
    //0x7fff5fbff748  c大于8
    printf("%p\n",&numbler);
    printf("%p\n",&value);
    return 0 ;
}
二、指定输出位宽

如何指定位宽? %mi 其中m就是位宽(也就是占用几列),而i输出对应类型的数据;

1.默认情况下位宽是右对齐,如果需要输出的类型宽度不够,会在左边补空格;
2.如果在位宽前面加个-号,就会改变位宽的对齐方式为左对齐,如果需要输出的类型宽度不够,会在右边补空格;
3.如果指定了位宽,但是实际输入的内容超出了宽度,会按照实际的宽度来输出;
4.如果在位宽的前面加上0,如:%02i 代表如果输入的不够2位,就用0来补齐,如果宽度已经够了,那么会按实际的宽度来输出;

int main(int argc, const char * argv[]) {
    // insert code here...
    int number;
    printf("%5i\n",number);
   //输出位:    0   注意:0前面有四个空格
    return 0;
}
二、保留小数

%f 默认会保留6位小数;
指定保留多少位小数:%.nf,其中n就是需要保留多少位小数,f用于输出实型;

c语言基本数据类型printf()对应格式:

%d 十进制有符号整数  sign
%u 十进制无符号整数  unsigned
%f 浮点数 
%s 字符串 
%c 单个字符 
%p 指针的值 
%e 指数形式的浮点数 
%x, %X 无符号以十六进制表示的整数 
%0 无符号以八进制表示的整数 
%g 自动选择合适的表示法 
char c, s[20], *p; 
int a=1234, *i; 
float f=3.141592653589; 
double x=0.12345678987654321; 
p="How do you do"; 
strcpy(s, "Hello, Comrade"); 
*i=12; 
c='\x41'; 
printf("a=%d\n", a); /*结果输出十进制整数a=1234*/ 
printf("a=%6d\n", a); /*结果输出6位十进制数a= 1234*/ 
printf("a=%06d\n", a); /*结果输出6位十进制数a=001234*/ 
printf("a=%2d\n", a); /*a超过2位, 按实际值输出a=1234*/ 
printf("*i=%4d\n", *i); /*输出4位十进制整数*i= 12*/ 
printf("*i=%-4d\n", *i); /*输出左对齐4位十进制整数*i=12*/ 
printf("i=%p\n", i); /*输出地址i=06E4*/ 
printf("f=%f\n", f); /*输出浮点数f=3.141593*/ 
printf("f=6.4f\n", f); /*输出6位其中小数点后4位的浮点数 
f=3.1416*/ 
printf("x=%lf\n", x); /*输出长浮点数x=0.123457*/ 
printf("x=%18.16lf\n", x);/*输出18位其中小数点后16位的长浮点 
数x=0.1234567898765432*/ 
printf("c=%c\n", c); /*输出字符c=A*/ 
printf("c=%x\n", c); /*输出字符的ASCII码值c=41*/ 
printf("s[]=%s\n", s); /*输出数组字符串s[]=Hello, Comrade*/ 
printf("s[]=%6.9s\n", s);/*输出最多9个字符的字符串s[]=Hello, 
Co*/ 
printf("s=%p\n", s); /*输出数组字符串首字符地址s=FFBE*/ 
printf("*p=%s\n", p); /* 输出指针字符串p=How do you do*/ 
printf("p=%p\n", p); /*输出指针的值p=0194*/ 

相关文章

网友评论

      本文标题:C基础

      本文链接:https://www.haomeiwen.com/subject/hrntixtx.html