C语言看不懂
发布网友
发布时间:2022-05-11 03:59
我来回答
共5个回答
热心网友
时间:2024-02-08 23:25
你想要自学就是这样的,刚开始肯定什么也不知道,所以自学和有人交真的差很多,自学要多多利用网络,多上百度,千度,万度等查查资料。我刚开始和学长学C时他也老说函数函数,我一直以为是x+y=z这种,等到后来学的多了才知道不是那么回事。其实学C最基础的就是背,背语法,C语言C语言就是一语言,和学英语一样,刚开始就是背,你不用管他为什么这样,这样就是这样。比如说开始的#include<stdio.h>,为什么要写这个?有什么用?不用管,你只要知道就是要写这个。等你看的c程序,c语法多了你自然就懂了。
最后给你几个写C程序的软件,vc6.0(我一直用这个,觉得不错),dev-c++等,在windows里C一般都是要用这种软件写的。你可以去网上下。(菜鸟小评)
热心网友
时间:2024-02-08 23:25
对于第一个的一大堆的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次
热心网友
时间:2024-02-08 23:25
朋友,这么简单的问题被你搞的好复杂。就因为你看错一个字。
这个是输出一个字符串This is a C program,没有让你输入任何东西。
如果你还是学的云里雾里的,建议找个人来指导你,要不你学两年也学不会。看起来你完全没有基础,而其自学能力也有限。这样学下去会打击你的信心的。
热心网友
时间:2024-02-08 23:26
刚开始学C语言的时候都有点不知从哪下手,还是耐心一点,多编一些程序,抄书上的也行,这样比你光看书好多了,祝你成功
热心网友
时间:2024-02-08 23:27
同道中人啊,我也是这么过来的,现在已经参加工作快2年了,刚刚入门是这样的,以后积累多了就没事了,学海无涯苦作舟嘛。