C語言簡要(一)

總得讓她開心吧

helloworld

#include <stdio.h>int main()
{printf("hello world!\n");return 0;
}

程序框架

#include <stdio.h>
int main
{return 0;
}

輸出

printf("hello world!\n");

"'里面的內容叫做“字符串”,printf會把其中的內容元豐不動的輸出

\n表示需要在輸出的結果后面換一行

?做計算

printf("%d\n",23+43);

%d說明后面有一個整數要輸出在這個位置上。

printf("23+43=%d\n",23+43);

%d是把后面的值填到這個地方去

輸入

#include <stdio.h>int main()
{int price=0;printf("請輸入金額(元)");scanf("%d",&price);int change = 100 - price;printf("找您%d元\n",change);return 0; 
}

int price=0;

這一行,定義了一個變量。變量的名字是price,類型是int,初始值是0;

變量是一個保存數據的地方,當我們需要在程序里保存數據時,比如上面的例子中要記錄用戶輸入的價格,就需要一個變量來保存它。用一個變量保存了一個數據,它才能參加到后面的計算中,比如計算找零。

?變量定義

變量定義的一般形式就是:

<類型名稱><變量名稱>;

int price;

int amount;

int price,amount;

變量名

變量需要一個名字,變量的名字是一種“標識符“,意思是它是用來識別這個和那個的不同的名字。”

標識符有標識符的構造規則。基本的原則是:標識符只能由字母、數字和下劃線組成,數字不能出現在第一個位置上,C語言的關鍵字(保留字)不可以用做標識符。

賦值

a=b表示要求計算機做一個動作:將b的值賦給a。

關系是靜態的,而動作是動態的。所以a=b和b=a是完全相反的

初始化

所有變量在定義的地方可以不做初始化,但是所有的變量在第一次被使用之前應該賦值一次?

變量初始化

<類型名稱><變量名稱>=<初始值>;

int price=0;

int amount=100;

組合變量定義的時候,也可以在這個定義中單獨給單個變量賦初值,如:

int price=0,amount=100;

?變量類型

C語言是一種有類型的語言,所有的變量在使用之前必須定義或聲明,所有的變量必須具有確定的數據類型。數據類型表示在變量中可以存放什么樣的數據,變量中只能存放指定類型的數據,程序運行過程中也不能改變變量的類型

?第二個變量

int chage=100-price;

定義了第二個變量change

并且做了計算

在C99中可以這樣定義

?ANSI C

只能在代碼開頭的地方定義變量

?

讀整數

scanf("%d",&price);

要求scanf這個函數讀入下一個整數,讀到的結果賦值給變量price

小心price前面的&

Scanf?

int main()
{
int a;
int b;
scanf("%d %d",&a,&b);
printf("%d %d\n",a,b);
return 0;
}

運行正常。

int main()
{
int a;
int b;
scanf("%d,%d",&a,&b);
printf("%d %d\n",a,b);
return 0;
}

也就是說scanf里的,你輸入的時候也要輸入

常量

int chage=100-price;

固定不變的數,是常數。直接寫在程序里,我們稱作直接量。

更好的方式,是定義一個常量:

const int AMOUNT = 100;(C99寫法)

const

const是一個修飾符,加在int的前面,用來給這個變量加上一個const的屬性。這const的屬性表示這個變量的值一旦初始化,就不能再修改了。

int change =AMOUNT-price;

如果你試圖對常量做修改,把它放在賦值運算符的坐標,就會背編譯器發現,指出為一個錯誤。?

?try

讓用戶輸入變量AMOUNT的值,而不是使用固定的初始值。

#include <stdio.h>int main()
{int price=0;int amount=0;printf("請輸入金額(元)");scanf("%d",&price);printf("請輸入原始(元)");scanf("%d",&amount);int change = amount - price;printf("找您%d元\n",change);return 0; 
}

浮點數

一個美國人告訴你他是5英尺7寸,他的身高應該是1米幾?

(5+7/12)*0.3048=1.7018米

