亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Linux如何實現程序設計

發布時間:2021-10-11 11:06:29 來源:億速云 閱讀:161 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關Linux如何實現程序設計,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

例子:

指數函數

/*4-1.c 輸入兩個實數x,y  求指數x^y
 * gcc -g -o 4-1 4-1.c -lm
 *
 **/

#include <stdio.h>
#include <math.h>

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 <stdio.h>
#include <math.h>

int main()
{
    int i,n;
    float x,y;

    printf("please input an int n:\n");
    scanf("%d",&n);

    for(i=0;i<n;i++){
      printf("please input %dth double number:\n",i+1);
      scanf("%f",&x);   
      y=sqrt(x); 
      printf("%f的開平方是:%f\n", x,y);
    }

    return 0;
}

隨機數

/*4-3.c 產生10個介于1~10的隨機數
   gcc -g -o 4-3 4-3.c

 **/

#include <stdio.h>
#include <stdlib.h>
#include <time.h>

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 <stdio.h>
#include <stdlib.h>
#include <time.h>
 
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 <stdio.h>
#include <ctype.h>

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.c
QAc6587Abaaa669DReAEgg
 **/

#include <stdio.h>
#include <ctype.h>

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 <stdio.h>
#include <time.h>

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.c
gcc -g -o ex4-1 ex4-1.c
$ ./ex4-1 
113 123 13 12 14 13 11 1 12 53
113 123 13 12 14 13 11 1 12 53 365

*/

#include <stdio.h>
int 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 <stdio.h>
#include <stdlib.h>
#include <time.h>

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 <stdio.h>
#include <stdlib.h>
#include <time.h>


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 <stdio.h>
#include <stdlib.h>
#include <time.h>


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如何實現程序設計”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,使各位可以學到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

绵竹市| 嘉鱼县| 南漳县| 安多县| 宁明县| 农安县| 宁远县| 张家港市| 吉木乃县| 新乡县| 锡林浩特市| 额济纳旗| 宜都市| 缙云县| 仁化县| 宝鸡市| 板桥市| 兴宁市| 修文县| 屯昌县| 五峰| 汉沽区| 安岳县| 宜春市| 出国| 工布江达县| 镇远县| 东阳市| 宁强县| 禹城市| 莫力| 织金县| 富阳市| 满城县| 柘城县| 汾西县| 松江区| 从化市| 苍梧县| 银川市| 深水埗区|