C语言书面作业2 有答案版

发布 2022-07-05 00:42:28 阅读 6513

书面作业2(数组、函数、指针、系统函数、结构体、文件读写)

一、判断题:在正确的说法前面填写t,在错误的说法前面填写f(每题1分)[得分: ]

f )1.每一个c语言函数,都必须用return语句结束。

t )2.如果函数有返回值,则该函数的表达式可以作为数据对象使用。

f )3. 函数表达式中,实参类型必须与对应的形参类型一样。

t )4.函数调用时,实参与形参必须类型兼容,且一一对应。

t )5.c语言实参与形参结合的唯一方式是将实参的值复制到形参中。

f )6.c语言实参与形参结合的一种方式是将实参的地址复制给形参。

t )7.在函数体中申明的变量,仅在该函数范围内有效。

t )8.在所有函数外申明且位于所有函数定义之前的变量,可以在所有函数中使用。

f )9. c 语言程序中,main 函数必须放在所有其他函数之前。

f )10.数组名相当于一个变量名,可以作为变量使用。

t )11.数组元素表达式相当于一个变量名,可以作为变量使用。

f )12.数组元素在内存中如何排列,并没有严格的要求。

t )13.数组元素在内存中必须一个紧挨一个存放,因此数组是一种数据结构。

t )14.字符串实际上是一个1维字符数组,其最后一个元素必须是字符’\0’。

f )15.任何一个一维字符数组都可以当成字符串使用。

t )16.字符串数组相当于最末一个元素为字符’\0’的一维数组的数组。

f )17.将字符串字面值”hello!”赋值给一维字符数组str的写法是:str = hello!”;

f )18. 指针表示变量的地址,因此没有类型之分别。

t )19. 指向不同数组的两个指针不能进行有意义的比较。

f )20. 数组名相当于一个指针变量。

t )21. 数组名相当于一个指针常数。

t )22. 数组名可进行取值运算,指针变量可进行下标运算。

t )23. 数组名是指向数组第一个元素的指针常数。

f )24. 指针表示变量在内存中的地址,不同类型变量的指针类型相同。

f )25. 系统函数由开发环境实现,因此不属于c语言标准范畴。

t )26. 编程时,应该尽量使用系统函数功能,而不是自行开发相同的功能。

f )27. 自定义结构体时,成员中可以包含所定义结构体类型成员。

t )28. 自定义结构体时,成员中可以包含指向结构体类型变量的指针成员。

f )29. 与数组类似,不能进行结构体变量间的整体赋值。

t )30. 结构体变量一般不能进行关系和算术运算。

t )31. c语言文件读写通过系统函数实现。

t )32. 文件使用完毕后,必须关闭它。否则可能会丢失信息,或使文件不能打开。

t )33. 文件处理系统函数中,使用file结构体指针传递或返回文件信息。

二、选择题: 在四个选项中选择最合适的一个选项填写在上(每题2分)[得分: ]

1.如果有以下函数定义,则表达式fun(2.1)的值类型是( a )。

fun(float x)

float y = 3 * x - 4;

return y;

a、intb、voidc、float d、不确定。

2.以下程序的输出结果是( c )。

int func( )

以下程序段运行后屏幕输出为( d )。

inti;for(i=1; i <=5; i++)

fun();

printf("%d", fun())

a、0b、1c、5d、6

4.以下程序的输出结果是( c )。

void fun(int x, int y, int z)

int main()

a.0b.29c.30d.编译错误。

5.以下程序的输出结果是( b )。

int a, b;

void func()

a = 100;

b = 200;

int main()

a.100 200 b.5 7 c.5 200 d.100 7

6.以下程序的输出结果是( d )。

int a = 5;

void fun(int b)

static int a = 10;

a +=b;

printf("%d", a);

int main()

int c = 20;

fun(c);

a +=c;

printf(" d", a);

return 0;

a.30 50 b.25 45c.25 30 d.30 25

7.有如下程序。

int func(int a, int b)

return a + b;

int main()

int x = 2, y = 5, z = 8, r;

r = func(func(x, y), z);

printf("%d", r);

return 0;

该程序的输出的结果是( d )。

a、12b、13c、14d、15

8.若有定义:int a[10],则对数组a元素的正确引用是 d 。

a)a[10] b)a[3.5] c)a(5d)a[10-10]

9.以下不能正确定义二维数组的是( d )。

a、int a[2][2] =

b、int a[2] =

c、int a[2][2] =2, 3}

d、int a[2]

10.若有说明int a[3][4]=;则下面正确的叙述是 d 。

a) 只有元素a[0][0]可得到初值0

b) 此说明语句不正确。

c) 数组a 中各元素都可得到初值,但其初值不一定是0

d) 数组a 中各元素都可得到初值0

11.以下能对一维数组a进行正确初始化的语句是 c 。

a) int a[10]=(0,0,0,0,0b) int a[10]={

c) int a=

12.下面对s的初始化,其中不正确的是 d 。

a) char s[5]=;

c) char s[5d) char s[5]=”abcdef”;

13. 下列数组的定义合法的是 b 。

a) int a=

c) char str=“stringd) int a[2]

14. 对字符数组str赋初始值,不能作为字符串使用的是 d

a) char str=shanghai”;

b) char str=

c) char str[9]=;

d) char str[8]=;

15. 有如下定义:

int a[3]=;

则数组a的行数为 b 。

a) 2b) 3 c) 4d) 不确定。

16. 执行下面的程序段后,变量k的值为 c

int k = 3, a[2] =

k = a[1] *10;

a) 10b) 33 c) 30d) 不定值。

17. 以下对二维数组a 的正确说明是 c 。

a) int a[3b) float a[3,4];

c) double a[1][4d) float a(3)(4);

18. 以下程序的输出结果是( b )。

int main(),9, 2, 5, 1, 4, 8};

printf("%d%d%d%d", a[0][3], a[1][1], a[1][3], a[2][3]);

return 0;

a、0200b、0210c、0218d、0928

19. 若有说明:int n = 2, *p = n, *q = p;,则非法的赋值语句是( d )。

a、p = qb、*p = qc、n = qd、p = n;

20.若有以下语句:

int a = 5, b = 3, *p, *q, *t;

C语言书面作业1 有答案版

书面作业1 数据类型 变量 输入 输出 运算符与表达式 选择结构 循环结构 一 判断题 在正确的说法前面填写t,在错误的说法前面填写f 每题1分 得分 f 1.c语言程序中,注释越多越好。f 2.c语言程序中的注释,不会影响程序的执行速度。f 3.c语言规定,在一个源程序中,main函数的位置必须在...

C程序设计语言书面作业作业题 2

c语言书面作业 二 一 选择题。1.为表达关系xyz,应使用的c语言表达式为 a x y y z b x y and y z c x y z d x y y z 2.为表示 a和b都大于0 应使用的c语言表达式是 a a 0 b 0 b a b c a 0 b 0 d a 0 b 0 3.结构化程序...

c语言作业 2

提交作业规范 1 你的每次作业的cpp文件放在文件夹中,文件夹命名 学号 姓名 第几次 例如 2014218899张三 第二次 2 上传到文件夹 偶春生 班级。千万别传错。注意 1 每做完一题,请用 file 下的 close workspace 关闭工作区,再重新开始做下一题。2 如果不能联网,请...