C语言第1 9章基本概念练习题ans最全_第1页
C语言第1 9章基本概念练习题ans最全_第2页
C语言第1 9章基本概念练习题ans最全_第3页
C语言第1 9章基本概念练习题ans最全_第4页
C语言第1 9章基本概念练习题ans最全_第5页
已阅读5页,还剩13页未读, 继续免费阅读

付费下载

下载本文档

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

文档简介

1、第一单元( 1-5 章)基本概念练习题 一、单选选择(直接在正确的选项上打勾,每题)1、下面关于 C 语言特点的描述,不正确的是 ( )。 D A 、 C 语言兼有高级语言和低级语言的双重特点,执行效率高B、C 语言既可以用来编写应用程序,又可以用来编写系统软件C、C 语言是一种结构式模块化程序设计语言D 、C 语言的可移植性较差2、C语言规定,在一个源程序中, main函数的位置()。BA 、必须在最开始B 、可以任意C、必须在最后D、必须在系统调用的库函数的后面3、下列说法中正确的是 ()。 CA 、 C 程序书写时,不区分大小写字母B、C程序书写时,一行只能写一个语句C、C程序书写时,一

2、个语句可分成几行书写D、C程序书写时每行必须有行号4、C 语言编译程序的首要工作是 ( A 、 检查 C 语言程序的语法错误 C、 检查程序的完整性)。 AB、 检查 C 语言程序的逻辑错误D 、 生成目标文件5、C 语言程序经过连接以后生成的文件名的后缀为 ()。 CD 、 .cppA 、 .cB 、 .objC 、 .exe6、以下关于算法的说法中,错误的是 ()。DA 、一个算法应包含有限个步骤B、在计算机上实现的算法是用来处理数据对象的C、算法的目的是为了求解D、算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现7、算法是指为解决某个特定问题而采取的确定且有限的步骤,下面不属

3、于算法的五个特性之一的是()。 CA 、 确定性B、 有穷性C、零个或多个输出D、零个或多个输入8、以下不属于结构化程序设计三种基本结构之一的是()。 BA 、 顺序B、 递归C、 循环D、选择9、下列数据中,不合法的 C 语言实型数据是 ()。 CA 、 0.123B、 123e3C 、 2.1e3.5D、789.010、若变量 a、i 已正确定义,且 i 已正确赋值,以下属于合法的C 语句是 ()。A、 a=1B、 +i;C、 a=a+=5;D、a=int(i);11、已有定义 int a=6; 则执行语句 a+=a-=a*a; 后, a 的值为 ()。 DA 、 36B、 0C、 -24

4、D、-6012、若有以下程序段,其输出结果是()。Bint a= 0, b = 0, c = 0;c = ( a-= a - 5), (a -= 3,+b);printf(“ %d,%d,n%”d,a, b, c);A 、 0,0,-10B、 2,1,5C、 -10,-3,-10D、3,3,-1013、有以下定义:int i = 10, j = 1; 执行语句printf(%d,%dn,i-, +j);后输出结果是 ()。 BA 、 9,2B、 10,2C、 9,1D、10,114、字符串 t065xffn 的长度为 ()。 AA、5B、 14C、8D、输出项不合法,无正常输出15、 已有定义

5、:char c;执行赋值语句c=(z-a)/2+A:后,变量c的值为()。AA、 MB、 NC、 OD、 Q16、以下 4 个选项中,不能看做一条语句的是 ()。 DA、;B、a=5,b=2.5,c=3.6;C、if(a5);D、if ( b!=5) x=2;y=6;17、设a、b和c都是int变量,且a=3, b=4, c=5;则以下的表达式中,值为 0的表达式是()。DA 、 a&bB、 a=bC、 a|b+c&b-cD、 !(a=30?b:c;switch(d) case 30 : printf(%d,a); case 40 : printf(%d,b); case 50 : print

6、f(%d,c);break; default : printf(#);D、 #A 、 304050#B、 304050C、 405021、以下程序的输出结果是 ()。 Bmain() int a, b, c, x=35;a = b = c = 0; x = 35; if(!a)x-;else if(b) ;if(c)x = 3;elsex = 4; printf(%dn,x);A 、 35B、4C、D、3422、当c的值不为0时,能正确将c的值赋给变量B 、(a=c)|(b=c)23、若变量已定义为 float 型,要通过语句 scanf(下列不正确的输入形式是 ()。 BA、10回车22回车

7、 33回车C、10.0空格22.0 空格33.0回车24、 下面程序段的输出结果是()。 Aint x=1,y=10; if( x=y ) printf(AAA); else printf(BBB);A 、 AAAB、 BBB25、 下面程序段的输出结果是(for (x=9 ;x0;x-)if (x%3 !=0)A 、 c=b=a)。Aprintf(%d,-x); continue;3a和b的选项是()。CC 、(a=c)&(b=c)D 、 a=c=b%f%f%f ,&a,&b,&c);给 a 赋予 10.0, b 赋予 22.0, c 赋B、D、C、33.0,10.0,22.0,33.010

8、 2233AAABBBD 、 不确定A 、 74126、对以下循环:A 、无限循环27、在下列程序中, main( ) B、852 for(a=0,b=0;(b!=123)&(a=4);a+);B、循环次数不定while 循环的循环次数是963 说法正确的是C、执行4次() 。 DC、D 、875421)。 DD、执行5次int i=0; while(i10) if(i1) continue; if(i=5) break;i+;A、 128、以下程序的输出结果是 ( main() int i=0,a=0;while(i20) for(;) if(i%10)= =0)break;else i-;

