川大c语言第一次作业

  • 格式:doc
  • 大小:135.50 KB
  • 文档页数:3

下载文档原格式

  / 6
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

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;

}

输入值实验: