C语言第19章基本概念练习题ans最全

上传人:仙*** 文档编号:45462537 上传时间:2021-12-07 格式:DOC 页数:16 大小:103.50KB
收藏 版权申诉 举报 下载
C语言第19章基本概念练习题ans最全_第1页
第1页 / 共16页
C语言第19章基本概念练习题ans最全_第2页
第2页 / 共16页
C语言第19章基本概念练习题ans最全_第3页
第3页 / 共16页
资源描述:

《C语言第19章基本概念练习题ans最全》由会员分享,可在线阅读,更多相关《C语言第19章基本概念练习题ans最全(16页珍藏版)》请在装配图网上搜索。

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

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

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

4、 c = 0; c = ( a -= a - 5), (a -= 3,+b); printf(“%d,%d,%dn”,a, b, c);A、0,0,-10 B、2,1,5 C、-10,-3,-10 D、3,3,-1013、有以下定义:int i = 10, j = 1; 执行语句printf(%d,%dn,i-, +j); 后输出结果是( )。B A、9,2 B、10,2 C、9,1 D、10,114、字符串t065xffn的长度为( )。AA、5 B、14 C、8 D、输出项不合法,无正常输出15、已有定义:char c;执行赋值语句c=(z-a)/2+A;后,变量c的值为( )。A精品.A

