C语言循环语句练习题

C语言循环语句练习题
C语言循环语句练习题

高二《C程序设计》月假作业

姓名:

选择题:

1、对for(表达式1;;表达式3)可理解为()。

A.for(表达式1;0;表达式3) B.for(表达式1;表达式3;表达式3)

C.for(表达式1;1;表达式3)

D.for(表达式1;表达式1;表达式3)

2、以下叙述正确的是()

A.不能使用do-while语句构成的循环

B.do-while语句构成的循环必须用break语句才能退出

C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环

D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环

3、以下描述正确的是()

A.由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句

B.do-while循环由do开始,用while结束,在while(表达式)后面不能写分号

C.在do-while循环体中,一定要有能使while后面表达式的值变为零(假)的操作

D.do-while循环中,根据情况可以省略while

4、下面有关for循环正确的描述是()

A.for循环只能用于循环次数已经确定的情况

B.for循环是先执行循环体语句,后判断表达式

C.在for循环中,不能使用break语句跳出循环体

D.for循环的循环体语句中,可以包含多条语句,但必须用花括号括起来

5、int n=0,p;

do

{

Scanf(“%d”,&p);n++;}

While(p!=12345 && n<3);

此处do-while循环的结束条件是()

A.p的值不等于12345并且n的值小于3 B.p的值等于12345并且n的值大于等于3

C.p的值不等于12345或者n的值小于3

D.P的值等于12345或者n的值大于等于3

6、以下程序的运行结果为()

#include

Void main()

{ int k,j,s;

for(k=2;k<6;k++,k++)

{ s=1;

for(j=k;j<6;j++) s+=j;

}

Printf(“%d\n”,s);

}

A.9 B.1 C.11 D.10

7、下面程序的运行结果是()

#include

Void main()

