实验数据类型与表达式
- 格式:docx
- 大小:17.41 KB
- 文档页数:7
实验报告_实验 2 数据类型与表达式(学生学号__姓名)一、实验目的:1、熟悉基本数据类型(int、char、float、double)占用的字节数和存储形式,能够定义基本数据类型的变量,使用这些类型的数据;2、掌握字符数据的存储形式及其与整数的运算,能正确理解“字符数据”与“字符串”的区别与联系,熟悉常用转义字符的使用;3、熟悉字符常量与一般常量的定义、使用;4、掌握算术运算符(重点是/和%)、自增(++)和自减(--)运算符的使用,能够构建正确的表达式,并输出其结果;5、理解不同类型数据之间运算时的类型转换规则,掌握强制类型转换的方法。
二、实验内容1、(基础题)用sizeof运算符可以得到各种类型数据占用存储单元长度,利用数据间的关系和不同控制符,可以得到查看数据的存储形式。
回答下列问题:(1)sizeof运算符如何使用?它的操作数可以是类型关键字吗?答:可用sizeof(类型名或数据) 来获取该类型数据所占字节数。
可以。
(2)整数的占用长度与其数值大小有关吗?答:有。
(3)字符串中’\’’、’\n’、’\t’的功能各是什么?答:单引号,换行,水平制表。
(4)字符串的一个英文字母占几个字节?一个汉字占几个字节?尾部还有什么字符?答:1个字节;4个字节;结束符‘\0’。
(5)整数的存储形式是什么?答:二进制补码。
2、(基础题)字符数据以整数方式(ASCII)存储的,可以与整数进行+、-运算,既可以用“字符”方式输出,也可以用“整数”方式输出。
回答下列问题:(1)字符数据在内存中是以什么方式存储的?答: ASCII码。
(2)字符数据与整型数据能相互赋值、运算吗?如何以“整数”方式和“字符”方式输出字符?答:能,整数:”%d”,字符:”%c”。
(3)大小写字母的ASCII有什么关系?(如:’G’与’g’)答:ASCII码相差32。
(4)如何由’A’、’a’分别得到后续的大写字母、小写字母?答:’A+1’,’a+1.’(5)字符间的距离如何计算?由一字符能分别得到ASCII比它小5、大10的两个字符吗?若能,如何得到?答:两个ASCII码绝对值相减,’a’-5,’a’+10.(6)说明“C”与’c’的联系与区别,能否写成”dog”、’boy’?答:”C”字符串,’c’字符,能.3、(基础题)符号常量与常变量(即用const关键字定义)的使用:回答问题:(1)写出用符号常量定义PI的格式;#define PI(2)写出用“常变量”方式定义PI值的语句。
实验一数据类型和表达式一.实验目的1.掌握C语言基本数据类型的概念,理解数据类型与运算的关系。
2.熟悉简单变量的定义和赋值方法,掌握不同类型数据之间转换的规律。
3.学习C语言运算符优先级和结合性的概念,掌握算术表达式的计算方法及表达式计算中的类型转换方法。
4.掌握数学式子的表达式表示。
5.进一步熟悉C程序的编辑、编译、连接和运行的过程。
二.实验内容与算法解析1.编程计算下面算术表达式的值,手工计算检测。
(1) x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7(2)(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5, y=2.52.下面表达式计算中,哪些地方会发生类型转换?各个转换从什么类型转换到什么类型?表达式计算的结果是什么?试编程进行验证。
(1) 2.5+2*7%2/4 (2) 4*(2L+6.5)-12(3) 10/(int)(5.1+3)) (4) 2*10.0/(5*3)3.运行下面程序分析结果:main(){int a,b,c;a=9;b=5;c=24;printf("%d",a%c/b);}4.输入并运行下面程序,对照程序分析运行结果:程序如下:#include <stdio.h>main( ){ int a,b;long d;unsigned e;char c;a=100;c='W';b=-100;d=50000;e=8766;printf("a=%d,b=%d,c=%c,d=%ld,e=%u\n",a,b,c,d,e);}并修改程序测试:1)将a=100;换成a=42569;,会得到什么结果,为什么?2)将b=-100;换成b=c;,会得到什么结果,为什么?3)将e=8766; 换成e=-10;,会得到什么结果,为什么?5.写出程序运行结果,并上机进行验证,并分析原因。
实验报告_实验 2 数据类型与表达式(学生学号__姓名)一、实验目的:1、熟悉基本数据类型(int、char、float、double)占用的字节数和存储形式,能够定义基本数据类型的变量,使用这些类型的数据;2、掌握字符数据的存储形式及其与整数的运算,能正确理解“字符数据”与“字符串”的区别与联系,熟悉常用转义字符的使用;3、熟悉字符常量与一般常量的定义、使用;4、掌握算术运算符(重点是/和%)、自增(++)和自减(--)运算符的使用,能够构建正确的表达式,并输出其结果;5、理解不同类型数据之间运算时的类型转换规则,掌握强制类型转换的方法。
二、实验内容1、(基础题)用sizeof运算符可以得到各种类型数据占用存储单元长度,利用数据间的关系和不同控制符,可以得到查看数据的存储形式。
回答下列问题:(1)sizeof运算符如何使用?它的操作数可以是类型关键字吗?答:可用sizeof(类型名或数据) 来获取该类型数据所占字节数。
可以。
(2)整数的占用长度与其数值大小有关吗?答:有。
(3)字符串中’\’’、’\n’、’\t’的功能各是什么?答:单引号,换行,水平制表。
(4)字符串的一个英文字母占几个字节?一个汉字占几个字节?尾部还有什么字符?答:1个字节;4个字节;结束符‘\0’。
(5)整数的存储形式是什么?答:二进制补码。
2、(基础题)字符数据以整数方式(ASCII)存储的,可以与整数进行+、-运算,既可以用“字符”方式输出,也可以用“整数”方式输出。
回答下列问题:(1)字符数据在内存中是以什么方式存储的?答: ASCII码。
(2)字符数据与整型数据能相互赋值、运算吗?如何以“整数”方式和“字符”方式输出字符?答:能,整数:”%d”,字符:”%c”。
(3)大小写字母的ASCII有什么关系?(如:’G’与’g’)答:ASCII码相差32。
(4)如何由’A’、’a’分别得到后续的大写字母、小写字母?答:’A+1’,’a+1.’(5)字符间的距离如何计算?由一字符能分别得到ASCII比它小5、大10的两个字符吗?若能,如何得到?答:两个ASCII码绝对值相减,’a’-5,’a’+10.(6)说明“C”与’c’的联系与区别,能否写成”dog”、’boy’?答:”C”字符串,’c’字符,能.3、(基础题)符号常量与常变量(即用const关键字定义)的使用:回答问题:(1)写出用符号常量定义PI的格式;#define PI 3.14(2)写出用“常变量”方式定义PI值的语句。
C语言程序设计实验指导与习题解答三、注意事项及小结(1)通过本次实验,大家应该初步掌握 Visual C++ 6.0 集成开发环境的使用,包括集成 开发环境的进入、设置、退出,源程序的打开、编辑、保存、编译、运行等内容,能够读懂系 统提示的信息。
这样在今后的学习中,就可以把主要精力放到程序的调试上,提高上机效率。
(2)初学 C 语言程序,容易出错的地方是:①C 语言程序中的标点符号都需是英文输入法下的,如分号、逗号、引号等。
②语句后漏加分号。
如图 219 中编译出错,因为语句 printf("我们一起学习写 C 语言程 序!\n")的最后未加分号。
③使用标识符时,混淆了变量中字母的大小写。
如初学者可能会认为 abc 与 Abc 是同一 个变量,实际 C 编译系统会把它们看作两个不同的变量。
④程序语句中括号不匹配。
C 程序中的括号(如{}和()),引号(如""和''),都必须匹配, 即成对出现,如:例 211 中的源程序,若变为:#include <stdio.h>int main(){printf("我们一起学习写C语言程序!\n";return 0;}则会出现如下错误提示:G:\C例题\例211.c(4) : error C2143: syntax error : missing ')' before ';'即提示在语句“printf("我们一起学习写 C 语言程序!\n";”中分号';'之前少了括号')'。
实验二 数据类型、变量与表达式一、实验目的与要求1.理解数据类型的基本概念。
2.熟练掌握变量的使用方法。
3.熟练掌握运算符与表达式的使用方法。
二、实验内容1.写出下列程序的运行结果,并上机验证。
第二章基本数据类型与表达式实验题:一、按要求完成下列各题1.上机调试下列程序,并输出正确的结果要求:(1)对有注释标记的语句进行功能注释。
(2)写出调试程序的过程。
答:编译,生成目标文件,生成可执行文件#include<iostream>using namespace std;void main() //主函数{ //主函数的中括号int x,y; //定义整型变量x,ycin>>x>>y; //输入x,y的值cout<<!(y==x/2)<<endl; //输出判断y是否不等于x/2cout<<(y!=x%3)<<endl;cout<<(x>0&&y<0)<<endl;cout<<(x!=y||x>=y)<<endl;y=x--+1; //先做x--,再加1,然后赋给ycout<<(x<y?x++:y++)<<endl;cout<<endl; //输出换行}运行截图:2. 从键盘上输入x、y、s的值,计算下面公式的值,并对有注释标记的语句进行注释x=(x+--y)*s++要求:上机修改程序中的语法错误,并输出x,y和s的值。
#include<iostream>using namspace std;int main(){int x,y,z; //定义了整型变量x,y,z cout<<"请输入三个数x,y,z:"; //打印出“请输入三个数x,y,z:”cin>>x>>y>>z>>endl; //依次输入x,y,zx=(x+--y)*s++;cout<<x<<y<<s<<endl; //依次输出x,y,zcout<<endl;}修改后:#include<iostream>using namespace std;void main(){int x,y,z;int s=7;cout<<"请输入三个数x,y,z:";cin>>x>>y>>z;x=(x+--y)*s++;cout<<"x="<<x<<endl<<"y="<<y<<endl<<"s="<<s<<endl;cout<<endl;}运行结果:输出结果:3.在下列程序中填上适当的语句,完成计算下面公式的功能,并输出下列结果。
实验2 数据类型、运算符、表达式、基本输入输出与结构控制一、实验目的1. 了解C++语言中数据类型的意义。
2. 理解常用运行符的意义,C++语言表达式的运行规则。
3. 掌握C++的基本输入输出格式。
4. 掌握各种选择语句的使用。
5. 掌握各种循环语句的使用。
6. 掌握各种转向语句的使用。
7. 学会综合运用控制语句进行简单的编程。
8.掌握中止语句和预处理语句。
二、知识要点1.C++语言中数据类型空类型void整 型int 字 符型char实 型逻辑型bool单字符型char 宽字符型w_char 单精度型float 双精度型double指 针type* 结 构struct 枚 举enum 类class非基本数据类型数据类型基本数据类型联 合union 数 组type[ ] 自定义typedef2.基本输入/输出C++中有2个预定义的流对象:(1)cin是标准输入流对象,键盘为标准设备;(2)cout是标准输出流对象,显示器为标准设备;“<<”和“>>”本来在C++中是被定义为左移位运算符和右移位运算符的,由于在iostream头文件中对它们进行了重载,使它们能用作标准类型数据的输入和输出运算符,所以,在出现它们的程序中必须用#include<iostream>如果想将“<<”和“>>”用于自己声明的类型的数据中,就不能简单地采用包含iostream 头文件来解决,必须对“<<”和“>>”进行重载。
3.结构控制C++语言中结构化算法的基本控制结构有3种:顺序结构、选择结构和循环结构。
另外还有多个转向语句,如break、continue、goto语句等。
(1)顺序结构语句1语句2……语句n+1(2)选择结构实现选择结构可用if和switch语句。
①简单if选择语句if(表达式){语句组}当语句组织有一个语句时,可以省略大括号。
实验2 数据类型与表达式一、实验目的:1、熟悉基本数据类型(int、char、float、double)占用的字节数和存储形式,能够定义基本数据类型的变量,使用这些类型的数据;2、掌握字符数据的存储形式及其与整数的运算,能正确理解“字符数据”与“字符串”的区别与联系,熟悉常用转义字符的使用;3、熟悉字符常量与常变量的定义、使用;4、掌握算术运算符(重点是/和%)、自增(++)和自减(--)运算符的使用,能够构建正确的表达式,并输出其结果;5、理解不同类型数据之间运算时的类型转换规则,掌握强制类型转换的方法。
二、实验内容1、用sizeof运算符可以得到各种类型数据占用存储单元长度,利用数据间的关系和不同控制符,可以得到查看数据的存储形式。
运行下列程序,回答相关问题:#include<stdio.h>int main( ){printf ("int 型数据所占字节数: %d\n",sizeof(int));printf ("整数23、所占字节数分别为: %d、%d\n",sizeof(23),sizeof(4567890));printf ("char 型数据所占字节数: %d\n",sizeof(char));printf ("字符\'s\'所占字节数: %d\n",sizeof('a'));printf ("字符串\"s\"所占字节数: %d\n",sizeof("a"));printf ("字符串\"CCTV即中央电视台\" 所占字节数: %d\n\n",sizeof("CCTV即中央电视台"));int n1=13;printf ("%d\t%X\n",n1,n1);int n2=-13;printf ("%d\t%X\n",n2,n2);return 0;}(项目名称为lab_2_1,下同,不一一说明)问题:(1)sizeof运算符如何使用?它的操作数可以是类型关键字吗?(2)整数的占用长度与其数值大小有关吗?(3)字符串中’\’’、’\”’、’\n’、’\t’的功能各是什么?(4)字符串的一个英文字母占几个字节?一个汉字占几个字节?尾部还有什么字符?(5)整数的存储形式是什么?操作内容:请修改上述程序,使之能输出float、double、void类型所占用字节数。
c语⾔-数据类型、运算符与表达式⼀、数据类型1、概念(1)标识符1.定义:⽤来标记常量、变量、函数及⽂件名字的字符序列。
2.构成规则:只能由数字、字母、下划线三部分组成,且不能以数字开头,并且严格区别⼤⼩写,不能定义为系统中存在的关键字。
(2)关键字c语⾔中具有特定含义、专门⽤作语⾔特定成分的⼀类标识符注:在C语⾔中,所有的关键字都有固定的意义,不能⽤作其它,且所有的关键字都必须⼩写(3)c的数据类型数据是操作的对象,数据类型是指数据的内在表现形式(代码、存储、运算)(4)常量和变量1. 常量【1】常量:在程序运⾏过程中,其值不能被改变的量 常量区分为不同类型(表⽰形式),如:12、1.0、‘a’【2】符号常量:⽤⼀个标识符代表的⼀个常量定义⽅法:#define 标识符常量#define PRICE 30#include <stdio.h>void main(){int num,total;num = 10;total = num * PRICE;printf("total = %d",total);}2. 变量【1】变量:其值是可以改变的量,它⽤标识符(变量名)来表⽰,在内存中占据⼀定的存储单元变量的定义⽅法:类型符标识符注意事项:<1>见名知意 <2>先定义后使⽤ <3>习惯上,符号常量名⽤⼤写,变量名⽤⼩写,以⽰区别【2】变量赋初值变量先定义,后使⽤,⼀般放在函数开头变量初始化:可以在定义时赋初值2、整型数据(1)整型常量1. 各种进制的整数表⽰⽅法⼗进制整数:由数字0~9和正负号表⽰. 如 123,-456,0⼋进制整数:由数字0开头,后跟数字0~7表⽰. 如 0123,011⼗六进制整数:由0x开头,后跟0~9,a~f,A~F表⽰. 如 0x123,0xff2. 整型常量的类型【1】整型常量的值在-32768~+32767范围内,编译器认为是int类型【2】整型常量的值超过上述范围,⽽在-2147483648 ~ +2147483647范围内,编译器认为是long类型【3】当系统定义short int与int占内存长度相同,则两种类型常量均可以赋给 int和short int型变量【4】在整型常量后⾯加⼤写L或⼩写l,则告诉编译器,把该整型常量作为long类型处理。
广州大学实验报告学院商学院专业、班级姓名、学号课程名称C程序设计项目名称数据类型、运算符和表达式实验实验时间:2012 年 3 月20 日数据类型、运算符和表达式实验报告开课实验室:2012年3月20日d=5.670000,e=-6.780000f=1234.567890,g=0.123457m=50000,n=-600000p=32768,q=40000第3页四、实验结果及分析实验一输出结果为:a,b值互换。
分析:在C程序设计中,两个值互换需要一个中间变量来储存数据,如果直接交换会导致其中一个数据丢失。
实验二分析:实验二为自己设计的程序。
在设计这个程序是要注意scanf的用法。
Scanf 为格式输入符,在输入字符时要注意字符输入方式。
在本次实验中其调用格式为:scanf("<格式化字符串>",<地址表>);实验三分析:输出格式的不同会导致输出结果的不同。
将负数赋值给无符号变量时,无符号变量会将这个负值的符号也纳入计算范围从而返回一个正值,导致最后输出结果不正确。
这个实验让我认识到在设计程序时要注意输出格式的选择。
实验四分析:实验四更加强调个语句中在程序的含义。
程序为:printf("d=% f,e=% f\n",d,e);printf("f=% f,g=% f\n",f,g);输出结果为:当程序改为:printf("d=%-6.2f,e=%-6.2f\n",d,e);printf("f=%-15.6f,g=%-15.10f\n",f,g);输出结果为:继续将程序改边为:printf("d=%-6.2f\te=%-6.2f\n",d,e);printf("f=%-15.6f\tg=%-15.10f\n",f,g);输出结果为:以上3种都是改变了输出格式使输出数据的有效数字改变。
java数据类型运算符和表达式实验心得文章标题:深度探究Java数据类型运算符和表达式——实验心得一、介绍Java作为一种广泛应用的编程语言,其数据类型、运算符和表达式是编写高质量程序的基础。
在学习和实践过程中,我深入研究了Java的数据类型、运算符和表达式,并通过实验积累了一些心得体会。
二、数据类型1.基本数据类型在Java中,基本数据类型包括整型、浮点型、字符型和布尔型。
对于整型数据类型,例如int、long等,在进行运算时需要注意数据溢出和类型转换的问题。
这些问题在实际开发中很容易出现,因此我们需要深入了解Java数据类型的特点和使用规范。
2.引用数据类型与基本数据类型相对应的是引用数据类型,例如类、接口、数组等。
在实验中,我发现引用数据类型的运算和表达式处理与基本数据类型有所不同,需要注意引用的指向、内存分配等细节问题。
三、运算符1.算术运算符在实验中,我发现算术运算符包括加减乘除和取模等,它们在不同数据类型和表达式中的应用有着各自的特点。
对于小数运算和负数运算,算术运算符的精度和溢出问题需要我们仔细思考和处理。
2.赋值运算符赋值运算符是我们在编写程序时经常用到的运算符之一,然而在实际应用中,我发现它与其他运算符的结合使用,需要我们注意运算符优先级和结合性。
赋值运算符也包括了自增、自减等特殊情况的处理,这些都需要我们进行详细的实验和总结。
四、表达式1.算术表达式在Java中,算术表达式是我们经常编写和调试的重要内容。
通过实验,我发现算术表达式的正确性和性能优化对程序运行效果有着重要的影响,因此我们需要对表达式的组合和运算规则有着全面的了解。
2.逻辑表达式逻辑表达式是我们在进行条件判断和流程控制时不可或缺的内容。
对于逻辑与、或和非运算符的使用,以及与算术表达式的结合方式,都需要我们仔细分析和实验验证,以确保程序的正确性和健壮性。
五、总结和回顾通过对Java数据类型、运算符和表达式的实验心得,我不仅对Java编程语言有了更深入的理解,也提高了自己的编程能力和技术水平。
凯里学院C 语言程序设计实验报告 ×××××专业××年级××班,学号××××××姓名××成绩 合作者实验日期年月日 指导教师评阅日期年月日 实验二数据类型、运算符和表达式 一、实验目的: (1)掌握C 语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
(2)学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。
(3)掌握C 语言的输入和输出函数的使用 (4)进一步熟悉C 程序的编辑、编译、连接和运行的过程,学会使用stepbystep 功能。
(5)认真阅读教材数据类型,算术运算符和表达式,赋值运算符和表达式部分内容。
二、实验内容: (1)输人并运行下面的程序 #include<> voidmain() { charc1,c2; c1='a'; c2='b'; printf("%c%c\n",c1,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 ’、‘l ’、‘m ’、‘r ’、‘e ’,并输出。
三、实验步骤: (1)输人并运行下面的程序 #include<> voidmain() { charc1,c2;c1='a';c2='b';printf("%c%c\n",c1,c2);}① 运行此程序。
C语言实验报告说明1,所有程序均用编译运行,文件名命名为姓名+日期,因为实验存在补做,因此并非是依照日期前后排列的。
2,为了使截图清楚,手动将运行窗口由“黑底白字”改成了“白底黑字”。
实验2 数据类型、运算符和表达式一、实验目的:(1)把握C语言数据类型,熟悉如何概念一个整型、字符型、实型变量、和对它们赋值的方式。
(2)学会利用C的有关算术运算符,和包括这些运算符的表达式,专门是自加(++)和自减(――)运算符的利用。
(3)把握C语言的输入和输出函数的利用(4)进一步熟悉C程序的编辑、编译、连接和运行的进程。
三、程序调试与问题解决:(1)输人并运行下面的程序#include<>void main(){char c1,c2;c1='a';c2='b';printf("%c %c\n",c1,c2);}○1运行此程序。
○2在上面printf语句的下面再增加一个printf语句。
printf("%d %d\n",c1,c2);再运行,并分析结果。
输出结果如图,编译成功,无错误。
○3将第3行改成int c1,c2;再运行,并分析结果。
○4再将第4、5行改成c1=a;c2=b;再运行,并分析结果。
a,b没有概念,编译报错。
○5再将第4、5行改成c1=‘’a‘’;c2=‘’b‘’;再运行,并分析结果。
○6再将第4、5行改成c1=300;c2=400;再运行,并分析结果。
以字符型输出时,输出的将是300,400对应的字符。
(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);}#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,会取得什么结果。