做试管网站,软件开发是什么职业,四川网站建设外包,大气简约企业网站模板免费下载第一题 1. 已知int i1, j2;#xff0c;则表达式ij的值为#xff08; #xff09; A#xff1a;1 B#xff1a;2 C#xff1a;3 D#xff1a;4 答案及解析 C 本题考查的是前置和后置的优先级#xff0c;后置的优先级是高于前置的#xff0c;所以这个表达式就可以转变为…第一题 1. 已知int i1, j2;则表达式ij的值为 A1 B2 C3 D4 答案及解析 C 本题考查的是前置和后置的优先级后置的优先级是高于前置的所以这个表达式就可以转变为(i) j 而后置的返回值是之前的值所以结果就为3 第二题 2. 假定有定义为“ int a[10], x, *paa; ”若要把数组 a 中下标为 3 的元素值赋给 x 则不正确的赋值为 Axpa[3] Bx*(a3) Cxa[3] Dx*pa3 答案及解析 D Apa是指向的a数组的首元素地址所以pa就相当于数组名pa[3]正确 B*(a3)就是让a指针向后移动3个元素到下标为3的位置再解引用正确 C正确 D*的优先级高先解引用pa取到的是首元素的值3就是首元素的值➕3错误 第三题 3. 若已定义的函数有返回值则以下关于该函数调用的叙述中错误的是 A函数调用可以作为独立的语句存在 B函数调用可以作为一个函数的实参 C函数调用可以出现在表达式中 D函数调用可以作为一个函数的形参 答案及解析 D A函数的调用可以是独立的语句比如我们实现的函数不需要返回值只是完成一些特定的操作如打印交换输入等等 B函数调用可以作为实参但是必须有返回值的函数 C函数调用可以出现在表达式也必须有返回值 D返回值存在寄存器中没有地址不能作为形参但可以作为实参 第四题
4. 在32位的系统中下面代码打印结果为
union package
{char head;int body;
};
struct message
{char id;int crc;union package pack;
};int main()
{printf(size%d\n,sizeof(struct message));return 0;
} A9 B10 C11 D12 答案及解析 D 做错的直接来看我的这个博客C/C内存对齐规则结构体、联合体、类-CSDN博客 第五题 5. 32位机器上以下代码的输出是 char c -1;
int i0 c;
int i1 (unsigned char)c;
printf(%d, %d\n, i0, i1); A255,255 B-1,-1 C-1,255 D255,-1 答案及解析 C 这里考察的是char的取值范围是-127128 而unsigned char是0255 所以i0 c会有整型提升也就是原来8个bit位的char类型会提升位int类型32的bit高位补符号位 11111111 111111111 11111111 11111111 而我们强制类型转换c位unsigned char 也就是不允许负数的存在了所以-1的符号位也就是数值位了。11111111就是255 i1 (unsigned char)c对于无符号的整型提升高位补0 00000000 00000000 00000000 11111111 依旧是255