9、B、 10)。 BC、6D、死循环、不能确定次数 i+=11; a+=i;printf(%dn,a);A 、21B 、 32C、 33D、 1129、当输入为quert?时,下面程序的执行结果是()。Cmain() while(putchar(getchar()!=?); A 、 quertB、 RvfsuC、 quert?D、 rvfsu?30、以下能正确计算 1X 2 x 3 x-x 10的程序段是()。A 、 doi=1;s=1; s=s*i; B 、 doi=1;s=0; s=s*i; C 、 i=1;s=1;dos=s*i; D、 i=1;s=0;dos=s*i;i+; while(

10、i=10); i+; while(i=10); i+; while(i=10); i+; while(i=10);二、绘制 NS 算法流程图(1)输入 10个数,求其中的最大值。(2) 输入 2 个数,求它们的最大公约数。第 6 章- 数组基本概念练习题1、 在C语言中,引用数组元素时,其数组下标的数据类型允许是()。A、floatB、intC、doubleD 任何类型答案 :B2、 以下对一维整型数组a 的正确定义是 ( )。A、 int a(10);B、 int n=10,an;C、 int n; scanf(“%d”,&n); int an;D、 #define SIZE 10int a

11、SIZE;答案 :D3、以下能对一维数组 a 进行正确初始化的语句是 ( ) 。A、int a10=(0,0,0,0,0); B、int a10= ;C、int a=0; D、int a10= abcdefg;答案 :C4、不能给数组的首元素赋值的语句是( ) 。A、int a2=1;B、int a2=1*2; C、int a2;scanf (“%d”,a);D、int a2;a1=1;答案 :D5、下面程序的运行结果是 ( ) 。main() int a6,i;for(i=1;i3)%5;A、 -4 0 4 0 4B、printf(%2d,ai);-4 0 4 0 3C、 -4 0 4 4

12、3D、 -4 0 4 4 0答案 :C6、下列定义正确的是( )。A、 int a4=1,2,3,4,5;B、 int b=2,5;C、 int a(10);D、 int 4e4;答案 :B7、若有说明 int a4=0,0;则下列叙述不正确的是( ) 。A、 数组a的每个元素都可以得到初值0。B、二维数组a的第一维的大小为1。C、数组a的行数为1,但是有4个元素。D、只有兀素a00和 a01 可得到初值 0,其余元素均得不到初值答案 :D8、设有 char str10;下列语句正确的是 ( )。A、 scanf(%s,&str);B、 printf(%c,str);C、 printf(%s,

13、str0);D、 printf(%s,str);答案 :D9、下列说法正确的是( ) 。A、在C语言中,可以定义元素个数可变的数组。B、在C语言中,数组元素的个数可以不确定,允许随机变动。C、在C语言中,数组元素的数据类型可以不一致。D、在C语言中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数。 答案 :D10、假设 array 是一个有 10个元素的整型数组,则下列写法中正确的是 ( )。A、 array0=10 ;B、 array=0 ;C、 array10=0 ;D、 array-1=0 ;答案 :A11、 分析下列程序运行后,输出的结果是( )。main() int

14、n3,i,j,k;for(i=0;i3;i+)ni=0;k=2;for(i=0;ik;i+)for(j=0;jk;j+)nj=ni+1;printf(%dn,n1);A、 2B、 1C、 0D、 3答案 :D12、若有以下定义 :int a5= 5, 4, 3, 2, 1 ; char b=a, c, d, e;则下面表达式中数值为 2 的是 ( )。A、a 3B、a e - c答案 :A13、下面几个字符串处理表达式中能用来把字符串A、 strcat(str1,str2);B、答案 :A14、设有两字符串“ Beijing ” 连接到“ Beijing ”之后的为 ( A、 strcpy(s

15、tr1,str2);C、 strcat(str1,“ China ” );答案 :C15、若有如下定义 : ,则下列语句的输出结果int a33=1,2,3,4,5,6,7,8,9for (i=0;i 2) return(fib( n-1)+fib( n-2);else return(2); mai n() printf( “d n” ,fib(3);A2B4C64. 有以下程序,执行后输出的结果是 。void f(int x,i nt y) int t;if(xy) t=x; x=y; y=t; main () int a=4,b=3,c=5;f(a,b); f(a,c); f(b,c);p

16、rintf(%d,%d,%dn,a,b,c); 该函数调用语句中,含有的实参个数D)有语法错D) 15D 8A) 3,4,5B) 5,3,4C) 5,4,35.以下函数的功能是:通过键盘输入数据,为数组中的所有兀素赋值。#defi ne N 10void arrin (i nt xN)int i=0;while(iy)?x:y; retur n( z); f2(i nt x, i nt y) int z; z=(xy)?x:y; retur n( z); A) 3,4,5 B) 5,3,4 C) 5,4,3D)3,5,49. 以下程序的输出结果是 。int f(void) static int

17、 i = 0;int s =1;s += i;i+;return (s); main () int i, a = 0;for (i=0; i5; i+) a += f();printf( “ dn” , a);A) 1 B) 0 C)非 0 的数 D) - 110. 以下C语言中,对函数不正确的描述是 。A) 当用数组名作形参时,形参数组改变可使实参数组随之改变B) 允许函数递归调用C) 函数形参的作用范围只是局限于所定义的函数内D) 函数说明必须在主调函数之前11. 以下所列的各函数首部中,正确的是 。A) void play(var :ln teger,var b:I nteger)B)

18、void play(i nt a,b)C) void play(i nt a,i nt b)D) Sub play(a as in teger,b as in teger)12. 以下叙述中不正确的是 。A) 在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。B) 在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。C) 在C中,外部变量的隐含类别是自动存储类别。D) 在C中,函数形参可以说明为register 变量。13. 以下对C语言函数的有关描述中,正确的是 。A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参B) C函数既可以嵌套定义又可以递

19、归调用C) 函数必须有返回值,否则不能使用函数D) C程序中有调用关系的所有函数必须放在同一个源程序文件中o返回一个不确定的值)BC(i nt x, int y)14. 一个数据类型为void的函数中可以没有return语句,那么函数的被调用时A)没有返回值 B)返回一个系统默认值C)返回值由用户临时决定 D)15. 在下面的函数声明中,存在着语法错误的是 。A) BC(int a, int) ; B ) BC(int , int) ; C ) DC(int , int=5) ; D16. 以下函数值的类型是 。fun ( float x ) float y;y= 3*x-4;return y

20、;A) int B )不确定 C ) void D ) float17. 下面程序的输出结果是:。int m=13;int fun( int x, int y) int m=3;return( x*y-m);mai n() int a=7,b=5;printf( “ dn” , fun(a,b)/m); 则下面叙述正确的是。B)数组a中每个元素均可得到初值0。A) 1 B ) 2 C ) 7 D ) 1018. 若有说明语句:static int a34=0;A)只有a00元素可得到初值 0;C)数组a中各元素都可得到初值,但值不一定为 0;D)此说明语句不正确19. 以下不正确的说法为 。A

21、) 在不同函数中可以使用相同名字的变量。B) 形式参数是局部变量。C) 在函数内定义的变量只在本函数范围内有效。D) 在函数内的复合语句中定义的变量在本函数范围内有效。20. 凡是函数中未指定存储类别的局部变量,其隐含的存储类别为 。A)自动(auto)B)静态(static 、C)外部(extern ) D )寄存器(register )21. 下面程序的输出结果是: 。int f( int a) int b=0;static int c=3;b+; C+;retur n (a+b+c);mai n() int a=2, i;for(i=0;i 2) return(fib( n-1)+fib

22、( n-2);else return(2);mai n() printf( “%d n” ,fib(3);A) 2B) 4C) 6D) 825. 有以下程序,执行后输出的结果是 。void f(int x,i nt y) int t;if(xy) t=x;x=y;y=t; main () int a=4,b=3,c=5;f(a,b); f(a,c); f(b,c);prin tf(%d,%d,%dn,a,b,c);A) 3,4,5B) 5,3,4C) 5,4,3D 4,3,526. 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值,在下划线处应填入的#define N 10void

