永发信息网

C语言题目答案

答案:2  悬赏:30  手机版
解决时间 2021-04-13 14:27
  • 提问者网友:呐年旧曙光
  • 2021-04-13 02:11

1.输入并运行下面的程序

#include <stdio.h>

void main( )

{ char cl,c2;

cl='a';

c2='b';

printf("%c%c\n",cl,c2);

}

①运行此程序。

运行结果:

②在此题最后增加一个语句:

printf("%d%d\n",c1,c2);

再运行。

运行结果:

③将第3行改为:

int c1,c2;

再使之运行。

运行结果:

④再将第3,4行改为:

c1=a;

c2=b;

再使之运行。

分析出错原因

⑤再将第4、5行改为:

c1="a";

c2= "b ";

再使之运行,分析其运行结果。

分析出错原因

⑥再将第4、5行改为:

c1=300;

c2=400;

再使之运行。

运行结果:

2.输入并运行教材第3章习题3.6给出的程序

#include <stdio.h>

Void main( )

{ char c1='a',c2='b',c3='c',c4='\101',c5='\116';

printf("a%c b%c\tc%c\tabc\n",c1,c2,c3);

printf("\t\b%c %c",c4,c5);

}

上机前先用人工分析程序,写出应得结果: aa bb cc abc

AN

上机运行结果: aa bb cc abc

A Naa bb cc abc AN

3.输入并运行下面的程序

#include <stdio.h>

void main ( )

{int a,b;

unsigned c,d;

long f;

a=100;b=-100;c=32769;f= 65580;

printf(“%d,%d\n”,a,b);

c=a;d=b;

printf(“%u,%u\n”,c,d);

a=f;c=f;

printf(“%d,%u,%u\n”,a ,c ,f);

}

① 请对照程序和运行结果分析

② 将一个负整数赋给一个无符号的变量,会得到什么结果。并分析原因。

结果:

原因:

③ 将一个大于32767的长整数赋给整型变量,会得到什么结果。并分析原因。

结果:

原因:

④ 将一个长整数赋给无符号变量,会得到什么果.。并分析原因。

结果:

原因:

4.输入习题3.10

#include <stdio.h>

Void main ( )

{ int i,j,m,n;

i=8;j=10;

m=++i;n=j++;

printf("%d,%d,%d,%d",i,j,m,n);

}

① 运行程序,注意i、j、m、n各变量的值。

运行结果:

②将第4、5行改为:

m= i ++;

n= ++ j;

再运行。

运行结果:

5.编程序并上机运行

要将“China”译成码,译码规律是:用原来字母后面的第4个字母代替原来的字母。例如,字母“A”后面第4个字母是“E”,用“E”代替“A”。因此,“China”应译为“Glmre”。请编一程序,用赋初值的方法使c1、c2、c3、c4、c5五个变量的值分别为'C'、'h'、'i'、'n'、'a',经过运算,使c1、c2、c3、c4、c5分别变为'G'、'1'、'm'、'r'、'e',并输出。

① 源程序:(以T2_5为文件名)

② 改变c1、c2、c3、c4、c5的初值为:'T'、'o'、'd'、'a'、'y',修改程序并运行。

运行结果为:

最佳答案
  • 五星知识达人网友:封刀令
  • 2021-04-13 03:25
字符与整形的关系仔细看
全部回答
  • 1楼网友:拜訪者
  • 2021-04-13 04:49
1.①:a,b ②:97,98 ③:a,b ④:错误 原因:定义的c1,c2为字符型,所以输入的c1,c1要么为0-255的数字,要么为加了''的字符。 ⑤:错误 原因:双引号内的内容为字符串如"I am a boy",而定义的c1,c2是字符变量非字符串变量 ⑥:语法没有错误,但是运行没有结果 超出了字符的ASCII的范围 2.这个题目我在DEVC++上运行的结果和你分析的一样 3.① 运行结果:100,-100 100,4294967196 65580,65580,65580 ② 将一个负整数赋给一个无符号的变量 如果输出的格式为%d则结果仍是那个负数。因为无符号整型的范围是0-65535如果输出格式为%u 就会溢出 ③ 将一个大于32767的长整数赋给整型变量 就会发生溢出现象,因为int的范围是-327678-32767 如果输入的数据大于32767,那么输出的结果就为-32768+(i-32767) ④ 将一个长整数赋给无符号变量 结果将自动切换为长整形 4.①:printf("%d,%d,%d,%d",i,j,m,n); 这个的输出顺序是自右至左的,也就是先输出n=j++ 为10 第二输出m=++i 为9 再输出j为11 最后是i为9 所以答案显示为9 11 9 10 ②这个的原理和上一个一样 结果为:9 11 8 11 5. main() { char c1='C',c2='h',c3='i',c4='n',c5='a'; c1+=4;c2+=4;c3+=4;c4+=4;c5+=4; printf("%c,%c,%c,%c,%c",c1,c2,c3,c4,c5); } 要想使'T'、'o'、'd'、'a'、'y'得到同样的效果,只要把定义修改下就可以了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