本周學習總結


本周學習總結

       本周是我們開始學習高級語言程序設計的第一周,選用的編程語言是C語言。面對着繁多的知識點朝我飛來,我還是十分頭疼信心滿滿,相信自己學有所成。這門課的實踐性非常強,光看課表卻不刷題是完全不行的。因此,要在做題的過程中,了解、鞏固相關知識。


導航:


輸入與輸出—在屏幕上顯示"Hello World!"

實驗1-1 -輸入輸出格式化控制 Hello World!

本題要求編寫程序,輸出一個短句“Hello World!”。

輸入格式:

本題目沒有輸入。

輸出格式:

在一行中輸出短句“Hello World!”。

示例代碼:

/*我是注釋*/
#include<stdio.h>					    //編譯預處理命令
int main()						    //定義主函數main
{
	printf("Hello World!");			            //調用printf()函數輸出文字
	return 0;					    //返回整數 0,代表程序運行正常
}

看書了解printf( )函數后,強烈的好奇心驅使着我——那輸入函數是什么呢?那就是scanf( )函數,同樣在系統文件 stdio.h 中聲明(書p27)。


簡單數據處理

  1. 常量和變量
    數據有常量和變量之分,不能改變值的是常量,可以改變值的是變量。那么該如何聲明一個變量:
    類型名   變量名
    Ps :  取名字的時候不能包含空格、類型名、標點符號和運算符等。

  2. 基本數據類型
    詳見這里
  3. 算術運算
    運算符 + - * / %
    名稱 模(取余)
    優先級


  4. 賦值運算
    變量  =   表達式;  //計算表達式的值,然后將其賦給“ = ”左側的變量

實驗2-2-7-表達式 整數四則運算

本題要求編寫程序,計算2個正整數的和、差、積、商並輸出。題目保證輸入和輸出全部在整型范圍內

輸入格式:

輸入在一行中給出2個正整數A和B。

輸出格式:

在4行中按照格式“A 運算符 B = 結果”順序輸出和、差、積、商。

輸入樣例:

3 2

輸出樣例:

3 + 2 = 5
3 - 2 = 1
3 * 2 = 6
3 / 2 = 1

示例代碼:

#include<stdio.h>
int main()
{
	int a,b;
	scanf("%d %d",&a,&b);
	printf("%d + %d = %d\n%d - %d = %d\n%d * %d = %d\n%d / %d = %d",a,b,a+b,a,b,a-b,a,b,a*b,a,b,a/b);// '\n' 是換行
	return 0;
}

接下來呢,咱想整個計算器,但又不想像上面那樣把加減乘除全都來一次,只想輸出我想要的,那這該怎么整呢?


分支結構

  1. 關系運算符
    運算符 < <= > >= == !=
    名稱 小於 小於或等於 大於 大於或等於 等於 不等於
  2. if-else 語句
    一般形式為 : if ( 表達式 )
                              語句1;
                         else
                              語句2; 
  3.  switch 語句
    一般形式為:switch ( 表達式 ) {
                                 case 常量表達式1 : 語句段1; break;
                                 .....
                                 case 常量表達式n : 語句段n; break;
                                 default :                  語句段n+1; break;
                          }

                                                                  switch 流程圖

L1-5【例3-5】 求解簡單的四則運算表達式 (10 分)

輸入一個四則運算表達式,輸出運算結果,要求對除數為0的情況作特別處理。題目保證輸入與輸出均在雙精度范圍內。

輸入格式:

輸入在一行中依次輸入操作數1、運算符、操作數2,其間沒有空格,操作數的數據類型為實型。

輸出格式:

在一行中輸出表達式的運算結果,保留兩位小數。

如果除法分母為0,則輸出錯誤信息“Divisor can not be 0!”;如果輸入了除加減乘除以外的非法運算符,則輸出錯誤信息“Unknown operator!”。

輸入樣例1:

3.1+4.8

輸出樣例1:

7.90

輸入樣例2:

98/0

輸出樣例2:

Divisor can not be 0!

輸入樣例1:

123%3

輸出樣例1:

Unknown operator!

示例代碼:

#include<stdio.h>
int main()
{
     double a, b;
     char c;
     scanf("%lf%c%lf", &a, &c, &b);
     switch(c)
     {
          case '+':
               printf("%.2lf", a + b);
               break;
          case '-':
               printf("%.2lf", a - b);
               break;
          case '*':
               printf("%.2lf",a * 1.0 * b);
               break;
          case '/':
               if ( b < 0.0000001 )//浮點數精度問題
               {
                    printf("Divisor can not be 0!");
                    break;
               }
               printf("%.2lf", a * 1.0 / b);
               break;
          default:
               printf("Unknown operator!");
               break;
     }
     return 0;
}

嗯,就是這樣子。


但我還是不滿意。這個計算器只能進行一次運算,如果我想進行多次運算,卻不想連續編譯運行程序該怎么辦?

這之后就交給我的小組成員們解決吧!

@瘋子眼里小丑最美
@echoesyy
@菻
@Stackoverflow#



有什么錯誤歡迎大家指出來,記得催更。 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM