内容正文:
编写说明:江苏省中职职教高考专业综合理论考试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《江苏省中职职教高考专业综合理论考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于江苏省中职职教高考专业综合理论考试第一轮高考复习教学。
本专辑第10卷精准对标江苏省考纲,考试内容及范围【C语言程序设计】:
(四)数据类型及其运算:理解C运算符的种类、运算优先级、结合性;理解不同类型数据间的转换与运算;掌握C表达式类型和求值规则。
江苏省中职职教高考专业综合理论考试 计算机类
《C语言程序设计》考点双析卷 第10卷
运算符与表达式 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.以下程序运行后的输出结果是( )
main()
{
int x,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d",x,y,z);}
A.2,3,3 B.2,3,2 C.2,3,1 D.2,2,1
2.设 int i,j=5;执行语句i=(++j)+(++j);后i的值是( )
A.10 B.12 C.13 D.14
3.以下程序的运行结果是( )
#include<stdio.h>
#define MIN(x,y) (x)>(y) ? (x) : (y)
int main ( ) {
int i=10, j=15 , k;
k = 10*MIN(i,j);
printf("%d
",k);
return 0;
}
A.15 B.100 C.10 D.150
4.已知int k,m=1;执行语句k=-m++;后k的值是( )
A.-1 B.0 C.1 D.2
5.若执行下面的程序时从键盘上输入3和4,则输出是( )
main()
{ int a,b,s;
scanf("%d %d",&a,&b);
s=a;
if(a<b)s=b;
s=s*s;
printf("%d
",s);}
A.14 B.16 C.18 D.20
6.以下程序的输出结果是 ( )
int main( )
{ double d=3.2 ;
int x=1.2, y ;
y=(x+3.8)/5.0 ;
printf("%d
",d*y);}
A.3 B.3.2 C.0 D.3.07
7.以下程序运行的结果是( )
#include <stdio.h>
int main()
{int m=5,n=10;
printf(“%d,%d
”,m++,--n);
}
A.5,9 B.6,9 C.5,10 D.6,10
8.已知int i;float f;正确的表达式是( )
A.(int f)%i B.int(f)%i
C.int(f % i) D.(int)f % i
9.以下叙述正确的是( )
A.在C程序中,每行只能写一条语句
B.若a是实型变量,C程序中不允许a=10这种赋值
C.在C程序中,%是只能用于整数运算的运算符
D.在C程序中,无论是整数还是实数,没有什么区别
10.已知 int x=(1,2,3,4);,变量x的值是( )
A.1 B.2 C.3 D.4
11.下列运算符中优先级最低的是( )
A.+ B.&& C.= D.!=
12.运算符有优先级,在C语言中关于运算符优先级的叙述正确的是( )
A.逻辑运算符高于算术运算符,算术运算符高于关系运算符
B.算术运算符高于关系运算符,关系运算符高于逻辑运算得
C.算术运算符高于逻辑运算符,逻辑运算符高于关系运算符
D.关系运算符高于逻辑运算符,逻辑运算符高于算术运算符
13.执行下列语句的结果是( )
i=3;
printf("%d,",++i);
printf("%d",i++);
A.3,3 B.3,4 C.4,3 D.4,4
14.若已定义x和y为 double 类型,则表达式:x=1,y=x+3/2的值是( )
A.1 B.2 C.2.0 D.2.6
135.下列程序的结果是( )
#include<stdio.h>
int fun(int x,int y)
{return(x+y);}
main()
{int a=1,b=2,c=3,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d
",sum);}
A.6 B.7 C.8 D.9
16.若有下列程序段,其输出结果是( )
int a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf("%d,%d,%d",a,b,c);}
A.0.0,-10 B.0,0,5 C.-10,3,-10 D.3.3,-10
17.已知:int x-3,y=2,z=1;以下赋值表达式中错误的是( )
A.x=(y=4)=3; B.x=y=z+1; C.x=(y=4)+z; D.x=1+(y=z=4);
18.已知梯形的上底为a,下底为b,高为h,用C语言书写的正确的面积公式为( )
A.1/2(a+b)*h B.1.0/2*(a+b)*h C.1/2*(a+b)*h D.1.0/2(a+b)h
19.设有定义:int x=1,y=-1;则语句:printf(“%d
”,(x--&&++y));的输出结果是( )
A.1 B.0 C.-1 D.2
20.已有定义:int x=10;执行语句:printf("%d",(x=5*6,x*4,x+5));后的输出结果是( )
A.30 B.125 C.35 D.120
二、判断题(本大题共5小题,每题3分,共15分)
21.int a = 10; int b = a++; 执行后,b的值为11。( )
22.printf("%d", 10 % 3.5); 是合法的表达式。( )
23.int a = 3; printf("%d", a++); 的输出为4。( )
24.按位与运算符&的优先级高于等于运算符==。( )
25.逗号表达式(a=3, a+2)的值是5,且a变为3。( )
三、程序填空题(本大题共5小题,每题5分,共25分)
26.下列程序的功能是:输出3个变量中的最小值。请将程序补充完整。
#include <stdio.h>
#include<conio.h>
main()
{int a,b,c,t,min;
scanf("%d%d%d",&a,&b,&c);
t= ?a:b;
min= ?t:c;
printf("%d",min);
getch();}
27.以下程序的功能是:求整数x的y次方的低3位值,例如,5的6次方为15625,此值的低3位值为625。请填空。
#include <stdio.h>
#include<conio.h>
main()
{int t,r;
int x,y;
printf("input x and y:
");
scanf("%d%d",&x,&y);
t=【1】;
printf("x=%d,y=%d,r=%d,last=%d",x,y,r,t);
getch();}
int fun(int x,int y,int *p)
{int i,t=1;
for(i=1;i<=y;i++)
t=t*x;
【2】;
t=【3】;
return t;}
28.补全代码:输入两个整数,计算它们的平方和并输出
#include <stdio.h>
int main() {
int a, b;
printf("请输入两个整数:");
scanf("%d %d", ); // 填空1
int sum = ; // 填空2(表达式:a² + b²)
printf("平方和为:%d
", sum);
return 0;
}
29.依次输入十个整数,找出其平方最大的一个数并打印出来
#include<stdio.h>
main(){
int i,x,tmp,z=0;
for(i=1;i<=10;i++){
;
if {
y=x;
;
}
}
}
30.编写程序,求1到10之间所有偶数的和及其所有奇数的和
#include<stdio.h>
main(){
int i,odd=0,even=0;
for(i=1; ;i++){
if ;
else ;
}
}
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:江苏省中职职教高考专业综合理论考试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《江苏省中职职教高考专业综合理论考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于江苏省中职职教高考专业综合理论考试第一轮高考复习教学。
本专辑第10卷精准对标江苏省考纲,考试内容及范围【C语言程序设计】:
(四)数据类型及其运算:理解C运算符的种类、运算优先级、结合性;理解不同类型数据间的转换与运算;掌握C表达式类型和求值规则。
江苏省中职职教高考专业综合理论考试 计算机类
《C语言程序设计》考点双析卷 第10卷
运算符与表达式 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.以下程序运行后的输出结果是( )
main()
{
int x,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d",x,y,z);}
A.2,3,3 B.2,3,2 C.2,3,1 D.2,2,1
【答案】C
2.设 int i,j=5;执行语句i=(++j)+(++j);后i的值是( )
A.10 B.12 C.13 D.14
【答案】A
3.以下程序的运行结果是( )
#include<stdio.h>
#define MIN(x,y) (x)>(y) ? (x) : (y)
int main ( ) {
int i=10, j=15 , k;
k = 10*MIN(i,j);
printf("%d
",k);
return 0;
}
A.15 B.100 C.10 D.150
【答案】C
4.已知int k,m=1;执行语句k=-m++;后k的值是( )
A.-1 B.0 C.1 D.2
【答案】A
5.若执行下面的程序时从键盘上输入3和4,则输出是( )
main()
{ int a,b,s;
scanf("%d %d",&a,&b);
s=a;
if(a<b)s=b;
s=s*s;
printf("%d
",s);}
A.14 B.16 C.18 D.20
【答案】B
6.以下程序的输出结果是 ( )
int main( )
{ double d=3.2 ;
int x=1.2, y ;
y=(x+3.8)/5.0 ;
printf("%d
",d*y);}
A.3 B.3.2 C.0 D.3.07
【答案】C
7.以下程序运行的结果是( )
#include <stdio.h>
int main()
{int m=5,n=10;
printf(“%d,%d
”,m++,--n);
}
A.5,9 B.6,9 C.5,10 D.6,10
【答案】A
8.已知int i;float f;正确的表达式是( )
A.(int f)%i B.int(f)%i
C.int(f % i) D.(int)f % i
【答案】D
9.以下叙述正确的是( )
A.在C程序中,每行只能写一条语句
B.若a是实型变量,C程序中不允许a=10这种赋值
C.在C程序中,%是只能用于整数运算的运算符
D.在C程序中,无论是整数还是实数,没有什么区别
【答案】C
10.已知 int x=(1,2,3,4);,变量x的值是( )
A.1 B.2 C.3 D.4
【答案】D
11.下列运算符中优先级最低的是( )
A.+ B.&& C.= D.!=
【答案】C
12.运算符有优先级,在C语言中关于运算符优先级的叙述正确的是( )
A.逻辑运算符高于算术运算符,算术运算符高于关系运算符
B.算术运算符高于关系运算符,关系运算符高于逻辑运算得
C.算术运算符高于逻辑运算符,逻辑运算符高于关系运算符
D.关系运算符高于逻辑运算符,逻辑运算符高于算术运算符
【答案】B
13.执行下列语句的结果是( )
i=3;
printf("%d,",++i);
printf("%d",i++);
A.3,3 B.3,4 C.4,3 D.4,4
【答案】D
【详解】i=3;初始化变量i为3。
++i是前自增,先执行i自增(i变为4),然后输出4。
i++是后自增,先输出当前i的值(4),然后i自增(i变为5)。
因此,输出结果为"4,4"。
14.若已定义x和y为 double 类型,则表达式:x=1,y=x+3/2的值是( )
A.1 B.2 C.2.0 D.2.6
【答案】C
【详解】表达式执行顺序:先计算3/2(整数除法,结果为1),然后y = x + 1(x=1.0,因此1.0+1=2.0)。
由于y是double类型,结果自动提升为2.0(浮点数)。
135.下列程序的结果是( )
#include<stdio.h>
int fun(int x,int y)
{return(x+y);}
main()
{int a=1,b=2,c=3,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d
",sum);}
A.6 B.7 C.8 D.9
【答案】C
16.若有下列程序段,其输出结果是( )
int a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf("%d,%d,%d",a,b,c);}
A.0.0,-10 B.0,0,5 C.-10,3,-10 D.3.3,-10
【答案】B
17.已知:int x-3,y=2,z=1;以下赋值表达式中错误的是( )
A.x=(y=4)=3; B.x=y=z+1; C.x=(y=4)+z; D.x=1+(y=z=4);
【答案】A
18.已知梯形的上底为a,下底为b,高为h,用C语言书写的正确的面积公式为( )
A.1/2(a+b)*h B.1.0/2*(a+b)*h C.1/2*(a+b)*h D.1.0/2(a+b)h
【答案】B
19.设有定义:int x=1,y=-1;则语句:printf(“%d
”,(x--&&++y));的输出结果是( )
A.1 B.0 C.-1 D.2
【答案】B
20.已有定义:int x=10;执行语句:printf("%d",(x=5*6,x*4,x+5));后的输出结果是( )
A.30 B.125 C.35 D.120
【答案】C
二、判断题(本大题共5小题,每题3分,共15分)
21.int a = 10; int b = a++; 执行后,b的值为11。( )
【答案】错误
【详解】b为10。
22.printf("%d", 10 % 3.5); 是合法的表达式。( )
【答案】错误
23.int a = 3; printf("%d", a++); 的输出为4。( )
【答案】错误
24.按位与运算符&的优先级高于等于运算符==。( )
【答案】错误
25.逗号表达式(a=3, a+2)的值是5,且a变为3。( )
【答案】正确
三、程序填空题(本大题共5小题,每题5分,共25分)
26.下列程序的功能是:输出3个变量中的最小值。请将程序补充完整。
#include <stdio.h>
#include<conio.h>
main()
{int a,b,c,t,min;
scanf("%d%d%d",&a,&b,&c);
t= ?a:b;
min= ?t:c;
printf("%d",min);
getch();}
【答案】 ①a<b ②t<c
27.以下程序的功能是:求整数x的y次方的低3位值,例如,5的6次方为15625,此值的低3位值为625。请填空。
#include <stdio.h>
#include<conio.h>
main()
{int t,r;
int x,y;
printf("input x and y:
");
scanf("%d%d",&x,&y);
t=【1】;
printf("x=%d,y=%d,r=%d,last=%d",x,y,r,t);
getch();}
int fun(int x,int y,int *p)
{int i,t=1;
for(i=1;i<=y;i++)
t=t*x;
【2】;
t=【3】;
return t;}
【答案】①fun(x,y,&r) ②*p=t ③t%1000
28.补全代码:输入两个整数,计算它们的平方和并输出
#include <stdio.h>
int main() {
int a, b;
printf("请输入两个整数:");
scanf("%d %d", ); // 填空1
int sum = ; // 填空2(表达式:a² + b²)
printf("平方和为:%d
", sum);
return 0;
}
【答案】 &a, &b a*a + b*b
29.依次输入十个整数,找出其平方最大的一个数并打印出来
#include<stdio.h>
main(){
int i,x,tmp,z=0;
for(i=1;i<=10;i++){
;
if {
y=x;
;
}
}
}
【答案】 scanf("%d",&x); x*x>z z=x*x;
【详解】每输入一次x,则判断一次x*x是否大于上一次保留的输入数字的平方,并且一旦成立,用y保存x,z保存x*x用来下一次判断。
30.编写程序,求1到10之间所有偶数的和及其所有奇数的和
#include<stdio.h>
main(){
int i,odd=0,even=0;
for(i=1; ;i++){
if ;
else ;
}
}
【答案】 i<=10 i%2==0 even+=i odd+=i;
【详解】循环取出1~10范围内的数,对该范围内的数进行判断,若能被2整除,则说明是偶数,否则则是奇数,向对应的变量里累加即可。
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$