注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

心灵的触动

随性,自由……

 
 
 

日志

 
 

C语言试题  

2010-11-01 19:46:17|  分类: 有用的转载 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
期末C程序考试复习题答案(选择题和填空题
一、单选题:
1、已知ch是字符型变量,下面不正确的赋值语句是(  B    )。
A、ch=‘\0’            B、ch=‘a+b’
C、ch=‘7’+‘9’       D、ch=7+9
2、以下4组用户定义标识符中,全部合法的一组是 (A )     。
A、s_5            B、If           C、txt           D、int
     about           -max            REAL             k_2
E2             turbo            3COM             _001
3、C语言中的简单数据类型包括( B  )
A、整型、实型、逻辑型    B、整型、实型、字符型、枚举型   
C、整型、字符型、逻辑型  D、整型、实型、逻辑型、字符型
4、已知:int i=1,j;执行语句j=-i++;后,j的值是(C    )
A、1   B、2    C、-1    D、-2
5、已知:int i=5;执行语句i+=++i;后,i的值是( C   )
A、10     B、11    C、12      D、A、B、C答案都不对
7、若x为int型变量, x=6;则执行以下语句后,x的值为(   C   )。
       x+=x-=x*x; 
A、 36    B、 60    C、- 60  D、-24
8、设d为字符变量,下列表达式不正确的是( D     )。
A、d=’g’  B、d=’a’   C、d=97  D、d=”g”
9、若a=1,b=2,c=3,d=4;则条件表达式 a>b?a:c<d?c:d结果为( B   )
A、4     B、3    C、2    D、1
10、printf函数中用到格式符"%8s",其中数字8表示输出的字符串占用8列。
   如果字符串长度大于8,则按原字符长从左向右全部输出;如果字符串长度
   小于8,则输出方式为(   B   )。
A、从左起输出该字符串,右补空格   B、 右对齐输出该字符,左补空格
C、按原字符长从左向右全部输出     D、输出错误信息
11、在嵌套的if-else语句中,else总是与( D    )配对。
A、其之前最近的if     B、第一个if  
C、缩进位置相同的if   D、其之前最近的且不带else的if
12、一个C语言程序总是从( B )开始执行。
A、程序的第一个函数    B、主函数   C、子函数    D、主程序
13、设x=2.9,a=8,y=3.7,算术表达式x+a%3*(int)(x+y)%5/2的值是  ( A )
A、3.9     B、4      C、4.2     D、3.75
14、程序片段执行后输出结果是 ( A )
     int  x=5,  y=8;
      printf ("% d",  x<y ? x : (x, y));
   A、5    B、8   C、5,8  D、编译出错
15、下面能正确表示变量a在区间[0,8]或(4,10)内的表达式为:(  D    )。
A、a>=0||a<=8||a>4||a<10          B、a>=0&&a<=8&&a>4&&a<10
C、(a>=0||a<=8)&&(a>4||a<10)         D、a>=0&&a<=8||a>4&&a<10
16、设整型变量a值为9,则下列表达式中使b的值不为4的表达式:(  C    )。
A、 b=a/2       B、b=a>5?4:2   C、b=a%2      D、b=8-(3,a-5)
17、执行以下语句后b的值为( D   )。
    int  a = 5 , b = 3 , w = 1 , x =2 , y = 3 , z = 4 ;
     ( a = w > x ) && ( b = y > z ) ;
   A、6          B、 0       C、 1        D、3
18、若有说明语句:char c='\75';则变量c ( A   )。
A、包含1个字符              B、包含2个字符
C、包含3个字符              D、说明不合法,c的值不确定
19、(   D   )不是C语言提供的合法关键字。
 A、switch     B、default       C、case      D、print
20、能表示整数x符合下面两个条件的语句是 (  A  )。
(1)“能被4整除,但不能被100整除”.(2)能被4整除,又能被400整除.
A、(x%4= =0&&x%100!=0)||x%400= =0   B、(x%4= =0||x%100!=0)&&x%400= =0
C、(x%4= =0&&x%400!=0)||x%100= =0   D、(x%100= =0||x%4!=0)&&x%400= =0
  21、在C程序中,判逻辑值时,用“非0”表示逻辑值“真”, 又用“0”表示逻辑值“假”。 在求逻辑值时,用()表示逻辑表达式值为“真”, 又用()表示逻辑表达式值为“假”。
                                                        (   A  )
A、1     0  B、0  1          C、非0  非0   D、1  1
22、C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符(   C )。
A、必须为大写             B、必须为下划线
C、必须为字母或下划线     D、可以是字母、数字和下划线中的任一种字符
23、设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为(   B   ) 。
A、1          B、2            C、3              D、4
24、下列形式的常数中,C程序不允许出现的是(  D    )。
A、 0.98     B、  6e4    C、 77.6e-2      D、 E8
25、分析以下程序:
void main( )
{  int  x=5,a=0,b=0;
   if(x=a+b)    printf("** **\n");
   else         printf("## ##\n");
}以上程序(  C    )。
A、有语法错,不能通过编译    B、通过编译,但不能连接
C、  输出## ##               D、输出** **
26、若有代数式       ,则不正确的C语言表达式是(  D  )
A、a/b/f*e*5           B、5*a*e/b/f
C、a*e/f/b*5          D、5*a*e/b*f
27、阅读以下程序,当输入数据的形式为:25,13,10<CR>,正确的输出结果为( D  )。
(“CR”表示回车)
void  main(  )
{  int x,y,z;
     scanf(“%d%d%d”,&x,&y,&z);
     printf(“x+y+z=%d\n”,x+y+z);
}
  A、x+y+z=48      B、x+y+z=35      C、x+z=35      D、不确定值
28、与代数式(x*y)/(u*v) 不等价的C语言表达式是(  A    )。
A、x*y/u*v   B、x*y/u/v    C、x*y/(u*v)    D、x/(u*v)*y
29、设有程序段
 int a=8;
 while(a=0)     a++;
 则下面描述正确的是(  C   )。
 A、while循环执行10次     B、循环是无限循环
 C、循环体一次也不执行     D、循环体只执行一次
30、下列循环语句中,执行循环体的次数是(  D    )。
   int i,j;
   while(5)     printf(“ABC”); 
A、5次          B、0次          C、1次          D、无限次
31、下面有关for循环的正确描述是 ( B)   
A、for循环只能用于循环次数已经确定的情况
B、for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来
C、在for循环中,不能用break语句跳出循环体
D、for循环是先执行循环体语句,后判断表达式
32、下列说法正确的是   ( C )
A、在执行C程序时不是从main函数开始的
B、C程序书写格式严格限制,一行内必须写一个语句
C、C程序书写格式自由,一个语句可以分写在多行上
D、C程序书写格式严格限制,一行内必须写一个语句,并要有行号
33、设int n=4;则有表达式n++,n的结果是(  D    )。
A、2          B、3              C、4               D、5
34、下列说法中正确的是  ( C  ) 
A、在switch语句中一定要使用break语句 
B、break语句是switch语句的一部分
C、在switch语句中不一定要使用break语句
D、break只能用于switch语句中
35、在C语言程序中,可以用做变量名的是    ( B   ) 
A、 1e5    B、a1    C、 int     D、 *p
36、以下符合C语言语法的实型常量是  ( C   )    。
A、1.2E0.5   B、2.15x105   C、5E-3    D、E15
37、在a=2,b=0,c;则执行c=b||a--;语句后,a和c的结果是(  D    )。
A、0,1       B、1,0      C、 2,0    D、1,1
38、有以下程序:
void  main( )
{  int x=101,y=011; 
    printf("%2d,%2d\n",x,y);
}  
执行后输出结果是  ( C   )    。
A、10, 9   B、101,11      C、101, 9    D、01,11 
39、已知 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);则正确的输入形式是 (B    )             
   A、32,24,36                    B、 a=32,b=24,c=36  
