C语言程序解析?

C语言程序解析?,第1张

1.

#include "stdio.h"

main()

{

printf("\n\n%d,%d\n",20/7,-20/7)

printf("%f,%f\n",20.0/7,-20.0/7)

}

运行截图

分析:

\n 表示换行

%d 表示以十进制形式输出带符号整数(正数不输出符号)

%f 表示以小数形式输出单、双精度实数

2.

#include "stdio.h"

main()

{

int x

char y

x=65

y='B'

printf("x=%c\n",x)

printf("y=%c\n",y)

printf("y=%d\n",y)

}

运行截图

分析:

%c 表示输出单个字符

3.

#include "stdio.h"

main()

{

int i=7,j=7,p,q

p=(i++)+(i++)+(i++)

q=(++j)+(++j)+(++j)

printf("%d,%d,%d,%d",p,q,i,j)

}

运行截图

分析:

i++ 表示先使用i,然后i的值加1

++i 表示先把i的值加1,再使用i

#include"stdio.h"//printf的头文件 

void func1(int i)//对于函数1的提前声明

void func2(int i)//对于函数2的提前声明

char st[]="hello,friend"//定义一个长度为12的字符数组

//c++里所有的数组都是从0开始计数的哦

void func1(int i) { //其实如果提前声明了↑↑(第2行),这个函数还可以写在主函数(main)的后面

printf("%c",st[i])//等于putchar(st[i]) 作用:输出一个字符

if(i<3) {//等于i<=2 判断i是否小于3

i+=2//等于i=i+2,表示i自增2

func2(i)//调用func2函数

}

}

void func2(int i) {

printf("%c",st[i])//一样的

if(i<3) {//还是一样的

i+=2//...

func1(i)//再调用func1函数

}

}

main() {//主函数可以不写"int main()",但在一些比赛中是不允许的。 

int i//定义一个局部变量 

i=0//把i的值设为0

func1(i)//调用func1(0)

printf("\n")//输出换行  

//其实最好要再写一个"return 0"结束程序 

}

/*

程序流程: 

主函数内调用func1(0):

输出st[0]->h 

i<3? (i=0) -> i<3

i+2 i=2 调用func2(2):

输出st[2]->l

i<3? (i=2) -> i<3

i+2 i=4 调用func1(4):

  输出st[4]->o

  i<3? (i=4) -> i>3

返回! 

返回!

返回!

返回!

返回!

返回!

返回!

输出换行

结束程序 

*/

switch(x)

---------x=1

所以执行

case

1:后面的语句

接着switch(y)

-----------y=0

所以执行

case

0:后面的语句

a++

-----------即a=a+1,这时a=0+1=1

执行break跳出switch语句

因为

switch(x)的

case

1

没有break所以继续执行case2

case2:a++;b++

;-----------a=a+1=1+1=2b=b+1=0+1=1

case2后面有break语句所以

跳出switch语句

执行

printf("a=%d,b=%d\n",a,b)

这条语句会在屏幕上打印a=2,b=1【换行】


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11041456.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-13
下一篇 2023-05-13

发表评论

登录后才能评论

评论列表(0条)

保存