第6卷 数据的输入与输出 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计知识考点双析卷》

2025-10-29
| 2份
| 20页
| 124人阅读
| 1人下载

内容正文:

编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。 本专辑第6卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】: (三)数据的输入与输出 湖南省普通高等学校对口招生考试 计算机应用类 《C语言程序设计》考点双析卷 第6卷 数据的输入与输出 学生练习卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.使用getchar和putchar函数进行单个字符输入输出时,必须使用预处理命令”#include”包括(   )文件 A.stdio.h B.math.h C.string.h D.stdlib.h 【答案】A 【详解】这道题考查的是C语言中字符输入输出函数所需的头文件。getchar和putchar函数属于标准输入输出函数,其相关声明都包含在stdio.h头文件中 2.若执行下面的程序时从键盘上输入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 3.若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 4.以下程序的运行结果是(   ) #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 5.以下程序的运行结果是(   ) #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 6.#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 7.以下程序运行的结果是(   ) #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 8.有以下程序,程序输出为(   ) main()     { int a=0,b=0,c=0,d=0;     if(a=1) b=1;c=2; else d=3; printf(“%d,%d,%d,%d ",a,b,c,d);} A.0,1,2,0 B.0,0,0,3 C.1,1,2,0 D.编译有错 【答案】D 9.执行下列程序段时,若键盘上输入EFG,则输出结果是(   ) main( ){ char ch;         ch=getchar( ); putchar(ch) ;} A.E B.EF C.EFG D.输出不确定的值 【答案】A 【详解】getchar() 每次只读取一个字符(从输入缓冲区中读取第一个字符)。 输入"EFG"后,getchar() 只读取第一个字符'E',并赋值给变量ch。 putchar(ch) 输出字符'E'。 后续的"FG"仍留在输入缓冲区中,但程序没有继续读取,因此只输出'E'。 10.写出以下程序的执行结果(   )     char c='z'; printf("%c",c-25); A.a B.B.Z C.z-25 D.y 【答案】A 【详解】字符变量 c 被赋值为 'z',其ASCII值为122。 c-25 即 122 - 25 = 97,对应ASCII字符 'a'。 printf 使用 %c 格式输出,因此打印字符 'a'。 11.执行下列语句的结果是(   ) 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"。 12.下列程序的结果是(   ) #include<stdio.h> int fun(int x) {int p; if(x==0||x==1)  p=3; else p=x-fun(x-2); return p;} main(){printf("%d ",fun(7));} A.1 B.2 C.3 D.4 【答案】B 13.以下程序段的运行结果是(   ) int a;char c=10;float f=125.0;double x;a=f/=c*=(x=5.5); printf("%d,%d,%.1f,%.1f",a,c,f,x); A.2,55,2.3,5.5 B.3,55,2.3,5.5 C.2,55.0,2.3,5.5 D.2,55,2.3,6.0 【答案】A 14.以下程序段的输出结果是(   ) float a=3.4;int b,c=45,d;b=256;d=c/3; printf("a=%.1f,b=%u,d=%x",a,b,d); A.a=3.4,b=-256,d=f B.a=3.400000,b=256,d=f C.a=3.4,b=256,d=15 D.a=3.4,b=256,d=f 【答案】D 15.以下程序段的输出结果是(   ) char a,b,c='x';a='A';b=111;putchar(a+1);putchar(b);c++;putchar(c); A.Boy B.Bna C.boy D.bOy 【答案】A 16.已有定义:int x=10,y=3,z;执行语句:printf("%d",z=(x%y,x/y));后的输出结果是(   ) A.0 B.1 C.2 D.3 【答案】D 17.若有定义语句:char c1,c2;,则以下不正确的输入输出语句是(   ) A.scanf(“c1=%cc2=%c”,&c1,&c2); B.c1=getchar(); C.putchar(c2); D.putchar(c1,c2); 【答案】D 18.设变量均已正确定义,若要通过语句:scanf(“%d%c%d%c”,%a1,&c1,&a2,&c2);为int型变量a1和a2赋值10和20,为char型变量c1和c2赋值a和b,下列正确的输入是(   )(注:□表示空格) A.10□e□30□f<回车> B.10□e30□f<回车> C.10□e<回车>30□f<回车> D.10e<回车>30f<回车> 【答案】D 【详解】%c输入时会将空格当做字符型数值输入字符变量。 19.设有定义语句int a,b,c;,若要通过语句scanf(“%d,%d”,&a,&b);使得变量a得到数值10,变量b得到数值2,下面输入形式中错误的是(   )(注:□代表空格) A.6,5<Enter> B.6,□□5<Enter> C.65<Enter> D.6, <Enter>5<Enter> 【答案】C 【详解】非格式符原样输入,在输入时int型数据时,空格和回车键可作为分隔符。 20.下列有关scanf函数的叙述中,正确的是(   ) A.输入项可以为一实型常量,如scanf(“%f”,3.5); B.只有格式控制没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”); C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%3.1f”,&a); D.当输入数据时,必须指明变量的地址,如scanf(“%f”,&a); 【答案】D 【详解】注意,scanf函数不能控制实型数据的精度。 二、程序设计题(本大题共4小题,每题10分,共40分) 21.输入一个数字n(n<10000),输出1~n之间素数的个数。 #include<stdio.h> void main() {     int i,j,n,k=0;         scanf("%d",&n); /*******space*******/ /*******space*******/ printf("素数的个数=%d",k); } 【答案】scanf("%d",&n);         for(i=2;i<=n;i++){             for(j=2;j<i;j++){                 if(i%j==0) break;             }             if(j>=i) k++; } 【详解】考察判断素数方法。参考专题3.4的知识点1判断素数的方法之一 判断素数的普通方法。 22.输入n的值,统计所有在正整数1和n之间能被5整除、但不能被10整除的数有多少个。    #include<stdio.h>    void main()    {         int i,n,k=0;         /*******space*******/ /*******space*******/         printf("%d ",k); } 【答案】scanf("%d",&n);         for(i=1;i<=n;i++) {     if(i%5==0 && i%10!=0) k++; } 【详解】利用循环挑选出范围内的数字,当其中的数模除5等于0且模除1000不等于0时,进行计数器累加即可。 23.从键盘输入n,统计[1,n]范围内各位数字之和能被15整除的整数个数。例如:78的各位数字之和是:7+8=15,则78是一个各位数字之和能被15整除的整数。   #include<stdio.h> void main() { int n,sum,i,j,acount=0; /*******space*******/ /*******space*******/         printf("%d",acount); } 【答案】scanf("%d",&n); for(i=1;i<=n;i++)         {              sum=0;              j=i;              while(j!=0)              {                  sum=sum+j%10;                  j=j/10;              }              if(sum%15==0)                  acount++; } 【详解】利用循环挑选出范围内的数字,利用数位分离进行求每个数的各位数字之和,然后当数字之和为15的倍数时进行计数器累加即可。 24.输入语数外三门功课的成绩,求总分和平均分,并保留两位小数    #include<stdio.h>    void main(){        float math,chinese,english;        float sum,avg;        /*******space*******/        /*******space*******/    } 【答案】scanf(“%f%f%f“,&math,&chinese.&english);        sum=math+chinese+english;        avg=sum/3;        printf("总分为%f,平均分为%f",sum,avg); 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $ 编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。 本专辑第6卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】: (三)数据的输入与输出 湖南省普通高等学校对口招生考试 计算机应用类 《C语言程序设计》考点双析卷 第6卷 数据的输入与输出 学生练习卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.使用getchar和putchar函数进行单个字符输入输出时,必须使用预处理命令”#include”包括(   )文件 A.stdio.h B.math.h C.string.h D.stdlib.h 2.若执行下面的程序时从键盘上输入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 3.若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); 4.以下程序的运行结果是(   ) #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 5.以下程序的运行结果是(   ) #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 6.#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 7.以下程序运行的结果是(   ) #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 8.有以下程序,程序输出为(   ) main()     { int a=0,b=0,c=0,d=0;     if(a=1) b=1;c=2; else d=3; printf(“%d,%d,%d,%d ",a,b,c,d);} A.0,1,2,0 B.0,0,0,3 C.1,1,2,0 D.编译有错 9.执行下列程序段时,若键盘上输入EFG,则输出结果是(   ) main( ){ char ch;         ch=getchar( ); putchar(ch) ;} A.E B.EF C.EFG D.输出不确定的值 10.写出以下程序的执行结果(   )     char c='z'; printf("%c",c-25); A.a B.B.Z C.z-25 D.y 11.执行下列语句的结果是(   ) i=3; printf("%d,",++i); printf("%d",i++); A.3,3 B.3,4 C.4,3 D.4,4 12.下列程序的结果是(   ) #include<stdio.h> int fun(int x) {int p; if(x==0||x==1)  p=3; else p=x-fun(x-2); return p;} main(){printf("%d ",fun(7));} A.1 B.2 C.3 D.4 13.以下程序段的运行结果是(   ) int a;char c=10;float f=125.0;double x;a=f/=c*=(x=5.5); printf("%d,%d,%.1f,%.1f",a,c,f,x); A.2,55,2.3,5.5 B.3,55,2.3,5.5 C.2,55.0,2.3,5.5 D.2,55,2.3,6.0 14.以下程序段的输出结果是(   ) float a=3.4;int b,c=45,d;b=256;d=c/3; printf("a=%.1f,b=%u,d=%x",a,b,d); A.a=3.4,b=-256,d=f B.a=3.400000,b=256,d=f C.a=3.4,b=256,d=15 D.a=3.4,b=256,d=f 15.以下程序段的输出结果是(   ) char a,b,c='x';a='A';b=111;putchar(a+1);putchar(b);c++;putchar(c); A.Boy B.Bna C.boy D.bOy 16.已有定义:int x=10,y=3,z;执行语句:printf("%d",z=(x%y,x/y));后的输出结果是(   ) A.0 B.1 C.2 D.3 17.若有定义语句:char c1,c2;,则以下不正确的输入输出语句是(   ) A.scanf(“c1=%cc2=%c”,&c1,&c2); B.c1=getchar(); C.putchar(c2); D.putchar(c1,c2); 18.设变量均已正确定义,若要通过语句:scanf(“%d%c%d%c”,%a1,&c1,&a2,&c2);为int型变量a1和a2赋值10和20,为char型变量c1和c2赋值a和b,下列正确的输入是(   )(注:□表示空格) A.10□e□30□f<回车> B.10□e30□f<回车> C.10□e<回车>30□f<回车> D.10e<回车>30f<回车> 19.设有定义语句int a,b,c;,若要通过语句scanf(“%d,%d”,&a,&b);使得变量a得到数值10,变量b得到数值2,下面输入形式中错误的是(   )(注:□代表空格) A.6,5<Enter> B.6,□□5<Enter> C.65<Enter> D.6, <Enter>5<Enter> 20.下列有关scanf函数的叙述中,正确的是(   ) A.输入项可以为一实型常量,如scanf(“%f”,3.5); B.只有格式控制没有输入项,也能进行正确输入,如scanf(“a=%d,b=%d”); C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(“%3.1f”,&a); D.当输入数据时,必须指明变量的地址,如scanf(“%f”,&a); 二、程序设计题(本大题共4小题,每题10分,共40分) 21.输入一个数字n(n<10000),输出1~n之间素数的个数。 #include<stdio.h> void main() {     int i,j,n,k=0;         scanf("%d",&n); /*******space*******/ /*******space*******/ printf("素数的个数=%d",k); } 22.输入n的值,统计所有在正整数1和n之间能被5整除、但不能被10整除的数有多少个。    #include<stdio.h>    void main()    {         int i,n,k=0;         /*******space*******/ /*******space*******/         printf("%d ",k); } 23.从键盘输入n,统计[1,n]范围内各位数字之和能被15整除的整数个数。例如:78的各位数字之和是:7+8=15,则78是一个各位数字之和能被15整除的整数。   #include<stdio.h> void main() { int n,sum,i,j,acount=0; /*******space*******/ /*******space*******/         printf("%d",acount); } 24.输入语数外三门功课的成绩,求总分和平均分,并保留两位小数    #include<stdio.h>    void main(){        float math,chinese,english;        float sum,avg;        /*******space*******/        /*******space*******/    } 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $

资源预览图

第6卷 数据的输入与输出 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计知识考点双析卷》
1
第6卷 数据的输入与输出 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计知识考点双析卷》
2
第6卷 数据的输入与输出 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计知识考点双析卷》
3
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。