二级C语言上机同步练习.docx

上传人:b****5 文档编号:3574097 上传时间:2022-11-24 格式:DOCX 页数:28 大小:100.03KB
下载 相关 举报
二级C语言上机同步练习.docx_第1页
第1页 / 共28页
二级C语言上机同步练习.docx_第2页
第2页 / 共28页
二级C语言上机同步练习.docx_第3页
第3页 / 共28页
二级C语言上机同步练习.docx_第4页
第4页 / 共28页
二级C语言上机同步练习.docx_第5页
第5页 / 共28页
点击查看更多>>
下载资源
资源描述

二级C语言上机同步练习.docx

《二级C语言上机同步练习.docx》由会员分享,可在线阅读,更多相关《二级C语言上机同步练习.docx(28页珍藏版)》请在冰豆网上搜索。

二级C语言上机同步练习.docx

二级C语言上机同步练习

第一次上机练习内容

1.2.1节的课后练习

2.程序填空题

1).请补充完整程序prog1.c

#include

/**********found**********/

{

printf("Thisisaerrorprogram.");

/**********found**********/

3.程序修改题

1).程序prog2.c中有错,请修改。

#include

/**********found**********//

Main

{

printf("Thisisaerrorprogram.");

}

2).程序prog3.c中有错,请修改。

#include

main()

{

charc='a';

/**********found**********/

printf("thisstatementiserror.why?

")

}

3).程序prog4.c中有错,请修改。

#include

main()

{

/**********found**********/

int2a=120;

printf("Thisisaerrorprogram.");

}

4).程序prog5.c中有错,请修改。

#include

main()

{

/**********found**********/

intCase=5,charb='a';

/**********found**********/

printf("Case=%d",case);

}

4.程序设计题

1).请编写如下程序prog6.c,查看运行结果,分析原因。

#include

main()

{

shorta=32767,b=a+1;

printf("a=%d,a=%u,b=%d,b=%u",a,a,b,b);

}3276732767-32768随机数

2).请编写如下程序prog7.c,查看运行结果,分析原因。

#include

main()

{

unsignedshorta=65535,b=a+1;

printf("a=%d,a=%u,b=%d,b=%u",a,a,b,b);

}a=65535a=6553500

3).请编写程序prog8.c,编译该程序,查看编译时的出错信息,分析原因。

#include

main()

{

inta;

a=10;

floatb;

b=1.0;

printf("a=%db=%f\n",a,b);

}定义完了一起付初值,或者直接定义时付初值(inta=10;

floatb;b=1.0;)或者(inta;floatb;b=1.0;a=10;)

4).请编写如下程序prog9.c,查看运行结果,分析原因。

#include

main()

{

printf("ABCD\'12\\4567\0abc");

}ABCD'12\4567

 

第二次上机练习内容

1.程序填空题

1).prog1.c中字符变量ch1存放的是大写字母,请填空,实现字符变量ch2中存放的是ch1中对应字符的小写字母。

#include

main()

{

charch1='B',ch2;

/**********found**********/

ch2=ch1+'a'-'A';

printf("ch1=%c,ch2=%c\n",ch1,ch2);

}

2).prog2.c中,变量ch中存放的是数字字符,请将ch中的数字字符转换成数字存入到整型变量i中。

#include

main()

{

charch='3';

inti;

/**********found**********/

i=ch-'0';

printf("ch=%d,i=%d\n",ch,i);

}ch=51,i=3

3).变量a是一个四位的正整数,请将prog3.c补充完整,使四位数a中的个位、十位、百位和千位上的值分别赋给变量gw、sw、bw和qw。

#include

main()

{

inta=6752,gw,sw,bw,qw;

/**********found**********/

gw=a%10;sw=a/10%10;

/**********found**********/

bw=a/100%10;qw=a/1000;

printf("四位数a=%d\n其中gw=%d,sw=%d,bw=%d\n",a,gw,sw,bw,qw);

}

4).a是一个实型变量,请将程序prog4.c补充完整,分别输出a的整数部分和小数部分。

#include

main()

{

floata=64.81479,decimal;

intinteger;

/**********found**********/

integer=a/1;

/**********found**********/

decimal=a-integer;

printf("实型数据a=%f\n其中整数部分integer=%d,小数部分decimal=%f\n",a,integer,decimal);

}

2.程序修改题

1).变量a是一个超过两位的正整数,请修改程序prog5.c,使b的值为a的最后两位。

#include

main()

{

inta=57264,b;

/**********found**********/

b=a%100;

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

}

3.程序设计题

1).请编写如下程序prog6.c,查看运行结果,分析原因。

#include

main()

{

inta,b,c;

printf("%d\n",(a=10,b=20,c=30));

printf("%da=%db=%dc=%d\n",a=(10,b=20,c=30),a,b,c);

}30

30a=10,b=20,c=30

2).如果a是一个实型变量,请编程序prog7.c,让a保留两位小数并对第三位进行四舍五入。

