基本語法?
基本語法介紹預處理命令把小寫字母轉換成大寫字母chara,b;a='x';b='y';a=a-32;b=b-32;printf("%c,%c\n%d,%d\n",a,b,a,b);復合賦值語句有利于編譯處理,能提高編譯效率并產生質量較高的目標代碼C語言中的空語句:
while(getchar!='\n');//這里包含了空循環體scanf與printf:scanf輸入數據可以指定數據字段的寬度,但不能規定數據的精度,而printf則可以printf(“%3,2f”,a);//這里的3.2表示按實數形式輸出,輸出寬度為3,如果輸出的數不足3,位,則按實際寬度輸出,四舍五入保留兩位小數預處理命令宏定義(1)不帶參數的宏定義#definePI3.1415926//不用加分號(2)帶參數的宏定義#defineMAN(a,b)((a)>(b)?(a):(b))在語句塊內定義的變量稱之為局部變量,又稱為內部變量,僅在定義它的語句塊內有效,并且擁有自己獨立的存儲空間。
全局變量:在函數之外定義的變量成為全局變量。如果在同一個源文件中,全局變量和局部變量同名,則在局部變量的作用范圍內,全局變量不起作用,即被“屏蔽”。說明:
(1)一個函數中既可以使用本函數的局部變量,又可以使用有效的全局變量。
(2)利用全局變量可以增加函數聯系的渠道,從而得到一個以上的返回值(3)全局變量一般第一個字母用大寫表示(4)建議在一般情況下不要使用全局變量,因為全局變量一直占用存儲空間,降低ile函數的通用性和程序的清晰性,容易出錯。變量的存儲類型:
(1)自動型變量autointi=1;auto關鍵字只能用于定義局部變量,為默認的類型(2)寄存器型變量register(3)靜態型變量static該變量只有在所在的函數內有效,退出該函數時該變量的值仍然保留,下次進入后仍然可以使用。退出程序時值才消失。
(4)外部型變量externC程序在編譯時當遇到extern,先在本文件中找外部變量的定義,如果找到,就在本文件中擴展作用域,如果找不到就在連接時從其他的文件中找到外部變量的定義如果找到,就將作用域擴展到本文件,否則按出錯處理。在高級語言的學習中一方面應數量掌握該語言的語法,因為它是算法實現的基礎,另一方面必須認識到算法的重要性,加強思維訓練,以便寫出高質量的程序。getchar()getch()getche()函數和putchar()putch()函數putchar(c)putch(c)把單個字符c輸出到標準設備上getchar()getche()getch()函數用于從終端輸入數據getchar()按enter鍵之后才接受數據,只接收第一個數據getch()和getche()在輸入一個字符后立刻被函數接受,不用按enter鍵。
getch()不回顯輸入的數據getche()顯示輸入的數據指針與數組一維數組二維數組字符數組二維字符串指針與一維數組一維數組:不允許對數組的長度進行動態定義數組必須先定義后使用數組的定義:inti[10]intb[]={1,2,3,0,0,0}等價于intb[6]={1,2,3}字符數組:字符數組是由若干個有效字符構成且以字符‘\0’作為結束標志的一個字符序列。字符數組的定義:chara[10];字符數組的初始化:對字符數的各個元素分別進行初始化chara[3]={'a','b'};/*余下的自動補‘\0’,這時字符數組就變成了字符串*/用字符串常量來給字符數組進行初始化chara[13]="helloworld!" 字符數組的輸入輸出:charc[6](1)用格式符“%c”逐個輸入輸出字符:scanf("%c",&c[1]);printf("%c",c[1]);(2)用格式符“%s”整個輸入輸出字符串:scanf("%s",c);printf("%s",c);字符數組與字符串的區別:字符數組用來存放和處理字符數組且不加結束標識符就“\0”時,則在程序中只能逐個引用字符數組中的各個字符,而不能一次引用整個字符數組。而字符串則可以對其引用整個數組。其操作的方式一個是數組元素,一個是數組名。字符串處理函數:(1)輸入字符串函數char*gets(char*str);//stdio.h在使用gets()輸入字符串時,可以包括空格在內的字符,在回車時,自動驕傲字符串結束標志‘\0’賦予字符數組的最后一個元素。(2)輸出字符串函數intputs(char*str);//stdio.h在使用puts()輸出字符串時,將字符串結束標志‘\0’轉換成‘\n’輸出。(3)字符串復制函數char*strcpy(char*strl,char*str2);//string.h不能使用‘=’賦值語句對字符數組整體賦值,只能使用strcpy()處理。(4)字符串比較函數intstrcmp(char*str1,char*str2);//string.h字符串比較不能使用if(str1==str2)的形式,只能使用strcmp();(5)字符串長度測量函數unsignedintstrlen(char*str);不包括字符串結束字符‘\0’(6)找字符或字符串位置函數查找字符的位置:char*strchr(char*str,charch);查找字符串的位置:char*strstr(char*str1,charstr2);指針可以簡單的認為“指針”就是地址,地址就是指針。一個變量的地址只能使用&符號獲得。指針變量:在C語言中指針被用來標識號內存單元的地址,如果把這個地址用一個變量來保存,則這中噢噢那個變量就成為指指針變量。如指針變量pi只想變量i,那么pi就表示變量i的地址,*pi就表示變量i的值,pi=&i。i=3與*pi=3等價指針變量的使用:先定義,后使用。定義的一般形式:數據類型*指針變量名;指針變量與普通變量建立聯系的方法(為指針賦值):指針變量名=&普通變量名;說明:(1)由于數組名就是該數組的首地址,所以指針變量與數組建立聯系時,只需將數組名賦予指針變量即可。(2)當指針變量沒有賦值時,可以賦空指針NULL或0,不能間接引用沒有初始化或值為NULL的指針。(3)&取地址運算符,*取只想的值的運算符。指針變量的引用方式:(1)*指針變量名:表示所指變量的值。(2)指針變量名:表示所指變量的地址使用指針作為函數的參數:#include