C語言之變數和資料類型

來源:互聯網
上載者:User

標籤:字元   半徑   相容   需要   預留位置   整數   文法   其他   大小寫   

常量:程式在運行過程中無法對值變更。

變數:是在電腦記憶體空間一種表示,聲明變數將會向電腦記憶體申請儲存空間,用於儲存資料,電腦的CPU會從記憶體中載入資料。

聲明變數:

資料類型  變數名[=值];

也可以一次性聲明多個變數:  資料類型  變數名1,變數名2….變數名N;

變數的使用需要滿足:先聲明, 後賦值,在使用。

 比如:

int a;

a=10;

int a=10;

標示符的命名規範:見名知意

  1. 有字母,數字和底線組成,不能有其他特殊字元,不能以數字開頭。
  2. 不能使用預留關鍵字. 比如int
  3. 嚴格區分大小寫。 City ,city是兩個變數
  4. 建議採用駝峰命名法:首單詞小寫,其他單詞的首字母大寫(employeeName)

資料類型

1、分為數值型、非數值型(char)

2、數值型又分為整形和浮點型

3、整形又分為長整型(long)、整形(int)、短整型(short)

4、浮點型分為單精確度浮點型(float)、雙精確度浮點型(double)

                                                             

printf()/scanf():輸出和輸入

常用的預留位置:%d 十進位的整型int , %f:浮點型float,預設精確到小數點後6位,

%lf:雙精確度浮點型double, %c:字元型char ,%s: 字串

scanf(“%d”,&a);à &取地址符號

 

例一:

 

計算圓柱體積

 

float raduis,height,vol,pi=3.14;//聲明兩個變數分別用於儲存半徑和高

 

printf("請輸入半徑:\n");

 

scanf("%f",&raduis);

 

printf("請輸入高:\n");

 

scanf("%f",&height);

 

vol = pi*raduis*raduis*height;

 

printf("圓柱的體積vol=%0.2f",vol);

 

例二:

 

   //列印購物小票

 

  float price=20,totalPrice,realPrice,disCount;//牙膏價格

 

    float total,change;//付款金額和找零

 

  int num;//要購買的牙膏的數量

 

printf("牙膏的價格為20元每隻\n");

 

printf("請輸入購買牙膏的數量:\n");

 

  scanf("%d",&num);//擷取輸入的數量

 

    printf("請輸入折扣:\n");

 

    scanf("%f",&disCount);//擷取輸入的折扣

 

printf("請輸入付款金額:\n");

 

scanf("%f",&total);//擷取付款金額

 

    totalPrice = price*num;//計算總價(原價)

 

realPrice = (1- disCount)*totalPrice;//計算應付金額

 

change = total-realPrice;//計算找零

 

printf("***************購物小票**************\n");

 

printf("單價\t數量\t小計\n");

 

printf("%0.2f\t%d\t%0.2f\n",price,num,totalPrice);

 

  printf("折扣:%0.2f,折扣價:%0.2f\n",disCount,disCount*totalPrice);

 

printf("應付:%0.2f,實付:%0.2f,找零:%0.2f\n",realPrice,total,change);

 

  printf("************************************");

 

算術運算子:分為一元運算子和二元運算子

二元運算子(運算元有兩個):+,-,*,/,%(求餘或模數)

一元運算子(運算元只有1個):++(自加1),--(自減1)

 

int num=5;

printf("%d\n",num++);//5

 

printf("%d\n",num);//6

 

printf("%d\n",++num);//7

 

printf("%d\n",num);//7

 

printf("*************************\n");

 

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

 

printf("%d\n",num);//6

 

printf("%d\n",--num);//5

 

  printf("%d\n",num);//5

 

類型轉換: 自動轉換和強制轉換

 自動轉換:

1.兩種資料類型相互相容

2.目標類型大於源類型--->範圍小的可以向範圍大的自動轉化

short--->int--->long--->float--->double

強制轉換:在強制轉換的過程中有可能會發生進度的丟失

文法: (資料類型)變數或數值;

 

int a=3,b=2;

 

float c,d,e,f;

 

c=a/b;//1.000000

 

d=(float)(a/b);//1.000000

 

e=(float)a/b;//1.500000

 

f=(int)c%a;//1.000000

 

getchar()和putchar()的函數

  1. getchar()擷取使用者輸入的字元, 類似於scanf()
  2. putchar(char c):輸入字元到顯示器(控制台), 類似於printf()

樣本:

   char c;

    c = getchar();//scanf("%c",&c);

   putchar(c); //printf("%c",c);

樣本2

char a,b;

   printf("請輸入兩個字元:");

   a=getchar();

   fflush(stdin);

   b=getchar();

   fflush(stdin);

   putchar(a);

   putchar(b);

   putchar(‘\n‘);

 

作業1: 聲明兩個整型的變數用於接收使用者輸入的兩個整數,完成交換使用者輸入的值。

 int a=10;

int b=5;

e a=5,b=10;

//1.擷取使用者輸入的兩個數值,並完成交換

int num1,num2,temp;

printf("請輸入num1的值:\n");

scanf("%d",&num1);

printf("請輸入num2的值:\n");

scanf("%d",&num2);

printf("交換前:num1=%d,num2=%d\n",num1,num2);

//交換num1和num2的值

  temp=num1;

  num1=num2;

num2=temp;

printf("交換後:num1=%d,num2=%d\n",num1,num2);

 

 

作業2: 根據使用者輸入的上底,下底和高計算梯形的面積。

面積=(上底+下底)*高/2;

//2.根據使用者輸入的上底,下底和高計算梯形的面積。

//面積=(上底+下底)*高/2;

  float top,bottom,height,s;

  printf("請輸入梯形的上底:\n");

scanf("%f",&top);

printf("請輸入梯形的下底:\n");

scanf("%f",&bottom);

printf("請輸入梯形的高:\n");

scanf("%f",&height);

  s=(top+bottom)*height/2;//計算面積

printf("梯形的面積為:%0.2f",s);

 

C語言之變數和資料類型

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.