{ int a=1,b=2,c=2,t;

While(a

{ t=a;a=b;b=t; /*a,b交换*/

c--; }

Printf(“%d,%d,%d”,a,b,c);

}

A.1,2,0 B.2,1,0 C.1,2,1 D.2,1,1 8.以下能正确计算1*2*3*4*5*6*7*8*9*10的程序段是()

A.do { i=1;s=1;

S=s*I;

i++;

} while(i<=10); B.do { i=1;s=0;

S=s*I;

i++;

} while(i<=10);

C.i=1;s=1;

do { s=s*I;

i++;

}while (i<=10);

D.i=1;s=0;

do { s=s*I;

i++;

} while (i<=10);

9、设有以下程序段:int x=1,s=0;

while(0!=0) s+=++x;

printf(“%d”,s);

则()

A.运行程序段后输出0 B.运行程序段后输出1

C.程序段中的控制表达式是非法的

D.程序段执行无限次

10、以下程序的输出结果是()

#include

void main()

{ int a=0,I;

for (i=1;i<5;i++)

{ switch (i)

{

case 0:

case 3:a+=2;

case 1:

case 2:a+=3;

default:a+=5;

}

}

Printf(“%d\n”,a);

}

A.31 B.13 C.10 D.20 11、以下程序运行结果为()

#include

Void main()

{int i,j,m=0;

for (i=1;i<=15;i+=4) 1\5\9\13\

for(j=3;j<=19;j+=4) 3\7\11\15\19

m++;

printf(“%d\n”,m);

}

A.12 B.15 C.20 D.25 12、以下程序的运行结果为()

# include

void main()

{ int i;

for (i=1;i<=5;i++) 1\2\3\4\5\6

{ if (i%2) printf(“*”);

else continue;

printf(“#”);

}

printf(“$\n”);

}

A.*#*#*#$ B.#*#*#*$ C.*#*#$ D.#*#*$ 13、有如下程序:

#include

void main()

{ int x=23;

do

{ printf(“%d”, x --); 23 22

} while(!x);

}

该程序的执行结果是()

A.321 B.23 C.不输出任何内容 D.陷入死循环14、下面程序的运行结果是()

# include

void main()

{ int y=10;

do {--y;} while (0);

Printf(“%d\n”,y--);-1

}

A.-1 B.1 C.8 D.0

15.有如下程序:

#include

void main()

{ int n=9;

while (n>6)

{n--; 8\7\6

printf("%d ",n);

}

}

该程序的输出结果是()

A.987 B.876 C.8765 D.9876

16、有以下程序:

#include

Void main()

{ int i=0,s=0;

do

{ if (i%2)

{ i++;continue; }

i++; s+=i;

} while (i<7);

Printf(“%d\n”,s);

}

执行后输出的结果是()

A.16 B.12 C.28 D.21

17、以下程序的输出结果是()

#include

Void main()

{ int i=0,a=0;

while (i<20) 0\11\21

{ for (;;)

{ if (i%10==0) break;

else i--; 10

}

i+=11; 21

a+=i; 32 }

printf(“%d\n”,a);}

A.21 B.32 C.33 D.11

18、有以下程序段:

int k=0;

while (k=1) k++;

while循环执行的次数是()

A.无限次 B.有语法错误,不能执行

C.一次也不执行

D.执行1次

19、以下程序中,while循环的循环次数是()

#include

Void main()

{int i=0;

while(i<10) 0

{ if (i<1) continue;

if(i==5) break;

i++;

}

}

A.1 B.10 C.6 D.死循环,不能确定次数

20、以下程序执行后sum的值是()

#include

void main()

{ int i,sum;

for(i=1;i<6;i++) 1

sum+=i;

printf(“%d\n”,sum);

}

A.15 B.14 C.不确定 D.0

C语言循环习题答案

循环习题集锦 一.选择题 1.for(i=0;i<10;i++);结束后,i的值是;(10) A 9 B 10 C 11 D 12 2.下面程序的循环次数是:(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 1 B 9 C 10 D 15 4.要使下面程序输出10个整数,则在下画线处填入正确的数是:(c)

for(i=0;i<= ;) printf(“%d\n”,i+=2); A 9 B 10 C 18 D 20 5.运行下面程序:(B) main() { int i=10,j=0; do { j=j+i; i--; }while(i>5); printf(“%d\n”,j); } 输出结果是: A 45 B 40 C 34 D 55 6.运行下面程序 #include “stdio.h” main() { int k=0,a=1; while(k<10) { for( ; ;) { if((k%10)==0)

break; else k--; } k+=11; a+=k; } printf(“%d %d\n”,k,a); } 则输出的结果是(C) A 21 32 B 21 33 C 11 12 D 10 11 7.以下叙述正确的是:(D) A.do---while语句构成的循环不能用其他语句构成的循环来代替。B.do---while语句构成的循环只能用break语句退出。 C.用do---while语句构成的循环,在while 后的表达式为非零时结束循环。 D.用do---while语句构成的循环,在while后的表达式为零时结束循环。 8.有如下程序: main() { int x=3; do{

C语言练习2(选择和循环结构)

C语言(分支和循环结构) 一、选择题 1.以下程序输出结果是( ) main() { int m=5; if(m++>5) printf("%d\n",m); else printf("%d\n",m--);} A)7 B)6 C)5 D)4 2以下程序的输出结果为( ) # include main ( ) { int i=0, j=0, a=6; if ((++i>0)&&(++j>0)) a++; printf ("i=%d, j=%d, a=%d\n", i,j,a);} A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=7 3有如下程序 main() { int a=2,b=-1,c=2; if(a

4若i为int型,且有程序如下,则输出结果是( ) i=111; if(i%3==0) printf("####"); printf("****"); A) #### B) **** C) ####**** D) 无输出结果 5若运行时x=12,则运行结果为( ) {int x, y; scanf("%d", &x); y=x>12 ? x+10:x-12; printf("%d\n", y);} A) 0 B) 22 C) 12 D) 10 6以下程序的输出结果是( ) main() { int i=0, j=0, k=6; if ((++i>0)||(++j>0)) k++; printf("%d, %d, %d\n", i, j, k); } A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 7 7若变量都已正确说明,则以下程序段输出为( ) int a=1,b=2,c=3; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c);

大一上期C语言实验报告5 循环控制语句

成都工业学院·计算机工程学院 《程序设计基础》实验报告 1.实验目的 (1)熟练掌握while语句、do…while语句和for语句格式及使用方法,掌握三种循环控制语句的循环过程以及循环结构的嵌套,利用三 种循环语句实现循环结构; (2)掌握简单、常用的算法,并在编程过程中体验各种算法的编程技巧; (3)进一步学习调试程序,掌握语法错误和逻辑错误的检查方法。2.实验内容 (1)输出两个整数m和n,求它们的最大公约数和最小公倍数。 要求: ①画出算法流程图,从键盘输入m和n; ②对负数和零可不做考虑; ③运行程序,对m>n、m

