C語言第二課(基本語句) 1scanf函數,printf函數2不同的變量類型,小細節3字符型變量特殊函數4sqrt,fabs等特殊函數5m.n限定位數6C語言中%d,%o,%f,%e,%x的意義

1.首先舉個例子吧,a賦值10,b賦值15,然後求和c=a+b的值並輸出

在APP上這個代碼是可以滑動看的,或者點開全屏看,爲了方便,我儘量就單行寫少一點,畢竟手機看的話一行字數太多有些不方便。
別看我下面寫得多,都是爲了好懂,
寫這個目的就是爲了大家好懂啊,所以解釋比較多
篇幅小難懂跟篇幅大容易懂,我選擇後者,畢竟大家省力氣一些

#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
c=(a+b)/2;
printf("%d",c);
printf("%d+%d=%d",a,b,c);
printf("%d加%d的和=%d",a,b,c);
return 0}



可以先看看上面的代碼然後自己想一下結果
下面就是拆分了
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
//10 15
//輸入的時候中間用空格隔開
//%d代表格式爲十進制,&是賦值的意思
//這裏就是把你輸入的兩個十進制整數按照後面標出的順序
//這裏是a,b所以你輸入的第一個數就是賦值給a,第二個賦值給b
//看一下另外的一種方式
scanf("%d,%d",&a,&b);
//這個scanf語句裏面加了一個逗號
//在輸入的時候就需要連都逗號一起輸入
//10,15
scanf("%d,,,,,%d",&a,&b);
//10,,,,,15
//以此類推,大家就懂了吧
//""裏面有什麼有其他符號或者提示語句(較少)
//也需要一起打上

//簡單點說把%d替換爲題目要求的數字,其他只要是在""內的就按順序打上
//不然連程序都沒有辦法運行。。。。因爲輸入就不對
//自然給不出運行結果

//考試要求10 15空格間隔的話,就%d%d,不用%d %d
//要求10,15逗號間隔就%d,%d
//最重要的是這個逗號是英文的,中文的會報錯

c=a+b;
//因爲運算符優先級,先算加法在賦值給C
//優先級表格在另一篇文章中有
printf("%d",c);
//25
printf("%d+%d=%d",a,b,c);
//10+15=25
printf("%d加%d的和=%d",a,b,c);
1015的和=25
//看出來了吧,就是把%d替換爲整數,具體這個數是啥呢
//就是後面你安排的順序

//改一下
printf("%d+%d=%d",c,b,a);
20+15=10
//計算機很笨的,只會做你讓他做的事情
//只要你自己不出錯就一般沒事的
return 0;
}




  1. 定義變量:1.定義類型2.變量命名
    定義類型:用到關鍵字
    變量命名:用到標識符
  2. 在編寫C語言程序時,要用到一些預先定義好的類型名(如int、float等 ),還有一些具有特定作用的單詞(如if、return等 )。
    在C語言中,將預先定義好的單詞和類型名,稱爲關鍵字(keyword)
    除了關鍵字之外, 編程者也需要定義一些名字來表示程序中的實體,如變量名、函數名、文件名等。
  3. 在C語言中,將各種實體的名字統稱爲標識符。
    C語言規定,標識符只能由英文字母、數字和下劃線三種字符組成,並且首字符是英文字母或下劃線。
    例如a、x3、BOOK_ 1、sum5都是合法的標識符。
    在標識符中嚴格區分字母大小寫。
    標識符長度這個沒有特殊規定,但一般能小就小,儘量小於32位。
    保留標識符:
    在C語言標準庫的頭文件中定義的標識符,主要是一些庫函數名、類型名和宏名,如printf、scanf、 EOF等。
    用戶標識符:
    由編程者自己定義的標識符。很顯然,用戶標識符既不能與關鍵字重名,也不能與保留標識符重名。
  4. C程序中的數據可分爲:常量與變量。變量是在程序運行過程中,其值可以改變的量。變量用於在程序中保存數據。變量就是一組連續的內存單元,就好像酒店裏面的一排房子,你給的數據就是住酒店的人(給了數據,數據就入住了該變量的內存單元),過了租住時間或者你主動把他趕出去(比如重新賦值),這房子就空下來了,接着就又可以住人了(自己重新輸入數據)。
    常亮就是人家買了你酒店的房子,從規則上來說,那就是人家的財產了,你不能把人家趕出去,因爲不屬於你管了,哈哈哈哈。
  5. 變量先定義後使用。
    C89標準規定變量定義語句置於塊的開頭部分(以一對花括號括起來的一組語句稱爲一個塊)
    C99標準允許在程序中的任意位置定義變量。
  6. 變量定義的一般格式:
    類型說明符 :C語言所允許的任何數據類型 int、float、double等等
    變量名:合法標識符 就是你自己定義的符合規則的就OK 比如平均數一般ave(因爲平均數英文是Average,這就來看個人習慣了)
  7. 所謂給變量賦值,就是將數據存入到該變量所對應的內存單元中
    如:int a;麥量定義
    a=10; 可執行語句
    (將10這個值賦給i這個變量)
    =賦值運算符(先將右側的表達式進行完計算再存儲到左邊變量當中)
  8. 常量指在程序運行過程中, 值不可改變的量。分爲直接常量和符號常量。
    直接常量也稱爲字面常量。即直接在程序中寫出來的常量。比如2、3.14等等
    符號常量:一個標識符來代表一個常量。習慣上使用大寫宇母表示符號常量。定義格式:# define 標識符 常量
    標識符一般是大寫
