C语言程序的设计实验报告_实验2_数据类型、运算符和表达式
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
学院 C 语言程序设计 实验报告
××××× 专业×× 年级×× 班,学号×××××× ××成绩
合作者 实验日期 年 月 日 指导教师 评阅日期 年 月 日
实验二 数据类型、运算符和表达式
一、实验目的:
(1)掌握C 语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
(2)学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。
(3)掌握C 语言的输入和输出函数的使用
(4)进一步熟悉C 程序的编辑、编译、连接和运行的过程,学会使用step by step 功能。
(5)认真阅读教材数据类型,算术运算符和表达式,赋值运算符和表达式部分容。 二、实验容: (1)输人并运行下面的程序 #include
void main()
{
char c1,c2;
c1='a';
c2='b';
printf("%c %c\n",c1,c2);
}
(2)按习题3. 7的要求编程序并上机运行
该题的要:
要将“China ”译成密码,密码规律是:用原来字母后面的第4个字母代替原来的字母。 例如,字母“A ”后面第4个字母是“E ”,用“E ”代替“A ”。因此,“China ”应译为“Glmre" 。 请编一程序,用赋初值的方法使。cl ,c2,c3,c4,c5五个变量的值分别为‘C ’、‘h ’、‘i ’、‘n ’、‘a ’,经过运算,使cl ,c2,c3,c4,c5分别变为‘G ’、‘l ’、‘m ’、‘r ’、‘e ’,并输出。
三、实验步骤:
(1)输人并运行下面的程序 #include
{
char c1,c2;
c1='a';
c2='b';
printf("%c %c\n",c1,c2);
}
装
订
线 装
订
线
① 运行此程序。
程序结果为:
②在此基础上增加一个语句:
printf("%d %d\n",c1,c2);
再运行,并分析结果。
③将第2行改为:
int c1,c2;
再使之运行,并观察结果。
④再将第3行改为;
cl=a;/*不用单撇号*/
c2=b;
再使之运行,分析其运行结果。
分析:编译通不过,会显示a 、b 未被定义。
⑤再将第4,5行改为:
cl="a";/*用双撇号*/
c2 ="b";
再使之运行,分析其运行结果。
分析:编译通不过,有语法上的错误。
⑥再将第4,5行改为:
c1 = 300;/*用大于255的整数*/
c2 = 400;
再使之运行,分析其运行结果。
分析:字符型变量为一个字节,且为无符号型,字符会输出ASCII 表中44和144所对应的字符,而要将其转换为数字,会进行符号位扩展,则会输出44和-112。
(2)输人并运行教材第3章习题3. 6给出的程序
#include
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\n",c4,c5);
}
分析输出结果:(短线代表空格数) aa-bb---cc------abc -------A-N
(3)输人并运行下面的程序
#include
void main()
装订线 装订线
{
int a,b;
unsigned c,d;
long e,f;
a=100;
b=-100;
e=50000;
f=32767;
c=a;
d=b;
printf("%d,%d\n",a,b);
printf("%u,%u\n",a,b);
printf("%u,%u\n",c,d);
c=a=e;
d=b=f;
printf("%d,%d\n",a,b);
printf("%u,%u\n",c,d);
}
请对照程序和运行结果分析:
①将一个负整数斌给一个无符号的变t,会得到什么结果。画出它们在存中的表
示形式。
符号位会变成数位位,数值的绝对值增大。
②将一个大于32767的长整数斌给整型变t,会得到什么结果。画出它们在存中
的表示形式。
会出现从低位向高位截取16位,且第16位为符号位。
③将一个长整数赋给无符号变量,会得到什么结果(分别考虑该长整数的值大于或
等于65535以及小于65535的情况)。画出它们在存中的表示形式。
会出现从低位向高位截取16位,且第16位为符号位。大于截取,等于为零,小于不变。
读者可以改变程序中各变的值,以便比较。例如:a = 65580, b=-40000. e =
65535,f=65580。
(4)输人习题3. 10
#include
void main()
{
int i,j,m,n;
i=8;