C语言程序设计(循环)习题与答案

一、单选题

1、关于下面程序段,正确的是()。

int k=10;

while(!k)

k--;

A.循环体一次也不执行

B.死循环

C.循环体执行1次

D.循环体执行10次

正确答案:A

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

#include

int main( )

{

int x=3;

do{

printf("%3d",x-=2);

}while(!(--x));

return 0;

}

A.1

B.死循环

C.1 -2

D.10

正确答案:C

3、已定义int j; 下面程序段的输出结果是()。for(j=7;j<10;j++)

printf("%d",j);

A.无结果

B.8910

C.789

D.91011

正确答案:C

4、

下面程序的输出结果是()。

#include

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.0

B.死循环

C.32

D.28

正确答案:C

5、下面程序的输出结果是()。#include

int main( )

{

int j,s;

for(j=1;j<=7;j++)

s=s+j;

printf("%d",s);

}

A.死循环

B.0

C.不确定

D.28

正确答案:C

6、已定义int j,s; 则下面程序段的输出结果是()。

int j,s;

for(j=1,s=0;j<=5;j++)

s*=j;

printf("%d",s);

A.0

B.无结果

C.120

D.死循环

正确答案:A

7、从循环体内某一层跳出,继续执行循环外的语句是( )。

A.if语句

B.break语句

C.空语句

D.continue语句

正确答案:B

8、针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是()。

A.continue语句可以一次性跳出多层嵌套循环

B.continue语句只能跳出所在层循环

C.break语句只能跳出所在层循环

D.break语句可以一次性跳出多层嵌套循环正确答案:C

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

#include

int main( )

{ int i,j,sum;

for(i=2;i<7;i++)

{ sum=1;

for( j=i;j<7;j++)

sum=sum+j; }

printf("%d",sum);

return 0;

}

A.48

B.1

C.49

D.7

正确答案:D

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

#include

int main( )

{ int i=10,s=0;

while(i>0)

{ if(i%3==0) continue;

s=s+i;

i--;}

printf("s=%d",s);

return 0;

}

A.37

B.死循环

C.55

D.10

正确答案:B

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

#include

int main( )

