起航,C語言基礎內容整理
一、概念及基本格式
程序:為了解決某一個問題,而編寫的一系列有序指令的集合。
算法:解決問題的具體方法和步驟。
流程圖是算法的一種圖形化的表達方式。流程圖可以直觀、清晰,更有利於人們設計與理解算法。
C語言的基本結構
#include <stdio.h>
void main()
{
printf("Hello World\n");
}
C語言中的註釋:
//單行註釋
/*
多行註釋
*/
#include <stdio.h>
void main()
{
printf("hello world");
}
示例:
#include<stdio.h>
void main()
{
/*
printf("**************************************\n");
printf(" 成績表 \n");
printf("**************************************\n");
printf("姓名 語文 數學 英語 體育\n");
printf("張一 10 10 10 10 \n");
printf("李二 11 11 11 11 \n");
printf("王三 11 11 11 11 \n");
printf("趙四 11 11 11 11 \n");
*/
printf("**************************************\n");
printf("\t \t成績表\n");
printf("**************************************\n");
printf("姓名\t語文\t數學\t英語\t體育\n");
printf("張一\t10\t10\t10\t10\n");
printf("李二\t11\t11\t11\t11\n");
printf("王三\t11\t11\t11\t11\n");
printf("趙四\t11\t11\t11\t11\n");
}
二、變量和數據類型
聲明變量:
數據類型 變量名=值 ;
例如:int num = 5
也可以一次聲明多個變量(中間用 , 隔開):
int num = 5, i = 3;
變量的使用需要滿足:先聲明,後賦值,再使用。
int a;
a=10;
int a=10;
先聲明,後賦值
標示符的命名規範:見名知意
1、有字母、數字和下劃線組成,不能有其他特殊字符,不能以數字開頭。
2、不能使用預留關鍵字。
3、嚴格區分大小寫。Boy 和 boy 是兩個變量。
4、建議采用駝峰命名法:首單詞小寫,其他單詞的首字母大寫(employeeName)。
數據類型:數值、非數值(char);
數值:整型、浮點型;
整型:短整型(short)、整型(int)、長整型(long);
浮點型:單精度浮點型(float)、雙精度浮點型(double).
printf()、scanf():輸出和輸入,獲取和輸出與用戶交互的信息。
常用的占位符:%d(int)、%f(float)、%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);
示例2:
打印購物小票
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
示例:對輸入的兩個數值進行交換
//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);
示例:根據用戶輸入的數值,計算梯形的面積
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語言基礎內容整理