# define PI 3.14
這條語句在main函數上方,而且後面沒有分號
使用的時候就直接用PI就OK了

使用符號常量可以改善程序的可讀性和可維護性。
但需要注意,由於符號常量不是變量,故不能對符號常量進行賦值

2.scanf函數應用略解

2.1不同的變量類型對應輸入的%?

整型
int a,b;
scanf("%d%d",&a,&b);
單精度浮點型
float a,b;
scanf("%f,%f",&a,&b);
雙精度浮點數
double a,b;
scanf("%lf%lf",&a,&b);
//這個有點東西啊
//lf lf  lf
字符型
char a,b;
scanf("%c%c",&a,&b);

2.2記住格式,不要犯小錯誤

  1. 全英文符號,別添加中文符號
  2. &號與要賦值的變量的順序不要搞錯了
  3. scanf("%d%d",&a,&b);看看第一個逗號在哪裏,在""後面對吧,這個可不能缺,這個起一個間隔作用呢,而且標準就是這樣的。第二個逗號在哪呢?&a,&b,這個也是起間隔作用的,C語言裏面“,”(逗號)跟“ ”(空格)一般都是起間隔作用的。
  4. 對於題目給的輸入格式一定要細看,從而編寫輸入格式
  5. 變量類型對應的符號不要搞錯了
  6. 自己定義的什麼scanf形式,在運行程序時就要按照這個形式輸入,不然輸入有錯誤,程序是不會運行的。

3.字符型變量的特殊函數

char a;
scanf("%c",&a);

相當於

char a;
a=getchar();
//很好記的,字面意思get獲得char字符型

同樣的有輸入自然不能少了輸出

printf("%c",a);
相當於
putchar(a);

注意格式,比較一下就看出來了,一個帶參數,一個不帶參數對吧,細節細節!!!
a=getchar();
putchar(a);

4.特殊函數的使用需要在前面加#include<math.h>,因爲那些函數是在這個函數庫裏面的,放個圖

其實一般用不到這麼多,也就求個絕對值fabs(變量)
求個平方根sqrt(變量或者表達式)
求個次方根pow(x,y)即x的y次方,比如pow(10,2)就是10*10=100
個人建議pow函數儘量少用吧,pow(a,3)跟a * a * a是一樣的,但是用函數容易出錯。。。。而且你用了也不加分啊。。。。。也並不裝13啊。。。。。所以建議還是直接a * a * a方便,簡單不出錯,多好
在這裏插入圖片描述

5.printf函數

printf函數跟scanf函數差不多,不過在printf函數裏面float跟double都是%f
剩下的包括格式啥的printf跟scanf都差不多,而且一般來說printf("…\n"…),一般都加一個換行符號\n(反斜槓n),算是一個習慣吧,當然也要結合題目要求做決定。

6.關於限定輸出的問題,類似m.n

m.n(一共m位數,小數點後n位數)
若數值長度小於m,則左端補空格。若數值長度大於m,則按實際數值輸出,小數位保留n位。
注意scanf輸入函數裏面沒有這個限定,這個只在輸出的時候用就好,題目會有結果限制幾位小數啥的
位數不夠的時候前面補空格(小數點也佔一位數)
例如%5.2f(一共五位數,小數點後2位,小數點也算一位)
%-5.2f位數不夠的時候在後面補空格

7.又是亂七八糟的一些奇怪的知識點C語言中%d,%o,%f,%e,%x等等等等的含義

%d 有符號10進制整數
%i 有符號10進制整數
%o 有符號8進制整數
%u 無符號10進制整數
%x 無符號的16進制數字,並以小寫abcdef表示
%X 無符號的16進制數字,並以大寫ABCDEF表示
%F/%f 浮點數
%E/%e 用科學表示格式的浮點數
%c 單個字符
%s 字符串 (這個需要包裹在"“裏面輸出,挺那啥的。。printf(”%s",“字符串”);)
%% 顯示百分號本身
%e:科學計數法形式輸出(指數的形式輸出)
這個做題用到的可能不多,但選擇判斷啥的可能考一下
1.234500e+004
即是1.2345×10的4次方
e後面的就是次方數

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章