③按照数字、大写字母、小写字母及其他字符数的顺序输出结果 3.流程图 4.源程序

5. 运行结果 (1 ) 求最大公约数和最小公倍数 (2)求1000内最大的10个素数之和(3)计算π值

C语言for循环语句教案

for循环结构程序设计教案 课程名称:C语言程序设计 本课内容:循环结构程序设计——for 语句 一、教学目标 1、领会程序设计中构成循环的方法 2 、掌握for 语句的用法 二、教学重点 1、for 语句的一般格式 2、for语句的执行过程 三、教学难点 for 语句的综合利用 四、教学方法 1、课堂讲授,给出主要内容。 2、讲解其基本格式。 3、应用示例,结合相应的知识讲解。 4、执行过程用流程图和例题用(演示法和讲解法)进行详细说明。 五、教学过程 (一)导入 1、复习前两节课我们学习的两种循环语句——while语句和do~while 语句的基本格式和执行过程和特征。 2、给出例子如下:

main( ) {int x=1; (表达式1) s=0; while(x<=100) (表达式2) {s=s+x; x=x+1; (表达式3) } printf(“%d”,s); } 分析用while语句来完成的程序,主要完成1到100的累加和,对一个循环程序来说最关键的三个部分:循环变量的赋初值、控制循环条件、循环控制变量的更新。 (二)教学过程 1、写出本节课要介绍的for语句的一般格式 for(表达式1;表达式2;表达式3) 循环体; 2、掌握:基本格式和各个表达式的功能和特征 强调:for语句中的所有表达式和while语句中的表达式所完成的功能是相同的。 表达式1:循环变量的初始化(初始值) 表达式2:循环条件(终止值) 表达式3:循环变量自增 3、for语句的执行过程 for ( int i = 0 ; i < 10 ; i++) { printf("我最棒"); }

C语言循环例题

1. //输出a和b之间的所有素数, 10个素数为一行输出 #include #include #include int panDuanSuShu(int x) //判断x是否是素数 { int i,m,flag; //flag为1表示是素数,flag为0表示不是素数 m=(int)sqrt(x); if(x==2) { flag=1;} else { for(i=2;i<=m;i++) { if(x%i==0) { flag=0; break; } } if(i>m) { flag=1; } } return flag; } int shuChuSuShu(int a,int b) { int i,k=0;//i是循环变量,k表示已经输出了k个素数 for(i=a;i<=b;i++) { if(panDuanSuShu(i)==1) { printf("%6d",i); k++; if(k%10==0) { printf("\n");} } } printf("\n"); return k; } int main() { int a,b,t;

while(a<2||b<2) { printf("重新输入n和m:"); scanf("%d%d",&a,&b); } if(a>b) { t=a;a=b;b=t; } printf("%d和%d之间共有%d个素数",a,b,shuChuSuShu(a,b)); printf("\n\n"); return 0; } 2. //用户输入2个数,输出这2个数之间所有的超素数 //超素数(质数)的概念:7193是素数,719是素数,71是素数,7是素数,则7193是素数#include #include #include int isPrime(int n)//判断某数是否是素数 { int i,f,m=(int)sqrt(n); if(n==1) f=0; else { for(i=2;i<=m;i++) { if(n%i==0) break; } if(i>m) f=1; else f=0; } return f; } int supperPrime(int n)//判断某数是否是超素数 { int t=n; while(t>0) { if(isPrime(t)==1) t=t/10; else break; }

c语言循环结构上机习题

c语言循环结构上机习 题 标准化工作室编码[XX968T-XX89628-XJ668-XT689N]

1、计算n的阶乘(n!),n的取值在1~10之间。分别使用while、do…while和for语句实现。(三个程序) 给循环变量赋初值 循环条件 循环体 循环变量的增值 2、输入一行字符,分别统计输入了多少个字母、数字、空格和其他字符。 3、假设函数f(x)=3x2+2x+1,试利用for循环语句分别求出1<=x<=9的f(1)~f(9)各函数值。 4、有分数序列2/1,3/2,5/3,8/5,13/8,21/13…求这个数列的前20项和。 (分析提示:每个分子等于前一个数据分子与分母的和,每个分母等于前一个数据的分子) 5、输出显示1~100之间可以被n整除的所有整数,运行时n由键盘输入。要求每一行显示5个数,并且统计一共有多少个整数能被n整除。 6、下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。