{ int x=15;

do{

x--;

} while(x--);

printf("%d ",x--);

return 0;

A.0

B.-1

C.1

D.-2

正确答案:B

二、判断题

1、do while循环语句中,根据情况可以省略关键字while。(×)

2、do while循环语句至少无条件执行一次循环体。(√)

3、for循环语句先判断循环条件是否成立,然后再决定是否执行循环体。(√)

4、for循环的三个表达式中间用逗号相分隔,并且不能省略。(×)

5、while循环语句和do while循环语句在任何情况下都可以互换。(×)

6、for循环的三个表达式中间用分号相分隔,第一个表达式执行一次。(√)

7、continue语句用于终止循环体的本次执行。(√)

8、break语句能够终止当前进行的多层循环。(×)

9、continue语句对于while和do-while循环来说,意味着转去计算While表达式。(√)

10、continue语句在循环体中出现,其作用是结束本次循环,接着进行是否执行下一循环的判定。(√)

11、goto语句和break语句都能够实现使程序执行的流程从循环体内跳至循环体外。(√)

12、break终止包含该语句的最内层循环。(√)

13、程序中遇到goto语句无条件跳到标号指定的位置继续执行。(√)

三、填空题

1、下面程序用来计算自然数1-10之和,请完善程序。

#include

int main( )

{

int j,s;

______ ;

for(j=1;j<=10;j++)

s=s+j;

printf("%d",s);

return 0;

}

正确答案:s=0

2、下面程序计算并输出1100之间(包括100)能被3整除同时能被7整除余3的所有数之和,请完善程序。

#include

int main( )

{

int sum=0,i;

i=1;

while (______)

{

if (i%3==0&&i%7==3)

sum=sum+i;

i++;

}

printf("sum=%d",sum);

return 0;

}

正确答案:i<=100 或 i<101

3、下面程序计算并输出500以内最大的10个能被13或17整除的自然数之和。请完善程序。

#include

int main ( )

{

int m=0, mc=0, k=500;

while (k >= 1 && ______)

{

if (k%13== 0 || k%17 == 0)

{

m=m+k;

mc++;

}

k--;

}

printf("sum=%d",m);

return 0;

}

正确答案:mc<10 或 mc<=9

4、/*程序的功能是:求1到10的阶乘的和*/

#include "stdio.h"

int main ()

{

int n,j,s=0,t;

for(n=1;n<=10;n++)

{

______;

for(j=1;j<=n;j++)

t=t*j;

s=s+t;

}

printf("s=%d\n",s);

return 0;

}

正确答案:t=1

5、/*程序的功能是:从键盘输入10个字符,输出其中数字字符*/ #include

int main( )

{

int i;

char c;

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

{

c=getchar( );

if(c< '0' ||c> '9')

______;

putchar(c);

}

return 0;

}

正确答案:continue

6、/*用10元人民币兑换角币有多少种换法(角币有1角、2角、5角三种)。*/ #include

int main( )

{ int i,j,k,m=0;

for(i=0;i<=20;i++)

for(j=0; ______;j++)

for(k=0;k<=100;k++)

if(i*5+j*2+k==100)

{ m++;printf("i=%d,j=%d,k=%d\n",i,j,k);}

printf("m=%d",m);

return 0;

}

正确答案:j<=50

C语言单元复习题 第06部份 循环

第6章循环程序设计 一、单选题 1.以下关于循环的描述中,错误的是:()。 A.可以用for语句实现的循环一定可以用while语句实现 B.可以用while语句实现的循环一定可以用for语句实现 C.可以用do...while语句实现的循环一定可以用while语句实现 D.do...while语句与while语句的区别仅仅是关键字while的位置不同( 知识点:循环的基本概念;难度系数:1;答案:D ) 2.以下关于循环的描述中,错误的是:()。 A.while、do...while和for语句的循环体都可以是空语句 B.for和do...while语句都是先执行循环体,后进行循环条件判断 C.while语句是先进行循环条件判断,后执行循环体的 D.使用while和do...while语句时,循环变量初始化的操作应在循环语句之前完成( 知识点:循环的基本概念;难度系数:1;答案:B ) 3.以下关于循环体的描述中,错误的是:()。 A.循环体中可以出现break语句 B.循环体中可以出现continue语句 C.循环体中不能出现switch语句 D.循环体中还可以出现循环语句 ( 知识点:循环的基本概念;难度系数:1;答案:C ) 4.在while(x)语句中的x与下面条件表达式等价的是:()。 A.x==0 B.x==1 C.x!=l D.x!=0 ( 知识点:while语句;难度系数:1;答案:D ) 5.在C语言中,当while语句构成的循环中的条件为()时,结束循环。 A.0 B.1 C.真D.非0 ( 知识点:while语句;难度系数:1;答案:A ) 6.有以下程序段: int k=0; while(k=1) k++; while循环执行的次数是:()。 A.无限次B.有语法错,不能执行 C.一次也不执行D.执行一次 ( 知识点:while语句;难度系数:1;答案:A ) 7.有以下程序段: int x=0; while(x=1) {……} 则以下叙述中正确的是:()。 A.循环控制表达式的值为0 B.循环控制表达式的值为1 C.循环控制表达式不合法D.以上说法都不正确 ( 知识点:while语句;难度系数:1;答案:B ) 8.下述语句执行后,变量k的值是:()。 int k=0; while(k++<2); printf("%d",k); A.2 B.3 C.01 D.12

(完整版)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()

C语言程序设计试题及答案

《C语言程序设计》(卷)考核班级 学生数印数考核方式闭卷考核时间120 分钟 (本试卷包括第一卷和第二卷,答卷时间总共120分钟) 第一卷 第一部分:基础知识(20项,共40分) 1.一个C语言程序是由()组成的。 A.主程序B.子程序C.函数D.过程 2.转换说明符%x的输出形式是()。 A.十进制B.八进制C.十六进制D.二进制 3.若a、b均为int型变量,且a=100,则关于循环语句for(b=100;a!=b;++a,++b) printf ( “------------“) ;的正确说法是()。 A.循环体只执行一次B.死循环 C.循环体一次也不执行D.输出----------- 4.若x、y、z均为int 型变量,则执行下列语句后的z值为()。 x=1; y=2; z=3; z=(x>y)?z :y ; z = (z

C语言程序设计试题试题及答案

C 语言程序设计试卷 ,C++语言程序设计试题及答案 一、单项选择题(每题1分,共20分) 1.C语言规定:在一个源程序中,main函数的位置( C )。 A.必须在最开始 B.必须在系统调用的库函数的后面 C.可以任意 D.必须在最后 2. 下面四个选项中,均是合法浮点数的选项是( B )。 A.+1e+1 5e-9.4 03e2 B.-.60 12e-4 -8e5 C.123e 1.2e-.4 +2e-1 D.-e3 .8e-4 5.e-0 3. 若a=-14,b=3,则条件表达式 a

C语言程序设计习题与答案3

1、下列语句中,句法错误的是(不考虑语义)()。 A.while(0); B.while(x=y)5; C.do x++ while(x==10); D.do 2; while(a==b); 正确答案:C 2、已定义c为字符型变量,则下列语句中正确的是()。 A.c=“a” B.c=‘97’ C.c=97 D.c=“97” 正确答案:C 3、若变量已正确定义并赋值,下面符合C语言语法的表达式是()。 A.a:=b+1 B.a=b=c+2 C.a=a+7=c+b D.int 18.5%3 正确答案:B 4、从循环体内跳出继续执行循环外的语句是()。 A.break;语句 B.return 语句 C.continue语句 D.空语句 正确答案:A 5、所有的ASCII码都可以用“\”加数字(一般是8进制数字)来表示。而C中定义了一些字母前加"\"来表示常见的那些不能显示的ASCII字符,如\0,\t,\n等,就称为转义字符,因为后面的字符,都不是它本来的ASCII字符意思了。

已经定义ch为字符型变量,以下赋值语句中错误的是()。 A.ch='\xaa'; B.ch=NULL; C. ch=62+3; D. ch='\'; 其中“\"为C语言的转义字符,比较特殊一点 正确答案:D 6、判断下面的while循环体的执行次数()。 i=0; k=10; while( i=8 ) i=k––; A.10 B.8 C.2 D.无穷次 正确答案:D 7、下列语句段中是死循环的是()。 A.int k=0; do { ++k; } while (k<=0); B.int i=100; while (1) { i=i%100+1; if (i==20) break; } C.int s=3379; while (s%2+3%2) s++; D.int i,sum=0;.for (i=1;;i++) sum=sum+1; 正确答案:D 8、语句while(!E);中的表达式!E等价于()。

C语言程序设计(循环)习题与答案

一、单选题 1、关于下面程序段,正确的是()。 int k=10; while(!k) k--; A.循环体一次也不执行 B.死循环 C.循环体执行1次 D.循环体执行10次 正确答案:A 2、下面程序的运行结果是( )。 #include int main( ) { int x=3; do{ printf("%3d",x-=2); }while(!(--x)); return 0; } A.1 B.死循环 C.1 -2 D.10 正确答案:C 3、已定义int j; 下面程序段的输出结果是()。for(j=7;j<10;j++)

printf("%d",j); A.无结果 B.8910 C.789 D.91011 正确答案:C 4、 下面程序的输出结果是()。 #include 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.0 B.死循环 C.32 D.28 正确答案:C 5、下面程序的输出结果是()。#include int main( ) { int j,s; for(j=1;j<=7;j++)

s=s+j; printf("%d",s); } A.死循环 B.0 C.不确定 D.28 正确答案:C 6、已定义int j,s; 则下面程序段的输出结果是()。 int j,s; for(j=1,s=0;j<=5;j++) s*=j; printf("%d",s); A.0 B.无结果 C.120 D.死循环 正确答案:A 7、从循环体内某一层跳出,继续执行循环外的语句是( )。 A.if语句 B.break语句 C.空语句 D.continue语句 正确答案:B 8、针对for循环语句,for(表达式1;表达式2;表达式3),下列说法正确的是()。 A.continue语句可以一次性跳出多层嵌套循环

C语言程序设计课后习题1-8参考答案

C语言程序设计课后习题1-8参考答案 习题1参考答案 一、简答题 1、冯诺依曼计算机模型有哪几个基本组成部分各部分的主要功能是什么? 答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。 运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。数据运算包括算术运算和逻辑运算。 控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的。 存储器是计算机中具有记忆能力的部件,用来存放程序和数据。 输入设备是用来输入程序和数据的部件。 输出设备正好与输入设备相反,是用来输出结果的部件。 2、简述计算机的工作原理。 答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。整个过程由控制器进行控制。 3、计算机软件系统分为哪几类 答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。 系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。这类软件一般与具体应用无关,是在系统一级上提供的服务。系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。 应用程序是指某特定领域中的某种具体应用,供最终用户使用的软件,它必须在操作系统的基础上运行。 4、什么叫软件说明软件与硬件之间的相互关系。

答:软件是指计算机程序及有关程序的技术文档资料。两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。在不太严格的情况下,认为程序就是软件。硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作。在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。从这个意义上说,软件是用户与机器的接口。 二、填空题 1、算术逻辑 2、键盘鼠标 3、控制器运算器 4、10 2 5、0 0x 6、原码反码补码 8、127 -128 三、选择题 1、C 2、A 3、B 4、A 5、B 6、B 7、D 8、A 9、A 10、B 11、A 12、B 习题2参考答案 一、简答题 1、C语言有哪些特点 答:(1)简洁紧凑、灵活方便;(2)运算符丰富;(3)数据结构丰富;(4)C语言是结构式语言;(5)C语言的语法限制不太严格、程序设计自由度大;(6)C语言允许直接访问物理地址,可以直接对硬件进行操作;(7)C语言程序生成代码质量高,程序执行效率高;(8)C语言使用范围大,可移至性好;(9)具有预处理功能;(10)具有递归功能。 2、C语言的主要应用有哪些

C语言程序设计试卷含答案

C语言程序设计试卷含答案 一、选择题(共20题,每题2分,共40分。下面每题后面用小括号内标注了正确答案) 1. 下列关键字中,用于定义变量的是(A) A. int B. if C. while D. for 2. 变量的作用域是指变量的(C) A. 大小 B. 类型 C. 可访问范围 D. 值 3. 下列语句中,用于输出字符的是(B) A. scanf B. printf C. input D. output 4. 已知整型变量a和b,那么a += b; 等价于(D) A. a = a + b; B. a -= b; C. a = a - b; D. a = a + b; 5. 在C语言中,用于表示“不等于”的运算符是(C) A. = B. == C. != D. >= 6. 下面哪个for循环语句是正确的(A) A. for(int i=0; i<10; i++) B. for(int i<10; i++) C. for(int i=0; i<10) D. for(i=0; i<10; i++) 7. 下列选项中,表示“或”运算符的是(D) A. & B. && C. | D. ||

8. 在C语言中,用于声明宏定义的关键字是(B) A. define B. #define C. const D. int 9. 如果要判断一个整数是否为负数,正确的if条件语句是(C) A. if(n > 0) B. if(n => 0) C. if(n < 0) D. if(n <= 0) 10. 下列哪个不是C语言的基本数据类型(D) A. int B. float C. char D. string 11. 下列关键字中,用于定义函数的是(C) A. main B. include C. void D. for 12. 在C语言中,表示“或者”的条件语句是(B) A. if B. else if C. switch D. while 13. C语言中的“++”运算符表示(A) A. 自增 B. 自减 C. 相加 D. 相减 14. 下列哪个语句用于在C语言中声明字符类型的变量(C) A. String name; B. var name; C. char name; D. character name; 15. 下列哪个不是C语言的关键字(D) A. enum B. long C. double D. true 16. 在C语言中,用于跳出当前循环并继续执行下一次循环的关键字是(D)

(完整版)c语言第六章循环结构程序设计(习题册答案)

第六章循环结构程序设计 基础练习(A) 一、选择题 1、C语言中while和do-while循环的主要区别是(A)。 A) do-while的循环体至少无条件执行一次 B) while的循环控制条件比do-while的循环控制条件严格 C) C)do-while允许从外部转到循环体内 D) do-while的循环体不能是复合语句 2、以下描述中正确的是(C)。 A) 由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用 复合语句 B)do-while循环由do开始,用while结束,在while(表达式)后面不能写分号 C) 在do-while循环体中,一定要有能使while后面表达式的值变为零(“假”)的操 作 D)do-while循环中,根据情况可以省略while 3、设有程序段 int k=10; while(k) k=k-1; 则下面描述中正确的是(A)。 A)while循环执行10次B)循环是无限循环 C)循环体语句一次也不执行D)循环体语句执行一次 4、下列循环语句中有语法错误的是( D )。 A) while(x=y) 5;B) while(0) ; C) do 2;while(x==b);D) do x++ while(x==10); 5、已知int i=1;执行语句while (i++<4) ;后,变量i的值为(C)。 A) 3 B) 4 C) 5 D) 6 6、语句while(!E);中的表达式!E等价于(A)。 A)E==0 B)E!=1 C)E!=0 D)E==1 7、下面程序段的运行结果是(A)。 a=1; b=2; c=2; while(a main() { int num=0; while(num<=2) { num++; printf(“%d\n”,nu m); } } A)1 B)1 C)1 D)1 2 2 2 3 3 9、以下能正确计算1×2×3×…×10的程序段是(C)。

