1語句概述
1.1普通表達式語句:表達式後加分號就是一個表達式語句,語句與表達式不同,是無值的,而表達式是有值的。
1.2流程控制語句:流程控制語句主要用來控制程序執行走向,以實現程序的各種結構方式,它有特定的關鍵字等,主要分為分支和循環兩種。
分支流程控制語句:if、switch。
循環流程控制語句:for、while、do while。
1.3跳轉語句:跳轉語句的作用主要是讓程序從正常執行的走向中跳轉到其它部分,常見跳轉語句如下
間斷語句:break、continue。
轉向語句:goto。
Return語句:return。
1.4復合語句:由一些語句組成,放在一個大括號中形成一個整體,句型如下:
{
語句1;
語句2;
......
語句n;
}
C語言語法規定,復合語句作為一條語句來處理。
例子代碼:
#include "stdio.h"
main(){
int a=11,b=21,c=31;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
{ int b=22; /*復合語句開始*/
float c=3.3;
printf("a=%d\tb=%d\tc=%f\n",a,b,c);
a=b;
} /*復合語句結束*/
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
}
輸出結果如下:
a=11 b=21 c=31
a=11 b=22 c=3.300000
a=22 b=21 c=31
上面的代碼可以和下面的代碼對比運行:
#include "stdio.h"
main(){
int a=11,b=21,c=31;
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
{ int a=1;
int b=22; /*復合語句開始*/
float c=3.3;
printf("a=%d\tb=%d\tc=%f\n",a,b,c);
a=b;
} /*復合語句結束*/
printf("a=%d\tb=%d\tc=%d\n",a,b,c);
}
程序運行結果:
a=11 b=21 c=31
a=1 b=22 c=3.300000
a=11 b=21 c=31
可以看到,在復合語句中聲明的變量只在復合語句中起作用。
1.5空語句:空語句一般指只有一個分號占位,一般用在程序設計初期,表示待編寫的函數或代碼。
1.6各種語句整體介紹:
#include "stdio.h"
main(){
int a=10,b=20,c; /* 聲明語句*/
if(b>a) /*控制語句 */
{; /* 復合語句 */
c=a+b; ; /* 表達式語句 */
printf("%d",c); /*函數調用語句 */
}
else
; /* 空語句*/
}
2庫函數的調用與輸入輸出的關系
2.1標准的庫函數是存放在函數庫中的,因此使用時必須要告知計算機,說明函數庫屬於哪個庫,此過程為函數的聲明,例如:
#include "math.h" /*標准數學函數的聲明*/
Main(){
...
y=sin(x); /*庫函數的調用*/
...
}
Include是C語言中的特定字,是包含的意思,包含的文件一般為.h,稱頭文件。
2.2在C語言中提供了一些輸入輸出的標准庫函數,例如printf和scanf,使用時必須將函數庫的頭文件stdio.h包含進程序中。
3格式化輸出
3.1printf函數:它的作用是向終端輸出數據。
函數格式:printf("格式控制語句",輸出項1,輸出項2,......);
例如:printf("%f",j); 輸出浮點類型的變量j,%f為控制符。
常見的格式控制符:
%d--十進制整型,%o---八進制無符號整型,%f輸出實數,%s--字符串,%c--輸出單個字符等。
4字符輸出
4.1字符輸出可以利用putchar函數,在stdio.h中已經定義。
例子代碼:
#include "stdio.h"
main(){
char a,b,c;
a='C';
b='A';
c='T';
putchar(a);
putchar(b);
putchar(c);
putchar('\n');
putchar('\101');
putchar('B');
putchar('c');
}
注:該函數不能輸出兩個或兩個以上的字符數據。
5格式化輸入
5.1scanf函數:作用是從鍵盤獲取數據,格式化後再賦值給變量。
調用形式:scanf(格式控制語句,輸入項);
6字符輸入
6.1getch()和getche()函數:功能都是讀入一個字符。
兩者的區別是:getch()函數不將讀入的字符回顯到屏幕上,getche()卻顯示。
例子代碼:
#include<stdio.h>
main()
{
char c,ch;
c=getch(); /*從鍵盤上讀入一個字符不回顯送給字符變量c*/
ch=getche(); /*從鍵盤上帶回顯的讀入一個字符送給字符變量ch*/
putchar(c); /*輸出該字符*/
putchar(ch);
}
6.2getchar()函數:作用是從終端輸入一個字符。getchar函數將空格符、制表符、和換行符都作為有效字符錄入。
例子代碼:
#include "stdio.h"
main()
{ char c1,c2;
c1=getchar();
c2=getchar();
putchar(c1);
putchar(c2);
}
7順序程序設計
例一:計算一元二次方程的根。
代碼:
#include "math.h"
main()
{
double a,b,c; /*聲明系數*/
double x1,x2,p;
printf("pleaseinputa,b,c:");
scanf("%lf%lf%lf",&a,&b,&c); /*輸入系數*/
printf("\n");
p=b*b-4*a*c; /*p存放判別式的值*/
x1=(-b+sqrt(p))/(2*a); /*計算方程的根*/
x2=(-b-sqrt(p))/(2*a);
printf("x1=%f,x2=%f\n",x1,x2); /*輸出結果*/
}
例二:兩位整數倒序。
代碼:
#include <stdio.h>
main()
{
int m,n;
printf("inputm(10-99):");
scanf("%d",&m);
printf("\n");
n=m%10;
m=n*10+m/10;
printf("m=%d\n",m);
}