C语言试题啊,求大神帮忙答案啊!

题号:1
以下正确的说法是( )
选项:
a、用户若需要调用标准库函数,调用前必须重新定义
b、用户可以重新定义标准库函数,若如此,该函数将失去原有意义
c、用户系统根本不允许用户重新定义标准库函数
d、用户若需要调用库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动
寻找该文件
题号:2
以下正确的函数定义形式是( )
选项:
a、double fun(int x,int y)
b、double fun(int x
c、int y)
d、double fun(int x,int y)
e、doubel fun(int x
f、int y)
题号:3
以下不正确的说法为( )
选项:
a、在不同函数中可以使用相同名字的变量
b、形式参数是局部变量
c、在函数内定义的变量只在本函数范围内有效
d、在函数内的复合语句中定义的变量在本函数范围内有效
题号:4
建立函数的目的之一,以下正确的说法是( )
选项:
a、提高程序的执行效率
b、提高程序的可读性
c、减少程序的篇幅
d、减少程序文件所占内存
题号:5
C语言规定,函数返回值的类型是由( )所决定。
选项:
a、return语句中的表达式类型
b、调用该函数时的主调函数类型
c、调用该函数是系统临时指定
d、在定义该函数时所指定的函数类型
题号:6
凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( )
选项:
a、auto
b、static
c、extern
d、register
题号:7
以下程序的运行结果是( )void sub (int x,int y,int *z){*z=y-x;}main(){int a,b,c;sub
(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%4d,%4d,%4d",a,b,c);}
选项:
a、5, 2, 3
b、 -5, -12, -7
c、 -5, -12, -17
d、 5, -2, -7
题号:8
若用数组名作为函数调用的实参,传递给形参的是( )
选项:
a、数组的首地址
b、数组第一个元素的值
c、数组中全部元素的值
d、数组元素的个数
题号:9
若使用一位数组名作为函数实参,则以下正确的说法是( )
选项:
a、必须在主调函数中说明此数组的大小
b、实参数组类型与形参数组类型可以不匹配
c、在被调函数中,不需要考虑形参数组的大小
d、实参数组名与形参数组名必须一致
题号:10
如果在一个复合语句中定义了一个变量,则有关该变量正确的说法是( )
选项:
a、只在该复合语句中有效
b、只在该函数中有效
c、在本程序范围内均有效
d、为非法变量

题号:1
以下正确的说法是( )
选项:
a、用户若需要调用标准库函数,调用前必须重新定义
b、用户可以重新定义标准库函数,若如此,该函数将失去原有意义
c、用户系统根本不允许用户重新定义标准库函数
d、用户若需要调用库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动寻找该文件
本题答案为d,无论是标准库函数还是什么函数,都是函数,都允许用户重新定义和使用,使用的时候只需要用#include <XX.h>包括进来就可以了,也就是预编译命令。其中#include就是预编译命令。

题号:2
以下正确的函数定义形式是( )
选项:
a、double fun(int x,int y)
b、double fun(int x
c、int y)
d、double fun(int x,int y)
e、doubel fun(int x
f、int y)
函数的定义规则是这样的:<函数返回类型> <函数名>(函数参数用逗号隔开){函数体}
函数声明的规则是这样的:<函数返回类型> <函数名>(函数参数用逗号隔开);
综上所述,该题没有正确答案,唯一接近正确答案的为ad。

题号:3
以下不正确的说法为( )
选项:
a、在不同函数中可以使用相同名字的变量
b、形式参数是局部变量
c、在函数内定义的变量只在本函数范围内有效
d、在函数内的复合语句中定义的变量在本函数范围内有效
C中有一个关键字为extern,专门把局部变量转为全局变量,所以C是错误的。
本题答案为C

题号:4
建立函数的目的之一,以下正确的说法是( )
选项:
a、提高程序的执行效率
b、提高程序的可读性
c、减少程序的篇幅
d、减少程序文件所占内存

本题答案为a,
函数的增加,
b会使得程序的可读性增加,这个可以理解,模块化了,当然可读性增加了
c,多次调用一个函数即可,不用重复的写代码,这个也可以理解
d,重复的代码既然少了,整个程序的大小自然也小了,当然减少了程序文件所占的内存
至于a的效率提高了,这个不对,因为函数多了,会频繁的进行压栈出栈的操作,加大cpu的工作负荷,整个程序的效率变低了。

题号:5
C语言规定,函数返回值的类型是由( )所决定。
选项:
a、return语句中的表达式类型
b、调用该函数时的主调函数类型
c、调用该函数是系统临时指定
d、在定义该函数时所指定的函数类型
这个可以参考第二题,函数的定义规则,当然是由定义的时候确定的了。
本题答案为d。

题号:6
凡是函数中未指定存储类别的局部变量,其隐含的存储类别为( )
选项:
a、auto
b、static
c、extern
d、register
这个题目容易,没有指定当然是自动指定的了。
本题答案为a。
另外一个小知识,我们平常看到的int a,b,c;实际上省略了auto,全部应该是 auto int a,b,c;

题号:7
以下程序的运行结果是( )void sub (int x,int y,int *z){*z=y-x;}main(){int a,b,c;sub
(10,5,&a);sub(7,a,&b);sub(a,b,&c);printf("%4d,%4d,%4d",a,b,c);}
选项:
a、5, 2, 3
b、 -5, -12, -7
c、 -5, -12, -17
d、 5, -2, -7

void sub (int x,int y,int *z)
{
*z=y-x;
}
main()
{
int a,b,c;
sub(10,5,&a); 执行完这句a的值为-5;
sub(7,a,&b);执行完这句b的值为-12;
sub(a,b,&c);执行完这句c的值为-7
printf("%4d,%4d,%4d",a,b,c);
}
答案为b;

题号:8
若用数组名作为函数调用的实参,传递给形参的是( )
选项:
a、数组的首地址
b、数组第一个元素的值
c、数组中全部元素的值
d、数组元素的个数
本题答案为a
数组名为数组的首地址,也是数组第一个元素的值的地址。数组名是一个地址。

题号:9
若使用一位数组名作为函数实参,则以下正确的说法是( )
选项:
a、必须在主调函数中说明此数组的大小
b、实参数组类型与形参数组类型可以不匹配
c、在被调函数中,不需要考虑形参数组的大小
d、实参数组名与形参数组名必须一致

本题答案为a,
必须在主调函数中定义该数组的大小。也就是该数组大小应该被提前设定好。
int a[10]可以作为参数,int a[x]不可以作为参数。

题号:10
如果在一个复合语句中定义了一个变量,则有关该变量正确的说法是( )
选项:
a、只在该复合语句中有效
b、只在该函数中有效
c、在本程序范围内均有效
d、为非法变量
答案为
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-06
补充下:第4题说的是正确答案 所以应是b(楼上的看成不正确的了)
最后一题:b 但其他函数可以通过extern引用 并不绝对只能在函数内使用
第2个回答  2012-09-04
供参考1、b 2、ad 3、d 4、 b 5、d 6、a 7、b 8、a 9、a 10、a
第3个回答  2012-09-04
支持一楼正解。。!!

C语言试题啊,求大神帮忙答案啊!
d、register 这个题目容易,没有指定当然是自动指定的了。本题答案为a。另外一个小知识,我们平常看到的int a,b,c;实际上省略了auto,全部应该是 auto int a,b,c;题号:7 以下程序的运行结果是( )void sub (int x,int y,int *z){*z=y-x;}main(){int a,b,c;sub (10,5,&a)...

C语言题目,求大神解答
p=aa;\/\/p指向数组aa首地址,即a的位置 当i=0时,会执行 if ( i==0 ) aa[i][i+1]=**(p++); \/\/这时p=p+1,p指向了aa数组的第二行首地址,即d所在位置,所以,printf("%c\\n", **p ); 输出d 答案为C

求c语言大神给解!!⊙▽⊙
本题答案为:\\t, -- tab 键 \\"相当于"\\n是换行 \\\\, -- 就是 \\ 号 所以答案是12 选D

一道C语言题目,看图~大神帮忙解答下吧!急急急急急!!在线等
答案是D 在C语言中数组赋值可以如A,那样,【】里面定义了长度5{}中有最大不超过5个值,则赋值成功 B在5个数值之内所以也是正确的 答案C,就是另外中赋值方法,在【】中不定义长度,因此数组a[]的实际长度取决于{}中的值的数量,也就是说在C答案中有5个0作为数值,因此C答案中的a[]的实际...

c语言求大神
做编程的题目,如果条件允许的话,给你的建议就是直接在编译器编译一下,看看输出的结果,然后利用单步调试,一步步的看下变量中的值得变化。下图是我运行你代码的结果(答案:B):题目解析如下:1、x[3][2] = {0}指的是定义一个 3x2 数组,并将数组的所有值初始化为 0。2、输入2 4 6之后...

C语言 计算机题 求大神解答~
解析:“≥”用“>=”表示,“或”用“||”表示。2、判断char型变量c是否为大写字母的表达式是“(c>='A')&&(c<='Z')”。(C选项)解析:大写字母是A~Z,加上单引号,可以直接用来判断是否符合要求,大写字母需要在A~Z之间,所以“需要大于等于'A'且小于等于'Z'”,“且”用“&&”表达。

C语言问题,求大神解决,谢谢啦,我是小白,最好能够解释下。
^是按位异或运算符,需要把a和b的值化为二进制数后进行按位异或就能得到答案。题中,a=3 ,二进制为:0011;b=6,二进制值为:0110。所以(a^b)按位异或后的值为0101也就是5,左移两位后值(二进制)为:010100 也就是 :20

c语言问题,求大神解答
char a=97 a为字符型,对应的是ASCII码表中十进制数97对应的字符,是a c对应的字符是A,对应的ASCII码表中十进制数是65 输出语句的意思是计算字符a和字符A在ASCII码表中对应十进制数的差并按规定格式输出。97-65=32 结果输出a-A=32 选C ...

一道c语言指针题,求大神解答,感谢
这题目输出的结果是 5,6,6解析:首先声明一个整型数组a,整形变量y,整型指针p。p指向数组a[]的第1个元素,也就是8。接下来,指针p先--,指向了数组a[]的第0个元素,也就是5。之后y取出p指向的内容,即5。之后p指针指向的内容又累加,即数组a[]的第0个元素从5变成了6。因此打印输出y的...

c语言题目求解啊,大神快来
选择 20 D 填空 1 main 2 补码 3 4 1 4 1 这个解释一下,最后计算或, 而b非0,所以 最终值为1.5 x<=y && y<=z 6 18或者19都可以, 填18是标准答案。注意每次i自加2 没解释的 都是定义,没什么好说的 ,记住就好。

相似回答