帶小數點的數值。浮點這個詞的本意就是指小數點是浮動的,是計算機內部表達非整數(包含分數和無理數)的一種方式。另一種方式叫做定點數,不過在C語言中你不會遇到定點數。人們借用浮點數這個詞來表達所有帶小數點的數。?

計算身高的程序?

#include <stdio.h>int main()
{
printf("請分別輸入身高的英尺和英寸,"
"如輸入\"5 7\"表示5英尺7英尺:");
int foot;
int inch;
scanf("%d %d",&foot,&inch);
printf("身高是%f。\n",((foot+inch/12)*0.3048)); 
return 0;
}

但是似乎不對

因為兩個整數的運算的結果只能是整數

10/3*3=>?

10和10.0在C中是完全不同的數

10.0是浮點數

?

把前面的d改成f

改進

當浮點數和整數放到一起運算時,C會將整數轉換成浮點數,然后進行浮點數的運算。

?double

inch是定義為int類型的變量,如果把int換成double,我們就把它改為double類型的浮點數據變量了。

double是雙精度浮點數,float表示單精度浮點數

#include <stdio.h>int main()
{
printf("請分別輸入身高的英尺和英寸,"
"如輸入\"5 7\"表示5英尺7英尺:");
double foot;
double inch;
scanf("%lf %lf",&foot,&inch);
printf("身高是%f。\n",((foot+inch/12)*0.3048)); 
return 0;
}

整數

? ? ? ? int

? ? ? ? printf("%d",....)

????????scanf("%d",.....)

帶小數點的數

? ? ? ? double

? ? ? ? print("%f",......)

? ? ? ? print("%lf",......)

?表達式

一個表達式是一系列運算符和算子的組合,用來計算一個值

amount=x*(1+0.033)*(1+0.033)*(1+0.033);

total=57;

count=count+1;

value=(min/2)*lastValue;

?運算符

運算符是指運算的動作,比如加法運算符”+“,減法運算符”-“。

算子是指參與運算的值,這個值可能是常數,也可能是變量,還可能是一個方法的返回值。

?計算時間差

輸入兩個時間,每個時間分別輸入小時和分鐘的值,然后輸出兩個時間之間的差,也以幾小時幾分表示

#include <stdio.h>int main()
{
int hour1,minute1;
int hour2,minute2;
scanf("%d %d",&hour1,&minute1);
scanf("%d %d",&hour2,&minute2);
int t1=hour1*60+minute1;
int t2=hour2*60+minute2;
int t=t2-t1;
printf("差%d小時%d分",t/60,t%60);
return 0;
}

?

運算符優先級

寫一個程序,輸入兩個整數,輸出它們的平均值

int a,b;

scanf("%d %d",&a,&b);

double c=(a+b)/2.0;

print("%d和%d的平均值=%f\n",a,b,c);

?

賦值運算符

賦值也是運算,也有結果

a=6的結果是a被賦予的值,也就是6

a=b=6->a=(b=6)

? 交換兩個變量

int a=5;

int b=6;

?不能直接寫

a=b;

b=a;

這樣就會使最后的結果都變為b;

所以我們需要再引入一個變量t

int t;

t=a;

a=b;

b=t;

#include <stdio.h>int main()
{
int a=5;
int b=6;
int t;
t=a;
a=b;
b=t;
printf("a=%d,b=%d\n",a,b);
return 0;
}

?復合賦值

5個運算符形成符合運算

”+=“ “-=” “*=” “/=“ ”%=“

遞增和遞減

++ -- (+1 -1)

前面只能是變量

前綴后綴

++和--可以放前面

a++的值是a加1以前的值,而++a的值是加1以后的值,無論哪個,a自己的值都加了1.

下班下班

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/12923.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/12923.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/12923.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

BUUCTF靶場[MISC]wireshark、被嗅探的流量、神秘龍卷風、另一個世界

