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

函数printf有原样输出的功能。 就拿第2个题对比第1个题讲哈, 其实第2个题也可以将a+u=%d,b+u=%d改成%d,%d, 输出的结果是不会变的,变的只是多了个“a+u=”的算式。其实第2个题中输出的形式主要想与程序中的c=a+u;d=b+u;算术表达式对应。
语言中对于输入输出函数表达讲究:一般要求格式符号的个数与变量个数一样。特别是scanf语句的时候,要求取地址符号。
我们上学期才学习完,一起努力哈

a+u=%d,b+u=%d\n
这个里面的a+u=和b+u=是要在屏幕上显示的字符,而%d则表示在该位置上要显示一个整型变量,而这个变量在后面会给出,也就是后面的c,d两个变量,这两个变量的将按其顺序显示在a+u后和b+u后。

printf("%d,%d\n",a,b); 输出的只是结果。
printf(“a+u=%d,b+u=%d\n”,c,d);输出的是算式。
如果定义了a=1,b=2,u=3
则printf("%d,%d\n",a,b); 输出的是1,2
printf(“a+u=%d,b+u=%d\n”,c,d);输出的是1+3=4,2+3=5

程序2里面有个错误:在printf里面的引号应该是小写下的引号,不是大写下的引号,即是半角符号。

上一楼的朋友,”如果定义了a=1,b=2,u=3
则printf("%d,%d\n",a,b); 输出的是1,2
printf(“a+u=%d,b+u=%d\n”,c,d);输出的是1+3=4,2+3=5 ”是不对吧,第二个输出怎么可能是1+3=4,2+3=5,而是a+u=22,b+u=-14.是不是你的C语言编程工具高级一些.


C语言菜鸟问题:形参与实参的作用
<5> C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传绐形参,而不能由形参传回来绐实参,这是和fortran不同的。在内存中,实参单元与形参单元是不同的单元。调用函数时,绐形参分配内存单元,并将实参对应的值传递绐形参,调用结束后,形参单元被释放,实参单元仍保留并...

