复习题 7.docx
- 文档编号:4431677
- 上传时间:2022-12-01
- 格式:DOCX
- 页数:71
- 大小:56.26KB
复习题 7.docx
《复习题 7.docx》由会员分享,可在线阅读,更多相关《复习题 7.docx(71页珍藏版)》请在冰豆网上搜索。
复习题7
第2章
1~5DBDCA6~10DCABA11~15CADBD16~20CAABC
21~25ADAAA26~30ACBAC31~35BADDA36~40BBCCC
41~45BDABA46~49ABBB
1.下列叙述中正确的是(D)。
A.C语言中既有逻辑类型也有集合类型
B.C语言中没有逻辑类型但有集合类型
C.C语言中有逻辑类型但没有集合类型
D.C语言中既没有逻辑类型也没有集合类型
2.下列关于C语言用户标识符的叙述中正确的是(B)。
A.用户标识符中可以出现下划线和中划线(减号)
B.用户标识符中不可以出现中划线,但可以出现下划线
C.用户标识符中可以出现下划线,但不能放在用户标识符的开头
D.用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头
3.下列4个选项中,(D)是合法的用户自定义标识符。
A.b-bB.floatC.2aD._isw
4.以下选项中不正确的整型常量是(C)。
A.12LB.-10C.1900D.123U
5.以下选项中,(A)是不正确的字符常量。
A."a"B.'1'C.'\n'D.'\101
6.下列关于自增运算符++和自减运算符--的叙述中正确的是()
A.它们的运算对象可以是任何类形的变量和常量
B.它们的运算对象可以是char型变量和int型变量,但不能是float型变量
C.它们的运算对象可以是int型变量,但不能是double型变量和float型变量
D.它们的运算对象可以是char型变量、int型变量和float型变量
7.下列表达式中值为0的是()。
A.3%5B.3/5.0C.3/5D.3.0/5
8.设变量已正确定义并赋值,表达式()不符合C语言语法。
A.int(3.14)B.++aC.a=b=5D.a=4,3
9.若变量已正确定义并赋值,下面符合C语言语法的表达式是()。
A.a:
=b+1B.a=b=c+2C.int18.5%3D.a=a+7=c+b
10.若变量已正确定义并赋值,表达式()不符合C语言语法。
A.a*b/c;B.3%2C.2,bD.a/b/c
11.下列选项中,()可以将x、y定义成float类型变量,并赋同一初值3.14。
A.doublex,y=3.14;B.doublex,y=2*3.14;
C.doublex=3.14,y=3.14;D.doublex=y=3.14;
12.若变量已正确定义,表达式“j=3,j++”的值是()。
A.3B.4C.5D.0
13.假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式
的表达式是()。
A.1/a*b*cB.1/(a*b*c)C.1/a/b/(float)cD.1.0/a/b/c
14.以下能正确定义且赋初值的语句是()
intn1=n2=10;B.charc=32;C.floatf=f+1.1;D.doublex=12.3E2.5;
15.以下不能定义为用户标识符的是()
A.scanfB.VoidC._3com_D.int
16.设x、y、z和k都是int型变量,则执行表达式:
x=(y=4,z=16,k=32+z)后,x的值为()
A.4B.16C.48D.32
17.设有intx=11,则表达式(x++*1/3)的值是()。
A.3B.4C.11D.12
18.以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子
的C语言表达式是()。
A.x/y*zB.x*(1/(y*z))C.x/y*1/zD.x/y/z
19.有以下程序
main()
{chara1='M',a2='m';
printf("%c\n",(a1,a2));}
以下叙述中正确的是()
A.程序输出大写字母MB.程序输出小写字母m
C.格式说明符不足,编译出错D.程序运行时产生出错信息
20.以下程序运行后的输出结果是().
main()
{charp[]={'a','b','c'},q[]="abc";
printf("%d%d\n",sizeof(p),sizeof(q));
};
A.44B.33C.34D.43
21.以下叙述中错误的是()
A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”
C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识
22.在C语言中,下列属于构造类型的是()
A.整型B字符型C实型D.数组类型
23.下列字符串属于标识符的是()
A.INTB.5_studentC.2ongD.!
DF
24.C语言中能用来表示整常数的进制是()
A.十进制、八进制、十六进制B.十二进制、十进制
C.六进制、八进制D.二进制、十进制
25.在C语言中,回车换行符是()
A.\nB.\tC.\vD.\b
26.在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码()。
A)大32B)大64C)小32D)小64
27.设d为字符变量,下列表达式不正确的是()。
A)d=97B)d=’a’C)d=”a”D)d=’g’
28.设d为字符变量,下列表达式正确的是()。
A)d=678B)d=’a’C)d=”d”D)d=’gjkl’
29.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为。
main()
{charx,y;
x=’0’;y=’9’;
printf(“%d,%d\n”,x,y);
}
A)因输出格式不合法,输出错误信息B)48,57
C)0,9D)48,58
30.已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为。
main()
{charc=’A’;inti=10;
c=c+10;
i=c%i;
printf(“%c,%d\n”,c,i);
}
A)75,7B)75,5
C)K,5D)因存在非图形字符,无法直接显示出来
31.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为。
main()
{charc1=’B’,c2=’Y’;
printf(“%d,%d\n”,++c1,--c2);
}
A)输出格式不合法,输出错误信息B)67,88
C)66,89D)C,X
32.C语言中,运算对象必须是整型数的运算符是()。
A)%B)\C)%和\D)**
33..下列常数中,合法的C常量是()。
A)-0.B)’105’C)’AB’D)”35”
34.下列常数中,合法的C常量是()。
A)”x-y”B)’105’C)’Be’D)7ff
35.下列常数中,合法的C常量是()。
A)’\n’B)e-310C)’DEF’D)’1234’
36.下列常数中,不合法的C常量是()。
A)-0x2aB)lg3C)’[’D]”CHINA”
37.下列常数中,不合法的C常量是()。
A)-0x3bB)123e+2.3C)’}’D)6e+7
38.下列符号中,可以作为变量名的是()。
A)+aB)12345eC)a3BD)5e+0
39.下列符号中,可以作为变量名的是()。
A)+cB)*XC)_DAYD)nextday
40.若已定义X和Y为double类型,则表达式:
x=1,y=x+3/2的值为()。
A)1B)2C)2.0D)2.5
41.下列程序的执行结果是()。
#include
#definesum10+20
main()
{
intb=0,c=0;
b=5;
c=sum*b;
printf("%d",c);
}
A)100B)110C)70D)150
42..下列程序的执行结果是()。
#include
#definesum(10+20)
mian()
{
inta=0,b=0,c=0;
a=sum;
b=5;
c=sum*b;
printf("%d",c);
}
A)100B)110C)70D)150
43.表达式(int)2.1416的值为()。
A)2B)2.1C)0D)3
44.表达式(double)(20/3)的值为。
A)6B)6.0C)2D)3
45.假设所有变量均为整型,则表达式(a=5,b=2,a++,a+b)的值是()。
A)8B)7
C)6D)5
46.C语言规定标识符由()等字符组成.
A)字母 数字 下划线 B)中划线 字母 数字
C)字母 数字 逗号 D)字母下划线中划线
47.已知ch是字符型变量,下面不正确的赋值语句
是:
()。
A)ch=‘\0’B)ch=‘a+b’
C)ch=‘7’+‘9’D)ch=7+9
48.若x和y都为float型变量,且x=3.6,y=5.8执行下列语句后输出结果为:
()。
printf(“%f”,(x,y));
A)3.600000B)5.800000
C)3.600000,5.800000D)输出符号不够,输出不正确值
49.设整型变量a值为9,则下列表达式中使b的值不为4的表达式:
。
A)b=a/2B)b=a%2
C)b=8-(3,a-5)D)b=a>5?
4:
2
1.2.000000
2.1,0.5
3.9,2
4.6
5.100,d
6.
(1)20
(2)0(3)60
7.
(1)10,6,4
(2)6,9,15(3)3,60,83
8.55
9.1164
10.5
11.double
12..整型字符型实型枚举类型
13.数据类型数据类型
14.字母数字下划线字母下划线
15.单精度双精度
16.变量初始化
17.双引号
18.’\0
19.x=3.600000,i=3
2.2填空题
1.若x是浮点型变量,则表达式“x=10/4”的值是__________。
2.下列程序段的运行结果为:
__________。
doublex1,x2;
x1=3/2;
x2=x1/2;
printf("%d,%.1f",(int)x1,x2);
3.执行下列程序段后变量i和j的值为:
__________。
inti=10,j=1;
(i--,++j);
4.表达式sizeof("hello")的值为__________。
5.表达式“'c'+1”的值为__________,对应的英文字符为__________。
6.设有语句“inta=10;”,请分别填写下列各表达式的值。
(1)a+=a的值为__________。
(2)a+=a-=a*=a的值为__________。
(3)a*=2+4的值为__________。
7.写出下列各程序段执行后相应变量的值。
(1)inta,b,c;
a=b=c=5;
a=++b+(--c);
变量a,b,c的值为__________。
(2)inta=4,b=5,c;
c=(a=6)+(b=9);
变量a,b,c的值为__________。
(3)int a,b,c;
c=(a=5,b=a*4);
a=2+6,a*2,a*5;
c+=(a=b=3,b=a*c,a+b);
变量a,b,c的值为__________。
8.表达式“'H'-'A'+'0'”的值为__________。
9.写出下列程序段的执行结果
inta,b,c;
a=b=c=5;
a=++b+(c--);
变量a,b,c的值为
10.若有如下程序段:
inta=10,b=9,c=8;
c=(a-=(b-5));
c=(a%11)+(b=5);
顺序执行上述语句后,变量b的值为
11.设有以下变量定义,并已赋确定的值
charw;intx;floaty;doublez;
则表达式:
w*x+z-y所求得的数据类型为。
12.C语言基本数据类型包括、、、。
13.C语言在定义变量的同时说明变量的,系统在编译时就能根据变量定义及其为它分配相应数量的存储空间。
14.在C语言中,标识符只能由、和三种字符组成,且第一个字符必须或。
15.实型变量分为和,即float和double型。
16.C语言中规定,在变量定义的同时也可以给变量赋初值,叫做。
17.C的字符串常量是用括起来的字符序列。
(0级)
18.在C语言中,系统在每一个字符串的结尾自动加一个“字符串结束标志符”即,以便系统据此数据判断字符串是否结束。
19.下面的程序
mian()
{floatx;inti;
x=3.6;i=(int)x;
printf("x=%f,i=%d",x,i);
}
运行结果为。
20.
习题4
1~5AADAD6~10ACBBB11~15BADAD16~20BADBA
21~25CDBDD26~30DCDCA31~35DAACB36~40BDBAD
41~42AA
1.在C语言程序中,用()表示逻辑值“真”。
A.1B.非0的数C.非1的数D.大于0的数
2.在C语言程序中,做逻辑运算时判断操作数真、假的表述中,下列哪一个是正确的()。
A.0为假,非0为真B.只有1为真
C.-1为假,1为真D.0为真,非0为假
3.表达式!
(x>0||y>0)等价于()。
A.!
x>0||!
y>0B.!
(x>0)||!
(y>0)
C.!
x>0&&!
y>0D.!
(x>0)&&!
(y>0)
4.判断整型变量x、y中有且只有1个值为0的表达式为()。
A.!
(x*y)&&(x+y)B.(x*y)&&x+y
C.x*y==0D.x==0&&y!
=0
5.下列条件语句中,功能与其他语句不同的是()。
A.if(a)printf("%d\n",x);elseprintf("%d\n",y);
B.if(a==0)printf("%d\n",y);elseprintf("%d\n",x);
C.if(a!
=0)printf("%d\n",x);elseprintf("%d\n",y);
D.if(a==0)printf("%d\n",x);elseprintf("%d\n",y);
6.以下程序段中与语句“k=a>b?
(b>c?
1:
0):
0;”功能等价的是()。
A.if((a>b)&&(b>c))k=1;B.if((a>b)||(b>c))k=1
elsek=0;elsek=0;
C.if(a<=b)k=0;D.if(a>b)k=1;
elseif(b<=c)k=1;elseif(b>c)k=1;
elsek=0
7.以下程序执行后输出的结果是()。
#include"stdio.h"
main()
{inti=1,j=1,k=2;
if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k);
}
A.1,1,2B.2,2,1C.2,2,2D.2,2,3
8.下列各语句序列中,能够将变量u和s中的较大值赋值到变量t中的是()。
A.if(u>s)t=u;t=s;B.t=s;if(u>s)t=u;
C.if(u>s)t=s;elset=u;D.t=u;if(u>s)t=s;
9.以下程序执行后的输出结果是()。
#include"stdio.h"
main()
{intk=1,s=0;
switch(k){
case1:
s+=10;
case2:
s+=20;break;
default:
s+=3;
}
printf("%d\n",s);
}
A.10B.30C.20D.23
10.以下程序执行后的输出结果是()。
#include"stdio.h"
main()
{inta=5,b=4,c=3,d=2;
if(a>b>c)
printf("%d\n",d);
elseif((c-1>=d)==1)
printf("%d\n",d+1);
else
printf("%d\n",d+2);
}
A.2B.3C.4D.编译时有错误,无结果
11.以下程序执行后的输出结果是()。
#include"stdio.h"
main()
{charx='A';
x=(x>='A'&&x<='Z')?
(x+32):
x;
printf("%c\n",x);}
A.AB.aC.zD.Z
12.下列程序段执行后,变量k、x、y、z值依次为()。
intk,x,y,z;
x=y=z=1;
k=x++&&y++||z++;
A.1、2、2、1B.1、2、2、2
C.0、2、2、1D.0、2、2、2
13.若变量c为char类型,能正确判断出c为小写字母的表达式是()
A.'a'<=c<='z' B.(c>='a')||(c<='z')
C.('a'<=c)and('z'>=c) D.(c>='a')&&(c<='z')
14.设有定义:
inta=2,b=3,c=4;,则以下选项中值为0的表达式是()
A.(!
a==1)&&(!
b==0)B.(a
c||1C.a&&bD.a||(b+b)&&(c-a)
15.能正确表示逻辑关系“a≥=10或a≤0”的C语言表达式是()。
A.a>=10ora<=0B.a>=0|a<=10C.a>=10&&a<=0D.a>=10‖a<=0
16.下列运算符中优先级最高的是。
A)>B)+C)&&D)!
=
17.以下关于运算符优先级的描述中,正确的是。
A)!
(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算
B)&&(逻辑与)>算术运算>关系运算>赋值运算
C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算
D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)
18.逻辑运算符的运算对象的数据类型。
A)只能是0或1B)只能是.T.或.F.
C)只能是整型或字符型D)任何类型的数据
19.以下程序的运行结果是。
main()
{
intc,x,y;
x=1;
y=1;
c=0;
c=x++||y++;
printf(“\n%d%d%d\n”,x,y,c);
}
A)110B)211C)011D)001
20.以下程序的运行结果是。
main()
{
intc,x,y;
x=0;
y=0;
c=0;
c=x++&&y++;
printf(“\n%d%d%d\n”,x,y,c);
}
A)100B)211C)011D)001
21.判断字符型变量ch为大写字母的表达式是。
A)’A’<=ch<=’Z’B)(ch>=’A’)&(ch<=’Z’)
C)(ch>=’A’)&&(ch<=’Z’)D)(ch>=’A’)AND(ch<=’Z’)
22.判断字符型变量ch为小写字母的表达式是。
A)’a’<=ch<=’z’B)(ch>=a)&&(ch<=z)
C)(ch>=’a’)||(ch<=’z’)D)(ch>=’a’)&&(ch<=’z’)
23.以下if语句书写正确的是。
A)if(x=0;)B)if(x>0)
printf(”%f”,x);{x=x+1;printf(”%f”,x);}
elseprintf(”%f”,-x);elseprintf(”%f”,-x);
C)if(x>0);D)if(x>0)
{x=x+1;printf(”%f”,x);}{x=x+1;printf(”%f”,x)}
elseprintf(”%f”,-x);elseprintf(”%f”,-x);
24.分析以下程序:
main()
{intx=5,a=0,b=0;
if(x=a+b)printf(“****\n”);
elseprintf(“####\n”);
以上程序。
A)有语法错,不能通过编译B)通过编译,但不能连接
C)输出****D)输出####
25.写出下面程序的执行结果。
main()
{intx,y=1;
if(y!
=0)x=5;
printf(“%d\t”,x);
if(y==0)x=3;
elsex=5;
printf(“%d\t\n”,x);
}
A)13B)15C)53D)55
26.若有以下变量定义:
floatx;inta,b;
则正确的switch语句是。
A)switch(x)
{case1.0:
printf("*\n");
case2.0:
printf("**\n");
}
B)switch(x)
{case1,2:
printf("*\n");
case3:
printf("**\n");
}
C)switch(a+b)
{case1:
printf("*\n");
case2*a:
printf("**\n");
}
D)switch(a+b)
{case1:
printf("*\n");
case1+2:
printf("**\n");
}
27.以下关于运算符优先顺序的描述正确的是。
A)关系运算符<算术运算符<赋值运算符<逻辑运算符
B)逻辑
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 复习题