青海大学程序设计基础习题指导书2014版 联系客服

发布时间 : 星期二 文章青海大学程序设计基础习题指导书2014版更新完毕开始阅读fba8ffd990c69ec3d5bb75f4

《程序设计基础(C)》习题指导书

main( )

{ int n;

scanf(“%d”,&n);

if(n++<10) printf(“%d\\n”,n); else printf(“%d\\n”,n--); }

A.11 B.10 C.9 D.8 15. 若a、 b、c1、c2、x、y、均是整型变量,正确的switch语句是 ( )。 A. swich(a+b); B. switch(a*a+b*b) { case 1:y=a+b; break; { case 3:

case 0:y=a-b; break; case 1:y=a+b;break;

} case 3:y=b-a,break; }

C. switch a D. switch(a-b)

{ case c1 :y=a-b; break { default:y=a*b;break

case c2: x=a*d; break case 3:case 4:x=a+b;break

default:x=a+b; case 10:case 11:y=a-b;break;

} } 16.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是( )。

A. a>=10 or a<=0 B. a>=0|a<=10 C. a>=10 &&a<=0 D. a>=10‖a<=0

17.设 int x=1, y=1; 表达式(!x||y--)的值是 ( )。

A. 0 B. 1 C. 2 D.-1

18. 表示关系X<=Y<=Z的c语言表达式为( )。

A. (X<=Y)&&(Y<=Z) B. (X<=Y)AND(Y<=Z) C. (X<=Y<=Z) D. (X<=Y)&(Y<=Z) 19. 表达式:10!=9的值是( )

A. true B. 非零值 C. 0 D. 1 20. 下面的程序 ( ) main( )