C语言程序设计试题及答案

C语言程序设计试题及 答案 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D ) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是( B ) A、abc B、12AC C、sun D、 A 3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是(A ) A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是( B ) A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是( A ) A、% B、/ C、%和/ D、 + 6、以下关于运算符的优先顺序的描述正确的是( C ) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是( C )

sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B ) A、 INPUT x、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、 scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:( C ) void main ( ) { int m,n; scanf(“%2d%3d”,&m,&n); printf(“m=%d n=%d\n”,m,n); } A、m=23 n=45 B、m=234 n=56 C、m=23 n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是( A ) main( ) { 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 11、C语言中while和do-while循环的主要区别( A )

C语言程序设计试题及答案

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D ) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是(B ) A、abc B、12AC C、sun D、 A 3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是(A ) A、—24 B、0 C、4 D、16 4、下列运算符中优先级最高的是(B ) A、〈 B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是(A ) A、% B、/ C、%和/ D、+ 6、以下关于运算符的优先顺序的描述正确的是(C ) A、关系运算符〈算术运算符〈赋值运算符<逻辑与运算符 B、逻辑与运算符〈关系运算符<算术运算符〈赋值运算符 C、赋值运算符<逻辑与运算符〈关系运算符<算术运算符 D、算术运算符〈关系运算符<赋值运算符〈逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是( C ) sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B ) A、 INPUT x、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、scanf(“%d%d%d",x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456〈回车〉,下面程序的输出结果是:( C ) void main ( ) { int m,n; scanf(“%2d%3d”,&m,&n); printf(“m=%d n=%d\n”,m,n); } A、m=23 n=45 B、m=234 n=56 C、m=23 n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是(A ) main() { int x,y; scanf(“%d”,&x); y=x>12?x+10:x—12; printf(“%d\n”,y);

C语言程序设计习题集第4章循环结构(答案)

第4章循环结构 一、选择题 1、有以下程序段 int k=0; while(k=1)k++; while 循环执行的次数是( A) A) 无限次B) 有语法错,不能执行 C) 一次也不执行D) 执行1次 2、t为int类型,进入下面的循环之前,t的值为0 while( t=1) { …… } 则以下叙述中正确的是( B) A) 循环控制表达式的值为0 B) 循环控制表达式的值为1 C) 循环控制表达式不合法 D) 以上说法都不对 3、在C程序中,与while(m)中表达式m完全等价的是(B ) A) m==0 B) m!=0 C) m==1 D) m!=1 4、有以下程序,程序运行后的输出结果是(C )。 main() {int i=1,sum=0; while(i<=4) { sum=sum+i; i=i+1; } printf(“%d\n”,sum);} A)4 B)5 C)10 D)死循环 5、有以下程序,程序运行后的输出结果是(D )。 main() { int i=1,sum=0; while(i<=4) sum=sum+i; i=i+1; printf(“%d\n”,sum); } A)4 B)5 C)10 D)死循环 6、有如下程序 main(){ int n=9; while(n>6){n--;printf(“%d”,n);} } 该程序段的输出结果是(B) A) 987 B) 876 C) 8765 D) 9876