#include

main()

{floata,b;

scanf("%f",&a);

b=(int)(a*100+0.5)/100.0;

printf("%.2f",b);}

3).有两个两位数a和b,请编写程序prog8.c,将a、b合并形成一个整数放在c中。

合并的方式是:

将a数的十位和个位数依次放在c数的千位和十位上,b数的十位和个位数依次放在c数的百位和个位上。

#include

main()

{inta,b,c;

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

c=a%10*10+a/10*1000+b%10+b/10*100;

printf("%d",c);}

4).有两个两位数a和b,请编写程序prog9.c,将a、b合并形成一个整数放在c中。

合并的方式是:

将a数的十位和个位数依次放在c数的个位和百位上,b数的十位和个位数依次放在c数的十位和千位上。

#include

main()

{inta,b,c;

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

c=a%10*100+a/10+b%10*1000+b/10*10;

printf("%d",c);}

第三次上机练习内容

1.3.2.1节的课后练习

2.程序填空题

1).从键盘输入一个字符,通过getchar()函数接收赋给变量ch,再用putchar()函数将该字符输出,请补充完整prog1.c。

#include

main()

{

charch;

/**********found**********/

ch=getchar();

putchar(ch);

}

2).补充程序prog2.c,输出列表中使用变量a、b和c,使程序的输出结果为:

a=50,b=40,c=30

#include

main()

{

inta=30,b=40,c=50;

/**********found**********/

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

}

3).补充程序prog3.c,使程序的输出结果为a=10,b=20,a+b=30。

#include

main()

{

inta=10,b=20;

/**********found**********/

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

}

4).在程序prog4.c中填写相应的内容,当输入的内容为3,c=45时,使变量a、b、c的值分别3,4,5。

#include

main()

{

inta,b,c;

/**********found**********/

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

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

}

3.程序修改题

1).通过程序prog5.c给变量a、b和c分别赋值1,2,3,再通过printf函数输出各变量的值。

#include

main()

{

inta,b,c;

/**********found**********/

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

/**********found**********/

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

}

2).修改程序prog6.c,使各变量能正确的接收并输出数据。

#include

main()

{

inta,b;

charc;

floatd;

/**********found**********/

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

/**********found**********/

printf("%d,%d,%c,%f",a,b,c,d);

}

注释:

没有空格就不用空格

4.程序设计题

1).请编写如下程序prog7.c,查看运行结果,分析原因。

#include

main()

{

intk=1234;

floatf=123.456;

printf("%d\n%6d\n%2d\n",k,k,k);

printf("\n");

printf("%f\n%12f\n%12.2f\n%.0f",f,f,f,f);}

2).请编写如下程序prog8.c,查看运行结果,分析原因。

#include

main()

{

floatf=123.456;

printf("%f\n%f%%",f,f);

printf("\n");

printf("%s\n%6s\n%.3s","abcd","abcd","abcd");

printf("\n");}

3).请编写如下程序prog9.c,根据指定数据进行输入,查看运行结果,分析原因。

#include

main()

{

inta,b,c,d,e,f,g;

chars,t;

scanf("%3d%2d",&a,&b);/*4789*/

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

scanf("%2d%3c%2c%3d",&c,&s,&t,&d);/*987654321*/

printf("s=%ct=%cc=%dd=%d\n",s,t,c,d);

scanf("%2d%*2d%3d%3d",&e,&f,&g);/*123456789*/

printf("e=%df=%dg=%d\n",e,f,g);}

注释:

(%*2d跳过2个;接受3个只输出一个)

4).请编写如下程序prog10.c,根据指定数据进行输入,查看运行结果,分析原因。

#include

main()

{

inta=10,b=20;

scanf("%d",&a,&b);/*输入34*/

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

printf("%d%d%d\n",12,34);

printf("%d%d\n",8,9,10);

}

第四次上机练习内容

1.程序填空题

1).在程序prog1.c中,从键盘输入一个字符给变量ch,若输入的字符为数字字符,则输出“YES!

”,否则输出“NO!

”。

#include

main()

