《C语言程序设计》理论试题库
100
选择题
1.以下选项中属于C语言的数据类型是(    )   
    A、复数型            B、逻辑型            C、双精度型            D、集合型
2.C语言中,不正确的int 类型的常数是(        )
A32768            B0                C037                D0xAF
3.设有说明语句:char a= '\72';则变量a (        )
A、包含1个字符        B、包含2个字符        C、包含3个字符        D说明不合法
4.以下所列的C语言常量中,错误的是(        )
A0xFF                B1.2e0.5            C2L                D'\72'
5.以下选项中合法的字符常量是(        )
A、"B            B'\010'            C-268                DD
6.C语言中,合法的长整型常数是(        )
A0L                B4962710        C324562&                D216D
7.下列标识符中,合法的标识符是( )
    A-abc1            B1abc            C_abc1              D    for
8.C语言程序的基本单位是(    )
    A、语句            B 程序行        C、函数            D、字符
9.以下叙述正确的是(
A、可以把defineif定义为用户标识符
B、可以把define定义为用户标识符,但不能把if定义为用户标识符
C、可以把if定义为用户标识符,但不能把define定义不用户标识符
  Ddefineif都不能定义为用户标识符
10.以下叙述正确的是(
A、可以把defineif定义为用户标识符
B、可以把define定义为用户标识符,但不能把if定义为用户标识符
C、可以把if定义为用户标识符,但不能把define定义为用户标识符
Ddefineif都不能定义为用户标识符
11有如下程序
long fib(int n)
{ if(n>2)  return(fib(n-1)+fib(n-2))
else  return(2)
}
main( )
{printf("%d\n"fib(3))
该程序的输出结果是(         )
A2                B 4                C 6                D8
12.在C语言中,函数的隐含存储类别是(       
A auto            B static            C extern        D 无存储类别
13.以下所列的各函数首部中,正确的是(       
Avoid play(varIntegervar bInteger)
B void play(int ab)
C void play(int aint b)
D Sub play(a as integerb as integer)
14C程序中,可把整型数以二进制形式存放到文件中的函数是(       
A fprintf函数        B fread函数    Cfwrite函数    D fputc函数
15.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是(
A EOF                B 0                C 非零值                D NULL
16.若要打开A盘上的user子目录下名为的文本文件进行读、写操作,下面符合此要求的函数调用是(       
    A fopen("A:\""r")            Bfopen("A:\""r+")
    Cfopen("A:\""rb")            Dfopen("A:\""w")
17.以下程序的输出结果是(       
A 0                B 29                C 31                D 无定值
fun(int xint yint z)
{ z=x*x+y*y}
main( )
{ int a=31
fun(52a)
printf("%d"a)
}
18.当调用函数时,实参是一个数组名,则向函数传送的是(       
A、数组的长度                     B、数组的首地址
C、数组每一个元素的地址         D、数组每个元素中的值
19.以下只有在使用时才为该类型变量分配内存的存储类说明是(       
Aautostatic                    Bautoregister
Cregisterstatic                 Dexternregister
20.以下程序的输出结果是(       
A1                B2                C3                D4
long fun( int n)
{ long s
if(n= =1 || n= =2) s=2
else s=n-fun(n-1)
return s}
main( )
{ printf("%ld\n"fun(3)) }
21.以下程序的输出结果是(       
main( )
{ int num= 0
while(num<=2)
{ num++
printf("%d\n"num)
}
A 1                B1                C1                Dl
2                  2                  2
3 3
4
22.以下程序的输出结果是(       
 int f( )
  {static int i=0
  int s=1
  s+=ii++
  return  s
  }
 main( )
 {int ia=0
  for(i=0i<5i++)  a+=f()
  printf("%d\n"a)
  }
    A20                B24                C25                D15
23.以下程序的输出结果是(       
 f(int b[ ]int mint n)
  {int is=0
  for(i=mi<ni=i+2)  s=s+b[i]
  return s
  }
  main( )
  {int xa[ ]={123456789}
  x=f(a37)
  printf("%d\n"x)
  }
    A10                B18                C8                D15
24下列程序执行后的输出结果是(       
AG                 BH                CI                DJ
main( )
{
int x='f'
printf("%c \n"'A'+(x-'a'+1))
}
25.下列程序执行后的输出结果是(       
A-32767             BFFFE                C-1                D-32768
main( )
{
  int x=0xFFFF
   printf("%d \n"x--)
}
26.语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是( 
Aa\bre\'hi\'y\\\bou       Ba\bre\'hi\'y\bou   
Cre'hi'you               Dabre'hi'y\bou    (说明:'\b'是退格符)
27有如下程序
main( )
{
int y=3x=3z=1
printf("%d %d\n"(++xy++)z+2)
}
运行该程序的输出结果是(
A3 4                B4 2                C4 3                D3 3
28.若变量已正确说明为float类型,要通过语句scanf("%f %f %f "&a&b&c);给a赋于10.0b赋予22.0c赋予33.0,不正确的输入形式是:(       
A10<回车>22<回车>    33<回车>            B10.022.033.0<回车>
C10.0<回车>22.0 33.0<回车>             D10 22<回车> 33<回车>
29xyz被定义为int型变量,若从键盘给xyz输入数据,正确的输入语句是(
AINPUT xyz                        Bscanf("%d%d%d"&x&y&z)
Cscanf("%d%d%d"xyz)            Dread("%d%d%d"&x&y&z)
30.以下程序段的输出结果是(
 int a=1234
   printf("%2d\n"a)
    A12                B34            C1234            D、提示出错、无结果
31.设int b=2;表达式(b>>2)/(b>>1)的值是(
A0                B2                C4                D8
32有如下定义(
struct person{char name[9] int age}
struct person class[10]={ "Johu"17"Paul"19"Mary"18"Adam"16}
根据上述定义,能输出字母M的语句是(
A、 prinft("%c\n"class[3].mane)
B、 pfintf("%c\n"class[3].name[1])
C、 prinft("%c\n"class[2].name[1])
D、 printf("%c\n"class[2].name[0])
33.设有以下说明语句
struct ex
{ int xfloat ychar z}example
则下面的叙述中不正确的是(
Astruct是结构体类型的关键字             Bexample是结构体类型名
Cxyz都是结构体成员名                 Dstruct ex是结构体类型名
34.以下程序的输出是(
A10                B11                C51                D60
struct st
{ int xint *y} *p
int dt[4]={ 10203040 }
struct st aa[4]={ 50&dt[0]60&dt[0]60&dt[0]60&dt[0]}scanf输入整型数组
main( )
{ p=aa
printf("%d\n"++(p->x))
}
35.以下程序的输出结果是(
 main( )
  {char x=040
    printf("%o\n"x<<1)
  }
    A100                B80                C64                D32
36.若有说明语句:int abc*d=&c;,则能正确从键盘读入三个整数分别赋给变量abc的语句是(   
    Ascanf("%d%d%d"&a&bd)        Bscanf("%d%d%d"&a&b,&d)
    Cscanf("%d%d%d"abd)        Dscanf("%d%d%d"ab*d)
37.以下程序的输出结果是(   
 main( )
  {int a=5b=4c=6d
   printf("%d\n"d=a>b?(a>c?a:c):(b))
  }
    A5                B4                C6                D、不确定
38.xyzk都是int 型变量,则执行表达式:x=(y=4z=16k=32)后,x的值( )
A4                B16                C32                D52
39.当c的值不为0 时,在下列选项中能正确将c的值赋给变量ab的是(        )

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。