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

c语言习题

(2008-04-10 07:48:21)
标签:

c程序

for

c语言

程序段

表达式

教育

分类: C语言试题
 

2006年对口高职C语言程序设计预测试卷三

一、单项选择题(共30题,每题2分,共60分)

1.       printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式_____。
A) 从左起输出该字串,右补空格
B) 按原字符长从左向右全部输出
C) 右对齐输出该字串,左补空格
D) 输出错误信息

2.       已有定义 int a=-2;和输出语句:printf("%8lx",a);以下正确的叙述是_____。
A)整型变量的输出格式符只有%d一种
B)%x 是格式符的一种,它可以适用于任何一种类型的数据
C)%x 是格式符的一种,其变量的值按十六进制输出,但%8lx 是错误的
D)%8lx不是错误的格式符,其中数字8规定了输出字段的宽度

3.       已有定义int  x;  f1oat  y;且执行scanf("%3d%f",&x,&y);语句,若从第一列开始输入数据12345  678(回车),则y 的值为_____。
A)无定值            B)45.0000   C)  678.000000      D)  123.00000

4.       根据定义和数据的输入方式,输入语句的正确形式为_____。
已有定义:  float  fl,f2;
数据的输入方式:4.52
3. 5
A)scanf("%f,%f",&f1,&f2);           B)scanf("%f%f",&f1,&f2 );
C)scanf("%3.2f%2.1f",&f1,&f);       D)scanf("%3.2f%2.1f",&f1,&f2);

5.       阅读以下程序,若运行结果为如下形式,输入输出语句的正确内容是_____。
main(){
int  x;  float  y;  printf("enter x,y :")
输入语句    输出语句
}
输入形式    enter  x,y:  2 3.4
输出形式    x+y=5.40
A)scanf("%d,%f",&x,&y);printf("\nx+y= %4.2f",x+y);
B)scanf("%d%f",&x,&y );printf("\nx+y=%4.2f",x+y);
C)scanf("%d%f",&x,&y); printf("\nx+y=%6.lf",x+y);
D)scanf("%d%3.1f",&x,&y );printf("\nx十y=%4.2f",x+y);

6.       已知ch是字符型变量,下面不正确的赋值语句是_____。
A)ch='a+b';         B)ch='\0';          C)ch='7'+'9';       D)  ch=5+9;

7.       若有以下定义,则正确的赋值语句是_____。
int a,b; float x;
A)a=1,b=2,          B)a=b++;        C)  a= b= 5         D)  b= int(x);

8.       x,y,z均为int型变量,则执行语句x=(y=(z=10)+5)-5;后,x 、y 和z的值是:
A)  x=10            B)  x=10        C)  x=10            D)  x=10
    y=15              y=10         y=10              y=5
    z=10              z=10          z=15             z=10

9.       以下叙述正确的是_____。
A)在C程序中,main函数必须位于程序的最前面
B)C程序的每行中只能写一条语句
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误

10.    以下叙述不正确的是_____。
A)一个C源程序可由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面

11.    假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是_____。
A)7             B)8                 C)6             D)2

12.    下面四个选项中,均是C语言关键字的选项是_____。
A)auto              B)switch            C)signed        D)if
  enum             typedef            union         struct
  include            continue           scanf         type

13.    下面四个选项中,均是合法整型常量的选项是_____。
A)160           B)-0xcdf            C)-01           D)-0x48a
  -0xffff             01a              986, 012        2e5
  011               0xe               0668           0x

14.    下面四个选项中,均是合法转义字符的选项是_____。
A)'\''                  B)'\'               C)'\018'        D)'\\0'
  '\\'                  '\017'              '\f'             '101'
  '\n'                '\"'               'xab'           'xlf'

15.    若有代数式3ae/bc,则不正确的C语言表达式是_____。
A) a/b/c*e*3                            B)3*a*e/b/c
C)3*a*e/b*c                             D)a*e/c/b*3

16.    以下不正确的叙述是_____。
A)在C程序中,逗号运算符的优先级最低
B)在C程序中,APH和aph是两个不同的变量
C)若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。
D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。

17.    若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是_____。
A)2.500000          B)2.750000          C)  3.500000    D)  0.000000

18.    表达式18/4*sqrt(4.0)/8值的数据类型为_____。
A)  int             B)float             C)double        D)不确定

19.    设以下变量均为int类型,则值不等于7的表达式是_____。
A)  (x= y= 6, x+y, x+1)                 B)  (x= y= 6,x+y, y+1)
C)  (x= 6, x+1, y= 6, x+y)              D)  (y=6, y+l, x = y, x+1)