main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( ① ) { if(x>amax) amax=x; if( ② ) amin=x; scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin);} 7、使用循环语句输出以下图形 8、有一个数学等式:AB*CD=BA*DC,式中的一个字母代表一位数字,试找出所有符合上述要求的乘积式并打印输出。 8、一百个铜钱买了一百只鸡,其中公鸡一只5钱、母鸡一只3钱,小鸡一钱3只,问一百只鸡中公鸡、母鸡、小鸡各多少)。 分析:

c语言循环语句和循环控制例题解析

一、循环控制 (一)、break语句 break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。break在switch中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。 当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。 例如: int main(int argc, char *argv[]) { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) break; /*如果i等于51,则跳出循环*/ sn+=i; /*1+2+……+50*/ } printf(%d\n,sn); } 可以看出,最终的结果是1+2+……+50。因为在i等于51的时候,就跳出循环了。自己写写怎样在while和do--while循环中增加break语句。 注意: 1. break语句对if-else的条件语句不起作用。 2. 在多层循环中,一个break语句只向外跳一层。 例如: int main(int argc, char *argv[]) { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) { if(j==2) break; printf(%d %d\n,i,j); } } 输出结果为: i j 0 0 0 1 1 0 1 1 当i==0,j==2时,执行break语句,跳出到外层的循环,i变为1。 (二)、continue语句

(完整版)C语言循环结构练习题带答案

第5章循环结构程序设计 练习题 1. 单项选择题 (1)语句while (!e);中的条件!e等价于 A 。 A. e==0 B. e!=1 C. e!=0 D. ~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__。

第5章循环结构程序设计35 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__。 while (a) { if (b) continue; c; } A. while (a) B. while (c) { if (!b) c; } { if (!b) break; c; } C. while (c) D. while (a) { if (b) c; } { if (b) break; c; } (8)以下程序的输出结果是_B___。 #include main() { int i; for (i=4;i<=10;i++) { if (i%3==0) continue; COUT<

C语言 个关键字九种控制语句 种运算符

总结归纳了C语言的32个关键字 第一个关键字:auto 用来声明自动变量。可以显式的声明变量为自动变量。只要不是声明在所有函数之前的变量,即使没加auto关键字,也默认为自动变量。并且只在声明它的函数内有效。而且当使用完毕后,它的值会自动还原为最初所赋的值。自动变量使用时要先赋值,因为其中包含的是未知的值。 例:auto int name=1; 第二个关键字:static 用来声明静态变量。可以显式的声明变量为静态变量。也为局部变量。只在声明它的函数内有效。它的生命周期从程序开始起一直到程序结束。而且即使使用完毕后,它的值仍旧不还原。即使没有给静态变量赋值,它也会自动初始化为0. 例:static int name=1. 第三个关键字:extern 用来声明全局变量。同时声明在main函数之前的变量也叫全局变量。它可以在程序的任何地方使用。程序运行期间它是一直存在的。全局变量也会初始化为0. 例:extern int name; 第四个关键字:register 用来声明为寄存器变量。也为局部变量,只在声明它的函数内有效。它是保存在寄存器之中的。速度要快很多。对于需要频繁使用的变量使用它来声明会提高程序运行速度。 例:register int name=1; 第五个关键字:int 用来声明变量的类型。int为整型。注意在16位和32位系统中它的范围是不同的。16位中占用2个字节。32位中占用4个字节。还可以显式的声明为无符号或有符号: unsigned int或signed int .有符号和无符号的区别就是把符号位也当作数字位来存储。也可用short和long来声明为短整型,或长整行。 例:int num; 第六个关键字:float 用来声明变量的类型。float为浮点型,也叫实型。它的范围固定为4个字节。其中6位为小数位。其他为整数位。 例:float name;

C语言循环结构练习题带答案

C语言循环结构练习题 带答案 Company Document number:WTUT-WT88Y-W8BBGB-

