网站搭建php打不开,上海简站商贸有限公司,常德网络公司,深圳网站seo哪家快第一题 1. 下面程序 i 的值为#xff08;#xff09; int main()
{int i 10;int j 0;if (j 0)i; elsei--; return 0;
} A#xff1a;11 B#xff1a;9 答案及解析 B if语句中的条件判断为赋值语句的时候#xff0c;因为赋值语句的返回值是右操作数#xff1b; …第一题 1. 下面程序 i 的值为 int main()
{int i 10;int j 0;if (j 0)i; elsei--; return 0;
} A11 B9 答案及解析 B if语句中的条件判断为赋值语句的时候因为赋值语句的返回值是右操作数 比如 if(j 1) 相当于 if(1)if(j 0) 相当于if(0) 所以在了解这里之后就可以得出答案啦 第二题注意细节
2. 下面程序的输出结果为
#include stdio.h
void fun(int *s)
{static int j 0;do {s[j] s[j 1];} while (j 2);
}
int main()
{int i, a[10] {1, 2, 3, 4, 5};for (i 1; i 3; i)fun(a);for (i 1; i 5; i)printf(%d, a[i]);printf(\n);return 0;
} A34756 B5745 C5795 D35745 答案及解析 B 本题考查的是局部static变量和do-while循环的认识 局部static变量只会初始化一次因为是存在静态区的值不会被刷新 do-while循环先执行语句再判断条件 所以我们这里是进入2次fun函数最后打印的时候是打印下标为14的哦这里要注意 在fun函数内部 第一次进入函数先初始化一下static变量j 0之后进入两次do-while循环j 2的时候循环结束函数也结束 第二次进入函数不会执行初始化j虽然j 2但是先执行do-while内部的语句再判断 最后数组元素分别为3 5 7 4 5 输出结果为 5 7 4 5 第三题 3. 下列代码的结果是 #includestdio.h
int main()
{ int a[5] {1, 2, 3, 4, 5}; int *ptr (int *)(a 1); printf(%d,%d, *(a 1), *(ptr - 1)); return 0;
} A35 B24 C25 D34 答案及解析 B 本题是考查你对指针和数组的认识我们来一步一步分析 数组名代表首元素地址但是有2个例外sizeof(数组名),数组名,数组名都表示整个数组 在了解上面的知识之后 先看a这里表示的取整个数组的地址 对指针的加法移动的字节数是根据这个指针指向的内容的数据类型算的数据类型是什么对指针加的数字就乘这个内容的数据类型的字节数 a指向的内容是整个数组数组的数据类型是int [5] 所以a1是移动的整个数组的大小也就是1 * 5 * 4字节移动的也就是整个数组的大小 但是这个指针被强制转换为int*类型也就是指向的内容的数据类型为int加减就不一样了 则ptr - 1就是减小一个int类型4个字节而不是整个数组的大小了 第四题 4. 执行下面程序段后 x 的值是 int a 14, b 15, x;
char c A;
x (a b) (c B); Atrue Bfalse C0 D1 答案及解析 D 首先我们来看x abc B 是与操作符是双目操作符结合性是从左到右 我们要知道条件判断操作符真为1假为0 先算右边的操作数ab 因为a 14b 15 上面就转换为14 15为真 所以1 c B 右边c A c B成立为真 最后x 1 1; 所以都为1为真x 1 第五题 5. while 循环语句的循环体至少执行一次请问这句话的说法是正确的吗 A正确 B错误 答案及解析 B 只有do-while才会至少执行一次先执行语句后判断