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.写出下列程序的运行结果,并上机验证。
- 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、求出下列算术表达式的值,并上机验证结果。