c语言中的问题

下面是我做的题目 看看对了多少 错了的请给我个解决方法
1.设有程序段
int k=10;
while(k=0)k=k-1;
这下面描述中正确的是_____c____.
a)while循环执行10次 b)循环是无限循环
c)循环体语句以此也不执行 d)循环体语句执行一次
2.语句while(!E);中的表达式!E等价于___a_____.
a)E==0 b)E!=1 c)E!=0 d)E==1
3.下面程序段的运行结果是_____d_____.
int n=0;
while(n++<=2);printf("%d",n);
a)2 b)3 c)4 d)有语法错
4.下面程序的运行结果是_c___.
#include<stdio.h>
main()
{
int num=0;
while(num<=2)
{
num++;
printf("%d\n",num);
}
}

a)1 b)1 c)1 d)1
2 2 2
3 3
4
5.以下程序段_____a___.
x=-1;
do{
x=x*x;
}
while(!x);
a)是死循环 b)循环执行二次
c)循环执行一次 d)有语法错误
6.若有如下语句
int x=3;
do{printf(""%d\n",x-=2);}while(!(--x));
则上面程序段____d__.
a)输出的是1 b)输出的是1和-2 c)输出的是3和0 d)是死循环
7.下面程序的运行结果是___c___.
#include<stdio.h>
main()
{int y=10;
do{y--;}while(--y);
printf("%d\n",y--);
}
a)-1 b)1 c)8 d)0
8.若i为整型变量,则以下循环执行次数是_b____.
for(i=2;i==0;)printf("%d",i--);
a)无限次 b)0次 c)1次 d)2次
9.执行语句for(i=1;i++<4; );后变量i的值是__4__.
a)3 b)4 c)5 d)不定
10.以下正确的描述是_d______.
a)continue语句的作用是结束整个循环的执行
b)只能在循环体内和switch语句体内使用break语句
c)在循环体内使用break语句或continue语句的作用相同
d)从多层循环嵌套中退出时,只能使用goto语句
下面程序的运行结果是___258______.
#include <stdio.h>
main()
{int a,s,n,count;
a=2;s=0;n=1;count=1;
while(count<=7){n=n*a;s=s+n;++count;}
printf("s=%d",s);
}

4.下面程序段的运行结果是__-5_______.
i=1;a=0;s=1;
do{a=a+s*i;s=-s;i++;}while(i<=10);
printf("a=%d",a);

你的答案和我的相差挺多的,好像只有2个跟我是一样的,但也有可能是我们都错了(可能性不太大 ^_^)
地址里面的比这里的格式要好一些:
http://hi.baidu.com/sohu2000000/blog/item/2c27ba4621db502acefca302.html

1.设有程序段
int k=10;
while(k=0) k=k-1;
这下面描述中正确的是__b____.
a)while循环执行10次 b)循环是无限循环
c)循环体语句以此也不执行 d)循环体语句执行一次

答: while(k=0) 不是 k==0

2.语句while(!E);中的表达式!E等价于___a_____.
a)E==0 b)E!=1 c)E!=0 d)E==1

3.下面程序段的运行结果是____c____.
int n=0;
while(n++<=2); printf("%d",n);
a)2 b)3 c)4 d)有语法错

答: n=2 时候 n =2; n=3时候, n>2,n++等于4

4.下面程序的运行结果是_c___.
#include<stdio.h>
main()
{
int num=0;
while(num<=2)
{
num++;
printf("%d\n",num);
}
}

a)1 b)1 c)1 d)1
2 2 2
3 3
4
5.以下程序段____c___.
x=-1;
do{
x=x*x;
}
while(!x);
a)是死循环 b)循环执行二次
c)循环执行一次 d)有语法错误

答: x=-1; x=x*x =1; x!=0 ? not loop ? 1 time

6.若有如下语句
int x=3;
do{printf(""%d\n",x-=2);}while(!(--x));
则上面程序段____b__.
a)输出的是1 b)输出的是1和-2 c)输出的是3和0 d)是死循环

答: x=3; x=x-2=3-2=1; ?1 --x=0 ? STEP IN LOOP ?
x=0; x=x-2=-2 ? -2 –x =-3 ? NOT LOOP

while (a!) 中的a! “!a”表示a求逆。
while(!a) 当且仅当a==0时,进行循环;否则退出循环。

7.下面程序的运行结果是__d__.
#include<stdio.h>
Int main()
{int y=10;
do{y--;}while(--y);
printf("%d\n",y--);
}
a)-1 b)1 c)8 d)0

答:
while(--y) just can break out loop when --y=0,
next step printf("%d\n",y--); print out x=0; then x=0-1=-1

8.若i为整型变量,则以下循环执行次数是_b____.
for(i=2;i==0;)printf("%d",i--);
a)无限次 b)0次 c)1次 d)2次

9.执行语句for(i=1;i++<4; );后变量i的值是__4__.
a)3 b)4 c)5 d)不定

10.以下正确的描述是__b___.
a)continue语句的作用是结束整个循环的执行
b)只能在循环体内和switch语句体内使用break语句
c)在循环体内使用break语句或continue语句的作用相同
d)从多层循环嵌套中退出时,只能使用goto语句

a) 单次循环
b)
c) break 剩下的所有循环,continue单次循环跳过

C 语言中,标号用标识符表示。
goto 语句是违背结构程序设计的语句。它将使程序的结构不清晰。所以,一般情况下,
能用 break 和 continue 语句就不要用 goto 语句。但是,break 语句一次只能跳出一重循环,
要想跳出多重循环,就要用多个 break 语句。goto 语句则只需一个语句就能跳到指定的地
方。

下面程序的运行结果是____254____.
#include <stdio.h>
main()
{int a,s,n,count;
a=2;s=0;n=1;count=1;
while(count<=7){n=n*a; s=s+n; ++count;}
printf("s=%d",s);
}
答:

N=n*a ; s=s+n;

S=n*a+s;
S=n(a+1)

Output: s=254
Counter =1: n=1*2=2; s=0+2=2;
Counter =2; n =2*2=4; s=2+4;
…..

本题目的意义在于:
求数列an=2*2^(n-1)前七项和

