书面作业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 如果不能联网,请...