关于c语言的问题: 拜托大家给我解答这两道题,我想知道为什么,

作者&投稿:慎虞 (若有异议请与网页底部的电邮联系)
C语言,拜托大家了?~

整型变量a的初始值是10,赋值语句是一个逗号表达式,它的计算方法是从左到右依次计算,最后一个表达式的值就是整个逗号表达式的值,也就是a+4的值就是14,然后把这个14赋值给a,所以程序运行后输出结果是
a=14

m=0256 -- 0 开始的数,其它 数字为0到7,是 8 进制数
%o 是 按 8 进制数 格式 输出。
所以 printf("%o %o
",m,n); // 不是 mn,n, 应是 m,n
m 输出 256
---
n=256 -- 这里256是10进制数。
%o 是 按 8 进制数 格式 输出,10进制 256 要转 8 进制数
256 除 8 得 32 取余数 0
32 除 8 得 4 取余数 0
4 除 8 得 0 取余数 4
10进制 256 的 8 进制 为 400
--
运行输出
256 400

你的程序有问题,分析题意,我做了一点变化:
1、有以下程序
printf("%o %o\n",m,n);

2、已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>。输出结果是
a=a-'A'+'0';
对于第一题:m=0256,赋值语句将m变为八进制数,所以,输出时以八进制直接输出256,;n=256,n是十进制变量,以八进制输出时,系统自动转换,就是400.
对于第二题:getchar()只提取一个字符赋给a,故a='B',scanf()则是输入int型到b,则b的值为33,之后是相应的运算,只有自己体会,无法向你说明白!

1 A
m = 0256 ,这是8进制数256,因此用8进制显示就是256
n = 256,这是10进制数256,用8进制显示就是400

2 A
a = a - A + 0;//该句会报错,A未定义,应是'A'才对

1.m=256,n=400
%o是输出八进制数,0256本身是八进制数,而256是十进制,需转换成八进制。
2.1 B
首先你的程序没定义A,其次,a应该以整数输出是吧
加上char A,并且printf("%c %c",a,b);改成printf("%d %c",a,b);
B-A是1;b=33*2=66,再改成字符型是B

除8取余

a=a-A+'0' 这时 a='1'

b=b*2; ==66 66的ASCII代表的是B

所以答案是 B


清流县19510662202: 关于C语言的一些小问题?求解答一下 -
锐策东药: 1,scanf是根据格式需要进行输入,gets是输入一行. 2,结果为4,8,s=4因为int为4字节,double为8字节 3,答谢字符当然为第一个,就是在A和Z之间 4,结果为0 void main() { int x=1,y=0; if(!x) y++;//=====!x为0故不执行 else if(x==0)//======x!=0不执行下面两个语句 if (x) y+=2; else y+=3; printf("%d\n",y); } 希望回答能帮到你,哪里不清楚再问.

清流县19510662202: 关于C语言的问题,猴子吃桃!猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾有多吃了一个,第二天早上又将剩下的桃子吃掉一半又多吃了一个,以... -
锐策东药:[答案] 这个问题简单的解是: #include intmain() { inti,x=1; for(i=9;i>0;i--) x=(x+1)*2; printf("第一天共摘了%d只桃子\n",x); return1; } 运行结果: 第一天共摘了1534只桃子 这是用循环做的,其实这是一个典型的数列问题 可以得出公式的. 我给你解一下...

清流县19510662202: C语言编程问题请各位大侠帮忙看看我写的程序有什么问题?谢谢了!要
锐策东药: 你的程序少写了一个字母,你把倒数第四行那个 printf 改成 fprintf 就好了. 我测试过了,没什么问题:) ---------------------------------------------- #include void main() { char str[5][60]; FILE *fp; fp=fopen("d:\\abc.dat","w+"); int i; for(i=0;i 全部

清流县19510662202: C语言问题解答
锐策东药: 形参出现在函数定义中,在整个函数体内都可以使用, 离开该函数则不能使用.实参出现在主调函数中,进入被调函数后,实参变量也不能使用. 形参和实参的功能是作数据传送.发生函数调用时, 主调函数把实参的值传送给被调函数的形参...

清流县19510662202: 请问大家一个c语言编程的问题 -
锐策东药: 1.取模这个操作是不能用float型作为操作数的2.从你的意思来看似乎是想要输出所有能被某数整除的数,那你的输出的数字就错了应该输出i3.第二个while这里有问题,要是一旦整除会出现死循环无...

清流县19510662202: 关于C语言的问题~~~ -
锐策东药: getchar()函数是从输入缓冲区中读取数据,同理putchar()也是,也就是说程序执行时,你被允许输入一串数据,它们都会保存在缓冲区中,然后这两个函数分别依次从中读取.所以实际效果是字符串. 如...

清流县19510662202: 急!关于一道c语言的问题?大家进来看看吧 -
锐策东药: 答案是GFEDCB解释:刚开始字符指针chp指向b[7]的地址,即字符串结束标志'\0'的地址,然后执行while语句,--chp的意思是指针chp向前移动一个单位,即指向前一个字符...

清流县19510662202: C语言问题,求原因解! -
锐策东药: %X代表十六进制,p代表a数组的首地址第一个printf()输出194就是说数组a的首地址是十六进制的194p+9就是指向0的位置,a中每一个元素占用2个字节,那么从a的开始到0共占用2*9 = 18个字节18的十六...

清流县19510662202: 【求解!!!】C语言的编程问题!!! -
锐策东药: 首先要找到二元一次方程组的通解,例如: ax+by=m cx+dy=n 不难算出 x...

清流县19510662202: 1个c语言问题,请教大家 -
锐策东药: 上面的程序应该是出现了死循环:当输入字符不是'#'的时候,就会执行括号内的语句并输出.可问题时,只要没有'#'输入,程序就会不停地捕捉,然后,当字符为'.'和'...

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