高分!!!C语言菜鸟问题啊!!!!高分!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

作者&投稿:井荀 (若有异议请与网页底部的电邮联系)
C语言 菜鸟题~

因为你的那条赋值语句中,等号右边是两个整型进行运算,最终结果也一定是整型(这与等号左边的y无关),而且计算结果是小与1的小数,故取整后只能是零。

计算结果是根据所有参与运算数的类型来判断最终结果的类型的,原则是两两运算时尽量保持最大精度,而刚才的那行运算均为整型,故结果也只能是整型。

你可以这样试试:y=(js(3)+js(4)+js(5))/((float)js(6)+js(7));
将js(6)的结果转换成浮点型(转换任意一个都行),编译器为了保证最大精度,结果会以浮点型保存并显示。

++ 这个操作符你没有理解, ++如果放在变量的前面就是前加,而前加操作,是在运算式运行之前执行的, 也就是说d+=++p+(++p)
两个++p 都在这个运算表达式之前就执行了,那么在执行这个运算式之前
p就已经被++过两次了,所以在运行运算式之前P的值就是5了。所以结果是15
p+++p++ 这个是后加,即表达式结束之后再做++操作,结果自然是11

问题1:任何常量数字比如100.79,300.44都是用double存储的。而%f也可以打印double类型,所以你明白吧。

问题2:这个根据不同编译器会有些许不同,但是一般,都是由计算机CPU中的浮点运算单元完成2进制的转换的。一般是取整数部分化为整数。

是的,包括指针都行,但是现在有些编译器限制了部分强制转换!比如double转换成void*就不行了在vc2005中。

问题3:孩子,char和int在计算机中都是用补码表示的,至于补码以自己到百科看看吧,书上说的没错呀!!!(int、char不是直接转化的2进制表示的哦)

另外singed char 第1位符号为0的2进制正值的附值给int呢?前面是全补0还是全补1?

看完补码,你就明白了。

1、float精度就是那么高,小数点后6位。double好像是小数点后15位到16位。
2.你的例子有问题。float怎么转成ascII码?答案是不能,字符型的才能转换成ascii码。强制转换通常只是在int float double等之间转,char很少见的。一般字符变量可以和int型进行运算,在这时字符就以它的ascii码运算。
3.char型在内存中占16个字节前8个1是符号 。

1、float类型数据在输出时会显示到小数点后6位,但是有效数位只有7位,也就是从左向右第一个不为0的数字计算起7个有效数字,后面多余的0是因为%f的显示规定要显示到小数点后6位,double类型也会显示到小数点后6位,但是有效数位有15-16位,书上不是讲了吗,float类型数据在计算时会转换成double类型再计算(谭浩强的C程序设计)
2、ascII只能用字符型数据或整型数据表示,俩者的转换应该有一定的限制吧,或许浮点型转ascII会出错?或只是警告?没试过。。
3、将signed型的数提升为较长的signed型时,在增加的各个长度中各个位的状态与原来较短的数据中的符号位相同,即符号位为0时,新增加的位全置为0,否则全置为1。

1.i=(int)x%3;是求余,余数是1,正确的啊。

2。强制转化类型都可以用。

3。unsinged char只是存入int的低字节。不会有溢出的情况。


c语言,本人菜鸟,高手来
先看下运算符的优先级 ()\/ 除 表达式\/表达式 左到右 双目运算符 乘 表达式*表达式 双目运算符 左到右 余数(取模) 整型表达式\/整型表达式 双目运算符 左到右 + 加 表达式+表达式 左到右 先算(),x+a%3*(int)(x+y)%2\/4 = x+a%3*7%2\/...

C语言在线工具菜鸟工具能不能输入两次数据
C语言在线工具菜鸟工具能输入两次数据。每次要求用户输入时,可以通过调用标准库函数获取用户输入,如:getc(),gets(),getchar(),scanf("%d",&a)等等,你调用几次,程序就会要求用户输入几次,这个问题很容易解决的。\/\/参考代码如下:#include#define N 5int main(){ int i,a[N],j; for...

C语言指针问题,本人菜鸟,不懂,请大虾指教!!!急
首先是编译通不过 就算可以运行,结果是不确定的.p是在堆栈中分配的内存.当GetMemory函数结束后,这些内存可能会被其它函数使用。可能会覆盖p,所以结果是不确定的.堆栈是函数共用的,在一个函数中分配的内存,在函数结束后会释放掉,在进入另一个函数时,分配的内存可能会与上一个函数分配的内存重叠。

C语言菜鸟问题(32)
D A.fun("abc",3.0); \/\/字符串 B.t=fun('D',16.5); \/\/无返回值 C.fun('65',2.8); \/\/65是两个字符 D.fun(32,32); \/\/正确,32为ASC2码

C语言问题简单的很,菜鸟送分,在线等
{ char string[80];\/\/ Note that if you change the previous line to \/\/ char string[20];\/\/ strcpy and strcat will happily overrun the string \/\/ buffer. See the examples for strncpy and strncat \/\/ for safer string handling.strcpy( string, "Hello world from " ); \/\/ C...

关于C语言的菜鸟问题
楼上扯淡,small和big已经初始化了。1. 语法错误。i没有赋予初值。改发1:for(i>0; i<=10; i++)应为 for(i=0; i<=10; i++)这样实现11次循环;改法2:定义改成:int small, big, i=1;实现10次循环。2.inp=getchar();和putchar(inp);加在最后,去掉getch();前者表示从键盘读入...

C语言菜鸟问题
j],name[j+1])>0){ strcpy(temp,name[j]);strcpy(name[j],name[j+1]);strcpy(name[j+1],temp);} } } 2、打印字符出现上述情况多是在打印字符串的时候,一般可以分为两种情况:1、字符串指针没有赋值就打印。2、指针已经被delete以后,还去打印。一句话,就是说你打印的知识随机值!

菜鸟新手请教C语言问题~
先逐句分析:1、i++ < 7,成立时循环while。这句话判断的是i<7成立否,判断之后才运行i++,因为自增的优先级低于比较运输符。2、p[i] % 2,对2取余不为0时执行if,即奇数时执行if。3、j += p[i],累加。整体分析:这道题利用while循环对数组p进行了遍历,每次循环条件判断结束后进行自...

C语言问题简单的很,菜鸟送分,在线等
1.程序分析:用第一个与最后一个交换。2.程序源代码:define N 5 main(){ int a[N]={9,6,5,4,1},i,temp;printf("\\n original array:\\n");for(i=0;i<N;i++)printf("%4d",a[i]);for(i=0;i<N\/2;i++){temp=a[i];a[i]=a[N-i-1];a[N-i-1]=temp;} printf("...

请回答菜鸟一些C语言问题
其中自定义函数 sub(int x,int y,int *z){*z=y-x} int z \/\/表示定义Z变量 int *z \/\/表示定义Z指针,也可说是地址。main()函数中,sub(10,5,&a);其中&a表示给的是变量a的地址。和传变量的值不一样,是传变量A所要的内存地址。正如其它网友讲的,因为你传A的值到SUB函数的话,...

黄南藏族自治州14775788413: 超菜鸟级问题求abc三个数中的最大数用c语言 -
之伊盐酸: 展开全部#include void main() { int a,b,c,max; /*定义下几个数*/ printf("enter a,b,c:"); /*打印一个提示*/ scanf("%d%d%d",%a,%b,%c); /*输入3个数*/ max=max(max(a,b),c); /*这里套一个MAX函数,先比较1和2大小,再和3比较*/ printf("...

黄南藏族自治州14775788413: C语言的菜鸟级问题
之伊盐酸: break可以用在循环和switch语句,continue只用于循环. break是跳出块,continue只是这一次不做而已. 举个例子: for(i=0;i<10;i++) 如果循环体里面是break,那循环执行了一次就跳出了,如果是continue,则循环执行10次,只是continue后面的语句不执行罢了.

黄南藏族自治州14775788413: C语言的菜鸟问题...表达清楚的进!大家速度啊!!
之伊盐酸: if(a=5)相当于a=5;if(a);这个条件是永远成立的.if条件中要么是真,要么是假.C语言中0表示假,非0表示真,a的值是非0,这个条件就永远成立,if(a)就与if(5)、if(1)、if(10000)等价,只要条件里的不为0就是真,它就成立!

黄南藏族自治州14775788413: C语言的一道菜鸟题目...... -
之伊盐酸: #include main() { int day,sign; do{ printf("\n输入今天的星期:\t"); scanf("%d",&day); if(day==6||day==7)printf("周末愉快\n"); else if(day0)printf("工作日愉快\n"); else printf("输入错误\n"); printf("是否继续输入?(“Y”为继续,按任意键退出):\t"); }while('Y'==(sign=getch())||'y'==sign); } 给点分拉!

黄南藏族自治州14775788413: 自学C语言,菜鸟级问题 -
之伊盐酸: 第一个%d,就是后面的变量c的值,第二个就是变量d的值,那个\n ,是个转义字符,就是换行的意思(和word中的回车一样),目的是为了显示好看一点楼主可以把那个\n去掉看看没有换行的效果printf(“a+u=%d,b+u=%d”,c,d);

黄南藏族自治州14775788413: 菜鸟级的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); } 你可以试一试

黄南藏族自治州14775788413: 我想请教C语言几个超级菜鸟的问题1请问CTRL+F9和ALT+F
之伊盐酸: 很简单CTRL+F9是是程序运行的意思,ALT+F9是检查程序,ALT+F5是显示运行结果, (link symbol '-sanf' in module xxx.c)的意思是说,你把scanf错写成了sanf,所以程序没办法运行.

黄南藏族自治州14775788413: 关于C语言的一个菜鸟级问题 -
之伊盐酸: printf("%d%d%d%d\n",1+2,5,-2*4,11%3); "%d%d%d%d\n" 这里的点表示显示的小数位,给你看一个例子,%10.6f 表示输出的浮点数占10位,其中小数点后面有6位,整...

黄南藏族自治州14775788413: c语言超级菜鸟问题... -
之伊盐酸: 因为C语言中定义变量必须是在给变量赋值之前完成的,第一个例子中,int i 定义前面有赋值语句,所以会报错,但是C++中没有这个要求,他可以随时定义.

黄南藏族自治州14775788413: c语言菜鸟问题 -
之伊盐酸: 不一样 比如 int a[10]; 则定义了 10个 数组元素a[0]-a[9]而 a[0]就是首地址 其他的地址如 a[1]是 a[0]地址加1 以此推... 用数组的方便一直就是找到了 首地址 就可以找到其他数组元素

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