c++实验2 数据类型与表达式
《c语言程序设计》实验报告(实验-2)

《c语⾔程序设计》实验报告(实验-2)《C语⾔程序设计》实验报告2013~2014学年第⼆学期班级姓名学号指导教师实验⼀实验项⽬名称:C程序的运⾏环境和运⾏C程序的⽅法所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运⾏⼀个C程序;2.通过运⾏简单的C程序,初步了解C源程序的特点。
⼆、预习内容:教材《C语⾔程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 6.0环境下输⼊并运⾏下⾯的程序:#includeint main( ){printf("This is a C program.\n");return 0;}2. 在Visual C++ 6.0环境下输⼊下⾯的程序(有语法错误),编译、连接、调试该程序,直⾄程序⽆语法错误,然后运⾏程序,并观察分析运⾏结果。
#includeint main( ){int a,b,suma=3;b=4;sun=a+b;print(“%d+%d=%d\n”,a,b,sum);return 0;}四、实验结果:1. 运⾏结果(或截图):This is a C program.Press any key to continue2. (1) 改正后的源程序:#includeint main( ){int a,b,sum;a=3;b=4;sum=a+b;printf("%d+%d=%d\n",a,b,sum);return 0;}(2) 运⾏结果(或截图):3+4=7五、思考题:1. ⼀个C程序上机的步骤有哪些?答:上级输⼊与编辑源程序—对原程序进⾏编译–与库函数链接–运⾏可执⾏的⽬标程序。
2. 组成C程序的基本单位是函数,⼀个函数包括哪⼏个部分?答:⼀个函数包括两部分:分别为函数头或函数⾸部和函数体。
成绩指导教师签名实验⼆实验项⽬名称:数据类型、运算符和表达式所使⽤的⼯具软件及环境:Visual C++ 6.0⼀、实验⽬的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使⽤⽅法;3. 掌握基本算术运算符及其表达式的使⽤⽅法;4. 掌握++、--运算符、赋值运算符及其表达式的使⽤⽅法。
C语言程序设计实训教程第2章 基础实验

19
(2)编写程序求出任一输入字符的 ASCII码。 提示:从键盘输入一个字符赋给字符变量,以 整型格式输出该变量。 (3)编写程序,由键盘任意输入 3个 1位整数 (第一个整数不为 0),将它们按输入顺序组合为 一个 3位数输出,如输入 2,5,8,则输出为258。 提示:输入 a,b,c3个整数,组合整数为 d =a﹡100 +b﹡10 +c。
(3)写一个函数,用“冒泡法”对输入的 10 个数字由小到大顺序排列,并输出。 提示: ①排序的函数名为 Sort。 ②排序前后的输入输出都应在主函数中完成。 ③使用数组作为函数参数。 ④使用“冒泡法”排序。
67
(4)写一函数,使给定的一个二维数组(5 ×5)转置,即行列互换。 提示: ①使用 5 ×5的二维数组存放数据。 ②矩阵转置的函数名为 Turn。 ③转置前后的输入输出都应在主函数中完成。 ④使用数组作为函数参数。
20
2.3
数据的输入和输出
1)实验目的 ①熟悉顺序结构的程序设计方法。 ②熟练使用 C 的赋值语句和各种表达式。 ③熟练掌握各种数据的输入、输出方法,能正 确使用各种格式转换符。
21
2)实验内容 程序验证性实验
22
23
24
25
程序填空性实验 程序功能:可以计算两个整数的商和余数。
26
程序设计性实验 (1)编写程序由键盘输入任意一个数字字符 (0 ~ 9),将其转换为数字输出。 提示:将该字符和“0”字符相减(字符的 ASCII码值相减)即得到数字。 (2)输入三角形三边长 a,b,c,求三角形 周长 l和面积 s。用 scanf()函数输入数据,printf ()函数输出计算结果,输出时要求有文字说明。
2)实验内容 程序验证性实验
C语言实验答案

