C语言程序设计理论试题库_第1页
C语言程序设计理论试题库_第2页
C语言程序设计理论试题库_第3页
C语言程序设计理论试题库_第4页
C语言程序设计理论试题库_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、语言程序设计理论试题库选择题100例选择题1.以下选项中属于C语言的数据类型是()A、复数型B、逻辑型C、双精度型D、集合型2.在C语言中,不正确的int 类型的常数是()A、32768B、0 C、037D、0xAF3.设有说明语句: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、BB、'010'C、-268 D、D6.在C语言中,合法的长整型常数是()A、

2、0LB、4962710C、324562&D、216D7.下列标识符中,合法的标识符是( ) A、-abc1B、1abcC、_abc1D、for8.C语言程序的基本单位是()A、语句B、 程序行C、函数D、字符9.以下叙述正确的是( )A、可以把define和if定义为用户标识符B、可以把define定义为用户标识符,但不能把if定义为用户标识符C、可以把if定义为用户标识符,但不能把define定义不用户标识符   D、define和if都不能定义为用户标识符10以下叙述正确的是( )A、可以把define和if定义为用户标识符B、可以把define定义为用户标识符

3、,但不能把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("%dn",fib(3);该程序的输出结果是()A、2B、 4C、 6D、8 17以下程序的输出结果是()A、 0B、 29C、 31D、 无定值fun(int x,int y,int z) z=x*x+y*y;main( ) int a=31;fun(5,2

4、,a);printf("%d",a);18当调用函数时,实参是一个数组名,则向函数传送的是()A、数组的长度 B、数组的首地址C、数组每一个元素的地址 D、数组每个元素中的值19以下只有在使用时才为该类型变量分配内存的存储类说明是()A、auto和staticB、auto和registerC、register和static D、extern和register20以下程序的输出结果是()A、1B、2C、3D、4long fun( int n) long s;if(n= =1 | n= =2)s=2;else s=n-fun(n-1)return s;main( ) print

5、f("%ldn",fun(3); 21以下程序的输出结果是()main( ) int num= 0;while(num<=2) num+; printf("%dn",num);A、 1B、1C、1D、l2 2 23 3422以下程序的输出结果是()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("%dn",a); A、20B、24C、25D、1523以下程序的输出结果是

6、()f(int b ,int m,int n) int i,s=0; for(i=m;i<n;i=i+2) s=s+bi; return s; main( ) int x,a =1,2,3,4,5,6,7,8,9; x=f(a,3,7); printf("%dn",x); A、10B、18C、8D、1524下列程序执行后的输出结果是()A、G B、H C、I D、Jmain( ) int x='f'; printf("%c n",'A'+(x-'a'+1); 25下列程序执行后的输出结果是()A、-3

7、2767 B、FFFE C、-1 D、-32768main( ) int x=0xFFFF; printf("%d n",x-); 26语句printf("abre'hi'yboun");的输出结果是( )A、abre'hi'ybou B、abre'hi'ybouC、re'hi'you D、abre'hi'ybou(说明:'b'是退格符)27有如下程序main( ) int y=3,x=3,z=1; printf("%d %dn",(+x,

8、y+),z+2); 运行该程序的输出结果是( )A、3 4B、4 2C、4 3D、3 328若变量已正确说明为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.033.0<回车> D、1022<回车> 33<回车>29x、y、z被定义为int型变量

9、,若从键盘给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("%2dn",a);A、12B、34C、1234D、提示出错、无结果31设int b=2;表达式(b>>2)/(b>>1)的值是( )A、0B

10、、2C、4D、832有如下定义( )struct personchar name9; int age;struct person class10= "Johu",17,"Paul",19,"Mary",18,"Adam",16;根据上述定义,能输出字母M的语句是( )A、 prinft("%cn",class3.mane);B、 pfintf("%cn",1);C、 prinft("%cn",1);D、 prin

11、tf("%cn",0);33设有以下说明语句struct ex int x;float y;char z;example;则下面的叙述中不正确的是( )A、struct是结构体类型的关键字 B、example是结构体类型名C、x,y,z都是结构体成员名 D、struct ex是结构体类型名34以下程序的输出是( )A、10B、11C、51D、60struct st int x;int *y; *p;int dt4= 10,20,30,40 ;struct st aa4= 50,&dt0,60,&dt0,60,&dt0,60,&a

12、mp;dt0;main( ) p=aa;printf("%dn",+(p->x);35以下程序的输出结果是( )main( ) char x=040; printf("%on",x<<1); A、100B、80C、64D、3236若有说明语句: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(&q

13、uot;%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("%dn",d=a>b?(a>c?a:c):(b); A、5B、4C、6D、不确定38.设x,y,z和k都是int 型变量,则执行表达式:x=(y=4,z=16,k=32)后,x的值( )A、4B、16C、32D、5239当c的值不为0 时,在下列选项中能正确将c的值赋给变量a、b的是()A、c=b=a;B、(a=c)|(b=c);C、(a=c)&am

14、p;&(b=c);D、a=c=b;40能正确表示a和b同时为正或同时为负的逻辑表达式是()A、(a>=0|b>=0)&&(a<0|b<0)B、(a>=0&&b>=0)&&(a<0&&b<0)C、(a+b>0)&&(a+b<=0)D、a*b>041语句:printf(%d,(a=2)&&(b=-2);的输出结果是()A、无输出B、结果不确定C、-1D、142设有 int x=11; 则表达式 (x+ * 1/3) 的值是()A、

15、3B、 4C、 11D、 1243设 int x=1, y=1; 表达式(!x|y-)的值是()A、0 B、 1 C、 2D、 -144C语言中运算对象必须是整型的运算符是()A、%= B、/ C、= D、=45若已定义x和y为double类型,则表达式x=1,y=x+3/2 的值是()A、1 B、2 C、2.0 D、2.5 46若有以下程序段int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是()A、0 B、0.5 C、1D、247能正确表示逻辑关系:“a10或a0”的C语言表达式是()A、a>=10 or a<=0B、a>=0|a<=1

16、0C、a>=10 &&a<=0D、a>=10a<=048.下程序的输出结果是()A、-1 1B、0 1C、1 0D、0 0main( ) int a= -1,b=1,k;if(+a<0)&& ! (b- <=0) printf("%d %dn",a,b);elseprintf("%d %dn",b,a); 49.若有定义: float w;int a,b;则合法的switch语句是()A、switch(w) B、switch(a) case 1.0:printf("*n&quo

17、t;); case 1printf("*n");case 2.0:printf("*n"); case 2printf("*n"); C、switch(b) D、switch(a+b) case 1:printf("*n"); case 1:printf("*n");default:printf("n"); case 2:printf("*n");case 1+2:printf("*n"); default:printf("n

18、"); 50.如下程序 main( ) int x=1,a=0,b=0; switch(x) case 0:b+;case 1:a+;case 2:a+;b+;printf("a=%d,b=%dn",a,b);该程序的输出结果是()A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=251.有如下程序main( ) float x=2.0,y;if(x<0.0)y=0.0;else if(x<10.0)y=1.0/x;elsey=1.0;printf("%fn",y);该程序的输出结果是( )A、0.000000B

19、、0.250000C、0.500000D、1.000000 52.有如下程序main( ) int a=2,b=-1,c=2;if(a<b)if(b<0)c=0;else c+;printf("%dn",c); 该程序的输出结果是( )53.若执行以下程序时从键盘上输入9,则输出结果是()A、11B、10C、9D、8main( ) int n;scanf("%d",&n);if(n+<10) printf("%dn",n);else printf("%dn",n-);54.阅读以下程序:m

20、ain( ) int x;scanf("%d",&x);if(x-<5)printf("%d",x);elseprintf("%d",x+);程序运行后,如果从键盘上输人5,则输出结果是()A、3B、4C、5D、655以下叙述正确的是()A、 do-while语句构成的循环不能用其它语句构成的循环代替。B、 do-while语句构成的循环只能用break语句退出。C、 用do-while语句构成的循环,在while后的表达式为非零时结束循环。D、 用do-while语句构成的循环,在while后的表达式为零时结束循环。5

21、6以下程序的输出结果是()A、10,1 9,2B、9,8 7,6C、10,9 9,0D、10,10 9,1 main( ) int x=10,y=10,i; for(i=0;x>8;y=+i)printf(%d,%d,x-,y); 57以下程序的输出结果是()A、2 0B、3 1C、3 2 1D、2 1 0main( ) int n=4;while(n-) printf("%d ",-n);58以下程序的输出结果是()A、#*#*# B、# C、* D、*#*#*main( ) int i;for(i=1;i<6;i+) if(i%2) printf("

22、;#");continue;printf("*");printf("n");59以下程序的输出结果是()A、编译不通过,无输出 B、acegC、acegiD、abcdefghimain( ) int i;for(i='A';i<'I';i+,i+) printf("%c",i+32);printf(" n");60以下循环体的执行次数是()A、3 B、2 C、1D、0main( ) int i,j;for(i=0,j=1; i<=j+1; i+=2, j-)pr

23、intf("%d n",i);61以下程序段的执行结果是()A、 a=12 y=12 B、a=12 y=12a=14 y=16 a=16 y=28a=16 y=20a=18 y=24C、 a=12 y=12D、a=12 y=12a=14 y=26 a=14 y=44int a,y;a=10;y=0;do a+=2;y+=a;printf("a=%d y=%dn",a,y);if(y>20) break; while(a=14);62有如下程序main( ) int i,sum;for(i=1;i<=3;sum+)sum+=i;printf(&

24、quot;%dn",sum);该程序的执行结果是()A、6B、3C、死循环D、063有如下程序main( ) int x=23;do printf("%d",x-);while(!x);该程序的执行结果是( )A、321B、23C、不输出任何内容D、陷入死循环 64有如下程序 main( ) int n=9;while(n>6) n-;printf("%d",n);该程序段的输出结果是( )A、987B、876C、8765D、987665有以下程序段int k=0;while(k=1)k+;while 循环执行的次数是()A、无限次B、有

25、语法错,不能执行C、一次也不执行D、执行1次66以下程序执行后sum的值是()A、 15B、14C、不确定D、0min( ) int i,sum;for(i=1;i<6;i+)sum+=i;printf("%dn",sum);67有以下程序段int x=3;do printf("%d",x-=2);while (!(-x);其输出结果是( )A、1B、3 0C、1 2D、死循环68t为int类型,进人下面的循环之前,t的值为0( )while( t=l ) 则以下叙述中正确的是A、循环控制表达式的值为0B、循环控制表达式的值为1C、循环控制表达式不

26、合D、以上说法都不对69以下循环中,while循环的次数是()main( ) int i=0; while(i<10) if (i<1) continue;if(i=5) break;i+;A、1B、10C、6D、死循环,不能确定次数70以下程序的输出结果是()main( ) int a=0,j; for(j=0;j<4;j+) switch( j ) case 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;printf("%dn",a);A、36B、13C、10D、2071下列程序的输出结果是()A、非法B、

27、a4的地址C、5D、3main( ) char a10=9,8,7,6,5,4,3,2,1,0,*p=a+5;printf("%d",*-p);72有如下程序段int a=14,b=15,x;char c='A';x=(a&&b)&&(c<'B');执行该程序段后,x的值为()A、tureB、falseC、0D、173.下列描述中不正确的是()A、 字符型数组中可以存放字符串B、 可以对字符型数组进行整体输入、输出C、 可以对整型数组进行整体输入、输出D、 不能在赋值语句中通过赋值运算符=对字符型数组进行

28、整体赋值74.执行下面的程序段后,变量k中的值为()A、不定值B、33C、30D、10int k=3,s2;s0=k;k=s1*10;75.设有数组定义:char array ="China"; 则数组 array所占的空间为( )A、4个字节 B、5个字节 C、6个字节 D、7个字节76.有如下程序 main( ) int n5=0,0,0,i,k=2;for(i=0;i<k;i+)ni=ni+1;printf("%dn",nk);该程序的输出结果是()A、不确定的值B、2C、1D、077.若有以下的定义:int t32;能正确表示t数组元素地址

29、的表达式是( )A、&t32B、t3C、t12D、t278.有如下程序main( ) int a33=1,2,3,4,5,6,i,j,s=0;for(i=1;i<3;i+)for(j=0;j<=i;j+)s+=aij;printf("%dn",s);该程序的输出结果是()A、18B、19C、20D、2179.以下程序的输出结果是()A、20B、21C、22D、23main( ) int i,k,a10,p3;k=5;for (i=0;i<10;i+)ai =i;for (i=0;i<3;i+)pi =ai *(i+1);for (i=0;i&

30、lt;3;i+)k+=pi *2;printf("%dn",k);80以下程序的输出结果是()A、1,5,9,B、1,4,7,C、3,5,7,D、3,6,9,main( ) inti,x33=1,2,3,4,5,6,7,8,9;for(i=0;i<3;i+)printf("%d,",xi2-i);81以下程序的输出结果是()A、ABCDB、ABCDC、EFGD、EFGHFGHEFGJK IJKLKLIJ OMmain( ) char w 10= "ABCD","EFGH","IJKL",&

31、quot;MNOP",k;for(k=1;k<3;k+)printf("%sn",wk);82当执行下面的程序时,如果输入ABC,则输出结果是()A、ABC6789B、ABC67C、12345ABC6D、ABC456789#include "stdio.h"#include "string.h"main( ) char ss10="1,2,3,4,5";gets(ss);strcat(ss,"6789");printf("%sn",ss);83以下程序段的输出

32、结果是()char s = "141141abct";printf("%dn",strlen(s);A、9B、12C、13D、1484若有定义:int aa8;。则以下表达式中不能代表数组元素aa1的地址的是( )A、&aa0+1B、&aa1C、&aa0+D、aa+185以下程序的输出结果是()main( ) char cf35= "AAAA","BBB","CC"; printf(""%s"n",ch1); A、"AAA

33、A"B、"BBB"C、"BBBCC"D、"CC"86以下不能正确进行字符串赋初值的语句是()A、char str5= "good!";B、char str = "good!";C、char *str="good!";D、char str5= 'g','o','o','d';87以下程序的输出结果是() main( ) int b33=0,1,2,0,1,2,0,1,2,i,j,t=1; for(i=0;

34、i<3;i+)for(j=i;j<=i;j+) t=t+bibjj; printf("%dn",t); A、3B、4C、1D、988以下程序的输出结果是()A、52B、51C、53D、97 Main( ) int I,x33=9,8,7,6,5,4,3,2,1,*p=&x11; for(I=0;I<4;I+=2) printf(%d,pI); 89以下程序的输出结果是()A、6B、6789C、6D、789 main( ) char a10='1','2','3','4','5&

35、#39;,'6','7','8','9',0,*p; int i;i=8;p=a+i;printf("%sn",p-3); 90以下程序的运行结果是( )A、运行后报错B、6 6 C、6 12 D、5 5#include "stdio.h"main( )int a =1,2,3,4,5,6,7,8,9,10,11,12,;int *p=a+5, *q=NULL;* q=*(p+5);printf("%d %d n",*p,*q);91若已定义:int a9,*p=a;并在

36、以后的语句中未改变p的值,不能表示a1 地址的表达式是( )A、p+1B、a+1C、a+D、+p92若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是( )A、*p=&a; scanf("%ld",p);B、p=(long *)malloc(8); scanf("%ld",p);C、scanf("%ld",p=&a);D、scanf("%ld",&a);93若有以下的说明和语句,则在执行for语句后,*(*(pt+l)+2)表示的数组元素是( )A、t20 B、t22C、tl2D、t2lint t33, *pt(3, k;for (k=0;k<3;k+) ptk=&tk0;94下面程序把数组元素中的最大值放入a0中,则在if 语句中的条件表达式应该是( )A、p>a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论