第5章循环结构程序设计 基本知识点 while语句的使用格式和注意事项 do-while语句的使用格式和注意事项 for语句的使用格式和注意事项 break和continue语句在循环语句中的应用 循环结构的嵌套 使用goto语句实现循环结构 穷举法程序设计方法 迭代程序设计方法 练习题5 1.单项选择题 (1)语句while(!e);中的条件!e等价于A。 ==0 !=1 !=0 D.~e (2)下面有关for循环的正确描述是D。 循环只能用于循环次数已经确定的情况 循环是先执行循环体语句,后判定表达式 C.在for循环中,不能用break语句跳出循环体 循环体语句中,可以包含多条语句,但要用花括号括起来(3)C语言中D。 A.不能使用do-while语句构成的循环 语句构成的循环必须用break语句才能退出 语句构成的循环,当while语句中的表达式值为非零时结束循环语句构成的循环,当while语句中的表达式值为零时结束循环(4)C语言中while和do-while循环的主要区别是A。 的循环体至少无条件执行一次 的循环控制条件比do-while的循环控制条件严格 允许从外部转到循环体内 的循环体不能是复合语句 (5)以下程序段C。 intx=-1; do { x=x*x; }

while(!x); A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误(6)下列语句段中不是死循环的是__C__。 =100; while(1) { i=i%100+1; if(i==20)break; } (i=1;;i++) sum=sum+1; =0; do { ++k; }while(k<=0); =3379; while(s++%2+3%2) s++; (7)与以下程序段等价的是__A__。 while(a) { if(b)continue; c; } (a) (c) {if(!b)c;} {if(!b)break;c;} (c) (a) {if(b)c;} {if(b)break;c;} (8)以下程序的输出结果是_B___。 #include<> main() { inti; for(i=4;i<=10;i++) { if(i%3==0)continue; COUT<

C语言循环程序设计for语句教学案例

《C语言循环程序设计—for语句》教学案例漠河县职业技术学校尘威威

《C语言循环程序设计—for语句》教学案例 漠河县职业技术学校尘威威 C语言基础是中职计算机专业的一门必修课,也是要求计算机专业学生学习、掌握的一门重点课程,这门课程核心内容就是要让学生掌握一门编程的语言,学会编写简单的程序,能读懂C语言源程序。 案例背景: 在计算机应用专业教学中,C语言是一门理论与实践结合得比较紧的课程。要掌握和使用好这门语言,既要求学生有比较扎实的理论基础,又要具备较强的应用实践能力。如果只是按照传统的知识体系照本宣科,让学生理解这些枯燥的概念都难,更不要说达到良好的教学效果,而且易挫伤学生学习编程的积极性。因此,在教学中可以改为从案例入手,通过给学生演示、让学生模仿,在实际应用中去探究和领悟这些概念,并适时地加以归纳总结和进行概念的延伸,让学生在轻松愉快的气氛中学习新知识。所以从课程内容而言,案例教学是适用的,是切合学生的。 循环结构是程序设计三种基本结构的重中之重,而循环中的for 循环是程序中运用最多的,也是较灵活的语句之一,它既是前面知识的延续,又是后面知识的基础,在知识构架中起着重要的衔接作用,如果不采用一些恰当有效的方法,学生在学习过程中会难以掌握。在教学过程中教师应结合一些有趣的程序,提高学生的学习兴趣,引导

学生全身心地投入课堂。本文针对学生的实际情况,具体阐述for循环语句在具体编程时的灵活应用。 教学目标确定 (一)知识与技能 1、领会程序设计中构成循环的方法 2、能使用for循环语句编写C语言语句,并能运用for循环语句编写出正确的程序。 (二)过程与方法 C语言程序设计中for循环语句教学以行动导向教学为主线,通过“提出问题―分析问题―解决问题―问题扩展―讨论―总结归纳―实践”的程序,过渡到知识应用和练习。 本课采用多媒体课件进行教学,通过课件把文字和图片有机的结合,使学生在学习过程中更加容易理解,学习效率高。在课堂讨论和实践过程中,教师适当引导,学生主动探究、归纳总结学习内容,既有利于领会掌握新知识点,又能充分发挥学生的主体作用。在重点的突破上,采用范例比较教学法,给出具体的案例,让学生通过典型的例子掌握知识,同时通过用while、do while语句的所编写的程序进行比较,加深学生印象,让学生快速的掌握for循环语句的基本结构及使用方法。 (三)情感与价值观 1.让学生在自主解决问题的过程中培养成就感,为今后自主学习打下良好的基础。

C语言循环结构练习题带答案.doc

第 5 章循环结构程序 设计 练习题 1.单项选择题 ( 1)语句 while (!e);中的条件!e等价于A。 A. e==0 B. e!=1 C. e!=0 D. ~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++;

