程序设计作业三

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

相关文档
最新文档