浙江大学远程教育程序设计基础C作业.docx

上传人:b****8 文档编号:10079269 上传时间:2023-05-23 格式:DOCX 页数:59 大小:35.50KB
下载 相关 举报
浙江大学远程教育程序设计基础C作业.docx_第1页
第1页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第2页
第2页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第3页
第3页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第4页
第4页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第5页
第5页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第6页
第6页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第7页
第7页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第8页
第8页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第9页
第9页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第10页
第10页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第11页
第11页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第12页
第12页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第13页
第13页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第14页
第14页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第15页
第15页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第16页
第16页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第17页
第17页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第18页
第18页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第19页
第19页 / 共59页
浙江大学远程教育程序设计基础C作业.docx_第20页
第20页 / 共59页
亲,该文档总共59页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

浙江大学远程教育程序设计基础C作业.docx

《浙江大学远程教育程序设计基础C作业.docx》由会员分享,可在线阅读,更多相关《浙江大学远程教育程序设计基础C作业.docx(59页珍藏版)》请在冰点文库上搜索。

浙江大学远程教育程序设计基础C作业.docx

浙江大学远程教育程序设计基础C作业

《程序设计基础(C)》作业

第1章C语言的基本构成

一、选择题

1.(A)是构成C语言程序的基本单位。

(A)函数(B)过程

(C)子程序(D)文件

2.(B)是C语言提供的合法的数据类型关键字。

(A)Float(B)signed

(C)integer(D)Char

3.以下选项中不合法的用户标识符是(A)。

(A)abc.c(B)file

(C)Main(D)PRINTF

4.以下选项中不合法的用户标识符是(B)。

(A)l23(B)printf

(C)A$(D)Dim

5.合法的C语言长整型常数是(B)。

(A)0L(B)5712700

(C)0.054838743(D)2.1869e10

6.C语言中,要求运算数必须是整型的运算符是(A)。

(A)%(B)/

(C)<(D)!

7.以下选项中正确的整型常量是(B)。

(A)12.(B)-20

(C)l,000(D)0458

8.以下选项中不正确的实型常量是(B)。

(A)2.607E-1(B)0.8103e2.

(C)77.77(D)456e-2

9.C语言中运算对象必需是整型的运算符是(D)。

(A)\(B)+

(C)*(D)%

二、程序调试题

1.编辑、调试以下程序

步骤1:

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

#include/*文件预处理,包含标准输入输出库,程序可调用输入、输出函数*/

intadd(intx,inty)

{

intz;

z=x+y;

returnz;

}

intmain()

{

intadd(int,int);/*函数的说明,告诉系统在主函数中要调用add函数*/

inta,b,c;/*变量的定义*/

scanf("%d%d\n",&a,&b);

c=add(a,b);/*函数调用*/

printf("%d+%d=%d\n",a,b,c);

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

}

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

调用了那几个系统函数?

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

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

步骤3:

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

答案:

1、由2个函数组成;

2、调用了scanf,printf两个系统函数;

3、用到int,main,return,scanf,print;

4、add,a,b,c,z,x,y;

5、20+40=60

2.编辑、调试以下程序

步骤1:

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

步骤2:

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

#include/*文件预处理,包含标准输入输出库,程序可调用输入、输出函数*/

#include

intmain()

{

intand(int,int);/*函数的说明,告诉系统在主函数中要调用and函数*/

intor(int,int);/*函数的说明,告诉系统在主函数中要调用and函数*/

inta,b,c;/*变量的定义*/

scanf("%d%d",&a,&b);

c=and(a,b);/*函数调用*/

printf("%d&&%d=%d\n",a,b,c);

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

c=or(a,b);/*函数调用*/

printf("%d||%d=%d\n",a,b,c);

}

步骤3:

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

intand(inta,intb)

{

intc;

c=a&&b;

returnc;

}

步骤4:

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

intor(inta,intb)

{

intc;

c=a||b;

returnc;

}

步骤5:

点击编译图标

,编译程序1-2.c

步骤4:

点击执行图标

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

2040

20&&40=1

20||40=1

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

答案:

1020

10&&20=1

10||20=1

第2章 输入输出程序设计

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

