当前位置:首页 > C语言课后习题参考答案(前5章)
《C语言程序设计基础》书后习题参考答案 (无编程题答案,红色为书上错误)
第二章 习 题
一、选择题。
1、在C语言中,要求参加运算的数必须是整数的运算符是( ) A)% B)/ C) ! D)*
2、若已定义x和y为 double类型,则表达式“x=1.0,y=x+3/2”的值是( ) A)1 B)2 C)2.0 D) 2.5
3、若变量已正确定义并赋值,符合C语言语法的表达式是( ) A)a=a+7; B) a=7+b+c,a++ C) int (12.3/4 ) D) a=a+7=c+b
4、若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b 的值为( )
A)1.0 B)1 C) 2.0 D)2
5、若x和 n均是 int型变量,且 x的初值为12,n的初值为5 ,则执行表达式x%=(n%=2) 后x 的值为( )
A) 0 B)1 C) 2 D)3
6、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为( ) A)7 B)8 C)9 D)10 7、指出下列哪一个选项的程序是错误的( )
A)#include
C) #include
printf(“%d\\n”,a);
A)赋值不合法 B)输出值为-2 C)输出为不确定值 D)输出值为2 9、若变量a,i已经正确定义,且i已正确赋值,则合法的语句是( ) A)i=int(a) B) ++i; C)a=a++=5; D) a=int(i); 10、若执行以下程序段后,c3的值为( ) int c1=1,c2=2,c3; c3=1.0/c2*c1;
A)0 B)0.5 C)1 D)2
11、如下程序的运行结果是( ) #include
{ int y=3,x=3,z=1;
printf(“%d%d\\n”,(++x,y++),z+2);}
A) 3 4 B) 4 2 C) 4 3 D) 3 3 12、以下程序的输入结果为( ) #include
printf(“a=%d,i=%d’,a,i);}
A)a=4,i=4 B)a=5,i=4 C)a=4,i=5 D)a=5,i=5 13、以下程序的输出结果是( ) #include
{ int a=5,b=4,c=6,d;
printf(“%d\\n”,d=a>b?(a>c?a:c):( b); //多了( }
A) 5 B) 4 C) 6 D) 不确定
14、在C语言中,如果下面的变量都是int类型,则输出的结果是( ) sum=pad=5;
pad=sum++,pad++,++pad; printf(“%d\\n”,pad);
A)7 B)6 C)5 D)4 15、已知int i;float f;,正确的语句是( )
A)(int f)%i; B)int(f)%i; C) int(f%i); D)(int)f%i; 16、已知 int j,i=1;执行语句j=-i++;后,j的值是( ) A)1 B)2 C)-1 D)-2 17、已知各变量的类型说明如下: int k,a,b;
unsigned long w=5; double x=1.42;
则以下不符合C语言语法的表达式是( )
A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=a*(a=3) 18、C语言中运算对象必须是整型的运算符是 ( ) A) %= B) / C) = D)<=
19、有以下程序 main()
{ int m=12,n=34;
printf(\printf(\}
程序运行后的输出结果是( )
A)12353514 B)12353513 C)12343514 D)12343513 20、下面程序的输出结果是( ) #include
{int x=5,y=3;
printf(“%d\\n”,y=x/y); }
A)0 B)1 C)3 D)不确定的值 21、执行下列程序中的输出语句后,a的值是( ) #include
printf(“%d\\n”,(a=3*5,a*4,a+5)); }
A) 65 B)20 C)15 D)10
22、执行下列程序时输入1234567,程序的运行结果为( ) #include
scanf (“-%2ld”,&x,&y); printf(“%d\\n”,x+y); }
A)17 B)46 C)15 D)9
23 、已知char a;int b;float c;double d; 则表达式a*b+c-d结果类型为( ) A) double B)int C)float D) char
二、 填空题 1、若i为int整型变量且赋值为6,则运算i++后的表达式的值是__6__,变量i的值是___7___。 2、若a是int型变量,则执行表达式a=25/3%3后a的值为____2____。 3、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为__10___ ,n的值为____6____。
4、若a是int型变量 , 则表达式(a=4*5,a*2),a+6的值为____26_____。
5、若有定义int m=5,y=2;, 则执行表达式y+=y-=m*=y后y的值是_____-16______。 6、表达式8.0*(1/2)的值为___0______。
7、x为整型变量,则执行x=6;x+=x-=x*x;后,x的值为 -60 。
第3章习题
一、选择题
1、若有说明:double a; 则正确的输入语句为( ) A)scanf(“%lf”,a); B) scanf(“%f”,&a); C) scanf(“%lf”,&a); D) scanf(“%le”,&a); 2、若有以下程序段: int a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(“%d,%d,%d\\n”,a,b,c);
其输出结果是( )
A)3,0,-10 B)0,0,5 C)-10,3,-10 D)3,0,3 3、有以下程序 #include
printf(\
程序运行后的输出结果是 ( )
A)3 B)5 C)-1 D)-2 4、以下程序段的输出结果是( ) float a=57.666;
printf(“*0.2f*\\n”,a);
A) *0000057.66* B) *57.66* C)*0000057.67* D)*57.57*
思考:若是printf(“*.2f*\\n”,a);结果是怎样呢? * 57.67*
5、若变量C定义为float型,当从终端输入283.1900后按回车键,能给变量c赋以283.19的输入语句是( )
A) scanf (“%f”,c); B) scanf (“%8.4f”,&c); C) scanf (“%6.2f”,&c); D) scanf (“?”,&c);
11、已知int a,b; ,用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是( )
A), B)空格 C)回车 D)【Tab】键 12、下列程序的输出结果是( ) #include
{ printf(“%f”,2.5+1*7%2/4); }
A) 2.500000 B)2.750000 C)3.375000 D)3.000000 二、填空题
1、C语言句尾用____;分号_______结束。 2、以下程序的输出是___________。 #include
-200,25i=-200,j=25 void main( )
i=-200 {int i=-200,j=25;
,j=25 printf(“%d,%d”, i,j);
printf(“i=%d,j=%d\\n”, i,j); printf(“i=%d\\n,j=%d\\n”, i,j); }
三、编程题。
1、输入一个华氏温度f,要求输出摄氏温度c,公式为f=9/5*c+32 ,输出结果,并要求输出的结果保留到小数点后两位。
2、从键盘输入三个整数,输出最大的那个数(用条件表达式实现)。 3、输入三个小写字母,输出其对应的大写字母。 4、输入正方形的边长,输出其周长和面积。
共分享92篇相关文档