2.1 簡單的C程序示例
#include <stdio.h> #include <stdlib.h> int main(void) { int num; num=1; printf("I am a simple"); printf("computer.\n"); printf("MY favorite number is %d because it is first.\n",num); getchar(); return 0; }
2.2 解釋示例
典型的c程序
2.3 簡單的程序結構
程序由一個或多個函數組成,必須有main函數。
函數由函數頭和函數體組成。
函數頭包括函數名,傳入該函數的信息類型和函數返回類型。
函數體被花括號括起來,由一系列語句、聲明組成。
2.8 關鍵字和保留標志符
關鍵字:一種基本的c語言數據類型。
標志符:一個變量、函數或其他實體的名稱。保留標志符表示那些以下划線字符開頭的標志符及標准庫函數名,例printf
一、數據類型關鍵字(12個):
(1) char :聲明字符型變量或函數
(2) double :聲明雙精度變量或函數
(3) enum :聲明枚舉類型
(4) float:聲明浮點型變量或函數
(5) int: 聲明整型變量或函數
(6) long :聲明長整型變量或函數
(7) short :聲明短整型變量或函數
(8) signed:聲明有符號類型變量或函數
(9) struct:聲明結構體變量或函數
(10) union:聲明共用體(聯合)數據類型
(11) unsigned:聲明無符號類型變量或函數
(12) void :聲明函數無返回值或無參數,聲明無類型指針(基本上就這三個作用)
二、控制語句關鍵字(12個):
A循環語句
(1)for:一種循環語句(可意會不可言傳)
(2) do :循環語句的循環體
(3) while :循環語句的循環條件
(4) break:跳出當前循環
(5) continue:結束當前循環,開始下一輪循環
B條件語句
(1) if: 條件語句
(2) else :條件語句否定分支(與 if 連用)
(3) goto:無條件跳轉語句
C開關語句
(1) switch :用於開關語句
(2) case:開關語句分支
(3) default:開關語句中的“其他”分支
D返回語句
return :子程序返回語句(可以帶參數,也看不帶參數)
三、存儲類型關鍵字(4個)
(1) auto :聲明自動變量 一般不使用
(2) extern:聲明變量是在其他文件正聲明(也可以看做是引用變量)
(3) register:聲明積存器變量
(4) static :聲明靜態變量
四、其它關鍵字(4個):
(1) const :聲明只讀變量
(2) sizeof:計算數據類型長度
(3) typedef:用以給數據類型取別名(當然還有其他作用)
(4) volatile:說明變量在程序執行中可被隱含地改變
ISO C99標准新增
(1) _Bool:布爾類型,用來表示真或假,零表示假,非零表示真。所有非零的數賦值給布爾型變量,最終的值還是1。
(2) _Complex, _Imaginary:復數類型和虛數類型,C99提供了三種復數類型和虛數類型:float _Complex,double _Complex,long double _Complex和float _Imaginary,double _Imaginary,以及 long double _Imaginary。復數類型包括一個實部和一個虛部,虛數類型沒有實部,只有虛部。
(3) _Imaginary
(4) restrict:用來限定指針,表明指針是訪問一個數據對象的唯一且初始化對象。作用是告訴編譯器除了該指針,其他任何指針都不能對所指向的數據進行存取,以便編譯器優化代碼。
(5) inline:內聯函數,是為了解決C 預處理器宏存在的問題所提出一種解決方案,用來提高函數使用效率。內聯函數使用inline關鍵字定義,並且函數體和申明必須結合在一起, 否則編譯器將他作為普通函數對待。
2.11 復習題
1.c語言的基本模塊?
函數
2.什么是語法錯誤?
違反了組成語句或程序的規則。
3.什么是語義錯誤?
含義錯誤
4.以下程序的問題?
寫下修改后的程序
#include <stdio.h> int main(void) { int s; s=52; printf("There are %d weeks in a year.\n",s); return 0; }
5.以下4個例子,他們能輸出什么結果
6.在main、int、function、char、=中,那些為關鍵字?
int、char。
7.如何以下面的格式輸出words和lines?
printf("There are were %d word and %d lines ",works,lines)
2.12 編程練習
1.主要對於pritf()的使用,以及轉義字符\n的使用。
#include <stdio.h> int main(void) { printf("su wen\n"); printf("su\nwen\n"); printf("su"); printf("wen\n"); }
2.打印姓名和地址,如上類似。
3.編寫一個程序把年齡轉化為天數,並顯示這倆個值。
程序目標:將年齡轉化為天數
設計程序:
輸入年齡數據,將年齡轉化為天數,程序輸出天數。
用戶界面:提示用戶輸入年齡,然后打印出對應的結果。
程序核心:將年齡轉化為天數。
數據類型:應使用整數來存儲數據。
#include <stdio.h> int main(void) //將年齡轉化為天數, { int age=0; int day=0; printf("請輸入您的年齡\n"); scanf("%d",&age); day=age*365; printf("your age is %d,the number of day for age is %d",age,day); return 0; }
4.生成以下輸出?
#include <stdio.h> void jolly(void); void deny(void); int main(void) { jolly(); jolly(); jolly(); deny(); return 0; } void jolly(void) { printf("you are handsome,Thrice to emphasize\n"); } void deny(void) { printf("I know\n"); }