C、a=32  b=24  c=36            D、  32  24  36.
40、逻辑运算符的运算对象的数据类型(  B    )。
A、只能是0或1   B、任何类型的数据  C、只能是整型或字符型  D、只能是.T.或.F.
41、若x和y都为float型变量,且x=3.6, y=5.8 执行下列语句后输出结果为( C   )。
        printf("%f",(x,y));
A、3.600000             B、3.600000,5.800000     
C、5.800000             D、输出符号不够,输出不正确值
43、以下程序的输出结果是 ( B     )。
void main()
{ int x=10,y=10;
printf("%d  %d\n",x--,--y);
}
A、 10  10       B、 10  9       C、 9  10       D、 9  9
44、若有如下定义:int  a=2,b=3; float  x=3.5,y=2.5; 则表达式:
(float)(a+b)/2+(int)x%(int)y的值是(  B    )。
A、2.500000     B、3.500000      C、4.500000     D、5.000000
45、选择出i的正确运行结果: (  D    )。
        int i=10;
        switch(i)
         {
           case 9:i+=1;
            case 10:i+=1;
            case 11:i+=1;
            case 12:i+=1;
          }
A、 10     B、 11     C、 12     D、 13  
46、已知:int x=10,y=3,z=x%y;则下列语句的输出结果是(  A  )
A、1     B、0    C、2      D、3
47、下面程序的输出结果是  ( A   ) 
 void  main()
{  int x;
   x=-3+4*5-6;  printf(“%d”,x);
   x=3+4%5-6;   printf(“%d”,x);
 x=-3*4%-6/5; printf(“%d”,x);
 x=(7+6)%5/2; printf(“%d”,x);
}
A、11 1 0 1  B、11 –3 2 1    C、12 –3 2 1  D、11 1 2 1
48、下列说法正确的是(  B    ) 。
A、 一个函数的函数体必须要有变量定义和执行部分,二者缺一不可。
B、 一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数。 
C、 一个函数的函数体必须要有执行部分,可以没有变量定义。
D、 以上都不对。
49、判断char型变量ch是否为大写字母的正确表达式是(  B    )。
A、‘A’<=ch<=‘Z’              B、(ch>=‘A’)&&(ch<=‘Z’)
   C、(‘A’<=ch)AND(‘Z’>=ch)     D、(ch>=‘A’)&(ch<=‘Z’) 