20.    下面有关for循环的正确描述是    。
A)  for循环只能用于循环次数已经确定的情况
B)  for循环是先执行循环体语句,后判断表达式
C)  在for循环中,不能用break语句跳出循环体
D)  for循环的循环体语句中, 可以包含多条语句,但必须用花括号括起来

21.    以下不是无限循环的语句为    。
A)  for    (y=0,x=1;x> ++y;x=i++)  i=x ;
B)  for    (; ; x++=i);
C)  while  (1){x ++;}
D)  for    (i=10; ;i--)sum+=i;

22.    下面程序段的运行结果是    。
for (y=1; y<10;  y=((x=3* y, x+1), x-1);
printf ("x=%d,y=%d",x,y);
A)x=27,y=27     B)x=12,y=13         C)x=15,y=14         D)x=y=27

23.    执行语句for(i=1; i++<4; ); 后变量i的值是    。
A)3         B )4                C)5             D)不定

24.    下面程序的功能是计算1至10之间的奇数之和及偶数之和。请选择填空    。
# include <stdio. h>
main()
{int  a,b,c,i;
a=c=0;
for(i=0;i<=10;i+=2)
{ a+=i;
[1];
c+=b;
}
printf("偶数之和=%d\n",a);
printf("奇数之和=%d\n",c-11),
}
[1] A )b=i--        B)  b=i+1           C)  b=i++       D)b=i-1

25.    下面程序的运行结果是    。
#i nclude <stdio. h>
main()
{ int  x , i;
for(i=1;i<=100;i++)
{x=i;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0) printf("%d  ",x);
}
}
A) 39  81     B) 42  84      C) 26  68       D) 28  70

26.    下面程序的运行结果是    。
main()
{int i,j,a=0;
for (i=0;i<2;i++)
{ for (j=0;j<=4;j++)
{if (j%2)  break;
a++;}
a++;}
printf("%d\n",a);
}
A)           B)  5           C)           D)  7

27.    有以下程序段:
int x=0, s=0;
while (!x!= 0) s+=++x;
printf("%d",s);
则    。
A)运行程序段后输出0             B)运行程序段后输出1
C)程序段中的控制表达式非法      D)程序段执行无限次

28.    下列程序的输出结果为()
main()
{ char s[10]={‘a’,’b’,’c’,’d’};
  printf(“%d”,strlen(s+2));
}
A.值不确定      B.10            C.3                 D.2

29.     下面程序的运行结果是()
main()
{ char ch[7]={“65ab21”};
  int i,s=0;
  for(i=0;ch[i]>=’0’&&ch[i]<=’9’;i+=2)
    s=s*10+ch[i]-‘0’;
  printf(“%d\n”,s);
}
A.12ab56        B.6521          C.6                 D.62

30.    在引用数组元素时,以下列各项作为数组下标,可能引起输出混乱的是()
A.0             B.整型变量      C.实型              D.字符型

二、填空题(共15空,每空1分,共15分)

1.       程序中经常使用到常数6.6678,我们使用RUN表示,其定义格式为
                                       

2.       设有:int  a=3, b= 4, c= 5,x , y; 执行 !(x=a)&&(y=b)&&0表达式的值为             ..

3.       单精度浮点型数据在内存中占             个字节。

4.       表达式‘c’&&’d’的值为                

5.       4/5*6的值为                  

6.       执行语句n=1; if(n=5)  n++;后,变量n的值为                   

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

8.       表达式9/2!=9%2的值是               

9.       下面程序的输出结果是               
main()
{ int x=023; printf(“%d\n”,--x);}

10.    putchar(0x41)的输出为                

11.    c语言中的数据类型转换分为两种,即自动类型转换和                      

12.    若有定义:int a=8,b=5,c;执行语句c=a/b+0.4;后,c的值为             

13.    4.0/5的值为                    

14.    表达式12345==12345/3*3的值为                  

15.    定义一个含有10个元素的整型数组a,并为前两个元素赋初值12,5的语句是
                              

三、程序阅读理解题(共5题,每题3分,共15分)

1.       若从键盘上输入10,则输出是
       main ()
{
   int  a;
   scanf(“%d”,&a);
   if  (a++>10)
  printf (“%d \ n”,++a);
  else  printf (“%d \ n”,a--);
}
运行结果                

2.       main( )
{
    int a1=0,a2=0,a3=0;
    char   ch;
    while ((ch=getchar( )!=‘\ n’)
   switch (ch)
 {
          case ‘A’;a1++;
        case  ‘B’;a2++;
     default  :a3++;}
    printf(“%d \ n”

 

0

阅读 收藏 喜欢 打印举报/Report
后一篇:健康卧室装修
  

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

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

新浪公司 版权所有