C循环结构程序设计试题以及参考答案
循环结构程序设计练习题 内含答案
第三单元循环结构练习题选择题:1、有以下程序执行后的输出结果是( D )。
main( ){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf("%d\n",s);}A.自然数1~9的累加和 B.自然数1~10的累加和C.自然数1~9中的奇数之和 D.自然数1~10中的偶数之和2、以下关于for语句的说法不正确的是( A )。
A. for循环只能用于循环次数已经确定的情况B. for循环是先判断表达式,后执行循环体语句C. for循环中,可以用break跳出循环体D. for循环体语句中,可以保含多条语句,但要用花括号括起来3、若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面关于语句执行情况的叙述中正确的是( d )。
A.循环体执行两次B.循环体执行一次C.循环体一次也不执行D.构成无限循环4、以下程序程序的执行后的输出结果是( c )。
main(){int i,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++) printf(“%d”,t[2-i][i]);}A.7 5 3B. 3 5 7C.3 6 9D.7 5 15、以下程序运行后的输出结果是( A )。
void fun(char*s){ while(*s){ if(*s%2==0) printf(“%c”,*s); s++;}}main(){ char a[]={“good”};fun(a);printf(“\n”);}注意:字母a的ASCⅡ码值为97A.dB.goC.godD.good6、已知 int t=0; while(t=1){...} 则以下叙述正确的是( B )。
A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对7、设有以下程序段 Bint x=0,s=0;while(!x!=0)s+=++x;printf("%d",s); 则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次8、设i,j,k均为int型变量,则执行完下面的for语句后,k的值为( C )。
C程序设计(循环)习题与答案
一、单选题1、有以下程序段:int k=2;while (k=0) { printf("%d",k) ; k-- ; }则下面描述中正确的是()。
A.循环体语句一次也不执行B.while循环执行10次C.循环是无限循环D.循环体语句执行一次正确答案:A2、下面程序段执行后的输出结果是()。
int a=1,b=2,c=3,t;while (a<b<c){t=a;a=b;b=t;c--;}printf("%d,%d,%d",a,b,c);A.2,1,0B.2,1,1C.1,2,0D.1,2,1正确答案:D3、下面程序段执行后的输出结果是()。
#include <stdio.h>int main(){ int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf("%d,%d,%d",x,y,z);return 0;}A.4,3,-1B.5,-2,-5C.3,2,0D. 3,2,-1正确答案:D4、下面程序的功能是从键盘输入一组字符,从中统计大写字母和小写字母的个数,选择()填入到【】中。
#include <stdio.h>int main(){ int m=0,n=0; char c;while ((【】)!='\n') {if (c>='A' && c<='Z') m++ ;if (c>='a' && c<='z') n++ ;}return 0;}A.scanf("%c",&c)B.c==getchar()C.getchar()D.c=getchar()正确答案:D5、语句while (!E){......}; 中的表达式!E等价于()。
C 循环结构23道题[含答案解析]
题目、描述、输入、输出、输入样例、输出样例、测试输入、测试输出循环01:最大数写一个程序,可以输入一批正数,输入0时结束循环,并且输出最大的正数。
输入39 28 5 63 18 27 0输出63测试:输入153 26 963 28 75 90 156 0输出963#include<iostream>using namespace std;int main(){int i,max=0;cin>>i;while(i!=0){if(i>max)max=i;cin>>i;}cout<<max<<endl;return 0;}循环02:素数输入正数n,判断n是否为素数。
若为素数则输出1,否则输出0。
(提示:素数是指只可以被1和其本身整除的正数(1除外))输入10输出0输入7输出1测试:输入9输出0#include<iostream>using namespace std;int main(){int n,i,d;cin>>n;for(i=2;i<n;i++){d=n%i;if(n%i==0)break;}if(n==i)cout<<"1"<<endl;elsecout<<"0"<<endl;return 0;}循环03:数列求和输入一个正整数n,计算前n项之和:1+1/4+1/7+1/10..+1/(3*n-2)。
输入5输出1.56978输入4输出1.49286#include<iostream>using namespace std;int main(){int i,n;double s=0;cin>>n;for(i=1;i<=n;i++)s+=1.0/(3*i-2);cout<<s<<endl;return 0;}循环04:西瓜卖几天n个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?说明:当西瓜个数为奇数时,卖一半为一半的整数,如当西瓜个数为5时,卖一半为卖2个。
C++循环结构23道题(含答案)
{ if(m%i==0&&n%i==0)
break; }
cout<<i<<endl; return 0; }
循环 15:斐波那契数列 判 断 第 n 个 斐 波 那 契 数 列 能 否 被 3 整 除 给 定 斐 波 那 契 数 列 为 : F(0)=1, F(1)=1,
3%; 4%;
输出:每个收入对应的纳税额 输入 4 900 2000 4000 6000 输出 0 60 160 360 #include<iostream> using namespace std; int main() {
double m,tax;;int i,n; cin>>n; for(i=1;i<=n;i++) {
循环 04:西瓜卖几天
n 个西瓜,第一天卖一半多两个,以后每天卖剩下的一半多两个,问几天以后能卖完?
说明:当西瓜个数为奇数时,卖一半为一半的整数,如当西瓜个数为
5 时,卖一半为卖 2
个。
输入:西瓜个数,输出:天数
输入 10 输出 2
输入 50 输出 4
测试
输入 120 输出 5
#include<iostream>
#include<iostream> using namespace std; int main() {
int n,i=1; double s=0; cin>>n; while(i<=n) {
s+=1.0/i; i++;}
C语言程序设计:循环结构程序设计单元测试与答案
一、单选题1、下面程序的运行结果是 ( )。
#include <stdio.h>int main( ){int i=5;while(i>0);printf("%d",i--);return 0;}A.5B.死循环C.0D.-1正确答案:B2、关于下面程序段,正确的是()。
int k=10;while(!k)k--;A.循环体执行1次B.循环体执行10次C.循环体一次也不执行D.死循环正确答案:C3、下面程序的运行结果是( )。
#include <stdio.h>int main( ){int x=3;do{printf("%3d",x-=2);}while(!(--x));return 0;}A.1 -2B.死循环C.10D.1正确答案:A4、下面程序的运行结果是( )。
#include <stdio.h>int main( ){int i=10;while(i-->0);printf("%d ",i);return 0;}A.10B.0C.10987654321D.-1正确答案:D5、已定义int j; 下面程序段的输出结果是()。
for(j=7;j<10;j++)printf("%d",j);A.91011B.8910C.789D.无结果正确答案:C6、下面程序的输出结果是()。
#include <stdio.h>int main( ){int i,j,s=0;for(j=1,i=7;j<=i;j++,i--)s=s+i+j;printf("%d",s);return 0;}A.死循环B.28C.0D.32正确答案:D二、判断题1、while循环语句至少无条件执行一次循环体。
正确答案:×2、for循环语句只能用于循环次数已经确定的情况。
C语言全国试题(五-循环结构程序设计)
填空题(全国二级C 2008C2-8)
若有定义:int k;,以下程 序段的输出结果是__#_#_2_#_#_4__。
for (k=2; k<6; k++,k++ ) printf (“##%d”,k);
选择题(全国二级C 2007Q1-22)
C 有以下程序,程序的运行结果是 。
#include <stdio.h>
{ int i;
for ( i=1 ; i<=40; i++)
{ if (i++%5==0)
if (++i%8==0)printf("%d ",i); }
printf("\n"); }
A) 5
B) 24
C) 32
D) 40
选择题(全国二级C 2005Q1-27)
设变量已正确定义,则以下能正确
计算f=n!的程序段是 D 。
有以下程序段,且变量已正确定义和赋值
for ( s=1.0,k=1;k<=n; k++ ) s=s+1.0/(k*(k+1));
printf(“s=%f\n\n”,s); 请填空,使下面程序段的功能与之完全相同
s=1.0; k=1; while ( ___k_<_=_n__ ) { s=s+1.0/(k*(k+1)); __k_+_+__ ; } printf(“s=%f\n\n”,s);
以下程序的功能是计算: s=1+12+123+1234+12345。请填空。 main( ) { int t=0, s=0, i; for(i=1; i<=5; i++)
(完整版)C语言循环习题答案
循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i 的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10 个整数,则在下画线处填入正确的数是:(c)for(i=0;i<= ;)printf(“%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 556.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;elsek--;}k+=11;a+=k;}printf(“%d %d\n”,k,a);}则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while 语句构成的循环不能用其他语句构成的循环来代替。
B.do---while 语句构成的循环只能用break 语句退出。
C.用do---while 语句构成的循环,在while 后的表达式为非零时结束循环。
D.用do---while 语句构成的循环,在while 后的表达式为零时结束循环。
8.有如下程序:main(){ int x=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A 3 2 1B 2 1 0C 3D 29.若k 为整型变量,则下面while 循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10D 无限次10.下面有关for 循环的正确描述是(D)A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在for 循环中,不能用break 语句跳出循环体。
c语言循环试题及答案
c语言循环试题及答案C语言循环试题及答案1. 以下哪个选项是C语言中实现循环的关键字?A. switchB. caseC. whileD. do答案:C2. 写出一个使用for循环的程序段,计算1到100之间所有奇数的和。
```cint sum = 0;for(int i = 1; i <= 100; i += 2) {sum += i;}printf("The sum of odd numbers from 1 to 100 is %d", sum);```3. 以下哪个语句是正确的while循环的语法?A. while (condition) statementB. do statement while (condition)C. for (initialization; condition; iteration)D. if (condition) statement答案:A4. 假设有一个数组arr[10],以下哪个循环可以用来遍历这个数组?```cint i;for(i = 0; i < 10; i++) {// 遍历数组}```5. 如果要使用do-while循环打印出1到5的数字,以下哪个程序段是正确的?```cint i = 1;do {printf("%d ", i);i++;} while (i <= 5);```6. 以下哪个选项是break语句的正确用法?A. 用于跳出switch语句B. 用于跳出循环C. 用于进入循环D. 用于结束程序答案:B7. 写出一个使用while循环的程序段,计算1到10的乘积。
int product = 1;int i = 1;while(i <= 10) {product *= i;i++;}printf("The product of numbers from 1 to 10 is %d", product); ```8. 以下哪个选项是continue语句的正确用法?A. 跳过当前循环的剩余部分,开始下一次循环B. 用于跳出循环C. 用于进入循环D. 用于结束程序答案:A9. 假设有一个字符串str,以下哪个循环可以用来遍历这个字符串?```cchar str[] = "Hello";int i = 0;while(str[i] != '\0') {// 遍历字符串i++;}```10. 以下哪个程序段将打印出2到10之间的所有偶数?for(int i = 2; i <= 10; i += 2) { printf("%d ", i);}```。
C语言各章节单元测试题及答案——循环结构程序设计
第3章循环结构程序设计3.1 典型考试题剖析3.1.1 选择题【例1】若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c 均已赋值(c大于0)s=a;for(b=1;b<=c;b++) s=s+1;则与上述程序段功能等价的赋值语句是_______。
A)s=a+b; B)s=a+c; C)s=s+c; D)s=b+c;✧考点:本例考查for循环。
✧分析:初始赋值时s=a,那么s的值一定与a有关,C、D答案中不含a所以排除掉。
只用清楚for循环的次数,不管b以前的值为多少,第一次循环时b=1,当b>c时循环结束,那么显然s要加c次1。
所以s的值为a与c的和。
✧答案:B【例2】设x和y均为int型变量,则执行下面的循环后,y值为。
for(y=1,x=1;y<=50;y++){if(x>=10) break;if(x%2==1){x+=5;continue;}x-=3;}A) 2 B) 4 C) 6 D) 8✧考点:本例考查for循环中break和continue的用法,以及区别。
✧分析:break用在循环中,只能退出一层循环。
尤其是在嵌套循环中,只能退出它所在的那一层循环。
不能期望用break从最内层循环一下子退出最外层循环(可以用goto实现)。
continue语句只能用在循环中,它的作用是跳过其后面的语句,直接将控制转移到下一轮循环条件的测试。
语句“if(x>=10) break;”中的break只有当x>=10时,才会执行,并且跳出for循环;语句“x+=5;continue;”是每次执行完一次跳过其后面的语句,直接将控制转移到下一轮循环条件的测试for(y=1,x=1;y<=50;y++)中。
✧答案:C【例3】以下程序中,while循环的循环次数是_______。
main(){ int i=0;while(i<10){ if(i<1) continue;if(i==5) break;i++;}......}A) 1 B) 10 C) 6 D) 死循环,不能确定次数✧考点:本例考查while循环的用法,以及continue和break的分别。
c程序设计考试题目及答案
c程序设计考试题目及答案一、选择题(共10题,每题2分,共20分)1. C语言中,以下关键字不属于标准C语言关键字的是:A. forB. ifC. switchD. class答案:D2. 定义一个数组 int arr[5]={1,2,3,4,5},则 arr[2] 的值是:A. 2B. 3C. 4D. 5答案:C3. 在C语言中,以下哪个运算符用于求两个整数相除后的余数:A. %B. /C. ^答案:A4. 下列选项中,不属于C语言中的控制流语句的是:A. whileB. continueC. gotoD. delete答案:D5. 下列哪个函数用于输出到标准输出设备(默认为显示器):A. getchar()B. scanf()C. puts()D. fopen()答案:C6. 在C语言中,以下哪个运算符优先级最高:A. +B. =C. <<答案:C7. 在C语言中,以下哪个关键字用于定义新的结构体类型:A. typedefB. structC. voidD. extern答案:A8. 下列选项中,属于C语言中的数据类型的是:A. integerB. characterC. floatD. boolean答案:C9. C语言中,以下哪种循环结构可以确保至少执行一次循环体:A. for循环B. while循环C. do...while循环D. if...else语句答案:C10. 函数原型声明的作用是:A. 定义函数的实现B. 声明函数的返回值类型C. 声明函数的参数类型和个数D. 控制函数的调用顺序答案:C二、编程题(共2题,每题40分,共80分)题目1:请编写一个C程序,实现以下功能:1. 定义一个结构体类型Student,包含以下成员:- char name[20]:表示学生姓名- int age:表示学生年龄2. 定义一个函数inputStudent,用于输入学生信息,函数原型如下: - void inputStudent(Student *student)3. 定义一个函数outputStudent,用于输出学生信息,函数原型如下: - void outputStudent(Student student)4. 在主函数中通过调用inputStudent和outputStudent函数,实现输入一个学生的信息并输出。
c语言循环试题及答案
c语言循环试题及答案C语言是一种广泛应用于计算机编程领域的编程语言。
在学习C语言的过程中,掌握循环语句是非常重要的,因为循环可以使程序重复执行特定的代码块。
下面将介绍几道C语言循环试题及其详细答案,希望对你的学习有所帮助。
试题一:编写一个程序,要求用户输入一个整数n,计算并输出1到n之间的所有自然数的和。
答案一:```c#include <stdio.h>int main() {int n, i, sum = 0;printf("请输入一个整数n: ");scanf("%d", &n);for (i = 1; i <= n; i++) {sum += i;}printf("1到%d之间的所有自然数的和为:%d\n", n, sum);return 0;}```试题二:编写一个程序,要求用户输入一个正整数n,计算并输出n的阶乘。
答案二:```c#include <stdio.h>int main() {int n, i;unsigned long long factorial = 1;printf("请输入一个正整数n: ");scanf("%d", &n);for (i = 1; i <= n; i++) {factorial *= i;}printf("%d的阶乘为:%llu\n", n, factorial);return 0;}```试题三:编写一个程序,要求用户输入一个整数n,判断并输出n是否为素数(质数)。
答案三:```c#include <stdio.h>int main() {int n, i, isPrime = 1;printf("请输入一个整数n: ");scanf("%d", &n);for (i = 2; i <= n / 2; i++) {if (n % i == 0) {isPrime = 0;break;}}if (isPrime == 1) {printf("%d是素数。
(完整版)C语言程序设计习题集及答案
C语言程序设计习题集东华理工大学2014.9基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。
A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。
A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。
A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。
A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。
A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。
A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。
int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。
A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。
A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。
y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。
A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。
printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。
(完整版)C语言循环结构练习题集带答案解析
第5章循环结构程序设计5.1 基本知识点while语句的使用格式和注意事项do-while语句的使用格式和注意事项for语句的使用格式和注意事项break和continue语句在循环语句中的应用循环结构的嵌套使用goto语句实现循环结构穷举法程序设计方法迭代程序设计方法5.2 练习题51. 单项选择题(1)语句while (!e);中的条件!e等价于 A 。
A. e==0B. e!=1C. e!=0D. ~e(2)下面有关for循环的正确描述是 D 。
A. for循环只能用于循环次数已经确定的情况B. for循环是先执行循环体语句,后判定表达式C. 在for循环中,不能用break语句跳出循环体D. for循环体语句中,可以包含多条语句,但要用花括号括起来(3)C语言中 D 。
A. 不能使用do-while语句构成的循环B. do-while语句构成的循环必须用break语句才能退出C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环(4)C语言中while和do-while循环的主要区别是 A 。
A. do-while的循环体至少无条件执行一次B. while的循环控制条件比do-while的循环控制条件严格C. do-while允许从外部转到循环体内D. do-while的循环体不能是复合语句(5)以下程序段 C 。
int x=-1;do{x=x*x;}while (!x);A. 是死循环B. 循环执行二次C. 循环执行一次D. 有语法错误(6)下列语句段中不是死循环的是__C__。
A. i=100;while (1){i=i%100+1;if (i==20) break;}B. for (i=1;;i++)sum=sum+1;C. k=0;do{++k;} while (k<=0);D. s=3379;while (s++%2+3%2)s++;(7)与以下程序段等价的是__A__。
(完整版)C语言循环习题答案
(完整版)C语言循环习题答案循环习题集锦一.选择题1.for(i=0;i<10;i++);结束后,i 的值是;(10)A 9B 10C 11D 122.下面程序的循环次数是:(D)int k=0;while(k<10){if(k<1) continue;if(k==5) break;k++;}A. 5 B 6 C 4 D 死循环,不能确定循环次数3.下面程序的输出结果是(10)main(){int s,k;for(s=1,k=2;k<5;k++)s+=k;printf(“%d\n”,s);}A 1B 9C 10D 154.要使下面程序输出10 个整数,则在下画线处填入正确的数是:(c)for(i=0;i<= ;)printf(“%d\n”,i+=2);A 9B 10C 18D 205.运行下面程序:(B)main(){ int i=10,j=0;do{ j=j+i;i--;}while(i>5);printf(“%d\n”,j);}输出结果是:A 45B 40C 34D 556.运行下面程序#include “stdio.h”main(){ int k=0,a=1;while(k<10){for( ; ;){ if((k%10)==0)break;k--;}k+=11;a+=k;}printf(“%d %d\n”,k,a);}则输出的结果是(C)A 21 32B 21 33C 11 12D 10 117.以下叙述正确的是:(D)A.do---while 语句构成的循环不能用其他语句构成的循环来代替。
B.do---while 语句构成的循环只能用break 语句退出。
C.用do---while 语句构成的循环,在while 后的表达式为非零时结束循环。
D.用do---while 语句构成的循环,在while 后的表达式为零时结束循环。
8.有如下程序:main(){ int x=3;do{printf(“%d”,x--);}while(!x);}该程序的执行结果是:(C)A 3 2 1B 2 1 0D 29.若k 为整型变量,则下面while 循环执行的次数为:(A)k=10;while(k==0) k=k-1;A 0B 1C 10D 无限次10.下面有关for 循环的正确描述是(D)A.for 循环只能用于循环次数已经确定的情况B.for 循环是先执行循环体语句,后判断表达式C.在for 循环中,不能用break 语句跳出循环体。
第五章-循环结构程序设计编程题(参考答案)
第五章循环结构程序设计1.用for循环语句编程输出1~20之间的所有整数,两数之间以空格分隔。
#include<stdio.h>void main(){int i;for(i=1;i<=20;i++)printf("%d ",i);printf("\n");}2.用for循环语句编程输出20~1之间的所有整数,两数之间以空格分隔。
#include<stdio.h>void main(){int i;for(i=20;i>=1;i--)printf("%d ",i);printf("\n");}3.用for循环语句编程输出A~Z之间的所有字符,两字母之间以空格分隔,要求一行输出8个字符。
#include<stdio.h>void main(){char c;for(c='A';c<='A'+25;c++){putchar(c);}}4.输出100~200之间所有能被3和7整除的数(每行输出4个数)。
#include<stdio.h>void main(){int i,j=0;for(i=100;i<=200;i++){if(i%21==0){ j++;printf("%12d",i);if(j%4==0) printf("\n");}}}5.输出1至1000之间所有满足用3除余2、用5除余3、用7除余2的数(要求每行只输出5个数)。
#include<stdio.h>void main(){for(i=1;i<=1000;i++){if((i%3==2)&&(i%5==3)&&(i%7==2)){ j++;printf("%12d",i);if(j%5==0) printf("\n");}}}6.先读入一个正整数n,然后计算并显示前n个偶数的和。
C语言循环结构程序设计习题与答案
一、单选题1、计算1!+2!+3!+4!+5!编程如下,程序中下划线处应填写#include <stdio.h>void main(){int i;int t= z s=;for(i=l;i<6;i++){t=t*i;s=s+t;)printf("l!+2!+3!+4!+5!=%d\n"z s);)A.l 1B.O 0C.O 1D.l 0正确答案:D2、下面代码段的输出是一int k,m;for(k=0;k<10;k++ ){if(m>50) continue;m=k*k;)printf("%d,%d\n”,k,m);A. 10,64B.9,81C.10,81D.8,64正确答案:A3、对于以下代码:int i;for(i=0;i<10;i++)pnntf("%d",i);for循环结束后,i的值是—A.llB.10C.9D.i不再存在了正确答案:B4、对于以下代码:int i=6;do{printf("%d", i-);}while(i-);正确的是—A,输出6420-2-4…,程序无法停机B,输出6420C.输出6420-2D输出642正确答案:A5、对于以下代码:int i=6;do{printf("%d", i-);}while(i);最后一个输出的值是—A.2B.3C.OD.l正确答案:D6、在代码:while(e)中,e等价于_A.e == 0B.e != 1C.e == 1D.e!=0正确答案:D7、在代码:while© |1)中,e等价于_A.e!=0B.e == 1C.e取任何值D.e == 0正确答案:C8、设有程序段int k=5;while(k=0) k=k-l;则下面描述中正确的是A,循环体语句一次也不执行B.while循环执行5次C.循环体语句执彳亍一次D彳盾环是无限循环正确答案:A9、下面程序段的运行结果是int n=0;while(n++<=2);printf("%d",n);A.有语法错B.2C.4D.3正确答案:C10、若有如下语句int x=3;do{ printf("%d\n"z x -=2);} while(!(-x));则上面程序段—A,是死循环B,输出的是1C.输出的是3和0D,输出的是1和・2正确答案:D11、下面程序的功能是计算正整数2345的各位数字平方和,请选择填空,答案是#includemain()int n,sum=0;n=2345;sum=sum+(n%10)*(n%10);n=_;}while(n);printf("sum=%d"/sum);}A.n/10B.n%10C.n/100D.n/1000正确答案:A12、下面程序段—for(t=l;t< = 100;t++){scanf("%d",&x);if(x<0) continue;printf("%3d",t);)A.最多允许输出100个非负整数B.x>=0时什么也不输出C.printf函数永远也不执行D・当x<0时整个循环结束正确答案:A13、下列运算符中结合方向与其他不同的是A.+=B.< =c.>D.+正确答案:A14、下列运算符中结合方向与其他不同的是A.&&B.?:c.||D.+正确答案:B15、以下代码输出结果是—int x=0,y=20,z=30 ;if ( x||(y=50)>z ) printf("y=%d"z y); else printf("y=%d",y);A.代码错误,不能输出B.y=50C.y=20D,不确定正确答案:B16、以下代码输出结果是—int x=0z y=20,z=30if ( x||(y=50)>z ) printf("y=%d"z y); else printf("y=%d",y);A.y=20B.代码错误,不能执行C.y=50D,不确定正确答案:B17、下列程序段的输出结果是一int a=3,b=15;a+=b;b=b/2;}while(b>l);printf("%d\rT,a);正确答案:28二、多选题1、在c语言中,叙述正确的是()。
C++循环结构 23道题(含答案)精编版
循环05:成绩判定
输入一个正整数repeat (0<repeat<10),做repeat次下列运算:
输入一个学生的数学成绩,如果它低于60,输出“Fail”,否则,输出“Pass”。
输入5 35 68 49 94 88
输出
Fail
Pass
Fail
Pass
Pass
测试
输入8 90 80 60 50 40 30 73 88 59
cin>>n;
while(n)
{
x=n%10;
if(x%2==0)
s+=x;
n=n/10;
}
cout<<s<<endl;
return 0;
}
循环18:数根
对于一个正整数n,我们将它的各个位相加得到一个新的数字,如果这个数字是一位数,我们称之为n的数根,否则重复处理直到它成为一个一位数,这个一位数也算是n的数根。例如:考虑24,2+4=6,6就是24的数根。考虑39,3+9=12,1+2=3,3就是39的数根。请编写程序,计算n的数根。
1)收入在1000元以内(含1000),免征;
2)收入在1000~3000元以内(含3000),纳税额为收入的3%;
3)收入超过3000~5000元以内(含5000),纳税为收入的4%;
4)当收入超过5000元时,纳税为收入的6%。
请根据以上关系,输入收入m,输出应缴纳的税收tax。
输入:第一个整数n表示后续有n个收入
输出:每个收入对应的纳税额
输入4 900 2000 4000 6000
输出0 60 160 360
#include<iostream>
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C循环结构程序设计试题以及参考答案实验内容:
1.编程:输出200以内所有能被7整除的数。
#include<stdio.h>
main()
{
int i;
for(i=1;i<200;i++)
if(i%7==0)
printf("%4d",i);
}
2. 编程:求出1 ~ 1000之间能被13整除的最大的那个数。
#include<stdio.h>
main()
{
int i,max=0;
for(i=1;i<1000;i++)
if(i%13==0)
{
i>=max;
max=i;
}
printf("max=%d",max);
}
3.编程:找出若干个非零数中的最小值m以及它们的平均值a。
要求:若干个数由键盘输入,每次输入一个赋给变量x,x为零时,结束输入。
#include<stdio.h>
main()
{
int n,i,b,min,s=0;
float a;
printf("输入的数据的个数n=");
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&b);
if(i==1)
min=b;
if(min>b)
min=b;
s=s+b;
}
a=s*1.0/n;
printf("min=%d\n a=%f",min,a); }
4. 编程:求两个正整数m、n之间所有奇数之和x与偶数之和y。
要求:
(1)m、n的值由键盘输入。
(2)输入时,允许用户随意先输入大的或小的整数。
#include <stdio.h>
main()
{
int m,n,i,x1=0,x2=0;
printf("input m,n(m<n):");
scanf("%d,%d",&m,&n);
for(i=m;i<=n;i++)
{
if (i%2==1)
x1+=i;
else
x2+=i;
}
printf("x1=%d,x2=%d\n",x1,x2);
}
5. 编程:计算π的近似值,π的计算公式为:
要求:
(1)n值由键盘输入。
(2)分别输出当n 为10、100、1000时的计算结果。
(3)输出时要求每行显示一组n、π的值,每行形式如下:
n=具体值,π = 具体值
#include<stdio.h>
main()
{
int n,i;
float pi;
printf("请输入n=");
scanf("%d",&n);
for(i=1;i<n;i++)
pi=(2*(2*i))*1.0/((2*i-1)*(2*i+1));
printf("n=%d,pi=%f",n,pi);
}
6. 编程:计算函数y的值。
要求键盘接收自变量x的值,若x的值不为零,计算函数y的值并输出,再从键盘接收下一个x的值,……,直到x的值为零,显示“Thank You,Bye!”,尔后结束程序,已知函数y与自变量x的关系为:(此题为选做)
#include<stdio.h>
main()
{
float x=1,y;
do{
if(x<0)
printf("输入错误(x<0)!请重新输入\n");
printf("x=");
scanf("%f",&x);
if(x>0&&x<100)
y=3*x+10;
if(x>=100)
y=x*x*x-20;
if(x>0)
printf("y=%f\n",y);
}
while(x!=0);
printf("Thank You,Bye !\n");
}
7. 我国现有人口13亿,设年增长率为1%,编写程序,计算多少年后增加到20亿。
(此题为选做)
#include<stdio.h>
main()
{
float p=13;
int n=0;
do
{
p=p*1.01;
n++;
}
while(p<20);
printf("%d年后人口增加到20亿!\n",n);
8. 求解爱因斯坦数学题。
有一条长阶梯,若每步跨2阶,则最后剩余1阶;若每步跨3阶,则最后剩2阶;若每步跨5阶,则最后剩4阶;若每步跨6阶,则最后剩5阶;若每步跨7阶,最后才正好一阶不剩。
请问,这条阶梯最少共有多少阶?(此题为选做)
#include<stdio.h>
main()
{
int n=7;
do{
if(n%2==1 && n%3==2 && n%4==3 && n%5==4 && n%6==5) break;
n+=7;
}
while(1);
printf("这条阶梯共有%d阶!\n",n);
9. 每个苹果0.8 元,第一天买2 个苹果,第二天开始,每天买前一天的2 倍,直至购买的苹果个数达到不超过100 的最大值。
编程:求每天平均花多少钱?(此题为选做)
#include<stdio.h>
main()
{
int n=1,p=0,d=0;
float s;
do
{
d++;
n=n*2;
p=p+n;
}
while(p<=100);
s=p*0.8/d;
printf("每天平均花%f元钱!\n",s); }。