大一c语言期末复习题

第一题:

答案:

#include<stdio.h>
int main()
{
	int a = 0;
	printf("请输入一个表示星期的数字:\n");
	scanf("%d",&a);
	if (0 <= a <= 6)
	{
		switch (a)
		{
			case 0: printf("Sunday\n");  break;
			case 1: printf("Monday\n");  break;
			case 2: printf("Tuesday\n"); break;
			case 3: printf("Wednesday\n"); break;
			case 4: printf("Thursday\n"); break;
			case 5: printf("Friday\n"); break;
			case 6: printf("Saturday\n"); break;
		}
	}
	return 0;
}

知识点:switch语句的运用

一:switch的()里控制表达式必须是整数类型

二:必须是case 1(case与1之间必须有空格),而不能是case1 !但:之前的空格可以省略,即可以case 1:也可以case 1   :

三:case 1:这样用来表示程序跳转的标识叫做标签,标签的值必须为常量不可为变量,也不允许多个标签同为一个值

四:如果case语句后面没有接break,则会继续下一条标签的内容,不会直接跳出switch语句,如果case语句中都没有符合的,则会进入default后面的语句

第二题:

答案:

#include<stdio.h>
int main()
{
	int a = 0, b = 0, c = 0;     //按照题目要求边长数据类型为整值型
	scanf("%d%d%d", &a, &b, &c);
	if (a + b > c && a + c > b && b + c > a)    //如果构成三角形
	{
		if (a == b && b == c)    //为等边三角形
		{
			printf("3\n");
		}
		else if (a == b || a == c || b == c)   //为等腰三角形
		{
			printf("2\n");
		}
		else    //为一般三角形
		{
			printf("1\n");
		}
	}
	else    //不构成三角形
	{
		printf("0\n");
	}
	return 0;
}

知识点:if语句的嵌套

第三题:

答案:

#include<stdio.h>
int main()
{
	double x = 0, y = 0;   //因为题目没有说明,所以按照尽可能覆盖更多情况的原则,定义double类型(即定义为实数而并非整数)
	scanf("%lf", &x);
	if (x > 2 && x <= 10)       //第一种情况
	{
		y = x * (x + 2);
		printf("%lf\n", y);
	}
	else if (x > -1 && x <= 2)   //第二种情况
	{
		y = 2 * x;
		printf("%lf\n", y);
	}
	else if (x <= -1)       //第三种情况
	{
		y = x - 1;
		printf("%lf\n", y);
	}
	return 0;
}

知识点:分支语句if和else if

第四题:

答案:

#include<stdio.h>
int main()
{
	int month = 0;
	scanf("%d", &month);
	if (month >= 1 && month <= 12)    //输入正确的范围
	{
		switch (month)
		{
		case 1: printf("January\n"); break;
		case 2: printf("February\n"); break;
		case 3: printf("March\n"); break;
		case 4: printf("April\n"); break;
		case 5: printf("May\n"); break;
		case 6: printf("June\n"); break;
		case 7: printf("July\n"); break;
		case 8: printf("August\n"); break;
		case 9: printf("September\n"); break;
		case 10: printf("October\n"); break;
		case 11: printf("November\n"); break;
		case 12: printf("December\n"); break;
		}
	}
	return 0;
}

知识点:switch语句,同第一题

第五题:

答案一:

#include <stdio.h>  
#include <ctype.h>   //isalpha,issapce,isdigit三种内置函数的头文件
int main() 
{
    char c;
    int letter = 0, space = 0, digit = 0, other = 0;     //四种类型的计数器

    printf("请输入一行字符:\n");

    while ((c = getchar()) != '\n')    //当遇见回车符时停止循环
    {
        if (isalpha(c))    //判断是否是字母
        {
            letter++;
        }
        else if (isspace(c))    //判断是否是空格
        {
            space++;
        }
        else if (isdigit(c))    //判断是否是数字
        {
            digit++;
        }
        else   //如果不是上面三种类型,则是其他字符类型
        {
            other++;
        }
    }
    printf("英文字母个数:%d\n", letter);
    printf("空格个数:%d\n", space);
    printf("数字个数:%d\n", digit);
    printf("其他字符个数:%d\n", other);
    return 0;
}

知识点:getchar的运用

http://t.csdnimg.cmn/bv9Dq

关于getchar知识点的介绍可以点击链接看这一位博主的博客,写的真的很好,非常通俗易懂,本人自愧不如,写不出这样好的文章,就直接引用链接了,自己就不再多说了(就像李白看见崔颢的黄鹤楼诗一样,都得自叹不如一样hhh)

c语言的内置函数

isalpha:判断是否为字母(包括大小写),如果是字母,则返回Ture,否则返回False

issapce:判断是否为空白字符(空格,换行符,制表符等),如果是空白字符,则返回Ture,否则返回False

isdigit:判断是否为数字,如果是数字,则返回Ture,否则返回False

注:函数声明

int isalpha(int c)

里面的参数c是整型,但是不要以为字符这些就用不了这个函数哦!因为字符就是整数类型(字符对应的ASCII码值就是整数)!

答案二:

#include <stdio.h>  
int main()
{
    char c;
    int letter = 0, space = 0, digit = 0, other = 0;     //四种类型的计数器

    printf("请输入一行字符:\n");

    while ((c = getchar()) != '\n')    //当遇见回车符时停止循环
    {
        if ((c>='A'&& c<='Z')||(c>='a'&& c<='z'))    //判断是否是字母
        {
            letter++;
        }
        else if (c==' ')    //判断是否是空格
        {
            space++;
        }
        else if (c>='0'&&c<='9')    //判断是否是数字
        {
            digit++;
        }
        else   //如果不是上面三种类型,则是其他字符类型
        {
            other++;
        }
    }
    printf("英文字母个数:%d\n", letter);
    printf("空格个数:%d\n", space);
    printf("数字个数:%d\n", digit);
    printf("其他字符个数:%d\n", other);
    return 0;
}

不知道答案一的内置函数也没有关系,用简单的ASCII码值直接判断也完全可以!

相关推荐

  1. c++期末复习题

    2023-12-28 08:36:02       27 阅读
  2. C语言程序设计期末例题复习

    2023-12-28 08:36:02       46 阅读
  3. 计算机网络期末复习题

    2023-12-28 08:36:02       45 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2023-12-28 08:36:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2023-12-28 08:36:02       100 阅读
  3. 在Django里面运行非项目文件

    2023-12-28 08:36:02       82 阅读
  4. Python语言-面向对象

    2023-12-28 08:36:02       91 阅读

热门阅读

  1. Swift学习笔记第二节:数组类型

    2023-12-28 08:36:02       53 阅读
  2. Redis学习笔记-发布订阅PubSub

    2023-12-28 08:36:02       59 阅读
  3. 如何记录游戏开发过程中的日志

    2023-12-28 08:36:02       51 阅读
  4. APP打包如何生成

    2023-12-28 08:36:02       61 阅读
  5. Python地理数据机器学习数学

    2023-12-28 08:36:02       64 阅读