C语言期末复习题答案.docx
《C语言期末复习题答案.docx》由会员分享,可在线阅读,更多相关《C语言期末复习题答案.docx(24页珍藏版)》请在冰豆网上搜索。
C语言期末复习题答案
基本数据类型
一、选择题
1.下列数据中,不正确的数值或字符常量是()。
A.0.825e2B.5L
C.0xabcdD.o13
2.以下字符中,不正确的C语言转义字符是()。
A.'\\'B.'\018'//p19//8进制里没有8以上的数字
C.'\xaa'D.'\t'
3.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'\101'是()。
A.字符AB.字符aC.字符eD.非法的常量
4.以下选项中可作为C语言合法整数的是()。
A.10110BB.0386C.0XffaD.x2a2
5.以下符合C语言语法的实型常量是()。
A.1.2E0.5B.3.14.159EC..5E-3D.E15//p18
6.已定义ch为字符型变量,以下赋值中错误的是()。
A.ch='\';B.ch=62+3;C.ch=NULL;D.ch='\xaa';
7.已定义c为字符型变量,则下列赋值中正确的是()。
A.c='97';B.c="97";C.c=97;D.c="a";
8.C语言中最基本的数据类型包括()。
A.整型、实型、逻辑型B.整型、实型、字符型//P14图2.1
C.整型、字符型、逻辑型D.整型、实型、逻辑型、字符型
9.在C语言中,合法的字符常量是()。
A..'\084'B.'\x43'C.'ab'D."\0"
10.已知在ASCII代码中,字母A的序号为65,以下程序的输出结果是()。
#include
main()
{charc1='A',c2='Y';printf("%d,%d\n",c1,c2);}
A.输出格式非法,输出错误信息B.65,90C.A,YD.65,89
二、填空题
1.C语言中,常量包括_整型常量、_实型常量_、字符型常量__和_字符串常量__。
2.C语言中,数据类型包括基本类型、构造类型、指针类型、空类型。
3.字符串ab在C语言中表示为“ab”。
4.C语言中的变量实际代表内存中的一个存储单元______。
//P16
5.在C语言中,整数可用10进制数、8进制数与16进制数3种来表示,以0x打头的是16进制数,以0打头的是8进制数。
//P17
6.若有说明语句:
charc=‘\035’;则变量c包含1个字符。
三、简答题
1.C语言的基本数据类型有几种//3,分别是什么,并指出各种数据类型的关键字?
int\float\char//
2.常量和变量的区别是什么?
//不变/变
3.在程序中如何使用变量?
//先定义,后使用
4.字符和字符串表示形式有什么区别?
'a'和"a"有什么不同?
9和'9'有何不同?
空字符'\0'和空格字符''有何区别?
//””\’’字符:
一个字节。
字符串:
最少两个(双引号里面字符个数+1)
运算符与表达式
一、选择题
1.在下列运算符中,优先级最高的运算符是()。
//P28
A.<=B.%C.=D.&&
2.若有代数式ae/bc,则错误的C语言表达式是()。
//P24
A.a/b/c*eB.a*e/b*cC.a*e/b/cD.a*e/c/b
3.已知有以下变量定义:
inti=8,k,a,b;
unsignedlongw=5;
doublex=1.42,y=5.2;
则不符合C语言语法的表达式是()。
A.k=i++B.(int)x+0.4C.w+=-2D.a=2*a=3//赋值号左边只能是变量,不能是表达式//P25
4.运行以下程序段后,x的值为()。
//P25//++使变量的值
intm=3,n=4,x;
x=-m++;
x=x+8/++n;
A.3B.5C.-1D.–2
5.设有以下定义
inta=0;
doubleb=1.25;
charc='A';
#defined2//d为符号常量,++必须是变量
则下面语句中错误的是()。
A.a++;B.b++;C.c++;D.d++;
6.设有如下程序段:
intx=2002,y=2003;
printf("%d\n",(x,y));//(x,y)逗号表达式值2003
则以下叙述中正确的是()。
A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B.运行时产生出错信息
C.输出值为2002
D.输出值为2003
7.以下非法的赋值语句是()。
A.n=(i=2,++i);B.j++;C.++(i+1);D.x=j>0;//++只能为变量,i+1是表达式
8.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是()。
A.6.500000B.6C.5.500000D.6.000000//P22P23
9.若有以下程序:
//26
main()
{
intk=2,i=2,m;
m=(k+=i*=k);
printf("%d,%d\n",m,i);
}
执行后的输出结果是()。
A.8,6B.8,3C.6,4D.7,4
10.若有定义:
inta=8,b=5,c;执行语句c=a/b+0.4;后,c的值为()。
A.1.4B.1C.2.0D.2
11.下列选项中哪个是合法的标识符()。
//P14
A.charB.5abcC.t_aD._*m2
二、填空题
1.C语言中的表达式包括算术表达式、关系表达式、逻辑表达式、逗号表达式、条件表达式和赋值表达式。
//P24
2.C语言中的结合方向有自左向右和_自右向左。
3.若有定义:
inta=0;则执行赋值语句a+=a*=a%=a-=15;后变量a中的值是__0__。
//P26
4.printf("%d\n",(int)(2.5+3.0)/3);的输出结果是_1__。
//5/3=1
5.设intx=9;执行x+=3+x%(-3);后x的值为12。
6.假设变量a为整型,则执行a=3+5,a*4;printf("%d\n",a);后的输出结果是__8。
7.条件:
“00&&x<8)||(x<=-4)_。
8.设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为_1.0_。
//x/y=0
9.在C语言中,要求运算数必须是整型的运算符是%。
//24
10.在C语言中,表示逻辑“假”的值用0。
11.表达式7>6>5的值为0。
//7>61>5//P27
12.设a=0,b=1,c=2,则表达式a||b+c&&b==c的值是0。
//P29
三、计算下列各表达式的值。
1.5/2+5.0/2+7%6//5.5//2+2.5+1
2.a=3,b=4,c=5,a+b>c&&b==c//0
3.a=3*5,a*4,a+5//20
4.5>2>1//0
四、编程题
1.输入一个整数,取出它的个位数部分。
//n%10
2.输入一个浮点数,分别输出它的整数部分和小数部分。
顺序结构程序设计
一、选择题
1.请选出合法的C语言赋值语句()。
A.a=b=58B.(i+1)++;C.a=58,b=58D.k=(int)a+b;//分号结束
2.以下选项中,不正确的赋值语句是()。
A.t=t+1;B.n1=(n2=(n3=0));
C.k=i=j;D.a=b+c=1;
3.若有定义:
inta,b,c;,要给变量a,b,c输入数据,正确的输入语句是()。
A.scanf("%d%d%d",&a,&b,&c);
B.scanf("%D%D%D",&a,&b,&c);
C.read(a,b,c);
D.scanf("%d%d%d",a,b,c);
4.阅读程序:
#include
main()
{
inta;floatb,c;
scanf("%2d%3f%4f",&a,&b,&c);//p41
printf("\na=%d,b=%f,c=%f",a,b,c);
}
若运行时从键盘上输入987654321↙,则程序的输出结果是()。
A.a=98,b=765,c=4321B.a=98,b=765.000000,c=4321.000000
C.a=98,b=765.0,c=4321.0D.a=98.0,b=765.0,c=4321.0
5.已知字母A的ASCII码为十进制的65,下面程序的输出结果是()。
#include
main()
{
charch1,ch2;
ch1='A'+'5'-'3';
ch2='A'+'6'-'3';
printf("%d,%c\n",ch1,ch2);
}
A.67,DB.B,CC.C,DD.不确定的值
6.设有如下定义:
intx=10,y=3,z;
则语句:
printf("%d\n",z=(x%y,x/y));的输出结果是()。
A.1B.0C.4D.3
7.若有以下定义和语句:
charc1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+'A');
则输出结果是()。
A.2,MB.3,EC.2,ED.输出结果不确定
8.以下叙述中正确的是()。
A.输入项可以是一个实型常量,例如:
scanf("%f",3.5);
B.只有格式控制,没有输入项,也能正确输入数据到内存,例如:
scanf("a=%d,b=%d")
C.输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:
scanf("%4.2f",&d);
D.当输入数据时,必须指明变量地址,例如:
scanf("%f",&f);
二、填空题
1.结构化程序设计所规定的三种基本控制结构是顺序结构、选择结构、循环结构结构。
2.输出字段宽为4的十进制数应使用%4d,字段宽度为6的十六进制数应使用 %6x ,八进制整数应使用%6o ,字段宽度为4的字符应使用 %4c ,字段宽度为8,保留3位小数的实数应使用 %8.3f ,字段宽度为5的字符串应使用 %5s 。
//p37
3.若有定义:
intx=0;,则执行赋值语句:
x=(x=3+5,x*5);后,变量x中的值是__40__。
4.下面程序的输出结果是_17,21,11_____。
#include
main()
{intk=17;