内容正文:
编写说明:重庆市高等职业教育分类考试专业综合理论测试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于重庆市高等职业教育分类考试第一轮高考复习教学。
本专辑第6卷精准对标重庆市考纲,考试内容及范围【C语言程序设计知识】:
(一)C 语言基础:运算符与表达式
重庆市高等职业教育分类考试 计算机类
《C语言程序设计》考点双析卷 第6卷
运算符与表达式 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共30小题,每题3分,共90分)
1.已知 int a;char b;float c;对于运算符十十和一一表达错误的是( )
A.a++ B.a+++b++ C.--c D.(a+b)++
2.执行下列语句的结果是( )
i=3;
printf("%d,",++i);
printf("%d",i++);
A.3,3 B.3,4 C.4,3 D.4,4
3.写出以下程序的执行结果 ( )
main(){
int a,b; a=100; b=200; printf("%d",(a,b));}
A.100 B.200 C.20000 D.100=200
4.下列程序的结果是( )
#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
5.已知: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);
6.已有定义:int x=012,y=12;执行语句:printf("%o",x&y>>1);后的输出结果是( )
A.2 B.3 C.4 D.5
7.已有定义:int a=3;执行语句:a=2%a<<2;printf(“%d”,a);的输出结果是( )
A.8 B.9 C.10 D.11
8.已有定义:int a=1,b=2;执行语句:a=a^b;b=b^a;a=a^b;printf("%d,%d",a,b);后的输出结果是( )
A.1,2 B.2,1 C.2,2 D.1,1
9.已知:int a=1,b=2,c=3,x;x=(a^b)&c;,则x的值为( )
A.0 B.1 C.2 D.3
10.已有定义:char x,y;执行语句:x=5^3;y=~4&4;printf("%d,%d
",x,y);后的输出结果是( )
A.1,0 B.1,4 C.6,0 D.6,4
11.已有定义:int x=25;执行语句:printf("%d",~x);后的输出结果是( )
A.-26 B.26 C.25 D.-25
12.已有定义:int a=015,b=12;执行语句:printf("%d",a|b>>2);后的输出结果是( )
A.13 B.14 C.15 D.3
13.已有定义:int a=-7,b=12;执行语句:printf("%d",~a^b);后的输出结果是( )
A.11 B.10 C.12 D.13
14.已有定义:int a=022;执行语句:printf("%d",a<<2);后,的输出结果是( )
A.72 B.71 C.70 D.4
15.已有定义:int a=054,b=017;执行语句:printf("%o",a^b);后的输出结果是( )
A.47 B.43 C.45 D.42
16.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{ int i=8,j=9,m=i+++j++;
printf("%d,%d,%d",i,j,m);
getch();}
17.设以下变量均已正确定义且赋值,下列语句中能将x中的数值采用四舍五入的方法保留到小数点后两位( )
A.x=x*100+0.5/100.0; B.x=(x*100+0.5)/100.0
C.x=(int)(x*100+0.5)/100.0 D.x=(x/100+0.5)*100.0
18.已有定义:int a=7;float x=2.5,y=4.7;,执行语句:printf("%f",x+a%3*(int)(x+y)*2/4);后的输出结果是( )
A.5.5 B.5.500000 C.6.1 D.6.100000
19.已有定义:int i=3,j=3;执行语句:j=(i++,j++,++i);printf("%d,%d",i,j);后的输出结果是( )
A.5.5 B.5,4 C.4,5 D.3,3
20.已有定义:int i=6,j;执行语句:j=(++i)+(++i)+(++i);printf("%d,%d
",i,j);后的输出结果是( )
A.9,27 B.24,9 C.27,9 D.9,24
21.已有定义:int i=6,j;执行语句:j=(i++)+(i++)+(i++);printf("%d,%d
",i,j);后的输出结果是( )
A.18,9 B.21,9 C.9,21 D.9,18
22.已有定义:double f=3.141592;int n;执行语句:n=(int)(f+10)%3;后,n的值是( )
A.1 B.3 C.1.141592 D.4
23.已有定义:int i=5,j=7,x,y;执行语句:x=++i;y=j++;后,y,x的值分别是( )
A.6,8 B.5,7 C.7,6 D.6,7
24.已有定义:double x=17;int y;执行语句:y=(int)(x/5)%2;后,y的值为( )
A.1 B.1.4 C.2 D.有语法错
25.已有定义:int i,j;则表达式:(i=2,j=5,i++,i+j++)的值是( )
A.7 B.8 C.9 D.10
26.设以下变量a,i均已正确定义,且i已正确赋值,合法的C语言语句是( )
A.a=int(i); B.++i; C.a++; D.a=a+2;
27.设以下变量均已正确定义,下列选项中,非法的赋值语句是( )
A.n=(i=2,++i); B.j++; C.++(i+1); D.x+=j;
28.已有定义:int i=6;执行语句:printf(“%d,%d,%d
”,i,(++i)+(++i)+(++i),i);后的输出结果是( )
A.9,18,9 B.6,18,9 C.6,21,9 D.9,27,9
29.已有定义:int i=6;执行语句:printf(“%d,%d,%d
”,i,(i++)+(i++)+(i++),i);后的输出结果是( )
A.9,18,9 B.6,18,9 C.6,21,9 D.9,27,9
30.已有定义:int y=3,x=3,z=1;执行语句:printf(“%d,%d”,(++x,y++),z+2);后的输出结果是( )
A.3,4 B.4,2 C.3,3 D.4,3
二、读程序写答案题(本大题共2小题,每题5分,共10分)
31.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=2;
a%=4-1;
printf("%d,",a);
a+=a*=a-=a*=3;
printf("%d",a);
getch();}
32.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=9,b=2;
float x=6.6,y=1.1,z;
z=a/2+b*x/y-a/2;
printf("%5.2f",z);
getch();}
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:重庆市高等职业教育分类考试专业综合理论测试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《重庆市高等职业教育分类考试专业综合理论测试计算机类考试说明》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于重庆市高等职业教育分类考试第一轮高考复习教学。
本专辑第6卷精准对标重庆市考纲,考试内容及范围【C语言程序设计知识】:
(一)C 语言基础:运算符与表达式
重庆市高等职业教育分类考试 计算机类
《C语言程序设计》考点双析卷 第6卷
运算符与表达式 学生练习卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共30小题,每题3分,共90分)
1.已知 int a;char b;float c;对于运算符十十和一一表达错误的是( )
A.a++ B.a+++b++ C.--c D.(a+b)++
【答案】D
【详解】a+b是表达式,不是变量,无法自增
2.执行下列语句的结果是( )
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"。
3.写出以下程序的执行结果 ( )
main(){
int a,b; a=100; b=200; printf("%d",(a,b));}
A.100 B.200 C.20000 D.100=200
【答案】B
【详解】逗号运算符(a, b)会依次计算每个表达式,并返回最后一个表达式(b)的值。
因此,(a, b)的值为 b(200),所以输出200。
4.下列程序的结果是( )
#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
5.已知: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
6.已有定义:int x=012,y=12;执行语句:printf("%o",x&y>>1);后的输出结果是( )
A.2 B.3 C.4 D.5
【答案】C
7.已有定义:int a=3;执行语句:a=2%a<<2;printf(“%d”,a);的输出结果是( )
A.8 B.9 C.10 D.11
【答案】A
8.已有定义:int a=1,b=2;执行语句:a=a^b;b=b^a;a=a^b;printf("%d,%d",a,b);后的输出结果是( )
A.1,2 B.2,1 C.2,2 D.1,1
【答案】B
9.已知:int a=1,b=2,c=3,x;x=(a^b)&c;,则x的值为( )
A.0 B.1 C.2 D.3
【答案】D
10.已有定义:char x,y;执行语句:x=5^3;y=~4&4;printf("%d,%d
",x,y);后的输出结果是( )
A.1,0 B.1,4 C.6,0 D.6,4
【答案】C
【详解】一个数位取反后与自己相与始终为0。
11.已有定义:int x=25;执行语句:printf("%d",~x);后的输出结果是( )
A.-26 B.26 C.25 D.-25
【答案】A
12.已有定义:int a=015,b=12;执行语句:printf("%d",a|b>>2);后的输出结果是( )
A.13 B.14 C.15 D.3
【答案】C
13.已有定义:int a=-7,b=12;执行语句:printf("%d",~a^b);后的输出结果是( )
A.11 B.10 C.12 D.13
【答案】B
14.已有定义:int a=022;执行语句:printf("%d",a<<2);后,的输出结果是( )
A.72 B.71 C.70 D.4
【答案】A
15.已有定义:int a=054,b=017;执行语句:printf("%o",a^b);后的输出结果是( )
A.47 B.43 C.45 D.42
【答案】B
16.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{ int i=8,j=9,m=i+++j++;
printf("%d,%d,%d",i,j,m);
getch();}
【答案】9,10,17(注:++的优先级高于+)
17.设以下变量均已正确定义且赋值,下列语句中能将x中的数值采用四舍五入的方法保留到小数点后两位( )
A.x=x*100+0.5/100.0; B.x=(x*100+0.5)/100.0
C.x=(int)(x*100+0.5)/100.0 D.x=(x/100+0.5)*100.0
【答案】C
18.已有定义:int a=7;float x=2.5,y=4.7;,执行语句:printf("%f",x+a%3*(int)(x+y)*2/4);后的输出结果是( )
A.5.5 B.5.500000 C.6.1 D.6.100000
【答案】B
19.已有定义:int i=3,j=3;执行语句:j=(i++,j++,++i);printf("%d,%d",i,j);后的输出结果是( )
A.5.5 B.5,4 C.4,5 D.3,3
【答案】A
20.已有定义:int i=6,j;执行语句:j=(++i)+(++i)+(++i);printf("%d,%d
",i,j);后的输出结果是( )
A.9,27 B.24,9 C.27,9 D.9,24
【答案】A
21.已有定义:int i=6,j;执行语句:j=(i++)+(i++)+(i++);printf("%d,%d
",i,j);后的输出结果是( )
A.18,9 B.21,9 C.9,21 D.9,18
【答案】D
22.已有定义:double f=3.141592;int n;执行语句:n=(int)(f+10)%3;后,n的值是( )
A.1 B.3 C.1.141592 D.4
【答案】A
23.已有定义:int i=5,j=7,x,y;执行语句:x=++i;y=j++;后,y,x的值分别是( )
A.6,8 B.5,7 C.7,6 D.6,7
【答案】C
24.已有定义:double x=17;int y;执行语句:y=(int)(x/5)%2;后,y的值为( )
A.1 B.1.4 C.2 D.有语法错
【答案】A
25.已有定义:int i,j;则表达式:(i=2,j=5,i++,i+j++)的值是( )
A.7 B.8 C.9 D.10
【答案】B
26.设以下变量a,i均已正确定义,且i已正确赋值,合法的C语言语句是( )
A.a=int(i); B.++i; C.a++; D.a=a+2;
【答案】C
【详解】注意a未赋值。
27.设以下变量均已正确定义,下列选项中,非法的赋值语句是( )
A.n=(i=2,++i); B.j++; C.++(i+1); D.x+=j;
【答案】C
28.已有定义:int i=6;执行语句:printf(“%d,%d,%d
”,i,(++i)+(++i)+(++i),i);后的输出结果是( )
A.9,18,9 B.6,18,9 C.6,21,9 D.9,27,9
【答案】D
29.已有定义:int i=6;执行语句:printf(“%d,%d,%d
”,i,(i++)+(i++)+(i++),i);后的输出结果是( )
A.9,18,9 B.6,18,9 C.6,21,9 D.9,27,9
【答案】A
30.已有定义:int y=3,x=3,z=1;执行语句:printf(“%d,%d”,(++x,y++),z+2);后的输出结果是( )
A.3,4 B.4,2 C.3,3 D.4,3
【答案】C
二、读程序写答案题(本大题共2小题,每题5分,共10分)
31.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=2;
a%=4-1;
printf("%d,",a);
a+=a*=a-=a*=3;
printf("%d",a);
getch();}
【答案】2,0
32.以下程序的运行结果是( )
#include <stdio.h>
#include<conio.h>
main()
{int a=9,b=2;
float x=6.6,y=1.1,z;
z=a/2+b*x/y-a/2;
printf("%5.2f",z);
getch();}
【答案】12.00
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$