//所以 a=1.5+2=3.500000,取整,所以a=3
printf(“a=%d\n\n”,a); //a=3
printf(“----------------\n\n”);
printf("测试_1:(int)1.992 = %d\n\n",(int)1.992); //2
printf("测试_1:(int)(1.992) = %d\n\n",(int)(1.992)); //3
//由测试结果可知,(int)1.992 确实应该是先对1.99取整为1,再 12=2
}
输出:
注释说的很清楚啦!
//求以下表达式的值 a=4
#include <stdio.h>
int main()
{
int a;
a=(int)((double)(5/2) + 2.5);
//首先, (double)(5/2)=2.000000。因为5/2=2,又double,所以为2.000000
//其次,2+2.5=4.5。取整,故a=4
printf(“a=%d\n”,a); // a=4
}
输出:
//运行以下程序的输出结果是
#include <stdio.h>
int main()
{
int i=8,j=9,m,n;
m=++i; //m=9 i=9
n=j++; //n=9 j=10
printf(“i=%d,j=%d,m=%d,n=%d\n”,i,j,m,n);
//故 i=9,j=10,m=9,n=9
}
输出:
//易错题
//运行以下程序的输出结果为: i=1,j=2,k=0
#include <stdio.h>
int main()
{
int k,i=0,j=2;
k=i++ && j++ ;
//错误思路×××: 0 && 2,结果为假 取0,故k=0。之后,i和j再分别自加,故 i=1,j=3
//以上错误的原因是,把最终结果当成了 “k=多少?”
//正解√:&&作为分隔符,先算左边的,即先是k=i++,此时k=0,i=1,&&左边取值为0
//由于 && 运算符,一假则假,故 (k=i++ && j++)取值即为0,
//即 && 右边不执行,所以j仍然为原值,即j=2
printf(“答案:i=%d,j=%d,k=%d\n\n”,i,j,k);
printf(“------------------------------\n\n”);
//为便于测试,故重新定义变量q相当于k,同时i和j赋回原来的值。
int q; i=0,j=2;
printf(“测试:\n\n”);
printf(“(q=i++) && (j++) = %d\n\n”,(q=i++) && (j++)); //0
printf(“------------------------------\n\n”);
printf(“继续测试:\n\n”);
int m; i=0,j=2;
printf(“m=i++取值为:%d\n”,m=i++); //0
printf(“j++取值为:%d\n\n”,j++); //2
printf(“------------------------------\n\n”);
printf(“再次测试:\n\n”);
int p; i=0;j=2;
printf(“p=i++ && j++ = %d\n”,p=i++ && j++); //0
}
最后
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!**
如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!