5、、M B、N C、O D、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&b B、a=b C、a|b+c&b-c D、!(a=30?b:c; switch(d) case 30 : printf(%d,a); case 40 : printf(%d,b); case 50 : printf(%d,c);break; default : printf(#); A、304050# B

6、、304050C、4050 D、#21、以下程序的输出结果是( )。B精品.main() int a, b, c, x=35; a = b = c = 0; x = 35; if(!a) x-; else if(b) ; if(c) x = 3; else x = 4; printf(%dn,x);A、35 B、4C、3D、3422、当c的值不为0时,能正确将c的值赋给变量a和b的选项是( )。CA、 c=b=a B、 (a=c)|(b=c) C、 (a=c)&(b=c) D、 a=c=b23、若变量已定义为float型,要通过语句scanf(%f%f%f,&a,&b,&c);给a赋予10.0

7、,b赋予22.0,c赋予33.0,下列不正确的输入形式是( )。BA、 102233 B、 10.0,22.0,33.0 C、 10.022.0 33.0 D、 10 2233 24、下面程序段的输出结果是( )。Aint x=1,y=10;if( x=y ) printf(AAA);else printf(BBB);A、 AAAB、 BBBC、 AAABBBD、 不确定25、下面程序段的输出结果是( )。Afor (x=9 ;x0;x-)if (x%3!=0) printf(%d,-x); continue; A、 741B、 852C、 963D、 87542126、对以下循环:for(a

8、=0,b=0;(b!=123)&(a=4);a+);说法正确的是( )。DA、无限循环B、循环次数不定C、执行4次D、执行5次27、在下列程序中,while循环的循环次数是( ) 。Dmain( ) int i=0; while(i10) if(i1) continue; if(i=5) break; i+; .A、1B、10C、6D、死循环、不能确定次数28、以下程序的输出结果是( )。Bmain()精品. int i=0,a=0; while(i20) for(;) if(i%10)= =0) break; else i-; i+=11; a+=i; printf(%dn,a);A、21

9、B、32 C、33 D、1129、当输入为quert?时,下面程序的执行结果是( )。Cmain()while(putchar(getchar()!=?); A、quertB、RvfsuC、quert?D、rvfsu?30、以下能正确计算12310的程序段是( )。A、doi=1;s=1; s=s*i; i+; while(i=10);B、doi=1;s=0; s=s*i; i+; while(i=10);C、i=1;s=1;dos=s*i; i+; while(i=10);D、i=1;s=0;dos=s*i; i+; while(i=10);二、绘制NS算法流程图(1)输入10个数,求其中的

10、最大值。 (2) 输入2个数,求它们的最大公约数。精品.第6章-数组 基本概念练习题1、在C语言中,引用数组元素时,其数组下标的数据类型允许是( )。A、float B、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 aSIZE;答案:D3、以下能对一维数组a进行正确初始化的语句是( )。A、int a10=(0,0,0,0,0); B、int a10= ;C、int a=0; D、int a10=

11、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;printf(%2d,ai); A、-4 0 4 0 4B、-4 0 4 0 3C、-4 0 4 4 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=

12、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,str0);D、printf(%s,str);答案:D9、下列说法正确的是( )。A、在C语言中,可以定义元素个数可变的数组。B、在C语言中,数组元素的个数可以不确定,允许随机变动。C、在C语言中,数组元素的数据类型可以不一致。D、在C语言

13、中,定义了一个数组后,就确定了它所容纳的具有相同数据类型元素的个数。答案:D10、假设array是一个有10个元素的整型数组,则下列写法中正确的是( )。A、array0=10;B、array=0;C、array10=0;D、array-1=0;答案:A11、分析下列程序运行后,输出的结果是( )。main() int 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 ;

14、 char b= a, c, d, e;则下面表达式中数值为2的是( )。A、a 3B、a ecC、a d-bD、a e-b答案:A13、下面几个字符串处理表达式中能用来把字符串str2连接到字符串str1后的一个是( )。A、strcat(str1,str2);B、strcat(str2,str1);C、strcpy(str1,str2);D、strcmp(str1,str2);答案:A14、设有两字符串“Beijing”、“China”分别存放在字符数组str120,str220中,下面语句中能把“China”连接到“Beijing”之后的为( )。A、strcpy(str1,str2);

15、B、strcpy(str1, “China”);C、strcat(str1,“China”);D、strcat(“Beijing”,str2);答案:C15、若有如下定义:,则下列语句的输出结果是( )。 int a33=1,2,3,4,5,6,7,8,9,i ; for (i=0;i2) return(fib(n-1)+fib(n-2); else return(2); main( ) printf(“%dn”,fib(3); A2 B4 C6 D 84.有以下程序,执行后输出的结果是 。void f(int x,int y) int t;if(xy) t=x; x=y; y=t; main

16、()int a=4,b=3,c=5;f(a,b); f(a,c); f(b,c);精品.printf(%d,%d,%dn,a,b,c); A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,55.以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。在下划线处应填入的是 。#define N 10void arrin(int xN) int i=0;while(iy)?x:y; return(z); f2(int x, int y)int z; z=(xy)?x:y; return(z); A) 3,4,5 B) 5,3,4 C) 5,4,3 D)3,5,49.以下程序的

17、输出结果是 。 int f(void) static int 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 :Int

18、eger,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)精品.12.以下叙述中不正确的是 。A) 在C中,函数中的自动变量可以赋初值,每调用一次,赋一次初值。B) 在C中,在调用函数时,实在参数和对应形参在类型上只需赋值兼容。C) 在C中,外部变量的隐含类别是自动存储类别。D) 在C中,函数形参可以说明为register变量。13.以下对C语言函数的有关描述中,正确的是 。A) 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给

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

20、return y;A) int B) 不确定 C) void D) float17. 下面程序的输出结果是: 。int m=13;int fun( int x, int y) int m=3; return( x*y-m); main( )int a=7,b=5; printf(“%dn”, fun(a,b)/m); A)1 B)2 C)7 D)1018. 若有说明语句:static int a34=0; 则下面叙述正确的是 。A)只有a00元素可得到初值0;B)数组a中每个元素均可得到初值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+; return (a+b+c); main( ) int a=2, i;for(i=0;i2) return(fib(n-1)+fib(n-2);

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

23、nt 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) c=1; else if(

24、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;printf(%c%c%c%cn,a,b,c,*d);A)程序中只有a=;语句不正确。B)b=xbc;语句不正确。C)d=0127;语句不正确。D)a=;和 c

