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

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;
这一题怎么看觉得都是正确的啊?

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
这个帖子上面的问题!

温馨提示:内容为网友见解,仅供参考
第1个回答  2013-04-03
11. B是二维数组
18. 程序只执行了一次,第二次CH[i]=‘a’;
1.A中间我看到了 1e5-2,你认为计算机怎么解释e是个什么东西,你有定义么?嗯,还有字符的\确实貌似是个特殊字符。
C 0246,我真没有看出来它哪里写着八进制的...至少计算机是不可能认识的,除非你像0xFFFF,这样子的标识。

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

学习了,其他几位高手的讲解,获益,感谢!
第2个回答  2013-04-03
C,不应传float,应该传float指针。 B是数组的数组(二维数组),相当于指针的指针
A, 因为for循环第二次时, i=2, ch[2]='a',已经不满足for循环条件了。
A和C中字符串应该用双引号
D不对,如果x==0,那么1.0/x会出错的!
第3个回答  2013-04-03
11.C
18.A(关键是i+=2,判断完‘1’后直接跳到了‘a’。跳到‘a’之后循环条件不满足了,不会再加后面的‘5’)
1、A
8、A
第4个回答  2013-04-03
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

帮忙看几道C语言的期末题目(终)~~谢谢!
11.都是错的。因为定义的函数是fun,而调用时却是f,通不过编译,提示未定义错误。若不计此,C是错误的,因为a[4]不是指针,而fun的形参是数组即指针;B也是错误的,因为b是二维数组而不是一维数组,类型不配。若是多选题则B、C是答案,若是单选题则是题错了。18.因为for(i=0;ch[i]>='0...

大一C语言题目。快期末了,麻烦帮忙看一下,谢谢。
首先,这道题的return值不是很重要。其次,光return p1,这是一个没有什么意义的地址值,如果要输出,就跟乱码一样。但是return(p1-p)就是链接后字符串的串长,是有意义的。

帮我看道C语言题,谢谢!!
选A。%s是输出字符串,*p指向s的首字符,p++后就指向s的第二个字符。因为p++两次所以第二次从C开始,第三次从E开始。while循环的条件是*p不为空。

C语言高手帮忙做这三道题,要详解 谢谢拉!!
2、C 这题和上题一样,就是(m)表达式为真时,执行a++;为假时,执行a-。表达式m的真假与表达式m!=0一样,所以选C。3、C define是宏定义,这里的效果就是把s(m,n)替换成m\/n,所以s(4+2,2+1)进行替换后就成了4+2\/2+1=4+1+1=6。所以选C ...

关于c语言的题5道谢谢!
关于c语言的题5道谢谢!  我来答 1个回答 #话题# 打工人必看的职场『维权』指南!Deathwisdom 2015-05-10 · TA获得超过103个赞 知道答主 回答量:69 采纳率:0% 帮助的人:34.4万 我也去答题访问个人页 关注 展开全部 追答 仅供参考 追问 不管怎样都要谢谢你!! 本回答由提问者推荐 已赞...

2道很简单的c语言题目。帮忙看看谢谢
一、第10题选B.共用体\/union各个成员是从同一地址开始存放的。共用体大小计算一般是实际占用空间最大的成员的长度(这里就是int b[3]的大小最大3*4=12)。若该成员的长度不是其他成员类型长度的整数倍(如果是数组就是数组类型的长度)则拓展到满足成员大小的整数倍。这里其他两个数组是char和long...

求几题c语言题目答案及详细解释,谢谢啦!
2.虽然输入4 3 但是此时只是把4赋值给b,此时的3,还在缓冲区呢??b=c--‖ scanf("%d",&c)&&a++;先算的是c--此时的c的值还是5,c--后就是4 3.c;首先我们知道指针变量的值就是地址,要是给指针变量赋值要加&;A.p1=&m;p2=&p1; p2=&p1这里错误,应为p2=p1 B.P1=&m;P2=&N...

大神帮忙看看,c语言题目,要有解析!!
A 运行正确,结果输出正确。B 运行正常,输出不正确,原因:union缺省赋值是给第1个元素。C 运行不正常。原因:comm={12.5} 后 缺少语句结束符 ;D 运行不正常。原因:comm=5; union 赋值语法错误

几个C语言问题
1. A语句,首先执行 b = 34 ,接着执行 a = b 语句本身无错误。B语句,实际上是一个表达式,但没有接收该值。C语句,实际上是一个表达式,但没有接收该值。2. 很明显, 029带0前缀而且无后缀。3. 100!结果溢出了。4. 常识性问题。

两道C语言题目,求答案和解析,谢谢~
其余所有项都必须是可以赋值的变量,不可以是常量或者表达式。B:y==1是一个逻辑表达式,从题干得出其值为0,再将其赋值给x,最终结果是x被赋值0。C:i=float(x);语法错了。如果要实现将x强制转换为float类型并赋值给i,应该写作i=(float)(x);D:求余运算(%)参与运算的量均必须为整型。

相似回答