[misc]wireshark 考點&#xff1a;流量、追蹤流 工具&#xff1a;wireshark 先看題目&#xff0c;管理員密碼 將下載的文件用wireshark打開&#xff0c;查找flag 點擊追蹤tcp流&#xff0c;開始挨個查看flag [misc]被嗅探的流量 考點&#xff1a;流量、追蹤流 工具&#xf…

武漢星起航:亞馬遜構建綜合性商業生態,賣家買家共享全球化紅利

在當今全球化日益加速的時代&#xff0c;亞馬遜不僅以其卓越的電商平臺服務全球消費者&#xff0c;更通過一系列前沿服務打造了一個綜合性的商業生態系統。在這個生態系統中&#xff0c;賣家能夠輕松拓展全球業務&#xff0c;買家則享受到了前所未有的購物體驗。亞馬遜以其獨特…

FreeRTOS【6】線程優先級

1.開發背景 基于上一篇指引&#xff0c;已經了解了線程的阻塞&#xff0c;這個篇章主要介紹線程優先級的影響 2.開發需求 設計實驗驗證高優先級會搶占低優先級線程 CPU 3.開發環境 window10 MDK STM32F429 FreeRTOS10.3.1 4.實現步驟 1&#xff09;創建測試線程&#xff…

測試之路 - 精準而優雅

引子 這幾年業內一直在做精準測試&#xff0c;大都使用工具 diff 代碼改動、分析代碼覆蓋率這些平臺集成的能力。 業務測試中&#xff0c;我們在技術設計和代碼實現的基礎上也做了一些精減和精準的測試實踐&#xff0c;通過深入測試有針對的設計 case&#xff0c;發現隱藏問題…

抖音小程序使用Vant

安裝 Vant 有針對小程序的版本&#xff0c;通過npm安裝&#xff1a; npm i vant/weapp -S --production構建 npm 安裝 Vant Weapp 后需要構建 NPM&#xff0c;在菜單的【工具】選項中選擇【構建 NPM】&#xff1a; 使用組件 抖音小程序和微信小程序還是有一些差別的&#x…

怎么把3d模型導出cad立面---模大獅模型網

在設計工作中&#xff0c;將3D模型導出到CAD軟件并生成立面圖是一項常見但關鍵的任務。這不僅有助于更好地展示設計方案&#xff0c;還能方便后續的工程制圖和施工。本文將介紹如何通過3ds Max軟件將3D模型導出到CAD軟件&#xff0c;并生成高質量的立面圖&#xff0c;為您提供實…

現貨正泰漏電小型斷路器NXB-32LE-C16 30MA1P+N原裝正品NXB-40L

品牌&#xff1a;CHNT/正泰 型號&#xff1a;NXBLE 額定電流&#xff1a;25A,16A,20A,40A,32A 漏電保護器類型&#xff1a;2P 產地&#xff1a;中國大陸 電壓&#xff1a;1000V及以下 極數&#xff1a;3P,4p,2P,1PN 電源方式&#xff1a;交流電 3C證書編號&#xff1a;…

大模型時代下的先行者:景聯文科技引領數據標注新時代

在大模型時代&#xff0c;數據標注不再是簡單的分類標注&#xff0c;而是一項融合了技術革新、專業技能、法律合規和精細化管理的綜合性任務&#xff0c;對推動AI技術的發展和落地應用具有重要意義。 景聯文科技作為AI基礎行業的數據供應商&#xff0c;可協助人工智能企業解決整…

easyx快速入門1

1.基本說明 EasyX 是針對 C 的圖形庫&#xff0c;可以幫助 C/C 初學者快速上手圖形和游戲編程。 比如&#xff0c;可以基于 EasyX 圖形庫很快的用幾何圖形畫一個房子&#xff0c;或者一輛移動的小車&#xff0c;可以編寫俄羅斯方塊、貪吃蛇、黑白棋等小游戲&#xff0c;可以練…

fl studio試用版文件保存無法打開??一個方法教你免費打開!

