实验02 数据类型、运算符和简单的输入输出
实验目的
掌握C语言数据类型,了解字符型数据和整型数据的内在关系。
掌握对各种数值型数据的正确输入方法。
学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
学会编写和运行简单的应用程序。
进一步熟悉C程序的编辑、编译、连接和运行的过程。
实验内容和步骤
输入教材第3章第4题给出的程序:
#include
int main()
{
char c1,c2;
c1=97;
c2=98;
printf("c1=%c,c2=%c\n",c1,c2);
printf("c1=%d,c2=%d\n",c1,c2);
return 0;
}
= 1 \* GB3 ① 先阅读程序,将预计运行结果填入下表。然后运行程序,将程序实际的运行结果填入下表。最后比对预计结果和实际运行结果,总结相关的知识点。
行号
结果及分析
7
预计结果
C1=a,c2=b
正确结果
C1=a,c2=b
8
预计结果
C1=97,c2=98
正确结果
C1=97,c2=98
总结
97应该对应计算机内存着的一个字符,根据ASCll码,为a
= 2 \* GB3 ② 如果将第5、6行改为
c1=197;
c2=198;
行号
结果及分析
7
预计结果
C1=?,c2=?
正确结果
C1=?,c2=?
8
预计结果
C1=197,c2=198
正确结果
C1=-59,c2=-58
分析
提示:使用“计算器”作为分析工具
此处是signed char 字符变量,其范围是-128——127,197,198不属于这个范围,而unsigned char字符变量范围是0-225,197的二进制减一取反取绝对值为59,符号位为一,故结果为-59,
= 3 \* GB3 ③ 如果将程序第4行改为
unsigned char c1,c2;
行号
结果及分析
7
预计结果
C1=a,c2=b
正确结果
C1=a,c2=b
8
预计结果
C1=97,c2=98
正确结果
C1=97,c2=98
分析
= 4 \* GB3 ④ 如果将程序第4行改为
int c1,c2;
行号
结果及分析
7
预计结果
C1=a,c2=b
正确结果
C1=a,c2=b
8
预计结果
C1=97,c2=98
正确结果
C1=97,c2=98
分析
输入第3章第5题的程序。即:用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。问在键盘上如何输入?
#include
int main()
{
int a,b;
float x,y;
char c1,c2;
scanf("a=%db=%d",&a,&b);
scanf("%f%e",&x,&y);
scanf("%c%c",&c1,&c2);
return 0;
}
运行时分别按照以下方式输入数据,观察输出结果,分析原因。
a=3,b=7,x=8.5,y=71.82,A,a↙(↙代表换行,下同)
② a=3b=7□x=8.5□y=71.82□A□a↙(□代表空格,下同)
③ a=3b=7□8.5□71.82□A□a↙
④ a=3b=7□8.5□71.82Aa↙
⑤ 3□7□8.5□71.82Aa↙
⑥ a=3b=7↙
8.5□71.82↙
A↙
a↙
⑦ a=3b=7↙
8.5□71.82↙
Aa↙
⑧ a=3b=7↙
8.5□71.82Aa↙
序号
结果及分析
= 1 \* GB3 ①
各变量值
a
b
x
y
c1
c2
原因分析
②
各变量值
a
b
x
y
c1
c2
原因分析
③
各变量值
a
b
x
y
c1
c2
原因分析
④
各变量值
a
b
x
y
c1
c2
原因分析
⑤
各变量值
a
b
x
y
c1
c2
原因分析
⑥
各变量值
a
b
x
y
c1
c2
原因分析
⑦
各变量值
a
b
x
y
c1
c2
原因分析
⑧
各变量值
a
b
x
y
c1
c2
原因分析
数据输入总结
输入以下程序:
#include
int main()
{
int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d\n",i,j,m,n);
return 0;
}
编译和运行程序,注意i,j,m,n各变量的值。
变量
i
预计
结果
9
最终
结果
9
j
11
11
m
9
9
n
10
10
②将第7、8行改为
m=i++;
n=++j;
再编译和运行,分析结