训练题0410.docx

上传人:b****4 文档编号:5417123 上传时间:2022-12-16 格式:DOCX 页数:60 大小:44.81KB
下载 相关 举报
训练题0410.docx_第1页
第1页 / 共60页
训练题0410.docx_第2页
第2页 / 共60页
训练题0410.docx_第3页
第3页 / 共60页
训练题0410.docx_第4页
第4页 / 共60页
训练题0410.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

训练题0410.docx

《训练题0410.docx》由会员分享,可在线阅读,更多相关《训练题0410.docx(60页珍藏版)》请在冰豆网上搜索。

训练题0410.docx

训练题0410

实验一数据类型、运算符和表达式

实验目的:

1. C语言中各种运算符的使用。

2. 掌握运算的优先级。

3.    掌握C语言中++、――运算符的运算规则。

实验要求:

1. 每次实验前一定要认真预习实验内容,深刻理解其中的相关知识,写出分析结果。

2.   实验时对所做的每一步操作,都要弄懂其中的道理,得出最终正确运行结果。

实验内容:

一.读程序

1、若x的值为10,输出结果为什么

#include

main()

{

floatx,y;

scanf("%f",&x);

printf("\n2.4*x-1/2=%f",2.4*x-1.0/2);

printf("\nx%%2/5-x=%f",(int)(x)%2/5-x);

printf("\n(x-=x*10,x/=10)=%d",(x-=x*10,x/=10));

}

分析结果

 

运行结果

 

 2、

(1)

1#include

2main()

3{

4inti,j,m,n;

5i=8;j=10;

6m=++i;

7n=j++;

8printf(“%d,%d,%d,%d”,i,j,m,n);

}

分析结果

 

运行结果

 

(2) 将第6、7行改为:

m=i++;

n=++j;

分析结果

 

运行结果

 

(3)程序改为

1#include

2main()

3{

4inti,j,m,n;

5i=8;j=10;

6printf(“%d,%d,%d,%d”,i++,j++);

}

分析结果

 

运行结果

 

(4)在(3)的基础上,将printf语句改为

printf(“%d,%d,%d,%d”,++i,++j);

分析结果

 

运行结果

 

(5)将printf语句改为

printf(“%d,%d,%d,%d”,i,j,i++,j++);

(6)程序改为:

1#include

2main()

3{

4inti,j,m=0,n=0;

5i=8;j=10;

6m+=i++;

7n-=--j;

8printf(“%d,%d,%d,%d”,i,j,m,n);

}

分析结果

 

运行结果

 

二.完成程序

要求:

按照给定题目要求,参照出现的语句,填写程序空白处。

1、求表达式a%=(b/=2)的值。

(设a=20,b=5)

#include

main()

{inta,b;

a=20;b=5;

printf(“\n%d”,);

}

 

 

2、任意输入小于255的正整数,求其ASCⅡ码对应的字符。

#include

main()

{charc;

inta;

printf(“pleasea<255integernumber:

”);

scanf(“%d”,&a);

c=;/*使用强制类型转换*/

printf(“\n\n%c的ASCⅡ码为%d”,c,a);

}

 

三.调试程序

要求:

分析下列程序是否正确,如有错误,指出错误所在,并改正;若正确,写出运行结果。

 1、#include

1main()

2{charu='c',v='f';

3charw;

4w=v-'b'+'B';

5printf("%f,%c,%d",u-v,u+v,w);

}

正确

运行结果:

错误

错误所在行:

应改为:

 

2、#include

1main()

2{doublef=3.14159;

3intn;

4n=int(f+20)%3;

5printf(“\nn=%d”,n);

6}

正确

运行结果:

错误

错误所在行:

应改为:

 

3、#include

1main()

2{charc;

3intd;

4printf(“输入数字字符:

”);

5scanf(“%c”,&c);

6d=(int)c;

7printf(“\n\n%c对应的数字为:

%d”,c,d);

}

正确

运行结果:

错误

错误所在行:

应改为:

 

四.写程序

