第11卷 while循环 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计知识考点双析卷》

2025-10-29
| 2份
| 25页
| 131人阅读
| 1人下载

内容正文:

编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。 本专辑第11卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】: (六)while循环 湖南省普通高等学校对口招生考试 计算机应用类 《C语言程序设计》考点双析卷 第11卷 while循环 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.下列语句段中不是死循环的是(     ) A.i=100;   while (1)   {     i=i%100+1;     if(i= =20) break; } B.for (i-=1;i++)   sum=sum+l; C.k=0;   do     {     ++k;     } while (k<=0); D.s=3379;   while (s++%2+3%2)     s++; 【答案】C 2.以下代码的输出结果是(   ) int i = 0;   while(i < 4) {       for(int j = 0; j < 2; j++) {           if(j == 1) break;           printf("%d", j);       }       i++;   } A.0101 B.0000 C.00112233 D.0123 【答案】B 3.以下代码的输出结果是(   ) int i = 5;   while(i--) {       if(i == 3) break;       printf("%d", i);   } A.543 B.54 C.43 D.4 【答案】D 4.以下代码的输出结果是(   ) int i = 1;   while(i <= 5) {       if(i % 2 == 0) {           i++;           continue;       }       printf("%d", i);       i++;   } A.135 B.12345 C.24 D.13 【答案】A 5.以下 while 循环代码的输出结果是(   ) int x = 10; while (x > 7) {     if (x % 2 == 0) {         x -= 2;         continue;     }     printf("%d ", x);     x--; } A.10 B.10 9 C.9 D.无输出 【答案】C 6.以下代码段的输出结果是(   ) int i = 0; while (i < 5) {     if (i % 2 == 1) {         i++;         continue;     }     printf("%d ", i);     i++; } A.0 2 4 B.1 3 C.0 1 2 3 4 D.无输出 【答案】A 7.以下代码段的输出结果是(   ) int i = 5; while (i > 0) {     if (i == 3) {         i--;         continue;     }     printf("%d ", i);     i--; } A.5 4 3 2 1 B.5 4 2 1 C.5 4 D.无输出 【答案】B 8.以下 while 循环代码的输出结果是(   ) int a = 0; while (a < 5) {     if (a == 3) {         a++;         continue;     }     printf("%d ", a++); } A.0 1 2 4 B.0 1 2 3 4 C.0 1 2 D.1 2 4 【答案】A 9.以下代码的输出是(   ) int x = 5; while (x--) {     printf("%d", x); } A.43210 B.54321 C.4321 D.5432 【答案】C 10.以下代码的输出结果是(   ) int i = 0; while (i < 3) {     printf("%d ", i);     i++; } A.0 1 2 B.0 1 2 3 C.1 2 3 D.无输出 【答案】A 11.以下代码的输出结果是(   ) int x=2; while(x--); printf("%d", x); A.2 B.1 C.9 D.-1 【答案】D 12.执行下列程序段后的输出结果是(   ) int i=0; char a[ ]="abm", b[ ]="aqid", c[10]; while (a[i]!='\0' && b[i]!=\0) { if (a[i]>=b[i])    c[i]=a[i]-32 ; else     c[i]=b[i]-32 ; i++;}     c[i]=\0';    puts(c); A.ABM B.AQM C.AQID D.ABQ 【答案】B 13.下面没有构成死循环的程序段是(   ) A.int i=100;while(1) {i=i%100+1;if(i>1000)break;} B.for(;;); C.int k=1000;do{- -k} while(k); D.int s=36;while(s>=0);++s; 【答案】C 14.下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空。 include <stdio.h> main( ) { int a,b,t; scanf("%d%d",&a,&b); while( 【 】 ) {  if(a>b){ t=a;a=b;b=t;} printf("%d,%d ",a,b);scanf("%d%d",&a,&b); } } A.!a=b B.a!=b C.a==b D.a=b 【答案】B 15.下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。 #include <stdio.h> main( ) { int m=0,n=0;char c; while((【l】)!=‘ ’) { if(c>=‘A’&&c<=‘Z’) m++; if(c>=‘a’&&c<=‘z’) n++; }printf("%d ", m<n ?n:m); } A.c=getchar(  ) B.c=putchar(  ) C.getchar( ) D.scanf(“%c”,c) 【答案】A 16.下面程序段的运行结果是(   ) int n=0; while(n++<=2);printf(“%d”,n); A.2 B.4 C.3 D.死循环 【答案】B 17.下列程序的运行结果是(   ) #include<stdio.h> #include<conio.h> main( ) {int n=15; while(n>11) {n-=2; printf("%d",n);}getch(); } A.1311 B.11 C.311 D.1 【答案】A 18.下列程序的运行结果是(   ) #include<stdio.h> #include<conio.h> main( ) {int x=1,s=2; while(!x!=0)      s+=--x; printf("%d",s);getch();  } A.1 B.0 C.2 D.-1 【答案】C 19.下面程序段的运行结果是(   ) x=y=0; while(x<15)     y++,x+=++y; print("%d,%d",x,y); A.20,8 B.8,20 C.12,6 D.7,20 【答案】A 20.下面程序段的输出结果是(   ) #include<stdio.h> #include<conio.h> main( ) {int n=8; while(n--)printf("%d",--n);getch(); } A.20 B.0 C.420 D.6420 【答案】D 二、程序设计题(本大题共4小题,每题10分,共40分) 21.编写函数查找在1000以内某个区间中一个数的其平方具有对称性质的数(也称回文数)。例如121就是一个具有对称性质的数。 #include <stdio.h> #include <stdlib.h> int isPalindromeNumber(int num){          int original = num;          int reverse = 0; /*******space*******/ /*******space*******/    } int main(){           int start, end,i,square,found=0;           printf("【请输入区间的起始值(1000以内的正整数):】");           scanf("%d", &start);           printf("【请输入区间的结束值(1000以内的正整数):】");           scanf("%d", &end);           if(start>100||end>1000||start<0||end<0){                 printf("请输入1000以内的正整数 ");                return 0;           }           if(start>end){                printf("请输入正确的区间 ");                return 0;           }           for(i= start;i<= end;i++){                square = i * i;                if(isPalindromeNumber(square)){                      printf("%d %d ", i, square);                      found = 1;                }           }           if(found == 0){                 printf("在区间 [%d, %d] 内,不具有对称性质(即不是回文数)。 ", start, end);           }           return 0; } 【答案】while(original!=0){                reverse=reverse*10+original%10;                original/=10;           }           if(reverse==num) return 1; else return 0; 【详解】将数字进行数位分离后并反序,反序后的数若依然等于原数,则为对称数。 22.从键盘输入一个十进制整数,将其转换为二进制后反序再转成新的十进制后输出(例如11 => 1011 => 1101 => 13) #include <stdio.h> main(){ int n,x,t; scanf(“%d”,&n); x=0; /*******space*******/ /*******space*******/ printf(“%d ”,x); 【答案】while(n!=0){ t=n%10; n=n/10; x=x*2+t; } 【详解】这道题考查数位分离和反序,由于将其转化成二进制的数1011再逆序后是1101, 逆序后的左边的1是先%出的,再进行转换成十进制时,是需要乘以更多的2,所以是反序,反序固定代码 t=t*进制+a(t的初始值为0,a为每次循环要参与反序的数字) 23.输入一个正整数,相反次序输出(例:输入12345,输出54321) 【答案】#include <stdio.h> void main() {     int a,b=0;     printf("请输入数字: ");     scanf("%d",&a);     while(a>0)     {         b=b*10+a%10;         a/=10;     }     printf("%d",b); } 【详解】使用取余函数和while循环相结合。 24.输入一行字符,输出字母个数。 【答案】#include<stdio.h> main() {     char ch;     int num=0;     printf("输入一行字符:");     ch=getchar();     while(ch!=' ')     {         if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z')         num++;         ch=getchar();      }      printf("字母个数%d ",num); } 【详解】利用循环和getchar()语句依次判断输入的字符是否为字母,并计数。 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $ 编写说明: 湖南省普通高等学校对口招生考试-计算机应用类《C语言程序设计》考点双析卷专辑,依据省教育厅《湖南省普通高等学校对口招生考试基本要求和考试大纲》编写。“考点双析卷”即围绕一个考点,一份是老师的讲解卷一份是学生的练习卷,助力师生构建 “讲练结合”的学习闭环,特别适用于湖南省普通高等学校对口招生考试第一轮高考复习教学。 本专辑第11卷精准对标湖南省考纲,考试内容及范围【C语言程序设计知识】: (六)while循环 湖南省普通高等学校对口招生考试 计算机应用类 《C语言程序设计》考点双析卷 第11卷 while循环 老师讲解卷 时间:45分钟 总分:100分 班级_______ 姓名_______ 学号_______ 成绩_______ 一、单项选择题(本大题共20小题,每题3分,共60分) 1.下列语句段中不是死循环的是(     ) A.i=100;   while (1)   {     i=i%100+1;     if(i= =20) break; } B.for (i-=1;i++)   sum=sum+l; C.k=0;   do     {     ++k;     } while (k<=0); D.s=3379;   while (s++%2+3%2)     s++; 2.以下代码的输出结果是(   ) int i = 0;   while(i < 4) {       for(int j = 0; j < 2; j++) {           if(j == 1) break;           printf("%d", j);       }       i++;   } A.0101 B.0000 C.00112233 D.0123 3.以下代码的输出结果是(   ) int i = 5;   while(i--) {       if(i == 3) break;       printf("%d", i);   } A.543 B.54 C.43 D.4 4.以下代码的输出结果是(   ) int i = 1;   while(i <= 5) {       if(i % 2 == 0) {           i++;           continue;       }       printf("%d", i);       i++;   } A.135 B.12345 C.24 D.13 5.以下 while 循环代码的输出结果是(   ) int x = 10; while (x > 7) {     if (x % 2 == 0) {         x -= 2;         continue;     }     printf("%d ", x);     x--; } A.10 B.10 9 C.9 D.无输出 6.以下代码段的输出结果是(   ) int i = 0; while (i < 5) {     if (i % 2 == 1) {         i++;         continue;     }     printf("%d ", i);     i++; } A.0 2 4 B.1 3 C.0 1 2 3 4 D.无输出 7.以下代码段的输出结果是(   ) int i = 5; while (i > 0) {     if (i == 3) {         i--;         continue;     }     printf("%d ", i);     i--; } A.5 4 3 2 1 B.5 4 2 1 C.5 4 D.无输出 8.以下 while 循环代码的输出结果是(   ) int a = 0; while (a < 5) {     if (a == 3) {         a++;         continue;     }     printf("%d ", a++); } A.0 1 2 4 B.0 1 2 3 4 C.0 1 2 D.1 2 4 9.以下代码的输出是(   ) int x = 5; while (x--) {     printf("%d", x); } A.43210 B.54321 C.4321 D.5432 10.以下代码的输出结果是(   ) int i = 0; while (i < 3) {     printf("%d ", i);     i++; } A.0 1 2 B.0 1 2 3 C.1 2 3 D.无输出 11.以下代码的输出结果是(   ) int x=2; while(x--); printf("%d", x); A.2 B.1 C.9 D.-1 12.执行下列程序段后的输出结果是(   ) int i=0; char a[ ]="abm", b[ ]="aqid", c[10]; while (a[i]!='\0' && b[i]!=\0) { if (a[i]>=b[i])    c[i]=a[i]-32 ; else     c[i]=b[i]-32 ; i++;}     c[i]=\0';    puts(c); A.ABM B.AQM C.AQID D.ABQ 13.下面没有构成死循环的程序段是(   ) A.int i=100;while(1) {i=i%100+1;if(i>1000)break;} B.for(;;); C.int k=1000;do{- -k} while(k); D.int s=36;while(s>=0);++s; 14.下面程序的功能是将从键盘输入的一对数,由小到大排序输出。当输入一对相等数时结束循环,请选择填空。 include <stdio.h> main( ) { int a,b,t; scanf("%d%d",&a,&b); while( 【 】 ) {  if(a>b){ t=a;a=b;b=t;} printf("%d,%d ",a,b);scanf("%d%d",&a,&b); } } A.!a=b B.a!=b C.a==b D.a=b 15.下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m、n中的较大者,请选择填空。 #include <stdio.h> main( ) { int m=0,n=0;char c; while((【l】)!=‘ ’) { if(c>=‘A’&&c<=‘Z’) m++; if(c>=‘a’&&c<=‘z’) n++; }printf("%d ", m<n ?n:m); } A.c=getchar(  ) B.c=putchar(  ) C.getchar( ) D.scanf(“%c”,c) 16.下面程序段的运行结果是(   ) int n=0; while(n++<=2);printf(“%d”,n); A.2 B.4 C.3 D.死循环 17.下列程序的运行结果是(   ) #include<stdio.h> #include<conio.h> main( ) {int n=15; while(n>11) {n-=2; printf("%d",n);}getch(); } A.1311 B.11 C.311 D.1 18.下列程序的运行结果是(   ) #include<stdio.h> #include<conio.h> main( ) {int x=1,s=2; while(!x!=0)      s+=--x; printf("%d",s);getch();  } A.1 B.0 C.2 D.-1 19.下面程序段的运行结果是(   ) x=y=0; while(x<15)     y++,x+=++y; print("%d,%d",x,y); A.20,8 B.8,20 C.12,6 D.7,20 20.下面程序段的输出结果是(   ) #include<stdio.h> #include<conio.h> main( ) {int n=8; while(n--)printf("%d",--n);getch(); } A.20 B.0 C.420 D.6420 二、程序设计题(本大题共4小题,每题10分,共40分) 21.编写函数查找在1000以内某个区间中一个数的其平方具有对称性质的数(也称回文数)。例如121就是一个具有对称性质的数。 #include <stdio.h> #include <stdlib.h> int isPalindromeNumber(int num){          int original = num;          int reverse = 0; /*******space*******/ /*******space*******/    } int main(){           int start, end,i,square,found=0;           printf("【请输入区间的起始值(1000以内的正整数):】");           scanf("%d", &start);           printf("【请输入区间的结束值(1000以内的正整数):】");           scanf("%d", &end);           if(start>100||end>1000||start<0||end<0){                 printf("请输入1000以内的正整数 ");                return 0;           }           if(start>end){                printf("请输入正确的区间 ");                return 0;           }           for(i= start;i<= end;i++){                square = i * i;                if(isPalindromeNumber(square)){                      printf("%d %d ", i, square);                      found = 1;                }           }           if(found == 0){                 printf("在区间 [%d, %d] 内,不具有对称性质(即不是回文数)。 ", start, end);           }           return 0; } 22.从键盘输入一个十进制整数,将其转换为二进制后反序再转成新的十进制后输出(例如11 => 1011 => 1101 => 13) #include <stdio.h> main(){ int n,x,t; scanf(“%d”,&n); x=0; /*******space*******/ /*******space*******/ printf(“%d ”,x); 23.输入一个正整数,相反次序输出(例:输入12345,输出54321) 24.输入一行字符,输出字母个数。 试卷第6页,共6页 试卷第5页,共6页 学科网(北京)股份有限公司 $

资源预览图

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