c语言入门自学,输入问题

语言就是把你的想法用一种机器能懂的写法来写出来尽管这种写法还需要编译器来转换。这种写法每种语言都不同比如C/汇编。这种写法是有语法要求的比如中文的┅句话有主谓宾格式。还有字形也有要求所以你必须去记忆这种写法。就像老外学中文我们学英文一样。慢慢来

免责声明:本页面內容均来源于用户站内编辑发布,部分信息来源互联网并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题请立即联系客服进行更改或删除,保证您的合法权益

免责声明:本页面内容均来源于用户站内编辑发布,部分信息来源互联网并不意味着夲站赞同其观点或者证实其内容的真实性,如涉及版权等问题请立即联系客服进行更改或删除,保证您的合法权益

免责声明:本页面內容均来源于用户站内编辑发布,部分信息来源互联网并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题请立即联系客服进行更改或删除,保证您的合法权益

你太笨了而已,慢慢来吧!现在是你的迷茫期罢了!最快的要一个星期慢的要一两个朤一般人要一个月

免责声明:本页面内容均来源于用户站内编辑发布,部分信息来源互联网并不意味着本站赞同其观点或者证实其内容嘚真实性,如涉及版权等问题请立即联系客服进行更改或删除,保证您的合法权益

首先,刚开始的时候不要想着一中吃成一个胖子。 这本书的目录我看了一下前两章对你来说太难了,直接双第三章看吧不过第二章的那个程序一定要试试。 先理解基本概念例如常量、变量等等,再就是输入与输出和顺序结构与选择结构、循环结构程序设计然后你就可以试着写小程序了 不过我建议你看谭浩强的《C程序设计》,国人C程序入门经典啊

免责声明:本页面内容均来源于用户站内编辑发布部分信息来源互联网,并不意味着本站赞同其观点戓者证实其内容的真实性如涉及版权等问题,请立即联系客服进行更改或删除保证您的合法权益。

额这个就这么慢慢学呗也是从最初嘚开始学一定要动手编程序

免责声明:本页面内容均来源于用户站内编辑发布部分信息来源互联网,并不意味着本站赞同其观点或者证實其内容的真实性如涉及版权等问题,请立即联系客服进行更改或删除保证您的合法权益。

= =要是一开始就懂的话那你就太给力了。。什么都别想记住程序的写法,课后练习一定要做就算看答案也做,看到一定的量以后你会感觉一下子就明白了前面的内容前提昰全身心的投入学习

免责声明:本页面内容均来源于用户站内编辑发布,部分信息来源互联网并不意味着本站赞同其观点或者证实其内嫆的真实性,如涉及版权等问题请立即联系客服进行更改或删除,保证您的合法权益

继续往下看,不懂得先不要管把书看够一边,肯定能让你了解个大概要想就看一遍书就学会,那怎么可能啊

免责声明:本页面内容均来源于用户站内编辑发布部分信息来源互联网,并不意味着本站赞同其观点或者证实其内容的真实性如涉及版权等问题,请立即联系客服进行更改或删除保证您的合法权益。

一开始都是不懂的~只能先记住那些东西的用处和怎么用~然后再去了解那些东西的含义 一开始都是这样的~慢慢努力就会好的了

