C语言源代码

Python012

C语言源代码,第1张

s=12,m=10

不知道你知道不知道C中for循环的执行顺序,for中括号内有三个语句,分别称为表达式一,二,三。执行顺序是这样的:

一:先求解表达式一。

二,求解表达式二,若为真,则执行for语句中的循环体,若为假,则结束。

三,求解表达式三

四,转回上面第二步骤继续执行。

此程序是这样执行的

先判断,s<=8,执行循环体,执行后,s=1,m=2

再执行m=m+2,s仍然满足s<=8,执行循环体,执行后s=5,m=5,再执行m=m+2,m=7,还满足,再执行循环体,s=5+7=12,m=8,关键来了,此时m=8还满足m<=8这个条件,还要执行m=m+2,执行后m=10了,不满足条件了,结束循环,最后,s=12,m=10.

最简单的那种?我给你写一个=,=

//服务器

#include <sys/stat.h>

#include <fcntl.h>

#include <errno.h>

#include <netdb.h>

#include <sys/types.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <arpa/inet.h>

#include <string.h>

#include <stdlib.h>

#include <stdio.h>

#include <unistd.h>

main()

{

//创建套接字

int serverSocket= socket(AF_INET,SOCK_STREAM,0)

struct sockaddr_in server_addr

struct sockaddr_in clientAddr

int addr_len = sizeof(clientAddr)

int client

char buffer[200]

//创建地址

bzero(&server_addr,sizeof(server_addr))

server_addr.sin_family =AF_INET

server_addr.sin_port = htons(5555)

server_addr.sin_addr.s_addr = htonl(INADDR_ANY)

//绑定

bind(serverSocket,(struct sockaddr *)&server_addr,sizeof(server_addr))

//帧听

listen(serverSocket,5)

printf("客户端发过来的 :\n")

//接收

client=accept(serverSocket,(sockaddr *)&clientAddr,(socklen_t*)&addr_len)

printf("客户端发过来的 :\n")

while(1)

{

if(recv(client,buffer,sizeof(buffer),0)>0)

printf("客户端发过来的 : %s\n",buffer)

}

return 0

}

//客户端

#include <sys/stat.h>

#include <fcntl.h>

#include <errno.h>

#include <netdb.h>

#include <sys/types.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <arpa/inet.h>

#include <string.h>

#include <stdlib.h>

#include <stdio.h>

#include <unistd.h>

main()

{

struct sockaddr_in serverAddr

int clientSocket=socket(AF_INET,SOCK_STREAM,0)

char sendbuf[200]

//创建地址信息

serverAddr.sin_family=AF_INET

serverAddr.sin_port=htons(5555)

serverAddr.sin_addr.s_addr=inet_addr("127.0.0.1")

//连接服务器

connect(clientSocket,(sockaddr*)&serverAddr,sizeof(serverAddr))

printf("连接目标主机中.....\n连接完成......\n")

//

while(1)

{

printf("请输入发给服务器的数据 : ")

scanf("%s",sendbuf)

//strcmp函数作用,比较两个东东(按ASCII值大小相比较),相同就==0。

if(strcmp(sendbuf,"x")==0)

break

send(clientSocket,sendbuf,sizeof(sendbuf),0)

}

close(clientSocket)

return 0

}

#include<math.h>

main()

{

int m,i,k,n=0

for(m=101m<=200m=m+2)

//列举100~200所有素数

{

k=sqrt(m)

for(i=2i<=ki++)

if(m%i==0)break

//对某个列举数从小到大试除

if(i>=k+1)

//若试除完毕,为质数,输出

{

printf("%d",m)

n=n+1

}

if(n%n==0)printf("\n")

//这句有问题,是废话

}

printf("\n")

}

-----------------------------------------------

k=sqrt(m)//改为k=sqrt((double)m)

for(i=2i<=ki++)//末尾的分号去掉