有问题就有答案
Q1:当a=3,b=2,c=1时,为什么a<=b+c为假?
同学,在C语言环境下,当a=3,b=2,c=1时,关系表达式a<=b+c的值为逻辑真。不知你是从哪儿听说,或者看出来,还是C语言运行结果得到这样一个结论,命题为假?请告知其来源。
Q2:c语言问题
10、A当第一个i=0时,第二个i要循环i=0、i=1、i=3…i=5次; 同理:当第一个i=1时,第二个i要循环i=0、i=1、i=3…i=5次;因此:共循环5*6=30次11、D 这个考优先运算符:if(i++==1&&(++j==3||k++==3)),此句中括号最优先执行(++j==3||k++==3),j的初始值是2,++j执行后j=3,所以 ++j==3为真,即(++j==3||k++==3)), k++==3就不用判断了。I初始值是1 ,执行后i=2,所以i++==1为假,程序执行下一句printf("%d %d %d\n",i,j,k),最后答案:2 3 312、D为使此程序段不陷入死循环,while (t!=n)必需为假!s=0+1,t=1-2=-1当while (t!=n)都为真时,t=-3、t=-5、t=-7….所以要使条件为假,n必须得任意负奇数D。13、D A.因为f=0,所以 f*=i最后的值,最后也是0不可能得n!B、for(i=1;i<n;i++) 此句应该为for(i=1;i1;i++) 此句应该为 for(i=n;i>1;i--)14.D循环中 K N 5 0 4 0 3 3 2 5 1 615.C循环中 b a 1 3 2 5 3 7 4 9 5 循环结束16.B 代入法一个个试试最快最准确17.A 循环中 i 暂时输出值 0 0 1 111 2 22 输出结果为01112218.D 条件是“p!=12345 &&n;<3” “&&”的反面是“||”,即只要满足一个即可,故用“或” “!=”的反面是“==”,即等于 “=”,即大于等于19.C if(i==5) break;即到5就结束,故循环5次20.A 循环中 i a 1 8=3+5 2 16=8+3+5 3 26=16+2+3+5 4 31=26+5
Q3:C语言问题
可以具体化,比如第一天的桃子数是10个,它吃掉一半后还有5个,然后再在剩下的5个中吃了1个,所以还剩4个。即第二天早上没吃之前有4个,(4+1)*2=10 而4*2 + 1=9 。也可以列方程看:X1 /2 -1 =X2 。然后自己变。至于你的哪儿错了,自己慢慢找给你一个参考:#include#includevoid main(){ int day; int geshu=1; int i; for(day=10,i=1;day>1;day--,i++) { geshu=(geshu+1)*2; printf("第%d天的桃子书为:%d\n",10-i,geshu); } system("pause");} 第一天到第二天:吃掉一半--->吃一个那么从第二天返回来找第一天是就应该是: 加一个----->乘以2;考虑先乘还是先加,关键看离谁近
Q4:关于c语言的几个问题。
1.不详细看,看http://hi.com/deep _ pro/blog/item/b3c f89 FB 54 d2b 31 c 6d 22 ebbc . html 2 . getch()从标准输入设备(键盘)读取字符,但不在显示器上显示。示例代码: # include # include # include int main。Printf("请输入一个字符: ");ch=getch();//输入字符时,输入字符printf("输入字符为:%c ",ch)在屏幕上不可见;//输出字符返回0;}getche()从标准输入设备(键盘)中读取一个字符,并将其显示在显示器上。示例代码: # include # include # include int main(){ char ch;Printf("请输入一个字符: ");ch=getche();//输入字符时,可以在屏幕上看到输入字符printf("输入字符为:%c ",ch);//输出字符返回0;}getchar()从标准输入设备(键盘)中读取一个字符并在显示器上回显,但只将第一个字符返回到ch示例代码: # include # include # include int main(){ char ch;Printf("请输入字符: ");ch=getchar();//输入字符时,可以在屏幕上看到输入的字符,可以是字符串,但只能返回第一个字符ch printf("输入字符为:%c ",ch);//输出第一个字符返回0;}3.我不会发http://hi.com/vv 1133/blog/item/08 EAC 3fa 222 a 2c 839 f 514684 . html。
Q5:C语言的一个问题
具有截断效应。只有当a和b都为真时,a和b才能为真。如果a是假的,此时不管b是真还是假,都是假的。因此,此时程序将不再执行b的判断,对应上述,即如果k的判断为假,则n ^ 2将不再执行。k首先是k的值,然后是1。一开始k=0表示假,所以整体为假,不需要执行n ^ 2,不满足循环条件。循环结束,因此k=1,n=2。
Q6:关于C语言程序的几个问题
1.1)没有 因为(++a2 || a=5>10 因为3>2为真,可以决定整个表达式的值为真了,已经没必要判断后面的真假了,所以a=5>10不会进行运算判断了,a的值还是100 2)先自减再printf 为什么呢?看例子。例子int b=10;if(b--<=10)printf("%d\n",b);//输出的是 9这个例子不就是先自减了再输出??2.1) 6个 *号2)\t是转义字符算一个字符 后面的a是一个字符 \01是八进制算一个字符 数字8不包括在内算一个字符 bc算2个字符3.b=0 因为!c为假故整个表达式为假 值为0运算符优先级:先 !运算 再 &&运算 最后 =(赋值)运算4.指向字符串,就输出指向的字符的ASCII值,而不是整个字符串。指向数组元素,就输出该元素5.没有,因为printf没有要求输出一个分隔符啊除非写成printf("%d-",a[i]);这样每输出一个数后面就跟个 - 符号6.那要看实参传递的是地址还是数值?如果传递的是数值既是 值传递 等于多COPY了一份值用来传递,对形参的操作不会影响到实参如果传递的是地址,等于把实参的内存地址传递给了形参,对形参的操作既是对实参内存地址的操作,当然会影响到实参的值了7.没有8.输出的数值列宽为3,其中小数部分占0列比如,a=123.5,输出124 (超出部分按四舍五入)其实上面很多问题都可以直接上机调试下啊,这个也是自己学习锻炼的机会如果你不知道int b=10;if(b--<=10)printf("%d\n",b);这个例子是先自减 再执行printf 还是先printf 再自减直接看调试结果不就明白了,如果是先printf 再 自减 ,那么答案就不会是9了而是10