学习C语言要什么基础的吗?

各位好!诚心请教个很迷茫的问题!要学习C语言前,需要有什么样的基础?!本人很有兴趣,也很想学编程,并选择了学C语言作为起步!听有经验的老程序员说,卖本潭浩强老师出的《C程... 各位好!诚心请教个很迷茫的问题!

要学习C语言前,需要有什么样的基础?!

本人很有兴趣,也很想学编程,并选择了学C语言作为起步!
听有经验的老程序员说,卖本 潭浩强 老师出的 《C程序设计》第二版作为入门,比较合适!于是我买了回来!结果傻眼了,完全看不懂! 我还买了第三版!

例如:什么是ASCII代码?什么是函数,函数的概念是什么?!我就不懂!是不是和数学里的函数是一个意思?如此这般的很多词汇的基本概念,我都不懂!

因此在此请教下各位,如果想看懂这本书,需要什么基础?!
比如,是不是要有一定的计算机编程基础知识?
数学需要什么样的基础?英文需要什么样的基础?
展开
 我来答
匿名用户
2013-09-05
展开全部
对于新手,我说的多了没什么用,凡事讲究个效率,讲究学习的方法。此网站里有一个C语言教程文章和编译器,阐述了作者多学编程的方法。http://www.jiaminsoft.com/下载后帮助信息里面有作者写的文章!不要一看就关闭,自己深深体会老师的用心,听听老师如何从菜鸟到高手的艰辛过程。当然你说的很对?书是很重要的,在曾经你说的那本书我看了不少于十几遍,一字不漏。彻底弄清楚了,要想到做什么事情都不是那样简单的。对于你,我不知道你自己本身的计算机基础如何,学计算机有些东西不必要你搞明白,真的。比如硬盘是什么,为什么可以存东西,没必要清楚,编程人也没必要追究其微电子专业的知识,只需要知道他有什么用。等一段时间你有足够的知识功底后你就很轻松的学会。 对于你说的ASCII其实与一个刚刚入门的新手来说根本就不觉得与编程有何关系?其实你应该主动找为什么?用一个文档或记事本把自己所有的问题记着,在网上查,下载视频,找高手加菜鸟群,信息社会就是好。 对于我个人观念来说,英语和数学不必要多好,我就是典型的文化成绩差,但是编程学校里没有几个能比的上,这是为什么?就是一种勤奋,一种把为什么转换为兴趣,一种动力。当别人打游戏我确默默的写程序写到天亮。要相信世界上没有学不会的东西,也要相信不是每一样东西都是那样简单的。关键是你自己怎么去把握一个良好的心态去看。 C语言缺的不是基础,缺的是你一直被问题难到后的一次一次的抱怨。此语言最好的入门,把唐浩强的书死死的看,就像亮剑里面思想,哪怕是他是老虎我也要拔它两颗牙齿下来.祝你成功!
wjcmqyd
2017-11-01 · TA获得超过5625个赞
知道大有可为答主
回答量:3236
采纳率:79%
帮助的人:815万
展开全部
与网友分享
勇于探索 追求简朴
学习《C语言的科学和艺术(中文版)》随记
#include <stdio.h>
#include "genlib.h"
#include "simpil.h"
#define Sunday 0
#define Monday 1
#define Tuesday 2
#define Wednesday 3
#define Thursday 4
#define Friday 5
#define Saturday 6
void GiveInstructions(void);
int GetYearFromUser(void);
......;
bool IsLeapYear(int year);
main()
{
int year;
GiveInstructions();
year = GetYearFromUser();
PrinCalendar(year);
}
void GiveInstructions(void)
{
......;
}
......
......
......
bool IsLeapYear(int year)
{
return (((year%4==0) && (year%100 != 0)) || (year%400==0));
)
以上是美国 Eric S. Roberts 博士编著的《C语言的科学和艺术》一书中第5章的例题程序(由于该程序较长,为使本文篇幅短小,故未全部录下)。能编著这样一本关于计算机知识的书,应该是大师级的水平。该例题是一个输入不小于1900即可打印输入年份月历的程序。由于本人初学C语言,刚开始被该例题程序的函数嵌套调用搞得晕头转向,看了好长时间才终于弄明白该程序的功能。首先要说明的是:TURBO C 2.0 没有该书作者自己编写的函数库,几经周折从网上找到所需源程序,却不能通过编译,只得改用C标准库的函数。改用C标准库的函数,就必须对书中的例题程序作较大改动,也同样费了不少周折才终于通过编译。
在学习过程中,本人发现该例题程序有好多问题。
1. 用 define 定义了在程序中用不到的多余符号常量;
2. 定义的函数过多,令人看得眼花缭乱;
3. 函数的层层嵌套调用使得程序逻辑混乱,将人搞得晕头转向。
4. 函数 int FirstDayOfMonth(int month,int year) 被调用12次,而其中求从2月份到12月份第一天是星期几的 for 循环也是多余的。
于是本人经过思考,决定修改该程序。修改后的程序短小精悍,函数调用无层层嵌套现象,看得清楚明白,也没有多余的函数调用。经过修改后的程序可以通过 GCC10、WINTC、TURBO C 2.0 编译器的编译,但只有 GCC10 编译器编译的该程序才能正常显示中文。修改后的程序附在本文的最后。
学而后思,获益不菲;学而不思,难得真谛。我们应当敬重大师,向大师虚心学习。但不能迷信大师,大师写出的东西不可能都是经典范例,更不是改不得的金科玉律,要用自己的头脑思考,去发现问题并解决问题,从而提高自己的认识水平及解决问题的能力。而这正是我们学习的最终目的。
附经过修改后的例题程序如下:
#include <stdio.h>
#define MOND 1
#define SATU 6
void prim(int month,int year,int ndays,int weekday);
int firs(int year);
int main(void)
{
int year=0,month,weekday,ndays[12]={31,28,31,30,31,31,30,31,30,31,30,31};
printf(" 这是一个输入年份数即可打印该年份年历的程序\n");
while(year<1900)
{
printf(" 请输入一个不小于1900的年份数: ");
scanf("%d",&year);
}
printf("\n");
if(((year%4==0) && (year%100 != 0)) || (year%400==0))
ndays[1]=29;
weekday=firs(year);
for(month=1;month<13;month++)
{
prim(month,year,ndays[month-1],weekday);
weekday=(weekday+ndays[month-1])%7;
printf("\n");
}
printf(" %d 年历已打印完毕, 再见!",year);
return 0;
}
void prim(int month,int year,int ndays,int weekday)
{
const char yue[12][10]={"1月","2月","3月","4月","5月","6月","7月",
"8月","9月","10月","11月","12月",};
int i,day;
printf(" %d年 %s\n",year,yue[month-1]);
printf(" 日 一 二 三 四 五 六\n");
for(i=0;i<weekday;i++)
printf(" ");
for(day=1;day<=ndays;day++)
{
printf(" %2d",day);
if(weekday==SATU)
printf("\n");
weekday=(weekday+1)%7;
}
if(weekday+6 != SATU)
printf("\n");
}
int firs(int year)
{
int weekday=MOND,i;
for(i=1900;i<year;i++)
{
weekday=(weekday+365)%7;
if(((i%4==0) && (i%100 != 0)) || (i%400==0))
weekday=(weekday+1)%7;
}
return weekday;
}
写于17:41 2017/11/1
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-05
展开全部
我认为学C语言,要有个老师点拔一下,否则较难的,请你先找个老师稍微入一下门。其次是有台电脑,装上C语言程序,自己调试。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-05
展开全部
一般学编程的都以C语言入门别把它想的太复杂找一本书踏踏实实看多看例题多上机时间长了自然会有收获像那些ASCII符之类的也逐渐清楚了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-05
展开全部
1.选语言。学编程首先要学习基础语言。C语言程序设计就是一个最基础的编程语言。2.选教材。谭浩强版的C目前是各大学普遍选用的C教材,很权威。3.理论联系实际。学习语法的同时,要经常上机做实验,通过实验来理解语法问题,记忆比较深刻。4.积极参加到科研项目中去。通过科研能学到很多课本上学不到的东西。5.持之以恒。不要间断,坚持就是胜利。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(5)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式