内容正文:
编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。
本专辑第5卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】:
(三)数据的输入与输出
湖南省普通高等学校对口招生考试 计算机应用类
《C语言程序设计》考点双析卷 第5卷
数据的输入与输出 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.以下程序运行的结果是( )
#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
2.以下程序的输出结果是( )
int main()
{ int a=20,b=10;
printf("%d,%%d
",a+b,a-b); }
A.30,%d B.30,10 C.30,%10 D.以上答案均不正确
3.已有如下定义语句和输入语句,若要求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<回车>
4.以下程序段的输出结果是( )
int a=1234;
printf("%2d
",a);
A.12 B.34 C.1234 D.提示出错,无结果
5.以下程序运行后的输出结果是( )
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
6.设有如下程序
#include <stdio.h>
int main()
{char ch1=’A’,ch2=’a’;
printf”%c
”,(ch1,ch2));
return 0;
}
则以下叙述正确的是( )
A.程序的输出结果为大写字母A;
B.程序的输出结果为小写字母a;
C.运行时产生错误信息;
D.格式说明符的个数少于输出项个数,编译出错。
7.有输入语句: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<回车>
8.下列程序的输出结果是( )
void main( )
{ int a=7,b=5; printf("%d
",b=b%a); }
A.0 B.1 C.5 D.不确定值
9.下面是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);
}
10.要使用putchar函数实现向显示器输出字符’A’,则可以使用( )
A.putchar(65) B.putchar(A) C.putchar(“A”) D.putchar(‘\65’)
11.以下程序的运行结果是( )
#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
12.以下说法正确的是( )
A.输入项可以为一个实型常量,如scanf("%f", 3.5)
B.只有格式控制没有输入项也能进行正确输入,如scanf("%d")
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4f", &f)
D.当输入数据时,必须指定变量的地址,如scanf("%f", &f)
13.以下程序运行的结果是( )
#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
14.以下不是C语言简单语句的是( )
A.声明语句 B.跳转语句 C.表达式语句 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
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.以下叙述中正确的是( ( )
A.调用printf函数时,必须至少有一个输出项
B.在C语言中,整数可以以多种进制。例如十二进制、八进制或十六进制的形式输出
C.调用printf函数时,可以省略格式控制串
D.使用printf函数时,必须在之前包含头文件stdio.h
18.以下程序的运行结果是( )
#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
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( )
{ 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
二、程序设计题(本大题共4小题,每题10分,共40分)
21.输入3个字符,然后按输入的顺序输出这三个字符,,并依次输出它们的代码值(ASCII码),最后再按与输入字符相反的次序输出这三个字符。
22.从键盘输入两个数字,比较两个数的大小并进行输出
#include<stdio.h>
void main(){
/*******space*******/
/*******space*******/
}
23.一个数列的头三个数是0,0,1,第四个数是前三个数之和,以后每个都是前三个数之和,输入一个整数,数列最后一个数刚好大于输入的整数,这个数字在数列的第几项
#include<stdio.h>
int main()
{
int i,j,k,l,m,n;
i=j=0;
k=1;
n=3;
/*******space*******/
/*******space*******/
printf("%d
",n);
}
24.输入一个整数k,S=1*2*3*…*n,求S不大于k时最大的n
#include<stdio.h>
void main()
{
int i=1,k,s=1;
/******space*******/
/******space*******/
printf("%d
",i);
}
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$
编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。
本专辑第5卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】:
(三)数据的输入与输出
湖南省普通高等学校对口招生考试 计算机应用类
《C语言程序设计》考点双析卷 第5卷
数据的输入与输出 老师讲解卷
时间:45分钟 总分:100分
班级_______ 姓名_______ 学号_______ 成绩_______
一、单项选择题(本大题共20小题,每题3分,共60分)
1.以下程序运行的结果是( )
#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
2.以下程序的输出结果是( )
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
3.已有如下定义语句和输入语句,若要求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
4.以下程序段的输出结果是( )
int a=1234;
printf("%2d
",a);
A.12 B.34 C.1234 D.提示出错,无结果
【答案】C
5.以下程序运行后的输出结果是( )
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
6.设有如下程序
#include <stdio.h>
int main()
{char ch1=’A’,ch2=’a’;
printf”%c
”,(ch1,ch2));
return 0;
}
则以下叙述正确的是( )
A.程序的输出结果为大写字母A;
B.程序的输出结果为小写字母a;
C.运行时产生错误信息;
D.格式说明符的个数少于输出项个数,编译出错。
【答案】B
7.有输入语句: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
8.下列程序的输出结果是( )
void main( )
{ int a=7,b=5; printf("%d
",b=b%a); }
A.0 B.1 C.5 D.不确定值
【答案】C
9.下面是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
10.要使用putchar函数实现向显示器输出字符’A’,则可以使用( )
A.putchar(65) B.putchar(A) C.putchar(“A”) D.putchar(‘\65’)
【答案】A
11.以下程序的运行结果是( )
#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
12.以下说法正确的是( )
A.输入项可以为一个实型常量,如scanf("%f", 3.5)
B.只有格式控制没有输入项也能进行正确输入,如scanf("%d")
C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(%4f", &f)
D.当输入数据时,必须指定变量的地址,如scanf("%f", &f)
【答案】D
13.以下程序运行的结果是( )
#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
14.以下不是C语言简单语句的是( )
A.声明语句 B.跳转语句 C.表达式语句 D.函数调用语句
【答案】B
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.阅读以下程序,当输入数据的形式为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.以下叙述中正确的是( ( )
A.调用printf函数时,必须至少有一个输出项
B.在C语言中,整数可以以多种进制。例如十二进制、八进制或十六进制的形式输出
C.调用printf函数时,可以省略格式控制串
D.使用printf函数时,必须在之前包含头文件stdio.h
【答案】D
18.以下程序的运行结果是( )
#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
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( )
{ 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
二、程序设计题(本大题共4小题,每题10分,共40分)
21.输入3个字符,然后按输入的顺序输出这三个字符,,并依次输出它们的代码值(ASCII码),最后再按与输入字符相反的次序输出这三个字符。
【答案】#include <stdio.h>
main() {
char ch1, ch2, ch3;
printf("请输入三个字符:");
scanf("%c%c%c", &ch1, &ch2, &ch3);
printf("输入的字符顺序为:%c,%c,%c
", ch1, ch2, ch3);
printf("输入的字符的 ASCII码为:%d,%d,%d
", ch1, ch2, ch3);
printf("输入的字符相反次序顺序为:%c,%c,%c
", ch3, ch2, ch1);
}
22.从键盘输入两个数字,比较两个数的大小并进行输出
#include<stdio.h>
void main(){
/*******space*******/
/*******space*******/
}
【答案】int a,b;
scanf(“%d%d”,&a,&b);
if(a>b) printf(“%d”,a);
else printf(“%d”,b);
23.一个数列的头三个数是0,0,1,第四个数是前三个数之和,以后每个都是前三个数之和,输入一个整数,数列最后一个数刚好大于输入的整数,这个数字在数列的第几项
#include<stdio.h>
int main()
{
int i,j,k,l,m,n;
i=j=0;
k=1;
n=3;
/*******space*******/
/*******space*******/
printf("%d
",n);
}
【答案】scanf("%d",&m);
while(k<m)
{
n++;
l=i+j+k;
i=j;
j=k;
k=l;
}
24.输入一个整数k,S=1*2*3*…*n,求S不大于k时最大的n
#include<stdio.h>
void main()
{
int i=1,k,s=1;
/******space*******/
/******space*******/
printf("%d
",i);
}
【答案】scanf("%d",&k);
while(s<=k)
{
i++;
s=s*i;
}
i=i-1;
试卷第6页,共6页
试卷第5页,共6页
学科网(北京)股份有限公司
$