前言 當下&#xff0c;各款編曲軟件五花八門&#xff0c;而這其中最有聲譽的必為FL Studio莫屬 這個軟件呢國人習慣叫他水果&#xff0c;擁有強大的錄音、編曲、混音等功能&#xff0c;所以廣受音樂圈歡迎。如今&#xff0c;大部分水果一旦有編曲所需&#xff0c;一般都要使用…

【Python快速上手(二十三)】

目錄 Python快速上手&#xff08;二十三&#xff09;Python3 多線程1. 線程的創建2. 線程同步2.1 鎖&#xff08;Lock&#xff09;2.2 信號量&#xff08;Semaphore&#xff09;2.3 事件&#xff08;Event&#xff09;2.4 條件&#xff08;Condition&#xff09; 3. 線程優先級…

【Linux】Centos9設置ActiveMq開機自啟功能

配置流程&#xff1a; 1. 創建 Systemd 服務文件。這個文件通常存放在/usr/lib/systemd/system/目錄下&#xff0c;命名為 activemq.service。 #先創建文件&#xff0c;然后編輯&#xff1a; sudo touch /usr/lib/systemd/system/activemq.service sudo vim /usr/lib/systemd…

CSS 根據子元素選擇父元素,并設置父元素的樣式

場景舉例&#xff1a;當子元素有增加了一個class時&#xff0c;需要影響其父元素的樣式 可以使用":has"偽類來實現選擇父元素的效果 <style>.parent:has(.child){background-color: #eee;}p{width:100px;border:1px solid #000;} </style> <body>…

Python3 筆記:for語句和while語句的區別

一般來說&#xff0c;循環次數確定的問題使用for循環或者while循環都可以解決&#xff0c;而循環次數不確定的問題只能使用while循環解決。 for語句的格式&#xff1a; for 循環變量 in 遍歷對象: 語句 while語句的格式&#xff1a; while 條件表達式: 循環體 for…

人機協同中的比較、調整與反轉

人機協同是指人與機器之間的合作關系&#xff0c;通過共同努力實現特定任務的目標。在人機協同中&#xff0c;存在著比較與調整的過程&#xff0c;這是為了實現更好的合作效果和任務完成質量。 比較是指人與機器在任務執行過程中對彼此的表現進行評估和比較。這可以通過對機器的…

DB類的學習

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; //引用三個命名空間 using System.Data.SqlClient; using System.Configuration;/// <summary> /// DB 的摘要說明 /// </summary> public class DB {p…

vue+ts+vite+pinia+less+echarts 前端可視化 實戰項目

1.初始化前端 輸入 npm init vuelatest 命令 然后 選擇需要的插件2.構建完成后 在終端切換到vue-project文件夾下 npm install 下載依賴 3.下載 less樣式 npm install less less-loader -D 4.下載axios npm install axios 5.下載echarts npm install echarts -S 6.引入中國…

JAVA 的數據類型

Java 是一種靜態類型語言&#xff0c;這意味著在編譯時&#xff0c;變量必須聲明其數據類型。在 Java 中&#xff0c;數據類型可以分為兩大類&#xff1a;基本數據類型&#xff08;又稱原始數據類型&#xff09;和引用數據類型。本文將詳細介紹這兩種數據類型。 一、基本數據類…

戰網國際服加速器用哪個好 暴雪戰網好用加速器介紹

戰網國際版&#xff0c;又稱Battle.net環球版&#xff0c;是暴雪娛樂操盤的全球性游戲互動平臺&#xff0c;它跨越地理界限&#xff0c;服務于全球游戲愛好者。與地區限定版本相異&#xff0c;國際版賦予玩家自由進入暴雪旗下眾多經典游戲的權利&#xff0c;無論身處何方&#…

對比測評3款BI分析工具

前不久&#xff0c;一位準備入職阿里的學弟問我&#xff0c;他要做電商數據分析&#xff0c;電商有龐雜的標簽、模型、數據和業務邏輯&#xff0c;菜鳥應該要具備什么樣的分析能力啊&#xff1f; 我看了他的崗位職責&#xff0c;主要是負責經營決策支持、專題分析和數據看板搭…