我是初学C语言,看不懂你这题(看不懂的地方我标注了一下啊)

kuaidi.ping-jia.net  作者:佚名   更新日期:2024-08-01
(入门级)C语言程序 看不懂,求详细讲解注释

#includeint main(){ chars[ ]="GFEDCBA"; //一个字符串s int p=6; //p为6while(s[p]!=‘D’) //s[6]开始循环,即从A开始满足条件打印。接着是s[5]即B也满足,然后是s[4]即C也满足。然后是D不满足退出循环{ printf("%c ", s[p]); //打印s[p]字符p=p-1; } //p减少1,即往前面移动return 0;}输出是ABC,我看不懂程序意思,求每行注释。 还有一题: main(){ int n1,n2; //两个整数scanf("%d",&n2); //输入n2while(n2!=0) //当n2不为0{ n1=n2%10; //n1为n2的个位数字n2=n2/10; //n2/10消除掉个位printf("%d ",n1); } } //打印n1即n2的个位数字 //整个程序的含义就是将数字123打印成 3 2 1

main() {
int i;//定义一个整型变量i for(i=3;i<10;i++) /*循环输出3-10(不包括10),能被4整除的不被输出(即输出35679)*/ {
if(i%4==0)//判断能不能被4整除 continue;//可以被整除则跳过此次循环,比如当i=4的时候,判断能被4整除了,则执行到\
//执行到continue的时候,将跳过接下来要执行的,直接到i=5的情况。(和break区别)
else printf(“%d,”,i);//当i不被4整除,则输出。 }
}
//结果为:35679
//-----------------------------------------------------------
.main() { int x; x=3;//初始化x = 3 do { printf(“%d”,x--);//先输出X的值(3),再将X-1 }while(!x); //X 不等于0,所以!x 等于0,即跳出循环 }//结果为:3
//-----------------------------------------------------------------
main() { int a=8 , b=1;//定义并初始化a,ba=a+b;//a = 9b=a*b;//b = 9printf("%d,%d",a,b); }
//结果为:9,9
//--------------------------------------------------------------------------- fun(int a, int b)//定义一个函数,传入a,b两个参数(其实就是比较两个数的大小,把大的返回) { if(a>b) return (a);//如果a>b,就返回a Else return (b); }//否则(即b>=a),就返回b
main() { int x=3,y=8,z=6,r; r=fun(fun(x,y),2*z);//分两步,第一,比较x和y,得到xy中最大的(显然y比较大为8),第二,把x,y中最大的(y)和2*Z比较(即8和2*6比较),显然2*z比较大为12,所以r=12
printf(“%d
”,r); }
//结果为:12
//------------------------------------------------------------------------
main() { int n; For(n=3; n<=10; n++) { if(n%5= =0)break;//break和continue的区别来了,break是直接跳出循环,continue是只跳过这次玄幻,比如n=5的时候,正好可以被5整除等于0,则执行break;就直接跳出循环了,而continue,则还会执行n=6,n=7的情况 Printf(“%d”,n); } }
//结果为:34

首先&& 和 || 运算都是逻辑运算符。在进行逻辑运算时,如果两边的量是数值,则非零的值都被认为是真值,否则为假,真值用1来表示,假值用0来表示;如果是表达式,则如果表达式是对的,则它是真值,所以用1表示,否则用0表示。

9&&(-1)因为两边都是真值(非零数),所以又可以看做1&&1,&&的两边都是真值,所以最终值为真,即结果为1

!(a>b)=!(3>4)因为(3>4)是错的,所以用0表示,又因为前面!,所以用1表示

(!c)因为c=5,不等于0,所以c是真值,前面加个!,就说明整体是假值,所以最后逻辑值为0

另外,扩展一下,对于这道题中的c,!!c的值应该为1。!!c=!(!c)
=(!0)=1。这也是通过上述解释得到的。

在做逻辑运算的时候除0以外的数 默认为1 0默认还是为0
所以上面的9&&(-1) 其实是1&&1 结果为1
!(3>4)为1 因为3>4为假 所以是0 然后取非 所以就为1
c=5 在逻辑运算时 认为是真 所以是1 所以!C就是假 所以是0

首先把优先级搞明白了,然后不为0就表示真,所以!x(其中x是一个不为0的数)就表示0了;如果X=0的话!X就表示为真了。这个挺有用,就像while(1)就可以用来表示一个死循环,当然也可以用while(x),x要不为0。等同于for(;1;)

只有为0表示假~

在C里面初了0的数都是真的,0是假的。9&&-1等价与 真&&真 结果就是真的了。!(3>4) ---> !(0) ---> 1 。1在非就是0了。

原因很简单!该法如下,不懂Hi我

该法一:

int max, max_row, max_col;
int min, min_row, min_col;

改为:

int max,max_row=0,max_col=0;
int min, min_row=0,min_col=0;

该法二:

if(max<data[i][j]) 改为 if(max<=data[i][j])

if(min>data[i][j]) 改为 if(min>=data[i][j])

如果对你有所帮助,请记得采纳最佳答案,谢谢!
你的串号我已经记下,采纳后我会帮你制作

  • 初学者怎样看懂c语言
    答:循环);第二步:看懂每个语句的功能、含义和它的作用;第三步:试数(看不懂某一语句的功能,含义是什么,可以试着用所学知识去单独测试这个语句,尝试写分析过程,把自己当计算机一步步执行)。总结 初学者看懂c语言可以分三步进行,首先看懂程序的流程,然后看懂每个语句的功能,最后进行试数。
  • 我是个C语言的初学者,现在看着网上有的程序看也看不懂,C语言难吗?
    答:我可以明确地告诉你,你只要不搞高深的计算科学研究。你掌握基本的初中数学知识就够了。微积分对你学c没有任何作用。另外给点学习建议:1.学习兴趣最重要,最初不要去参加什么所谓的考试。什么级什么的都屁用没有。你水平到了以后自然就不怕这些了。2.c语言其实很难。说c比java简单的人估计是不懂...
  • C语言这道题怎么看啊,完全看不懂啊!!!求解
    答:第一个while先把a指向字符串的尾部;然后让a从后往前移动,遇见‘*’就置为‘\0’表示把‘*’删除;第二个while的终止条件就是碰到不为‘*’的字符!
  • C语言书上例题看不懂,能帮忙看一下吗?
    答:我用文字解释一下吧,看看能不能清楚,提问的式子我都进行了加粗,希望能看得出来(图的话我觉得给出的图已经可以参考讲述的,可以结合我的文字看看)这个传递数组名称的函数,输入有两个,一个是数组,一个是数组长度 那么我们知道:如果传递的n是10,数组长度是10的话,它的元素的索引应该是0-9,...
  • 是这样,这道题我必须得今天弄懂,(c语言初学者,还比较菜,太高深的技术...
    答:为方便你理解,数组和循环我都没用,就单纯if判断,最简单的了。include <stdio.h>int main(){ float a,b,c,d,sum=0; scanf("%f%f%f",&a,&b,&c,&d); sum=a+b+c+d; if(a>3) printf("A:%.2f\n",a/sum); if(b>3) printf("B:%.2f\n",b/sum);...
  • C语言初学者,图中这题看不懂,附带两个绿笔描述的问题,求不嫌弃助力QAQ...
    答:相当于while(0<=2);
  • c语言面题目一直看不懂,就几行代码,有答案
    答:问1: pA + 10 = (unsigned long)PA + 10 * sizeof(*PA)= 0x10000000 + 10 * 16 问2:(char*) pA + 10 = (unsigned long)PA + 10 * sizeof(char) = 0x10000000 + 10 * 1 问3: (int*) pA + 10 = (unsigned long)PA + 10 * sizeof(int)= 0x10000000 + ...
  • C语言编程求回文的程序,我是初学者,以下程序看不懂,求高手解释。
    答:求回文数的程序:回文数是从右向左读和从左向右读都是一样的。比如15651,1221等。这个程序是验证用户输入的一个四位数是不是回文数。但是程序好像有错误:举个例子:用户输入5885。先分离数字,a,b,c,d分别等于5,8,8,5。然后判断a是否等于d且b是否等于c。如果条件满足则是回文数,否则不...
  • 这道c语言的题看不懂咋做啊我需要过程
    答:16转2进制,简单,没位代表4位,a=十,b=十一;四位按8 4 2 1 的权,十就是1010,十一就是1011,合在一起就是10101011 就是说是1的位加起来是A、B
  • 这道题我看不懂,c语言问题,
    答:输出结果为:4423 这段程序是将字符串“444x33y22z”从第一个字符开始,没间隔一个字符判断一次,若为数字字符,则显示该字符,直至字符串结束。