C语言循环结构选择题(新)
c语言顺序结构和选择结构练习题

C语言循环结构前的练习一、选择题:(2’*25=50)1、以下程序的输出结果为( C )# include “stdio.h”main(){ int i=4,a;a=i++;printf(“a=%d,i=%d”,a,i);}A)a=4,i=4 B)a=5,i=4 C)a=4,i=5 D)a=5,i=52、以下叙述中正确的是( C )。
A)C语言程序总是从第一个定义的函数开始执行。
B)在C语言程序中,要调用的函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行。
D)C语言程序中的main()函数必须放在程序的开始部分。
3、下列选项中不正确的实型常量是( B )A)7.375E-1 B)0.3108e 2 C)-44.44 D)123e-24、在C程序中,可以作为用户标识符的一组标识符是( B )A)void define B)as_b3 _224 ElseC)Switch -wer case D)4b DO SIG5、 int类型变量所占字节数是( D )A)1 B)2 C)3 D)46、以下选项中合法的用户标识符是( B )。
A)long B) _2test C)3dmax D) a.dat7、以下有4组用户标识符,其中合法的一组是( C )。
A) for –sub case B) 4d do sizeC) f2_g3 If abc D) WORD void define8、经char w; int x; float y; double z;说明后表达式 w*x+z-y的类型是( D )。
A) float B) char C) int D) double9、下述程序的输出结果是( C )main(){ int a=-1,b=4,k;k=(a++<=0)&&(!(b--<=0));printf(“%d,%d,%d”,k,a,b);}A)0,0,3 B)0,1,2 C)1,0,3 D)1,1,2 10、定义int n=5;下面语句的输出结果为( B )。
C语言试题库-循环结构

一、选择题1.以下叙述正确的是A: do-while 语句构成的循环不能用其它语句构成的循环来代替。
B: do-while 语句构成的循环只能用break 语句退出。
C: 用do-while 语句构成的循环,在while 后的表达式为非零时结束循环。
D: 用do-while 语句构成的循环,在while 后的表达式为零时结束循环。
2.下面有关for 循环的正确描述是A: for 循环只能用于循环次数已经确定的情况B: for 循环是先执行循环体语句,后判定表达式C: 在for 循环中,不能用break 语句跳出循环体D: for 循环体语句中,可以包含多条语句,但要用花括号括起来3.C 语言中while 和do-while 循环的主要区别是A: do-while 的循环体至少无条件执行一次B: while 的循环控制条件比do-while 的循环控制条件严格C: do-while 允许从外部转到循环体内;D: do-while 的循环体不能是复合语句;4.下列关于switch 语句和break 语句的结论中,正确的是A: break 语句是switch 语句中的一部分B: 在switch 语句中可以根据需要使用或不使用break 语句C: 在switch 语句中必须使用break 语句D: switch 语句是break 语句的一部分5..以下正确的描述是A: continue 语句的作用是结束整个循环的执行;B: 只能在循环体内和switch 语句体内使用break 语句;C: 在循环体内使用break 语句或continue 语句的作用相同;D: 从多层循环嵌套中退出时,只能使用goto 语句;6.语句while(!e);中的条件!e 等价于A: e==0B: e!=0C: e!=1D: ~e7.在以下给出的表达式中,与while(E)中的E不等价的表达式是A: !E=0B: E>0||E<0C: E==0D: E!=08.在C 语言中,当do-while 语句中的条件为()时,结束该循环。
(完整版)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语言复习题4. 练习(循环结构)(有答案)

一、选择题1. 设有如下程序段,则下面描述正确的是int k=10;while (k=0) k=k-1;A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句执行一次2. 下面程序段的运行结果是a=1; b=2; c=2;while(a<b<c) { t=a; a=b; b=t; c--;}pirntf(“%d, %d, %d”,a,b,c);A.1,2,0 B.2,1,0 C.1,2,1 D.2,1,1 3. 下面程序段的运行结果是。
int n=0;while(n<=2) n++; printf(“%d”,n);A.2 B.3 C.4 D.有语法错误4. 设有如下程序段,则描述正确的是。
t=0;while (printf(“*”)){t++; if(t<3) break;}A.其中循环控制表达式与0等价B.其中循环控制表达式与‘0’等价C.其中循环控制表达式是不合法的D.以上说法都不对5. 下面程序的功能是将从键盘输入的一对数,由小到大排序输出,当输入一对等数时结束循环,请选择填空。
#include<stdio.h>int main(){int a,b,t;scanf("%d%d",&a,&b);while( ){if(a>b) {t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}return 0;}A.!a=b B.a!=b C.a==b D.a=b8. 下面程序的功能是在输入的一系列正整数中求出最大者,输入0结束循环,请选择填空。
#include<stdio.h>int main(){int a,max=0;scanf("%d",&a);while( ){if(max<a) max=a;scanf("%d",&a);}printf("%d\n",max);return 0;}A.!a=0 B.a!=0 C.a= =0 D.a=09. 下面程序的运行结果是。
C语言选择与循环控制结构常见习题与答案

1.猜数字小游戏:每次程序随机生成一个数字,用户输入数字进行猜测,十回合内猜出数据则胜利,否则失败,可重复游戏。
代码如下:#include <stdio.h>#include <stdlib.h>#include <math.h>int main(){int magic;int guess;int count;int ret;char reply;srand(time(NULL));do{magic = rand()%100+1; //产生1到100之间的随机数//count = 0;do{do{printf("Please guess a magic number:");ret = scanf("%d",&guess);if(ret!=1){while(getchar()!='\n');}}while(ret!=1||guess<1||guess>100); //如果输入不是1到100之间的数字则连续读取//count = count+1;if(guess>magic)printf("Wrong!Too big!\n");else if (guess<magic)printf("Wrong!Too small!\n");else{printf("Right!\n");printf("The number is :%d\n",magic);}}while(guess!=magic&&count<10);if (magic==guess)printf("count = %d\n",count);if (magic!=guess)printf("You lose!");printf("Do you want to continue(Y/N or y/n)?\n");scanf(" %c",&reply);}while((reply=='y')||(reply=='Y'));return 0;}2.任意时间时钟时针与分针的夹角:钟面上的时针和分针之间的夹角总是在 0 度~ 359 度之间。
(完整版)C语言选择题(附答案)

第一单元C语言概述一、选择题1、C语言中主函数的个数为(A)个。
A)1 B)2C)无穷个D)任意个2、以下关于C语言描述错误的是(D)。
A)一个C程序总是从main函数开始执行TB)每个语句和数据声明的最后必须有一个分号TC)C语言的注释符是以“/*”开始并以“*/”结束的TD)一个C程序可以包含多个main函数F3、C 语言源程序文件后缀为(C )。
A).EXE B).OBJ C).C D).ASM4、C语言是由(C )组成的。
A)子程序B)主程序与子程序C)函数D)过程5、C语言属于(B )语言A)机器语言B)汇编语言C)高级语言D)面向对象语言第二单元C语言基础一、选择题1、C语言中普通整型变量int在内存中占(B )字节。
A)1 B)2 C)3 D)42、下列不是C语言基本数据类型的是(A )。
A)字符型B) 整型C) 浮点型D) 结构体3、有关自增、自减运算,以下只有(D )是正确的。
A) ---f B) ++78 C) a—b++ D) d++4、已知A=7.5,B=2,C=3.6,表达式(A>B && C>A) || (A<B && !C>B)的值是(A )。
A)0 B)10 C)1 D)55、若有x=1,y=2,z=3,则表达式(x<y?x:y)= =z的值是(D )。
A)1 B)2 C)3 D)06、判断char型变量ch是否为大写字母的正确表达式是(C )。
A) ‘A’<=ch<=‘Z’B) (ch>=‘A’)&(ch<=‘Z’)C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)7、判断整型变量digit是否为数字的正确表达式是(C )。
A) ‘0’<=ch<=‘9’B) (ch>=‘0’)&(ch<=‘9’)C) (ch>=‘0’)&&(ch<=‘9’) D) (‘0’<= ch)AND(‘9’>= ch)8、一个C程序的执行是从(A )。
C语言选择题(附答案)(最新整理)

