C語言入門很簡單,因為常用的語法結構就那麼幾個,下面列舉一些這些語法結構的簡單程序例子,可以對C語言進行快速復習。程序包含使用 bool 變量、字符、常量、數學函數、特殊字符、for循環和函數等等。
1. 使用 bool 變量
#include <stdio.h> #include <stdbool.h> int main(void) { float input; bool isTrue=(scanf("%f",&input)==1); while(isTrue){ printf("you typed %.d\n",(int)input); //強制類型轉換 isTrue=(scanf("%f",&input)==1); } return 0; }
2. 字符
#include <stdio.h> #include <stdlib.h> int main() { char beep; //與 int beep; 等效 while(scanf("%c",&beep)==1){ printf("you typed a %c \n", beep); } //scanf 會將回車符一起讀進變量,最後結果不能達到預期!可采用後面一種方法 return 0; }
#include <stdio.h> #include <stdlib.h> int main() { char beep; while(gets(&beep)){ printf("you typed a %c \n", beep); } return 0; }
3. 常量
#include <stdio.h> #include <stdlib.h> #include <limits.h> #include <float.h> #define PI 3.1416 #define TEXT "hello world" #define HTML 'H' int main() { //常量定義 以及C預處理器 系統預定義常量 const int china =345; printf("%d ,%d ,%d ,%d\n", INT_MAX, china, FLT_MAX_10_EXP, CHAR_MIN); }
4. 數學函數
#include <stdio.h> #include <math.h> #define PI 3.1415926 void main(void) { //i 為第幾行,畫余弦曲線 int i, j, blankNUm; float cosValue; for(i=0;i<21;i++){ cosValue =1-i/10.0; blankNUm =(int)(180/5/PI*acos(cosValue)); for(j=0;j<blankNUm;j++) printf(""); printf("*"); for(j=0;j<(73-2-2*blankNUm);j++) printf(""); i!=20?printf("*\n"):printf(""); } return 0; }
#include <stdio.h> int main(void) { //計算 e ,前50項,其實根前10項結果一樣,只是為了演示,用double可以滿足精度要求 int i; double factorial=1.0, e=0; for(i=1;i<=50;i++){ factorial*=i; e+=1.0/factorial; } printf("%f \n",e); return 0; }
5. 特殊字符
#include <stdio.h> #include <stdlib.h> int main() { float salary; printf("\aplease enter you salary by month:"); // \a響齡,貌似 printf(" $______\b\b\b\b\b\b"); // \b退格 if(scanf("%f",&salary)==1){ printf("\t$%.2f per manth is $%.2f per year", salary, salary*12.0); printf("\rgEE!wa h\n"); // \r使光標移到當前行的起始位置,這裡很微妙噢 } return 0; } /* please enter you salary by month: $23.4__ */ /* gEE!wa h$23.40 per manth is $280.80 per year */
6. for循環
#include <stdio.h> #include <stdlib.h> int main(void) { int k; for(k=1,printf("%d:hi \n",k);printf("k =%d \n",k),k*k<26; k+=2,printf("now k =%d\n",k)) { printf("k is %d in the loop \n",k); } return 0; } #include <stdio.h> #include <stdlib.h> int main(void) { int i; int word[8]; for(i=0;i<8;i++){ word[i] =pow(2,i); } i =0; do{ printf("%d ",word[i]); }while(++i<8); return 0; } #include <stdio.h> #include <stdlib.h> int main(void) { int i; double arr1[8],arr2[8]; for(i=0;i<8;i++){ scanf("%lf",&arr1[i]); } arr2[0] =arr1[0]; for(i=1;i<8;i++){ arr2[i] =arr2[i-1] +arr1[i]; } for(i=0;i<8;i++){ printf("%.2f\t",arr1[i]); } printf("\n"); for(i=0;i<8;i++){ printf("%.2f\t",arr2[i]); } return 0; } #include <stdio.h> #include <stdlib.h> int main(void) { int i,max; while(scanf("%d",&max)==1){ double sum1=0,sum2=0; for(i=1;i<=max;i++){ sum1+=1.00/i; i%2==0 ?(sum2-=1.0/i):(sum2+=1.0/i); } printf("sum1= %lf sum2= %lf\n",sum1,sum2); } return 0; }
7. 函數
#include <stdio.h> #include <stdlib.h> int square(int s); void echo(void); int main() { int i; for(i=0;i<10;i++) { printf("squire %d's value is%d\n",i,square(i)); } printf("what\nNo/nBonzo?\n"); echo(); return 0; } int square(int s){ return s*s; } void echo(void){ printf("a function without input"); } /* another */ #include <stdio.h> #include <stdlib.h> void one_three(void); void two(void); int main() { printf("start now:\n"); one_three(); printf("done!"); return 0; } void one_three(void){ printf("one\n"); two(); printf("three\n"); } void two(void){ printf("two\n"); }