C语言循环结构测习题带答案

精心整理 第5章循环结构程序设计 5.1基本知识点 ?while语句的使用格式和注意事项 ?do-while语句的使用格式和注意事项 ?for语句的使用格式和注意事项 ?break和continue语句在循环语句中的应用 ? ? ? ? 1. C. A.do-while的循环体至少无条件执行一次 B.while的循环控制条件比do-while的循环控制条件严格 C.do-while允许从外部转到循环体内 D.do-while的循环体不能是复合语句 (5)以下程序段C。 intx=-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. C. COUT< main() { intnum=0; while(num<=2) {

num++; cout< else ++i; }while(s<15); Cout< main() { inti,j; for(i=4;i>=1;i--) {

for循环使用详解(c语言版)

for循环使用详解(c语言版) 说明:c语言的很多语法部分都和JAVA,AS等相同特别是for的用法. c语言中的for循环语句使用最为灵活,不仅可以用于循环次数已经确定的情况,而且可以用于循环次数不确定而只给出循环结束条件的情况,它完全可以代替while语句. for(表达式 1;表达式 2;表达式 3)语句 它的执行过程如下: (1)先求表达式 1. (2)求表达式2,若其值为真(值为非0),则执行for语句中指定的内嵌语句,然后执行下面第三步做若为 假(值为0),则结束循环,转到第5步. (3)求解表达式3 (4)转回上面第(2)步骤继续执行; (5)结束循环,执行for语句下面的一个语句; for(循环变量赋初值;循环条件;循环变量增值)语句 如 for(i=1;i =100;i++)sum=sum+i; 它的执行相当于 i=1; while(i =100){ sum=sum+i; i++; } 显然,用for语句更简单、方便。 说明: (1)for语句的一般形式中的”表达式1”可以省略,此时应在for语句之前给循环变量赋初值.注意省略表达式1时,其后的分号不能省略.如for(;i =100;i++){....}; (2)如果表达式2省略即不判断循环条件,循环无终止地循环下去,也就是认为表达式2始终为真. 例如:for(i=1;;i++){.....}; 相当于 i=1; while(1) {sum=sum+1; i++; } (3)表达式3也可以省略,但此时程序设计者应另外设法保证循环能正常结束.如: for(i=1;i =100;) {sum=sum+1; i++;

二级C语言5练习(循环含答案)

(1)有以下程序段 int n,t=1,s=0; scanf("%d",&n); do{ s=s+t; t=t-2; }while (t!=n); t==n t=-1,-3,-5 为使此程序段不陷入死循环,从键盘输入的数据应该是 A)任意正奇数B)任意负偶数C)任意正偶数D)任意负奇数 (2)设变量已正确定义,则以下能正确计算f = n!的程序段是 A) f=0; B) f=1; for(i=1;i<=n;i++) f*=i; for(i=1;i1;i++) f*=i; 死循环for(i=n;i>=2;i--) f*=i; (3)以下程序的功能是计算:s=1+12+123+1234+12345。请填空。 main() { int t=0,s=0,i; ; i=1 t=1 i=2 t=12 i=3 t=123 t=i+10*t s=s+t; } printf("s=%d\n",s); } 4) 要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是 ch=getchar()!='N' ch=('a'!='N')ch=1 while( 1 ) (ch=getchar()) != 'N' ch=getchar() ch='a' 'a'!='N' while(1) A)while((ch=getchar())!='N') printf("%c",ch); B)while(ch=getchar()!='N') printf("%c",ch); C)while(ch=getchar()=='N') printf{"%c",ch); D)while((ch=getchar())=='N') printf("%c",ch); 5) 以下程序的功能是输入任意整数给n后,输出n行由大写字母A开始构成的三角形字符阵列图形。例如,输入整数5时(注意:n不得大于10),程序运行结果如下: A B C D E F G H I J K L M N O 请填空完成该程序。 main() { int i,j,n; char ch='A'; scanf("%d",&n); if(n<11) n=5 { for(i=1;i<=n;i++) i=1 j=1 to 5 'A' ch='B' 'C' { for(j=1;j<=n-i+1;j++) { printf("%2c",ch); ch=ch+1 ; ch++ ++ch }

C语言的32个关键字和9种控制语句

C语言的32个关键字和9种控制语句 C语言的关键字共有32个,根据关键字的作用,可分其为数据类型关键字、控制语句关键字、存储类型关键字和其它关键字四类。 1 数据类型关键字(12个): (1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 (5) int:声明整型变量或函数 (6) long :声明长整型变量或函数 (7) short :声明短整型变量或函数 (8) signed:声明有符号类型变量或函数 (9) struct:声明结构体变量或函数 (10) union:声明共用体(联合)数据类型 (11) unsigned:声明无符号类型变量或函数 (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用) 2控制语句关键字(12个): A循环语句 (1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件 (4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环 B条件语句 (1)if: 条件语句 (2)else :条件语句否定分支(与if 连用) (3)goto:无条件跳转语句 C开关语句 (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支 D返回语句 return :子程序返回语句(可以带参数,也看不带参数) 3 存储类型关键字(4个) (1)auto :声明自动变量一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量)

c语言循环结构练习

2015-2016(2)循环结构练习题 一、单选题(共40题,共100分) 1. 以下正确的描述是()(2分) 语句的作用是结束整个循环的执行 B.只能在循环体内和switch语句体内使用break语句 C.在循环体内使用break语句或continue语句的作用相同 D.从多层循环嵌套中退出时,只能使用goto语句 标准答案:B 考生答案: 2. 下面的关键字中,不能够从循环体中跳出循环体外的是()(2分) 标准答案:D 考生答案: 3. 以下叙述中错误的是()(2分) A.语句标号是由合法的标识符后面加一个冒号构成 语句的作用是把程序的执行转向语句标号所在的位置 语句必须与语句标号在同一个函数内 D.结构化程序设计主张使用goto语句,使用goto语句的程序可读性强标准答案:D 考生答案: 4. 有以下程序段,while 循环执行的次数是() int k=0; while(k=1)k++; (2分) A.无限次 B.有语法错,不能执行 C.一次也不执行 D.执行1次 标准答案:A 考生答案: 5. 运行以下程序的结果为() main() { int num=0; while (num<=2) {num++; printf("%d",num); } } (2分) 标准答案:B 考生答案: 6. 下述程序的输出结果是()。 #include<> main() { int Y=100; while(Y--);

printf("y=%d",Y); (2分) =0 =1 =随机值 =-1 标准答案:D 考生答案: 7. 执行下面的程序后的输出结果为() int x,y,z; x=20,y=40,z=15; while(y>x) x+=4,y-=4; z/=2; printf("%d,%d,%d",x,y,z); (2分) ,36,30 ,8,7 ,28,7 ,28, 标准答案:C 考生答案: 8. 以下程序段的输出结果是() int x=0,y=5,z=3; while(z-->0&&++x<5) y=y-1; printf("%d,%d,%d\n",x,y,z); (2分) ,2,0 ,2,-1 ,3,-1 ,-2,-5 标准答案:B 考生答案: 9. 下述语句执行后,变量k的值是() int k=1; while(k++<10); (2分) D.此为无限循环,值不定 标准答案:B 考生答案: 10. 下面程序的运行结果是()。 main() { int c1=2, c2=0; while(!c2--) printf("%d,%d", c1--, c2); } (2分) ,-1 B.不输出任何内容 ,-1 ,0 标准答案:C 考生答案: 11. 运行以下程序后,如果从键盘上输入china#main( ) { int v1=0,v2=0; char ch ; while((ch=getchar())!='#') switch(ch) { case 'a': case 'h': default: v1++; case '0': v2++;

c语言循环控制语句

循环控制结构(又称重复结构)是程序中的另一个基本结构.在实际问题中,常常需要 进行大量的重复处理,循环结构可以使我们只写很少的语句,而让计算机反复执行,从而完成大量类同的计算. C语言提供了while语句、do...while语句和for语句实现循环结构. 3.4.1while语句 while语句是当型循环控制语句,一般形式为: while<表达式>语句; 语句部分称为循环体,当需要执行多条语句时,应使用复合语句. while语句的流程图见图3-8,其特点是先判断,后执行,若条件不成立,有可能一次也不执行. [例3-11]求n! 分析:n!=n*(n-1)*(n-2)*..2*1,0!=1.即S0=1,Sn=Sn-1*n.可以从S0开始,依次求出S1、S2、...Sn. 统一令S等于阶乘值,S的初值为0!=1;变量i为计数器,i从1变到n,每一步令S=S*i,则最终S中的值就是n!. 流程图见图3-9,程序如下:

考察图3-9中循环部分的流程图可以看出,在循环前各变量应有合适的值(s=1),另外,控制循环结束的变量(此处为i)必须在循环体中被改变,否则,循环将无限进行下去,成为死循环.

本题中,将多项式的每一项用t表示,s代表符号,在每一次循环中,只要改变s、n的值,

就可求出每一项t. 一般情况下,while型循环最适合于这种情况:知道控制循环的条件为某个逻辑表达式的值,而且该表达式的值会在循环中被改变,如同例3-12的情况一样. 3.4.2do...while语句 在C语句中,直到型循环的语句是do...while,它的一般形式为: do语句while<表达式> 其中语句通常为复合语句,称为循环体. do...while语句的流程图见图3-10,其基本特点是:先执行后判断,因此,循环体至少被执行一次. 但需要注意的是,do...while与标准的直到型循环有一个极为重要的区别,直到型循环是当条件为真时结束循环,而do...while语句恰恰相反,当条件为真时循环,一旦条件为假,立即结束循环,请注意do...while语句的这一特点. 例[3-13]计算sin(x)=x-x3/3!+x5/5!-x7/7!+... 直到最后一项的绝对值小于1e-7时为止. 分析:这道题使用递推方法来做. 让多项式的每一项与一个变量n对应,n的值依次为1,3,5,7,...,从多项式的前一项算后一项,只需将前一项乘一个因子: (-x2)/((n-1)*n) 用s表示多项式的值,用t表示每一项的值,程序如下: #include # include m a i n ( ) { double s,t,x ; int n ; printf("please input x :"); scanf("%lf",&x); t=x; n=1; s=x; do { n=n+2; t=t*(-x*x)/((float)(n)-1)/(float)(n); s=s+t;

C语言循环结构练习题

5.2 练习题5 1. 单项选择题 (1)语句while (!e);中的条件!e等价于。 A. e==0 B. e!=1 C. e!=0 D. ~e (2)下面有关for循环的正确描述是。 A. for循环只能用于循环次数已经确定的情况 B. for循环是先执行循环体语句,后判定表达式 C. 在for循环中,不能用break语句跳出循环体 D. for循环体语句中,可以包含多条语句,但要用花括号括起来 (3)C语言中。 A. 不能使用do-while语句构成的循环 B. do-while语句构成的循环必须用break语句才能退出 C. do-while语句构成的循环,当while语句中的表达式值为非零时结束循环 D. do-while语句构成的循环,当while语句中的表达式值为零时结束循环 (4)C语言中while和do-while循环的主要区别是。 A. do-while的循环体至少无条件执行一次 B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 (5)以下程序段。 int x=-1; do { x=x*x; } while (!x); A. 是死循环 B. 循环执行二次 C. 循环执行一次 D. 有语法错误 (6)下列语句段中不是死循环的是____。 A. i=100; while (1) { i=i%100+1; if (i==20) break;

第5章循环结构程序设计35 } 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)与以下程序段等价的是____。 while (a) { if (b) continue; c; } A. while (a) B. while (c) { if (!b) c; } { if (!b) break; c; } C. while (c) D. while (a) { if (b) c; } { if (b) break; c; } (8)以下程序的输出结果是____。 #include main() { int i; for (i=4;i<=10;i++) { if (i%3==0) continue; printf("%d",i); } } A. 45 B. 457810 C. 69 D. 678910 (9)以下程序的输出结果是____。 #include main() { int num=0; while (num<=2) {

C语言循环结构练习测试题带参考答案

第5章循环结构程序设计 5.1基本知识点 ?while语句的使用格式和注意事项 ?do-while语句的使用格式和注意事项 ?for语句的使用格式和注意事项 ? ? ? ? ? 1. ( ( C. ( A. (A。 A.do-while的循环体至少无条件执行一次 B.while的循环控制条件比do-while的循环控制条件严格 C.do-while允许从外部转到循环体内 D.do-while的循环体不能是复合语句 (5)以下程序段C。 intx=-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. { D. ( { } A. C. ( { { COUT< main() { intnum=0; while(num<=2) { num++;

cout< main() { { { } } } ( { ++i; }while(s<15); Cout< main() { inti,j; for(i=4;i>=1;i--) { cout<<"*"; for(j=1;j<=4-i;j++)

相关文档
最新文档