实验报告(2)

更新时间:2023-10-01 23:49:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

C语言程序设计

上机实验报告

实验二 基本数据类型与运算符

班 级:计本(2)班

姓 名:杨宴强 学 号:201392130129

实验二 基本数据类型与运算符

一、实验目的:

⒈掌握C语言中变量的定义方法,这些变量的数据类型是基本诗句类型。 ⒉掌握整型数据的格式输入方法和输出的方法。 3.掌握浮点数据的格式输入方法和输出方法。 4.掌握字符型数据的格式输入和输出方法。

5.掌握putcharf7()和getchar()函数的调用方法。 6.掌握算数运算符的用法。 7.掌握关系运算符的用法。 8.掌握逻辑运算符的用法。 9.掌握位逻辑运算符的用法。 10.掌握调试程序的简单技巧。

二、实验内容:

⒈练习用各种基本数据类型定义变量和输出方式。 ⒉练习使用scanf()函数接受数据。

3.练习使用scanf()函数接收带有特殊格式的数据。 4.通过调试,将下面的程序修改为正确的程序。 5.编写程序验证习题结果。

6.练习在被调试程序中增加输出语句帮助调试程序,检查程序的逻辑错误之所在。 7.编写程序输入两个整数,计算它们的和、差、积、商和余数,并输出结果。要求输出的格式为“3+4=7”,其中3和4是由用户输入的。

8.编写程序输入两个浮点数,计算它们的和、差、积和商,并输出结果。

9.编写程序,输入一个正整数,分别按十进制、八进制和十六进制输出该数。 10.编写程序,使用getchar()函数接收一个字符,用putchar()函数显示;使用scanf()函数接收一个字符,用printf()函数显示。

11.编写程序接收两个双精度浮点数,输出它们的和。

12.编写程序,输入三个数,求出它们的平均值并输出,用浮点数据处理。

三、实验步骤及结果:

A:练习用各种基本数据类型定义变量和输出方式

操作步骤:

1)建立一个新的工作空间、新的项目以及新的文件first.cpp. 2)在编辑窗口中编辑first,cpp文件,内容如下:

#include void main() { int a=1,b=2,c=3; printf(\}

3)按快捷键【ctrl+F7】或选择Build---Build命令对程序进行编译和连接。 4)按快捷键【ctrl+F5】或直接单机运行按钮“!”,运行程序,运行结果正确。

5)在编辑窗口中编辑first.cpp文件,内容如下:

#include void main() {

double a=1.0,b=2.0,c=3.0;

printf(\}

6)编译、运行并运行程序,得到正确结果。

B:练习使用scanf()函数接收数据 操作步骤:

1)在编辑窗口中重新编辑first.cpp文件,内容如下:

#include void main() { int a,b,c; printf(\ scanf(\ printf(\}

2)编译、连接并运行程序。

C:练习使用scanf()函数接收带有特殊格式的数据

操作步骤:

1)在窗口编辑first.cpp 文件,内容如下:

#include void main() { int a,b,c; }

printf(\请输入时间(格式为00:00:00):\scanf(\printf(\时间是 %d:%d:%d\

2)编译、连接并运行程序。

D:通过调试,将下面的程序改为正确的程序

操作步骤:

1)编辑first.cpp文件,内容如下:

#include {stdio.h} Void Main() { int a=6;b=8;c; c=a*b;

printf('%d',c); }

2)编译该程序,编译的结果是该程序有4个错误,对错误的提示信息包括:

first.cpp

d:\\msdev98\\myprojects\\awe\\first.cpp(1) : error C2006: #include expected a filename, found '{' d:\\msdev98\\myprojects\\awe\\first.cpp(2) : error C2146: syntax error : missing ';' before identifier 'Main'

d:\\msdev98\\myprojects\\awe\\first.cpp(2) : error C2501: 'Void' : missing storage-class or type specifiers

d:\\msdev98\\myprojects\\awe\\first.cpp(2) : fatal error C1004: unexpected end of file found

3)将编辑窗口中的第1行修改为“#include ”,第2行修改为“void main()”,第5行修改为“printf(“%d”,c);”.

#include void main() { int a=6;b=8;c; c=a*b;

printf(\}

4)再次编译程序,编译程序还是发现了两个错误。错误如下:

first.cpp

d:\\msdev98\\myprojects\\awe\\first.cpp(3) : error C2065: 'b' : undeclared identifier d:\\msdev98\\myprojects\\awe\\first.cpp(3) : error C2065: 'c' : undeclared identifier

5)在编辑窗口中将语句“int a=6;b=8;c;”修改为“int a=6,b=8,c;”.

#include void main() { int a=6,b=8,c; c=a*b;

printf(\}

7)第4次编译程序,编译成功:

E:编写程序验证习题结果

习题(1):假设有定义“int j=6”;,执行语句”j+=j-=j*j;”后j的值是多少? 操作步骤:

1)编写程序如下:

#include void main() { int j=6; j+=j-=j*j; printf(\}

2)编译、连接并运行上面的程序,得到运行的结果“j=-60”’

习题(2):若变量已正确定义和赋值,下列表达式中哪些符合C语言语法? A :x=y+7=z*6 B:16.5%3 C:x=y=z*6 D:x:=y 操作步骤:

1)编写程序如下:

#include void main() { int x,y,z,i;

}

x=y+7=z*6;

/*i=16.5%3;printf(\/* x=y=z*6;*/ /*:=y;*/

printf(\

2)编辑和编译上面的程序,编译出现了错误,说明表达式“x=y+7=z*6;”错误。

first.cpp

D:\\MSDev98\\MyProjects\\awe\\first.cpp(5) : error C2106: '=' : left operand must be l-value

3)删除程序中的“x=y+7=z*6;”语句,调试去掉“i=16.5%3;printf(“i=%d”,i);”前后的注释符合,程序改为:

#include void main() { int x,y,z,i; i=16.5%3;printf(\ /*x=y=z*6;*/ /*x:=y;*/ printf(\}

4)再次编译,任然出错,说明表达式“int 16.5%3”不正确。

first.cpp

D:\\MSDev98\\MyProjects\\awe\\first.cpp(5) : error C2296: '%' : illegal, left operand has type 'const double'

5)将上面程序删除“i=16.5%3;printf(“i=%d”,i);”语句,同时去掉“x=y+7=z*6;”前后的注释符合,再次编译,这次编译没有错,说明表达式“x=y+7=z*6;”是正确的。但是,编译的结果有两个结果信息:

#include void main() { int x,y,z,i; x=y=z*6; /*x:=y;*/ printf(\}

D:\\MSDev98\\MyProjects\\awe\\first.cpp(4) : warning C4101: 'i' : unreferenced local variable

D:\\MSDev98\\MyProjects\\awe\\first.cpp(5) : warning C4700: local variable 'z' used without having been initialized

6)去掉对i的定义,并为z赋值1,程序改为:

#include void main() { int x,y,z=1;

}

x=y=z*6; /*x:=y;*/

printf(\

7)再次编译,编译成功并且没有结果信息。

8)同样可以知道表达式“x:=y”

F:练习在被调试程序中增加输出语句帮助调试程序,检查程序的逻辑错误之所在

下面的程序功能是:程序要接收用户输入年利率i和存款总数s,计算并输出一年后的本息合计。 操作步骤:

1)编写程序如下:

#include void main() { float i,s; printf(\ scanf(\ s=s*(1+i); printf(\}

2)编译、连接上面的程序,程序通过了编译和连接。

3)运行程序,从键盘输入数据“0.02 10000”;系统接收数据并计算出结果。 得到的结果却是;I have -107374176 yuan after 1 year

4)在编辑窗口中的语句“scanf(“%d%d”,&i,&s);”的后面加一条帮助调试的语句:“printf(“i=%f,s=%f”,i,s);”。

#include void main() { float i,s;

}

printf(\

scanf(\s=s*(1+i);

printf(\

5)运行程序,根据结果,发现i和s的值没有被接收,这时可以清楚地知道错误语句只能是“scanf(“%d%d”,&i,&s);”,该语句用%d来接收浮点数显然是错误的.

6)在编辑窗口修改程序,将语句“scanf(“%d%d”,&i,&s);”改为“scanf(“%f%f”,&i,&s);”。

7)去掉语句“printf(“i=%f,s=%f”,i,s);”。

#include void main() { float i,s; printf(\ scanf(\ s=s*(1+i); printf(\}

8)连接和运行程序,得到正确结果。

习题

1.编写程序输入两个正整数,计算它们的和、差、积、商和余数,并输出结果。要求输出的格式为“3+4=7”‘其中3和4是由用户输入的。

#include void main() {

int a,b;

printf(\ scanf(\

printf(\}

2.编写程序输入两个浮点数,计算它们的和、差、积、商,并输出结果。

#include void main() {

double a,b; a=4.2; b=0.6; printf(\}

3.编写程序,输入一个正整数,分别按十进制、八进制和十六进制输出该数。

#include void main() {

int a; a=100;

printf(\ printf(\ printf(\}

4.编写程序,接受两个双精度的浮点数,求出它们的和。

#include void main() {

double a,b; a=1.2; b=3.2;

printf(\}

5.编写程序,输入三个数,求出它们的平均值,用浮点数据处理。

#include void main() {

double a,b,c; a=3.5; b=4.0; c=4.5;

printf(\3); }

6.编写程序,使用个getchar()函数接受一个数字,用printf()函数显示;使用scanf()函数接受一个字符,用putchar()显示。

#include void main() {

char a,b,i;

printf(\请输入两个小写字母:\\n\ a=getchar(); b=getchar(); i='a'-'A';

printf(\对应的两个大写字母:\ putchar(a-i);

putchar(b-i); putchar('\\n'); }

四:实验总结

通过这次实验,掌握C语言中变量的定义方法以及基本的数据类型,并且掌

握整形数据、浮点数据、字符型数据的输出和输入方法,也了解了putchar()和getchar()函数,掌握了关系运算符、算数运算符、逻辑运算符、以及位逻辑运算符的用法,也基本上掌握了程序的调试方法。在这次试验中,一些程序设计不是做的很好,所以在以后的实验中,我会更加努力的。

本文来源:https://www.bwwdw.com/article/bwtd.html

Top