第9卷 运算符与表达式 江苏省中职职教高考专业综合理论考试-计算机类《C语言程序设计》考点双析卷

2025-10-31
| 2份
| 22页
| 86人阅读
| 0人下载

内容正文:

编写说明:江苏省中职职教高考专业综合理论考试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《江苏省中职职教高考专业综合理论考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于江苏省中职职教高考专业综合理论考试第一轮高考复习教学。 本专辑第9卷精准对标江苏省考纲,考试内容及范围【C语言程序设计】: (四)数据类型及其运算:理解C运算符的种类、运算优先级、结合性;理解不同类型数据间的转换与运算;掌握C表达式类型和求值规则。 江苏省中职职教高考专业综合理论考试 计算机类 《C语言程序设计》考点双析卷 第9卷 运算符与表达式 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.下列语句中符合C语言语法的赋值语句是( ) A.a=7+b+c=a+7; B.a=7+b++=a+7; C.a=7+b,b++,a+7; D.a=7+b,c=a+7; 2.设变量a是整型,f是实型,i是双精度型,则表达式10+’a’+i*f的数据类型是(   ) A.int型 B.float型 C.double型 D.不确定 3.以下程序的运行结果是(   ) #include <stdio.h> int main( ) { int m=5, n=10; printf("%d, %d ",m++, --n); return 0; } A.5,9 B.6,9 C.5,10 D.6,10 4.若有定义 #define N 2 #define Y(n) ((N+1)*n) 则执行语句z=2*(N+Y(5));后,z的值为(   ) A.无确定值 B.语句有错误 C.34 D.70 5.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(   ) A.算术运算、赋值运算、关系运算 B.关系运算、赋值运算、算术运算 C.算术运算、关系运算、赋值运算 D.关系运算、算术运算、赋值运算 6.若已定义x和y为double类型,且x=1;则表达式y=x+3/2的值是(   ) A.1 B.2 C.2.0 D.2.5 7.以下程序的运行结果是(   ) #include<stdio.h> #define ADD(x) x+x int main ( ) { int m=1,n=2,k=3,sum ; sum = ADD(m+n)*k ; printf(“%d ”,sum) ; return 0; } A.18 B.9 C.12 D.10 8.已知x = 4.5,y = 2.5,求表达式(x + y)/2 + (int)y % (int)x的值是(   ) A.3 B.5 C.3.5 D.5.5 9.若以下选项中的变量已正确定义,则正确的赋值语句是(   ) A.x1=26.8%3 B.1+2=x2 C.x3=0x12; D.x4=1+2=3; 10.下列程序的输出结果是(   ) void     main( ) { int a=7,b=5; printf("%d ",b=b%a); } A.0 B.1 C.5 D.不确定值 11.若有以下程序: main() {int k=2,i=2,m; m=(k+=i*=k); printf("%d,%d ",m,i); } 执行后的输出结果是(   ) A.8,6 B.8,3 C.6,4 D.7,4 12.以下程序运行的结果是(   ) #define X 5 #define Y X+1 #define Z Y*X/2 void main( ) {   int a=Y ;    printf(" %d,%d" ,Z,--a ) ; } A.7,6 B.12,6 C.12,5 D.7,5 13.设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是(   ) A.把x和y按从大到小排列 B.把x和y按从小到大排列 C.无确定结果 D.交换x和y中的值 14.下面是C语言合法的复合语句的是(   ) A.{ #define PI=3.14; double v1,r=3; v1=PI*r*r; } B.{ double s,a=5,b=10,h=8 s=(a+b)*h/2.0 printf(“area=%lf”,s) } C.{ int t,a=4,b=7; t=a,a=b,b=t }; D.{ double v1,r=5; v1=4*3.14*r*r*r/3; { double v2,h=12; v2=3.14*r*r*h; } printf("%lf,%lf",v1,v2); } 15.已知各变量的类型如下 int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是(   ) A.a+=a-=(b=4)*(a=3) B.a=a*3+2 C.x%(-3) D.y=float(i) 16.阅读以下程序,当输入数据的形式为25,13,10<回车>,程序的输出结果为(   ) main() {int x,y,z; scanf("%d,%d,%d",&x,&y,&z); printf("x+z=",x+z);} A.x+y+z=48 B.x+y+z=35 C.x+z=35 D.不确定值 17.将数学表达式ab/(c+df)改写为C语言表达式,正确的是(   ) A.ab/(c+df) B.a*b/c+d*f C.a*b/(c+d*f) D.(a*b)/(c+d)*f 18.以下程序的输出结果是(   ) int main() { int a=20,b=10; printf("%d,%%d ",a+b,a-b); } A.30,%d B.30,10 C.30,%10 D.以上答案均不正确 19.若有定义:int  a=7; float  x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(   ) A.2.500000 B.2.750000 C.3.500000 D.0.000000 20.假定有以下变量定义 int k=7,x=12; 则能使值为3的表达式是(   ) A.x%=(k%=5) B.x%=(k-k%5) C.x%=k-k%5 D.(x%=k)-(k%=5) 二、判断题(本大题共5小题,每题3分,共15分) 21.表达式5 / 2的结果是2.5。( ) 22.表达式3 + 5 * 2的结果是13。( ) 23.算术运算符中,加法和减法的结合性是从右到左。( ) 24.算术表达式中,单目负号运算符 - 的优先级高于乘法运算符 *。( ) 25.表达式(int)3.6 + 4.5的结果类型是double。( ) 三、程序填空题(本大题共5小题,每题5分,共25分) 26.求方程:的根,设,a,b,c由键盘输入。(例如输入1 3 2,输出:x1=-1.00,x2=-2.00) #include <stdio.h> #include<conio.h> #include<math.h> main() {float a,b,c,disc,x1,x2,p,q; scanf("%f%f%f",&a,&b,&c); disc= ; p=-b/(2*a); q= ; x1=p+q; x2=p-q; printf(" ",x1,x2); getch();} 27.下面程序的功能是实现左右循环移位,当输入位移的位数是一正整数时循环右移,输入一负整数时循环左移。请填空。 #include <stdio.h> #include<conio.h> int moveright(int value, int n ) { int z; z=(value>>n)|(value<<(16-n)); return(z);} int moveleft(int value,int n ) { int z; z= ; return(z);} main() {int n,a; printf("请输入一个八进制数:"); scanf("%o",&a); printf("请输入位移的位数 :"); scanf("%d",&n); if ) {printf("循环右移的结果为:%o ",moveright(a,n));} else { ; printf("循环左移的结果为:%o ",moveleft(a,n));} getch();} 28.下面程序的功能是对输入的三个实数求平均值,再对平均值保留小数点后1位,第2位四舍五入。 #include <stdio.h> #include<conio.h> main() { double a,b,c,v; scanf("%lf%lf%lf",&a,&b,&c); v= ; printf("%lf ",v); v= ;//四舍五入保留1位小数 printf("%lf",v); getch();} 29.以下程序的功能是从键盘上输入一个3位数,然后将它反向输出,例如,若输入123,则输出321. #include <stdio.h> #include<conio.h> main() { int a,b,c; printf("输入一个3位整数:"); scanf("%d",&a); ; printf("%d",b); //输出个位数 a=a/10; ; printf("%d",b); //输出十位数 ; printf("%d",a); //输出百位数 getch();} 30.以下程序的功能是:根据输入的三角形的三条边,判断是否能组成三角形,若可以则输出它的面积和三角形的类型。请填空。 #include <stdio.h> #include<conio.h> main() {float a,b,c; float s,area; scanf("%f%f%f",&a,&b,&c); if(【1】) {s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("%f",area); if(【2】) printf("等边三角形"); else if(【3】) printf("等腰三角形"); else if(【4】) printf("直角三角形"); else printf("一般三角形");} else printf("不能组成三角形"); getch();} 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $ 编写说明:江苏省中职职教高考专业综合理论考试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《江苏省中职职教高考专业综合理论考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于江苏省中职职教高考专业综合理论考试第一轮高考复习教学。 本专辑第9卷精准对标江苏省考纲,考试内容及范围【C语言程序设计】: (四)数据类型及其运算:理解C运算符的种类、运算优先级、结合性;理解不同类型数据间的转换与运算;掌握C表达式类型和求值规则。 江苏省中职职教高考专业综合理论考试 计算机类 《C语言程序设计》考点双析卷 第9卷 运算符与表达式 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.下列语句中符合C语言语法的赋值语句是( ) A.a=7+b+c=a+7; B.a=7+b++=a+7; C.a=7+b,b++,a+7; D.a=7+b,c=a+7; 【答案】D 2.设变量a是整型,f是实型,i是双精度型,则表达式10+’a’+i*f的数据类型是(   ) A.int型 B.float型 C.double型 D.不确定 【答案】C 3.以下程序的运行结果是(   ) #include <stdio.h> int main( ) { int m=5, n=10; printf("%d, %d ",m++, --n); return 0; } A.5,9 B.6,9 C.5,10 D.6,10 【答案】A 4.若有定义 #define N 2 #define Y(n) ((N+1)*n) 则执行语句z=2*(N+Y(5));后,z的值为(   ) A.无确定值 B.语句有错误 C.34 D.70 【答案】C 5.算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(   ) A.算术运算、赋值运算、关系运算 B.关系运算、赋值运算、算术运算 C.算术运算、关系运算、赋值运算 D.关系运算、算术运算、赋值运算 【答案】A 【详解】C语言中,算术运算符、赋值运算符和关系运算符的运算优先级从高到低依次为: 算术运算符(如 +, -, *, /) 关系运算符(如 >, <, ==, !=, >=, <=) 赋值运算符(如 =, +=, -=, *=, /=) 6.若已定义x和y为double类型,且x=1;则表达式y=x+3/2的值是(   ) A.1 B.2 C.2.0 D.2.5 【答案】C 7.以下程序的运行结果是(   ) #include<stdio.h> #define ADD(x) x+x int main ( ) { int m=1,n=2,k=3,sum ; sum = ADD(m+n)*k ; printf(“%d ”,sum) ; return 0; } A.18 B.9 C.12 D.10 【答案】D 8.已知x = 4.5,y = 2.5,求表达式(x + y)/2 + (int)y % (int)x的值是(   ) A.3 B.5 C.3.5 D.5.5 【答案】D 9.若以下选项中的变量已正确定义,则正确的赋值语句是(   ) A.x1=26.8%3 B.1+2=x2 C.x3=0x12; D.x4=1+2=3; 【答案】D 10.下列程序的输出结果是(   ) void     main( ) { int a=7,b=5; printf("%d ",b=b%a); } A.0 B.1 C.5 D.不确定值 【答案】C 11.若有以下程序: main() {int k=2,i=2,m; m=(k+=i*=k); printf("%d,%d ",m,i); } 执行后的输出结果是(   ) A.8,6 B.8,3 C.6,4 D.7,4 【答案】C 【详解】该程序考察复合赋值运算符的运算顺序。执行过程分三步:   先计算i*=k(即i=ik=22=4),此时i=4 再计算k+=i(即k=k+i=2+4=6),此时k=6 最后将结果赋给m(m=6) ‌输出结果:‌ 6,4 12.以下程序运行的结果是(   ) #define X 5 #define Y X+1 #define Z Y*X/2 void main( ) {   int a=Y ;    printf(" %d,%d" ,Z,--a ) ; } A.7,6 B.12,6 C.12,5 D.7,5 【答案】D 13.设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是(   ) A.把x和y按从大到小排列 B.把x和y按从小到大排列 C.无确定结果 D.交换x和y中的值 【答案】D 14.下面是C语言合法的复合语句的是(   ) A.{ #define PI=3.14; double v1,r=3; v1=PI*r*r; } B.{ double s,a=5,b=10,h=8 s=(a+b)*h/2.0 printf(“area=%lf”,s) } C.{ int t,a=4,b=7; t=a,a=b,b=t }; D.{ double v1,r=5; v1=4*3.14*r*r*r/3; { double v2,h=12; v2=3.14*r*r*h; } printf("%lf,%lf",v1,v2); } 【答案】D 15.已知各变量的类型如下 int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是(   ) A.a+=a-=(b=4)*(a=3) B.a=a*3+2 C.x%(-3) D.y=float(i) 【答案】A 16.阅读以下程序,当输入数据的形式为25,13,10<回车>,程序的输出结果为(   ) main() {int x,y,z; scanf("%d,%d,%d",&x,&y,&z); printf("x+z=",x+z);} A.x+y+z=48 B.x+y+z=35 C.x+z=35 D.不确定值 【答案】C 17.将数学表达式ab/(c+df)改写为C语言表达式,正确的是(   ) A.ab/(c+df) B.a*b/c+d*f C.a*b/(c+d*f) D.(a*b)/(c+d)*f 【答案】C 18.以下程序的输出结果是(   ) int main() { int a=20,b=10; printf("%d,%%d ",a+b,a-b); } A.30,%d B.30,10 C.30,%10 D.以上答案均不正确 【答案】A 19.若有定义:int  a=7; float  x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(   ) A.2.500000 B.2.750000 C.3.500000 D.0.000000 【答案】A 【详解】本题考查C语言的表达式语句。其中,包含了强制类型转换、加法、除法、模除。第一步计算后x+a%3*7%2/4,第二步计算后x+1*7%2/4,下一步x+7%2/4,下一步x+1/4,下一步x+0,结果为2.5 20.假定有以下变量定义 int k=7,x=12; 则能使值为3的表达式是(   ) A.x%=(k%=5) B.x%=(k-k%5) C.x%=k-k%5 D.(x%=k)-(k%=5) 【答案】D 二、判断题(本大题共5小题,每题3分,共15分) 21.表达式5 / 2的结果是2.5。( ) 【答案】错误 22.表达式3 + 5 * 2的结果是13。( ) 【答案】正确 23.算术运算符中,加法和减法的结合性是从右到左。( ) 【答案】错误 24.算术表达式中,单目负号运算符 - 的优先级高于乘法运算符 *。( ) 【答案】正确 25.表达式(int)3.6 + 4.5的结果类型是double。( ) 【答案】正确 三、程序填空题(本大题共5小题,每题5分,共25分) 26.求方程:的根,设,a,b,c由键盘输入。(例如输入1 3 2,输出:x1=-1.00,x2=-2.00) #include <stdio.h> #include<conio.h> #include<math.h> main() {float a,b,c,disc,x1,x2,p,q; scanf("%f%f%f",&a,&b,&c); disc= ; p=-b/(2*a); q= ; x1=p+q; x2=p-q; printf(" ",x1,x2); getch();} 【答案】 b*b-4*a*c sqrt(disc)/(2*a) x1=%5.2f,x2=%5.2f 27.下面程序的功能是实现左右循环移位,当输入位移的位数是一正整数时循环右移,输入一负整数时循环左移。请填空。 #include <stdio.h> #include<conio.h> int moveright(int value, int n ) { int z; z=(value>>n)|(value<<(16-n)); return(z);} int moveleft(int value,int n ) { int z; z= ; return(z);} main() {int n,a; printf("请输入一个八进制数:"); scanf("%o",&a); printf("请输入位移的位数 :"); scanf("%d",&n); if ) {printf("循环右移的结果为:%o ",moveright(a,n));} else { ; printf("循环左移的结果为:%o ",moveleft(a,n));} getch();} 【答案】 (value<<n)|(value>>(16-n)) n>0 n=-n 28.下面程序的功能是对输入的三个实数求平均值,再对平均值保留小数点后1位,第2位四舍五入。 #include <stdio.h> #include<conio.h> main() { double a,b,c,v; scanf("%lf%lf%lf",&a,&b,&c); v= ; printf("%lf ",v); v= ;//四舍五入保留1位小数 printf("%lf",v); getch();} 【答案】 (a+b+c)/3 (int)(v*10+0.5)/10.0 29.以下程序的功能是从键盘上输入一个3位数,然后将它反向输出,例如,若输入123,则输出321. #include <stdio.h> #include<conio.h> main() { int a,b,c; printf("输入一个3位整数:"); scanf("%d",&a); ; printf("%d",b); //输出个位数 a=a/10; ; printf("%d",b); //输出十位数 ; printf("%d",a); //输出百位数 getch();} 【答案】 b=a%10 b=a%10 a=a/10 30.以下程序的功能是:根据输入的三角形的三条边,判断是否能组成三角形,若可以则输出它的面积和三角形的类型。请填空。 #include <stdio.h> #include<conio.h> main() {float a,b,c; float s,area; scanf("%f%f%f",&a,&b,&c); if(【1】) {s=(a+b+c)/2; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("%f",area); if(【2】) printf("等边三角形"); else if(【3】) printf("等腰三角形"); else if(【4】) printf("直角三角形"); else printf("一般三角形");} else printf("不能组成三角形"); getch();} 【答案】①a+b>c&&b+c>a&&a+c>b        ②a==b&&b==c     ③a==b||a==c||b==c     ④(a*a+b*b==c*c)||(a*a+c*c==b*b)||(b*b+c*c==a*a) 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $

资源预览图

第9卷 运算符与表达式 江苏省中职职教高考专业综合理论考试-计算机类《C语言程序设计》考点双析卷
1
第9卷 运算符与表达式 江苏省中职职教高考专业综合理论考试-计算机类《C语言程序设计》考点双析卷
2
第9卷 运算符与表达式 江苏省中职职教高考专业综合理论考试-计算机类《C语言程序设计》考点双析卷
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。