| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1267 人关注过本帖
标题:Cの魅力
只看楼主 加入收藏
神vLinux飘飘
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:浙江杭州
等 级:贵宾
威 望:91
帖 子:6140
专家分:217
注 册:2004-7-17
收藏
 问题点数:0 回复次数:15 
Cの魅力

Cの魅力

刚刚又复习了一遍C语言,又有不少心得。哎~看来C语言不管怎么去学都学不完啊!

例:如果我想要写一个程序,当sex=0的时候表示母鸡,1的时候表示公鸡,用number表示鸡的数量。并把他们用在一个英文句子中显示出来,你会如何做?(请注意英语中的可数名词的复数要+s)

也许你会去分配大量的if语句,并写出四个句子——你不得不这样做,因为我并没给你多余的变量或者字符串,你可不能违背神的意志自己创造出几个新的东西出来哦。

void main(){ int sex=0,number=1; if(sex==0) if(number==1) printf("There is %d hen in the garden.\n",number); else printf("There are %d hens in the garden.\n",number); else if(number==1) printf("There is %d cock in the garden.\n",number); else printf("There are %d cocks in the garden.\n",number); getch(); }

程序原理:先判断sex,确定这只(些)鸡是公的还是母的,然后再判断number,确定是应该用单数还是复数。

这样是不是很烦琐?其实C语言要解决这样的问题只用“一句简单的printf()函数”就够了。

void main(){ int sex=0,number=10; printf("There %s %d %s in the graden.\n", number==1?"is":"are", number, number==1?(sex?"cock":"hen"):(sex?"cocks":"hens")); getch(); }

程序原理:收费50元,谢谢~~~ ^-^

为什么可以这样用?:呢?我们都知道,在C语言中任何一个""都是一个字符串。比如"abc"就是一个字符串。 但是如果我们这样定义一个int a="abc";会怎么样?也许大家都知道了,a中的值就是"abc"的首地址。所以我们得到一个结论,"abc"如果把它看成是一个整体,那么它的值不是一个字符串,而是指向"abc"首地址的一个数据(标准编译模式下)。

于是,我们可以这样解释number==1?"is":"are"了。 number==1?("is"的首地址):("are"的首地址) 如果number==1,则表达式的值就是"is"的首地址 如果number!=1,则表达式的值就是"are"的首地址 所以,表达式的值被printf()函数中的%s按照字符串的首地址接收、显示出来。

同样的道理,我们可以去解释sex?"cock":"hen"

没见过这样的?:用法吧,去写一个这样的语句去崩溃你的C语言老师~~我们的C语言老师是一个年轻漂亮的女研究生,基础知识非常的牢~~她第一次见也头晕了半天。

~~~让女孩子头晕~~~这就是Cの魅力

to be continue...

[此贴子已经被作者于2005-5-4 14:55:57编辑过]

搜索更多相关主题的帖子: 英语 魅力 C语言 number 变量 
2005-03-12 17:19
kaikai
Rank: 1
等 级:新手上路
帖 子:236
专家分:0
注 册:2005-1-7
收藏
得分:0 
你终于弃暗投明了

Have you visit acm.tongji. lately?
2005-03-12 19:19
Knocker
Rank: 8Rank: 8
等 级:贵宾
威 望:47
帖 子:10454
专家分:603
注 册:2004-6-1
收藏
得分:0 
唉,这个.....这个......小孩子学好难学坏易,楼上的你的责任不小

九洲方除百尺冰,映秀又遭蛮牛耕。汽笛嘶鸣国旗半,哀伤尽处是重生。     -老K
治国就是治吏。礼义廉耻,国之四维。四维不张,国之不国。   -毛泽东
2005-03-12 19:59
kaikai
Rank: 1
等 级:新手上路
帖 子:236
专家分:0
注 册:2005-1-7
收藏
得分:0 
你还不是一样?

Have you visit acm.tongji. lately?
2005-03-12 21:08
时空之蕊
Rank: 2
等 级:新手上路
威 望:3
帖 子:691
专家分:0
注 册:2004-10-31
收藏
得分:0 
呵呵!可以发了哦!

我渴望掌控时空的核心——用最先进的技术,打造无比美丽的世界!
2005-03-12 21:45
gxlyzh
Rank: 1
等 级:新手上路
帖 子:5
专家分:0
注 册:2005-3-7
收藏
得分:0 
(" 靠什么哦  就这个原理50元晕哦");

明天不一定会更好 但更好的明天一定会到来
2005-03-12 23:16
lycnsc
Rank: 1
等 级:新手上路
帖 子:243
专家分:0
注 册:2005-3-27
收藏
得分:0 
2005-05-03 10:38
musicml
Rank: 1
等 级:新手上路
帖 子:273
专家分:0
注 册:2005-4-2
收藏
得分:0 
楼主真上强啊

请楼主推荐几本学习c的高级编程的书!
谢谢

Every thing is possible.
2005-05-03 13:08
jiely
Rank: 1
等 级:新手上路
帖 子:106
专家分:0
注 册:2004-5-15
收藏
得分:0 
从楼主的程序,偶做一个大胆的推测:楼主还是个C语言菜鸟!!!!还需努力!

注:并非人身攻击!!!!!

我的爱好:C和数据库!正在学VC++ 我的QQ:345895839,有共同爱好的加我!期待着与你共同进步!
2005-05-03 14:02
银狼
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2005-4-24
收藏
得分:0 
呵呵.不过说的真的是蛮经典的!

大家帮帮忙,我很菜的!
2005-05-03 14:41
快速回复:Cの魅力
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.032720 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved