本文目录一览:
- 1、c语言练习题
- 2、C语言试题B(速求)
- 3、C语言习题 B和C有啥区别?
- 4、C语言练习题
c语言练习题
1、C语言的跳转语句中,对于break和continue说法正确的是_______。
A、continue语句只应用于循环体中
B、break语句只应用于循环体中 (switch也用)
C、break是无条件跳转语句,continue不是 (均无条件跳转)
D、break和continue的跳转范围不够明确,容易产生问题 (goto跳转范围不够明确)
2、对于do...while语句,下列说法中正确的是______。
A、用do...while语句可实现分支程序设计 (循环)
B、当循环条件不成立时,至少也要执行一次循环体
C、当循环条件不成立时,一次也不执行循环体 (至少执行一次)
D、do...while与while结构完全相同 (不同)
3、下列程序段执行时,若从键盘输入23,则输出为______。
int c,num;
scanf("%d",num);
do
{
c=num%10;
printf("%d",c);
num=num/10;
}while(num0);
printf("\n");
解释:
第一次循环 23%10 = 3 输出3,23/10(整除)值为2 继续循环
第二次循环 2 %10 = 2 输出2 2/10值为0 退出循环
结果 32
4、若I,j已定义为int型,则以下for循环是( )。
for(I=0,j=0;(j!=123)(I4);I++);
A、无限循环
B、循环次数不定
C、执行4次
D、执行3次
解释:
j != 123 永远为真
上面一句等价为 for(I=0;I 4;I++); 所以4次
5、对于for(表达式1;;表达式3)可以理解为________。
A、for(表达式1;0; 表达式3)
B、for(表达式1;1; 表达式3)
C、for(表达式1;表达式1;表达式3)
D、for(表达式1;表达式3;表达式3)
解释:for(表达式1;;表达式3) 说明循环不判断循环条件永远为真所以
for(表达式1;1; 表达式3)
6、执行下列程序段后,I值是( )。
int I,x;
for(I=1,x=1;I=20;I++)
{
if(x=10) 语句1
break;
if(x%2==1) 语句2
{
x+=5;
continue;
}
x-=3;
}
第一次循环:语句1为假,语句2为真执行 x+ = 5 x值变成6 重新循环
第二次循环:语句1为假,语句2为假执行 x- = 3 x值变成3 重新循环
第三次循环:语句1为假,语句2为真执行 x+ = 5 x值变成8 重新循环
第四次循环:语句1为假,语句2为假执行 x- = 3 x值变成5 重新循环
第五次循环:语句1为假,语句2为真执行 x+ = 5 x值变成10 重新循环
第六次循环:语句1为真,退出循环 x值为10
7、下列程序的执行结果是( )。
#includestdio.h
main( )
{
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);
}
switch语句一旦匹配到case就不在匹配case了,直接按顺序执行下一个case中的代码。不难得出答案。
8、下列程序段执行结果是输出( )。
x=3;
do
{
printf("%2d",x--);
} while(!x);
x++ 和++x 前缀和后缀的问题数上讲了很多。
第一次循环输出3 x的值变成2 !2 为假退出循环
9、以下程序的执行结果是( )。
#include
#define N 2
#define M N+1
#define NUM (M+1)*M/2
main( )
{
int I=1,n=0;
while(I=NUM)
{
n++;
printf("%d",n);
I++;
}
printf("\n");
}
宏展开:
等价于 while(I = (M+1)*M/2 )
等价于 while(I = (N+1+1)*N+1/2 )
等价于 while(I = (2+1+1)*2+1/2 )
等价于 while(I = 8 )
10、若I,j已定义为int型,则以下程序段中内循环体"printf("sd\n");"的执行次数是__________。
#include
main( )
{
int j,I;
for(I=5;I=1;I--) 执行5次
for(j=0;j4;j++) 执行4次
printf("sd\n"); 执行5×4 = 20次
}
循环中条件变量x++ 和++x 等效
结果我没验证 C语言学习推荐看 point on c
C语言试题B(速求)
第8题是D,附图:
判断8的确是错。
这是我关于那个改正的哥们儿的回答的验证。
因为我是英语学习,没办法给你以对应的中文解释,只能在实际操作上帮你一些了。
C语言习题 B和C有啥区别?
选择c,二维数组的第二维大小不能省略,多维数组的高维都不能省略,第一维有时候可以省略,大小会根据初始化时的元素大小决定,如c等价于int a[2][3]={{3,2,1},{5,6,7}};
经过编译int a[2][]={{1,2,3},{4,5,6}};报错,不能编译通过,而int a[][3]={{3,2,1},{5,6,7}};则能正常编译,不要相信错误的答案啊
C语言练习题
9.下面程序段中循环体的执行次数是__3_____。
a=10;
b=0;
do{b+=2;a-=2+b;}while(a=0);
10.下面程序段的运行结果是___**___。
x=2;
do{{printf(‘*’);x--;}while(!x==0);
11.下面程序段胡运行结果是__a=-5_____。
i=1; a=0; s=1;
do{a=a+s*I; s=-s; i++;}while(i=10);
printf(“a=%d\n”,a);