C语言第二次上机实习内容
大家好,今天的练习包括5道小题目,请大家分别编写myf1.c ~ myf5.c五个c源程序来实现题目要求,最后作业请将这五个
c源程序作为附件发送给我,另外请大家将作业邮件的标题按照“学号 姓名 第几次作业”的形式编写,多谢!:)
1。察看整型变量在内存中是否以补码方式存储
编制一个小程序,来察看整型变量在内存中是否以补码方式存储。
方法是采用printf语句的格式化功能,即使用%x来表示以16进制无符号整数形式输出,比如
int a = -9;
printf("a in memory : %x \n", a);
则把a按照16进制无符号形式输出,也就是给出了-9在内存中的表示,大家看看这个是不是-9的补码表示。
printf语句还可以以其他形式输出一个整数,比如%d表示带符号十进制整数形式输出,%u表示以无符号十进制
形式输出等,以后会陆续用到。
2。整型变量的溢出效果
编制一个小程序,声明一个整型变量,然后通过scanf函数给这个整型变量赋值,然后输出这个变量的值,
看看和刚才输入的是否相同。
例:
void main()
{
int a = 1;
while(a != 0 )
{
printf("Input a number:");
scanf("%d",&a);
printf("Your input is %d\n", a);
}
printf("Game over! Thank you!\n");
}
你的输入可以是正常范围内的整型值,即-32768~32767之间的整数,也可以超出这个范围,看看溢出的效果如何。
最后输入0退出程序。
3。了解你所用的编译系统中各个整型变量所占用的存储字节数
这个可以利用TC提供的sizeof()运算符来实现。
例:
printf("int size : %d\n", sizeof(int));
将打印int型变量所占用的存储字节数。
请编写程序来打印出int、short int、long int、float、double等类型变量所占用的存储字节数。
4。高数中常用的符号函数sign的数学定义如下:
1 x > 0
sign(x) = 0 x = 0
-1 x < 0
编写一个C函数来实现这个符号函数的定义。下面给出这个函数的大致框架,里面的内容请大家自己实现,
然后在主程序中调用这个函数来对一些数据进行符号判断。
int sign(int x)
{
int result;
... // 请大家自己实现
return(result);
}
在主函数中调用时,形式可以如下:
int a, fuhao;
a = 9; 或者scanf("%d",&a);
fuhao = sign(a);
printf("%d 's sign is %d \n", a, fuhao);
注意这里的形式只是可行的一种,大家自己能够实现当然最好。
5. 编写程序,从键盘输入一个实数,然后分别输出这个实数的符号、整数部分和小数部分。
例如: 输入-123.456,那么输出应该是
sign: -
integral part: 123
decimal fraction part: 0.456
参考资料:请给分,谢谢