c语言循环练习题

一、输出变量的值。

int quack = 2;

quack -=6;//结果为-4,即使加上无符号的定义,结果也为负数。

quack /=8;//结果为0,因为是int类型的变量,所以不显示小数点后面的数字。

quack%=3;//结果为2,如果除数比被除数小,则余数为除数本身。


二、value是一个int类型的值,循环出产生什么输出

for(value = 36;value >0;value /2)

{

  printf("%3d",value);//输出的结果为36,18.9.4.2.1,因为是int类型,只读取正整数,小数点后的数字被砍掉了,所以除到0.                                      //  几的时候,默认为0,所以结束循环。

}

如果类型为double会出现什么错误? //会一直除到double的最小值,然后溢出为负数,后结束循环。

三、判断scanf()输入是否正确。

int x;

scanf_s("%d", &x);
while (scanf_s("%d", &x)!=EOF)
{
printf("输入出错");
break;

}

1.scanf()函数有返回值且为int型。scanf返回值表示成功读入的数据个数。

2.scanf()函数返回的值为:正确按指定格式输入变量的个数;也即能正确接收到值的变量个数。

例如,scanf("%d%d", &a, &b); 如下为返回值的四种情况

(1) 如果a和b都被成功读入,那么scanf的返回值就是2

(2) 如果只有a被成功读入,返回值为1

(3)如果a和b都未被成功读入,返回值为0(即scanf函数遇到非法输入时,返回值为0)

(4)如果遇到错误或遇到文件结束符(end of file,EOF,控制台下用Ctrl+Z输入)则返回EOF(stdio.h中定义符号常量:#define EOF -1)。

由此例可见因此可利用scanf函数的返回值判断数据是否正确读入。

四、

void Hi()
{
int i;
char ch;
for (i = 0, ch = 'A'; i < 4; i++, ch += 2 * i)
{
printf("%c\n", ch);
}


}

先算i++,再算ch+=2*i;这里ch加的是ASCII码值。




猜你喜欢

转载自blog.csdn.net/nice_66/article/details/79655354