C语言看不懂

我想学习C语言,但是买了一本谭浩强的C程序设计,完全看不懂。连第一行都不知道是什么东西啊。
比如:下面先介绍几个简单的C语言程序,然后从中分析C语言程序的特点。
例1.1 输入一行信息。
#include<stdio.h>
void main()
{
printf("This is a C program.\n");
}
本程序的作用是输入以下一行信息:
This is a C program
先看第2行,其中main是函数的名字,表示“主函数”,main前面的void表示此函数是“空类型”,coid是“空”的意思……

这是书最开始的地方。
可是,我晕,我要问了。
让输入一行信息,从哪输入?网页?WORD?我擦,我晕了。这是入门吗?
然后,输入的那些英文是什么意思?不是说不需要英文知识吗?
下面说,本程序输入的是以下一行信息:
This is a C program.
输入那么多东西,为什么说是输入了这么一行英语?这哪跟哪啊?难道跟金桥翻译一样?上面输入那一大片,一点中间的翻译,出现下面这一行?
再说,这表示什么啊?为什么要这么干?有什么用?这么做代表的是什么?
再有,“其中main是函数的名字” 函数是什么?拿来吃的?是中学学的那些函数吗?可是我是睡觉睡过中学的,没听过啊。还有“主函数”什么意思?
“空类型”是什么东西?void是什么? 编程需要去学函数吗?
怎么别人说谭浩强的C语言的入门学问,可是一开始就是这些,我不懂啊。也没说要在电脑上打开哪,在哪输入什么东西,就直接让输入。我怎么输啊?郁闷。 我真的是门外汉啊。
救命啊~~

你想要自学就是这样的,刚开始肯定什么也不知道,所以自学和有人交真的差很多,自学要多多利用网络,多上百度,千度,万度等查查资料。我刚开始和学长学C时他也老说函数函数,我一直以为是x+y=z这种,等到后来学的多了才知道不是那么回事。其实学C最基础的就是背,背语法,C语言C语言就是一语言,和学英语一样,刚开始就是背,你不用管他为什么这样,这样就是这样。比如说开始的#include<stdio.h>,为什么要写这个?有什么用?不用管,你只要知道就是要写这个。等你看的c程序,c语法多了你自然就懂了。
最后给你几个写C程序的软件,vc6.0(我一直用这个,觉得不错),dev-c++等,在windows里C一般都是要用这种软件写的。你可以去网上下。(菜鸟小评)
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-05-30
对于第一个的一大堆的if条件语句,只能逐个的使用play_state的值去与后面的比较,当然要遵守&&运算符的短路规则,也就是对于a&&b,如果a的值为0,那么就不用去判断b是多少了,因为不管b是多少,对于&&运算符来说与0的运算其结果都为0。
至于你说的找不到play_state的值,play_state这个值,如果是在其他函数中或者if语句中定义的,那么这个值可以不用看,因为这个值是局部变量,局部变量一但离开定义他的语句块或者函数,其值将不会存在,而且在语句块或函数外的程序是看不到局部变量的。因此对于play_state的值,你应该查找,是不是定义了一个全局变量,应找到全局变量的值才是有效的值。
至于逻辑预处理指令#if,其实这个语句就与C中的if语句是一样的,如果#if后面的条件成立,则执行后面的语句,否则就跳出。并不是像你所说#ifdef语句,是否后面没有定义就不用看了,应该判断后面的条件是否成立。一般#if语句是与#define连合使用的,下面给你介绍一下#if语句。
逻辑预处理器指令:
1、逻辑#if指令:该指令原理与条件语句if相同,如果测试为真就执行后面的语句,如果为假则跳过后面的语句。该指令有两种用法,其一可以用#if指令测试某个符号以前是否用#define指令定义过,这是最常用的用法,其二可以用来测试某个条件表达式是否为真。
2、#if指令用法一:测试某个符号是否以前用#define定义过,该用法的指令如下#if
defined
标识符
….
#endif
其缩写形式为#ifdef
标识符….#endif表示如果,指定的标识符已被#define定义,则中间的语句就包含在源文件中,如果该标识符还未被#define定义,则跳过#if和#endif之间的语句,该语句以#endif结束,还要注意的是标识符前的关见字是defined比define多一个字母d。
3、测试标识符是否不存在:其语法为#if
!defined
标识符…..#endif缩写形式为#ifnedf
标识符…..#endif表示如果指定的标识符没有定义,则把#if和#endif之间的语句包含在源文件中,如果标识符已定义则跳过#if和#endif之间的代码,实标上#ifndef语句比#ifdef语句使用得更频繁,因为系统使用该语句防止头文件被多次包含,
4、防止头文件被包含多次的方:其方法为#ifndef
HY
#define
HY语句#endif程序在开始遇到标识符HY时没有被定义,这时执行后面的语句,再第二次被使用时则标识符HY已经被定义,这时不会执行后面的语句,从而防止了同一头文件被包含多次的情况。这里要注意使用#define后面定义的标识符不需要值。
5、#if语句还可以使用逻辑运算符以测试多个值,比如#if
defined
HY1&&HY2….#endif当HY1与HY2都为真时才执行,同样还可以使用其他逻辑运算符。
6、#if指令用法二:测试某个表达式的值是否为真,其语法格式为:#if
常量表达式….#endif,注意常量表达式的求值结果应是整数常量表达式,比如#if
a=2
….
#endif测试a的值是否为2,如果为2则执行#if与#endif之间的语句。
4.7、多个#if选择块:和常规的if语句一样#if也有对应的#else和#elif语句,比如#if
a=3
….
#else
….
#endif表示如果a=3则执行if后面且在#else前面的语句,如果为假则执行#else与#endif间的语句。#elif用来实现多个选择,该语句和常规语句的else
if相似,比如#if
a=1
….
#elif
a=2
….
#elif
a=3….
#else
….
#endif表示,如果a=1则执行#if后的语句,如果a=2则执行该条件后的语句。
执行开始后,按顺序先执行x=0;,因为它不在循环体内,所以只执行1次,
接下来是个循环嵌套,外层循环的for(i=1;i<n;i++)语句要执行n次,(因为要进行n次判断),内层循环要执行n+(n-1)+(n-2)+...+1次,用等差数列求和公式表示这个和,就是n(n+1)/2次
第2个回答  2009-06-18
朋友,这么简单的问题被你搞的好复杂。就因为你看错一个字。
这个是输出一个字符串This is a C program,没有让你输入任何东西。
如果你还是学的云里雾里的,建议找个人来指导你,要不你学两年也学不会。看起来你完全没有基础,而其自学能力也有限。这样学下去会打击你的信心的。
第3个回答  2009-06-18
刚开始学C语言的时候都有点不知从哪下手,还是耐心一点,多编一些程序,抄书上的也行,这样比你光看书好多了,祝你成功
第4个回答  2009-06-18
同道中人啊,我也是这么过来的,现在已经参加工作快2年了,刚刚入门是这样的,以后积累多了就没事了,学海无涯苦作舟嘛。
相似回答