{

charch;

/**********found**********/

ch=getchar();

/**********found**********/

if('0'<=ch&&ch<='9')

printf("YES!

");

else

printf("NO!

");

}

2).在程序prog2.c中输入两个数,分别放入x和y中,若两个数不相等,则输出其中的大数,若两数相等则输出x的值。

#include

main()

{

intx,y;

scanf("%d%d",&x,&y);

/**********found**********/

if(x>=y)

printf("两个数中的较大值是:

%d\n",x);

else

printf("两个数中的较大值是:

%d\n",y);

}

3).在程序prog3.c中通过条件表达式判断变量x是奇数还是偶数,是奇数输出1,偶数输出0。

#include

main()

{

intx;

scanf("%d",&x);

/**********found**********/

printf("%d\n",x%2?

1:

0);

}

2.程序修改题

1).在程序prog4.c中,通过键盘输入数据给变量x,若1≤x<100则输出x的值,否则提示出错。

#include

main()

{

intx;

scanf("%d",&x);

/**********found**********/

if(x>=1&&x<100)

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

else

printf("erro!

\n");

}

2).修改程序prog5.c,根据输入的学生成绩给出相应的等级,大于或等于90分以上的等级为A,60分以下的等级为E,其余每10分为一个等级。

#include

main()

{

intg;

printf("Enteramark:

");

scanf("%d",&g);

/**********found**********/

switch(g/10)

{

case10:

case9:

printf("A\n");break;

case8:

printf("B\n");break;

case7:

printf("C\n");break;

/**********found**********/

case6:

printf("D\n");break;

default:

printf("E\n");

}

}

3).修改程序prog6.c,变量t为字符型,通过程序判断t中的值是否为字母,若是输出YES,否则输出NO。

#include

main()

{

chart;

/**********found**********/

scanf("%c",t);

/**********found**********/

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

printf("YES\n");

else

printf("NO\n");

}

3.程序设计题

1).编写程序prog7.c,完成以下表达式的功能。

#include

main()

{intx,y;

scanf("%d",&x);

if(x!

=0)

if(x>0)

printf("%d",y=1);

elseprintf("%d",y=-1);

elseprintf("%d",y=0);}

2).编写程序prog8.c,实现两个变量值的交换。

(例如:

a的初值为5,b初值为10,交换后变为a的值为10,b为5)。

方法一:

#include

main()

{inta,b,t;

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

{t=a;a=b;b=t;}

printf("a=%d,b=%d",a,b);}

方法二:

#include

main()

{inta,b,t;

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

printf("a=%d,b=%d",b,a);}

3).编写程序prog9.c,输入a、b、c三个数,打印出最大者。

#include

main()

{inta,b,c,max;

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

max=a;

if(b>max)

max=b;

if(c>max)

max=c;

printf("%d",max);}

4).请编写如下程序prog10.c,查看运行结果,分析原因。

#include

main()

{

intx=0,y=2,z=3;

switch(x)

{

case0:

switch(y==2)

{

case1:

printf("*");break;

case2:

printf("%");break;

}

case1:

switch(z)

{

case1:

printf("$");

case2:

printf("*");break;

default:

printf("#");

}

}

}

输出结果为:

*#

第五次上机练习内容

1.程序填空题

1).程序prog1.c的功能是:

从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。

请填空。

#include

main()

{

floatx,max,min;

scanf("%f",&x);

max=x;min=x;

/**********found**********/

while(x>=0)

{

if(x>max)max=x;

/**********found**********/

if(x

scanf("%f",&x);

}

printf("max=%f\nmin=%f\n",max,min);

}注释:

要输入负数才会结束

2).程序prog2.c的功能是:

将整型变量s中的数逆置放入变量t中。

#include

main()

{

ints,t=0;

scanf("%d",&s);

/**********found**********/

while(s>0)

{

/**********found**********/

t=t*10+s%10;

s=s/10;

}

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

}

3).程序prog3.c的功能是:

计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。

请填空。

#include

main()

{

inti,n;

floats=0.0;

scanf("%d",&n);

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

/**********found**********/

if(i%5==0||i%9==0)

/**********found**********/

s=s+1.0/i;

prinf("s=%f\n",s);

}

2.程序修改题

1).从键盘输入n(n<10)的值,修改程序prog4.c,计算并输出n!

#include

main()

{

inti=1,n;

/**********found**********/

doubles=1.0;

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

/**********found**********/

while(i<=n)

{

s=s*i;

i++;

}

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

}

2).修改程序prog5.c,功能是计算并输出n以内(包括n)能被7或11整除,但不能同时被7和11整除的所有自然数平方根之和。

#include

#include

main()

{

inti,n;

floats=0.0;

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

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

/**********found**********/

if((i%7==0||i%11==0)&&i%77!

=0)

/**********found**********/

s=s+sqrt(i);

printf("s=%f",s);

}注释输入:

n=、、、、、

3.程序设计题

1).编写程序prog7.c,求1-3+5-7+…-99+101的值。

方法一:

#include

main()

{inti,j,s1=0,s2=0,sum=0;

for(i=1;i<=101;i+=4)

s1=s1+i;

for(j=-3;j>=-99;j-=4)

s2+=j;

sum=s1+s2;

printf("%d",sum);}

方法二:

#include

main()

{inti,j,s1=0,s2=0,sum=0;

for(i=1;i<=101;)

{s1=s1+i;

i+=4;}

for(j=-3;j>=-99;)

{s2+=j;

j-=4;}

sum=s1+s2;

printf("%d",sum);}

2).编写程序prog8.c,功能是计算并输出下列多项式的值:

#include

main()

{inti,n,j=0;

floa

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

当前位置:首页 > 小学教育 > 小升初

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

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