当前位置:文档之家› C语言实验报告第3章答案

C语言实验报告第3章答案

C语言实验报告第3章答案
C语言实验报告第3章答案

3.2基础实验

一、程序分析

1.以下程序若输入’a’,则输入格式为:__c1=a____;运行结果为:___a,A↙_____。

#include

intmain( )

{char c1,c2;

scanf(“c1=%c”,&c1);

c2=c1-32;

printf(“%c,%c\n”,c1,c2);

return 0;

}

2.以下程序如果使得a的值为2、b的值为3,则输入格式为:_a=2,b=3__;运行结果为:_2,3↙_。

#include

intmain( )

{ int a,b;

scanf(“a=%d,b=%d”,&a,&b);

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

return 0;

}

3.以下程序若输入12.3、7.6、1.1,则输入格式为:_12.3 7.6 1.1__;运行结果为:_aver=7.00___。

#include

intmain( )

{ floata,b,c,d;

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

d=(a+b+c)/3;

printf(“aver=%.2f”,d);

return 0;

}

二、程序填空

1.输入一个四位整数,求各位数字之和(如1234,则结果为1+2+3+4=10)。

若输入3562,则运行结果为:___3+5+6+2=16↙____________。

#include

intmain( )

{ int n,a,b,c,d,m;

scanf(“%d”,&n);

a=n%10;

b=(n/10)%10;

c=(n/100)%10;

d=__n/1000________;

m=__a+b+c+d________;

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

return 0;

}

2.给定一个华氏法表示的温度值,将其转换为摄氏法表示的温度,转换公式为则运行结果为:__f=64.00,c=17.78↙__。

#include

intmain ( )

{ float f,c;

f=64.0;

c=__(f-32)*5.0/9.0_________________;

printf(“f=%.2f,c=%5.2f\n”,f,c);

return 0;

}

三、程序改错

)

32

(

9

5

-

=f

c

四、程序设计

1.对输入的字符进行加密,加密规则为“输入4个字符,将每个字符加4后转换成加密字符”,如输入“Ab2c”则加密后的字符序列为“Ef6g”。

3.3拓展实验

一、程序分析

1.⊙以下程序若输入3.4、1

2.0、8.9,则输入格式为:

3.4,12.0,8.9,运行结果为:7.20↙。

#include

#include

intmain( )

{ float a,b,c;

float s,area;

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

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

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

printf(“%.2f\n”,area);

return 0;

}

2.以下程序若输入C和2,则运行结果分别为:__'F'和'5'_________。

#include

intmain( )

{ char c1;

int c2=0;

c1=getchar( );

c2=c1+3;

putchar('\'' );putchar(c2); putchar('\'' );

return 0;

}

二、程序填空

1.⊙以下程序实现按由大到小顺序输出任意两个整数。若输入3562,则运行结果为:__62,35↙__。

#include

int main( )

{ int m,n;

scanf(“%d%d”,_&m,&n_______);

n>=m?printf(“%d,%d\n”,n,m):_printf(“%d,%d\n”,m,n)________;

return 0;

}

2.以下程序实现输入任意两个整数,完成加、减、乘、除、求余操作并运行结果。若输入29、18,则运行结果为:_29+18=47,29-18=11,29*18=522,29/18=1,29%18=11_。

#include

intmain ( )

{ int x,y;

printf(“请输入x,y的值:”);

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

printf(“%d+%d=%d,”,_x,y,x+y________);

printf(“%d-%d=%d,”,_x,y,x-y_________);

pr intf(“%d*%d=%d,”, _ x,y,x*y _______);

printf(“%d/%d=%d,”, _ x,y,x/y ________);

printf(“%d%%%d=%d”, _ x,y,x%y ____);

return 0;

}

三、程序改错

四、程序设计

1.输入圆的半径,输出该圆的周长和面积,结果保留2位小数。

2.⊙求ax2+bx+c 的根,a 、b 、c 从键盘输入,结果保留2位小数。

3.4习题

一、选择题

1. 以下4个选项中,不能看作一条语句的是()。

A. {;}

B.a=0,b=0,c=0;

C.if(a>0) ; D .if(b==0) m=1;n=2;

2.以下叙述中错误的是()。

A.C语句必须以分号结束

B.复合语句在语法上被看作一条语句

C.空语句出现在任何位置都不会影响程序运行

D.赋值表达式末尾加分号就构成赋值语句

3.⊙已有如下定义和输入语句,若要求a1,a2,c1,c2 的值分别为10,20,A,B,当从第一列开始输入数据时,正确的数据输入方式是()。

int a1,a2; char c1,c2;

scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);

A. 10A20B ↙

B. 10A 20B ↙

C. 10A20B ↙

D.10A 20B↙

4.有输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); 为使变量a 的值为1,b 的值为3,c的值为2,则正确的数据输入方式是()。

A.132 ↙

B. 1,3,2 ↙

C.a=1 b=3 c=2 ↙

D.a=1,b=3,c=2 ↙

5.若定义x 为double 型变量,则能正确输入x 值的语句是()。

A.scanf(“%f”,x);

B. scanf(“%f”,&x);

C.scanf(“%lf”,&x);

D.scanf(“%5.1f”,&x);

6.已知i,j,k 为int 型变量,若从键盘输入:1, 2, 3<回车>,以下选项中正确的输入语句是()。

A.scanf(“%2d%2d%2d”,&i,&j,&k);

B.scanf(“%d_%d_%d”,&i,&j,&k);

C.scanf(“%d,%d,%d”,&i,&j,&k);

