c语音菜鸟求教c语言入门级问题

作者&投稿:乔剑 (若有异议请与网页底部的电邮联系)
关于C语言入门的菜鸟级问题,,求大侠来~

任何语言都是顺序执行的,也就是一个语句一个语句的执行,执行完一个语句,再执行下一个语句。所以两个for循环肯定是有先后顺序的,当然是第一个先执行,第一个执行完再执行第二个。

for循环中有三个语句,像你上边写的i = 0;是一个,i<10是一个,i++是一个。
在for循环开始执行时,都是先执行第一个语句,也就是初始化语句,赋值i=0;(注意:这个语句在循环开始到结束只执行一次)再执行循环体({}内的东东),然后再执行第三个语句(一般是++操作),在于执行第二个语句(条件语句),判断条件是否成立,如果成立,则继续执行循环体。然后又是执行++,在执行条件语句,依次类推,直到条件不成立。

第一个for循环中p++虽然导致p最后指向数组之外了,但是第二个for循环的赋值语句p=a;又使p指向数组的首地址了。所以它可在用p++再一次遍历数组,找到最大值。

第二个for循环不可以换成for(i=0;i<10;i++,P++),因为正如你所说的,p已经指向数组外了。你要想通过p再次访问数组,那么就要想办法让p再次指向数组的首地址。

这个,首先指针的值就是地址,并且声明了数组a,并且把数组的首地址赋值给了p,那么,p++实现的就是与数组a的元素长度相同的地址跨度,也就是说,当p=a,则*p=a[0],若p++之后,则,*p=a[1]
既然,p的值就是地址,所以就不用&p了,在scanf里面

这10个数是存在a[10]里的,通过指针p来实现,在第一个for循环里实现的。

第二个for循环则是比较大小,遇到更大的再依次把值给max,从而把最大的值赋值给max

你说的交换里面的=是赋值的意思,相等是 == 就是c是媒介,把a先给c,再把b赋值给a,再把c(本来a的值)赋值给b

第一个方法明显是在if(x<40)后面少了{},第二个方法你解决了这个问题,但是你的逻辑判断少了20~29这段的判断,所以当输入20~29的时候,同样按照-5x+20的公式进行计算,要解决问题,只要在else if(x<40)前面增加一段判断即可,即:else if(x<29){......}

把 getch() 去掉,还有你的if条件写的很不规范啊,当x大于等于0小于10 应该写成(x>=0)|| (x<10),其他都要这样去写,还有大括号也不能省啊,省掉的话只会执行第一句代码,第一段代码错的啊

#include<stdio.h>
void main()
{
int x,y;
 scanf("%d",&x);
 if(x<0)
 printf("0");
  else if(x<10)
  printf("%d",x);
   else if(x<20)
   printf("10");
    else if(x<40)//少了大括号
{
y=-5*x+20;
     printf("%d",y);//如果不加,满足前面的条件的时候也会执行这句。
}
 getch();
 }



c语音菜鸟求教c语言入门级问题
第一个方法明显是在if(x<40)后面少了{},第二个方法你解决了这个问题,但是你的逻辑判断少了20~29这段的判断,所以当输入20~29的时候,同样按照-5x+20的公式进行计算,要解决问题,只要在else if(x<40)前面增加一段判断即可,即:else if(x<29){...} ...

