重庆理工大学-C语言程序设计基础教程 - 习题答案(纪纲 - 金艳)(2)

2019-08-03 14:38

{ /* int i=20; */ i++;

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

printf (“%d\\n”,i ); }

3.1.7 下面程序运行后,从键盘输入30,则程序的输出结果是 a=31,Ha=1f,Oa=37 。

void main () { int a ;

scanf(”%d”, &a ); a++;

printf (“a=%d,Ha=%x,Oa=%o”,a,a,a); } 3.1.8 下面程序的输出结果是 a=-3 b=?D?

“END” 。

void main ( ) { int a,b=68; a=-3;

printf(“\\ta=%d\\n\\tb=\\?%c\\?\\n\\”end\\”\\n”,a,b); }

3.1.9 下面程序的输出结果是 13.7000000 。

# include # include main()

{ int a=1,b=4,c=2; float x=10.5,y=4.0,z;

z=(a+b)/c+sqrt((double)y)*1.2/c+x; printf(“%f\\n”,z); }

3.1.10 下面程序运行后,若输入a=2,b=3结果是x1= 6.00

x2= 0.67 。

void main( ) { float a ,b ,x1, x2 ;

scanf (“a=%f,b=%f“ ,&a ,&b ) ; x1=a*b ; x2=a/b ;

printf (“x1=%5.2f \\nx2=%5.2f \\n” ,x1,x2 ); }

3.2 选择题

3.2.1 指出下面正确的输入语句是( B )。

A) scanf (“a=b=%d”,&a,&b); B) scanf (“a=%d,b=%f”,&m,&f ); C) scanf (“<”,c); D) scanf (“%5.2f”, &f);

3.2.2 执行scanf (“%d%c%f”,&a,&b,&c) 语句,若输入1234a12f56 则变量a,b,c的值为

( C )。

A) a=1234 b=?a? c=12.56 B) a=1 b=?2? c=341256 C) a=1234 b=?a? c=12.0 D) a=1234 b=?a12? c=56.0

3.2.3 执行scanf (“a=%d,b=%d”,&a,&b) 语句, 若要使变量a和b的值分别为3和4, 则

正确的输入方法为( C )。

A) 3 ,4 B) a:3 b: 4 C) a=3,b=4 D) 3 4

3.2.4 设b=1234 , 执行printf(“%%d@%d”,b) 语句,输出结果为: ( D )。

A) 1234 B) 34 C) %%d@1234 D) %d@1234 3.2.5 若x是int型变量,y是float型变量,所用scanf语句为 scanf(“x=%d,y=%f”,&x,&y);

正确的输入操作是( A )。

A) x=10,y=66.6<回车> B) 10 66.6<回车>

C) 10<回车>66.6<回车> D) x=10<回车>y=66.6<回车> 3.2.6 设a,b均是int型变量,则以下不正确的函数调用为( D )。

A) getchar(); B) putchar(?\\108?); C) scanf(“%d,-”,&a,&b); D) putchar(?\\?); 3.2.7 下列程序的执行结果是( C )。

# include void main( ) { int a=5;

float x=3.14; a*=x*(?E?-?A?);

printf (“%f\\n”,(float)a); }

A) 62.800000 B) 62 C) 62.000000 D) 63.000000 3.2.8 若输入2.50 ,下列程序的执行结果是( A )。

void main( ) { float r , area ;

scanf (“ %f ” , & r ) ;

printf (“ area=%f \\n” , area=1/2*r*r ) ; }

A) 0 B) 3.125 C) 3.13 D) 程序有错

3.3 编程题

3.3.1 编写程序,从键盘上输入2个整数给变量a和b,交换a、b值然后输出。

//参考程序

#include void main( ) { int a,b,temp;

