C语言入门,有手就行老铁 常见题目训练题目讲解最后一篇

Posted Ps_Q

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言入门,有手就行老铁 常见题目训练题目讲解最后一篇相关的知识,希望对你有一定的参考价值。

来继续做题,一般考试都会出现的几个题目

来看看,我之前遇到的一道题,判断输入的字符是什么样子的字符,这里就涉及到了一个编码格式,在计算机中,所有的内容都是通过二进制来存储的,进制是什么意思呢,比如一个星期是七天,算一周,这就表示是7进制来计算的,而时间钟表,是60进制,为什么这么说呢,每60秒就会往前进1,成为一分钟。比如10进制的64,用二进制表示就是0100 0000,大家可以打开电脑自带的计算机看看。

#include<stdio.h>
int main()
	char c,ch; 
	do
		printf("请输入一个字符:");
		c = getchar();
		if(c == ch)break;
		ch = c;	
		if (c < 32)
			printf("控制字符\\n");
		else if (c >= 48 && c <= 57)
			printf("数字字符\\n");
		else if (c >= 65 && c <= 90)
			printf("大写字母\\n");
		else if (c >= 97 && c <= 122)
			printf("小写字母\\n");
		else
			printf("其他字符\\n");
	
	while(1);

通过ASCII美国信息交换标准代码的10进制范围还判断字符的类型,该题主要技术在于掌握ASCII码的范围,详情的话可以百度,if的逻辑应该不算复杂,应该是都可以看懂
getchar()函数的意思是从键盘读取一个字符,一次只能单个。
我们可以从if的表达式中看到,有些是带有 && 这可以理解成英语 and 的意思 通常会称为 “与”运算,表示需要同时满足条件,才能够结果为真(true);
而还有一个逻辑运算符, ||这个可以理解成英语中 or 的意思,通常C语言会称为 “或” 运算 表示只需满足一个条件就可以为真(true).

下面代码展示关于计算闰年的题目方式

#include<stdio.h>
main()

	int year;
	printf("请输入年份:");
	scanf("%d", &year);
	if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
		printf("%d是闰年\\n",year);
	else
		printf("%d不是闰年\\n",year);
	return 0;

/*运行结果
请输入年份:2020
2020是闰年

请输入年份:2021
2021不是闰年
*/


关于闰年的满足条件,参考百度百科,能除以4不能除以100,或者能除以400,其实整体逻辑也并不复杂。

关于计算素数,质数。这个题是我只要做一次C语言相关的卷子或者考试都会遇见的,最常见的解决方法如下。其实有三种,思路其实一样,下面这种是最常见的。

#include <stdio.h>
#include <math.h>
void main()
    int m;  // 输入的整数 
    int i;  // 循环次数
    int k;  // m 的平方根 

    printf("输入一个整数:");
    scanf("%d",&m);
	// 求平方根的作用,其实是表示计算出是不是素数只需要循环到那个数的平方根以下就算是算完了,这样是极大	  的提高程序的效率
    // 求平方根,注意sqrt()的参数为 double 类型,这里要强制转换m的类型 
    k=(int)sqrt( (double)m );
    for(i=2;i<=k;i++)
        if(m%i==0)
            break;

    // 如果完成所有循环,那么m为素数
    // 注意最后一次循环,会执行i++,此时 i=k+1,所以有i>k 
    if(i>k)
        printf("%d是素数。\\n",m);
    else
        printf("%d不是素数。\\n",m);


这里我们除了使用头文件 #include <stdio.h> 还用了#include <math.h>其实这个是数学运算。
就可以计算算数平方根 sqrt(x)就可以得到x的算术平方根。就是根号。

其总体思路就是 输入一个数 比如是81
先计算 81的平方根为9
用81去除以9以下的所有数字,从2开始,分别是9÷2,9÷3(已经除尽)结束,如果是素数一直到最后。

当然还有另外两种,一种是直接不求平方根,一直for循环到x的前一个数。或者for循环到x/2的前一个数,其实很浪费资源,就不展示了。

目前关于C语言常见题目的讲解就只到这里了,后期可能会加,有需要的可以跟我私信,我会再来修改博客,下一篇就直接开始数组的内容了,然后肯定还有运算符和变量格式让你们一头雾水,后续肯定也会出相关的博客还介绍,完结撒花!

以上是关于C语言入门,有手就行老铁 常见题目训练题目讲解最后一篇的主要内容,如果未能解决你的问题,请参考以下文章

C语言入门,有手就行老铁 常见题目训练题目讲解最后一篇

C语言入门,有手就行老铁 常见题目训练

C语言入门,有手就行老铁 常见题目训练

C语言入门,有手就行老铁 常见题目训练

C语言入门,有手就行老铁 常见题目训练

C语言入门,有手就行老铁 循环选择训练