代码:

#include

voidmain()

{

printf("☆");

}

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

代码:

#include

voidmain()

{

charstring[300];

printf("请输入字符串:

\n");

gets("%s",string);

printf("您输入的字符串:

%s\n",string);

}

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

代码:

#include

voidmain()

{

inti;

scanf("%x",&i);

printf("%o\n",i);

}

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

代码:

#include

voidmain()

{

inta=10,b=20;

printf("初始值:

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

a=a^b;

b=b^a;

a=a^b;

printf("交换值:

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

}

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

代码:

#include

voidmain()

{

inti;

scanf("%d",&i);

printf("八进制:

%o,十六进制:

%x\n",i,i);

}

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

代码:

#include

voidmain()

{

inti;

scanf("%d",&i);

printf("个位数:

%d,十位数:

%d,百位数:

%d\n",i%10,(i/10)%10,(i/100)%10);

}

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

#include

voidmain()

{

inti=010,j=10;

printf("%d,%d\n",++i,j--);

}

答案:

9,10

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

代码:

#include

voidmain()

{

chara;

printf("您是一个学生吗?

(y/n)\n");

scanf("%c",&a);

if(a=='y')

printf("%c\n",a);

elseif(a=='n')

printf("%c\n",a);

else

printf("回答错误\n");

}

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

#include

#include

voidmain()

{

doublex;

scanf("%lf",&x);

printf("10*sin(x)=%lf\n",10*sin(x));

}

第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(;i<=10;s+=i,i++)(D)for(;i<9;i++,s+=i)

3.若inti,x;则语句for(i=x=0;i<9;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("%d",i);

答案:

3次

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

for(inti=0;i<6;i++)

printf("%d",h[i][i])

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

#include

voidmain()

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

inti,count=0;

for(i=0;i<10;i++)

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

elsecontinue;

printf("%d\n",count);

}

答案:

0。

数组a里有几个0。

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

#include

voidmain()

{

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.写出以下程序运行后的输出结果。

#include

voidmain()

{

inti,j;

for(i=0;i<6;i++)

{

for(j=0;j

printf("");

for(j=0;j<2*(5-i)-1;j++)

printf("*");

printf("\n");

}

}

答案:

*********

*******

*****

***

*

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

(1)

#include

voidmain()

{

inti,s;

i=1;s=0;

while(i<=100);

s=s+i;

i++;

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

}

代码:

#include

voidmain()

{

inti,s;

i=1;s=0;

while(i<=100)

{

s=s+i;

i++;

}

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

}

(2)

#include

voidmain()

{

inti,s;

i=1;

s=0;

while(i<=100)

s=s+i;

i++;

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

}

代码:

#include

voidmain()

{

inti,s;

i=1;

s=0;

while(i<=100)

{

s=s+i;

i++;

}

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

}

(3)

#include

voidmain()

{

inti=1,s;

while(i<=100);

{

s=s+i;

i++;

}

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

}

代码:

#include

voidmain()

{

inti=1,s=0;

while(i<=100)

{

s=s+i;

i++;

}

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

}

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

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

输出为:

1*3*5*7*9=945(?

945and45)

答案:

#include

voidmain()

{

intx,i=0,s=0;

scanf("%d",&x);

while(i<=x)

{

if(i==1){

printf("%d",i);

s+=i;

}else{

if(i%2!

=0)

printf("+%d",i);

s+=i;

}

i++;

}

printf("=%d\n",s);

}

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

+2!

+3!

+…+n!

例如输入5,输出为:

1!

+2!

+3!

+…+5!

=153

答案:

#include

intjiecheng(intx){

inti,sum=1;

for(i=1;i<=x;i++)

sum*=i;

returnsum;

}

voidmain()

{

intn,i=1,sum=0;

printf("输入一个5~10之间的整数:

\n");

scanf("%d",&n);

while(n<5||n>10){

printf("输入一个5~10之间的整数:

\n");

scanf("%d",&n);

}

while(i<=n)

{

if(i==1){

printf("%d!

",i);

sum+=jiecheng(i);

}else{

printf("+%d!

",i);

sum+=jiecheng(i);

}

i++;

}

printf("=%d\n",sum);

}

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

1

12

123

1234

12345

123456

1234567

12345678

123456789

答案:

#include

voidmain()

{

inti=1,j;

while(i<=9)

{

for(j=1;j<=i;j++)

printf("%d",j);

printf("\n");

i++;

}

}

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

答案:

形式一:

#include

voidmain()

{

inti=0,sum=0;

for(;i<=100;i+=2)

sum+=i;

printf("2+4+...+98+100=%d\n",sum);

}

形式二:

#include

voidmain()

{

inti=0,sum=0;

for(;i<=100;)

{

sum+=i;

i+=2;

}

printf("2+4+...+98+100=%d\n",sum);

}

形式三:

#include

voidmain()

{

inti=0,sum=0;

for(;;)

{

sum+=i;

i+=2;

if(i>100)

break;

}

printf("2+4+...+98+100=%d\n",sum);

}

形式四:

#include

voidmain()

{

for(inti=2,sum=0;i<=100;sum+=i,i+=2);

printf("2+4+...+98+100=%d\n",sum);

}

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

答案:

#include

voidmain()

{

charstring[100],c;

inttotal=99,count=0,scount=0;

while(count

c=getchar();

if(c=='\n')

break;

string[count]=c;

if((c>='a'&&c<='z')||(c>='A'&&c<='Z')){

scount++;

}

count++;

}

printf("\"%s\"count=%d\n",string,scount);

}

第4章 分支程序设计

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

答案:

#include

#include

voidmain()

{

doublex;

scanf("%lf",&x);

while

(1){

if(x!

=0){

printf("fabs(%lf)=%lf\n",x,fabs(x));

scanf("%lf",&x);

}else{

break;

}

}

}

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

答案:

#include

#include

voidmain()

{

inta[100],i,n;

printf("请输入数组到个数:

\n");

scanf("%d",&n);

for(i=0;i

scanf("%d",&a[i]);

for(i=0;i

if(i==0){

if(a[i]>a[i+1])

printf("%d",a[i]);

}

if(i==n-1)

if(a[i-1]

printf("%d",a[i]);

if(i>0&&i

if(a[i]>a[i+1]&&a[i]>a[i-1])

printf("%d",a[i]);

}

}

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

答案:

#include

voidmain()

{

charstring[10];

scanf("%s",string);

inti;

for(i=0;i<10;i++){

if(string[i]>='a'&&string[i]<='z'){

printf("%c",string[i]-32);

}else{

printf("%c",string[i]);

}

}

}

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

答案:

#include

voidmain()

{

;

inttotal=99,count=0,bcount=0,scount=0,ncount=0,ocount=0;

while(count

c=getchar();

if(c=='\n')

break;

string[count]=c;

if(c>='A'&&c<='Z'){

bcount++;

}elseif(c>='a'&&c<='z'){

scount++;

}elseif(c>='0'&&c<='9'){

ncount++;

}else{

ocount++;

}

count++;

}

printf("\"%s\"小写字符:

%d,大写字符:

%d,数字字符:

%d,其它字符:

%d\n",string,scount,bcount,ncount,ocount);

}

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

答案:

#include

voidmain()

{

doublex,y;

scanf("%lf",&x);

while(x==10){

printf("x!

=10\n");

scanf("%lf",&x);

}

if(x<=1){

y=x+5;

}elseif(x>10){

y=3/(x-10);

}else{

y=2*x;

}

printf("y=%lf\n",y);

}

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

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

百分制

五分制

90~100

5

80~89

4

70~79

3

60~69

2

<60

1

答案:

#include

voidmain()

{

intx,y;

scanf("%d",&x);

while(x>100||x<0){

printf("0<=x<=100\n");

scanf("%d",&x);

}

if(x<=100&&x>=90){

y=5;

}elseif(x<=89&&x>=80){

y=4;

}elseif(x<=79&&x>=70){

y=3;

}elseif(x<=69&&x>=60){

y=2;

}else{

y=1;

}

printf("y=%d\n",y);

}

7、用switch完成:

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

答案:

#include

#include

voidmain()

{

ints;

doublex=0.3;

scanf("%d",&s);

switch(s

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2