1、设j=6,求表达式―(j++)―3的值和此时j的值。

2、设a=10,求表达式a%=a+=a-=a*a的值。

 

实验二顺序结构程序设计和输入、输出函数

实验目的:

1.掌握赋值语句的使用。

2.掌握printf(),scanf()函数的使用。

3.掌握顺序结构程序设计。

实验要求:

1.做实验前,一定要预习实验内容及相关知识点,写出分析结果。

2.上机调试运行时,还要应用已经学过操作方法,最终获得正确运行结果。

实验内容:

一.   读程序

1、

#include

main()

{inta=17;

floatu=1234.567;

printf(“\n%s,%d,%7d,%-7d,%07d”,“outputinteger”,a,a,a,a);

printf(“\n%f,%7.2f”,u,u);

 }

分析结果

 

运行结果

 

 

2、

#include

main()

{inta,x,y;

x=(a=2,6*2);

y=a=2.6*a;

printf(“\nx=%d,y=%d”,x,y);

}

分析结果

 

运行结果

 

 

3、

#include

main()

{floatx,y;

intk1,k2;

x=-45.2;y=1.1;

k1=(int)x+10;

k2=y+10;

printf(“x=%f,k1=%d”,x,k1);

printf(“y=%f,k2=%d”,y,k2);

}

 

分析结果

 

运行结果

 

 

二.   完成程序

要求:

按照给定题目要求,参照出现的语句,填写程序空白处。

1、键盘输入任意一个小写字母,将其转换成大写字母,然后输出。

#include

main()

{charc1,c2;

c1=getchar();

c2=;

putchar(‘\n’);putchar(‘\’’);putchar(c2);putchar(‘\’’);

}

 

2、求

的值。

(设a=25,b=5)

#include

main()

{floata=25,b=5;

floatc;

c=;

printf(“\n\nc=%f”,c,c);

}

 

3、计算到期利息。

到期利息=

,其中本金为a,存款年数为n,年利率为p。

#include

#include

main()

{floata,p,s;

intn;

printf(“InputMoneys:

”);

scanf(“%f”,&a);

printf(“Inputyears:

”);

scanf(“%d”,&n);

printf(“Inputrate%%:

”);

scanf(“%f”,&p);

p=p/100;

___________________

printf(“到期利息:

%10.2f\n”,s);;

}

 

三.   调试程序

要求:

分析下列程序是否正确,如有错误,指出错误所在,并改正;若正确,写出运行结果。

 

1、#include

1main()

2{inti,k;

3i=80;

4k=5*i*j;

5printf(“\n%d”,k);

6}

正确

运行结果:

错误

错误所在行:

应改为:

 

2、该程序输入一个三位数,然后进行个位和百位的置换,如234,转换成432

#include

1main()

2{intn,a,b,c,m;

3scanf("%d",&n);

4a=n%10;

5b=(n/10)%10;

6c=(n/100)%10;

7m=100*a+10*b+c

8printf("\n\n%d=>%d",n,m);

}

正确

运行结果:

错误

错误所在行:

应改为:

 

 

四.   写程序

编程求出某学生期末三门课程的总分及平均分。

结果保留小数点后一位。

 

 

 

实验三选择结构程序设计

实验目的:

1.掌握关系运算符和逻辑运算符

2.    学会正确书写关系表达式和逻辑表达式

3.    熟练掌握三种if语句和switch语句

4.   了解break和continue的使用和区别

实验要求:

每次实验前,学生要先预习实验内容,写出分析结果或程序,经实验指导老师检查后,上机运行、调试程序,得出最终正确结果。

实验内容:

一.读程序

要求:

读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。

1、main()

{

inta,b,c;

a=10;b=60;c=30;

if(a>b)a=b;

b=c;

c=a;

printf(“a=%d,b=%d,c=%d\n”,a,b,c);

}

 

分析结果

 

运行结果

 

 

2、main()

