程序设计(C)作业三(有答案)
第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语言程序设计教材答案
C. int num[0..100];
D. int N = 100; int num[N];
提示:此题考察一维数组的维数界定问题。
4. 下列程序的输出结果是()
#include
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
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
void main()
{
int a = 4, b = 6, c = 7;
double d;
double fun(int, int, int);
printf( “d = %lf\n ”, fun(a, b, c));

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。