训练题0410.docx
- 文档编号:5417123
- 上传时间:2022-12-16
- 格式:DOCX
- 页数:60
- 大小:44.81KB
训练题0410.docx
《训练题0410.docx》由会员分享,可在线阅读,更多相关《训练题0410.docx(60页珍藏版)》请在冰豆网上搜索。
训练题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)试修改程序,以便能知道控
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 训练 0410