linux中C语言程序 代码说明注释

linux中C语言程序 代码说明注释,第1张

1、/*输出9*9口诀。共9行9列,i控制行,j控制列。*/ #include "stdio.h" main() {int i,j,result for (i=1i<10i++){ for(j=1j<10j++){

result=i*j

printf("%d*%d=%-3d",i,j,result)/*-3d表示左对齐,占3位*/}

printf("\n")/*每一行后换行*/}

}

2.

/*古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? 兔子的规律为数列1,1,2,3,5,8,13,21....*/ main() {

long f1,f2

int if1=f2=1

for(i=1i<=20i++)

{ printf("%12ld %12ld",f1,f2)

if(i%2==0) printf("\n")/*控制输出,每行四个*/ f1=f1+f2/*前两个月加起来赋值给第三个月*/ f2=f1+f2/*前两个月加起来赋值给第三个月*/

} }

3、/*判断101-200之间有多少个素数,并输出所有素数及素数的个数。

程序分析:判断素数的方法:用一个数分别去除2到sqrt(这个数),如果能被整除, 则表明此数不是素数,反之是素数。*/ #include "math.h" main() {

int m,i,k,h=0,leap=1 printf("\n")

for(m=101m<=200m++){ k=sqrt(m+1) for(i=2i<=ki++)

if(m%i==0)

{leap=0break}

if(leap)/*内循环结束后,leap依然为1,则m是素数*/

{printf("%-4d",m)h++ if(h%10==0)printf("\n") } leap=1 }

printf("\nThe total is %d",h)

}

4、/*一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6=1+2+3.编程找出1000以内的所有完数。*/ main() {

static int k[10] int i,j,n,s

for(j=2j<1000j++) {

n=-1 s=j

for(i=1i<ji++){if((j%i)==0) { n++ s=s-i k[n]=i }}

if(s==0)

{printf("%d is a wanshu: ",j)for(i=0i<ni++)

printf("%d,",k[i])printf("%d\n",k[n]) } }

}

5、/*编程打印直角杨辉三角形*/ main()

{int i,j,a[6][6] for(i=0i<=5i++) {a[i][i]=1a[i][0]=1} for(i=2i<=5i++)

for(j=1j<=i-1j++)

a[i][j]=a[i-1][j]+a[i-1][j-1] for(i=0i<=5i++) {for(j=0j<=ij++)

printf("%4d",a[i][j]) printf("\n")}

}

这些程序都是经典的,而且很简单,希望对你有帮助,10个我写不下去,因为字数限制,还有一点就是,gcc是编译器,一般是在LINUX平台,实质上C语言的话代码是和WINDOWS没区别的,只是有些库函数的调用有区别,一般在LINUX平台写完一个源代码是.c文件,在GCC中通过命令行输入gcc xx.c就可以生产可执行文件了

客户端:

int main()

{ int sockfd//sokce fd 可以man socket 看socket();这个函数运竖的原型

int len

struct sockaddr_in address//connect的函数参数,主要是服务器的ip和端口

int result

char ch = `A`//发送的消息

sockfd = socket(AF_INET,SOCK_STREAM,0) address.sin_family = AF_INET //创建socket

address.sin_addr.s_addr = inet_addr(“127.0.0.1”)//设置服务器的ip地址

address.sin_port = 9734//设置端口

len = sizeof(address)//传给connect函数的掘拍长度

result = connect(sockfd,(struct sockaddr *)&address,len)

if(result == -1) {//连接到服务器,成功返回判悄羡0,注意这里是阻塞方式

peror(“oops:client1”)

exit(1)}

write(sockfd,&ch,1)//往服务器发送消息

read(sockfd,&ch,1)//从服务器读回消息,存放到ch

printf(“char from server = c\n”,ch)//读回的消息,打印

close(sockfd)

exit(0)}

服务器端:

#include<sys/types.h> #include<sys/socket.h>

#include<stdio.h>

#include<netinet/in.h>

#include<arpa/inet.h>

#include<unistd.h>

int main()

{ int server_sockfd,client_sockfd

int server_len,client_len

struct sockaddr_in server_address

struct sockaddr_in client_address

server_sockfd = socket(AF_INET,SOCK_STEAM,0)

server_address.sun_family = AF_INET

server_address.sin_addr.s_addr = inet_addr(“127.0.0.1”)

server_address.sin_port = 9734

server_len = sizeof(server_address)

上面部分从简

bind(server_sockfd,(struct sockaddr *)&server_address,server_len)//绑定端口和ip,

listen(server_sockfd,5)//服务器开始监听端口

while(1){

char ch

printf(‘server waiting\n”)

client_len = sizeof(client_address) client_sockfd = accept(server_sockfd,(struct sockaddr*)

&client_address,&client_len)//开始等待客户端连接,如果没有,则阻塞

read(client_sockfd,&ch,1) //建立一个连接后,从客户端读取消息

ch++//A=>B

write(client_sockfd,&ch,1)//写回客户端

close(client_sockfd)}

这是一个简单测试网络连接的程序,其实如果做服务器的话,一般采用的是select +noblocking 或 多线程,线程池,或多进程,进程池。。。

做了个简单的分析,如果不明白的地方,可以发我邮件touchao123@126.com

#!/bin/bash 定义SHELL运行环境

read -p "Please input the first number:" num1 请输入第握隐一个数字

read -p "Please input the second number:" num2 请输入第二个数字

read -p "Please input the third number:" num3 请输入第三个数字

min=$num1 定义了一个变量,变量名是min,变量值是第一个数字

if [ $min -gt $num2 ]如果当前变量min的值大于第二个数字

then 那么

min=$num2 变量min将被赋予新值,就是数字二

fi 结束

if [ $min -gt $num3 ]如果当前变量min的值大于第三个数字

then 那么

min=$num3 变量min将被赋予新值,段慎厅就是数字三

fi 结束

echo "The minimum number is $min" 最终显示三个数当中最小的(当前min的值)

假设你输入了 10 5 7,脚本运行是:首先当前变量min的值是10, 然后10和5比较,10比5大,所以变量min被赋予新值,就是5,然后5和7比较,5小于7,所以不会把第三个数字7赋予孝大min作为新值,所以,当前min的值就是还是5,那么就输出显示当前变量min的值5,那么5就是最小的。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存