《C语言程序设计》理论试题库
选
择
题
100
例
选择题
1.以下选项中属于C语言的数据类型是( )
A、复数型 B、逻辑型 C、双精度型 D、集合型
2.在C语言中,不正确的int 类型的常数是( )
A、32768 B、0 C、037 D、0xAF
3.设有说明语句:char a= '\72';则变量a ( )
A、包含1个字符 B、包含2个字符 C、包含3个字符 D、说明不合法
4.以下所列的C语言常量中,错误的是( )
A、0xFF B、1.2e0.5 C、2L D、'\72'
5.以下选项中合法的字符常量是( )
A、"B" B、'\010' C、-268 D、D
6.在C语言中,合法的长整型常数是( )
A、0L B、4962710 C、324562& D、216D
7.下列标识符中,合法的标识符是( )
A、-abc1 B、1abc C、_abc1 D、 for
8.C语言程序的基本单位是( )
A、语句 B、 程序行 C、函数 D、字符
9.以下叙述正确的是( )
A、可以把define和if定义为用户标识符
B、可以把define定义为用户标识符,但不能把if定义为用户标识符
C、可以把if定义为用户标识符,但不能把define定义不用户标识符
D、define和if都不能定义为用户标识符
10.以下叙述正确的是( )
A、可以把define和if定义为用户标识符
B、可以把define定义为用户标识符,但不能把if定义为用户标识符
C、可以把if定义为用户标识符,但不能把define定义为用户标识符
D、define和if都不能定义为用户标识符
11.有如下程序
long fib(int n)
{ if(n>2) return(fib(n-1)+fib(n-2));
else return(2);
}
main( )
{printf("%d\n",fib(3));
该程序的输出结果是( )
A、2 B、 4 C、 6 D、8
12.在C语言中,函数的隐含存储类别是( )
A、 auto B、 static C、 extern D、 无存储类别
13.以下所列的各函数首部中,正确的是( )
A、void play(var:Integer,var b:Integer)
B、 void play(int a,b)
C、 void play(int a,int b)
D、 Sub play(a as integer,b as integer)
14.在C程序中,可把整型数以二进制形式存放到文件中的函数是( )
A、 fprintf函数 B、 fread函数 C、fwrite函数 D、 fputc函数
15.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是( )
A、 EOF B、 0 C、 非零值 D、 NULL
16.若要打开A盘上的user子目录下名为的文本文件进行读、写操作,下面符合此要求的函数调用是( )
A、 fopen("A:\","r") B、fopen("A:\","r+")
C、fopen("A:\","rb") D、fopen("A:\","w")
17.以下程序的输出结果是( )
A、 0 B、 29 C、 31 D、 无定值
fun(int x,int y,int z)
{ z=x*x+y*y;}
main( )
{ int a=31;
fun(5,2,a);
printf("%d",a);
}
18.当调用函数时,实参是一个数组名,则向函数传送的是( )
A、数组的长度 B、数组的首地址
C、数组每一个元素的地址 D、数组每个元素中的值
19.以下只有在使用时才为该类型变量分配内存的存储类说明是( )
A、auto和static B、auto和register
C、register和static D、extern和register
20.以下程序的输出结果是( )
A、1 B、2 C、3 D、4
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 B、1 C、1 D、l
2 2 2
3 3
4
22.以下程序的输出结果是( )
int f( )
{static int i=0;
int s=1;
s+=i;i++;
return s;
}
main( )
{int i,a=0;
for(i=0;i<5;i++) a+=f();
printf("%d\n",a);
}
A、20 B、24 C、25 D、15
23.以下程序的输出结果是( )
f(int b[ ],int m,int n)
{int i,s=0;
for(i=m;i<n;i=i+2) s=s+b[i];
return s;
}
main( )
{int x,a[ ]={1,2,3,4,5,6,7,8,9};
x=f(a,3,7);
printf("%d\n",x);
}
A、10 B、18 C、8 D、15
24.下列程序执行后的输出结果是( )
A、G B、H C、I D、J
main( )
{
int x='f';
printf("%c \n",'A'+(x-'a'+1));
}
25.下列程序执行后的输出结果是( )
A、-32767 B、FFFE C、-1 D、-32768
main( )
{
int x=0xFFFF;
printf("%d \n",x--);
}
26.语句printf("a\bre\'hi\'y\\\bou\n");的输出结果是( )
A、a\bre\'hi\'y\\\bou B、a\bre\'hi\'y\bou
C、re'hi'you D、abre'hi'y\bou (说明:'\b'是退格符)
27.有如下程序
main( )
{
int y=3,x=3,z=1;
printf("%d %d\n",(++x,y++),z+2);
}
运行该程序的输出结果是( )
A、3 4 B、4 2 C、4 3 D、3 3
28.若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:( )
A、10<回车>22<回车> 33<回车> B、10.0,22.0,33.0<回车>
C、10.0<回车>22.0 33.0<回车> D、10 22<回车> 33<回车>
29.x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( )
A、INPUT x、y、z; B、scanf("%d%d%d",&x,&y,&z);
C、scanf("%d%d%d",x,y,z); D、read("%d%d%d",&x,&y,&z);
30.以下程序段的输出结果是( )
int a=1234;
printf("%2d\n",a);
A、12 B、34 C、1234 D、提示出错、无结果
31.设int b=2;表达式(b>>2)/(b>>1)的值是( )
A、0 B、2 C、4 D、8
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 x;float y;char z;}example;
则下面的叙述中不正确的是( )
A、struct是结构体类型的关键字 B、example是结构体类型名
C、x,y,z都是结构体成员名 D、struct ex是结构体类型名
34.以下程序的输出是( )
A、10 B、11 C、51 D、60
struct st
struct st
{ int x;int *y;} *p;
int dt[4]={ 10,20,30,40 };
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);
}
A、100 B、80 C、64 D、32
36.若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是( )
A、scanf("%d%d%d",&a,&b,d); B、scanf("%d%d%d",&a,&b,&d);
C、scanf("%d%d%d",a,b,d); D、scanf("%d%d%d",a,b,*d);
37.以下程序的输出结果是( )
main( )
{int a=5,b=4,c=6,d;
printf("%d\n",d=a>b?(a>c?a:c):(b));
}
A、5 B、4 C、6 D、不确定
38.设x,y,z和k都是int 型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值( )
A、4 B、16 C、32 D、52
39.当c的值不为0 时,在下列选项中能正确将c的值赋给变量a、b的是( )
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论