D.scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);

7.⊙若运行时输入:12345678 ↙,则下列程序运行结果为()。

int a,b;

scanf(“%2d%2d”,&a,&b);

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

A.46

B. 579

C.5690

D.出错

8.以下说法正确的是()。

A.输入项可以为一实型常量,如scanf(“%f”,3.5);

B.只有格式控制,没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”);

C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scan f(“%4.2f”,&f);

D.当输入数据时,必须指明变量的地址,如scanf(“%f”,&f);

9.⊙以下程序若输入:12<回车>,运行结果是()。

#include

int main( )

{ char a,b;int n,m;

a=getchar();b=getchar( );

n=a-’0’;m=n*10+(b-’0’);

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

return 0;

}

A.112

B.12

C.120

D.出错

10.⊙以下程序的运行结果是()。

#include

int main( )

{ int x=102,y=012;

printf(“%2d,%2d”,x,y);

return 0;

}

A. 10,01

B.002,12

C.102,10

D.02,10

11.⊙printf函数中用到格式符%ms,其中数字m表示输出的字符串占的总列数。如果m为负整数,则输出方式为()。

A. 从左起输出该字串,当指定列数大于实际列数时右补空格

B. 按原字符长从左向右全部输出

C. 右对齐输出该字串,当指定列数大于实际列数时左补空格

D. 输出错误信息

12.⊙设有如下程序段:

int x=17,y=18,z=19;

printf(“%d\n”,(x,y,++z));则以下叙述正确的是()。

A. 输出语句中格式说明的个数少于输出项的个数,不能正确输出

B. 运行时产生出错信息

C. 输出值为17,18,20

D. 输出值为20

13.有以下程序

#include

int main( )

{ char a1='M', a2='m';

printf(“%c\n”, (a1, a2) );

return 0;

}以下叙述中正确的是()。

A. 程序输出大写字母M

B. 程序输出小写字母m

C. 格式说明符不足,编译出错

D. 程序运行时出错

14.putchar ( )函数可以向终端输出一个( )。

A.整型变量表达式值

B.实型变量值

C.字符串

D.字符或字符型变量值

15.⊙以下程序若输入:123<回车>45678<回车>,则运行结果是()。

#include

int main( )

{char a,b,c,d,e,f;

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

e=getchar( );

f=getchar( );

putchar(a);

putchar(b);

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

return 0;

}

A.1267

B.1256

C.1278

D.1245

二、填空题

1.复合语句是用一对_____大括号____界定的语句块。

2.printf函数和scanf函数的格式说明都使用____%____字符开始。

3.在C语言中,输入操作是由库函数_scanf完成,输出操作是由库函数_printf 完成。

4.在C语言中,字符输出是由库函数_putchar完成,字符输入是由库函数_getchar完成。

5.字符输出函数putchar每次输出_1___个字符。

三、程序分析题

1.⊙用下面的scanf 函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1='A',c2='a',则在键盘输入格式为:a=3b=78.57.182e1Aa。

#include

int main( )

{int a,b;

float x,y;

char c1,c2;

scanf(“a=%d b=%d”,&a,&b);

scanf(“ %f %e”,&x,&y);

scanf(“ %c %c”,&c1,&c2);

printf(“%d,%d,%f,%f,%c,%c”,a,b,x,y,c1,c2);

return 0;

}

2.以下程序的运行结果是a=12345,b=-1.98e+002,c= 6.50↙。

#include

int main( )

{ int a=12345;

float b=-198.345, c=6.5;

printf(“a=%4d,b=%-10.2e,c=%6.2f\n”,a,b,c);

return 0;

}

3.以下程序的运行结果是x=1 y=2 *sum*=3 ↙10 Squared is:100↙。

#include

int main( )

{int x=1,y=2;

printf(“x=%d y=%d *sum*=%d\n”,x,y,x+y);

return 0;

}

4.

#include

int main( )

{int x=10;

float pi=3.1416;

print f(“(1) %d\n”,x);

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

printf(“(3) %f\n”,56.1);

printf(“(4) %14f\n”,pi);

return 0;

}

5.⊙以下程序若输入100↙,则运行结果是_____yes_________________。#include

int main( )

{int a ;

scanf(“%d”,&a);

printf(“%s”,(a%2!=0)?“No”:”Yes”);

}

四、程序填空题

1.以下程序实现的功能是输入一个字符,输出该字符的后4位,请将程序补充完整。

#include

int main( )

{ int c1;

c1=getchar( );

putchar(__c1+4_____);

return 0;

}

2.以下程序的功能是输出s1,x,y的值,保留原小数位数,请将程序补充完整。

#include

int main( )

{ float x=655.35;

double y=765.4271;

char s1='c';

printf(“__%c,%.2f,%.4lf___”,s1,x,y);

return 0;

}

3.以下程序是使用“*”在屏幕上显示一个C,请将程序补充完整。

#include “stdio.h”

int main( )

{printf(“Hello C-world!\n”);

printf(“__****\n____”);

printf(“ *\n”);

printf(“ * \n”);

printf(“ ****\n”);

}

4.要求按照以下形式输入3个整数并完成计算,请将程序补充完整。

从键盘输入:a=13,b=14,c=25<回车>

#include

int main( )

{ int a,b,c;

scanf(“_ a=%d,b=%d,c=%d__________”,&a,&b,&c);

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

}

五、程序设计题

1.编写程序,输入一个人三门课的成绩,输出其平均成绩。

相关主题
文本预览
相关文档 最新文档