{

intx=60,a=30,b=20;

intv1=3,v2=8;

if(a

if(b!

=15)

if(!

v1)

x=1;

else

if(v2)x=10;

x=-2;

printf(“%d\n”,x);

}

分析结果

 

运行结果

 

 

3、main()

{inta1,a2,b1,b2;

inti=4,j=8,k=0;

a1=!

k;

a2=i!

=j;

printf(“a1=%d\ta2=%d\n”,a1,a2);

b1=k&&j;

b2=k||j;

printf(“b1=%d\tb2=%d\n”,b1,b2);

}

 

分析结果

 

运行结果

 

 

 

4、main()

{inta=1,b=3,c=5,d=4;

intx;

if(a

if(c

else

if(a

if(b

elsex=3;

elsex=6;

elsex=7

printf(“x=%d\n”,x);

}

 

分析结果

 

运行结果

 

 

5、main()

{

intk;

scanf(“%d”,&k);

switch(k)

{

case1:

printf(“%d\n”,k++);

case2:

printf(“%d\n”,k++);

case3:

printf(“%d\n”,k++);

case4:

printf(“%d\n”,k++);break;

default:

printf(“Full!

\n”);

}

}

分析结果

输入k值

输出结果

1

 

3

 

运行结果

输入k值

输出结果

1

 

3

 

二.  完成程序

要求:

根据要求,分析给出的上下语句,填写程序

1、 输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变,请在_______上填写正确内容。

main()

{

charch;

scanf(“%c”,&ch);

if(_______________________)ch=ch+32;

elseif(ch>=’a’&&ch<=’z’)____________________;

printf(“%c”,ch);

}

 

2、 以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型,请在_______上填写正确内容。

#include“math.h”

main()

{

floata,b,c;

floats,area;

scanf(“%f,%f,%f”,&a,&b,&c);

if(___________________________)

{s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf(“%f”,area);

if(_________________)

printf(“等边三角形”);

elseif(_________________)

printf(“等腰三角形”);

elseif((a*a+b*b==c*c)||(a*a+c*c==b*b)||(c*c+b*b==a*a))

printf(“直角三角形”);

elseprintf(“一般三角形”);

}

elseprintf(“不能组成三角形”);

}

 

 

三.调试程序

要求:

分析下列程序是否正确,如有错,错在哪儿?

应如何改正?

如正确,运行结果如何?

上机调试之。

1、调试下列程序,使之具有如下功能:

输入a、b、c三个整数,求最小值。

写出调试过程。

main()

{inta,b,c;

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

if((a>b)&&(a>c))

if(b

printf("min=%d\n",b);

else

printf("min=%d\n",c);

if((a

printf("min=%d\n",a);

}

2、以下程序实现求分段函数。

main()

1{intx,y;

2scanf(“%d”,&x);

3if(3

4elseif(-1

5elseif(x<=-1)y=x-1;

6elsey=-1;

7if(y!

=-1)printf(“%d”,y);

8elseprintf(“Error”);

9}

运行结果

 

错误在行

应改为:

 

3、 

有一函数关系如下:

x-3x<0

y=0x=0

x+3x>0

 

以下程序表示上面的函数关系

main()

1       {intx,y;

2       scanf(“%d”,&x);

3       y=x-3;

4       if(x!

=0)

5       if(x>0)y=x+3;

6       elsey=x;

7       printf(“y=%d\n”,y);

8       }

运行结果

 

错误在行

应改为:

 

4、 有一函数关系如下:

-2x<0

y=

2x>=0

以下程序表示上面的函数关系

main()

1{intx,y;

2scanf(“%d”,&x);

3switch(x);

4{

5casex>=0:

y=2;break;

6casex<0:

y=-2;break;

7}

8printf(“y=%d\n”,y);

9}

运行结果

 

错误在行

应改为:

 

四.写程序

输入某学生的成绩,经处理后给出学生的等级,等级分类如下:

90分以上(包括90):

A

80至90分(包括80):

B

70至80分(包括70):

C

60至70分(包括60):

D

60分以下:

E,分别用if和switch编程

实验四循环结构程序设计

实验目的:

1.进一步掌握三种循环语句

2.掌握循环嵌套的执行过程。

3.熟练使用循环语句、循环嵌套编写程序

实验要求:

每次实验前,学生要先预习实验内容,写出分析结果或程序,经实验指导老师检查后,上机运行、调试程序,得出最终正确结果。

 

实验内容:

一.读程序

要求:

读懂程序,写出分析结果;上机运行程序,得到运行结果,比较之。

1、main()

{

inti,j,k;

printf("\n");

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

{

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

printf("");

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

printf("%4d",i);

printf("\n");

}

}

分析结果

 

运行结果

 

 

2、main()

{

intk=0;charc=‘C‘;

do

{switch(c++)

{case‘A’:

k++;break;

case‘B’:

k--;

case‘C’:

k+=2;break;

case‘D’:

k=k%2;continue;

case‘E’:

k=k*10;break;

default:

k=k/3;

}

k++;

}while(c<‘H‘);

printf(“k=%d\n“,k);

}

 

分析结果

 

运行结果

 

 

3、键盘输入(CR表回车)6312CR,则下面程序的运行结果是

main()

{

intm,n;

printf(“Enterm,n”);

scanf(“%d%d”,&m,&n);

while(m!

=n)

{

while(m>n)m-=n;

while(m

}

printf(“m=%d\n“,m);

}

 

分析结果

 

运行结果

 

 

二. 完成程序

要求:

根据要求,分析给出的上下语句,填写程序

1、 以下程序功能是完成用10元人民币换成一角、两角、五角的所有兑换方案,请在_______上填写正确内容。

 main()

{

inti,j,k,L=1;

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

for(j=0;j<=50;j++)

{____________________;

if(_____________)

{printf(“%2d%2d%2d”,i,j,k);

L=L+1;

if(L%5==0)printf(“\n”);

}

}

}

 

2、 以下程序的功能是输出1至100之间每位数的乘积大于每位数的和的数,请在_______上填写正确内容。

 main()

{

intn,k=1,s=0,m;

for(n=1;n<=100;n++)

{k=1;

s=0;

________________;

while(m)

{k*=m%10;

s+=m%10;

_______________;

}

if(k>s)printf(“%d”,n);

}

}

 

 

三.调试程序

要求:

分析下列程序是否正确,如有错,错在哪儿?

应如何改正?

如正确,运行结果如何?

上机调试之。

1、 以下程序输出1---100的数字

main()

1{inti=100;

2while

(1)

3{

4i=i%100+1 ;

5printf(“%6d,“,i);

6if(i%10==0)printf(“\n”);

7if(i>100)break;

8}

9}

运行结果

 

错误在行

应改为:

 

2、下面程序的功能是从三个红球、五个白球、六个黑球中任意取出八个球,且其中必须有白球,输出所有可能的方案。

main()

1{inti,j,k;

2for(i=0;i<=3 ;i++)

3for(j=0;j<=5 ;j++)

4{k=8-i–j;

5if(k>=0&&k<=6)

6printf(“3%d%3d%3d\n”,i,j,k);

7}

8}

运行结果

 

错误在行

应改为:

3、 下面是一个用以计算和的C程序。

#include

voidmain(void)

{

1inti,j;

2longsum=0;

3for(,i<=20,i++)//查查错误

4for(;j<=3;j++)

5sum=sum+(i+1)*(i+1)*(j+2);

6printf("sumis:

%d\n",sum);

}

(1)将上述程序中的和分别做什么样修改,能使程序按如下要求运行:

.不循环;

.外循环1次,不进入内循环;

.外循环,内循环各1次;

.外循环1次,内循环2次;

.外循环2次,内循环1次;

.外循环19次,内循环3次;

.外循环20次,内循环2次;

.外循环21次,内循环3次。

注:

控制循环次数可通过控制i,j的值以及循环终止条件来进行。

(2)试修改程序,以便能知道控

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

当前位置:首页 > 高等教育 > 医学

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

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