几个c语言问题
1、x,y,z被定义为int型变量,若从键盘为其输入数据,则正确的输入语句是()A.inputx,y,zB.scanf(“%d%d%d”,&x,&y,&z);C.scan...
1、x, y, z 被定义为int 型变量,若从键盘为其输入数据,则正确的输入语句是()
A. input x, y, z
B. scanf(“%d%d%d”, &x, &y, &z);
C. scanf(“%d%d%d”, x, y, z);
D. read(“%d%d%d”, &x, &y, &z);
2、若 w=1, x = 2, y=3, z = 4,则条件表达式w < x ? w : y < z ? y : z 的值是()
A. 1 B. 2 C. 3 D. 4
3、给定如下程序
#include <stdio.h>
void main()
{
char c1 = ‘A’, c2 = ‘a’;
printf(“%c\n”, (c1, c2));
}
则以下叙述正确的是()
A. 程序输出大写字母A B. 程序输出小写字母a
C. 格式说明符不足,编译出错 D. 程序编译通过,但运行时出错
4、下列程序的输出结果是()
#include <stdio.h>
void main()
{
int a = 2, b = 3, c = 0, d;
d = ! a && !b || !c;
printf(“%d\n”, d);
}
A. 1 B. 0 C. 编译出错 D. -1
5、下列程序的输出结果是()
#include <stdio.h>
void main()
{
int a = 55, b = 50, c = 60, d;
d = a > 20 ? b : c;
switch(d) {
case 40: printf(“%d”, a);
case 50: printf(“%d”, b);
case 60: printf(“%d”, c);
default: printf(“$\n”);
}
}
A. 50, 60 B. 50, $ C. 60, $ D. 50, 60, $
6、给定如下程序段,请选择描述正确的说法()
int i = 9;
while(i = 0) i--;
A. while 循环执行9 次 B. 循环体语句执行一次
C. 循环体语句一次也不执行 D. 循环是无限循环
7、设 n 为整型变量,则for(n = 10; n >= 0; n--)循环的次数为()
A. 9 B. 10 C. 11 D. 12
8、对表达式 for(表达式1; ; 表达式3)可以理解为()
A. for(表达式1; 0; 表达式3)
B. for(表达式1; 1; 表达式3)
C. for(表达式1; 表达式1; 表达式3)
D. for(表达式1; 表达式3; 表达式3)
9、以下能正确定义一维数组的选项是()
A. int a[5] = {0, 1, 2, 3, 4, 5}; B. char a[] = {0, 1, 2, 3};
C. char a = {‘A’, ‘B’, ‘D’}; D. int a[5] = “0123”;
10. 已有定义int x[3][2],以下能正确引用数组元素的选项是()
A. x[2][2] B. x[1][2] C. x[2][1] D. x[0][2]
11. 有以下语句,int x; char c[10];则正确的输入语句是()
A. scanf(“%d%s”, x, &c); B. scanf(“%d%s”, &x, &c);
C. scanf(“%d%s”, x, c); D. scanf(“%d%s”, &x, c);
12. 下列叙述中错误的是()
A. 对于double 类型数组,不可直接用数组名对数组进行整体输入或输出
B. 数组名代表数组所占存储区的首地址,其值不可变
C. 在程序执行过程中,当数组元素下标超出定义的下标范围时,系统将给出“下标”越界
的错误提示
D. 可以通过赋初值的方式确定数组元素个数
13. 已有定义char a[] = “xyz”,b[]={‘x’, ‘y’, ‘z’},以下叙述正确的是()
A. 数组a 和b 的长度相同 B. 数组a 的长度小于数组b 的长度
C. 数组a 的长度大于数组b 的长度 D. 上述说法均不正确
14. 以下能正确定义一维数组的选项是()
A. int num[]; B. #define N 100 int num[N]
C. int num[0..100]; D. int N = 100; int num[N];
15. 下列程序的输出结果是()
#include <stdio.h>
void main()
{
char a[] = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘\0’};
int i, j;
i = sizeof(a); j = strlen(a);
printf(“%d, %d\n”, i, j);
}
A. 9, 9 B. 8, 9 C. 1, 8 D. 9, 8
16. 以下不能正确定义二维数组的选项是()
A. int a[2][] = {{1, 2}, {3, 4}}; B. int a[][2] = {1, 2, 3, 4};
C. int a[2][2] = {{1}, {2}}; D. int a[2][2] = {{1}, 2, 3}; 展开
A. input x, y, z
B. scanf(“%d%d%d”, &x, &y, &z);
C. scanf(“%d%d%d”, x, y, z);
D. read(“%d%d%d”, &x, &y, &z);
2、若 w=1, x = 2, y=3, z = 4,则条件表达式w < x ? w : y < z ? y : z 的值是()
A. 1 B. 2 C. 3 D. 4
3、给定如下程序
#include <stdio.h>
void main()
{
char c1 = ‘A’, c2 = ‘a’;
printf(“%c\n”, (c1, c2));
}
则以下叙述正确的是()
A. 程序输出大写字母A B. 程序输出小写字母a
C. 格式说明符不足,编译出错 D. 程序编译通过,但运行时出错
4、下列程序的输出结果是()
#include <stdio.h>
void main()
{
int a = 2, b = 3, c = 0, d;
d = ! a && !b || !c;
printf(“%d\n”, d);
}
A. 1 B. 0 C. 编译出错 D. -1
5、下列程序的输出结果是()
#include <stdio.h>
void main()
{
int a = 55, b = 50, c = 60, d;
d = a > 20 ? b : c;
switch(d) {
case 40: printf(“%d”, a);
case 50: printf(“%d”, b);
case 60: printf(“%d”, c);
default: printf(“$\n”);
}
}
A. 50, 60 B. 50, $ C. 60, $ D. 50, 60, $
6、给定如下程序段,请选择描述正确的说法()
int i = 9;
while(i = 0) i--;
A. while 循环执行9 次 B. 循环体语句执行一次
C. 循环体语句一次也不执行 D. 循环是无限循环
7、设 n 为整型变量,则for(n = 10; n >= 0; n--)循环的次数为()
A. 9 B. 10 C. 11 D. 12
8、对表达式 for(表达式1; ; 表达式3)可以理解为()
A. for(表达式1; 0; 表达式3)
B. for(表达式1; 1; 表达式3)
C. for(表达式1; 表达式1; 表达式3)
D. for(表达式1; 表达式3; 表达式3)
9、以下能正确定义一维数组的选项是()
A. int a[5] = {0, 1, 2, 3, 4, 5}; B. char a[] = {0, 1, 2, 3};
C. char a = {‘A’, ‘B’, ‘D’}; D. int a[5] = “0123”;
10. 已有定义int x[3][2],以下能正确引用数组元素的选项是()
A. x[2][2] B. x[1][2] C. x[2][1] D. x[0][2]
11. 有以下语句,int x; char c[10];则正确的输入语句是()
A. scanf(“%d%s”, x, &c); B. scanf(“%d%s”, &x, &c);
C. scanf(“%d%s”, x, c); D. scanf(“%d%s”, &x, c);
12. 下列叙述中错误的是()
A. 对于double 类型数组,不可直接用数组名对数组进行整体输入或输出
B. 数组名代表数组所占存储区的首地址,其值不可变
C. 在程序执行过程中,当数组元素下标超出定义的下标范围时,系统将给出“下标”越界
的错误提示
D. 可以通过赋初值的方式确定数组元素个数
13. 已有定义char a[] = “xyz”,b[]={‘x’, ‘y’, ‘z’},以下叙述正确的是()
A. 数组a 和b 的长度相同 B. 数组a 的长度小于数组b 的长度
C. 数组a 的长度大于数组b 的长度 D. 上述说法均不正确
14. 以下能正确定义一维数组的选项是()
A. int num[]; B. #define N 100 int num[N]
C. int num[0..100]; D. int N = 100; int num[N];
15. 下列程序的输出结果是()
#include <stdio.h>
void main()
{
char a[] = {‘a’, ‘b’, ‘c’, ‘d’, ‘e’, ‘f’, ‘g’, ‘h’, ‘\0’};
int i, j;
i = sizeof(a); j = strlen(a);
printf(“%d, %d\n”, i, j);
}
A. 9, 9 B. 8, 9 C. 1, 8 D. 9, 8
16. 以下不能正确定义二维数组的选项是()
A. int a[2][] = {{1, 2}, {3, 4}}; B. int a[][2] = {1, 2, 3, 4};
C. int a[2][2] = {{1}, {2}}; D. int a[2][2] = {{1}, 2, 3}; 展开
5个回答
展开全部
第三个应为B,这是一个逗号运算符的问题,整个逗号表达式的值就是最后一个表达式的值。最后一个应为A,因为对全部元素赋初值可以省略第一维的长度,但第二维长度不可省略。
1.B 2.A 3.B 4.A 5.D 6.C 7.C 8.B
9.B 10.C 11.D 12.D 13.C 14.B 15.D 16.A
1.B 2.A 3.B 4.A 5.D 6.C 7.C 8.B
9.B 10.C 11.D 12.D 13.C 14.B 15.D 16.A
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.B 2.A 3.B 4. A 5.D 6.C 7. C 8.B 9.B 10.C 11.D 12.D 13.C 14.B
15.D 16.A
15.D 16.A
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.B 2.A 3.B 4. A 5.D 6.C 7. C 8.B 9.B 10.C 11.D 12.D 13.C 14.B
15.D 16.A
15.D 16.A
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
b;a;d;a;d
c;c;b;b;c
d;d;c;b;d
c
c;c;b;b;c
d;d;c;b;d
c
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.B
2.A 条件表达式的结合方向为“自右向左”,所以w<x?w:y<z?y:z相当于w<x?w:(y<z?y:z)。因为y<z,所以(y<z?y:z)的值为y,即为3。因为w<x,所以w<x?w:3的值为w,即为1。整个表达式结果为1。
3.B (c1,c2)为逗号表达式,执行顺序为先求解表达式c1,再求解表达式c2,整个表达式的值为表达式c2的值,因此(c1,c2)的值为c2,即程序输出a。
4.A
5.D a>20?b:c的值为50,即赋给d初值为50,执行printf("%d",b);输出b的值,因为后面没有break,继续执行以后的语句,依次输出c的值和$,这里应该有错误,中间没有逗号,最后输出结果为5060$
6.C
7.C
8.B for(表达式1;;表达式3)中没有表达式2的控制语句,因此for循环永为真,表达式2的值可以理解为1。
9.B
10.C 该二维数组第一维长度为3,第二维长度为2,而数组引用是从0开始的,因此第一维可引用0、1、2,第二维可引用0、1。A,B,D均错误。
11.D
12.D
13.C
14.B
15.D
16.A 对全部元素赋初值时第一维长度可以省略,第二维长度不可省略。
2.A 条件表达式的结合方向为“自右向左”,所以w<x?w:y<z?y:z相当于w<x?w:(y<z?y:z)。因为y<z,所以(y<z?y:z)的值为y,即为3。因为w<x,所以w<x?w:3的值为w,即为1。整个表达式结果为1。
3.B (c1,c2)为逗号表达式,执行顺序为先求解表达式c1,再求解表达式c2,整个表达式的值为表达式c2的值,因此(c1,c2)的值为c2,即程序输出a。
4.A
5.D a>20?b:c的值为50,即赋给d初值为50,执行printf("%d",b);输出b的值,因为后面没有break,继续执行以后的语句,依次输出c的值和$,这里应该有错误,中间没有逗号,最后输出结果为5060$
6.C
7.C
8.B for(表达式1;;表达式3)中没有表达式2的控制语句,因此for循环永为真,表达式2的值可以理解为1。
9.B
10.C 该二维数组第一维长度为3,第二维长度为2,而数组引用是从0开始的,因此第一维可引用0、1、2,第二维可引用0、1。A,B,D均错误。
11.D
12.D
13.C
14.B
15.D
16.A 对全部元素赋初值时第一维长度可以省略,第二维长度不可省略。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询