C语言——查漏补缺

1,区余运算符两边都应该是整形,比如:7.5%2是没有意义的。

2,a + b,假设a和b都是float类型,则运算时,系统会自动把a和b都扩充成8个字节的double性进行运算,产生结果后邮把结果转换回float型。

3,

  1 #include<stdio.h>
  2 int main()
  3 {
  4     int i=3;
  5     printf("%d,%d,%d\n",i,i++,i++);
  6     return 0;
  7 }

输出结果:5,4,3

因为printf中i,i++,i++的求值比较特殊,他是从右往左求值的。

4,赋值运算符

字符型数据付给整型数据,由于字符型为1个字节,而整型为4个字节故将字符的ASCII码值放在整型量的最低的8位中,高位的3个字节为0.

整型赋给字符型,只把低8位赋给字符变量。

5,逗号运算符和逗号表达式

求值过程为从左到右分别求出这n个表达式的值,逗号表达式的运算优先级是最低的,赋值运算符的优先及高于它,请判断下面的结果:

int a=5;
a = (a=3*5, a*4),a+5;
结果:60。

int a=5;
a = ((a=3*5,a*4),a+5);
结果:20

6,格式化输出

e:以科学表示法输出浮点数。

g:输出%f与%e中占用位数较短的一个。

  1 #include<stdio.h>
  2 int main()
  3 {
  4     char c='a';
  5     int i = 1234;
  6     float f = 12.123456;
  7     double d = 12.5;
  8 
  9     printf("%d %o %x\n",i,i,i);
 10     printf("%c %d\n",c,c);
 11     printf("%s\n","hello world");
 12     printf("%f %e %g\n",f,f,f);
 13 
 14 
 15     printf("=========================\n");
 16     printf("%5c%5d%10.5f%10.5f\n",c,i,f,d);
 17     printf("=========================\n");
 18     printf("%-5c%-5d%-10.5f%-10.5f\n",c,i,f,d);
 19 }
~                                                     

结果:
1234 2322 4d2
a 97
hello world
12.123456 1.212346e+01 12.1235
=========================
    a 1234  12.12346  12.50000
=========================
a    1234 12.12346  12.50000  



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值