{ int x=3,y=0,z=0;

if(x=y+z) printf(\* * *\else printf(\# # #\}

A.有语法错误不能通过编译 B. 输出* * * * C.可以通过编译,但是不能通过连接,因而不能运行 D. 输出# # # # ㈢.判断题

1.在switch语句中没有必要使用break语句。( )?

2. switch语句的表达式与case表达式的类型必须一致。( ) ? 3. if的嵌套语句可以改写为不带嵌套的形式。( )?

4.if语句的条件表达式只能是关系表达式或者逻辑表达式,不能是其他表达式。( )? 5.逻辑表达式和关系表达式不能参与算术运算。( )? ㈣.程序设计题:

1.编程判断输入的正整数是是否既是5又是7的整倍数。若是,则输出Yes;否则输出No。

第 17 页 共 64 页

《程序设计基础(C)》习题指导书

2.用switch编程实现:

-1 (x<0) y = 0 (x=0) 1 (x >0)

3.输入三个数,找出并打印最小数。

4.编写程序,输入三角型的三条边长,求其面积。注意:对于不合理的边长输入要输出数据错误的提示信息。 5.编程:判断输入数据的正负性和奇偶性。

6.编写程序实现功能:输入一个复数,输出共轭复数。例如,输入2+3i (回车)后,自动输入其共轭复数2-3i;输入2-3i (回车)后,自动输入其共轭复数2+3i;

7.编程实现,界面提示输入选择项:“Y”(代表圆形)、“J”(代表矩形)、“S”(三角形),当用户按照提示输入‘Y’、‘J’、‘S’中的任意一个时,根据其代表意义,输出该图形的面积计算公式。 8.已知银行整存整取存款不同期限的月息利率分别为:

0.315% 期限一年 0.330% 期限二年 0.345% 期限三年 0.375% 期限五年 0.420% 期限八年

要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。

9. 编写一个程序,根据用户输入的字母判定它代表星期几。例如:如果输入M(m)则代表Monday;如果输入T(t)则可能代表Tuesday或thursday,需要进一步确认是哪一天,因此需要输入u和h。(提示:对于星期几,需要对第一个字符的大小写都进行判断,而不需要对第二字符判断大小。) 10.从键盘输入任意的字符,按下列规则进行分类计数。

第一类 '0','1','2','3','4','5','6','7','8','9' 第二类 '+','-','*','/','%','=' 第三类 其它字符

当输入字符'\\'时先计数,然后停止接收输入,打印计数的结果。 11.从键盘输入一个字母,若是大写字母,要求改用小写字母输出。

22

12.求ax+bx+c=0的根。a、b、c由键盘输入,设b-4ac>=0.

? 应用篇

㈠.填空题

1.设a=3,b=6,c=5表达式 !(a>b) && !c || 1 运算后的值为___1________。 2.有int x=3,y=-4,z=5;则表达式(x&&y)==(x||z)的值为 1 。 3.以下程序对输入两个整数,按从大到小顺序输出.请在________内填入正确内容. main( )

{ int x,y,z;

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

{z=x; _x=y;y=z;______} pringf(“%d,%d”,x,y);} 4.请阅读下面的程序: main( )

{int s,t,a,b; scanf(“%d,%d”,&a,&b); s=1; t=1;

if (a>0) s=s+1;

第 18 页 共 64 页

《程序设计基础(C)》习题指导书

if (a>b) t=s+t;

else t=2*s;

prinf(“s=%d,t=%d”,s,t);}

为了使输出结果t=4,输入量a和b应满足的条件是_________。

5. 若下面程序运行时输入:16 <回车>,则以下程序的运行结果是you are a yong man! 。 #include void main( ) { int year;

printf( “input your year:”); scanf( “%d”,&year); if (year>=18)

printf ( “you are an adult!”);

else printf ( “you are a yong man!”);} 6. 若下面程序运行时输入:2 <回车>,则运行结果是 2nd class postage is 14p! 。 #include void main( ) { char class;

printf( “Enter 1for lst class post or 2 for 2nd post”); scanf( “%c”,&class); if (class==’1’)

printf ( “1st class postage is 19p!”); else printf ( “2nd class postage is 14p!”);} 7. 以下程序的运行结果是 T 。 main()

{ if(2*2==5<2*2==4) print (“T”);

else print( “F”);}

8.以下程序的运行结果是 -1 。 main()

{ int a=2,b=3,c; c=a;

if(a>b)c=1;

else if(a==b) c=0; else c=-1;

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

9. 若有以下程序段,当city的值为‘X’,则输出结果为____ Xi’an _______。 switch(city)

{ case ‘B’: printf( “Beijing”);break; case ‘S’: printf( “Shanghai”); break; case ‘G’: printf( “Guang”); break; case ‘X’: printf( “Xi\\’an”); break; default: printf( “error”); break; }

㈡.选择题

1. 能正确表示a和b同时为正或同时为负的逻辑表达式是 ( )。

第 19 页 共 64 页

《程序设计基础(C)》习题指导书

A.(a>=0‖b>=0)&&(a<0‖b<0) B.(a>=0&&b>=0)&&(a<0&&b<0)

C.(a+b>0)&&(a+b<=0) D.(a>=0&&b>=0)||(a<0&&b<0) 2.以下关于switch语句和break语句的描述正确的是( )。

A.在switch语句中必须使用break语句 B.break语句只能用于switch语句体中 C.break语句只能用于循环语句中 D.在switch语句中可以使用break语句

3.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是 ( )。

A.k%2 B.k%2==1 C.(k%2)!=0 D.!k%2==1

4.设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是( )。

A.(!a==1)&&(!b==0) B.(a

{ int i=1,j=1,k=2;

if((j++‖k++)&&i++) printf(\

执行后输出结果是( )。

A.1,1,2 B.2,2,1 C. 2,2,2 D. 6. 有以下程序: main( )

{ int a=5,b=4,c=3,d=2;

if(a>b&&b>c) printf(\

else if((c-1>=d)==1) printf(\ else printf(\执行后输出结果是 ( )。

A. 2 B. 3 C. 4 D. 编译时有错,无结果 7. 有以下程序 main( )

{ int a=15,b=21,m=0; switch(a%3)

{ case 0:m++;break; case 1:m++; switch(b%2)

{ default:m++;

case 0:m++;break; } }

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

程序运行后的输出结果是( )。

A. 1 B. 2 C. 3 D.4 8. 有如下程序 main( )

{ int x=1,a=0,b=0; switch(x)

{ case 0: b++; case 1: a++ ; case 2: a++;b++ }

第 20 页 共 64 页

2,2,3