加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

《C语言程序设计》核心试题(2)

(2011-09-13 22:52:37)
标签:

c语言

分类: 教学文件
第三部分 顺序结构:输入与输出



一、选择题
(1)
有以下程序
main()
  int  m,n,p;
   scanf("m=%dn=%dp=%d",&m,&n,&p);
   printf("%d%d%d\n",m,n,p);
}
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是 
  Am=123n=456p=789
  Bm=123  n=456  p=789
  Cm=123,n=456,p=789
  D123   456   789

(2)
有以下程序
main()
{ int m=0256,n=256;
  printf("%o %o\n",mn,n);
}
程序运行后的输出结果是
  A) 0256 0400  
  B) 0256 256  
  C) 256 400   
  D) 400 400
 
(3)
有以下程序
main()
{ int a=666,b=888;
  printf("%d\n",a,b);
}
程序运行后的输出结果是
  A) 错误信息  
  B) 666    
  C) 888    
  D) 666,888

(4)
有以下程序
main( )
{
 int x=102
y=012;
 printf(“-,-\n”,x,y);

执行后输出结果是
  A) 10,01    
  B) 02,12    
  C) 102,10    
  D) 02,10

 (5)
有以下程序
main()
{ int  a;        char   c=10;
float   f=100.0;    double    x;
a=f/=c*=(x=6.5);
printf("%d  %d  %3.1f  %3.1f\n",a,c,f,x);
}
程序运行后的输出结果是
  A) 1  65  6.5          
  B) 1   65   1.5   6.5
  C) 1  65  1.0  6.5        
  D) 2   65   1.5   6.5

(6)
有定义语句:int  x,y; 若要通过scanf("%d,%d",&x,&y);语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,错误的是
  A) 11  12<回车>            
  B) 1112<回车>
  C) 11,12<回车>           
  D) 11,<回车>
    12<回车>

(7)
设有如下程序段:
int  x=2002,y=2003;
printf("%d\n",(x,y));
则以下叙述中正确的是
  A) 输出语句中格式说明符的个数少于输出项的个数,不能正确输出
  B) 运行时产生出错信息
  C) 输出值为2002
  D) 输出值为2003

(8)
若有以下程序段(n所赋的是八进制数)
int m=32767,n=032767
printf("%d,%o/n",m,n);
执行后输出结果是
  A) 3276732767      B) 32767032767
  C) 3276777777      D) 32767077777

(9)
若有以下程序段
int m=0xabc,n=0xabc;
m-=n;
printf("%X\n",m);
执行后输出结果是
  A) 0X0    
  B) 0x0    
  C) 0   
  D) 0XABC

(10)
已知ijkint型变量,若从键盘输入:123<回车>,使i的值为1j的值为2k的值为3,以下选项中正确的输入语句是
  A) scanf(“---”,&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);

(11)
设有定义:long x=-123456L;,则以下能够正确输出变量x值的语句是
  Aprintf(“x=%d\n”,x);  
  B) printf(“x=\n”,x);
  Cprintf(“x=�L\n”,x);  
  Dprintf(“x=%LD\n”,x);

(12)
以下程序段的输出结果是
int  a=1234

printf("-\n",a);
  A) 12          
  B) 34        
  C) 1234       
  D) 提示出错、无结果

(13) x
yz被定义为int型变量,若从键盘给xyz输入数据,正确的输入语句是
  A) INPUT  xyz;    
  B) scanf(“%d%d%d”,&x,&y,&z);
  C) scanf(“%d%d%d”,x,y,z);  
  D) read(“%d%d%d”,&x,&y,&z);

(14)
若变量已正确说明为float类型,要通过语句scanf(“%f  %f  %f ”,&a,&b,&c);a赋于10.0b赋予22.0c赋予33.0,不正确的输入形式是:
  A) 10<回车        B) 10.0,22.0,33.0<回车>
  
   22<回车>
  
   33<回车>
  C) 10.0<回车       D) 10  22<回车>
  
   22.0  33.0<回车       33<回车>

(15)
有如下程序
main0
   int     y=3,x=3,z=1;
printf(“%d   %d\n”,(++x,y++),z+2);
}
运行该程序的输出结果是
  A) 3           
  B) 4           
  C) 4          
  D) 3  3

(16)
下列程序执行后的输出结果是(小数点后只写一位)
  A) 6  6.0  6.0                 B) 6  6.7  6.7
  C) 6  6.0  6.7                 D) 6  6.7  6.0
     main()
     { double d;  float f;  ling l;  int i;
       i=f=1=d=20/3;
       printf("%d %ld %f %f \n", i,l,f,d);
     }

(17)
以下说法中正确的是
  A) #defineprintf都是C语句      
  B) #defineC语句,而printf不是
  C) printfC语句,但#define不是   
  D) #defineprintf都不是C语句

(18)
以下程序的输出结果是
  A) 170210x11       B) 171717
  B) 170x11021       D) 172111
     main(  )
     int   k=17

        printf("%d
%o%x \n"kkk)
     }

(19)
以下叙述中正确的是
  A) 输入项可以是一个实型常量,:
   scakf("%f",3.5);
  B) 只有格式控制,没有输入项,也能正确输入数据到内存,例如:
   scakf("a=%d,b=%d");
  C) 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:
   scakf("%4.2f",&f);
  D) 当输入数据时,必须指明变量地址,例如:
   scakf("%f",&f);
 
(20)
若有以下定义和语句:
int u=010,v=0x10,w=10;
printf("%d,%d,%d\n,u,v,w);
则输出结果是:
  A) 8,16,10        B) 10,10,10     C) 8,8,10        D) 8,10,10

(21)
请读程序片段:
int i=65536; printf("%d\n",i);
上面程序片段的输出结果是
  A) 65536      
  B) 0    
  C) 有语法错误,无输出结果   
  D) -1

(22)
xy都是int型变量,x=100y=200,且有下面的程序片段:
printf("%d",(x,y));
上面程序片段的输出结果是
  A) 200         
  B) 100  
  C) 100 200   
  D) 输出格式符不够,输出不确定的值

(23)
请读程序:
#include<stdio.h>
main()
{ int a; float b, c;
scanf("-?O",&a,&b,&c);
printf("\na=%d, b=%f, c=%f\n", a, b, c);
}
若运行时从键盘上输入9876543210<CR>(<CR>表示回车),则上面程序的输出结果是
  A) a=98, b=765, c=4321          
  B) a=10, b=432, c=8765
  C) a=98, b=765.000000, c=4321.000000 
  D) a=98, b=765.0, c=4321.0

(24)
以下程序的输出结果是 【24
# include <stdio.h>
# include <math..h>
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;
   pritnf("%f\n",z);   }
  A) 14.000000  
  B) 015.400000    
  C) 13.700000    
  D) 14.900000

(25)
以下程序的输出结果是 【25
# include <stdio.h>
main()
int a=2,c=5;
   printf("a=%%d,b=%%d\n",a,c);   }
  A) a=%2,b=%5  
  B) a=2,b=5   
  C) a=%%d,b=%%d   
  D) a=%d,b=%d

(26)
执行下面程序中的输出语句,a的值是
  A) 65            
  B) 20           
  C) 15            
  D) 10
main()
{ int a;
printf("%d\n",(a=3*5,a*4,a+5));}

二、填空题:
1)以下程序运行后的输出结果是  1 
 main()
 { int  x=0210;    printf("%X\n",x);
 }

2)以下程序运行后的输出结果是  2  
 main()
 { char  c;        int  n=100;
   float  f=10;    double  x;
   x=f*=n/=(c=50);
   printf("%d  %f\n",n,x);
 }

3)以下程序运行时若从键盘输入:10  20  30<回车>。输出结果是   .
#include  <stdio.h>
main()
    int  i=0,j=0,k=0;
      scanf("%d%*d%d",&i,&j,&k);
      printf("%d%d%d\n",i,j,k);
}

(4)
以下程序段的输出结果是 4 
int i=9;
printf("%o\n",i);

(5)
以下程序运行后的输出结果是 5 
main()
{ int a,b,c;
  a=25;
  b=025;
  c=0x25;
  printf("%d  %d  %d\n",a,b,c);
}

(6)
有以下语句段
int  n1=10,n2=20;
printf(“
6 ”,n1.n2); 
要求按以下格式输出n1n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20

(7)
若有语句
int i=-19,j=i%4;
 printf("%d\n",j);
则输出结果是 【7】 。

(8)
若有程序
main()
int i,j;
 scanf("i=%d,j=%d";&i,&j);
 printf("i=%d,j=%d\n",i,j);
}
要求给i10,给j20,则应该从键盘输入 【8】 。

(9)
以下程序的输出结果是【9
main() 
  int  a=177;
printf("%o\n",a);
}

(10)
以下程序的输出结果是【10
 main()
{ int  a=0
a+=(a=8);
printf("%d\n",a);
}

(11)
以下程序的输出结果是 11   
main()
int  a=1,  b=2;
   a=a+b; b=a-b; a=a-b;
   printf(“%d,%d\n”, a, b );
}

(12)
下列程序的输出结果是16.00,请填空。。
main()
int  a=9,  b=2;
   float  x= 
12  , y=1.1,z;
   z=a/2+b*x/y+1/2;
   printf(“%5.2f\n”, z );
}

(13)
以下程序的输出结果是[13]
main()
    unsigned short  a=65536;    int  b;
printf(“%d\n”,b=a);
}

(14)
若想通过以下输入语句使a=5.0b=4c=3,则输入数据的形式应该是 14 
  
           int   b
c      float a
           scanf("%f
%dc=%d"&a&b&c)

(15)
若想通过以下输入语句给a赋于1,给b赋于2,则输入数据的形式应该是 15
int a,b;
scanf("a=%b,b=%d,&a,&b);


答案:
一、选择题
01) 
  02)   03)   04)   05) 

06)   07)   08)   09)   10) C

11) 
  12)   13)   14)   15) 

16)   17)   18)   19)   20) A

21) 
  22)   23)   24)   25) 

26)   

二、填空题

(1) 88

(2) 2 20.000000

(3) 10   30   0

(4) 11

(5) 25 21 37

(6)  n1=%d\nn2=%d

(7) -3

(8) i=10,j=20

(9) 261

(10) 16

(11) 2,1

(12) 6.6

(13) 0

(14) 5.0,4,c=3

(15) a=1,b=2

 



0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有