50、在C语言中,多分支选择结构语句为:
switch(a)
{ case 常量表达式1:语句1;
       ……
  case 常量表达式n-1:语句n-1;
  default              语句n;
}
其中括号内表达式a的类型:(  B    )。
A、可以是任意类型               B、可以是整型或字符型
C、可以为整型或实型             D、只能为整型
51、设有以下定义,则能使值为3的表达式是:(  C    )。
     int   k=7, x=12;
   A、x%=(k%=5)     B、x%=(k-k%5)      C、(x%=k)-(k%=5)        D、x%=k 
52、有如下程序 
void  main()
{ float x=2.0,y;
if(x<0.0)y=0.0;
else if(x>10.0)y=1.0/x;
else y=1.0;
printf("%f\n",y);}
该程序的输出结果是             (  D   )
A、0.000000      B、0.250000
C、0.500000      D、1.000000
53、下列说法正确的是(  B    )。
  A、输入项可以是一个实型常量,如scanf("%f",4.8)。
  B、当输入数据时,必须指明变量的地址,如scanf("%f",&f)。
  C、当输入一个实型数据时,格式控制部分应规定小数点后的位数,
如scanf("%5.3f",&f)。
  D、只有格式控制,没有输入项也能进行正确输入,如scanf("a=%d,b=%d")。
54、下列运算符中,不属于关系运算符的是(   C     )。
A、 <    B、> =    C、 !    D、 ! =
55下列说法正确的是(  C    )。
A、main函数必须放在C程序的开头。
B、main函数必须放在C程序的最后。
C、main函数可以放在C程序的中间部分,但在执行C程序时是从main函数开始的。
D、main函数可以放在C程序的中间部分,但在执行C程序时是从程序开头执行的。
56、一个C语言程序是由(   D   )。 
A、一个主程序和若干个子程序组成。
B、若干过程组成。
C、若干子程序组成。
D、函数组成, 并且每一个C程序必须且只能有一个主函数。
57、以下选项中属于C语言数据类型(  C    )。
A、 复数型          B、逻辑型     C、双精度型          D、集合型
58、下列符号中,可以作为变量名的是(  C    )。
A、+a     B、12345e     C、a3B       D、5e+0
59、下列对C语言特点的描述中,错误的是(   A   )。
A、C语言不是结构化程序设计语言   B、C语言编程简洁明了
C、C语言功能较强                 D、C语言移植性好
60、能够完成如下函数计算的程序段是( B   )。
                   - 1    (x < 0)
         y =       0      (x = 0)
                   1      (x > 0)
 A、y = - 1 ;                          B、if ( x > = 0 )
    if ( x != 0 )                           if ( x > 0 ) y = 1 ; 
      if ( x > 0 ) y = 1 ;                  else y = 0 ;
      else  y = 0 ;                       else  y = -1 ;
C、y = 0 ;                            D、y = - 1 ; 
    if ( x > = 0 )                        if ( x > 0 ) y = 1 ;  
      if ( x > 0 ) y = 1 ;                else y = 0 ; 
      else y = -1
填空题
1. int x=10,n=10;计算表达式x+=n++后x的值为_20_,n的值为_11_。
2. C语言运算符中,优先级最低的是 ,或者(逗号运算符)。
3. 优先级仅高于逗号运算符的是    赋值 或者 (=)  运算符。
4.在16位C环境里,char型变量占__1___个字节,double型占__8___个字节,
int 型变量占__2___个字节,float型占__4___个字节。
5、C语言提供的三种逻辑运算符是     &&         、   ||          和!
6、利用条件运算符将这两条语句“if (x>y)  z=x;  else  z=y;”转换成与其等价的一条语句是:   z=x>y?x:y ;                   
7、如果int i=1,则printf("%d",-i++)执行后输出是 -1   ,i的结果是    2     
8、C语言的格式输出函数是printf( ) , 格式输入函数是__scanf( )__________。
  字符数据输出函数是putchar( ) ,字符数据输入函数是getchar( )___      。
