川大c语言第一次作业
- 格式:doc
- 大小:135.50 KB
- 文档页数:3
1.运行如下程序,并改正错误。
/*Hello,World!的变形程序*/
#include
int main( )
{
printf("________________\n| Hello, |\n| World! |\n(\\(\\ /\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\"\n(^•^)/\no_(\")(\")\n ");\\这里连成一排的
return 0;
}
结果如下
2.用printf函数输出如下字符串:"abc\t123\r456\nabc\b123\\45",并分析输出结果。
"
解释:
\t代表水平制表,每8个字符为一个输出区,所以首先是abc 123
\r代表将光标放回到行首,打出456将刚才的abc覆盖,现在是456 123
\n是换行
\b是退格,所以打出第二排的abc后退格成ab再打印成ab123,
\\即代表\,
所以结果如上图。
3.将2147483648,(short)32768,-1用printf函数输出为十进制、八进制和十六进制形式,
并分析输出结果。
由于2147483648是2^31,所以转换为二进制是100000……0000(31个0),对于32bit的电
脑,ing最大是2^31-1,所以2^31好像是被认为成了最小值了,即-2^31
然后,又二进制转化为8进制,3位3位的变,转16进制则4位4位的变,结果如下
对于(short)32668,还是先转换为二进制111 111 110 011 100,转化为8进制是77634,111 1111 1001 1100转化为16进制是7f9c,结果如下
对于-1,转化为二进制是2^31-1,即为11111……11111(32个1),转化为8进制时,\o代表的是无符号的8进制数,32%3=2,所以第一位是3,后面是7,结果是37777777777,
由于32%4=0,所以是8个f,结果如下图
4.写程序把一个4位整数(比如qbsg)转换成另一个形式(sqgb)。
#include
int main(int argc, char *argv[])
{
int a,q,b,s,g,px ;
printf("请输入一个正的4位数");
scanf("%d",&a);
q=a/1000;
b=(a-q*1000)/100;
s=(a-q*1000-b*100)/10;
g=(a-q*1000-b*100-s*10);
px=1000*s+100*q+10*g+b;
printf("转换结果是:%d",px);
return 0;
}
用1234实验结果如下
5.编写一个求梯形面积的程序。
#include
int main(int argc, char *argv[])
{
float s,x,g,mj;
printf("请依次输入梯形的上底,下底,高"); scanf("%f,%f,%f",&s,&x,&g);
mj=0.5f*s*x*g;
printf("梯形的面积是:%g",mj);
return 0;
}
输入值实验: