程序设计基础C作业答案带原题文档格式.docx

上传人:b****5 文档编号:18559198 上传时间:2022-12-27 格式:DOCX 页数:52 大小:37.06KB
下载 相关 举报
程序设计基础C作业答案带原题文档格式.docx_第1页
第1页 / 共52页
程序设计基础C作业答案带原题文档格式.docx_第2页
第2页 / 共52页
程序设计基础C作业答案带原题文档格式.docx_第3页
第3页 / 共52页
程序设计基础C作业答案带原题文档格式.docx_第4页
第4页 / 共52页
程序设计基础C作业答案带原题文档格式.docx_第5页
第5页 / 共52页
点击查看更多>>
下载资源
资源描述

程序设计基础C作业答案带原题文档格式.docx

《程序设计基础C作业答案带原题文档格式.docx》由会员分享,可在线阅读,更多相关《程序设计基础C作业答案带原题文档格式.docx(52页珍藏版)》请在冰豆网上搜索。

程序设计基础C作业答案带原题文档格式.docx

%d%d\n"

&

a,&

b);

c=add(a,b);

/*函数调用*/

printf("

%d+%d=%d\n"

a,b,c);

/*调用系统输出函数printf,%d为格式控制符,依次用后面的变量值填充,以整数形式输出*/

}

请思考文件ex1-1.c由几个函数构成?

由个函数构成

调用了那几个系统函数?

调用2个系统函数,分别是scanf和printf

此程序中用到了哪几个保留字?

哪几个用户自定义标识符?

保留字:

int,return自定义表示符:

z,x,y,a,b,c

步骤3:

编译并运行程序,程序运行时输入两个整数,2040,观察程序运行的结果。

20+40=60

2.编辑、调试以下程序

在VisualC++环境下新建文件可用[开始]→[程序]→[MicrosoftVisualC++6.0]→[MicrosoftVisualC++6.0]→[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-2.c

步骤2:

在文本编辑器中输入以下C程序

#include<

ex1-2-2.c>

intand(int,int);

/*函数的说明,告诉系统在主函数中要调用and函数*/

intor(int,int);

/*函数的说明,告诉系统在主函数中要调用and函数*/

%d%d"

c=and(a,b);

%d&

&

%d=%d\n"

/*调用系统输出函数printf,%d为格式控制符,依次用后面的变量值填充,以整数形式输出*/

c=or(a,b);

%d||%d=%d\n"

[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-2-2.c,源程序代码为:

intand(inta,intb)

{

intc;

c=a&

b;

returnc;

步骤4:

[文件]→[新建]→[文件]→[C++SourseFile],输入文件名ex1-2-3.c,源程序代码为:

intor(inta,intb)

c=a||b;

步骤5:

点击编译图标

,编译程序1-2.c

点击执行图标

,执行程序1-2.c,当程序运行时,键盘输入2040,按回车。

2040

20&

40=1

20||40=1

您可以输入其它的整数,观察程序的执行结果。

30

3&

0=0

3||0=0

第2章 输入输出程序设计

1.用printf输出一个中空的五角星。

#include<

voidmain(){

printf("

\t*\n"

);

\t**\n"

\t********\n"

\t***\n"

\t****\n"

\t**\n"

2.仿照例子2.2,定义一个字符数组,从键盘输入一字符串,然后输出的程序。

#include<

intmain(){

chars[255];

printf("

请输入:

"

scanf("

%s"

s);

你输入的是:

%s\n"

return0;

}

3.从键盘输入十六进制整数,转化为八进制数输出。

inta;

请输入一个十六进制数:

%x"

a);

这个数转化为八进制数为%o\n"

a);

4.只定义两个整型数据并赋值,实现两个整型数的互换。

inta=10;

intb=20;

a=a^b;

b=b^a;

a=%d,b=%d\n"

a,b);

5.从键盘上输入一个整数,分别输出8、16进制数的程序。

请输入一个十进制数:

%d"

这个数转化为八进制数为%x\n"

6.从键盘上输入一个整数,分别输出它的个位数,十位数,百位数。

#include<

intmain()

{

百位数为%d\n"

a/100);

十位数为%d\n"

a%100/10);

个位数为%d\n"

a%10);

7.以下程序输出结果是(9,10)。

voidmain()

inti=010,j=10;

%d,%d\n"

++i,j--);

8.运行程序,屏幕提示“您是一个学生吗”,您输入’y’或’n’进行回答,屏幕输出您的选项。

chars;

你是学生吗(Y/N):

s);

if(s=='

Y'

||s=='

y'

{

printf("

你是学生~~\n"

}

else

你不是学生~~\n"

}

9.从键盘输入一个角度x,求10*sin(x)的值。

math.h>

doubler=10*sin(a);

%f\n"

r);

第3章 循环程序设计