scanf("%f,%f",&a,&b);
if(fabs(a*a+b*b-1)<1e-3)
printf("Y\n");
else printf("N\n");}
}
[题目1017:求数的位数]
由键盘输入一个不多于9位的正整数,要求输出它是几位数。
[第一组自测数据] [第二组自测数据]
}
[题目1020:正负奇偶判断]
由键盘输入非零整数x,判断该数正负,正数输出positive,负数输出negative,接着判断该数的奇
偶性,奇数输出odd,偶数输出even。
[第一组自测数据] negative
[键盘输入] odd
-43↙[第二组自测数据]
[正确输出] [键盘输入]
98↙positive
阅读下面程序,写出运行结果:
void main()
{ float a;
int b, c;
char d, e;
a=3.5;
b=a;
c=330;
d=c;
e='\\';
printf("%f,%d,%d,%c,%c", a,b,c,d,e);
}
运行结果为:
3.500000,3,330,J,\
[提示]赋值语句具有类型转换的功能,但可能会改变数据。
[正确输出] [正确输出]
Y N
[提示] 1)平面上的点与圆的关系分为在圆内、在圆上、在圆外三种,本题要求判断是否在圆上;2)
判断两实数相等采用判断这两实数的差的绝对值小于规定误差精度(本题为0.001)的方法实现。
C语言第02章 数据类型、运算符与表达式

回到 首页
运算符和结合性 P325,附录3
2.8 算术运算符和算术表达式
3、自增、自减运算符
自增运算符++和自减运算符--均是单目运算符, 功能是使变量的值增1或减1。其优先级高于所有 双目运算符,结合性为右结合性(自右至左)。
回到 首页
例如:++i或i++ 等价于i=i+1; --i或i-- 等价于i=i-1;
2.7数值型数据之间的混合运算
回到 首页
1、整型、实型、字符型数据之间可以混合运 算
整型(包括int,short,long)和实型(包括float,double)数据可 以混合运算,另外字符型数据和整型数据可以通用,因此,整 型、实型、字符型数据之间可以混合运算。 例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
2.9赋值运算符和赋值表达式
1、赋值运算符和赋值表达式
赋值运算符:“=”为双目运算符,右结合性。 赋值表达式:由赋值运算符组成的表达式称为赋值表达 式。 赋值表达式一般形式: 变量 赋值符 表达式 如 a=5 类型转换:将高精度的数据类型赋值给低精度的数据类 型,可能出错。
回到 首页
2.9赋值运算符和赋值表达式
2.8 算术运算符和算术表达式
3、自增、自减运算符
回到 首页
y=++x;等价于先计算x=x+1(结果x=6),再执行y=x,结果y=6。 y=x++;等价于先执行y=x,再计算x=x+1,结果y=5,x=6。 y=x++*x++;结果y=25,x=7。x++为后缀形式,先取x的值进行“*” 运算,再进行两次x++。 y=++x*++x;结果y=49,x=7。
c语言第二部分 实验内容

三、实验内容
1.阅读并输入如下程序,查看运行结果,并分析其功能。 # include "stdio.h" main ( ) { int a, b, c, s ; a = 5; b = 4; c = 6; s = (a+b+c)/ 3; printf (" a = %d, b = %d, c = %d \n, s = %d ", a, b, c, s) ; }
C语言程序设计实验·设计·习题
2.下面是一正方形面积的计算程序,通过输入不同的边长,求 出不同的面积。输入此程序并试运行。 注意:程序中含有输入语句,运行时将会停留在另一窗口中等待 输入数据。 # include"stdio.h" main ( ) { int r, s ; scanf (" %d ",&r) ; s= r*r; printf (" s = %d ", s) ; } 3.在Turbo C中调试并修改以下C程序中的错误。
C语言程序设计实验·设计·习题
三、实验内容
1.改正书中所给的相关程序的错误。 2.程序填空。 (1)按程序中注释的要求填输出语句。 (2)要求运行时必须按如下格式输入数据,请填空。 3.程序编译成功,只是说明没有语法错误,但并不一定能得出 正确结果,因为有可能存在编程逻辑错误。这时,我们需要跟踪变量、 调试程序,找出问题所在。调试的一般方法有: (1)单步跟踪:选择Run菜单下的Step命令,也可以直接按快捷键 F7(可跟踪进函数、过程)或快捷键F8,这样可以每条语句单独运行。 (2)运行至光标处:先将光标移至目标语句,然后选择Run菜单下 的Go to Cursor命令,或按快捷键F4,这样可以连续运行从开始到光 标处的一段程序。
实验2 (3)

安庆职业技术学院电子信息系
实验报告(C语言程序设计)姓名:戚晓龙学号:
main( )
{ ;//变量的定义
printf(“请输入一个字符:”);
scanf(“%c”,&a);
b=(int)a;
printf(“\n\n%c的ASCⅡ码为%d\n”,a,b);
}
2、输出任意一个十进制数对应的八进制,十六进制数。
#include<stdio.h>
main( )
{ int a;
scanf(“%d”, );
printf(“\n%d(10) ,%o(8), %x(16)\n”,a,a,a);
}
(三)调试程序
要求:调试运行下列程序是否正确,若有错,写出错在何处?填写正确的运行结果。
1.行号 #include <stdio.h>
1 main( )
2 { int u=v=89;
3 printf(“u=%d,v=%d\n”,u,v);
4 }
错错误在行
应改为:
调试正确后
输出结果:
的运行结果
四、操作过程及实验结果
详细记录在操作过程中出现的问题及解决方法。
记录实验的结果(或截图,以供教师审阅。
)。
1
2
3
4
5
6
7
五、总结。
C语言实验2----基本的程序语句

C语言实验2----基本的程序语句1.1目的和要求(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
(2)学会使用C的有关算术运算符,及包含这些运算符的表达式,(3)自增(++)和自减(--)运算符的使用。
(4)了解字符在计算机中以ASCII码方式表示。
(5)掌握基本的输入输出函数scanf( )、printf( )的基本功能、调用方法、输入/输出格式控制规定等。
(6)巩固学生对于编程概念的理解。
1.2实验内容1.2.1实验练习1:表达式的计算。
实验目的:本实验旨在巩固学生对于编程概念的理解。
在这个实验中将练习:•如何定义浮点型变量•使用scanf输入用户提供的数据•使用printf输出变量问题描述:编写程序sy2_1.c进行温度转换计算,输入华氏温度h,输出摄氏温度c(摄氏温度=5/9*(华氏温度-32))。
示例输出:程序主体模板:#include<stdio.h>void main( ){float h, c;printf("请输入华氏温度:");/*接收用户输入的华氏温度*//*将华氏温度转化为摄氏温度*//*输出对应的摄氏温度*/}问题解答提示:1.依据题目,输入和输出数据均为温度,因此用float来表示,其中输入数据为华氏温度,输出数据为摄氏温度;2.提示用户输入华氏温度,并用scanf语句接收此值;3.根据华氏温度和摄氏温度之间的计算公式,将华氏温度转化为摄氏温度,并存储在变量c中;4.用printf语句显示对应的摄氏温度。
1.2.2实验练习2:自增运算符的使用。
实验目的:本实验旨在巩固学生对于编程概念的理解。
在这个实验中,学生将练习:•掌握自增(++)运算符的使用问题描述:编写程序sy2_2.c,观察其执行结果,思考自增运算符放在变量之前和放在变量之后,表达式的值有何不同。
实验二数据类型、变量与表达式

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.写出下列程序的运行结果,并上机验证。
C语言程序设计实验报告——实验2 数据类型、运算符和表达式

凯里学院 C 语言程序设计 实验报告××××× 专业×× 年级×× 班,学号×××××× 姓名××成绩 合作者 实验日期 年 月 日 指导教师 评阅日期 年 月 日实验二 数据类型、运算符和表达式一、实验目的:(1)掌握C 语言数据类型,熟悉如何定义一个整型、字符型、实型变量、以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。
(2)学会使用C 的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(――)运算符的使用。
(3)掌握C 语言的输入和输出函数的使用(4)进一步熟悉C 程序的编辑、编译、连接和运行的过程,学会使用step by step 功能。
(5)认真阅读教材数据类型,算术运算符和表达式,赋值运算符和表达式部分内容。
二、实验内容:(1)输人并运行下面的程序 #include<stdio.h> 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<stdio.h> void main() {char c1,c2; c1='a'; c2='b';printf("%c %c\n",c1,c2); }装订线装订线① 运行此程序。
C语言--ch2--数据类型和表达式

2.3 运算符和表达式
3.算术表达式 1)用算术运算符和括号的式子,称为算术 表达式.例如: a*b/c-1.5+'a' 1+3-4*5-a*a+b*b 2)算术表达式的值: 任何表达式都有值 3*4-5/2*2%3 11
2.3 运算符
4, 注意: 1)C语言算术表达式的乘号(*)不能省略.例如: 数学式b2-4ac,相应的C表达式应该写成: b*b-4*a*c 2)C语言表达式中只能出现已经定义的标识符. 例如,数学πr2相应的C表达式应该写成: # define PI 3.14 int r; PI*r*r (或者 3.14*r*r) 3)C语言可以使用多层圆括号,此时左右括号必 须配对,运算时从内层括号开始,由内向外依 次计算表达式的值 .例如: (((3+4)*5)-9)*2-5
2.3 运算符和表达式
5,运算符的优先级与结合性 1)优先级见教科书 2)在表达式求值时,先按运算符的"优 先级别"高低次序执行 ,例如: a-b*c 等价于 a-(b*c), 3)结合性:左结合,即如果在一个运算 对象两侧的运算符的优先级别相同时,先 与左面的运算符结合,例如: a-b+c等价于(a-b)+c
2.2 常量和变量
4, 变量的作用:保存数据. 保存数据. 保存数据 例:求圆柱体的底面积,表面积,体积 5,变量在任意一个时刻都只能保存一个值. 例:int i; i=12;/*变量i的值这时为12*/ i=i+3;/*i=12+3, i的值这时为15*/ i=4;/* i的值这时为4*/
2.2 常量和变量
课堂练习:判断以下常量是否合法? 课堂练习:判断以下常量是否合法?
12e3; e3; 12.3e; 0.45E1.2
实验2 数据类型与表达式

实验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语言教程第2章数据类型、运算符与表达式

常量只能在定义时赋值,然后不能再改变 其值 常数、 const常量、宏常量和枚举常量, 都可以用来表示一个永远不会改变的数
前者不建议直接使用,而用后三者代替
C语言大学实用教程
2.5 变 量
变量是在程序执行过程中可以改变、可以赋 值的量。
在程序中每一个变量都有一个名子即变量名, 程序对该变量访问(存入、读取)都是通过变 量名进行的。
运行结果: 1234567936.000000
1234567890.000000
}
C语言大学实用教程
2.6 常用运算符及表达式
算术运算符
+,-,*,/,%
加、减、乘、除、求余运算 四则混合运算中,先算乘除,后算加减, 按从左向右的顺序计算,左结合
#include <math.h>
常用的标准数学函数
C语言大学实用教程
#include <stdio.h> /*函数功能:计算两个整数相加之和 入口参数:整型数据a和b 返回值: 整型数a和b之和 */ int Add(int a, int b) { return (a + b); }
2.1 一个简单的C程序例子
/*主函数*/ ) { int x, y, sum = 0;
022、-037 010和10大小不一样 因为八进制并不常用,所以此种表示法比较少见
以“0x”或者“0X”开始的整型常数是十六进 制
A~F和a~f用来表示十进制的10~15
十六进制的形式比较常用,尤其在进行位一级的 控制的时候 0x12、-0x1F, -0x1f
C语言大学实用教程
2.4 常量
字符常量
C语言实验报告-实验二 数据类型、运算符和表达式

请编程序:当给出f时,求其相应摄氏温度和绝对温度。
测试数据:①f=34 f=100
答:①的程序为
#include <stdio.h>
main()
{
float f,c;
double k;
f=34;
c=5/9*(f-32);
k=273.16+c;
printf("c=%f,k=%lf\n",c,k);
x=r.cosθ
y=r.sinθ
测试数据:①r=10 θ=45° r=20 θ=90°
答:①的程序为
#include<stdio.h>
#include <math.h>
main()
{
float r,b,x,y;
r=10;
b=45;
x=r*cos(b/180*3.14);
y=r*sin(b/180*3.14);
答:该程序为
#include<stdio.h>
#define PI 3.14
main()
{
float r;
double s,c;
r=1.5;
s=PI*r*r;
c=2*PI*r;
printf("s=%.2lf,c=%.2lf",s,c);
}
(2)将华氏温度转换为摄氏温度和绝对温度的公式分别为:
(摄氏温度)
main( )
{int i=8,j=10,m=0,n=0;
m+=i++;n-=--j;
printf(“i=%d,j=%d,m=%d,n=%d\n”,i,j,m,n);
实验2 数据类型、运算符和简单的输入输出

实验2 数据类型、运算符和简单的输入输出1,实验目的(1)掌握C语言数据类型,了解字符型数据和整型数据的内在关系。
(2)掌握对各种数值型数据的正确输入方法。
(3)学会使用C语言的有关算数运算符,移机包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
(4)学会编写和运行简单的应用程序。
(5)进一步熟悉C程序的编辑、编译、连接和运行的过程。
2,实验内容和步骤(1)输入并运行教材第3章第4题给出的程序。
#include<stdio.h>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运行以上程序,分析为什么会输出这些信息。
输出信息:c1=a,c2=bc1=97,c2=98Press any key to continue第6行是将c1,c2按%c的格式输出,97是字符a的AS CⅡ代码,98是字符b的AS CⅡ代码。
第7行是将c1,c2按5d的格式输出,所以输出两个十进制整数。
○2如果将程序第4,5行改为c1=197;c2=198;运行时会输出什么信息?为什么?输出信息:c1=?,c2=?c1=-59,c2=-58Press any key to continue由于Visual C++6.0字符型数据是作为signed char类型处理,它存字符的有效范围为0~127,超出此范围的处理方法,不痛的系统得到的结果不痛,因而用“%d”格式输出,结果是不可预期的。
用“%d”格式输出时,输出c1=-59,c2=-58.这是按补码形式输出的,内存字节中第1位为1时,作为负数。
59和197之和等于256,58与198之和也等于256.○3如果将程序第3行改为int c1,c2;运行时会输出什么信息?为什么?输出结果:c1=a,c2=bc1=97,c2=98Press any key to continue因为97和98在int类型的有效范围。
第2章C语言的基本数据类型与表达式

2.5 + 97(int)
思考 int a=1,b=2; 表达式a/b+3的结果是多少?
99.5 + 5 104.5(double)
int a=10000,b=30000; 表达式a+b的结果是多少? 如何修改?
3、自增与自减运算符 (++ 、--) ++i,--i:使用之前使i的值增1(或减1); i++,i--:使用之后使i的值增1(或减1);
int a,b,c; a=b=c=3; √
例2-1: main( ) { int x,y,z,w; /*定义x,y,z,w为整型变量*/
unsigned int k; /*定义k为无符号整型变量*/ x=10;y=-20;k=30; z=x+k;w=y+k; printf(“x+k=%d,y+k=%d\n”,z,w); } 程序运行结果为:
例如:int a,b,c ; float x,y;
自己设定,满足 标识符的规定。
;不可省
char c1,c2; 或 int c1,c2;
定义变量就是在内存中划出一块相应类型的存储空间存放该变量的值。
2、变量初始化 在定义变量的同时给变量一个初始值。
int a=5, b=3; √
注意
int a=b=c=3;
还使用英文字母a~ f (或A~ F)表示10~15。 如:0x1e √
2、整型变量的分类:
根据数据所占的存储长度的不同分为:int、short、long;
同样存储长度的数据又分unsigned、signed;
故可组合出六种类型。
思考:int a=20000,b=20000,c;
C语言实验二 数据类型与表达式计算、数据的输入输出

实验二数据类型与表达式计算、数据的输入输出
实验目的:
1、熟练掌握C语言中的数据类型;
2、了解整型数据和浮点型数据的存储格式;
3、掌握字符数据与整型数据的关系;
4、熟悉各运算符的优先级及各类型数据混合运算时的注意点。
实验内容:
1、编程将整数97536赋给短整型变量x,显示x的值,并分析实验结果。
2、编程计算表达式,教材P39-8题,并分析运算过程。
3、编程分析下列5个程序:
#include <stdio.h> #include <stdio.h> #include <stdio.h>
void main() void main() void main()
{printf("abcd\n");} {printf("abcd\012");} {printf("abcd\x0a");}
#include <stdio.h> #include <stdio.h> #include <stdio.h>
void main() void main() void main()
{printf("abcd\r");} {printf("abcd\015");} {printf("abcd\x0d");}
实验原理、步骤与分析:
【要求】每个实验内容都要先写出其实现的基本原理,再写出实验步骤,最后根据每个实验内容的实验结果进行分析说明。
C语言实验题

实验二 C基本数据类型及运算目的要求:掌握C语言中整型、字符型、实型变量的定义及赋值;学会使用C的有关运算符及相关表达式;进一步熟悉VC++ 6.0的集成开发环境。
实验内容:1. 编写程序,从键盘接收3个实数(分别为10.0、20.0、5.0),输出这3个数的和s、乘积t和平均值a。
2. 编程。
要求用户输入两个整数a、b(分别为20、10),读取用户从键盘输入的值,然后:1) 用整型输出这两个数的和、差;2) 用长整型输出这两个数的积,用float输出商;3) 用整型输出这两个数的余数,用float输出平均值。
3. 再次运行程序第2题中的程序,使整数a、b的值分别为10、20,分析程序运行结果,并给出说明 *。
实验三 C简单程序设计目的要求:掌握C语言中赋值语句的使用。
掌握数据输入输出的方法。
能正确使用各种格式转换符。
实验内容:1. 编写一个程序,从键盘接收一个一位的整型数,经转换,用字符函数putchar输出。
例如,输入整数5,程序运行后输出字符5。
2. 编程。
输入半径,计算球体表面积和球体积。
3. 编写一个程序,要求通过键盘给6个变量赋值,然后将变量的值在屏幕上打印输出。
这六个变量的值分别为:10,-10,40000,a,3.14,hello。
*实验四 C程序控制结构--分支目的要求:学会正确使用逻辑运算符与逻辑表达式。
掌握分支结构的格式及流程。
学会利用分支结构控制程序的流程。
实验内容:1. 编程实现:键盘输入三个整数,分别存放到变量a,b,c中,输出其中的最小值(要求不改变a、b、c的值)。
2. 编程实现:键盘输入一个字符,如是大写字母,则输出相应小写字母;如是小写字母,则输出相应大写字母;其它字符原样输出。
3. 计算以下分段函数值具体要求如下:①用if语句实现分支结构的编程。
②自变量与函数均采用双精度类型。
③自变量x用scanf函数输入,且输入前要有提示。
④结果的输出采用以下形式:x=具体值,f(x)=j具体值。
C语言第2章基本数据类型与表达式

整型数据有:十进制整数、八进制整数和十六进制三种形式。 整型数据有:十进制整数、八进制整数和十六进制三种形式。
(1)十进制整数的表示与数学上的表示相同,如: 十进制整数的表示与数学上的表示相同, 十进制整数的表示与数学上的表示相同 256,-321,0 , , (2)八进制整数的表示以数字 开头,如: 八进制整数的表示以数字0开头 八进制整数的表示以数字 开头, 0234表示八进制整数 表示八进制整数(234)8,所对应的十进制数 表示八进制整数 , 2×82+3×81+4×80=156。 为 × × × 。 (3)十六进制整数的表示以 开头,如: 十六进制整数的表示以0x开头 十六进制整数的表示以 开头, 0x234表示十六进制整数 表示十六进制整数(234)16 表示十六进制整数 (注意:十六进制数前导字符 ,x前面是数字 注意: 前面是数字0) 注意 十六进制数前导字符0x, 前面是数字 在一个整型数据后面加一个字母l或 , 在一个整型数据后面加一个字母 或L,则认 为是long int型量 长整型 。如342L、0L、78L等。 型量(长整型 为是 型量 长整型)。 、 、 等
2.2.3 实数类型
• 实数类型的数据即实型数据,又称之为浮点型数据。 实数类型的数据即实型数据,又称之为浮点型数据。 Turbo C的实型数据又分为单精度型 的实型数据又分为单精度型(float)和双精 的实型数据又分为单精度型 和双精 度型(double)两种,它们所占内存字节数及取值范 两种, 度型 两种 围见表2.1。 围见表 。 • 在C语言程序设计中,实型数据有两种表达形式: 语言程序设计中, 语言程序设计中 实型数据有两种表达形式: (1)十进制数形式。如: 十进制数形式。 十进制数形式 5.734、0.273、8、224等。 、 、 、 等 (2)指数形式。如: 指数形式。 指数形式 546E+3或546E3都代表 都代表546×103。 或 都代表 × 。 • 在一般系统中,一个 在一般系统中,一个float型数据在内存中占 个字 型数据在内存中占4个字 型数据在内存中占 一个double型数据占 个字节。单精度实数提 型数据占8个字节 节,一个 型数据占 个字节。 供了7位有效数字 双精度实数提供15位有效数字 位有效数字, 位有效数字。 供了 位有效数字,双精度实数提供 位有效数字。
2 C语言的基本数据类型与表达式

float:单精度浮点型,近似表示实数,在MS DOS 上,每个浮点型变量分配 32 bit 存储空间。浮点型 都是有符号的,可表示数值范围分为三段:-1038 至 -10-38, 0, 10-38 至 1038。数值都先化成指数,再用 二进制存储。6 - 7 位有效数字。 例如:float x, y; 等。 double:双精度型,近似表示更大实数,在MS DOS 上,每个浮点型变量分配 64 bit 存储空间。双精度 型都是有符号的,可表示数值范围分为三段:-10308 至 -10-308, 0, 10-308 至 10308。数值都先化成指数, 再用二进制存储。15 - 16 位有效数字。 例如:double x, y; 等。
设a=10,b=4,c=5 x+=5 x=x+5 90 求:a*=b+c x*=y+8 x=x*(y+8) x%=3 a*=b x=x%3 a=a*b
(2009.3) 14.设有定义:int x=2;,以下表达式中, 值不为6的是 D A)x*=x+1 B)x++,2*x C)x*=(1+x) D)2*x,x+=2
例2.4 整型变量定义及赋初值
void main() { int x,y,z,w; unsigned int k; x=10; y=-20; k=30; z=x+k; w=y+k; printf("x+k=%d,y+k=%d\n",z,w); }
例2.5 字符型变量定义及赋初值
void main() { char c1,c2; c1='a'; c2='b'; c1=c1-32; c2=c2-32; printf("%c %c",c1,c2); }
C语言程序设计实训教程第2章 数据类型、常量、变量、运算符与表达式

22
23
【例 2.8】 两个 char型数相加,结果为 char 型。( )[判断题,重庆市 2005年第 1次等级考 试] 答案:错 分析:结果是 int型。char型数据在运算前,先 无条件转换成 int型,再参与运算。
24
4)强制类型转换 【例 2.9】 若有 int k =5;float x=1.2;则表达 式( int)( x+ k)的值是( )。[单选题,重庆 市 2001年第 1次等级考试] A.5 B.6.2 C.7 D.6 答案:D
8
返回给定类型或表达式(运算结果)的字节数 (以 unsigned int的形式)。 强制转换运算符 把表达式的结果转变为所需的 类型。 (类型)表达式 运算过程中类型的转换 如图 2.1所示,横向表示无条件的转换,比如 在计算前,char型要先转换成 int再参与计算。 竖向表示操作符两边的操作数属于不同类型时, 精度低的向精度高的方向转换,然后再参与运算, 运算结果为转换后的类型。
9
赋值时类型转换 在赋值时,赋值号右边表达式 的值的类型自动转换为其左边变量的类型。 位运算符 位运算的操作数为整型或字符型。位 运算就是把整数的内部二进制形式按位进行运算。
图 2.1 C 语言类型转换示意图
10
①按位取反∽ 运算规则:
11
②位与(&) 运算规则:
12
③位或( |) 运算规则:
6ห้องสมุดไป่ตู้
运算符 分算术运算符、赋值运算符、关系运算 符、逻辑运算符、逗号运算符、自增和自减运算符、 条件运算符、位运算符等。 表达式 由运算符连接运算对象构成的式子。可 根据运算符的不同分类为算术表达式、赋值表达式、 关系表达式、逻辑表达式、逗号表达式、条件表达 式等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验2 数据类型与表达式实验目的●掌握C++语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法;●懂得转义字符的使用;●了解基本数据类型的字节宽度;●进一步熟悉C++程序的编辑、编译、连接和运行的过程;●掌握数据的输入输出的方法;●掌握运算符的优先级和结合性,能够正确书写表达式;●掌握不同的类型数据之间运算的类型转换规则,理解自动类型转换和会使用强制类型转换。
实验内容:1、基本数据类型的长度验证你的C++编译环境中每个基本数据类型的长度(即在内存空间所占的字节个数)。
用sizeof运算符获取类型或数据的所占字节数。
# include<iostream>using namespace std;int main(){cout << "字符'a' 所占字节数: " << sizeof('a') << endl;cout << "字符\"a\"所占字节数: " << sizeof("a") << endl;cout << "字符串\"China\" 所占字节数: " << sizeof("China") << endl;cout << "整型常量默认为int,int型所占字节数: " << sizeof(136) << endl;cout << "短整型short类型所占字节数: " << sizeof(short) << endl;cout << "实型常量.23456默认为double类型,double字节数:" << sizeof(1.23456) << endl; cout << "float型数据所占字节数:" << sizeof(float) << endl;cout << "double型数据所占字节数:" << sizeof(double) << endl;cout << "bool型数据所占的字节数:" << sizeof(bool) << endl;return 0;}1)人工分析程序,写出应得结果,上机后将二者对照。
2)仿照上述程序输出基本数据类型char, short, int, long double, float,double,bool的数据类型长度。
3)为什么字符串长度比总字符个数还要多1?2、先阅读下列程序,写出执行结果(有些程序可能存在错误,请调试、改正)(1)#include<iostream >using namespace std;int main(){char c1 = ‘’;char c2 = ‘’;c1 = 'a';c2 = 'b';cout << c1 << endl; cout << c2 << endl; return 0;}(2)#include<iostream> using namespace std; int main(){char c1 = 0 ;char c2 = 0;c1 = 102;c2 = 400;cout << c1 << endl; cout << c2 << endl; return 0;}(3)#include<iostream> using namespace std; int main(){char c1 = ‘’;char c2 = ‘’;c1 = a;c2 = b;cout << c1 << endl; cout << c2 << endl; return 0;}(4)#include<iostream>using namespace std;int main(){char c1 = “”;char c2 = “”;c1 = ”a”;c2 = ”b”;cout << c1 << endl;cout << c2 << endl;return 0;}(5)#include<iostream>using namespace std;int main(){cout << "Prints the \'\\a\' character: " << 'a' << endl;cout << "------------------------------------" << endl;cout << "Prints the \"\\t\" character:" << '\t' << "test" << endl;cout << "------------------------------------" << endl;cout << "Prints the \"\\r\" character: " << '\r' << "test\n\n\n";cout << "------------------------------------" << endl;return 0;}3、运行程序,观察实验结果。
//该程序已知圆的半径R,输出圆的周长P和面积S#include <iostream>using namespace std;#define PI 3.14159const double R = 10;int main(){double peremiter = 0;double area = 0;peremiter = 2 * R * PI; //周长 = 2πRarea = R * R * PI; //面积 = πR2cout << "周长:" << peremiter << endl;cout << "面积:" << area << endl;return 0;}1)将上述用蓝色字显示的语句改为“ int peremiter;int area;”,比较两次实验结果有什么不同,为什么?2)比较用define和const定义符号变量的格式和优缺点4、阅读下面的程序,写出执行结果。
然后上机调试,比较结果的正确性。
(有错误改正后运行)(1)#include<iostream>using namespace std;int main(){int a = 40;int b = 4;int c = 4;a = (b == c);//一个 = 号表示赋值,两个 = = 表示判断两面的值是否相等,是的话为1,否的话为0cout << "( 前面的 ) a = " << a << endl;a = a == (b = c);cout << "( 经过改变后的 ) a = " << a << endl;return 0;}(2)#include<iostream>using namespace std;int main(){int a = 0;int b = 0;int c = 0;a =b = 2;c = 3;b = a++ - 1;cout << "(第一次) a = " << a << ",b = " << b << endl;b = ++a - 1;cout << "(第二次) a = " << a << ",b = " << b << endl;b = c-- + 1;cout << "(这时的) b = " << b << ",第一次:c = " << c << endl;b = --c + 1;cout << "(这时的) b = " << b << ",第二次:c = " << c << endl;return 0;}(3)#include<iostream>using namespace std;int main(){int a = 1 ;int b = 2 ;int x = 0 ;int y = 0;cout << (a++ + ++b) << endl;//a = 2,b = 3cout << (a % b) << endl;x = ! a > b; //!表示“非”的意思//x = 0y = x-- && b;//两个&&表示“与”(而且)的意思,这里用来判断,两边都同时为真(或假)的时候为1,否则就为0cout << x << endl;cout << y << endl;return 0;}(4)#include <iostream>using namespace std;int main(){ int i = 0;int j = 0;int m = 0;int n = 0;i = 8;j = 10;m = ++i;n = j++;n = (++i) + (++j) + m;cout << i << '\t' << j << '\n';cout << m << '\t' << n << '\n';return 0;}(5)#include <iostream>#include <string>using namespace std;int main(){{string s = "a string";{string x = s + ", really";cout << s << endl;}cout << x << endl;}return 0;}5、求出下列算术表达式的值,并上机验证结果。