scanf(\

printf(\交换前: a=%d,b=%d\\n\ temp=a;a=b;b=temp;

printf(\交换后: a=%d,b=%d\\n\}

3.3.2 试编写一个程序,任意输入一个小写字母,分别按八进制、十进制、十六进制、

字符格式输出。

//参考程序: #include void main()

{ char c;

printf(\请输入1个小写字母:\\n\ scanf(\

printf(\八进制: %o\\n十进制: %d\\n\ printf(\十六进制: %x\\n字符: %c\\n\}

3.3.3 输入一个华氏温度,要求输出摄氏温度,输出要有文字说明,取2位小数。公式

c?为:

5?F?32?9

//参考程序:

# include void main() { float c,f;

printf(“请输入一个华氏温度:\\n”); scanf(“%f”,&f); c= 5.0/9*(f-32);

printf(“华氏温度F=%.2f\\n”,f); printf(“摄氏温度c=%.2f\\n”,c); } 3.3.4 设圆半径r=3,圆柱高h=4,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体

积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后2位数字。请编程序。

//参考程序:

# include # define PI 3.1415926 void main() { float r,h,c,s1,s2,v1,v2;

printf(“请输入圆半径,圆柱高:”);

scanf(“%f,%f”,&r,&h);

c=2*PI*r; s1=PI*r*r; s2=4*PI*r*r; v1=4/3*PI *r*r*r; v2=s1*h; printf(“r=%.2f,h=%.2f\\n”,r,h);

printf(“圆周长=%.2f,圆面积=%.2f\\n”,s1,s2); printf(“圆体积=%.2f,圆柱体积=%.2f\\n”,v1,v2);

}

习 题 四

4.1 填空题

4.1.1 表示条件:10

达式为 a 。 4.1.3 若已知a=10,b=20,则表达式!ab>c的值是 0 。

4.1.5 设y为int型变量,请写出描述“y是奇数”的表达式 y%2!=0 。 4.1.6 设x,y,z为int型变量,请写出描述“x或y中有一个小于z”的表达式 x=z||x>=z&&yb && c>a||ab的值是 1 。 4.1.8 假设 a=5, b=2, c=4,以下表达式的值依次为: 0,1,1,1 。

(1) a % b * c && c % b * a (2) b % c * a && a % c * b (3) a % b * c || c % b * a (4) b % c * a || a % c * b

4.1.9 假设 a=3, b=4, c=5,x=0,y=0,以下各表达式的值依次为 0,1,1,0,1 。

(1) a + b > c && b == c (2) a || b + c && b - c (3) ! (a > b) && ! c || 1

(4) ! (x = a) && (y = b) && 0 (5) ! (a + b) + c – 1 && b + c/2

4.1.10 两次运行下面的程序,如果从键盘上分别输入6和4,输出的结果是 7和5 。

void main() { int x;

scanf(“%d”,&x); if(x++>5)

printf(“%d”,x); else

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

4.2 选择题:

4.2.1 设a为整型变量,不能正确表达数学关系: 10

A) 1010&&a<15 D) !(a<=10)&&!(a>=15) 4.2.2 在以下一组运算符中,优先级最高的是( C )。

A) <= B) = C) % D) && 4.2.3 设a,b,c都是int型变量,且a=3,b=4,c=5,则下面表达式中,值为0的表达式是

( D )。

A) ?a?&&?b? B) a<=b C) c||+c&&b-c D) !((a

A) 关系表达式 B) 逻辑表达式 C) 算术表达式 D) 任意表达式 4.2.5 在以下运算符中,优先级最高的运算符是( B )。

A) <= B) / C) != D) && 4.2.6 假设所有变量均为整型,表达式(a=2,b=5,a>b? a++:b++,a+b)的值是( B )。

A) 7 B) 8 C) 9 D) 2 4.2.7 在C语言中,能代表逻辑值\真\的是( D )。

A) true B) 大于0的数 C) 非0整数 D) 非0的数 4.2.8 在以下运算符中,优先级最高的运算符是( A )。

A) ! B) = C) + D) || 4.2.9 逻辑运算符两侧运算对象的数据类型( D )。

A) 只能是0或1 B) 只能是0或非0正数

C) 只能是整型或字符型数据 D) 可以是任何类型的数据

4.3 编程题

4.3.1 编写一个C程序,要求从键盘输入一个整数,判断该整数是否能够被17整除。

(解析:当该数与17的余数为零时,即可以被17整除。) //参考程序

#include void main() { int a;

printf(“请输入一个整数:”); scanf(“%d”,&a); if(a==0)

printf(“%d能被17整除\\n”,a); else

printf(“%d不能被17整除\\n”,a); }

4.3.2 编写一个C程序,计算并显示由下列说明确定的一周薪水。如果工时小于40,

则薪水按每小时8元计;否则,按320元加上超出40小时部分的每小时12元。(解析:一周工时数为键盘输入,显示其相应薪水为输出。)

//参考程序

#include void main() {

float a,wage;

printf(“请输入工时数:”); scanf(“%f”,&a);

if(a<0) printf(“error!”); else

{ if(a<40) wage=a*8;

else wage=320+(a-40)*12; printf(“周薪水=%.1f元\\n”,wage);

}

}

4.3.3 编写一个C程序,要求从键盘输入三个整数a,b,c,输出其中最大的数。(解析:

求极值问题。设立一个变量max总是保留两数比较时较大的那个值。具体方法如下:先将a的值赋给max,如果max

//参考程序

#include void main() {

int a,b,c,max;

printf(“请输入三个整数:”); scanf(“%d %d %d”,&a,&b,&c); if(a>b) max=a;

else max=b; /* max=a>b?a:b; */ if(c>max) max=c; /* max=max>c?max:c; */ printf(“最大值max=%d\\n”,max); }

4.3.4 编写一个C程序,要求从键盘输入三个整数x,y,z,请把这三个数由小到大输出。

(解析:排序问题。想办法把三个数进行调换,使得最小的数放到x变量里,最


重庆理工大学-C语言程序设计基础教程 - 习题答案(纪纲 - 金艳)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: