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;}

相关文章
相关标签/搜索