C语言学习中的问题
发布网友
发布时间:2022-05-26 16:22
我来回答
共5个回答
热心网友
时间:2023-10-27 11:19
getch();函数是一个定义在<stdio.h>中的一个函数。它的作用是等待从键盘上读入一个字符,其他什么也不做。因为比如你输出一个结果,程序一下子就执行完毕,你还来不及看结果。这个时候加一个这个函数就可以看到结果了,因为计算机还等你输一个字符再结束程序。
如
#include<stdio.h>
void main()
{
printf("hello!");
getch();
}
有getch();课看到结果,没有它则看不到结果程序就结束了 。
热心网友
时间:2023-10-27 11:19
这些题目主要考查的是:
运算符的优先级与结合性(你可以查表,一般教材都有)
我就列出这里要用到的这些运算符的优先级:(从高到低)
(
)、[
]、->、.
初等运算符
!
逻辑非运算符(单目)
(结合性:自右向左)
*、/、%、+、-
算术运算符(双目)(这里乘除的优先级高于加减)
<、<=、>、>=
关系运算符(双目)
==、!=
等于、不等于运算符(双目)
&&、||
逻辑与和逻辑或(双目)
=、+=、-=、*=、/=、%/
、>>=、<<=、&=、^=、|=赋值运算符
(结合性:自右向左。上面除!外都是自左向右)
好了,开始做题吧!
a=3,b=4,c=5
(1)a+b>c&&b==c
解:
1、
先计算算术运算符:
a+b得7
表达式变为:7>c&&b==c
2、
再运算关系运算符:
7>c,因为c=5,所以这句为真,返回值为1
表达式变为:1&&b==c
3、
最后进行逻辑与的判别
b==c,显然为假,返回值为0
表达式变为1&&0,可知不成立,返回值为0
所以答案为:0
(2)a||b+c&&b-c
解:
b+c=7,b-c=1
▲表达式变为:a||7&&1
a||7,因为a不为0,7也不等于,满足至少有一者不为0则为真的规则,返回1
▲表达式变为:1&&1为真
所以答案为:1
(3)!(a>b)&&(y=b)&&0
解:
(a>b)即(3>4)为假,(y=6)即将6赋给y,等价于(6)为真
表达式:!0&&6&&0
表达式:1&&6&&0
表达式:1&&0为假
所以答案:0
(4)!(x=a)&&(y=b)&&0
解:
表达式:!3&&4&&0
表达式:0&&4&&0
表达式:0&&0为假
所以答案:0
(5)!(a+b)+c-1&&b+c/2
解:
表达式:!7+c-1&&b+c/2
表达式:0+c-1&&b+c/2
表达式:4&&b+2
表达式:4&&6为真
所以答案:1
有不清楚的,追问喔!
热心网友
时间:2023-10-27 11:20
如果你用的是C++的编辑器,那这个getch()对你就没用了.我不是粘贴一族,楼上说的对.这个getch的作用就是让你在运用程序时能够看到结果(通过按任一键的形式达到该目的),而不是迅速的闪过去.一般来说在WIN TC中会用到这个函数.不过由过现在学习C语言全是用的C++环境(不用加这个也能看到结果),所以很少有人用属于C环境的TC了,要用也用TC++
getch()对程序的运行结果没有任何影响,只是为了让你看到结果而以,且只有在C环境下才可能用到这么个东西.不用太在意的.
热心网友
时间:2023-10-27 11:20
(1)a大于0而且b等于c;
(2)a||((b+c)&&(b-c)),
b+c不为0,而且b-c不为0,或者a不为0;
(3)当a<=b时,b的值赋给y
(4)将a的值赋给x,当a为0时,将b的值赋给y
(5)当a+b为0时,如果c不等于0,而且b+c/2不为0,则表达式为真;当a+b不为0时,如果c不等于1,而且b+c/2不为0,则表达式为真;否则都为假
热心网友
时间:2023-10-27 11:21
如果我没猜错 楼主说的情况应该是在TC中出现的. 它是意思是将运行的各种结果显示出来. 打个比方.在玩游戏的时候 显然看到的是秀美亮丽的画面 显然是看不见各种C语言中得代码的 因为它只是运行于后台 而且每个过程几乎都是一瞬间得事 所有如果楼主编写程序想求什么东西 那么运行的一瞬间 TC便已经得出了结果 可是我们无法看到 为什么呢 可以理解为运行之后 被释放了 并不再存在于内存之中. 而要让其留在内存中gentch()便产生了功效 让运行的结果显示出来.
本人也是C语言新手 纯粹是个人理解. 如果不对请谅解
希望对你有所帮助