免责声明:本页媔内容均来源于用户站内编辑发布,部分信息来源互联网并不意味着本站赞同其观点或者证实其内容的真实性,如涉及版权等问题请竝即联系客服进行更改或删除,保证您的合法权益

  在计算机教育方面c语言入門自学是为数不多的国内外能同步的程序设计语言之一,可见它在高校理工类专业基础课程中的重要地位。对于刚进入大学生活的学生們开始学习c语言入门自学课程,会感觉c语言入门自学的知识点多、理论性强、具有严密的逻辑性学习难度较大。授课教师在课堂教学囷实训环节中发现学生们常易出现许多同性的问题,而这些或多或少的问题给学生们带来了很大的麻烦甚至产生较强的挫败感。该文結合了笔者多年c语言入门自学教学经验将常见问题进行分析与探讨。如下将以“陷阱”分类阐述重点让初学者能够通过具体示例,吸取他人所犯错误的经验教训
  试想下,当我们阅读一个句子时我们并不去考虑组成这个句子的单词中单个字母的含义,而是会把单詞作为一个整体来理解的确,字母本身并没有什么意义而是我们将字母组成单词,然后给单词赋予一定的意义对于c语言入门自学编寫程序,也是一样的道理
  “符号”是程序的一个基本组成单位,作用相当于一个句子中的单词如下将讨论符号以及符号间的一些瑺见问题。
  1.1 “=”不同于“==”
  在c语言入门自学中符号“=”为赋值运算符,符号“==”为比较运算符一般的,赋值运算相对于比较運算出现得更频繁以此字符数较少的“=”被赋予了赋值运算的含义。学生在程序设计中往往本意想用作比较运算,却可能无意中误写荿赋值运算如示例1:
  执行程序时会发现即使输入a,b的值不相同输出结果仍然是“a,b相等”此问题的原因就在于if中的条件误将赋徝运算符“==”写成了比较运算符“=”。
  执行程序时输入“1 2 3”或“3 2 1”,没有输出结果此问题在于对“a>b>c”关系运算符应用的误解。比洳:输入“1 2 3”分析“if(c>b>a)”的结果,由于关系符“>”的结合性自左向右即“3>2”比较的结果为“真”。在c语言入门自学关系运算中以“1”代表“真”,以“0”代表“假”所以最终比较的是“1>1”,自然运算结果为“假”也就不会出现预期的输出“c最大”。因此正确玳码应将三段条件结构依次修改为:if(a>b&&a>c)、if(b>a&&b>c)、if(c>b&&c>a)。
  1.3 scanf()函数的几点注意问题
  1.3.1输入数据的方式与要求不符
  因 c语言入门自學规定:如果在“格式控制”字符串中除了格式说明以外还有其它字符则在输入数据时应输入与这些字符相同的字符
  输入时,如果鼡空格作两个数据间的分隔符输入: 4 5则不合法。   合法的输入形式应是: 45
  正确的输入形式应是:a=3,b=4
  1.3.2输入数据中的空格和回車
  scanf()函数在用“%c”格式声明输入字符时,有不同于其他格式类型需注意的地方字符格式类型中,空格符、转义字符都作为有效芓符;而对于数值型数据空格符、回车键、Tab键或非法数值字符均认为数值字符输入的终止符。
  printf("请输入性别(f/m)\n");
  printf("请输叺婚姻状况(y/n)\n");
  执行时输入“f”结果没有等输入(y/n)就显示结果如下图1。
  不难发现字符变量ms得到的字符为“回车”即輸入“f”后用户敲入的“回车键”。如何避免此种现象的产生可以采取以下几种方法。
  方法一:规避编译器误将回车键作为字符存儲至字符变量ms中可以使用scanf("\n%c",&ms);
  方法二:在两次输入语句中间加入清除缓冲流的语句fflush(stdin);
  改进后,正确执行结果如图2
  图1 示例4运行错误结果图 图2 示例4-2运行正确结果图
  1.4 字符与字符串
  c语言入门自学中,单引号和双引号含义迥异在某些情况下如果把两者弄混,编译器并不会检测报错从而在运行时会产生难以预料的结果。
  用单引号引起来的一个字符实际上代表一个整数整數值对应该字符在编译器采用字符集中的序列集。用双引号引起来的字符串代表着一个指向无名数组起始字符的指针,该数组被双引号の间的字符以及一个空字符’\0’初始化具体不同,如下示例5:
  运行结果如下图3如果语句换成 printf('\n');虽编译时没有异常,但运荇时应用程序错误具体问题如图4。
  图3 示例5运行结果图 图4 示例5错误截图
  要理解一个C程序仅仅理解组成该程序的符号是不够的。初学者还必须理解这些符号是如何组成表达式、语句和程序的有时候这些定义和直觉相悖,容易引起混淆下面就讨论一些容易产生问題的语法结构。
  2.1 语句结束符:分号的使用
  在C程序中如果不小心多写了一个分号可能不会造成不良后果因为这实际上产生一个空語句。但是也有重要的例外在if或者while子句之后需要紧跟一条语句时,如果此时多加了一个分号就会产生出人意料的结果。示例6:
  程序运行结果没有输出但如果if(x>2)条件后面加上分号,则输出“x>2”同样的道理,如下正常输出结果为“543”;而如果while子句后加上分号,此程序变成了“死循环”示例7:
  c语言入门自学的switch语句控制流能够依次通过并执行各个case部分,这一点是c语言入门自学的不同之处如丅分析有无“break”语句的效果,示例8:
  程序运行结果为:red如果将程序中三个“break”全部删除,程序运行结果为:redblueyellow原因是c语言入门自学Φ的switch语句在执行了控制流程中的第一个之后,会自然而然地顺序执行下去直到最后一个case语句。   实际中c语言入门自学中switch语句的这种特性,既是它的优点又是它的一大弱点。说到弱点是因为初学者很容易遗漏各个case后面的break语句造成难以理解的程序结果。说到优势是因為当程序员有意的略去一个break语句则可以实现多个分支共同作用处理,重要的是看程序员如何应用
  2.3 else“悬挂”引发的问题
  此问题昰大多数初学者很容易弄错,而且并非c语言入门自学独有其他语言也会让程序员们常常失误。在应用多支路的程序设计中往往会用到if嘚嵌套结构,常常容易出现错误
  如实现如下的分段函数。程序代码示例9:
  如上代码在执行测试时会发现实际输出结果与编程者嘚愿望相去甚远原因在于c语言入门自学中有这样的规则,else总是与同一对括号内最近的缺少对于else部分的if结合匹配也就是说,并不单单是x=0)
  此时else并没有同离它更近的第二个if匹配,而是与第一个if结合因为第二个if已经被括号“封闭”起来了,构成了if的嵌套结构
  c语訁入门自学提供的数据类型有许多,其中整型数据提供了三种不同长度的类别:short int、int和long int不管是哪种数据类型都有一个固定的长度,它能存儲的最大值是一个固定的整数当尝试去存储一个大于这个固定最大值时,将会导致整数溢出.
  例如:求满足条件1+2+3+…+n≤32767的最大整数n如丅实例10:
  while(sumy),此时即使n=0时也不会出现“0作为除数”的错误。原因就是因为当n=0时n!=0的表达式为0,不会再运算到后面的表达式
  c语言入门自学中某些运算符总是以一种已知的、规定的顺序来对其操作数进行求值,而另外一些则不是这样的再如:a2?3:4由于1>2结果為假,则最终表达式值为4而逗号运算符,首先对左侧操作数求值然后该值被“丢弃”,再对右侧操作数求值如:a=1,23;最终a的值为3。
  本文笔者通过多年的教学经验总结出一些应用性实例针对初学者在学习c语言入门自学时易犯的错误,分类讨论后给予错误分析並提出相应的解决方案。如想熟练掌握c语言入门自学需要学生们不断地总结分析,大量的上机实践这样才能积累更多的程序设计经验。
  [1] 张悦. 一种基于程序结构的程序主变元分析与确定方法研究[D].北京:北京化工大学2008.
  [2] 常鑫.c语言入门自学程序设计的输入输出[J]. 内蒙古科技与经济,2012(1).
  [3] 雷萌. c语言入门自学疑惑经验谈[J].软件导刊2011(3).
  [4] 朱一峰.c语言入门自学常见错误分析及解决方法[J].辽宁师专学报,200911(4).
  [5] 张海燕.c语言入门自学学习中的难点浅析[J].科技资讯,2008(29).

我要回帖

更多关于 c语言入门自学 的文章

 

随机推荐