getchar函数的作用是 从键盘上输入一个字符
putchar函数的作用是  向终端(显示器)输出一个字符。
9、_break_语句用在循环体中,可结束本层循环,__contiune__语句用在循环体中,可结束本次循环。
C程序有三种结构化程序设计方法,分别顺序结构、选择结构和循环结构。
10、C语言中的标识符只能由三种字符组成,它们是_字母_、 _数字、下划线_。
11、void main(  )
{ int a=1,b=2,c=3,d=4;
if (a<b)
if (c<d)   x=1;
else
           if (a<c)
               if (b<d)  x=2;
               else     x=3;
           else  x=6;
else  x=7;
 printf ( “%d\n”, x ) ;
}运行后的结果是 _____1_____________________   。
12、设n为int型变量, 请写出描述“n是奇数”的表达式是:   n%2!=0      
    请写出描述“n是偶数”的表达式是:   n%2= =0      
13、逗号表达式的形式如下:  表达式1,表达式2
则逗号表达式的结果是   表达式2    的值.
14、表达式x=(a=3,6*3)和表达式x=a=3,6*a分别是   赋值  表达式和  逗号   表达式,两个表达式执行完的结果是 18    和 18    .执行后x的值分别是 18    ,    3     
15、void  main()
{  int i,j,m,n;
      i=8;j=10;
m=++i;n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}    运行后i,j,m,n的值是  9,11,9,10    . 
16、int a=8,b=7,w=2,x=5,y=4,z=3;
   (a=w>x)&&(b = y>z);    a的值为__0__,b的值为__7__。
int a=-1,b=9;  则执行 ++a&&b--;   a的值为 0,b的值为 9 。
    int  a=0, b=13; 则执行 ++a||b--;   a的值为 1,b的值为 13 。
17、循环语句:for(i= - 1;i<7;i++)printf(“#######”);的循环次数是:    8       
break语句只能用于 开关 语句和   循环   语句中。
18、在内存中,存储字符′m′要占用1个字节,存储字符串″m″要占用 2 个字节
    存储字符′a′要占用1个字节,存储字符串″abcd″要占用 5 个字节
19、若有以下程序段:
int c1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是  0  
20、编制程序对实数a与b进行加,减,乘,除计算,要求显示如下结果。
jia=70.000000
jian=30.000000
cheng=1000.000000
chu=2.5000000
程序:#include<stdio.h>
void main(void)
{      (1)    double x,y;   
x=50.0;y=20.0;
printf("jia=%f\n",     (2)  x+y    );
printf("jian=%f\n"     (3)  x-y   );
printf("cheng=%f\n",     (4)  x*y   );
printf("chu=%f\n",     (5)    x/y  );
}
21、C语言规定,不同类型的数据可以在同一表达式中进行混合运算,运算时要进行类型转换。数据的转换方式有两种:一种是自动转换,一种是强制转换。
22、若 x 为int型变量,则逗号表达式(x=4*6,x*6),x+15的结果为    39  ____。
23、设x=5,y=2,则表达式x*=y+8的值为____50_________。
24、void main()
{    int i,j,m,n;
     i=1;j=2;m=0;n=0;
     m+=i++;
     n-= --j;
     printf(“%d,%d,%d,%d”,i,j,m,n);
}
运行后i,j,m,n的值是 _2,1,1,-1_________________。
25、下面的程序运行结果为     x=4.800000,i=4
void main()
{ float x;int i;
x=4.8;  i=(int)x;
printf("x=%f,i=%d",x,i);
}
1. C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 (  √  )
2.在 C 程序中 ,APH 和 aph 代表不同的变量。(    √  )
3.表达式 0195 是一个八进制整数。(      ×   )
4.Continue语句的作用是结束本次循环。(   √     )
5.C语言中字符串的结束符是’\0’。 (    √  )
6.C程序总是从main( ) 函数开始执行的。 (√      )
7.getchar()函数的功能是从键盘上输入一个字符串。               (  ×   )
8.Continue语句的作用是继续程序中的下一个循环。               (   ×  )
9.选择结构(if语句)和循环结构都可以使用嵌套形式。(       √  )
10.赋值表达式和赋值语句的区别在于有无分号。(  √ 】
  评论这张
 
阅读(88)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018