C语言1-5章复习题及参考答案复习课程
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A.a+=a-=(b=4)*(a=3)B.x%(-3)
C.a=a*3=2D.y=float(i)
29、若a为int型变量,则下列C语言表达中,不能表达数学关系式10<a<15的是()。
A.10<a<15
B.a==11||a==12||a==13||a==14
C.a>10&&a<15
D.!(a<=10)&&!(a>=15)
{
int i,sum;
for(i=1;i<=3;sum++)
sum+=i;
printf("%d\n",sum);
}
该程序的执行结果是()。
A.6B.3C.死循环D.0
4、下列关于表达式的描述中,错误的是()。
A.常量和变量都是表达式。B.运算符类型对应表达式的类型。
C.每一个表达式都有自己的值。D.表达式必须以分号结尾。
if (x++ > 5)
printf("%d",x);
else
printf("%d\n",x--);
}
A.7和5B.6和3C.7和4D.6和4
23、若已定义x和y为double类型,则表达式:x=1, y=x+3/2的值是()。
A.1 B.2C.2.0D.2.5
24、执行下面程序片段的结果是()。
int x=23;
21、假定有以下变量定义:int k=7,x=12;那么能使值为3的表达式是()。
A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)
22、两次运行下面的程序,如果从键盘上分别输入6和4,那么输出结果是()。
void main()
{
int x;
scanf("%d",&x);
5、C语言中,合法的长整型常数是()。
A.'\t'B.”A”C.65 D.a
6、若已定义x和y为double类型,则表达式x=1;y=(x+3)/2的值是()。
A.1 B.2C.2.00000D.2.50000
7、表达式:10!=9的值是()。
A.trueB.非零值C.0D.1
8、以下程序的输出结果是()。
A.&B.||C.~ D.^
13、以下程序的输出结果是()。
voБайду номын сангаасd main()
{
char c='z';
printf("%c", c-25);
}
A.aB.Z C.z-25 D.y
14、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。
A.a<>0B.!aC.a=0D.a
A.a的值是字符’C'B.a的值是浮点型
C.不允许字符型和浮点型相加D.a的值是字符’A’的ASCII值加上1
20、若有定义:int x ,i;则下列for循环语句:
for(i = 0,x = 0; i<= 9 && x!=876;i++)
scanf(“%d”,&x);
下列选项中,描述正确的是()
A.最多执行10次B.最多执行9次C.是无限循环D.循环体一次也不执行
#include<stdio.h>
void main()
{
printf("%d\n", NULL);
}
A.不确定的B.0C.-1 D.1
9、请选出合法的C语言赋值语句。()
A.a=b=58B.i++;C.a=58,b=58D.k=int(a+b);
10、假设int b=2;表达式(b>>2)/(b>>1)的值是()。
do
{
printf("%2d",x--);
} while (!x);
A.打印出321B.打印出23C.不打印任何内容D.陷入死循环
25、以下选项中合法的字符常量是()。
A."B"B.'\010'C.68 D.D
26、将二进制数00001011进行>>位运算,将其结果转换为十进制是()。
A.101 B.1 C.11D.5
C语言1-5章复习题及参考答案
一.选择题
1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
A.-3 B.9C.-12D.6
2、若有定义:int a=8, b=5, c;执行语句c=a/b+0.4;后,c的值为()。
A.1.4B.1C.2.0 D.2
3、有如下程序:
void main()
A.2,MB.3,EC.2,E D.输出项与对应的格式控制不一致,输出结果不确定
18、若有以下程序段:int c1=1,c2=2,c3; c3=1.0/c2*c1;那么执行后,c3中的值是()。
A.0B.0.5 C.1 D.2
19、若变量a是int类型,并执行了语句:a='A'+1.6;则下列描述中,正确的是()。
15、以下循环体的执行次数是()。
void main()
{
int i,j;
for (i=0,j=1; i<=j+1; i+=2,j--)
printf("%d\n",i);
}
A.3 B.2C.1D.0
16、下列运算符中优先级最高的是()。
A.|| B.&&C.+D.=
17、若有以下定义和语句:char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+'A');那么输出结果是()。
27、下列说法中正确的是()。
A.在switch语句中一定要使用break语句
B.在switch语句中不一定要使用break语句
C.break语句是switch语句的一部分
D.break只能用于switch语句中
28、假设有如下的变量定义:int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2;则以下符合C语言语法的表达式是()。
A.0B.2 C.4 D.8
11、关于语句printf(“hello world\n”);,下列描述中错误的是()。
A.printf()是格式化输出函数,用于输出信息。
B.printf()括号中的内容为函数的参数。
C.printf()括号中的内容会全部输出到控制台上。
D.\n表示换行操作。
12、下列选项中,哪一项不是C语言中的位运算符()。
30、表示关系x<=y<=z的C语言表达式为()。
A.(X<=Y)&&(Y<=Z)
B.(X<=Y)AND(Y<=Z)
C.(X<=Y<=Z)
D.(X<=Y)&(Y<=Z)
二.判断题
1、C语言属于机器语言。(×)
2、C语言中的逻辑值“真”是用1表示的,逻辑值“假”是用0表示的。(√)
3、在C语言中转义字符有特殊的含义,它以反斜杠\开头,后面接特定的字符。(√)
C.a=a*3=2D.y=float(i)
29、若a为int型变量,则下列C语言表达中,不能表达数学关系式10<a<15的是()。
A.10<a<15
B.a==11||a==12||a==13||a==14
C.a>10&&a<15
D.!(a<=10)&&!(a>=15)
{
int i,sum;
for(i=1;i<=3;sum++)
sum+=i;
printf("%d\n",sum);
}
该程序的执行结果是()。
A.6B.3C.死循环D.0
4、下列关于表达式的描述中,错误的是()。
A.常量和变量都是表达式。B.运算符类型对应表达式的类型。
C.每一个表达式都有自己的值。D.表达式必须以分号结尾。
if (x++ > 5)
printf("%d",x);
else
printf("%d\n",x--);
}
A.7和5B.6和3C.7和4D.6和4
23、若已定义x和y为double类型,则表达式:x=1, y=x+3/2的值是()。
A.1 B.2C.2.0D.2.5
24、执行下面程序片段的结果是()。
int x=23;
21、假定有以下变量定义:int k=7,x=12;那么能使值为3的表达式是()。
A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)
22、两次运行下面的程序,如果从键盘上分别输入6和4,那么输出结果是()。
void main()
{
int x;
scanf("%d",&x);
5、C语言中,合法的长整型常数是()。
A.'\t'B.”A”C.65 D.a
6、若已定义x和y为double类型,则表达式x=1;y=(x+3)/2的值是()。
A.1 B.2C.2.00000D.2.50000
7、表达式:10!=9的值是()。
A.trueB.非零值C.0D.1
8、以下程序的输出结果是()。
A.&B.||C.~ D.^
13、以下程序的输出结果是()。
voБайду номын сангаасd main()
{
char c='z';
printf("%c", c-25);
}
A.aB.Z C.z-25 D.y
14、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为()。
A.a<>0B.!aC.a=0D.a
A.a的值是字符’C'B.a的值是浮点型
C.不允许字符型和浮点型相加D.a的值是字符’A’的ASCII值加上1
20、若有定义:int x ,i;则下列for循环语句:
for(i = 0,x = 0; i<= 9 && x!=876;i++)
scanf(“%d”,&x);
下列选项中,描述正确的是()
A.最多执行10次B.最多执行9次C.是无限循环D.循环体一次也不执行
#include<stdio.h>
void main()
{
printf("%d\n", NULL);
}
A.不确定的B.0C.-1 D.1
9、请选出合法的C语言赋值语句。()
A.a=b=58B.i++;C.a=58,b=58D.k=int(a+b);
10、假设int b=2;表达式(b>>2)/(b>>1)的值是()。
do
{
printf("%2d",x--);
} while (!x);
A.打印出321B.打印出23C.不打印任何内容D.陷入死循环
25、以下选项中合法的字符常量是()。
A."B"B.'\010'C.68 D.D
26、将二进制数00001011进行>>位运算,将其结果转换为十进制是()。
A.101 B.1 C.11D.5
C语言1-5章复习题及参考答案
一.选择题
1、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是()。
A.-3 B.9C.-12D.6
2、若有定义:int a=8, b=5, c;执行语句c=a/b+0.4;后,c的值为()。
A.1.4B.1C.2.0 D.2
3、有如下程序:
void main()
A.2,MB.3,EC.2,E D.输出项与对应的格式控制不一致,输出结果不确定
18、若有以下程序段:int c1=1,c2=2,c3; c3=1.0/c2*c1;那么执行后,c3中的值是()。
A.0B.0.5 C.1 D.2
19、若变量a是int类型,并执行了语句:a='A'+1.6;则下列描述中,正确的是()。
15、以下循环体的执行次数是()。
void main()
{
int i,j;
for (i=0,j=1; i<=j+1; i+=2,j--)
printf("%d\n",i);
}
A.3 B.2C.1D.0
16、下列运算符中优先级最高的是()。
A.|| B.&&C.+D.=
17、若有以下定义和语句:char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+'A');那么输出结果是()。
27、下列说法中正确的是()。
A.在switch语句中一定要使用break语句
B.在switch语句中不一定要使用break语句
C.break语句是switch语句的一部分
D.break只能用于switch语句中
28、假设有如下的变量定义:int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2;则以下符合C语言语法的表达式是()。
A.0B.2 C.4 D.8
11、关于语句printf(“hello world\n”);,下列描述中错误的是()。
A.printf()是格式化输出函数,用于输出信息。
B.printf()括号中的内容为函数的参数。
C.printf()括号中的内容会全部输出到控制台上。
D.\n表示换行操作。
12、下列选项中,哪一项不是C语言中的位运算符()。
30、表示关系x<=y<=z的C语言表达式为()。
A.(X<=Y)&&(Y<=Z)
B.(X<=Y)AND(Y<=Z)
C.(X<=Y<=Z)
D.(X<=Y)&(Y<=Z)
二.判断题
1、C语言属于机器语言。(×)
2、C语言中的逻辑值“真”是用1表示的,逻辑值“假”是用0表示的。(√)
3、在C语言中转义字符有特殊的含义,它以反斜杠\开头,后面接特定的字符。(√)