全部来自 AI 原创生成并经逐题审校的题目,带 精品 标记的为 AI 复审通过。整卷生成请去组卷。
有如下 C 程序: void swap(int a, int b) { int t = a; a = b; b = t; } int main() { int p = 8, q = 2; swap(p, q); printf("%d,%d", p, q); return 0; } 程序运行后的输出结果是( ) A. 2,8 B. 8,2 C. 2,2 D. 8,8
登录后查看答案
函数 f 定义为:当 n=0 时 f(n)=1;当 n>0 时 f(n)=n×f(n-1)。调用 f(4) 时,递归调用的总次数(含 f(4) 本身)是几次? A. 3 次 B. 4 次 C. 5 次 D. 无限次
设有定义 int a[5] = {3, 1, 5, 2, 4};,用标准冒泡排序将其升序排列(共进行 n−1 轮,每轮内层从下标 0 开始比较相邻元素,逆序即交换)。问第 2 轮比较交换全部结束后,数组中的元素依次为( )。 A. 1 2 3 4 5 B. 1 3 2 4 5 C. 1 2 4 3 5 D. 2 1 4 3 5
下列定义语句中,能正确完成二维数组初始化且不产生编译错误的是:A. int a[2][] = {1, 2, 3, 4}; B. int a[2][3] = {1, 2, 3, 4, 5, 6}; C. int a[][] = {1, 2, 3, 4, 5, 6}; D. int a(2)(3) = {1, 2, 3, 4, 5, 6};
有以下程序段: int x = 1, n = 0; while (x < 6) { if (x == 3) { x += 2; continue; } n++; x += 2; } 程序执行结束后,n 与 x 的值分别是( ) A. n = 2, x = 7 B. n = 3, x = 7 C. n = 2, x = 6 D. n = 3, x = 6
有以下程序段: int i, j, s = 0; for (i = 1; i <= 4; i++) { for (j = 1; j <= 5; j++) { if (j % 2 == 0) continue; if (i * j > 6) break; s += i * j; } } printf("%d", s); 程序执行后的输出结果是( ) A. 21 B. 24 C. 27 D. 30
阅读以下程序段: int i=1, s=0; do { i++; if(i%3==0) continue; if(i>10) break; s+=i; } while(i<20); 执行结束后变量 s 的值为多少? A. 33 B. 36 C. 38 D. 40
某程序中变量 level 的值为 2,执行以下代码: switch (level) { case 1: System.out.print("一档"); case 2: System.out.print("二档"); case 3: System.out.print("三档"); break; case 4: System.out.print("四档"); } 问程序输出什么? A. 二档 B. 二档三档 C. 二档三档四档 D. 一档二档三档
某程序中变量 day 的值为 3,执行以下代码: switch (day) { case 3: System.out.print("周三"); case 4: System.out.print("周四"); break; case 5: System.out.print("周五"); } 则程序的输出结果是( ) A. 周三 B. 周三周四 C. 周四周五 D. 周三周四周五
已知 int a = 5, b = 5; 执行语句 boolean r = (a > 10) && (++b > 5); 后,r 与 b 的值分别为多少? A. true 和 6 B. false 和 6 C. false 和 5 D. true 和 5
某同学在命令行中执行了一个 Java 程序,其完整流程如下:第一步,编辑得到源文件 Hello.java;第二步,使用 javac 命令处理该文件,得到文件 Hello.???;第三步,使用 java 命令让 JVM 加载并执行该文件。若按流程顺序逆推,第二步生成的文件扩展名及其含义正确的选项是( ) A. .java,字节码文件,由 JVM 编译生成 B. .class,字节码文件,由编译器 javac 编译生成 C. .class,源文件,由 JVM 编译生成 D. .exe,可执行文件,由编译器 javac 直接链接生成
设有定义 short a[6]={3,6,9,12,15,18}, *p=a+1;,short 类型占 2 个字节,数组 a 的首地址为 2000。若先执行 p++;,再求表达式 *(p+2) 的值与 p+2 的地址值,正确的结果是 A. 值 12,地址 2008 B. 值 15,地址 2008 C. 值 15,地址 2010 D. 值 12,地址 2010
下列关于 Java 语言主要特性的说法中,正确的是( ) A. Java 程序编译后生成机器码,只能在与编译机器相同操作系统的平台上运行 B. Java 程序依赖虚拟机运行,编译生成的字节码可在任何安装了 JVM 的平台上执行,体现跨平台特性 C. 垃圾回收机制会自动释放程序中所有资源,包括未关闭的文件和网络连接 D. Java 是纯面向过程的语言,不支持类与对象
设有定义 int a[6] = {3,6,9,12,15,18}, *p = a + 5;,int 类型占 4 个字节,且数组 a 的首地址为 4000。若执行语句 p -= 2; 后,下列说法正确的是: A. p 指向元素 a[2],p 中存放的地址值是 4012 B. p 指向元素 a[3],p 中存放的地址值是 4012 C. p 指向元素 a[2],p 中存放的地址值是 4008 D. p 指向元素 a[3],p 中存放的地址值是 4020
设有定义:double x = 2.5, y = 4.0; double *p = &y; 若依次执行语句:p = &x; *p = y; 则执行后变量 x 的值为 A. 2.5 B. 4.0 C. 6.5 D. 0.0
有如下 C 程序: void modify(int x, int y) { x = y; y = 10; } int main() { int a = 3, b = 8; modify(b, a); printf("%d,%d", a, b); return 0; } 程序运行后输出的结果是 A. 3,8 B. 8,3 C. 3,10 D. 8,10
有如下程序: void change(int n) { n = n + 10; } int main() { int x = 5; change(x); printf("%d", x); return 0; } 程序运行后的输出结果是 A. 5 B. 15 C. 10 D. 0
设有定义 int a[6] = {5, 3, 8, 2, 9, 1};,采用冒泡排序将其升序排列(每轮从下标 0 开始,相邻元素逆序即交换,直至整个数组有序)。在整个排序过程中,相邻元素交换的总次数为多少? A. 7 B. 8 C. 9 D. 10
以下关于二维数组的说法,正确的是:A. 定义二维数组并初始化时,第二维(列数)可以省略 B. 二维数组作函数形参时,可写为 int a[][],因为初始化时行数可省略 C. 初始化二维数组时行数可以省略,但二维数组作函数形参时必须写明第二维大小 D. 二维数组在内存中按列优先顺序连续存放
有以下程序段: for (i = 0; i < 5; i++) { if (i == 2) continue; if (i == 4) break; printf("%d ", i); } 执行后输出的内容是 A. 0 1 2 3 B. 0 1 3 C. 0 1 3 4 D. 0 1