c语言作业一(物联1234liachulian)
1.hello world
#include <stdio.h>
int main()
{
printf("Hello world!\n");
return 0;
}
2. 下面程序演示了如何输出 a、b、c 三个变量的值。
#include <stdio.h>
void main()
{
int a = 1;
float b = 2.5;
char c = 'A';
printf ("a = %d\n",a);
printf("b = %f\n",b);
printf("c = %c\n",c);
printf("End of program");
}
3.下面这个程序用于计算并显示每种数据类型所占内存空间的大小。
#include <stdio.h>
main()
{
printf("Data type Number of bytes\n");
printf("----------- -------------------");
printf("char %d\n",sizeof(char));
printf("int %d\n",sizeof(int));
printf("short int %d\n",sizeof(short));
printf("long int %d\n",sizeof(long));
printf("float %d\n",sizeof(float));
printf("double %d\n",sizeof(double));
}
4.输入书本 P48[温度转换]的代码,并观察其输出。
#include <stdio.h>
int main()
{
double temF, temC;
temF = 100;
temC = 5 * (temF - 32) / 9;
printf ("华氏温度%5.2f\n",temF,temC);
return 0;
}
5.输入书本P52[三角形周长]的代码,并观察其输出
#include <stdio.h>
int main()
{
int a = 6,
b = 5, c = 5;
int triC;
triC = a + b + c;
printf("三角形的周长是:%d\n",triC);
return 0;
}
6.溢出问题:
short short_value = 32767; // short占2个字节,最大值32767; short_value += 1;
printf(“%d”, short_value);
上述结果输出值为:short_value=-32768,请分析这个值是怎么得到的?
答:short_value = 32767是2个字节所可以表示的最大正整数(补码为0111111111111111),所以short_value += 1后,short_value的补码为1000000000000000表示的数值为-32768.
7.求值:
(a)-303+21/6(b)-30 +321/6
© 30 /3* 21%6(d) -30 /3* 21%4
答:(a)-86.5
(b)19.5
(c) 0
(d) 2
8.假设i,j,k 都是整数,说明表达式i!=j< k的含义。
答:j小于k且j不等于i.
9.赋值完毕,i,d 的值分别为多少?int i ; double d;(a)d =i= 3.5;(b)i = d = 3.5;
答:(a)i=3,d=0.
(b)i=3,d=0.
10.请查询资料了解[条件运算符]的语法、例子等。
11.假设有如下定义:
char cval; int ival;
unsigned int ui; float fval; double dval:请回答下列表达式是否又发生类型转换。请将有发生的情况指出来。
(a) cval =‘a’+ 3;(b)fval = ui - ival * 1.0;© dval = ui * fval:
(d) cval = ival + fval + dval;
答:(a)'a’的类型变成int类型,然后在将’a’加3的结果转换成char类型
(b)ui和ival都转换成double类型在运算
(c)ui和fval都转换成double类型
(d)ival和fval都转换成double类型,然后进行运算再将结果转换成char类型