C语音菜鸟求大神指教 《等值数目》语言简单点。。指针不是很擅长,万...
include <stdio.h> include "stdlib.h"define NODES 9999 struct state { int f_x;int g_y;};define min(a,b) (((a)<(b))?(a):(b))void main(){ int m,n;printf("请依次输入数组f,数组g的长度:\\n");scanf("%d,%d",&m,&n);int *f=(int *)malloc(sizeof(int)*m); ...

c语言的题用什么软件好搜答案
《菜鸟学C语言》软件。《菜鸟学C语言》是一款学习c语言题的手机软件,具有选择题、错题库等功能,同时拥有拍照搜题、文字搜题、语音搜题、多重搜题等搜题模式,可以快速查找问题解析,加深对题目答案的理解。

c语言菜鸟求教
include<stdio.h>#include<stdlib.h>struct Student{int Number;char *Name;int Telephone;char *Address;};void main(){Student stu[3];for(int i=0;i<3;i++){stu[i].Name=(char*)malloc(10);stu[i].Address=(char*)malloc(10);printf("请输入第%d个学生的信息:...

c语言菜鸟一只 求帮助
打开vc界面 点击VC“TOOLS(工具)”—>“Option(选择)”—>“Directories(目录)”重新设置“Excutable Fils、Include Files、Library Files、Source Files”的路径。如果你是按照初始路径(在C盘)安装vc6.0的,路径应为:executatble files:C:\\Program Files\\Microsoft Visual Studio\\Common\\MSDev98\\...

菜鸟应该怎么学习c语言
第一:C语言语法结构很简洁精妙,写出的程序也很高效,很便于描述算法,大多数的程序员愿意使用C语言去描述算法本身,所以,如果你想在程序设计方面有所建树,就必须去学它。第二:C语言能够让你深入系统底层,你知道的操作系统,哪一个不是C语言写的?所有的windows,Unix,Linux,Mac,os\/2,没有一个...

C语言菜鸟求教
回答:4和3是整数,所以4\/3的结果是整数,得到1(余数舍去),1和浮点数再进行运算之前,先把1变成浮点数1.0进行运算。

菜鸟求教一道极简单的C语言题?
int max(float x,float y){float z;z=x>y?x:y;return(z);} 这个函数的返回类型是int型,而你的返回值是float z,最后还是取得整型返回的截取结果的整数部分返回 输入的时候因为scanf("%f,%f",&a,&b);中间有个逗号,所有你要这样输入1.5,2.3得到的结果是2 ...

菜鸟怎么样学习C语言_想学c语言应该从哪入手
1、学习C语言,要从入门到精通,需要读哪些书(从简单的到难的排序,越详细越好,最好都能注释下选择这本书的理由)?入门阶段:还是老谭那本。理由:虽然不能说它写得有多好,但是你现在要做的是入门,要快速的掌握c的基本语法,这本书很好理解,能够让你在最短的时间内大致掌握这门语言的概更...

C语言初级菜鸟求大神教一下...
你的程序只需稍加改动。include <stdio.h>int main()\/\/void改为int{int i,mm,zh;for(i=0;i<3;i++){printf("请输账号: ");scanf("%d",&zh);printf("请输入密码:");scanf("%d",&mm);\/\/mm前加&if((zh==123)&&(mm=456)){printf("登陆成功,请稍后...");break;\/\/添加此句...

伊宁市19442781998: 急~~~~~~~一个菜鸟的简单C语言问题,求高手解答... -
计杨养阴: 这个是char型的问题 你改成这样就行了scanf(" %c",...

伊宁市19442781998: c语言的基础问题菜鸟啊明天要教高手帮忙在线等啊~~ -
计杨养阴: #include void main(){int x,i;printf("please input a int number:");//请输入一个数字:scanf("%d",x);//输...

伊宁市19442781998: C语言的一些初级小问题
计杨养阴: 一开始 a=12;之后 a+=a-=a*=a;是这样计算的,赋值运算时右运算,从右计算之后再向左便赋值 先算: a*=a,即a=a*a ,故a=144 再算,a-=a 即 a=a-a,故a= 0 最后算,a+=a;即 a=a+a;故 a=0; 我们可以再VC 6.0中编译,运行看看分析得对不对,一下代码可以验证; #include<iostream.h> void main() {int a=12; a+=a-=a*=a; cout<<"a="<<a<<endl; } 运行之后是:

伊宁市19442781998: C语言的菜鸟级问题
计杨养阴: break可以用在循环和switch语句,continue只用于循环. break是跳出块,continue只是这一次不做而已. 举个例子: for(i=0;i<10;i++) 如果循环体里面是break,那循环执行了一次就跳出了,如果是continue,则循环执行10次,只是continue后面的语句不执行罢了.

伊宁市19442781998: 新手关于C语言入门的问题 -
计杨养阴: #include //包含调用scanf,printf函数所需的头文件 int main(){//函数入口 int a, b, c;//定义3个变量储存输入的值 scanf("%d%d%d", &a, &b, &c);//输入3个数,并相应保存到abc里 printf("%d", a+b+c); //计算 a+b+c,并把结果输出 return 0;//主函数返回0,表示程序正常退出 }

伊宁市19442781998: c语言初级问题 -
计杨养阴: %d是输出int型的数,其实是把有符号的int转换成了无符号的int. 输出有符号的,应该用 问问团队 所说的 %u

伊宁市19442781998: c语言怎么入门,我是零起点的小白,求教啊 -
计杨养阴: 1. 关键要找一本合适的入门教材,语法不需要讲得太详细,应该以编程方法为主线.语法太详细实际上是对编程主线的干扰. 2. 程序的讲解,应当一步一步推导构造出来;而不是一下子给出程序,然后再一句一句解释. 3. 还有不厌其烦地上机调试程序是学习编程的制胜法宝. 4. 有一本《C语言程序设计—从入门到进阶》,人民邮电出版社的,可以参考一下.

伊宁市19442781998: 新手求教C语言的编程问题 -
计杨养阴: #include"stdio.h" main() { char a[5];int i; printf("请输入五个大写字母");for(i=0;iscanf("%c",&a[i]); for(i=0;i{ if(a[i]=91)break; //判断输入的是否符合要求,ASCII:A=65,B=90 printf("error!重新输入!");scanf("%c",&a[i]); } }

伊宁市19442781998: 菜鸟级的C语言问题 -
计杨养阴: 呵呵,只是上一个程序,for循环体不对,改成下面这样的就对了:main() { float k1=0,k2=0,k3=0; int i; float c=0,b=0; for(i=1;i<=100;i++) k1=k1+i; for(i=1;i<=50;i++) {b=i*i; k2=k2+b; } for(i=1;i<=10;i++) { c=1/i; k3=k3+c;} printf("%f",k1+k2+k3); } 你可以试一试

伊宁市19442781998: c语言菜鸟不懂就问!!! -
计杨养阴: 1.printf中输出的%c和%d一个是输出字符.一个是输出整型值,所以第一个输出肯定不是50勒,而是字符'2'.2.还是数据类型的问题,char c=32 :是将32这个整型值赋给字符变量c,编译系统会自动将数值32强制转换成对应的字符赋给c,而char ...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网