全国计算机等级考试C语言考试选择题部分(18)
171、如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量___C_____.
A) 为全局变量,在本程序文件范围内有效
B) 为局部变量,只在该函数内有效
C) 为局部变量,只在该复合语句中有效
D) 定义无效,为非法变量
172、调用函数时,当实参和形参都是简单变量时,它们之间数据传递的过程是____D____.
A) 实参将其地址传递给形参,并释放原先占用的存储单元
B) 实参将其地址传递给形参,调用结束时形参再将其地址回传给实参
C) 实参将其值传递给形参,调用结束时形参再将其值回传给实参
D) 实参将其值传递给形参,调用结束时形参并不将其值回传给实参
173、以下叙述中,不正确的是___B_____.
A) 在同一C程序文件中,不同函数中可以使用同名变量
B) 在main函数体内定义的变量是全局变量
C) 形参是局部变量,函数调用完成即失去意义
D) 若同一文件中全局变量和局部变量同名,则全局变量在局部变量作用范围内不起作用
174、若函数调用时参数为基本数据类型的变量(俗称简单变量),以下叙述正确的是____C____.
A) 实参与其对应的形参共占存储单元
B) 只有当实参与对应的形参同名时才共占存储单元
C) 实参与其对应的形参分别占用不同的存储单元
D) 实参将数据传递给形参后,立即释放原先占用的存储单元
175、若主调用函数类型为double,被调用函数定义中没有进行函数类型说明,而return语句中的表达式类型为float型,则被调函数返回值的类型是____A____。
A) int 型 B) float 型
C) double 型 D) 由系统当时的情况而定
176、在以下叙述中,不正确的选项是____B____。
A) C语言程序总是从main( )函数开始执行
B) 在C语言程序中,被调用的函数必须在main( )函数中定义
C) C程序是函数的集合,在这个函数集中包括标准函数和用户自定义函数
D) 在C语言程序中,函数的定义不能嵌套,但函数的调用可以嵌套
177、C语言中,若未说明函数的类型,则系统默认该函数的类型是___C_____。
A) float型 B) long型 C) int型 D) double型
178、下面函数的功能是____B____。
sss(s, t)
char s[ ], t[ ];
{ int i=0;
while((s[i])&&(t[i])&&(t[i]== s[i])) i++;
return (s[i]-t[i]);}
A) 求字符串的长度
B) 比较两个字符串的大小
C) 将字符串s复制到字符串t中
D) 将字符串s接续到字符串t中
179、设有如下函数定义:
int f(char s[ ])
{ int i=0;
while(s[i++]!=’ ’);
return (i-1); }
如果在主程序中用下面的语句调用上述函数,则输出结果为___C_____.
printf("%d ",f("goodbey!"));
A) 3 B) 6 C) 8 D) 9
180、对于C语言的函数,下列叙述中正确的是___A___.
A) 函数的定义不能嵌套,但函数调用可以嵌套
B) 函数的定义可以嵌套,但函数调用不能嵌套
C) 函数的定义和调用都不能嵌套
D) 函数的定义和调用都可以嵌套