C语言各章节复习题(带答案)

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

一、C语言概述练习题选择1.一个C程序的执行是从。A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序文件的第一个函数开始,到本程序main函数结束D)本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是。A)一个C源程序必须包含一个main函数B)一个C源程序可由一个或多个函数组成C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是。A)在对一个C程序进行编译的过程中,可发现注释中的拼写错误B)在C程序中,main函数必须位于程序的最前面C)C语言本身没有输入输出语句D)C程序的每行中只能写一条语句4.一个C语言程序是由。A)一个主程序和若干个子程序组成B)函数组成C)若干过程组成D)若干子程序组成5.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是。A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对6.以下叙述中错误的是。A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件7.以下叙述正确的是。A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为x=(i=4,j=16,k=32)A)4B)16C)32D)522.下列四组选项中,均不是C语言关键字的选项是。A)defineIFtypeB)getccharprintfC)includecasescanfD)whilegopow3.下列四组选项中,均是不合法的用户标识符的选项是。A)WP_0doB)b-agotointC)floatla0_AD)-123abcTEMP4.下列四组选项中,均是合法转义字符的选项是。A)‘\”’‘\\’‘\n’B)‘\’‘\017’‘\”’C)‘\018’‘\f’‘xab’D)‘\\0’‘\101’‘xlf’5.下面不正确的字符常量是。A)“c”B)‘\\’’C)‘’D)‘K’6.以下叙述不正确的是。A)在C程序中,逗号运算符的优先级最低B)在C程序中,MAX和max是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7.以下叙述正确的是。A)在C程序中,每行只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,%是只能用于整数运算的运算符(字符型也可以)D)在C程序中,无论是整数还是实数,都能被准确无误地表示8.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为。A)DB)68C)不确定的值D)C9.sizeof(float)是。A)一个双精度型表达式B)一个整型表达式C)一种函数表达式D)一个不合法的表达式10.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为。A)0~255B)0~32767C)0~65535D)0~214748364711.设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为。A)floatB)charC)intD)double12.设以下变量均为int类型,则值不等于7的表达式是。A)(x=y=6,x+y,x+1)B)(x=y=6,x+y,y+1)C)(x=6,x+1,y=6,x+y)D)(y=6,y+1,x=y,x+1)13.下列变量定义中合法的是。A)short_a=015;B)doubleb=e2.5;C)longdo=0xfdaL;D)float2_and=1e-3;14.有以下程序#includestdio.hmain(){intx=011;printf(%d\n,++x);}程序运行后的输出结果是。A)12B)11C)10D)9填空1.若有以下定义,intm=5,y=2;则计算表达式y+=y-=m*=y后的y值是【1】。-162.在C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为【2】。-32768~327673.若s是int型变量,且s=6,则下面表达式s%2+(s+1)%2的值为【3】。14.若a是int型变量,则下面表达式(a=4*5,a*2),a+6的值为【4】。265.若x和a均是int型变量,则计算表达式(1)后的x值为【5】,计算表达式(2)后的x值为【6】。412(1)x=(a=4,6*2)(2)x=a=4,6*26.若a是int型变量,则计算下面表达式a=25/3%3后a的值为【7】。27.若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为【8】,n的值为【9】。106x+=n++//若改为x+=++n则计算后X为,n为1168.若有定义:charc=‘\010’;则变量c中包含的字符个数为【10】。19.若有定义:intx=3,y=2;floata=2.5,b=3.5;则下面表达式(x+y)%2+(int)a/(int)b的值为【11】。110.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=‘a’+‘8’-‘3’的值为【12】。f三、简单的C程序设计选择1.putchar函数可以向终端输出一个。A)整型变量表达式B)实型变量值C)字符串D)字符或字符型变量值2.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式B;如果字符串长度小于5,则输出按方式C。A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字符串,左补空格D)输出错误信息3.阅读以下程序,当输入数据的形式为:25,13,10CR(注:CR表示回车),则正确的输出结果为。main(){intx,y,z;scanf(“%d%d%d”,&x,&y,&z);printf(“x+y+z=%d\n”,x+y+z);}A)x+y+z=48B)x+y+z=35C)x+z=35D)不确定值4.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为。main(){charch1,ch2,ch3;输入语句printf(“%c%%c”,ch1,ch2,ch3);}输出形式:ABC输入形式:ABCA)scanf(“%c%c%c”,&ch1,&ch2,&ch3);B)scanf(“%c,%c,%c”,&ch1,&ch2,&ch3);C)scanf(“%c%c%c”,&ch1,&ch2,&ch3);D)scanf(“%c%c”,&ch1,&ch2,&ch3);5.已知ch是字符型变量,下面不正确的赋值语句是。A)ch=‘a’+’b’;B)ch=‘\0’;C)ch=‘7’+‘9’;D)ch=5+9;6.以下关于结构化程序设计的叙述中正确的是。A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto语句会很便捷C)在C语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题7.有以下程序#includestdio.hmain(){inta1,a2;charc1,c2;scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);printf(“%d,%c,%d,%c”,a1,c1,a2,c2);}若想通过键盘输入,使得a1的值为12,a2的值为34,c1的值为字符a,c2的值为字符b,程序输出结果是:12,a,34,b则正确的输入格式是(以下_代表空格,CR代表回车)A)12a34bCRB)12_a_34_bCRC)12,a,34,bCRD)12_a34_bCR填空1.以下的输出结果是【1】。c:dec=120,oct=170,hex=78,ASCII=xmain(){charc=‘x’;printf(“c:dec=%d,oct=%o,hex=%x,ASCII=%c\n”,c,c,c,c);}2.以下的输出结果是【2】。main(){intx=1,y=2;printf(“x=%dy=%d*sum*=%d\n”,x,y,x+y);printf(“10Squaredis:%d\n”,10*10);}x=1y=2*sum*=310Squaredis:1003.假设变量a和b均为整型,以下语句可以不借助任何变量把a、b中的值进行交换。请填空。a+=【3】;b=a-【4】;a-=【5】;bbb4.若x为int型变量,则执行以下语句x=7;x+=x-=x+x;后的x值为【6】。-145.有一输入语句scanf(“%d”,k);则不能使float类型变量k得到正确数值的原因是【7】和【8】。格式控制符应为%f;变量k前缺少&四、逻辑运算与判断选取控制选择1.逻辑运算符两侧运算对象的数据类型。A)只能是0和1B)只能是0或非0正数C)只能是整型或字符型数据D)可以是任何类型的数据2.判断char型变量ch是否为大写字母的正确表达式是。A)‘A’=ch=‘Z’B)(ch=‘A’)&(ch=‘Z’)C)(ch=‘A’)&&(ch=‘Z’)D)(‘A’=ch)AND(‘Z’=ch)3.若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是。A)A%2==1B)!(A%2==0)C)!(A%2)D)A%24.设有:inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=ab)&&(n=cd)后n的值为。A)1B)2C)3D)45.以下程序的运行结果是。main(){inta,b,d=241;a=d/100%9;b=(-1)&&(-1);printf(“%d,%d”,a,b);}A)6,1B)2,1C)6,0D)2,06.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是。if(xy)z=x;x=y;y=z;A)x=10,y=20,z=30B)x=20,y=30,z=30C)x=20,y=30,z=10D)x=20,y=30,z=207.以下程序的运行结果是。main(){intm=5;if(m++5)printf(“%d\n”,m);else;printf(“%d\n”,m--);}A)4B)5C)6D)78.若运行时给变量x输入12,则以下程序的运行结果是。main(){intx,y;scanf(“%d”,&x);y=x12?x+10:x-12;printf(“%d\n”,y);}A)4B)3C)2D)09.if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是。A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值10.有以下程序#includestdio.hmain(){inta=1,b=0;if(!a)b++;elseif(a==0)if(a)b+=2;elseb+=3;printf(“%d\n”,b);}程序运行后的输出结果是。A)0B)1C)2D)311.有以下程序#includestdio.hmain(){intc=0,k;for(k=1;k3;k++)switch(k){default:c+=k;case2:c++;break;case4:c+=2;break;}printf(“%d\n”,c);}程序运行

1 / 33
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功