B)int a,c, c=5;
C)a=5,b=5,c=5;
D)a=b=c=5;
41、C 语言中双精度浮点型变量 double 在内存中占(D )字节。
A)1
B)2
C)4
D)8
42、以下哪个数学函数的作用是求某数的平方根( A )。
A)sqrt()
B)fabs()
C)pow()
D)exp()
43、两次运行下面的程序,如果从键盘上分别输入 6 和 3,则输出结果是( C )。
A) ‘A’<=ch<=‘Z’
B) (ch>=‘A’)&(ch<=‘Z’)
C) (ch>=‘A’)&&(ch<=‘Z’)
D) (‘A’<= ch)AND(‘Z’>= ch)
7、判断整型变量 digit 是否为数字的正确表达式是( C )。
A) ‘0’<=ch<=‘9’
B) (ch>=‘0’)&(ch<=‘9’)
j /= i*j;
printf(“%d”,j);
A)0
B)1
C)2
D)3
28、不是 C 语言提供的合法关键字是( D )。
A)switch B)char
C)case
D)this
29、在 C 语言中,要求参加运算的数必须时整数的运算符是( C )。
A)/
B)*
C)%
D) =
30、若已定义 x 和 y 为 double 类型,且 x=1;则表达式 y=x+3/2 的值是( C )。
C)3,2,3
D)2,3,2
45、读出以下语句的输出结果是( D )。
国家二级C语言选择结构循环结构机试模拟试卷1_真题(含答案与解析)-交互

国家二级C语言(选择结构、循环结构)机试模拟试卷1(总分66, 做题时间90分钟)1. 选择题1.下列选项中,当x为大于1的奇数时,值为0的表达式是( )。
SSS_SINGLE_SELA x%2==0B x/2C x%2!=0D x%2==1分值: 2答案:A解析:算术运算符的优先级高于关系运算符的优先级,所以当x为大于1的奇数时,A选项的值为假,即0。
B选项的值为不定值,但绝对不是O。
C选项的值为真,即1。
D选项的值为真,即1。
2.若a是数值类型,则逻辑表达式(a==1)‖(a!=1)的值是( )。
SSS_SINGLE_SELA 1B 0C 2D 不知道a的值,不能确定分值: 2答案:A解析:逻辑或“‖”要求只要两边的运算对象有一个非零,结果就为真。
虽然不知道a的值,但是若a为l,则左边运算对象为1;若a的值不是l,则右边运算对象的值为1,所以总能保证一边非零。
3.当变量e的值不为2、4、6时,值为“真”的表达式是( )。
SSS_SINGLE_SELA (c>=2&&e<=6)&&(c%2 1=1)B (c==2)‖(c==4)‖(c==6)C (c>=2&&c<=6)&&!(c%2)D (c>=2&&c←6)‖(c!=3)lI(c!=5)分值: 2答案:D解析:逻辑或运算符中只要有一个运算量为真,结果就是真,当c>=2&&c<=6条件不成立时,c的值肯定不是2、3、4、5、6,所以c!:3与c!:5均成立,所以D选项的结果一定为真。
4.有以下程序: #include main() { int a=1,b=2,c=3,d=0;if(a==1&&b++==2) if(b!=2‖c一!=3) prinff(“%d,%d,%d\n”,a,b,c);else prinff(“%d,%d,%d\n”,a,b,c);else prinff(“%d,%d,%d\n”,a,b,c); } 程序的运行结果是( )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
else if (ch>='a' && ch<'z') ch=ch-32;
printf("%c",ch);
}
printf("\n");
}
A) ABCdef
B) abcDEF
i++;
} while(i!=0);
}
A) 7
B) 6
C) 5
D) 4
C
31、下面程序的运行结果是( )。
main( )
{ int s=0,i=1;
while (s<=10)
{ s=s+i*i;
i++;
}
printf("%d",--i);
}
A) 4
B) 3
C) 5
D) 6
B
32、以下程序的输出结果是( )。
{ int s=0,k;
for(k=7;k>=0;k--)
{switch(k)
{
case 1:
case 4:
case 7: s++; break;
case 2:
case 3:
case 6: break;
case 0:
case 5: s+=2; break; }
}
printf("s=%d\n",s);
for(t=1;t<=100;t++) { scanf("%d",&x);
if (x<0) continue; printf("%d\n",t); } A) 当 x<0 时,整个循环结束 B) 当 x>=0 时,什么也不输出 C) printf 函数永远也不执行 D) 最多允许输出 100 个非负整数 D
int i,j,k;
for(i=0,j=10;i<j;i++,j--)
k=i+j;
A) 9
B) 11
C) 8
D) 10
D
30、下面程序的运行结果是( )。
main( )
{ int m=7,n=5,i=1;
do
{ if (i%m==0);
if (i%n==0)
{ printf("%d\n",i); break;}
}
A) i++
B) x++
C) x
D) i
C
28、下面程序的运行结果是( )。 main( ) { int a,b; a=-1;
b=0;
do {
++a;
++a;
b+=a;
} while(a<9);
printf("%d\n",b);
}
A) 34
B) 24
C) 26
D) 25
D
29、执行下面程序段后,k 的值是( )。
C) 10 9 9 0
D) 10 10 9 1
D
24、有如下程序
main( )
{ int n=9;
while(n>6) {n--;printf("%d",n);}
}
该程序段的输出结果是
A) 987
B) 876
C) 8765 D) 9876
B
25、函数 pi 的功能是根据以下近似公式求π值:
(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)
D) ~e
A
7、以下 for 循环是( )。
for(x=0,y=0;(y!=123) && (x<4);x++)
A) 无限循环 B) 循环次数不定
C) 执行 4 次
D) 执行 3 次
C
8、C 语言中 while 和 do-while 循环的主要区别是 ( )。 A) do-while 的循环体至少无条件执行一次 B) while 的循环控制条件比 do-while 的循环控制 条件严格 C) do-while 允许从外部转到循环体内 D) do-while 的循环体不能是复合语句 A
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);
}
A) x<=0
}
}
A)* B)**** C)*
D)****
** ***
**
****
*** **
***
**** *
A
35、有以下程序
#include <stdio.h>
main()
{ int c;
while ((c=getchar())!='\n')
{ switch(c-'2')
#include <stdio.h>
main( )
{
int num=0;
while (num<=2)
{ num++;
printf( "%d\n",num); }
}
A) 1
B) 1
C) 1
2
2
3
C
D) 1 2 3 4
33、以下程序运行后的输出结果是( )。
#include <stdio.h>
main( )
#include <stdio.h>
main( )
{ int count,i=0;
for(count=1; count<=4; count++)
{i+=2; printf("%d",i);}
}
A) 20
B) 246
C) 2468
D) 2222
C
18、下面程序的输出结果是( )。
main( )
{ unsigned int num,k;
#include <stdio.h>
main()
{
int i;
for(i=1;i<=5;i++)
if(i%2)
printf("*");
else continue;
printf("#");
printf("$\n");
}
A) ***#$
B) #*#*#*$
C) *#*#*#$
D) **#*$
A
14、以下程序段的输出结果是( )。
A) 12
B) 10
C) 11
D) 9
B
3、当执行以下程序段时
x=-1;
do { x=x*x;} while( !x);
A) 循环体将执行一次
B) 循环体将执行两次
C) 循环体将执行无限次
D) 系统将提示有语法错误
A
4、若输入字符串:abcde<回车>,则以下 while 循环
体将执行多少次。
while((ch=getchar())=='e') printf("*");
为( )。
A) 892
B) 8921
C) 89
D) 921
B
27、以下函数的功能是:求 x 的 y 次方,请填空。
main( )
{ int i,x,y;
double z;
scanf("%d %d",&x,&y);
for(i=1,z=x;i<y;i++)
z=z*______ ;
printf("x^y=%e\n",z);
B) 1.0/i*i
C) 1.0/(i*i) D) 1.0/(n*n)
C
26、设有以下程序
main( )
{ int n1,n2;
scanf("%d",&n2);
while (n2!=0)
{ n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序运行后,如果从键盘上输入 1298,则输出结果
}
printf("m=%d\n",m);
}
A) m=3
B) m=2
C) m=1
D) m=0
C
23、下面程序的输出结果是( )。
main( )
{ int x=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d %d ",x--,y);
}
A) 10 1 9 2
B) 9 8 7 6
循环结构
1、若 i,j 已定义为 int 类型,则以下程序段中内循环
体的总的执行次数是
for (i=5;i;i--)