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
1.
void fmin(int *x)
{
char i,j,min;
min = *x;
j=0;
for(i=1;i<10;i++)//for循环找出最小的数
if(min>*(x+i))
{
min = *(x+i);
j=i;
}
*(x+j)=*x;
*x=min; //这两句把最小数和第一个数对调
}
用法:如处理数组a[10],调用函数:fmin(a);
2.
void chx(int *i,int *j,int *k)
{
int x;
x=*i;
*i=*j;
*j=*k;
*k=x;
}
void main()
{
int i,j,k;
i=1;
j=2;
k=3;
chx(&i,&j,&k);
}
要在子程序中改变实参,需要用指针。
1、
void main()
{
int a;
scanf("d%",&a);
printf("a in memory : %x \n", a);
printf("a in memory : %u \n", a);
printf("a in memory : %o \n", a);
printf("a in memory : %c \n", a);
}
2、
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");
}
3、
void main()
{
printf("int size : %d\n", sizeof(int));
printf("short int size : %d\n", sizeof(short int));
printf("long int size : %d\n", sizeof(long int));
printf("float size : %d\n", sizeof(float));
printf("double size : %d\n", sizeof(double));
printf("char size : %d\n", sizeof(char));
}
4、
int sign(int x)
{
int result;
if(x == 0)
result = 0;
else if(x<0)
result = -1;
else
result = 1;
return(result);
}
void main()
{
int a, fuhao;
a = 9;
/*scanf("%d",&a); */
fuhao = sign(a);
printf("%d 's sign is %d \n", a, fuhao);
}
5、
#define EXPSION 0.0000001
#include
int main()
{
double x = 0;
char sign;
scanf("%lf", &x);
if(x <= -EXPSION)
sign = '-';
else
sign = '+';
printf("sign:c%\n",c); //符号
printf("integral part:%ld\n", (long)x); //整数部分
printf("decimal fraction part: %lf\n",x - (long)x);//小数部分
getch();
return 0;
};
你怎么那么懒啊,这样对你来说除了能顺利完成任务,还能有什么好处啊,自己思考的来的东西才是最好的啊
111
不是吧
你还真强啊
这也可以
你哪学校的
校长是谁
班主任哪位?