内容正文:
编写说明:江苏省中职职教高考专业综合理论考试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《江苏省中职职教高考专业综合理论考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于江苏省中职职教高考专业综合理论考试第一轮高考复习教学。
本专辑第15卷精准对标江苏省考纲,考试内容及范围【C语言程序设计】:
(五)基本语句:掌握输入输出函数;
江苏省中职职教高考专业综合理论考试 计算机类
《C语言程序设计》考点双析卷 第15卷
数据输入与输出 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.以下不是C语言简单语句的是( )
A.声明语句 B.跳转语句 C.表达式语句 D.函数调用语句
【答案】B
2.以下程序运行后的输出结果是( )
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
3.以下程序段的输出结果是( )
int a=1234;
printf("%2d
",a);
A.12 B.34 C.1234 D.提示出错,无结果
【答案】C
4.有输入语句:scanf(“a=%d, b=%d, c=%d”, &a, &b, &c);为使变量a的值为1,b的值为3,c的值为2;从键盘输入数据的正确形式应当是( )
A.123<回车>
B.1,3,2<回车>
C.a=1□b=3□c=2<回车>
D.a=1, b=3, c=2<回车>
【答案】D
5.使用getchar和putchar函数进行单个字符输入输出时,必须使用预处理命令”#include”包括( )文件
A.stdio.h B.math.h C.string.h D.stdlib.h
【答案】A
【详解】这道题考查的是C语言中字符输入输出函数所需的头文件。getchar和putchar函数属于标准输入输出函数,其相关声明都包含在stdio.h头文件中
6.以下程序运行的结果是( )
#include <stdio.h>
int main()
{int a=201,b=012;
printf(“%2d,%2d
”,a,b);
return 0
}
A.01,12 B.201,10 C.01,10 D.20,01
【答案】B
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.以下叙述中正确的是( ( )
A.调用printf函数时,必须至少有一个输出项
B.在C语言中,整数可以以多种进制。例如十二进制、八进制或十六进制的形式输出
C.调用printf函数时,可以省略格式控制串
D.使用printf函数时,必须在之前包含头文件stdio.h
【答案】D
9.以下程序的运行结果是( )
#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
10.以下程序的运行结果是( )
#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
11.以下程序的运行结果是( )
#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
12.若x和y均定义为int型,z定义为double型,以下不合法的scanf()函数调用语句为( )
A.scanf(“%d%lx,%le”,&x,&y,&z);
B.scanf(“%2d*%d%lf”,&x,&y,&z);
C.scanf(“%x%*d%o”,&x,&y,);
D.scanf(“%x%o%6.2f”,&x,&y,&z);
【答案】D
13.已有如下定义语句和输入语句,若要求a1, a2, c1, c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是( )(注:□代表空格)
main()
{int a1,a2;char c1,c2;
scanf("%d%c□%d%c",&a1,&c1,&a2,&c2);
……}
A.10A□20B<回车> B.10□A□20□B<回车>
C.10□A□20B<回车> D.10A20□B<回车>
【答案】A
14.以下说法正确的是( )
A.输入项可以为一个实型常量,如scanf("%f", 3.5)
B.只有格式控制没有输入项也能进行正确输入,如scanf("%d")
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4f", &f)
D.当输入数据时,必须指定变量的地址,如scanf("%f", &f)
【答案】D
15.若有以下程序:
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
16.以下程序的运行结果是( )
#include<stdio.h>
#define X 5
#define Y X+1
#define Z Y*X/2
int main ( ) {
int a=Y;
printf("%d
",Z);
printf("%d
",--a);
return 0;
}
A.75 B.125 C.76 D.126
【答案】A
17.#include <stdio.h>
main()
{ char a,b,c,d;
scanf(“%c%c”,&a,&b);
c=getchar(); d=getchar();
printf(“%c%c%c%c
”,a,b,c,d);
}
当执行程序时,按下列方式输入数据:
12<CR>
34<CR>
则输出结果是( )
A.1234 B.12 C.12 D.12
【答案】B
18.下列程序的输出结果是( )
void main( )
{ int a=7,b=5; printf("%d
",b=b%a); }
A.0 B.1 C.5 D.不确定值
【答案】C
19.下列程序段的输出结果是( )
int a=1234;
float b=123.456;
double c=12345.54321;
printf("%2d,%3.2f,%4.1f",a,b,c);
A.无输出 B.12, 123.46, 12345.5
C.1234,123.46,12345.5 D.1234,123.45, 1234.5
【答案】C
20.以下程序的输出结果是( )
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
二、判断题(本大题共5小题,每题3分,共15分)
21.scanf 的格式控制字符串中可以使用
。( )
【答案】错误
22.getchar() 函数可以读取包含空格的字符串。( )
【答案】错误
23.scanf("%d,%d", &a, &b); 可以正确读取输入 5 6。( )
【答案】错误
24.scanf("%s", str)读取输入时,遇到空格会停止。( )
【答案】正确
25.getchar()函数可以一次读取多个字符。( )
【答案】错误
三、读程序写答案题(本大题共5小题,每题5分,共25分)
26.下列程序的运行结果是
#include<stdio.h>
#include<conio.h>
main()
{unsigned char x,y,z;
x=0x33;y=x|0x9;z=x<<2;
printf("%d,%d
",y,z);
getch();}
【答案】59,204
27.下列程序的运行结果是
#include<stdio.h>
#include<conio.h>
main()
{int a[2][3]={1,2,3,4,5,6};
int (*p)[3];
int i,j;
p=a;
for(i=0;i<2;i++)
{for(j=0;j<3;j++)
printf("%d",*(*(p+i)+j));
printf("
");}
getch();}
【答案】123
456
28.执行程序时输入 33445566,程序运行后的输出结果是 。
int x, y;
scanf("%3d%*4d%ld", &x, &y);
printf("%d %d
", x + y, x - y);
【答案】340 320
29.执行以下程序的输出结果是( )(执行程序时输入:1234567<回车>)
#include <stdio.h>
#include<conio.h>
main()
{ int x,y;
scanf("%2d%*2d%ld",&x,&y);
printf("%d
",x+y);
getch();}
【答案】579
30.分析下面程序输入5,运行的结果
#include<stdio.h>
int main( )
{
int x;
scanf("%d",&x);
if(x>4)printf("%d\t",x-9);
if(x>3) printf("%d\t",x);
if(x>6)printf("%d\t",x+8);
}
【答案】-4 5
【详解】考查if实现多分支。
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明:江苏省中职职教高考专业综合理论考试-计算机类《C语言程序设计》考点双析卷专辑,依据省教育厅《江苏省中职职教高考专业综合理论考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建“讲练结合”的学习闭环,特别适用于江苏省中职职教高考专业综合理论考试第一轮高考复习教学。
本专辑第15卷精准对标江苏省考纲,考试内容及范围【C语言程序设计】:
(五)基本语句:掌握输入输出函数;
江苏省中职职教高考专业综合理论考试 计算机类
《C语言程序设计》考点双析卷 第15卷
数据输入与输出 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.以下不是C语言简单语句的是( )
A.声明语句 B.跳转语句 C.表达式语句 D.函数调用语句
2.以下程序运行后的输出结果是( )
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
3.以下程序段的输出结果是( )
int a=1234;
printf("%2d
",a);
A.12 B.34 C.1234 D.提示出错,无结果
4.有输入语句:scanf(“a=%d, b=%d, c=%d”, &a, &b, &c);为使变量a的值为1,b的值为3,c的值为2;从键盘输入数据的正确形式应当是( )
A.123<回车>
B.1,3,2<回车>
C.a=1□b=3□c=2<回车>
D.a=1, b=3, c=2<回车>
5.使用getchar和putchar函数进行单个字符输入输出时,必须使用预处理命令”#include”包括( )文件
A.stdio.h B.math.h C.string.h D.stdlib.h
6.以下程序运行的结果是( )
#include <stdio.h>
int main()
{int a=201,b=012;
printf(“%2d,%2d
”,a,b);
return 0
}
A.01,12 B.201,10 C.01,10 D.20,01
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.以下叙述中正确的是( ( )
A.调用printf函数时,必须至少有一个输出项
B.在C语言中,整数可以以多种进制。例如十二进制、八进制或十六进制的形式输出
C.调用printf函数时,可以省略格式控制串
D.使用printf函数时,必须在之前包含头文件stdio.h
9.以下程序的运行结果是( )
#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
10.以下程序的运行结果是( )
#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
11.以下程序的运行结果是( )
#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
12.若x和y均定义为int型,z定义为double型,以下不合法的scanf()函数调用语句为( )
A.scanf(“%d%lx,%le”,&x,&y,&z);
B.scanf(“%2d*%d%lf”,&x,&y,&z);
C.scanf(“%x%*d%o”,&x,&y,);
D.scanf(“%x%o%6.2f”,&x,&y,&z);
13.已有如下定义语句和输入语句,若要求a1, a2, c1, c2的值分别为10、20、A和B,当从第一列开始输入数据时,正确的数据输入方式是( )(注:□代表空格)
main()
{int a1,a2;char c1,c2;
scanf("%d%c□%d%c",&a1,&c1,&a2,&c2);
……}
A.10A□20B<回车> B.10□A□20□B<回车>
C.10□A□20B<回车> D.10A20□B<回车>
14.以下说法正确的是( )
A.输入项可以为一个实型常量,如scanf("%f", 3.5)
B.只有格式控制没有输入项也能进行正确输入,如scanf("%d")
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4f", &f)
D.当输入数据时,必须指定变量的地址,如scanf("%f", &f)
15.若有以下程序:
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
16.以下程序的运行结果是( )
#include<stdio.h>
#define X 5
#define Y X+1
#define Z Y*X/2
int main ( ) {
int a=Y;
printf("%d
",Z);
printf("%d
",--a);
return 0;
}
A.75 B.125 C.76 D.126
17.#include <stdio.h>
main()
{ char a,b,c,d;
scanf(“%c%c”,&a,&b);
c=getchar(); d=getchar();
printf(“%c%c%c%c
”,a,b,c,d);
}
当执行程序时,按下列方式输入数据:
12<CR>
34<CR>
则输出结果是( )
A.1234 B.12 C.12 D.12
18.下列程序的输出结果是( )
void main( )
{ int a=7,b=5; printf("%d
",b=b%a); }
A.0 B.1 C.5 D.不确定值
19.下列程序段的输出结果是( )
int a=1234;
float b=123.456;
double c=12345.54321;
printf("%2d,%3.2f,%4.1f",a,b,c);
A.无输出 B.12, 123.46, 12345.5
C.1234,123.46,12345.5 D.1234,123.45, 1234.5
20.以下程序的输出结果是( )
int main()
{ int a=20,b=10;
printf("%d,%%d
",a+b,a-b); }
A.30,%d B.30,10 C.30,%10 D.以上答案均不正确
二、判断题(本大题共5小题,每题3分,共15分)
21.scanf 的格式控制字符串中可以使用
。( )
22.getchar() 函数可以读取包含空格的字符串。( )
23.scanf("%d,%d", &a, &b); 可以正确读取输入 5 6。( )
24.scanf("%s", str)读取输入时,遇到空格会停止。( )
25.getchar()函数可以一次读取多个字符。( )
三、读程序写答案题(本大题共5小题,每题5分,共25分)
26.下列程序的运行结果是
#include<stdio.h>
#include<conio.h>
main()
{unsigned char x,y,z;
x=0x33;y=x|0x9;z=x<<2;
printf("%d,%d
",y,z);
getch();}
27.下列程序的运行结果是
#include<stdio.h>
#include<conio.h>
main()
{int a[2][3]={1,2,3,4,5,6};
int (*p)[3];
int i,j;
p=a;
for(i=0;i<2;i++)
{for(j=0;j<3;j++)
printf("%d",*(*(p+i)+j));
printf("
");}
getch();}
28.执行程序时输入 33445566,程序运行后的输出结果是 。
int x, y;
scanf("%3d%*4d%ld", &x, &y);
printf("%d %d
", x + y, x - y);
29.执行以下程序的输出结果是( )(执行程序时输入:1234567<回车>)
#include <stdio.h>
#include<conio.h>
main()
{ int x,y;
scanf("%2d%*2d%ld",&x,&y);
printf("%d
",x+y);
getch();}
30.分析下面程序输入5,运行的结果
#include<stdio.h>
int main( )
{
int x;
scanf("%d",&x);
if(x>4)printf("%d\t",x-9);
if(x>3) printf("%d\t",x);
if(x>6)printf("%d\t",x+8);
}
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$