1. 程式人生 > 其它 >【新手C語言】2.基礎知識與輸入輸出

【新手C語言】2.基礎知識與輸入輸出

2.基礎知識與輸入輸出

運算

加減乘除和小學數學沒什麼兩樣。這裡主要講講新東西。
/:除,得到的a/b的整數,比如5\2=2
%:取餘,這傢伙得到的就是餘數了,比如5%2=1

#include <stdio.h>

int main()
{
	printf("7/5=%d",7/5) //%d代表輸入“”,後面的運算。符號+-*/是加減乘除 %是取餘 ()是括號 
//%取餘表示取兩個數相除之後的餘數,且只會顯示餘數
	
; return 0;
}

+-/%可以和=連用,達到複合運算的目的
A+= 5 實質上是和 A= A+5是相同的,注意前者的+=之間是不能有空格的
A
= B+12 實質是 A= A*(B+12)
我常用的是++和--,a++就是a+=1也就是a=a+1,減法同理
a++和++a有細微的差別

#include <stdio.h>

int main()
{
   int a;
   a = 10;
   
   printf(" 這個是a++的式子 %d \n", a++);
   printf("而結果是 a= %d  \n",a);
   
   printf(" 這個是++a的式子 %d \n", ++a); 
   printf("而結果是 a= %d  \n",a); 

   	;return 0;
} 

用scanf進行輸入

scanf("%d",&price);

我們使用 scanf 把一些東西輸入,這裡表示把“”中的結果賦值給price變數,注意變數前的&要打,至於&是什麼呢,這個就等到第八週再說吧。

可以同時定義多個輸入量,每一個%d和之後所寫的變數的一一對應的

#include <stdio.h>

int main()
{
	int price=0; //定義了一個變數,名字是price,型別int,初始值是0
	
	
	printf ("請輸入金額");
	scanf("%d",&price);

	// scanf("%d %d",&a,&b); 可以同時定義多個輸入量

	int change=100-price;
	//定義了第二個變數,並且還做了計算 
	//100是常量,為了方便修改的話我們也可以給常量整一個名字 const int AMOUNT= 100即可 
	//const為修飾符,加在int前面時代表給變數一個不變的屬性,在初始化後,該變數的值便不能修改 
	
	printf("找您%d 元",change)
	
	;return 0 ;
 } 

變數、賦值、初始化

變數定義的一般形式是 <><變數名稱>; 如int price
每一個變數都有一個為一的識別符號,只能又字母、數字、下劃線組成,且數字不能在第一個位置。

(識別符號,通俗的說就是變數的名字。關鍵字不能作為識別符號,比如你不能int int =1 )

所有變數必須有確定的資料型別,表示變數中可以存放什麼型別的資料,執行過程中不能改變型別

C99可以在變數使用前定義它都可以,而傳統的ANSI C只能在程式碼開頭定義變數

#include <stdio.h>

int main()
{
	int price=0; //定義了一個變數,名字是price,型別int,初始值是0
	//int A,B 可以同時定義兩個為A,B的變數,型別同為int 

	//C語言的關鍵字不能做識別符號 

	printf ("請輸入金額");
	scanf("%d",&price);
	
	int change=100-price;
	//定義了第二個變數,並且還做了計算 
	
	printf("找您%d 元",change)
	
	;return 0 ;
 } 

浮點數

我們使用整型int進行運算時,結果只會是整數
想要得到小數部分,我們需要浮點數

float:單精度浮點數,使用float時,用%f
double:雙精度浮點數,使用double時,用%lf

#include <stdio.h>

int main()
{
	printf("第一行整數的測試%d     ",10/3);
	
	printf("第二行浮點數的測試%f",10.0/3); 
	//此時的%f與10.0一起表示出了浮點數。讓計算可以延續至小數 
	//當浮點數和整數放到一起運算的時候,C會把整數轉化成浮點數,然後進行浮點數的運算 
	
	;return 0;
 }
 
 //double“雙”是“雙精度浮點數”的第一個單詞,另外float(浮點)表示單精度浮點數 
 //使用double時,用%lf 

double可表示的範圍比float更大,吃的記憶體也比它多
各個變數範圍的區別和用法之後再提

小結:一個使用輸入框和結果的例子

#include <stdio.h>

int main()
{
// 運算子是指進行運算的的動作,比如加法運算子是 +,另外=也是運算子 
//運算元是指參與運算的值,可能是常數、變數、一個方法的返回值 

int hour1,minute1;
int hour2,minute2;

printf("請輸入“第一個小時的時分”如一點三十為 1 30  "); 
scanf(" %d %d",&hour1,&minute1);
printf("請輸入“第二個小時的時分”如三點三十為 3 30  "); 
scanf(" %d %d",&hour2,&minute2);
	
int time1=hour1*60+minute1;
int time2=hour2*60+minute2;
int t=time2-time1;
printf("時間差是%d小時%d分鐘。",t/60,t%60);
	;return 0 ;
 }