C语言菜鸟问题
C语言中逗号“,”也是一种运算符,称为逗号运算符。 其功能是把两个表达式连接起来组成一个表达式, 称为逗号表达式。其一般形式为: 表达式1,表达式2 其求值过程是分别求两个表达式的值,并以表达式2的值作为整个逗号表达式的值。void main(){ int a=2,b=4,c=6,x,y;y=(x=a+b),(b+c)...

c 语言 菜鸟问题
1. scanf 函数原型 int scanf( const char *format, ... );scanf()函数是格式化输入函数,它从标准输入设备(键盘) 读取输入的信息。其调用格式为: scanf("<格式化字符串>",<地址表>);函数 scanf() 是从标准输入流 stdin 中读内容的通用子程序,可以读入全部固有类型的数据并自动转换成机内形式...

C语言菜鸟问题(13)
你你你……运行结果:a回车 a b回车;b cdef回车 c 解释:getchar()是输入一个字符;putchar()输出一个字符;比如putchar(c)就是输出c,可是c是个变量,即输出c的变量的值……再说那个循环,k=0开始知道k=5,一共六次。回车意思是结束输入 (它也是作为一个字符存入缓存的,假如多个相同...

C语言 菜鸟问题
分析这个数列的分子分母,明显看出分母等于项数(n),第n项的分子等于前一项(n-1)的分子和分母相加。设分母是a(n)=n,分子式b(n)。于是,第n项我们可以这样表示:[a(n-1)+b(n-1)]\/a(n)。又因为是要求前二十项,所以选择for循环实现,分子分母分别用两个整形数组表示。最后的结果...

c语言的菜鸟问题
{ int num,cnt=0; \/\/这里声明了num和cnt的初始值都是0 printf("enter a number: ");scanf("%d",&num); \/\/这里我们输入一个数,假设这个数是3 while (cnt<num) \/\/1.cnt < num :当cnt小于num时,while循环里面的语句就不断的重复 { printf("number %d: %c",cnt,cnt);printf("...

一个关于汇编语言的菜鸟问题,帮忙详细写出谢列程序段的功能
具体分析:cld设定方向标志DF=0,在执行串处理指令时可使地址自动增量。movsb把原变址寄存器si指向的数据段中的一个字节传送到目的变址寄存器di指向的一个字节中,同时根据DF增加或减少变址寄存器中的值。rep重复串操作直到cx中的内容为0,每执行一次cx减1。要知道更详细的还是看书比较好。参考资料:《...

C语言 菜鸟题
原则是两两运算时尽量保持最大精度,而刚才的那行运算均为整型,故结果也只能是整型。你可以这样试试:y=(js(3)+js(4)+js(5))\/((float)js(6)+js(7));将js(6)的结果转换成浮点型(转换任意一个都行),编译器为了保证最大精度,结果会以浮点型保存并显示。

C语言菜鸟的问题
int main()return 0;和main()都是主函数,不过上面返回的是整型值,下面没有写int 但是有的编译器默认的是他也返回整型值即便你没有写int,有些编译器默认他返回的是空,见过void main()这样写的吧返回的就是空。用哪种要根据编译器而异,根据我的经历,有些编译器要求必须显式的写上int有些则...

C语言菜鸟问题(2)
编译器从右往左执行,所以先是 d = 20\/3,这里 20 和 3都是int 类型的,所以 20\/3 这个结果就是 6 ,那么d = 20\/3就等同于 d = 6,d 的值就是 6.0 同样的道理,i f l 就都是 6了 所以答案是A 另外你粘贴的程序 也有点小问题,程序也修改好了,代码如下:main(){...

陇川县18750855874: 自学C语言,菜鸟级问题 -
旗封碘帕: 第一个%d,就是后面的变量c的值,第二个就是变量d的值,那个\n ,是个转义字符,就是换行的意思(和word中的回车一样),目的是为了显示好看一点楼主可以把那个\n去掉看看没有换行的效果printf(“a+u=%d,b+u=%d”,c,d);

陇川县18750855874: 菜鸟级的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); } 你可以试一试

陇川县18750855874: C语言菜鸟问题 -
旗封碘帕: 你调用的这句sort( &aa[3], 5) ;明显是只对4,5,6,7,8这几个元素进行排序嘛 所以结果应该是1,2,3,8,7,6,5,4,9,10, 改成sort( &aa[0], 10)就行了

陇川县18750855874: 关于C语言的菜鸟问题 -
旗封碘帕: 出现这样的原因是因为你写的程序已经运行完了 窗口被关闭了.以后出现这样的问题就在你的程序的最后加几个 getch(); (getch();这个在TC中,如果VC6.0就用getchar();) 这个函数可以让你的程序暂时"停"下来.比如下面这个程序:#include<stdio.h>int main(){printf("C language.");} 一运行就没有了 如果你改成下面这样:#include<stdio.h>int main(){printf("C language."); getch();} 我想你应该明白了吧,祝你成功.

陇川县18750855874: C语言的菜鸟问题...表达清楚的进!大家速度啊!!
旗封碘帕: if(a=5)相当于a=5;if(a);这个条件是永远成立的.if条件中要么是真,要么是假.C语言中0表示假,非0表示真,a的值是非0,这个条件就永远成立,if(a)就与if(5)、if(1)、if(10000)等价,只要条件里的不为0就是真,它就成立!

陇川县18750855874: c语言菜鸟问题 -
旗封碘帕: 不一样 比如 int a[10]; 则定义了 10个 数组元素a[0]-a[9]而 a[0]就是首地址 其他的地址如 a[1]是 a[0]地址加1 以此推... 用数组的方便一直就是找到了 首地址 就可以找到其他数组元素

陇川县18750855874: C语言 菜鸟题 -
旗封碘帕: 程序的功能就是输入7个数字,然后程序会将你输入的打印出来 代码说明如下:main() { int i,*p,a[7]; p=a; //p执行数组的头,可以通过p对数组进行操作 for(i=0;i<7;i++) //for循环,输入7个数字到数组a中 scanf("%d",p++); //输入,p执行数组的具体成员 printf("\n"); p=a; for(i=0;i<7;i++,p++) //变量数组,输出数组内容 printf("%d",*p);}

陇川县18750855874: 菜鸟问个C语问题
旗封碘帕: 你的第一个SUM 和第二个 SUM 不一样,虽然都是SUM 第一个就是A 除以B 而第二个 则是 A除以B所得的结果 再去除以C 这属于赋值的问题

陇川县18750855874: 菜鸟的c语言问题
旗封碘帕: #define ReadFlash(adress) (*((volatile INT16U *)(adress<<1))) 这是一个带参宏定义,一般写在程序的开头. 它表示在下面的程序中 出现的ReadFlash(adress)的地方全部用(*((volatile INT16U *)(adress<<1)))进行替换,其中adress是参...

陇川县18750855874: C语言的菜鸟问题,大家帮帮忙 我是自学的 -
旗封碘帕: 你有如下问题:1.变量必须先声明后使用,并且变量的声明要放在开头.我不明白int x=a的本意,你是想直接定义个整形变量x,且值为a吗?如果是,有如下问题:如问题1所述,声明放在前面.x=a;a是浮点类型、x是整形,这样的赋值,浮点数的小数部分会丢失,就是说x中只有a的整数部分.看看我改的程序是不是你想表达的意思:#include #include main(){ float a; int x; scanf("%f\n",&a); x=a; printf("%d\n",x); system("pause");}

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