23、arrin (i nt xN) int i=0;while(iN)scanf(%d,); A) x+iB、&xi+1C) x+(i+)D)&x+i27. 以下叙述中正确的是 。A) 全局变量的作用域可以扩展到所有文件。B) 静态(statiC )类别变量的生存期贯穿于整个程序的运行期间。C) 函数的形参都属于全局变量。D) 未在定义语句中赋初值的auto变量和static变量的初值都是随机值28. 以下程序的输出结果是 。int f() static int i = 0;int s =1;s += i;i+;return (s);main ()int i, a = 0;for (i=0; ib

24、) c=1;else if(a=b) c=0;else c=-1;return(c); A) 1,0B) 2,0C) 2,-1D) 1,130. 以下函数值的类型是。fun ( float x ) float y;y= 3*x_4;return y; A) intB)不确定C) voidD) float第8章指针基本概念练习题1有以下程序:编译时出现错误,以下叙述中正确的是main () char a,b,c,*d;a=; b=xbc;c=0xab; d=0127; prin tf(%c%c%c%cn,a,b,c,*d);A)程序中只有a=;语句不正确。C)d=0127;语句不正确。B)b=x

25、bc;语句不正确。 D)a=:和c=0xab:语句都不正确。2若有如下一些定义和语句,则下列四个选项中错误的语句是int a=4,b=3,*p,*q,*w; p=&a; q=&b; w=q; q=NULL;A) *q=0;B) w=p;C) *p=&a;3.对于基类型相同的两个指针变量之间,不能进行的运算是A)=0;ps-) puts(ps);A) yzxyzC) w,one。C) 5。D)*p=*w;。D)-D) o,twoD) 6B) zyz7. 有如下说明int a10=1,2,3,4,5,6,7,8,9,10,*p=a;A) *p+9B) *(p+8)8. 有如下程序段,执行该程序段后

26、,int *p,a=10,b=1;p=&a; a=*p+b;A) 12a的值为B) 11C) zyzxyz则数值为C) *p+=9D) x xy xyz9的表达式是。D) p+8C) 10i =j;等价的语句是:B) i = *p C) i=&j ; D) i=*p*p1,*p2;则其中int所指的是B) *p1和*p2的类型9. 若有说明:int i, j , *p=&i ;则下面语句中与A) *p=*&j ;10. 若有如下语句:intA) p1的类型D)编译出错 。4、以下程序运行后的输出结果是( )。C) p2的类型D) pl和p2所能指向变量的类型11.执行以下程序后,a的值为。in

27、t *p, a = 10, b=1;p = &a;a = *p*b;A) 12B)编译出错C) 10D) 112. 已定义:int a9,A) p+113. 以下程序段的输出结果是 ochar a = 9, 8, 7, 6, 5, 4, 3, 2, 1,0, *p = a+5; printf( %d”,*-p);A)非法B) a4的地址14. 若有以下定义和语句,则输出结果是 int *pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;pri ntf(%d,%dn,*p,*pp); A)10,20B)10,10C)20,1015. 若有以下定义和语句,则输出结果为 ochar *

28、sp= tbOE nglishn printf( %d,strlen(sp);A)12B)316. 以下程序输出的结果是main ()*p=a;并在以后的语句中未改变 p的值,则不能表示 a1地址的表达式是B) a+1旦C) a+D) +pC)17oC) 3D) 5D)13D)20,20int a=5,*p1,*p2; p1= &a,p2=&p1; (*p1)+;printf( %dn ,*p2);A)17.设有:void f1(intA)f1(a,b);B)* m ,B)4long n); int a ; f1(&a,b);C)long b ;C)6D) 不确定则以下函数调用合法的是 of1

29、(a, &b) ;D) f1(&a , &b);第9章-结构体基本概念练习题1、设有如下定义,则对 data中的a成员的正确引用是(struct sk int a; float b; data,*p=&data;A) (*p).data.a B) (*p).a)oD) p.data.a2、当定义一个结构体变量时,系统分配给它的内存容量是A)各成员所需内存量的总和C)成员中占内存量最大者所需的容量3、 以下程序运行后的输出结果是(struct STU char num10; float score3; main ();C) p-data.a(B )结构中第一个成员所需内存量D) 结构中最后一个成员所需内存量)ostruct STU s3=20021,90,95,85,

温馨提示

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

评论

0/150

提交评论