程序设计作业三
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第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 <>
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));
}
double fun(int a, int b, int c)
{
return a % b * c;
}
A. 27
B. 27.000000
C. 28
D.
分析:可上机验证,留意一下函数声明的方式,以及输出语句中对函数返回值的处理。
12、下列说法中不正确的是()
A. C 语言规定,不能在一个函数的内部再定义函数
B. 在没有声明函数返回值类型的情况下,默认函数返回值类型为int 型
C. 函数的类型可以是整型、实型、字符型,但不能是指针类型
D. 函数可以没有形参,但函数名后的括号不能省略
分析:基本概念题。
13、一个变量的指针就是()
A. 变量的名称
B. 变量的地址
C. 变量的类型
D. 变量的值
分析:基本概念题。
14. 两个指针变量不能()
A. 相加
B. 相减
C. 比较
D. 指向同一地址
分析:基本概念题。查书或上机验证。
15. 在C 语言中,对变量的访问方式是()
A. 能直接访问,也能间接访问
B. 能直接访问,不能间接访问
C. 不能直接访问,能间接访问
D. 直接、间接均不能
分析:基本概念题。
16. C 语句: int (* pa)[5]; 中,pa 表示的是一个()
A. 指针数组的名称
B. 指向整型变量的指针
C. 指向包含5 个整型元素的一维数组的指针
D. 指向函数的指针
分析:基本概念题。
17. C 语句int * func(); 中,func 表示的是()
A. 返回值为指针的函数名称
B. 指向整型变量的指针
C. 指向数组的指针
D. 指向函数的指针
分析:基本概念题。
18. 给定下列程序,假定从键盘输入数据1、2,则执行结果为()
#include <>
void swap(int * p1, int p2)
{
* p1 = * p1 + p2;
p2 = p2 + * p1;
}
void main()
{
int a, b, * p1;
scanf("%d, %d", &a, &b);
p1 = &a;