25、=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;D) *p=*w;3. 对于基类型相同的两个指针变量之间,不能进行的运算是 。A)=0;ps-) puts(ps);A) yz B) zC) z D) x xyz yz yz xy xyz xyz7. 有如下说明 int a10=1,2,3,4,5,6,7,8,9,10,*p=a; 则数值为9的表达式是 。A) *p+9 B) *(p+8) C) *p+=9 D) p+88

26、. 有如下程序段,执行该程序段后,a的值为 。int *p,a=10,b=1; p=&a; a=*p+b; A) 12 B) 11 C) 10 D) 编译出错9. 若有说明:int i, j , *p=&i ;则下面语句中与i =j;等价的语句是: 。A)*p=*&j ; B)i = *p C)i=&j ; D)i=*p10. 若有如下语句: int *p1,*p2;则其中int所指的是 。A)p1的类型 B)*p1和*p2的类型 C)p2的类型 D)p1和p2所能指向变量的类型11. 执行以下程序后,a的值为 。 int *p, a = 10, b=1; p = &a; a = *p*b;A

27、) 12 B) 编译出错 C) 10 D) 112. 已定义:int a9,*p=a;并在以后的语句中未改变p的值,则不能表示a1地址的表达式是 。A) p+1 B) a+1 C) a+ D) +p13. 以下程序段的输出结果是 。 char a = 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, *p = a+5;printf(“%d”, *-p); A) 非法 B) a4的地址 C) 3 D) 514. 若有以下定义和语句,则输出结果是 。int *pp,*p,a=10,b=20;pp=&p;p=&a;p=&b;printf(%d,%dn,*p,*pp);A)10,20 B)1

28、0,10 C)20,10 D)20,2015. 若有以下定义和语句,则输出结果为 。char *sp=”tb0Englishn”;printf(“%d”,strlen(sp);A)12 B)3 C)17 D)1316. 以下程序输出的结果是 。main() int a=5,*p1,*p2; p1=&a,p2=&p1; (*p1)+;精品. printf(“%dn”,*p2);A) 5 B) 4 C) 6 D) 不确定17. 设有:void f1(int * m,long n);int a;long b;则以下函数调用合法的是 。A)f1(a,b); B)f1(&a,b); C)f1(a,&b)

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

30、truct STU s3=20021,90,95,85,20022,95,80,75,20023,100,95,90,*p=s; int i; float sum=0; for (i=0;iscorei; printf(%6.2fn,sum);A)260.00B) 270.00C)280.00D)285.004、以下程序运行后的输出结果是( )。struct STU char num10; float score3; ;main() struct STU s3=20021,90,95,85,20022,95,80,75,20023,100,95,90; int i;float sum=0; f

31、or (i=0;i3;i+) sum=sum+si.scorei; printf(%6.2fn,sum);A) 260.00B) 270.00C) 280.00D) 285.005、若程序中有下面的说明和定义:struct stt int x;char b; struct stt a1,a2;则会发生的情况是( ) 。A)程序将顺利编译、连接、执行。B)编译出错。C)能顺利通过编译、连接,但不能执行。D)能顺利通过编译,但连接出错。6、设有如下说明语句,则以下叙述不正确的是( )。struct stu精品.int a;float b; stutype;A)struct是结构体类型的关键字B)s

32、truct stu是用户定义的结构体类型C)stutype是用户定义的结构体类型名D)a和b都是结构体成员名1-9章基本概念练习题参考答案第1-5章123456789101112131415DBCACDCBCBDBBAA161718192021222324252627282930DDCDCBCBAADDBCC注:第21题的B、D项重复了,将D项改为34第6章 数组123456789101112BDCDCBDDDADA1314151617181920212223ACACCDDDCCC第7章 函数123456789101112131415ADBDCCBCCDCCAAC161718192021222324252627282930精品.ABBDADADBDCBCBA注: 第23、25、27、30题分别与第2、4、7、16题相同第8章 指针1234567891011121314151617DCCCBCBBADCCDDBCB第9章 结构体123456BABABC如有侵权请联系告知删除,感谢你们的配合!精品

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!