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
现在给出变量a、b、c等,那么就要告诉编译器a、b、c是什么类型,否则编译器不知道该如何在内存中存储该变量。那怎么告诉编译器,这就要在变量定义时给说明一下,也就是你问的这样:int a,b,c。
如果你前边不加int,那编译器就要问了,你给我的到底什么样的a,b,c呢,你要我怎么在内存中存放呢?
举个通俗的例子,就是每个人都有自己的国籍(相当于类型),比如,别人(编译器)问你这是哪的人时,你总不能只告诉人家这就是人,没有国籍。
有不明白的可以Hi我:)
int val1, val2, val3 定义3个整型变量(用来放整数的空间),后面是变量名
int product(int x, int y); 定义了一个方法(函数的另一种名称),调用这个方法时,需要给它2个整数,由该方法里面的X Y接收, 然后方法运行完毕后,会拿出一个整数值,返回给调用该方法的地方(用return 返回)
int main( void ) 同上面一样,一般main前面都是int
int 是一个关键字,表示整型,放在变量前,就是定义一个整型变量,放在方法名前表示该方法运行完毕后 必须返回一个整型的值
类似的还有 字符型char 单精度浮点型float 双精度浮点型double 等等....
int就是一个格式的申明,是整型的意思,也就是整数
例如,int a,b,c;
就是说,abc他们三个都是整数
这样的程序代码你最好先不要去看,因为你连最基础的int是什么意思都还没搞清楚,这样只会让你越看越糊涂。你现在要看的是基础知识,先把基础学好了,再回来看那段代码就容易了。int是整型的意思,是用来定义变量、函数、指针、数组……等等的类型,如果在变量名前面出现int,代表这个变量的类型是整型,如果在函数前面出现int,则代表这个函数类型是整型…… 要多看书,这都是比较容易理解的。
整型变量的基本类型符为int,可以根据数值的范围将变量定义为基本整型、短整型或长整型。
int a,b /*指定变量a,b为整型*/
int v1,v2,v3 (指定变量v1,v2,v3为整型)
int product(int x, int y);(函数值为整型)
int main( void )(主函数数据类型为整型)
int product(int x, int y)(前面为函数数据类型,后面是实参数据类型)
在C语言中菜鸟问题
include<stdio.h> main(){\/\/scanf("%6.2d,%6d",&a,&b);这样写是错误的,你得到的数是随机数,不是正确的数,切记输入可以指定宽度但不能指定小数位数,不论是什么类弄的数,输出可以指定 \/\/改成下面我写的就可以了,不过输入时记住两个数之间要用逗号隔开,它们都是取6位 int a,b;scanf...
C语言的菜鸟问题
在C语言编程中,void表示无返回值,意味着该函数执行完毕后不会返回任何值。main()函数是C语言中的特殊函数,由操作系统自动调用,并在执行完毕后返回给操作系统。因此,当函数头为void main()时,表明该函数不向操作系统返回任何值。在这种情况下,无需在函数体最后添加return语句,如return 1;。然而...
c语言菜鸟问题
我这个实现了:例如:把abc+ced-hij opq-rst&&&uvw *xyz 转换成:xyz+uvw-rst opq-hij&&&ced *abc include <stdio.h> include <string.h> include <malloc.h> define is_char(x) (x >= 'a' && x <= 'z' || x >= 'A' && x <= 'Z')typedef struct strr { char *str;\/*...
我想请问一个关于C语言超级菜鸟的问题
在使用标点符号时,应遵循编程语言的规范,即使用英文标点符号,而非中文标点。因此,正确的形式应为“"”,而非“”。针对路径设置问题,通常在配置开发环境时,需要在指定位置设置路径信息。完成设置后,务必选择"Save options"选项,并按回车键以保存设置。忽略这一步骤可能会导致路径信息未被保存,从而...
请回答菜鸟一些C语言问题
在你的代码中100&&y*y是没有实际意义的,因为条件语句x*x==i+100&&y*y==i+268是一个整体,如果要分成几部分的话,可以如下所示:((x*x==i+100)&&(y*y==i+268))之所以这样的分是和各个运算符的优先级相关的,在C中关系运算符优先级低于算术运算符高于逻辑运算符,而这里==为关系...
C语言菜鸟问题如下
++ 这个操作符你没有理解, ++如果放在变量的前面就是前加,而前加操作,是在运算式运行之前执行的, 也就是说d+=++p+(++p)两个++p 都在这个运算表达式之前就执行了,那么在执行这个运算式之前 p就已经被++过两次了,所以在运行运算式之前P的值就是5了。所以结果是15 p+++p++ 这个是后加...
C语言菜鸟问题
include "stdio.h"main(){ int y, x;scanf("%d",&x);if(x==0){y=0;printf("y=%d",y);} else if(x>0){y=1;printf("y=%d",y);} else {y=(-1);printf("y=%d",y);} } 如上加上三对大括号就行,这应该是你的本意吧 ...
C语言菜鸟问题
呵呵 以其中一个为例子做解释 char ch1='A',ch2='b',ch3='2';yn1=ch1>='a'&&ch1<='z';因为a到z的ASCII码为97~122而A到Z的ASCII为65~90所以,字符类型的变量在内存中占据一个字节,并且实际可以对应到0~255的数值。通过逻辑运算的大小比较,自然就可判断是大小写咯 ...
C语言菜鸟问编程问题
include<stdio.h> include<string.h> include<stdlib.h> void readin(double *p) { int i;for(i=0;i<10;i++)scanf("%lf",p+i);} void product(double *p,int n){ int i;double sub;sub=1;for(i=0;i<n;i++)sub=sub*(*(p+i));printf("%f ",sub);} double *init(int ...
c语言菜鸟不懂就问!!!
1.printf中输出的%c和%d一个是输出字符。一个是输出整型值,所以第一个输出肯定不是50勒,而是字符'2'.2.还是数据类型的问题,char c=32 :是将32这个整型值赋给字符变量c,编译系统会自动将数值32强制转换成对应的字符赋给c,而char c='32' 则是将字符串'32'赋给变量c 3.主要理解if(...