4.下面程序段的运行结果是__-5_______.
i=1;a=0;s=1;
do{a=a+s*i;s=-s;i++;}while(i<=10);
printf("a=%d",a);
温馨提示:内容为网友见解,仅供参考
第1个回答  2010-05-22
第3、6、7、9以及第10题后面一题(11)有问题。
正确答案应该分别是3、c 6、a 7、d 9、c 10、b 11、254
出现问题的原因大都是在自增自减运算符在不同位置的用法上
3、
int n=0;while(n++<=2);printf("%d",n);首先while后是分号,即无内嵌语句(循环体),所以直接执行while中的表达式,n++是先用n运算,然后n再自增1,也就是先判断n<=2是否满足,再执行自增,如第一次循环,先判断n=0是否<=2,然后再自增1,执行完后n=1,当执行到n=2时,此时n <=2,n=n+1,n=3;然后n=3,n<=2不满足,循环结束,但括号内表达式仍没结束,n要自增1,即n=4
6、
int x=3;do{printf(""%d\n",x-=2);}while(!(--x));同第2题,当(--x)==0时退出循环,自减号在前是先执行x=x-1,再用x值运算,x-=2执行得x=1,输出x=1,再(--x)=0,退出循环
7、
while(--y);当y==1时退出循环,然后执行printf("%d\n",y--);y再自减1,y=0,输出
9、
同上,最后一次循环时,i=4,判断i<4后仍要执行i自加,即i++<4可视为两个语句:(i<4,i=i+1),i=5

10、b项是书上明确强调的(谭浩强C语言设计(第三版)122页最后一句话),d项我忘了,应该有其他方法退出
11、
这题很简单,过程不是很复杂,应该是计算错误
第2个回答  2020-04-17
如果程序正确,输入负数也是可以的,如下面的程序和运行结果:
#include<stdio.h>
int main()
{
int a,b,c,max;
printf("Input three numbers:");
scanf("%d%d%d",&a,&b,&c);
if (a>=b)
max=a;
else
max=b;
if (max<c)
max=c;
printf("%d",max);
}
第3个回答  2019-10-26
你的
void
main
后面少()了
正确的
void
main()
//另外void
main()是非标准的写法,标准的应该是int
main()
第4个回答  2010-05-22
选择题中应该是2.c 5.c 7.d 9.c,其他的跟你一样,计算题懒得算了,你去运行一下就知道了,
“!”主要是让变量跟0判断,如!X就是判断“X!=0”如果成立返回1

c语言常见问题有哪些
1、书写标识符时,忽略了大小写字母的区别。2、忽略了变量的类型,进行了不合法的运算。3、将字符常量与字符串常量混淆。4、忽略了等号与双等号的区别。5、忘记加分号。6、输入变量时忘记加地址运算符。7、输入数据的方式与要求不符。8、输入字符的格式与要求不一致。9、输入输出的数据类型与所用格式...

大学搞懂这8个C语言问题你也能进大厂
考察点:1.标识#define在宏中应用的基本知识。这是很重要的。因为在 嵌入(inline)操作符 变为标准C的一部分之前宏是方便产生嵌入代码的唯一方法,对于嵌入式系统来说,为了能达到要求的性能,嵌入代码经常是必须的方法。2.懂得在宏中小心地把参数用括号括起来 3.我也用这个问题开始讨论宏的副作用。3...

经验分享:C语言初学者常见的 10个错误!
字符常量和字符串常量的表示错误也是一个常见的问题。字符常量由单引号括起来,字符串常量由双引号括起来,并以“\\0”作为结束标志。如果将字符串常量赋值给字符变量,将导致程序运行错误。在C语言中,“=”和“==”是两个不同的运算符,“=”用于赋值,“==”用于比较。在进行条件判断时,应使用正...

C语言编程常见十大面试问题(内附答案)
C语言编程面试中常遇到的十大问题,下面就逐一解答:1. 变量\/函数声明与定义的区别:变量\/函数声明告知程序它们的存在,如类型和参数信息,但不分配内存。定义则同时包含声明并为变量分配内存,定义是声明的扩展或细化操作。2. C中的存储类说明符:主要有auto、register、static和extern,它们分别定义了变量...

c语言常见问题有哪些?
但C语言中,“=”是赋值运算符,“==”是关系运算符。如:if (a==3)a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。5.忘记加分号。分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1 b=2 编译时,编译程序在“a=...

c语言程序 哪里出错了呢 始终运行不出结果
在C语言编程中,若程序始终无法输出结果,可能是因为输入数据的类型与程序调用的数据类型不一致。以scanf函数为例,当使用 scanf("%lf%lf%lf",&a,&b,&c);进行输入时,确实将输入的数字以float类型存储至内存中。然而,程序在读取这些内存时,可能期望以double类型进行解析。这种类型不匹配会导致解析...

求c语言一些常见问题,
但C语言中,“=”是赋值运算符,“==”是关系运算符。如:if (a==3) a=b;前者是进行比较,a是否和3相等,后者表示如果a和3相等,把b值赋给a。由于习惯问题,初学者往往会犯这样的错误。5.忘记加分号。分号是C语句中不可缺少的一部分,语句末尾必须有分号。a=1 b=2 编译时,编译程序在“...

c语言中多次输入的问题,如何解决?
在C语言中,可以使用循环结构来解决多次输入的问题。以下是几种常见的解决方案:1、使用for循环:可以使用for循环来指定要输入的次数。例如,如果需要输入5个整数,可以使用如下代码:c int num;for (int i = 0; i < 5; i++) { printf("请输入第 %d 个整数:", i+1);scanf("%d", &num...

问几个C语言里很多人没注意过的问题
说实话要是这几个问题只要理解了C语言的人,怎么可能不明白。很多人没注意,说明他们还没学懂。当然我也不是在自夸,我也是初学者,可是我还是为楼上几位悲哀。1.你要知道程序在内存中的结构,有栈区、堆区、文字常量区、全局变量区、函数区,使用 char* a = "xxx";这样的语句初始化指针a,"...

c语言实际问题中的问题
一、C语言规定总是从main()开始执行的(这个函数也叫“主函数”)。因此,你发来的题目中的(1、6、8)叙述都是错误的,都应该选择F。二、第2题中,C语言对其数据在内存中所占用的实际字节数,随着程序中声明的数据类型以及数据的多少而变化,C语言本身并没有明确规定。这题应该选F。三、第3题...

相似回答