网站封装成app可以做热更新,织梦cms网站更新,网络流量分析工具,网站开发语言php5.1第一题 1.在C语言中#xff0c;表示一次性地给数组a的10元素赋值#xff08;#xff09; int a[10];scanf#xff08;%d#xff0c;a#xff09;; A#xff1a;正确 B#xff1a;错误 答案及解析 B 我们知道单独的数组名就是首元素地址#xff0c;但是也有…第一题 1.在C语言中表示一次性地给数组a的10元素赋值 int a[10];scanf%da; A正确 B错误 答案及解析 B 我们知道单独的数组名就是首元素地址但是也有两种情况数组名表示的是整个数组的大小 1. sizeof(数组名)数组名表示整个数组的地址计算的是整个数组的所占字节大小 2. 数组名取的就是整个数组的地址但是打印出来也是数组首元素地址 所以本题arr就是表示的首元素地址赋值也只能给首元素赋值 但是如果是下面这样的代码呢 #include stdio.h
int main()
{int arr[10] {0};scanf(%d,arr);for(int i 0; i 10; i)
{
printf(%d , arr[i]);
}
printf(\n);return 0;
} 这是C表示的方法我们这里scanf后面是arr是取这个整个数组的地址那这样我们就可以给整个数组赋值了吗答案是不可能的正如我们上面说的arr表示 出来也是首元素地址所以这样的情况依旧是给首元素赋值 综上所述要想给数组元素赋值就老老实实初始化吧或者弄个循环。 第二题 2. 下面两个结构体在默认对齐数为 #pragma pack(4)和#pragma pack(8)的情况下结构体的大小分别是 struct One
{double d;char c;int i;
}
struct Two
{char c;double d;int i;
} A16 24,16 24 B16 20,16 20 C16 16,16 24 D16 16,24 24 答案及解析 C 这个题重要的一点是要知道在设置默认对齐数的时候 对齐数 默认对齐数和每个变量的自身字节大小的较小值 关于内存对齐的博客C/C内存对齐规则结构体、联合体、类-CSDN博客 所以本题当默认对齐数为4的时候double的对齐数就是4了注意的是要占的字节是自身大小很多人把对齐数和占的空间大小混淆。记住占的空间大小就是本身字节大小而对齐数只是对于偏移的地址来说的 第三题 3. ()是构成C语言的基本单位 A函数 B过程 C子程序 D子例程 答案及解析 A 函数是构成C语言的基本单位因为我们的C语言程序都是函数组成的最核心的main函数之后都是别的函数 第四题 4. 有以下程序程序运行后的输出结果是 #include stdio.h
int main()
{ int m12,n34;printf(%d%d, m, n);printf(%d%d\n, n, m);return 0;
} A12353514 B12353513 C12343514 D12343513 答案及解析 A 前置返回的是之后的值后置返回的是之前的值然后m的值加一 这个在Cprimer中曾介绍后置的底层是实现的一个函数函数中是用一个临时变量拷贝了这个值然后原来的返回拷贝而前置就是直接对这个值1再返回这个值 第五题 5. 以下程序的输出结果是 #include stdio.h
int main()
{ char x040;printf(%o\n, x 1);
} A100 B80 C64 D32 答案及解析 A 本题考查的是你认不认识八进制数字以0开头的为八进制数字以%o的形式打印的也是八进制所以本题主要考查对八进制进行移位操作和是否会发生类型的截断因为char类型只有一个字节八个比特位 所以先把040 --十进制 -- 二进制数字 八进制十进制二进制0 4 0321 0 0 0 0 064 8 132 16 8 4 2 1 所以在这里是没有发生截断的因为100000只需要6个比特位而char为8个比特位 所以正常发生左移一位右边补01000000 换成十进制为64 转换为八进制就为100