C語言初學者簡單語法小測

若是你已經學完了判斷、循環還未學習數組、指針等相關語法時,下面的試題適合你作階段測試,若是能夠作出其中的7道以上就能夠認爲階段性的學習已經合格了,能夠繼續學習更復雜的語法了。在個人博客中有相應的講解和答案,但願讀者能夠借鑑並提出寶貴的修改意見。

1.信息打印
要求:
(1) 定義3個int型變量存工人工號,定義3個char變量,存工人性別,定義3個float變量,存工人工資。
(2) 要求用戶能夠依次輸入工號(一個5位數),性別(‘M’表明男,‘F’表明女),工資。
(3) 連續輸入3組數據
(4) 輸入結束後,程序輸出相應的信息以下:

編號     工號      性別        工資
1        10000       男        1000.00
2        10001       女        1100.00
3        10002       男        1500.00

2.計算矩形的周長和麪積
要求:
(1) 在提示下,用戶輸入矩形的長和寬。
(2) 輸出矩形的周長和麪積。
(3) 涉及的全部數據均爲double類型

3.計算器
要求:
(1) 在提示下,用戶先輸入運算符號。
(2) 在提示下,用戶分別輸入兩個數(double類型)。
(3) 根據用戶的輸入,計算出相應的結果,並顯示到屏幕上,結果保留3位小數。

4.打印圖形
要求:
(1) 打印如下圖形
*
**
***
****
*****
(2) 打印如下圖形
*******
*****
***
*

5.公式計算
要求:
(1) 根據公式f(n) = 1 + 1/2 + 1/3 + ...... + 1/n。(n > 0)
(2) 用戶指定任意的n,都可以計算出結果。
(3) 用戶若是輸入非法,程序能夠給出提示。

6.請用戶輸入一個數字若是此數字在1-127之間的話,打印此數字ASCII碼對應的字符,若是不在1-127之間的話,打印「輸入數據不在1-127之間,是不可顯示字符!!!」。

7.請實現以下功能:請用戶輸入1-12之間的一個數,表示一年中的12個月,若是用戶輸入的數在2-4的話,打印「春天」,輸入的數在5-7的話,打印「夏天」,輸入的數在8-10的話打印「秋天」,輸入的數是十一、12或1的話,打印「冬天」。(請使用switch語句實現)
 
8.編程打印出100-999間全部的「水仙花數」,所謂「水仙花數」是指一個3位數,其各位數字的立方和等於該數自己。例如:153是一個水仙花,由於153=13+53+33編程

 

 

參考程序:數組

1.信息打印ide

#include <stdio.h>
#include <stdlib.h>學習

int main(void)
{
    int codeA = 0;
    int codeB = 0;
    int codeC = 0;
    char genderA;
    char genderB;
    char genderC;
    float salaryA = 0;
    float salaryB = 0;
    float salaryC = 0;
   
    printf("請輸入工號:");
    scanf("%d", &codeA);
    fflush(stdin);
    printf("請輸入性別:");
    scanf("%c", &genderA);
    printf("請輸入工資:");
    scanf("%f", &salaryA);
   
    printf("請輸入工號:");
    scanf("%d", &codeB);
    fflush(stdin);
    printf("請輸入性別:");
    scanf("%c", &genderB);
    printf("請輸入工資:");
    scanf("%f", &salaryB);
   
    printf("請輸入工號:");
    scanf("%d", &codeC);
    fflush(stdin);
    printf("請輸入性別:");
    scanf("%c", &genderC);
    printf("請輸入工資:");
    scanf("%f", &salaryC);
   
    printf("\n編號    工號     性別     工資\n");
    printf(" 1      %d     %c     %0.2f\n", codeA, genderA, salaryA);
    printf(" 2      %d     %c     %0.2f\n", codeB, genderB, salaryB);
    printf(" 3      %d     %c     %0.2f\n", codeC, genderC, salaryC);
   
    system("pause");
    return 0;
}測試

 

2.計算矩形的周長和麪積

#include <stdio.h>
#include <stdlib.h>指針

int main(void)
{
    double lenth = 0;
    double width = 0;
   
    printf("請輸入矩形的長和寬,用逗號隔開:");
    scanf("%lf,%lf", &lenth, &width);
    printf("矩形的周長爲:%lf\n", 2 * (lenth + width));
    printf("矩形的面積爲:%lf\n", lenth * width);
   
    system("pause");
    return 0;
}code

 

3.計算器
#include <stdio.h>
#include <stdlib.h>input

int main(void)
{
 double num1 = 0;
 double num2 = 0;
 double result = 0;
 char opr;博客

 printf("Please input operator:(+ - * /)");
 scanf("%c", &opr);
 printf("Please input first number:");
 scanf("%lf", &num1);
 printf("Please input secode number:");
 scanf("%lf", &num2);it

 switch(opr)
 {
 case '+': result = num1 + num2; break;
 case '-': result = num1 - num2; break;
 case '*': result = num1 * num2; break;
 case '/': result = num1 / num2; break;
 default: printf("Operator error!\n");
 }

 printf("\n%lf %c %lf = %0.3lf\n\n", num1, opr, num2, result);
 
 system("pause");
 return 0;
}

 

4.打印圖形

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int i = 0;
    int k = 0;
   
    //圖案一
    for(i = 0 ; i < 5 ; i++)
    {
        for(k = 0 ; k <= i ; k++)
        {
            printf("*");
        }
        printf("\n");
    }
   
    //隔開兩個圖案
    printf("\n\n");
   
    //圖案二
    for(i = 0 ; i < 4 ; i++)
    {
        for(k = 0 ; k < 7 - i * 2 ; k++)
        {
            printf("*");
        }
        printf("\n");
    }
   
    system("pause");
    return 0;
}

 

5.公式計算
#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int n = 0;
    int i = 0;
    double result = 0;
   
    printf("請輸入n的值:");
    scanf("%d", &n);
    for(i = 1 ; i <= n ; i++)
    {
        //這裏必須使用1.0不能使用1
        result = result + 1.0 / i;
    }
    printf("結果爲:%lf\n", result);
   
    system("pause");
    return 0;
}

 

6.請用戶輸入一個數字若是此數字在1-127之間的話,打印此數字ASCII碼對應的字符,若是不在1-127之間的話,打印「輸入數據不在1-127之間,是不可顯示字符!!!」。

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int ch = 0;
   
    printf("請輸入一個數:");
    scanf("%d", &ch);
    if(ch > 127 || ch < 1)
    {
        printf("輸入數據不在1-127之間,是不可顯示字符!!!\n");
    }
    else
    {
        printf("%c\n", ch);
    }
   
    system("pause");
    return 0;
}



7.請實現以下功能:請用戶輸入1-12之間的一個數,表示一年中的12個月,若是用戶輸入的數在2-4的話,打印「春天」,輸入的數在5-7的話,打印「夏天」,輸入的數在8-10的話打印「秋天」,輸入的數是十一、12或1的話,打印「冬天」。(請使用switch語句實現)

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
    int month = 0;
   
    printf("請輸入一個月份:");
    scanf("%d", &month);
    switch(month)
    {
    case 2:
    case 3:
    case 4: printf("春天\n"); break;
   
    case 5:
    case 6:
    case 7: printf("夏天\n"); break;
   
    case 8:
    case 9:
    case 10:printf("秋天\n"); break;
   
    case 11:
    case 12:
    case 1: printf("冬天\n"); break;
   
    default: printf("輸入錯誤\n");                 
    }
   
    system("pause");
    return 0;
}


 
8.編程打印出100-999間全部的「水仙花數」,所謂「水仙花數」是指一個3位數,其各位數字的立方和等於該數自己。例如:153是一個水仙花,由於153=13+53+33

#include <stdio.h>
#include <stdlib.h>

int main(void){    int a = 0;   //存儲個位    int b = 0;   //存儲十位    int c = 0;   //存儲百位        for(int i = 100 ; i < 1000  ; i++)    {        a = i % 10;      //得到個位上的數        b = i / 10 % 10; //得到十位上的數        c = i / 100;     //得到百位上的數               if(a * a * a + b * b * b + c * c * c == i)        {            printf("%d是水仙花數\n", i);            }    }       system("pause");    return 0;}

相關文章
相關標籤/搜索