C语言程序设计实验报告实验数据类型运算符和表达式.docx
文本预览下载声明
凯里学院C语言程序设计一实
凯里学院
C语言程序设计一实验报告
XXXXX专业XX年级XX班,学号XXXXXX姓名XX成绩
合作者实验日期年月日
指导教师评阅日期年月日
实验二数据类型、运算符和表达式
一、实验目的:
(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
(2)学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(一一)运算符的使用。
(3)掌握C语言的输入和输出函数的使用
(4)进一步熟悉C程序的编辑、编译、连接和运行的过程,学会使用stepbystep功能。
(5)认真阅读教材数据类型,算术运算符和表达式,赋值运算符和表达式部分内容。
—、灾醐內容.
云)输人并运石下面的程序
nclude〈>
voidmain()
{
chare1,c2;
cl=a;
c2二b;
printf(“%c%c\n,cl,c2);
}
(2)按习题的要求编程序并上机运行
该题的要求是:
要将“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、T、m、r、e,并输出。
三、实验步骤:
(1)输人并运行下面的程序
nclude〈>
voidmain()
{
chare1,c2;
cl=a;
c2二b;
printf(“%c%c\n,cl,c2);
}
运行此程序。
程序结果为:
eb
Pressanykeytocontinue
在此基础上增加一个语句:
printf(%d%d\n,cl,c2);
再运行,并分析结果。
将第2行改为:intcl,c2;
::再使之运行,并观察结果。
::④再将第3行改为;
!!cl=a;/*不用单撇号*/
II
;[c2二b?
I:再使之运行,分析其运行结果。
:^:分析:编译通不过,会显示a、b未被定义。
:^:⑤再将第4,5行改为:
cl=〃a〃;/*用双撇号*/
宀c2「b〃;
::再使之运行,分析其运行结果。
!!分析:编译通不过,有语法上的错误。
::⑥再将第4,5行改为:
::cl二300;/*用大于255的整数*/
;;c2=400;
;;再使之运行,分析其运行结果。
;;分析:字符型变量为一个字节,且为无符号型,字符会输出ASCII表中44和144所对应的
::字符,而要将其转换为数字,会进行符号位扩展,则会输出44和-112o
;#include;main()::(2)输人并运行教材第3章习题给出的程序
;#include;main()
II..?r4八
charcl=a,c2」b‘,c3二c,c4二\101‘,c5二\116‘;printf(,,a%cb%c\tc%c\tabc\n,cl,c2,c3);
printf(/z\t\b%c%c\n//,c4,co);
■■分析输出结果:(短线代表空格数)
(3)输人并运行下面的程序aa~bb
(3)输人并运行下面的程序
!#include
I
!voidmain()
inta,b;unsignedc,d;longe,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==
::65535,f=65580o
--(4)输人习题
;;#include<>
;;voidmain()
^{...
;;inti,j,m,n;
!!i二8;
|:j=10;
m二++i;
;;printf(^d
显示全部