大一c语言期末复习题

发布时间:2023年12月27日

第一题:

答案:

#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码值直接判断也完全可以!

文章来源:https://blog.csdn.net/2301_80369371/article/details/135255676
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。