如何学好c困惑+纠结

An4Greenhand 2010-09-23 01:17:33
如何学好c,(先学c,它是根本 ,)对于一个初中毕业且数学很烂的我来说,真是一个举足轻重的事,一直在纠结,我是不是选错行业拉,(无奈,换不掉)……既然选啦,那就得学好,学明白,可是真的很难。自我认知:(一):理解能力不如人,(二):反应力不如人,(三):接受能力不如人(四):如今,记忆力也没比人强哪去.列为兄弟姐妹们,我是怀着试试看的态度来发帖,同时,也寄希望于在这儿能找到解决问题的办法,毕竟人多力量大,集思广益,诸葛孔明也抵不住三个臭皮匠!
通过这个平台,我也希望能认识些益友良师。

我的QQ:1126775524
验证时 请输入c
...全文
536 62 打赏 收藏 转发到动态 举报
写回复
用AI写文章
62 条回复
切换为时间正序
请发表友善的回复…
发表回复
domonate 2010-10-18
  • 打赏
  • 举报
回复
只要肯坚持,肯定可以的!
Kenson 2010-10-18
  • 打赏
  • 举报
回复
把书多看几遍,认真的看。
An4Greenhand 2010-10-18
  • 打赏
  • 举报
回复
大家废话请不要说,和我同样纠结的同志有意互相勉励的加qq
AKEHONGA 2010-10-15
  • 打赏
  • 举报
回复
同样纠结啊
youfeng888 2010-10-15
  • 打赏
  • 举报
回复
紧急求助:
大家好! 我用的是keil编译器,写的代码如下:
问题如下:
1, unsing long tmp = 0;
tmp = (unsing long)(40 * 1400);
结果为负值, (实际上unsigned int 范围为0到65535)
但是:如果tmp = (unsing long)(40.0 * 1400.0); 就正常了


2,关于switch跳转的问题:
switch(i)
{
int j = 0;
case 5:
dosomething();
break;

case 6:
j++;
dosomething();
break;
default:break;

}
问题是:当i = 5,也就是进入case 5的时候,case 5 里面的dosomething没有执行,直接跳转到case 6:那个分支下面的dosomething(),前面的j++根本没有执行;不知道是什么原因,望大家指点!!

欢迎大家访问我的控件
lisong871121 2010-10-15
  • 打赏
  • 举报
回复
书多看几遍是必须的。。然后主要是实际上机操作
Honyun100 2010-10-15
  • 打赏
  • 举报
回复
如果你是试一试的态度,我可以肯定的告诉你、、、白搭!先啥都别干,推荐你部小说:《疯狂的程序员》。看看你有没有拼命和奈住寂寞的勇气。
sxhdwwg114 2010-10-15
  • 打赏
  • 举报
回复
今天学习下C,忘了都
itnumber 2010-10-15
  • 打赏
  • 举报
回复
没想到这个问题这么多人回复
loveatt 2010-10-15
  • 打赏
  • 举报
回复
只要有兴趣 就好
An4_Greeenhand 2010-10-14
  • 打赏
  • 举报
回复
没事,别当回事,哥支持你啊
wasx1 2010-09-27
  • 打赏
  • 举报
回复
建议楼主转C#吧,比C简单一点,对你将来转.net帮助作用会更大一点
凭楼主认真回复的劲头,如果能用在你更擅长的地方就更好了
soon 2010-09-27
  • 打赏
  • 举报
回复
C语言的语法很简单,难点在于C的应用技巧。

请看下面的段代码,你可以不用去理解这段代码是干什么用的,重点放在while(1)的loop处理上。



#define LOOP_MASK 0x3

int main(void)
{
__s32 fb;
__u32 loop;
const __u32 led_buffer[4] = {0xE,0xD,0xB,0x7};


fb = open("/dev/My_Led",O_RDWR);
if (fb < 0){
printf("open error!\n");
exit(1);
}

loop = 0;
while (1){
loop &= LOOP_MASK;

ioctl(fb,led_buffer[loop] << 5);
sleep(1);
loop ++;
}

return 0;
}
赵4老师 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用 38 楼 an4greenhand 的回复:]
楼上的,我看过,你不止一次的这么说,如果你说的不限时的话,我是D,限时的话,我哪个都不是。还有我没看懂你说的话,有点乱。什么是A,什么是B?能说得尽量简单些吗,初学者不明白啊
[/Quote]
关于自己是否适合编程的很简单的测试:
在报纸或杂志上随便找一段约1000字的文章,在Word中输入一遍。输完后再参考下面答案:
A里面有10处以上文字或标点错误
B里面没有文字或标点错误并敢为此跟人打赌
C里面没有文字或标点错误并且字体和排版完全与原稿一致
D打印在半透明的纸上和原稿重叠在一起检查一模一样,且自我感觉很有成就感

A不适合编程(打字准确度偏低、粗心大意)
B初级程序员(打字准确度很高、认真细致、自信、理解全角半角概念)
C高级程序员(在B的基础上理解字体和排版也是电脑打印的重要因素、但相比D还不够偏执、精益求精、结果可验证)
D软件项目经理(能针对项目给出令人信服的细致到极点的需求说明和典型测试用例。用户几乎挑不出毛病。专业!)
An4Greenhand 2010-09-27
  • 打赏
  • 举报
回复
楼上的,请看看我的困惑?,帮我想想,该怎么做,别偏离方向啊
fancanqin 2010-09-27
  • 打赏
  • 举报
回复
你缺的是一颗决心~
soon 2010-09-27
  • 打赏
  • 举报
回复
[Quote=引用 47 楼 an4greenhand 的回复:]

那只要我会的,我就是最后一个,不过我的问题你还没给明确的回复,帮着出个招子,别舍不得啊
[/Quote]

这个问题只是需要你能看懂对环形缓冲区的处理,没有标号,loop只是应用计数环形缓冲的下标,因为是环到达最后个一个时,需要从头开始,很多人应该会应用下面的语句来处理。

if (loop == sizeof(led_buffer))
loop = 0;

应用上面的语言没有什么错,不过,这需要考虑代码的效率的话,上面的话句有所不好,别人很容易就看出你的C语言的应用能力来。但是,应用这个技巧需要主意环形缓冲区的分配大小必须适当才能用。
An4Greenhand 2010-09-27
  • 打赏
  • 举报
回复
43 楼的,从我的回复不难看出我有可能从简吗,基础的东西都不好,况且我现在正学C那,c学不好,.net想都不想,40楼的我缺的不是决心,你说的不对,我现在连信心都没有,正迷茫着那,何来决心?我不想再是想想而已,过去就是太自信,决心太大啦,所以成了现在这样,现在,我的信条:“‘穷’则独善其身”。明白了吗?给点实际的吧,解决问题的方法,谢谢你们!
An4Greenhand 2010-09-27
  • 打赏
  • 举报
回复
那只要我会的,我就是最后一个,不过我的问题你还没给明确的回复,帮着出个招子,别舍不得啊
An4Greenhand 2010-09-27
  • 打赏
  • 举报
回复
我知道你用了符号常量,然后是定义了个一维数组,const没见过,是常数的意思,存放4个是十六进制的数据 接下来就不明白了,我只知道用goto时用标记,我不知道while还能,我不懂,学的烂极啦,大概你想是让我看是怎样调用函数吧,说实话,连这我也看不明白
加载更多回复(41)

69,373

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