C语言题库,求发一份

急急急,跪求一份C语言题库... 急急急,跪求一份C语言题库 展开
 我来答
青春似水如歌
2013-05-10
知道答主
回答量:1
采纳率:0%
帮助的人:1499
展开全部
单选题
1. 以下叙述中正确的是  (1)  。  
   A.若e1、e2为变量,e为表达式,则
  e1=e2=e使得e1、e2都具有表达式e的值 。
  
  
   B.程序中不能定义与库函数名同名的变量。
   C.一个C源程序可放在多个文件中,但
  一个函数不能跨放在两个不同的文件中。
   D.C语言编译系统以函数为单位编译源程序。

2. 若a,b,c都是实型变量,则下列语句中除 (2)  之外,都可能得不到正确的计算结果。
  A.if(b*b-4*a*c==0) x1=x2=-b/(2*a);
    else x1=(-b+sqrt(b*b-4*a*c))/(2*a), x2=(-b-sqrt(b*b-4*a*c))/(2*a);

B.b=2.0e38+1.0-2.0e38;
C.a=456*768/2;
D.double define=1.0;
3. 以下正确的常量是  (3 )  。
  A.‘077’ B.‘\0x89’ C.3.14u D.‘\012’
4. 若已有声明“float x= -1234.5678; int m,n=4;”则执行“m=printf(“\n%8.3f\n”,x)/n;”语句后,
  变量m的值是 (4) 。
  A. 2 B. 3 C. 4 D. 5
5. 若已有声明“int x1; float x2; long x3; char x4;”,且以下选项均出现在switch语句中,其中正确
  的是 (5) 。
  A. case 1.1: scanf("%d",&x1);break;
B. case 1+2: scanf("%f",&x2); break;
   C. case 'x': 
    case 'y'-1: scanf("%ld",&x3); break;
D. case x4: scanf("%c",&x4); break;
6. 33.以下表达式中,能够作为“if(e) 语句”中判断条件表达式e 的是 (6) 。

 A. x==++(x+1) B. x+=++x||x++ C. x+1=z D. x%2.0!=0
7. 以下局部变量声明中,正确的是 (7) 。
  A.int x=0, void=1;      B.int x=1,y=2x;
  C.int x=2,y=sqrt(x);   D.int x=sqrt(y),y=4;
8. 在以下语句中,正确的是 (8) 。
   A.if(a>b)m=a;n=b;else m=b;n=a;
   B.if(a>b){m=a;n=b;else m=b;n=a;}
   C.if(a>b)m=a,n=b;else m=b,n=a;
   D.if(a>b){m=a;n=b;}else(a<=b){m=b;n=a;}
9.24.已知有声明:“char c=‘1’ ; int x=300 ; float t=35000 ; double d=3.1234567e10 ;”,则以下表达式
  求值时除 (9 ) 外,其结果都可能是不准确的。
  A. x=t/c B. t=d/x C. t=d/1e5f D. t=x+c
10.若有声明“int i,k=1; unsigned j;”,则下列语句执行时会出现无限循环的语句
  是 (10) 。

  A.for(j=15;j>0;j-=2) k++;

  B.for(j=0;j<15;j+=2) k++;
  
  C.for(i=0;i<15;i+=2) k++;

D.for(i=15;i>0;i-=2) k++;
  
11.已有声明“int x=2,y=1,z=0;”,以下表达式的值不为0的是 (11) 。
  A. x==(x=0,y=1,z=2)
B. z>y>x
C. x>y==1
D. x>(y=2)

12.若e1、e2和e3是表达式,以下选项中与语句while(e1){e2,e3;}功能等价的语句是 (12 ) 。
  A. for( ;e1;e3)e2; B. for( ;e1;e2)e3; C. for(e1;e2;e3); D. for(e1; e2, e3; );
13.已有声明“int x=3;”,以下选项中与“x+=x =x+1”功能不等价的表达式是 (13 ) 。
  A.x=x+(x=xx+1) B.x=x+(x=x(x+1)) C.x=x+(x=xx1) D.x=x(x+1), x=x+x
14.若已有声明“int a=2; ”,则执行语句“printf("%d", a, a+1 );”后的输出结果是 (14) 。
  A.语法错 B. 2,3 C. 2 D. 3
15.语句“if (!n) n++;”中的“!n”等价于如下 (15) 条件的判定。

  A.n==0   B.n!=0   C.n>0   D.n<0
16.若已有声明“int a=1; ”,则以下表达式中错误的是 (16 ) 。
  A.-a++ B.+a-- C.--a D.++-a
17.下列 (17) C语言表达式能正确表达数学计算式1÷× 2xy。
  A. 1/sqrt(2*3.14)*2*pow(x,y) B.1.0/sqrt(2)*2*x**y
  C. 1.0/sqrt(6.28)*2x^y  D.1/6.28^0.5*2*pow(x,y)
18. 已有声明“int a=3,b=3,c=2;”,以下表达式中值为0的是 (18) 。
  A. !a&&!b&&c B. !a || !b || c C. a==b &&b>=c D. a>=b &&b>c
19.
36.若有: int w=1 , x=2 , y=3 , z=4; 则表达式 w>x?x--:y<z?y--:++z 的值为 (19 ) 。

   A. 4   B. 3     C. 2   D. 1
20. 已知某程序中有以下片断:
  #define p 2.5
  main( )
  { float x=p;
  }
  则main函数中标识符p代表一个 (20)  。
  A. float型变量  B. double 型变量 C. float型常量   D. double 型常量
20.

  
填空题
1.21.设有如下程序段:
int a=2, b, c=5 ;
scanf( “%d” , &b) ;
b = c-- || scanf (“%d” , &c ) && a++;
执行该程序段时,若从键盘上输入的数据是 4ƀ3 (ƀ代表空格键) , 则变量c 的值为 (21) 。
2. signed和unsigned只能用于声明int型变量和 (22) 型变量。
3.代数式“||”的C语言表达式是 (23) 。
4.已有声明“int a=-13,n=7;”,表达式“a%=n%=4”求值后变量a的值为 (24) 。
5.已有声明“unsigned int a=30; ” ,那么 –a 的值为___(25)____。

6.
      如下程序执行后的输出是____(26)____。
  #include<stdio.h>
  main ( )
  {
   int i=1,m=0;
   switch ( i )
{  
     case 1 :
     case 2 : m++;
     case 3 : m++;
}
     printf ( “%d” ,m);
}
7.C语言的三个逻辑运算符(!、&&、||)中,优先级高于算术运算符的是
      (27) 。
8.已知sizeof(int)的值为2,执行如下程序后输出结果为 (28) 。
main()
{ int a,b;
a=65536;
b=32767+1;
printf("%d %d\n",a,b);
}
9.若有声明“int a=3,b=0,c=5;”, 则表达式 !a+b+c-1&&b+c/2 的值是 (29) 。
10.若有声明“int x=1,y=2;” ,则表达式 ++x, x+y++ 的值是 (30) 。

三、阅读程序题
1.在PC机的TC中执行以下程序后的输出是: (31) 。

main()
{
  unsigned x=0x7f39;

int y;
char c;

    c=x;
    x+=0307;
    y=x;
    printf(“%d,%x,%c”,x,y,c);
  }
2.以下程序运行后的输出结果是 (32) 。
  #include<stdio.h>
  main ( )
  { int x=30, y=45;
   while(x!=y)
   if(x>y)x-=y;
   else y-=x;
   printf("%d", x);
  }
3.
  以下程序运行后输出结果的第一行是 (33) ,第二行是 (34) 。
  #include<stdio.h>
  #include<math.h>
  void main()
  { int a=0x65,b,c,count=0;
   b=a;
   while(b>0)
   { b=b/8;
   count++;
   }
   printf("%d\n",count);
   while(count>0)
   { c=pow(8,count-1);
   printf("%d",a/c);
   a=a%c;
   count--;
   }
  }
4.以下程序运行时输出结果是 (35) 。
  #include <stdio.h>
  main()
  {
    int i,x=3,y=5;
   for(i=0;i<3;i++)
   switch(y%x)
   {
      case 0: printf("%d",y);
   case 1: printf("%d",y--);break;
   case 2: printf("%d",--y);break;
   }
  }
  
5.以下程序执行后,输出结果的第一行是 (36) ,第二行是 _(37)______。
  #define N 100
  main()
  { int i=0,sum=0;
   do
   { if(i==(i/2)*2)
   continue;
   sum++;
   if(sum>3)
   break;
   }while(++i<N);
   printf("%d \n %d", sum,i);
  }

四、完善程序题

1.下列程序的功能是按从键盘上输入的整数m,判断2m -1是否为素数,若为素数再求2m -1的反序数。例如:m为17,217 –1(131071)是素数,其反序数是170131。
  #include <stdio.h>
   (38)     
  main()
  {
   int m,j;
   long q,k1,k2=0,k3;
   scanf("%d",&m);
   k3=k1=pow(2,m)-1;
   q=sqrt(k1);
   for(j=2;j<=q;j++)
   if( (39) ) break;     
   if(j>q)
   { while(k3>0)
   { k2=k2*10+ (40)  ;   
   k3/=10;
   }
   printf("m=%d\npow(2,m)-1=%ld is a prime.\nreverse order %ld\n",m,k1,k2);
   }
   else
   printf("m=%d isn't a prime.\n",m);
  }
2. 以下程序找到并输出所有满足给定条件的四位十进制表示的正整数:该数是某个数的平方、该数的后二位是25、组成该整数的各位数字中有两位是2。例如:1225是满足所给条件的四位正整数(352=1225)。
  #include<stdio.h>
  #include<math.h>
  main()
  { long i,j,s,d=0;
   for(i=1000;i<10000;i++)
   { (41) ;
   j= (42) ;
   if(i==j*j && i%100==25)
   { s=i;
   while(s>0)
   { if( (43) )d++;
   s=s/10;
   }
   if(d==2) printf("\n %d",i);
   }
   }
  }
3..下列程序计算下列数学函数展开式的近似值,累加运算在最后一项的绝对值小于10-6时停止。
  程序运行时从键盘上分别三个实数-1.0、0.5、1.0,作为x的值。
  #include <stdio.h>
  #include <math.h>
  #define EPS 1.0e-6
  main()
  { double x,n,tn,ft,sn,xn;
   int i;
   for(i=0;i<3;i++)
   { (44)   ;    
   ft=1.0;
   scanf("%lf",&x);
   sn=xn=x;
   do{
   xn=xn*x*x;
   ft=ft*(2*n-3)/(2*n-2);  
   tn=ft*xn/ (45)   ;   
   sn=sn+tn;
   n=n+1;
   }while( (46)   );     
   printf("f(%lf)=%0.6lf\n",x,sn);
   }
  }
  
《C语言程序设计》试卷答题纸
(本试卷满分100分)

  系科_____________学号_____________姓名_____________成绩____________

单项选择题得分 填空题得分 阅读程序题得分 完善程序题得分 总分

一 、单项选择题

(1) (2) (3) (4) (5)
(6) (7) (8) (9) (10)
(11) (12) (13) (14) (15)
(16) (17) (18) (19) (20)

二、填空题

(21) (22)
(23) (24)
(25) (26)
(27) (28)
(29) (30)

三、阅读程序题

(31) (32)
(33) (34)
(35) (36)
(37

四、完善程序题

(38) (39)
(40) (41)
(42) (43)
(44) (45)
(46)
《C语言程序设计》试卷参考答案
(本试卷满分100分)

一 、单项选择题

(1)C (2)D (3)D (4)A (5) B
(6)B (7)C (8)C (9)D (10)A
(11)C (12)A (13)A (14)C (15)A
(16)D (17)A (18)A (19)B (20)D

二、填空题

(21) 4 (22) char
(23) fabs(exp(sqrt(1+sin(x)))) (24) -1
(25) 65506 (26) 2
(27) ! (28) 0 -32768
(29) 1 (30) 4

三、阅读程序题

(31) -32768, 8000, 9 (32) 15
(33) 3 (34) 145
(35) 4433 (36) 4
(37) 7

四、完善程序题

(38) #include <math.h> (39) k1%j==0
(40) k3%10 (41) d=0
(42) sqrt(i) (43) s%10==2
(44) n=2.0 (45) (2*n-1)
(46) fabs(tn)>EPS
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
C语言网
2020-03-22 · 百度认证:源代码(大连)科技有限公司
C语言网
向TA提问
展开全部
可以去C语言网看看,训练中有大量C语言题库
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
_梦幻阳光
2013-05-09 · TA获得超过978个赞
知道答主
回答量:219
采纳率:0%
帮助的人:174万
展开全部
百度 C语言题库
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式