1.执行语句for(i=0;

i++<

5;

后,变量i的值是(A)。

(A)6(B)5

(C)4(D)0

2.若inti=0;

下列语句计算1+2+…+10的是(C)。

(A)while(s+=i);

(B)for(;

i<

=10;

i++,s+=i)

(C)for(;

s+=i,i++)(D)for(;

9;

3.若inti,x;

则语句for(i=x=0;

i+=++x);

的循环体要执行(4)次。

10.以下不是死循环的语句是(D)。

(A)for(;

;

x++);

(B)while

(1){x++};

(C)do{i++;

}while

(1)(D)for(x=-10;

x++;

4.以下for语句的循环次数是多少?

inti,j=3;

for(;

i=j;

i--,j--)printf("

i);

执行了3次

5.下面的语句显示输出6行6列的整数数组h的主对角线上的所有元素,请补充完整:

for(inti=0;

6;

i++)

h[i][i])

6.写出以下程序运行的结果,此程序实现了什么功能?

{inta[10]={2,4,0,-5,10,6,-8,9,6,7};

inti,count=0;

for(i=0;

10;

i++)

if(a[i]==0)count++;

elsecontinue;

%d\n"

count);

该程序实现的功能为:

计算数组a中包含几个0

7.写出以下程序的功能。

inta[10]={2,4,0,-5,10,6,-8,9,6,7},tmp,k;

for(k=0;

k<

10/2;

k++)

tmp=a[k];

a[k]=a[10-k-1];

a[10-k-1]=tmp;

此程序实现功能:

将数组颠倒

8.写出以下程序运行后的输出结果。

inti,j;

6;

for(j=0;

j<

i;

j++)

"

for(j=0;

2*(5-i)-1;

*"

\n"

输出倒三角形

*********

*******

*****

***

*

9.请改正下列程序的错误,改正后的程序写在右边的空白处,并上机调试检验。

(1)

voidmain()

inti,s;

i=1;

s=0;

while(i<

=100)

s=s+i;

i++;

printf(“1+2+3+….+99+100=%d\n”,s);

=100);

(2)

s=0;

=100){

printf(“1+2+3+….+99+100=%d\n”,s);

(3)

ints=0;

inti=1,s;

=100);

10.输入一个基数,例如输入9,输出为:

求1*3*……*9的值。

输出为:

1*3*5*7*9=945

inta,b;

b=1;

for(inti=1;

i<

=a;

i+=2){

b=b*i;

%d\n"

b);

11.输入一个5~10之间的整数n,求1!

+2!

+3!

+…+n!

例如输入5,输出为:

1!

+…+5!

=153

{

inta,b,c;

c=0;

i<

i++)

for(intj=1;

j<

=i;

j++)

{

b=b*j;

}

c=c+b;

b=1;

c);

return0;

12.在屏幕上输出以下内容

1

12

123

1234

12345

123456

1234567

12345678

123456789

intmain()

for(inta=1;

a<

=9;

a++)

for(intb=1;

b<

b++)

return0;

13.求2+4+6+……+98+100的和,用多种for表达式来完成。

intsum=0;

for(inta=2;

=100;

a+=2)

sum+=a;

sum);

14. 输入一行字符,统计它有多少个字母?

intcount=0;

chars[255];

scanf("

for(inti=0;

255;

if(s[i]>

='

a'

&

s[i]<

z'

||s[i]>

A'

Z'

count++;

count);

第4章 分支程序设计

1.输入若干整数给x,使用if语句输出x的绝对值,当输入0时结束。

intx;

x);

for(;

x;

x))

if(x>

0)

x);

-x);

2.输入一批数,输出比相邻数大的数,当输入0时结束。

inta;

intb=0;

b=a;

a;

a))

if(a>

b)

%d\t"

b=a;

3.将输入字符的大写字符转换成小写字符输出,小写字符原样输出。

charc;

while((c=getchar())!

\n'

if(c>

c<

c+=32;

putchar(c);

4.输入一批字符,按回车时结束,统计小写字符、大写字符、数字字符、或其它字符的个数。

intdx=0,xx=0,sz=0,qt=0;

dx++;

elseif(c>

xx++;

0'

9'

sz++;

qt++;

包含大写字母%d个,小写字母%d个,数字%d个,其他字符%d个.\n"

dx,xx,sz,qt);

5.编写程序,计算分段函数:

doublex,y;

%f"

if(x<

=1)

y=x+5;

elseif(x<

10)

y=2*x;

else

y=3/(x-10);

y);

6.根据输入的百分制按五分制的成绩输出。

百分制与五分制之间的关系见下表。

百分制

五分制

90~100

5

80~89

4

70~79

3

60~69

2

<

60

1

if(a>

90)

5\n"

elseif(a>

80)

4\n"

70)

3\n"

60)

2\n"

1\n"

7、用switch完成:

读入一个实数x,再输入一整数,若输入是1,则计算sin(x),若输入2,则计算cos(x),若输入3,则计算tan(x),若输入其他值,则显示错误信息。

inta,b;

%d,%d"

switch(a)

case1:

y=sin(x)=%f"

sin(b));

break;

case2:

y=cos(x)=%f"

cos(b));

case3:

y=tan(x)=%f"

tan(b));

default:

error"

8、用switch完成:

输入星期1到星期5,输出它们对应的颜色

星期1:

blue

星期2:

red

星期3:

white

星期4:

yellow

星期5:

green

 

星期一:

blue\n"

星期二:

red\n"

case3:

星期三:

white\n"

case4:

星期四:

yellow\n"

case5:

星期五:

green\n"

error\n"

9、用switch完成:

从键盘输入A、B、C、D四个等级中的一个,转化输出

等级

输出

A

优秀

B

良好

C

中等

D

及格

E

不及格

chara;

case'

:

优秀\n"

B'

良好\n"

C'

中等\n"

D'

及格\n"

E'

pr

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1