#include<stdio.h>
void main( )
{
int a=1,b=0
switch(a) {
//switch选择语句,a = 1,那么就选择case 1执行.
case 1://注意此处case 1没有break,所以后面的case 2也执行.
switch(b) {
//switch选择语句,b = 0,那么就选择case 0执行.
case0: printf(“0”) break
//执行case 0,输出0,它有break终止语句,所以后面的case 2就不执行了.
case 1:printf(“1”) break
}
case 2: printf(“2”) break
//执行case 2,输出2.
}
}
//总的输出结果:02
//知识点:理解选择分支结构,case遇到break才会终止后面的执行.
2. 以下程序的输出结果是什么。
#include<stdio.h>
void main( )
{
inta=3,b=2,c=1
//a、b、c的作用域在main函数内.
{
int b=5,c=12
//b、c的作用域在{}内.
c-=b*2
//此时b、c调用的值是{}内的b = 5、c = 12,那么c = 12 - 5*2 = 2
a+=c
//此时的a是调用的main函数的a = 3, c调用的是c = 2. 即结果a = 3 + 2 = 5.
}
printf(“a=%d,b=%d,c=%d\n”,a,b,c)//此时a、b、c都是调用的main函数内的变量,a有经过 *** 作,a = 5,b、c没有经过 *** 作,b = 2,c = 1.
}
//总的输出结果为:a=5,b=2,c=1
//知识点:考查变量的作用域,记住自动变量的作用域只在{}内,超出作用域就不生效了.
3.以下程序的输出结果是什么。
#include<stdio.h>
int main(void)
{
intx=1,y=2,z=2
if(x) z += 1
//x>0为真,执行z += 1 z变为3
if(!y) z += 2//!y < 0为假,不执行.
if(z) z += 3
//z>0为真,执行z += 3 z变为6
printf("%d\n",z)
//输出6
return 0
}
//总的输出结果为:6
//知识点:对if语句的判断条件,真执行、假不执行.
4 以下程序的输出结果是什么。
#include<stdio.h>
int main(void)
{
int a=3,b=4,c=5,d=6
if(a>b)
//a>b为假,所以后面的语句不执行.
if(b>c) printf("%d", c)
else printf("%d",b)
//注意这里,else总是与上面的if匹配.
printf("%d\n",d)
//输出d = 6,没有经过任何语句 *** 作.
return 0
}
//总的输出结果:6
//知识点: else总是与最近的if匹配.
5. 以下程序的输出结果是什么。
#include<stdio.h>
void main( )
{
ints,t,a,b
a=2b=4
s=t=1
if(a>0) s+=1
//a>0为真,执行s += 1s变为2
if(a>b) t=s+t//a>b为假,所以执行else语句,else为if下面的第一个,最近的.
else
if(a= =b) t=5
//执行if( a == b )不成立,所以执行else语句,else为if下面的第一个,最近的.
else t=2*s
//执行t = 2*s即t = 2*2 = 4.
printf(“%d\n”,t)
}
//总的输出结果为:4
//知识点: else总是与最近的if匹配.(if找它下面的第一个else,else找它上面的第一个if,前提是if、else没有括号()限制优先级)
#include<stdio.h>double func(int m)
{
double total=0.0
int sum=0
int i,j
for(i=1i<=mi++)
{
for(j=1j<=ij++)
sum+=j
total+=1.0/sum
sum=0
}
return total
}
void main()
{
int m
printf("Pleaseenter integer number:")
scanf("%d",&m)
printf("Theresult is %f\n",func(m))
}
示例运行结果:
Pleaseenter integer number:20
Theresult is 1.904762
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)