建设企业网站对公,g3云推广官网,网络会议系统解决方案,做演讲和做演讲视频网站第一题 3. 假定有语句“ int b[10], *pb; ”#xff0c;则不正确的赋值为 #xff08; #xff09; A#xff1a;pbb B#xff1a;pbb[5] C#xff1a;pbb2 D#xff1a;pbb[0] 答案及解析 B 本题考查的是指针类型对数组的引用#xff1b; A#xff1a;b是数组名…第一题 3. 假定有语句“ int b[10], *pb; ”则不正确的赋值为 Apbb Bpbb[5] Cpbb2 Dpbb[0] 答案及解析 B 本题考查的是指针类型对数组的引用 Ab是数组名是首元素地址数据类型是int *数据类型匹配赋值正确 Bb[5]是数组的一个元素数据类型是int数据类型不匹配赋值错误 Cb是数组名首元素的地址b 2就是往后移动2个int类型的大小也就是8字节到达的是第三个元素的地址相当于b[3]所以数据类型是int*正确 Db[0]数据类型是int*数据类型匹配正确 第二题 2. 运行时的C程序下列哪些变量在内存中的stack栈区域的有 int a 0;
char *p1;
int main()
{int b;char s[] abc;char *p2;char *p3 123456;static int c 0p1 (char *)malloc(10);free(p1);return 0;
} Aa Bb Cc Ds Ep1 Fp2 答案及解析 BDF stack是栈空间的意思我们学习数据结构就知道了而这里考察的是内存中栈中存放的是哪些数据栈中存放的是局部变量的空间 a 和p1 这是一个全局变量存放在静态区 bsp2p3这些都是局部定义的变量存放的就是栈区 static的变量是静态变量存在静态区 由malloc开辟的空间存放的是堆区 第三题 3. 以下程序的运行结果是 #include stdio.h
int main()
{ int m 12,n 34; printf(%d %d , m, n); printf(%d %d\n, n, m);
} A:12 35 35 14 B:12 35 35 13 C:12 34 35 14 D:12 34 35 13 答案及解析 A 本题依旧考察的是前置和后置 记住前置的表达式表达式的值是之后的值 后置的表达式表达式的值是之前的值 --也是一个道理 第四题 4. 若有以下程序 #include stdio.h
int main()
{int s 0, n;for (n 0; n 4; n) {switch (n) {default:s 4;case 1:s 1;case 2:s 2;case 3:s 3;}}printf(%d\n, s);return 0;
} 则程序的输出结果是? A6 B18 C10 D24 答案及解析 D 本题考查的是switch语句只要case和default语句后面没有break就会依次执行下面每一个case或default的语句 比如第一次循环n0只满足default而他们都没有break所以依次执行下面的语句 s 4s 1s 2s 3 剩下的循环以此类推 第五题 5. 下面函数输出结果是 #include stdio.h
int main()
{int k 12345;printf(%2d\n, k);return 0;
} A12 B45 C12345 D无法通过编译 答案及解析 C 本题考查的是格式化打印 直接看这篇博客%md在printf语句和scanf语句中的区别-CSDN博客