Linux如何实现程序设计
发表于:2024-11-13 作者:千家信息网编辑
千家信息网最后更新 2024年11月13日,这篇文章将为大家详细讲解有关Linux如何实现程序设计,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。例子:指数函数/*4-1.c 输入两个实数x,y 求指数x^y
千家信息网最后更新 2024年11月13日Linux如何实现程序设计
这篇文章将为大家详细讲解有关Linux如何实现程序设计,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
例子:
指数函数
/*4-1.c 输入两个实数x,y 求指数x^y * gcc -g -o 4-1 4-1.c -lm * **/#include#include int main(){ double answer,x,y; printf("please input two double x,y:\n"); scanf("%lf %lf",&x,&y); answer=pow(x,y); printf("%lf的%lf次方是:%lf\n", x,y,answer); return 0;}
开平方
/*4-2.c 先输入整数n:然后要求逐个输入n个实数并开平方 * gcc -g -o 4-2 4-2.c -lm * **/#include#include int main(){ int i,n; float x,y; printf("please input an int n:\n"); scanf("%d",&n); for(i=0;i 随机数
/*4-3.c 产生10个介于1~10的随机数 gcc -g -o 4-3 4-3.c **/#include#include #include int main(){ int i,j; srand((unsigned int)time(0)); printf("RAND_MAX= %d\n",RAND_MAX); for(i=0;i<10;i++){ j=1+(int)(10.0*rand()/(RAND_MAX+1.0)); /* 1+(int)(10.0*rand()/(RAND_MAX+1.0)) 的意思是生成1到10的随机数 (int)10.0*rand()/(RAND_MAX+1.0)的意思是将0到RAND_MAX之间的整数等分成十份,如果随机的生成数落在第一份,则映射成0, 如落在第二份,则映射成1。。。。。。如落在第十分,则映射成9. */ printf(" %d",j); } printf("\n"); return 0;} /*4-3_1.c 产生0 到 50 之间的 n 个随机数 * gcc -g -o 4-3_1 4-3_1.c void srand(unsigned seed);用法: 它初始化随机种子,会提供一个种子,这个种子会对应一个随机数,如果使用相同的种子后面的 rand() 函数会出现一样的随机数,如: srand(1); 直接使用 1 来初始化种子。不过为了防止随机数每次重复,常常使用系统时间来初始化,即使用 time函数来获得系统时间,它的返回值为从 00:00:00 GMT, January 1, 1970 到现在所持续的秒数,然后将time_t型数据转化为(unsigned)型再传给srand函数,即: srand((unsigned) time(&t)); 还有一个经常用法,不需要定义time_t型t变量,即: srand((unsigned) time(NULL)); 直接传入一个空指针,因为你的程序中往往并不需要经过参数获得的数据。进一步说明下:计算机并不能产生真正的随机数,而是已经编写好的一些无规则排列的数字存储在电脑里,把这些数字划分为若干相等的N份,并为每份加上一个编号用srand()函数获取这个编号,然后rand()就按顺序获取这些数字,当srand()的参数值固定的时候,rand()获得的数也是固定的,所以一般srand的参数用time(NULL),因为系统的时间一直在变,所以rand()获得的数,也就一直在变,相当于是随机数了。只要用户或第三方不设置随机种子,那么在默认情况下随机种子来自系统时钟。如果想在一个程序中生成随机数序列,需要至多在生成随机数之前设置一次随机种子。 即:只需在主程序开始处调用 srand((unsigned)time(NULL)); 后面直接用rand就可以了。不要在 for 等循环放置 srand((unsigned)time(NULL)); **/#include#include #include int main(){ int i, n; time_t t; n = 20; /* 初始化随机数发生器 */ srand((unsigned) time(&t)); /* 输出 0 到 50 之间的 20 个随机数 */ for( i = 0 ; i < n ; i++ ) { printf("%d\n", rand() % 50); } return(0);} /*4-4.c 从键盘读入一行字符,判断其是否为大写 gcc -g -o 4-4 4-4.c **/#include#include int main(){ char c; while((c=getchar())!='\n'){ if(isupper(c)) printf(" %c is an upppercase character\n",c); } printf("\n"); return 0;} /*4-5.c 从键盘读入一行字符,判断其是否为十六进制数字 gcc -g -o 4-5 4-5.cQAc6587Abaaa669DReAEgg **/#include#include int main(){ char c;/* for( ; (c=getchar())!='\n' ; ) if(isxdigit(c)) printf(" %c is a hexadecimal digits\n",c); **/ while((c=getchar())!='\n') if(isxdigit(c)) printf(" %c is a hexadecimal digits\n",c); printf("\n"); return 0;} /*4-6.c 显示当前系统时间 gcc -g -o 4-6 4-6.c **/#include#include int main(void){ char *wday[] = {"Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"}; char *chwday[] = {"星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"}; time_t timep; struct tm *p_tm; time(&timep); //timep = time(NULL); p_tm = gmtime(&timep); /*获取GMT时间*/ printf("%d-%d-%d ", (p_tm->tm_year+1900), (p_tm->tm_mon+1), p_tm->tm_mday); printf("%s %d:%d:%d\n", wday[p_tm->tm_wday], p_tm->tm_hour, p_tm->tm_min, p_tm->tm_sec); p_tm = localtime(&timep); /*获取当地时间并按照中文时间日期显示*/ printf("%d年 %d月 %d日 ", (p_tm->tm_year+1900), (p_tm->tm_mon+1), p_tm->tm_mday); printf("%s %d:%d:%d\n", chwday[p_tm->tm_wday], p_tm->tm_hour, p_tm->tm_min, p_tm->tm_sec); printf("当前的本地时间和日期:%s", asctime(p_tm)); /* asctime(struct tm * ptr)返回的时间字符串格式为:星期,月,日,小时:分:秒,年 */ /* ctime函数 函数原型: char *ctime(const time_t * timer) 函数功能: 将日历时间参数timer转换为一个表示本地当前时间的字符串 函数返回: 返回字符串格式:星期,月,日,小时:分:秒,年 参数说明: timer参数应由函数time获得,其等价于 astime( localtime(timer) ) */ time(&timep); printf("当前时间 = %s", ctime(&timep)); printf("\n"); return 0;} 思考与实验:
1.编写一个简单的c语言程序:函数int input(int a[ ],int n)用于输入一个有n个元素的整型数组,void output(int b[ ],int n),函数int sum(int a[ ],int n)用于数组求和,在main函数中依次调用函数input、output、sum
/*ex4-1.cgcc -g -o ex4-1 ex4-1.c$ ./ex4-1 113 123 13 12 14 13 11 1 12 53113 123 13 12 14 13 11 1 12 53 365*/#includeint input(int a[],int n);void output(int b[],int n);int sum(int a[],int n);void main(){ int a[10]; input(a, 10); output(a, 10); printf("%d\n", sum(a, 10));}int input(int a[],int n){ for (int i = 0; i < n; i++) { scanf("%d", &a[i]); } return 1;}void output(int b[],int n){ for (int i = 0; i < n; i++) { printf("%d ", b[i]); }}int sum(int a[],int n){ int s = 0; for (int i = 0; i < n; i++) { s = s + a[i]; } return s;} 3. 编写C语言程序:用随机函数产生两个整型数,根据输入的字符:+-*/做算术运算,不是这四个字符则报错
#include#include #include int main(){ int i,b,d; char a; srand((int)time(0)); for(i=0;i<2;i++){ b=1+(int)(4.0*rand()/(RAND_MAX+1.0)); d=1+(int)(4.0*rand()/(RAND_MAX+1.0)); } printf("%d %d\n",b,d); printf("请输入+、-、*、/ 中的任意一个符号:"); a=getchar(); int m,n,p; float q; m=b+d; n=b-d; p=b*d; q=(float)(b/d); switch(a){ case '+':printf("这两个数的和是:%d\n",m); break; case '-':printf("这两个数的差是:%d\n",n); break; case '*':printf("这两个数的积是:%d\n",p); break; case '/':printf("这两个数的商是:%f\n",q); break; default:printf("error!\n"); } return 0;} 4.编写程序,测试某一程序段运行时间
#include#include #include int main() { long i = 10000000L; clock_t start, finish; double Total_time; printf( "CLOCKS_PER_SEC= %ld\n",CLOCKS_PER_SEC ); /* 测量一个事件持续的时间*/ printf( "Time to do %ld empty loops is ", i ); start = clock(); while(i--) ; finish = clock(); Total_time = (double)(finish-start) / CLOCKS_PER_SEC; printf( "%f seconds\n", Total_time); return 0;} 或
/* ex4-4_1.c https://blog.csdn.net/HelloZEX/article/details/53744838** gcc -g -o ex4-4_1 ex4-4_1.c**/#include#include #include int main() { clock_t start, finish; double Total_time; /* 测量一个事件持续的时间*/ start = clock(); /*被测试代码*/ int size = 64 * 1024 * 1024; int *arr = (int *) malloc( sizeof(int)*size); for (int i = 0; i < size; i++) arr[i] *= 3; for (int i = 0; i < size; i += 8) arr[i] *= 3; finish = clock(); Total_time = (double)(finish-start) / CLOCKS_PER_SEC; printf( "%f seconds\n", Total_time); return 0;} 关于"Linux如何实现程序设计"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
函数
时间
随机数
星期
程序
种子
字符
两个
参数
输入
系统
数字
之间
字符串
篇文章
开平
生成
程序设计
设计
一行
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
商用网络安全
网络安全模式怎么进
数据库中事务生活中
软件开发运维科技是什么意思
未成年网络安全手抄报初中
emc服务器管理口
新媒体跟软件开发哪个好
国家网络安全空间布局基地
怎么找数据库文件
服务器老丢包
数据库 排他锁
福州app软件开发多少钱
瑞韬软件开发有限公司
求生之路本地服务器加载不了
富国互联网科技股票哪时候涨呀
怎么面试微软软件开发岗
数据库视图操作
数据库yggl的er图
自考财务软件开发与应用是笔试吗
网络安全宣传周启动仪式山西
服务器怎样才能变得好玩
居委会网络安全宣传周方案
时间同步服务器端口号
软件开发前后台分离测试
甘肃平凉网络安全宣传周
丰富数据库信息
网络安全和防范感想
常用数据库可以分为
数据库实验七数据安全性试验
烟台戴尔服务器销售电话