帮忙看几道C语言的期末题目(终)~~谢谢!

11.以下程序中,不合法的函数调用语句是voidfun(floatx[]){……}main(){floata[9],b[4][5];A)f(a+5);B)f(b);C)f... 11.以下程序中,不合法的函数调用语句是
void fun( float x[ ]) { …… } main( )
{ float a[9],b[4][5]; A)f(a+5); B)f(b); C)f(a[4]); D)f(b[2]); }
B和C都是错的吧?它们错在哪里??

18.下面程序的运行结果是
{ char ch[7]="12ab56"; int i,s=0;
for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2) s=10*s+ch[i]-'0'; printf("%d\n",s); }
A)1 B)1256 C)12ab56 D)12
为什么是1,我怎么算的是15?

1.以下选项中,均符合C常量形式的是
A)’\123’, 1e5-2 B) 0xffce, ‘\\’ C) 0246, ‘10’ D) 102, 123
答案给的是B!!A这样写不对吗:1e5-?? C中的0246表示八进制的246,难道也错了吗?

8. 有一函数关系见表,下面程序段中不能正确表达上面关系的是

A)if(x==0) y=10000; else y=1.0/x; B)if(x) y=1.0/x; else y=10000;
C)y=10000; if(x!=0) y=1.0/x; D)y=1.0/x; if(x==0) y=10000;
这一题怎么看觉得都是正确的啊?
展开
 我来答
White_MouseYBZ
2013-04-03 · TA获得超过4万个赞
知道大有可为答主
回答量:2.1万
采纳率:82%
帮助的人:6280万
展开全部
11.都是错的。因为定义的函数是fun,而调用时却是f,通不过编译,提示未定义错误。若不计此,C是错误的,因为a[4]不是指针,而fun的形参是数组即指针;B也是错误的,因为b是二维数组而不是一维数组,类型不配。若是多选题则B、C是答案,若是单选题则是题错了。

18.因为for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)中控制变量是i+=2,所以只操作了1,下一次就操作a了,可是a不在ch[i]>='0'&&ch[i]<='9'之内,循环就跳出了。

1.A不对啊!指数的写法是1.5e2或1.5E+2之类,而不是1e5-2;C中是'10'不对,你见过这种写法吗?但D为什么不对呢?是多选题吗?

8.D错误的。当x=0时直接报错,中止执行!
追问
谢谢了~~~D) 102 应该是10的二次方,没有复制出来~~~~
可不可以再帮我看看
http://zhidao.baidu.com/question/537808315?quesup2&oldq=1&sort=6
这个帖子上面的问题!
Xfeng_S
2013-04-03 · TA获得超过1226个赞
知道小有建树答主
回答量:250
采纳率:0%
帮助的人:28.2万
展开全部
11. B是二维数组
18. 程序只执行了一次,第二次CH[i]=‘a’;
1.A中间我看到了 1e5-2,你认为计算机怎么解释e是个什么东西,你有定义么?嗯,还有字符的\确实貌似是个特殊字符。
C 0246,我真没有看出来它哪里写着八进制的...至少计算机是不可能认识的,除非你像0xFFFF,这样子的标识。

8.木有看出来那个不能表示该逻辑关系...

学习了,其他几位高手的讲解,获益,感谢!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cooke1234
2013-04-03 · TA获得超过6861个赞
知道大有可为答主
回答量:4617
采纳率:72%
帮助的人:3520万
展开全部
C,不应传float,应该传float指针。 B是数组的数组(二维数组),相当于指针的指针
A, 因为for循环第二次时, i=2, ch[2]='a',已经不满足for循环条件了。
A和C中字符串应该用双引号
D不对,如果x==0,那么1.0/x会出错的!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
星尘711
2013-04-03 · 超过17用户采纳过TA的回答
知道答主
回答量:90
采纳率:0%
帮助的人:50.1万
展开全部
11.C
18.A(关键是i+=2,判断完‘1’后直接跳到了‘a’。跳到‘a’之后循环条件不满足了,不会再加后面的‘5’)
1、A
8、A
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
duduyaodg
2013-04-03 · TA获得超过504个赞
知道小有建树答主
回答量:248
采纳率:100%
帮助的人:170万
展开全部
11、
fun(b); b为二维数组的首地址,而fun函数只接受一维数组首地址作为参数。参数类型不匹配
fun(a[4]); a[4]是一个float型的值·不是数组·参数类型不匹配

18、
for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2) 意思是取字串ch奇数位的数字~满足条件的就只有1··
所以s = 0*10 + 1 = 1
1、
'\123'这个的写法不对,字符串常量是双引号的"\123"···
'10' 这个也是不对的,字符常量没有10·只有0~9···0246是常量哈
D怎么不对呢·都是整数啊·应该也是常量猜对啊·-。-·
8、
AD不能吧·注意x=0·表示x被赋值为0··不是x等于0
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式