printf(“先使用,k的值为:%d\n”,k++); //先使用,后自加,故k的值使用时为9。而后自加,为10
printf(“后自加,k的值为:%d”,k); //这时,k的值为10
}
注释中已经有所说明:
#include <stdio.h>
int main()
{
int m;
m=(int)((double)9/2)-9%2; //9%2 即9对2取余,结果为1。而后,4.5-1=3.5。因为为int型,所以结果=3。
printf(“m=%d\n”,m); //m=3
printf(“------------------------------\n”);
printf(“原因:\n”);
printf(“(double)9/2=%lf\n\n”,(double)9/2);
printf(“(int)(double)9/2=%d\n\n”,(int)(double)9/2);
}
输出:
#include <stdio.h>
int main()
{
int i=2,j=3,k=4,a=4,b=5,c=3;
int m;
m=(a=i<j)&&(b=j>k)&&(c=i,j,k);//i<j为真,故a=1。j>k为假,故b=0。由于1&&0已经为假,故第三个括号不执行,c仍为原值3.
printf(“m=%d\n”,m);
printf(“a=%d\n”,a);
printf(“b=%d\n”,b);
printf(“c=%d\n\n”,c);
//上面的逗号表达式本来应当取最后一个值k,即4
printf(“本来,c=%d\n”,(c=i,j,k));
}
输出:
原因在注释中已经说明啦!
#include <stdio.h>
int main()
{
int a=1,b=2,m=0,n=0,k;
k=( n=b>a || (m=a<b)); //b>a为真,故n=1。又因为 || 运算符即’或’,一真则真,故k=1。后面的括号不再执行,m取值不变,仍为0
printf(“%d,%d\n\n”,k,m);
printf(“m=a<b,即m=%d\n”,m=a<b);
}
输出:
#include <stdio.h>
int main()
{
int m=12,n=34;
printf(“%d%d”,m++,++n); //1235 m先使用,即12。n先自加,故35。
printf(“%d%d\n”,n++,++m);//3514 n先使用 故35。m在上一步中,使用之后自加,为13,此时先自加,故14
//故最后输出 12353514
}
输出:
专业技能
一般来说,面试官会根据你的简历内容去提问,但是技术基础还有需要自己去准备分类,形成自己的知识体系的。简单列一下我自己遇到的一些题
- HTML+CSS
- JavaScript
- 前端框架
- 前端性能优化
- 前端监控
- 模块化+项目构建
- 代码管理
- 信息安全
- 网络协议
- 浏览器
- 算法与数据结构
- 团队管理
- 开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】
最近得空把之前遇到的面试题做了一个整理,包括我本人自己去面试遇到的,还有其他人员去面试遇到的,还有网上刷到的,我都统一的整理了一下,希望对大家有用。
其中包含HTML、CSS、JavaScript、服务端与网络、Vue、浏览器等等
由于文章篇幅有限,仅展示部分内容