7、以下程序的输出结果是( B ) main() { int num= 0; while(num<=2) { num++; printf(“%d\n”,num);} } A) 1 B) 1 C)1 D) l 2 2 2 3 3 4 8、有以下程序,若运行时输入3.6 2.4<回车>,则输出的结果是( B)。main() {float x,y,z; scanf(“%f%f”,&x,&y); z=x/y; while(1){ if(fabs(z)>1.0) { x=y; y=z; z=x/y;} else break;} printf(“%f\n”,y);} A)1.500000 B)1.600000 C 9、执行以下程序段时 x=-1; do { x=x*x; } while(! x); 则下面描述正确的是(A ) A) 循环体将执行一次B) 循环体将执行两次 C) 循环体将执行无限次D) 系统将提示有语法错误 10、有以下程序段其输出结果是(C ) int x=3; do { printf("%d",x-=2); } while (!(--x)); A) 1 B) 3 0 C) 1 -2D) 死循环 11、有如下程序 main(){ int x=23; do {

(完整版)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=58 B i++; C a=58,b=58 D k=int(a+b); 4 下面标识符中,合法的用户标识符是___。 A 1abc B include C a-b-c123 D char 5 以下所列的C语言整形常量中,正确的是___。 A 0x10 B 0976 C 076L D 01ff 6 C语言中下列运算符的操作数必须为整型的是___。 A % B ++ C / D = 7 设a和b均为int型变量,则执行以下语句后的输出为___。 int a=20; int b=3; printf("%d\n",a+=(b%=2)); A 20 B 21 C 0 D 23 8 已知int i;,则执行语句 i=2.6;后,i的值为___。 A 2 B 3 C 2.6 D 不确定 9 以下合法的字符常量为___。 A 'ab' B '\482' C '\' D '\xaf' 10 若y为int型变量,则执行以下语句后,y的值是___。 y=8; y+=y-=y*y; A 64 B –56 C –112 D –48 11 以下合法的浮点型常量是___。 A e-3 B 1.5e+2.4 C 3.14e+2L D 3.14 e +5 12 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已 知float a=2;int b=3;则执行下列语句输出为___。 printf("%d",sizeof(a*b)+2/5); A 4 B 8 C 6 D 7 13 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。 A 0 B -2 C 65534 D 65535 14 若x、y、z均为整型常量,且a=100,则执行下列语句后的z值为___。 x=a++; y=--a; z=x+y-a--; A 100 B 400 C 200 D 300 15 若有以下定义和语句:int u=010,v=0x10,w=10,printf("%d,%d,%d\n",u,v,w);,则输出 结果是___。 A 8,16,10 B 10,10,10 C 8,8,10 D 8,10,10 16 设x、y为int型变量,则执行下列语句后,y的值是___。 x=5; y=x++*x++; y=--y*--y; A 529 B 2401 C 1209 D 625

C语言习题:顺序、选择、循环

2.3.1 要点导读之杨若古兰创作 1.printf() 与scanf()语句. printf() 与scanf()语句是最通用的输入输出函数,它们可以在程序设计者的控制下以各种格式分别实现数据的输出和输入操纵.它们位于stdio.h库文件中. 2.字符数据的输入输出. 最简单的字符输入输出函数是getchar()和putchar().两者分别从键盘读一个字符或向显示屏写一个字符. 2.3.2 经典例题分析 1.以下程序运转后输出的结果是. #include void main() { int a=0,b=0; a=10; b=20; printf(“a+b=%d”,a+b); } 分析:printf( )是输出函数,它的括号内由两部分构成: 1)控制字符串,是用双引号括起来的字符串,它包含两种信息: (1) 格式说明.由”%”和格式字符构成,如:%d、%f、%c等.它 的感化是将输出的数据转换成指定的格式输出. (2) 普通字符.须要原样输出的字符. 2)”输出表列”是须要输出的一些数据,可所以表达式. 题目中a的值是10,b的值是20,在 中,”a+b= “是普通字符,需原样输出.输出表列是一个表达式,它的结果以整型输出. 答案:a+b=30. 2.以下程序运转后输出的结果是. #include

void main() { int a=732; printf(“%d\n”,a); printf(“%2d\n”,a); printf(“%10d\n”,a); printf(“%-10d\n”,a); } 分析:d格式符,用来输出十进制整数.其中%d,按整型数据的实际长度输出.%md,m为指定的输出字段的宽度.如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出. printf(“%d\n”,a);把a的值按原样输出:732.printf(“%2d\n”,a);结果占2列,但732占3列大于2列,所以按实际位数输出:732.printf(%10d\n”,a);结果占10列,但732占3列小于10列,所以左端补7个空格.printf(“%-10d\n”,a); 结果占10列,“-”暗示把数值放到左端,732占3列小于10列,所以右端补7个空格. 答案: 732 732 □□□□□□□732 /*□暗示空格*/ 732□□□□□□□ 3.已知char a=‘\103’;则语句printf(“%3d”,a);履行后的输出结果为(□暗示空格). A)□67B)’c’C)67□D)103 分析:’\103’是一个本义字符,暗示一个八进制数所代表的字符,转换为十进制为67.printf(“%3d”,a);把’\103’转换为十进制数输出,结果占3列.但67占2列,小于请求的3列,所以左补空格,即□67. 答案:C. 4.以下程序运转后结果是. #include void main() {printf(“%f\n”,a); print f(“%e\n”,a);

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;

相关主题
相关文档
最新文档