您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 语言学 > c语言习题及参考答案
第1章C语言概述(一)选择题1.一个C程序的执行是从A。答案AA)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序文件的第一个函数开始,到本程序main函数结束D)本程序的main函数开始,到本程序文件的最后一个函数结束2.以下叙述不正确的是D。A)一个C源程序必须包含一个main函数B)一个C源程序可由一个或多个函数组成C)C程序的基本组成单位是函数D)在C程序中,注释说明只能位于一条语句的后面3.以下叙述正确的是C。A)在对一个C程序进行编译的过程中,可发现注释中的拼写错误B)在C程序中,main函数必须位于程序的最前面C)C语言本身没有输入输出语句D)C程序的每行中只能写一条语句4.一个C语言程序是由B。A)一个主程序和若干个子程序组成B)函数组成C)若干过程组成D)若干子程序组成5.C语言程序编译时,程序中的注释部分______D______.A)参加编译,并会出现在目标程序中B)参加编译,但不会出现在目标程序中C)不参加编译,但会出现在目标程序中D)不参加编译,也不会出现在目标程序中(二)填空题1、C语句结束符为____;_____________.2、C语句注释符号为:_/**/______________.3、一个C程序总是从____main函数______________开始执行的。第3章数据类型、运算符与表达式(一)选择题1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为(C)。x=(i=4,j=16,k=32)A)4B)16C)32D)522.下列四组选项中,均不是C语言关键字的选项是(A)。A)defineIFtypeB)getccharprintfC)includecasescanfD)whilegopow3.下列四组选项中,均是不合法的用户标识符的选项是(B)。A)WP_0doB)b-agotointC)floatla0_AD)-123abcTEMP4.下列四组选项中,均是合法转义字符的选项是(A)。A)‘\”’‘\\’‘\n’B)‘\’‘\017’‘\”’C)‘\018’‘\f’‘\xab’D)‘\\0’‘\101’‘\xlf’5.下面正确的字符常量是(D)。A)“c”B)‘\\’’C)aD)‘K’6.以下叙述不正确的是(D)。A)在C程序中,逗号运算符的优先级最低B)在C程序中,MAX和max是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值7.以下叙述正确的是(C)。A)在C程序中,每行只能写一条语句B)若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C)在C程序中,%是只能用于整数运算的运算符D)在C程序中,无论是整数还是实数,都能被准确无误地表示8.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为(A)。A)DB)68C)不确定的值D)C9.sizeof(float)是(B)。A)一个双精度型表达式B)一个整型表达式C)一种函数表达式D)一个不合法的表达式10.设C语言中,一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为(C)。A)0~255B)0~32767C)0~65535D)0~214748364711.设有说明:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为(D)。A)floatB)charC)intD)double12.设以下变量均为int类型,则值不等于7的表达式是(C)。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.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是(A)。A)0B)1C)2D)314.设n=3;则n++的结果是(B)。A)2B)3C)4D)515.以下不正确的C语言标识符是(D)。A)ABCB)abcC)a_bcD)ab.c16.C程序是由(B)构成的。A)主程序与子程序B)主函数与若干子函数C)一个主函数与一个其它函数D)主函数与子函数17.在C语言中,不正确的int类型的常数是:(A)A)32768B)0C)037D)0xaf18.下面关于运算符优先顺序的描述中正确的是:(C)A)关系运算符算术运算符赋值运算符逻辑与运算符B)逻辑运算符关系运算符算术运算符赋值运算符C)赋值运算符逻辑与运算符关系运算符算术运算符D)算术运算符关系运算符赋值运算符逻辑与运算符19.设x为一数字字符,则其所对应的十进制数值为B。A)xB)x-‘0’C)*xD)&x20.说明语句chars=‘\t’,使s包含了几个字符?A。A)1B)2C)3D)说明有错21.设a=6,b=4,则表达式b*=a+3的值为D。A)3B)18C)27D)3622.正确的C语言自定义标识符是A。A)file_bakB)abc(10)C)continueD)class+323.设intx=8,y,z;执行y=z=x++;x=y==z后,变量x的值是B。A)0B)1C)8D)924.下列数据类型中不属于构造类型的是D。A)数组型B)结构型C)共用型D)枚举型25.表达式7/3的值是_D___。A.2.33B.2.333C.2.3333D.226.Char型数据在内存中以_A__形式存放。A.ASCII码形式B.字符形式C.字符串形式D.BCD码形式27.C语言的字符串以_A___结束。A.NULLB.整数C.ASCII码D.长度28.假设i的初值为2,赋值语句j=i++执行后,j,i的值分别是_B___。A.3,3B.2,3C.3,2D.2,229.下列表达式的值为0的是(C)A.3﹪5B.3/5.0C.3/5D.3530.正确的C语言用户自定义标识符是(A)A.printB.floatC.when?D.random﹪231.设inta=3;则表达式a1&&--a1的运算结果和a的值分别是(B)A.0和2B.0和3C.1和2D.1和332.下列运算符中优先级别最高的是____B__________。A)B)+C)&&D)!=33、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后c2的值为______A_______。A)DB)68C)不确定的值D)C34.以下非法的赋值语句是_C___。A.n=(i=2,++i);B.j++;C.(a+b)++;D.x=j0;35.如果关系表达式ab的值为0,关系表达式cd的值为1,则逻辑表达式(ab)&&(cd)的值为__A__。A.0B.1C.–1D.236.设有定义:longx=123456L;,则以下能够正确输出变量x值的语句是__B__。A.printf(“x=%d\n”,x);B.printf(“x=%ld\n”,x);C.printf(“x=%8dL\n”,x);D.printf(“x=%LD\n”,x);(二)填空题1.若有以下定义,则计算表达式y+=y-=m*=y后的y值是______-1_________。intm=5,y=2;2.在C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为_-32768~32767或-215~215-1_________。3.若s是int型变量,且s=6,则下面表达式的值为____1___________。s%2+(s+1)%24.若a是int型变量,则下面表达式的值为_____26__________。(a=4*5,a*2),a+65.若x和a均是int型变量,则计算表达式(1)后的x值为____12___________,计算表达式(2)后的x值为______4_________。(1)x=(a=4,6*2)(2)x=a=4,6*26.若a是int型变量,则计算下面表达式后a的值为_______2________。A=25/3%37.若x和n均是int型变量,且x和n的初值均为5,则计算表达式:x+=n++;后x的值为____10___________,n的值为_______6________。8.若有定义:charc=‘\010’;则变量c中包含的字符个数为_________1______。9.若有定义:intx=3,y=2;floata=2.5,b=3.5;则下面表达式的值为_______1________.(x+y)%2+(int)a/(int)b10.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+’8’-‘3’的值为____’f’___________。11.初始化值是0.618的双精度(double)变量a的定义形式为___doublea=0.618_____。12.若有定义intm=5,y=2,则执行表达式y+=y-=m*=y后,y的值为____-16_______。13.执行语句“a=4+(c=5);”后,变量a的值为___9__、c的值为____5____。14.C语句“x*=y+2;”还可以写作___x=x*(y+2)_____15.计算x、y之和的立方根,C语言表达式应写作______。16.执行语句“a=5+(c=6);”后,变量a、c的值依次为______。17.判断变量a、b的值均不为0的C语言表达式为______。(三)阅读下列程序,写出运行结果(共18分,每题3分)1.#includestdio.hvoidmain(){inta=1,b=4,c=2;运行结果:a=(a+b)/c;printf(“%d\n”,--a);}2.以下程序的输出结果是___________。#include“stdio.h”main(){inti,j,k,a=3,b=2;i=(--a==b++)?--a:++b;j=a++;k=b;printf(“i=%d,j=%d,k=%d\n”,i,j,k);}A)i=2,j=1,k=3B)i=1,j=1,k=2C)i=4,j=2,k=4D)i=1,j=1,k=33、若输入12345、abc,下列程序的输出结果为___________。main(){inta;charch;scanf(“%3d,%3d”,&a,&b);printf(“%d,%c”,a,ch);}A)123,abcB)123,4C)123,aD)12345,abc4、以下程序的输出结果是____________。main(){inta=12,b=12;printf(“%d%d\n”,--a,++b);}A)1010B)1212C)1110D)1113第4章最简单的C程序设计——顺序程序设计(一)选择题1.putchar函数可以向终端输出一个_______________。A)整型变量表达式B)实型变量值C)字符串D)字符或字符型变量值2.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式_________;如果字符串长度小于5,则输出按方式____________。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
本文标题:c语言习题及参考答案
链接地址:https://www.777doc.com/doc-7231227 .html