实验一(第1章实验)
实验目的:
1.掌握运行C语言程序的全过程。
2.熟悉编译环境Visual C++或者Dev C++或者Turbo C2.0//3.0。
3.初步熟悉C语言程序的语法规定。
4.了解简单函数的使用方法。
实验内容:
1.编程且上机运行:求3个整数的和。
2.编程且上机运行:求2个数的和、差、积和商。
3.编程且上机运行:输入3个数,求最大值。
4.编程且上机运行:输入圆的半径,求圆的面积和周长。
5.在屏幕上输出:“c语言程序设计教材答案hello world!”
6. 输入并编辑本章中给出的C程序例子,在自己用的环境中形成一个C语言源程序文件;对这个源程序进行加工,得到对应的可执行程序,看一看它的效果。
实验结果:
1.
#include <stdio.h>
#include <stdlib.h>
main( )
{ int i,j,k;
printf("input i,j,k:");//输入整数数据,以半角逗号间隔,比如:1,2,3
scanf("%d,%d,%d",&i,&j,&k);//不能缺少地址符号“&”
printf("%d+%d+%d=%d\n",i,j,k,i+j+k);
system("Pause");
}
2.
#include <stdio.h>
#include <stdlib.h>
main( )
{ int i,j;
printf("input i,j(not 0):");//输入整数数据,以半角逗号间隔,j不为0,因为做除数
scanf("%d,%d,%d",&i,&j);//不能缺少地址符号“&”
printf("%d+%d=%d\n",i,j,i+j);
printf("%d-%d=%d\n",i,j,i-j);
printf("%d*%d=%d\n",i,j,i*j);
printf("%d/%d=%d\n",i,j,i/j);
system("Pause");
}
3. #include <stdio.h>
#include <stdlib.h>
main( )
{ int i,j,k;
printf("input i,j,k:");//输入整数数据,以半角逗号间隔
scanf("%d,%d,%d",&i,&j,&k);//不能缺少地址符号“&”
if(i>j)
{
if(j>k)
printf("max:%d",i);
else if(i>k)
printf("max:%d",i);
else
printf("max:%d",k);
}
else
{
if(j<k)
printf("max:%d",k);
else
printf("max:%d",j);
}
system("Pause");
}
4. #include <stdio.h>
#include <stdlib.h>
#define pi 3.14
main( )
{ float r;
printf("input r:");
scanf("%f",&r);//不能缺少地址符号“&”
printf("circle area is:%6.2f",pi*r*r);
system("Pause");
}
5.
#include <stdio.h>
#include <stdlib.h>
#define pi 3.14
main( )
{
printf("hello world!");
system("Pause");
}
6.略
实验二(第3章实验一)
实验目的:理解C语言的类型系统。
实验内容:写程序测试数据 -2在类型char,int,unsigned int,long int,unsigned long int中存储情况。
实验过程:
实验结果:参见各种类型的存储实现描述。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
main( )
{ char c='-2';//1
int i=-2;//4
unsigned int ui=-2;//4
long int li=-2;//4
unsigned long int uli=-2;//4
printf("%d\n",sizeof(char));
printf("%d\n",sizeof(int));
printf("%d\n",sizeof(unsigned int));
printf("%d\n",sizeof(long int));
printf("%d\n",sizeof(unsigned long int));
printf("%c,%d,%u,%ld,%lu",i,i,i,i,i);
system("Pause");
}
实验二(第3章实验二)
实验目的:了解混合类型计算中类型的转换规则。
实验内容:写程序测试多种类型数据一起运算时类型的转换及表达式结果的类型。注意unsigned int和 int数据运算时类型转换的方向。
实验过程:
/*
* 类型转换问题
* 试问下面两个表达式等价吗?
*/
#include <stdio.h>
#include <stdlib.h>
int main() {
unsigned int ui,uj;
ui = 1;
uj = 2;
if (ui < uj)
printf("\n%u < %u is true !\n", ui, uj);
else
printf("\n%u < %u is false !\n", ui, uj);
if (ui - uj < 0)
printf("\n%u - %u <0 is true !\n", ui, uj);
else
printf("\n%u - %u <0 is false !\n", ui, uj);
system("pause");
return 0;
}
实验结果:不等价。结果如下:
1 < 2 is true !
1 - 2 <0 is false !
原因是1-2=-1,-1在unsigned int 中的表示为
31 | 23 | 15 | 7 | 0 | |||||||||||||||||||||||||||
1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
实验二(第3章实验三)
实验目的:理解数据溢出现象。
实验内容:写程序测试数据溢出,注意分别在16环境和32环境中测试。
实验过程:
实验结果:参见【例3.3】。
实验三(第3章实验四)
实验目的:char的符号问题。
实验内容:写程序测试你所用的C语言编译器char符号问题的处理方案。
实验过程:
/*
* 这个程序验证编译器对 char 的解决方案,是有符号,还是无符号
*/
#include <stdio.h>
#include <stdlib.h>
int main()
{
char c = -1;
int k;
k = c; /* k = ? */
if (k == 255)
printf("The char is unsigned char.\n");
else
printf("The char is signed char.\n");
printf("k = %d, %x", k, k);
system("pause");
return 0;
}
实验结果:TC2.0和DevC++中char是有符号的
实验三(第3章实验五)
实验目的:自增和自减运算符。
实验内容:写程序测试++、-- 运算符。
实验过程:
main()
{
int i=3;
printf("i=%d\n",i++);
printf("i=%d\n",i);
printf("i=%d\n",++i);
printf("i=%d\n",i);
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论