- 17
- 0
- 约6.01千字
- 约 13页
- 2021-01-04 发布于安徽
- 举报
PAGE
PAGE 4
第3次作业答案(红字为答案)
1. 下列叙述中错误的是( )
A. 对于double 类型数组,不可直接用数组名对数组进行整体输入或输出
B. 数组名代表数组所占存储区的首地址,其值不可变
C. 在程序执行过程中,当数组元素下标超出定义的下标范围时,系统将给出“下标”越界的错误提示
D. 可以通过赋初值的方式确定数组元素个数
提示:请从数组下标的合法取值范围来考虑。
2. 已有定义char a[] = “xyz”,b[]={‘x’, ‘y’, ‘z’} ,以下叙述正确的是( )
A. 数组a 和b 的长度相同 B. 数组a 的长度小于数组b 的长度
C. 数组a 的长度大于数组b 的长度 D. 上述说法均不正确
提示:此题考察字符数组长度和字符串长度之间的关系。
3. 以下能正确定义一维数组的选项是( )
A. int num[]; B. #define N 100 int num[N]
C. int num[0..100]; D. int N = 100; int num[N];
提示:此题考察一维数组的维数界定问题。
4. 下列程序的输出结果是( )
#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
提示:此题考察字符数组长度和字符串长度之间的关系。
5. 以下不能正确定义二维数组的选项是( )
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};
提示:此题考察二维数组初始化的规定。
6、C 语言规定,若未对函数返回类型加以说明,则函数的隐含类型为( )
A. void B. double C. int D. char
分析:教材中有答案,但我们不推荐大家在编程时省略函数返回类型。
7、若已定义的函数有返回值,则以下关于该函数调用的叙述错误的是( )
A. 函数调用可以作为独立语句存在
B. 函数调用可以作为一个函数的实参
C. 函数调用可以出现在表达式中
D. 函数调用可以作为左值而被赋值
分析:基本概念题,可查书或上机验证。
8、下列说法中错误的是( )
A. 在不同的函数中可以使用相同名字的变量
B. 函数中的形参是局部变量
C. 在一个函数内定义的变量只在本函数范围内有效
D. 在一个函数的复合语句中定义的变量只在本函数范围内有效
分析:基本概念题。考察变量的作用域和生命期。
9、下列说法中正确的是( )
A. 定义函数时,形参的类型说明可以放在函数体内
B. return 后面的值不能为表达式
C. 如果函数值类型与return 后的返回值类型不一致,则以函数值类型为准
D. 如果形参与实参的类型不一致,则以实参类型为准
分析:基本概念题,可查书或上机验证。
10、阅读下列程序段,其执行结果为( )
#include stdio.h
void fun(int a)
{
int x = 5;
x += a++;
printf(“%d,”, x);
}
void main()
{
int a = 3, x = 1;
fun(a);
x += a++;
printf(“%d\n”, x);
}
A. 8,2 B. 8,3 C. 8,4 D. 8,5
分析:考察大家对传值调用和传址调用的理解。
11、阅读下列程序段,其执行结果为( )
#include stdio.h
void main()
{
int a = 4, b = 6, c = 7;
double d;
double fun(int, int, int);
printf(“d = %lf\n”, fun(a, b, c));
}
double fun(int a, int b, int c)
{
return a % b * c;
}
A. 27 B. 27.000000 C. 28 D. 28.000000
分析:可上机验证,留意一下函数声明的方式,以及输出语句中对函数返回值的处理。
12、下列说法中不正确的是( )
A. C
原创力文档

文档评论(0)