说明:
本试题一共分为10道题,考核点全部以C语言为主,难度有层次划分,希望你尽最大努力完成,我 们不需要你每道题都能得到正确答案,但希望你能有良好的学习态度。我们期待在面试那天与你相 遇! (本测试题目省略#include…,编程题只用写出核心代码,你也可以在面试时带上U盘或者电脑直接展 示你的结果!)
题目:
1. 下列选项正确的是( )
#include<stdio.h> #include<stdlib.h> int main(void){ int i=3; int k=4; k += (k++) - (--i); printf("%d",k); return 0; }
a)6 b)7 c)8 d)9
2.下列选项正确的是( )
#include <stdio.h> int main() { int a = 2, b = 3; printf("%d\n", a <<= a < b ? a + b : a - b ); return 0; }
A)-32 b) 64 c)2*(2-5) d)1*(2-5)
3.请分析下列代码的运行结果,并解释其原因。
int main(int argc, char const* argv[]) { int a = 0, b = 5; ++a || ++b, a - b; b = b--; printf("%d %d\n", a, b); return 0; }
4.请分析下列代码的运行结果,并解释其原因。
int main() { int a = 0; int b = 0 == a; int c = -1; if (a = 1) { c = a && b; } printf("%d%d%d", a, b, c); return 0; }
5. 分析下列代码,请计算 x,y,z的占内存的大小
int main(){ struct x{ int a; char b; double c; }; struct y{ float b; int a; double c; }; struct z{ int a; double c; char b; }; }
6.已知 int a[3] [4],请不用中括号使用数组索引值打印出a[1] [2]
print("%d",___);
7.请分析以下代码的运行结果,并解释其原因。
int main() { int n; printf("%d", scanf("%d", &n)); return 0; }
8.你知道哪些排序算法?你知道它们是怎样实现的吗?(大致思路)
9.字符串翻转
设计一个程序实现字符串翻转,即将abcdefg反转成gfedcba,已经为你写好了部分代码,请在规定的区域添加代码来实现程序。 不允许在规定地方之外写代码,不允许删除写过的代码。 代码本来就定义了一个字符串和一个字符变量和一个整型数,不允许声明新的任何类型的变量。
int main() { char s[32]; scanf("%s", s); int n = strlen(s); int i; char ch; /* 规定区域开始 */ /* 规定区域结束 */ printf("%s", s); return 0; }
10. 单链表逆置,要求在原有空间进行逆置。