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',修改程序并运行。
运行结果为: