C语言之 ——入门必刷题 (1)

目录

本文章为C语言入门必刷题,每道题都包含了C语言的基础知识点,值得我们去经常复习,并牢记在心的一些题目!!

此次为入门必刷题1


C语言之 ——入门必刷题 (1)_第1张图片                                                                                                                                     超佳出品

 

 

前言

大佬就可以撤退了!!

本次为C语言入门刷题!重在扎实基础,温习学过的基础知识!!!

夯实基础,走得更远!!


 

一、%md是什么?

C语言之 ——入门必刷题 (1)_第2张图片


二、%0xd是什么?

C语言之 ——入门必刷题 (1)_第3张图片


 三 、强制转化数据类型!

C语言之 ——入门必刷题 (1)_第4张图片

(数据类型) 变量名。针对求一个数的个位数,那么他的小数部分就可有可无了,所以我们利用强制转换,将其转换为整型,模10后,易得出其个位数。

范围大的类型在一定情况下式可以转换为小类型的:大类型的数值在小类型的范围内,但是最好不要使用大转小,容易内存泄漏,从而出错。


四、字符的接收和判断!

C语言之 ——入门必刷题 (1)_第5张图片

#include
int main()
{
	char n = 0;
	
    while((n=getchar())!=EOF)  //针对oj在线判题的多组输入时,我们使用 
                               //while((n=getchar())!=EOF) 或者 while(scanf("%d",&m)!=EOF) 
    {                          //来进行多组输入!
    

	if ((n>='a' && n<='z')|| (n >= 'A' && n <= 'Z')) //输入字符n,来判断是否在A-Z,a-z这两个 
                                                     //范围之内,在的话,就是字母,否则不是!
	{
		printf("%c is an alphabet.\n",n);
		getchar();   //重点

	}
	else
	{
		printf("%c is not an alphabet.\n",n);
		getchar();
	}

    }
	return 0;
}

         getchar(),用来接收字符,但是当我们输入一个字符,并按下回车键的时候,其实这是,回车也作为一个字符输入了进去。

         所以,此时前面的scanf()在读取输入时会在缓冲区中留下一个字符'\n'(输入完第一个字符的值后按回车键所致),所以如果不在此加一个
getchar()把这个回车符取走的话,getchar()就不会等待从键盘键入字符,而是会直接取走这个“无用的”回车符,从而导致读取有误  !

EOF:   在while循环中以EOF作为文件结束标志,这种以EOF作为文件结束标志的文件C语言之 ——入门必刷题 (1)_第6张图片  这下~~是不是恍然大悟了!!



  

 

五、' % '和' / ' 的用法!!

C语言之 ——入门必刷题 (1)_第7张图片

C语言之 ——入门必刷题 (1)_第8张图片 思路:假设此时为一个四位数的数字,它需要拆分为 146 和1,14 和 61,1 和 461.

                      那我们就不得不将其中的数单独拿出来进行配对,而后再计算是否满足条件。

                      所以这就用到了' / '除   和  ' % '模 ,这两个运算符。 

一个数除10,100,1000,得到的是他的商

一个数模10,100,1000,得到的是他的余数

102/10得到1和0;98/10得到9;98%10得到8;123/100得到1;123%100得到23.........

所以我们逐渐摸清楚了   /  和  %的作用!

接下来,上代码!C语言之 ——入门必刷题 (1)_第9张图片

#include
int main()
{
    int i = 0;
    int j = 0;
    int a1 = 0;
    
    for (i = 10000; i <= 99999; i++)   //题目规定所有五位数字
    {
         int sum = 0;
        for ( j = 10; j <= 10000; j *= 10)
        {
            int a1 = (i / j) * (i % j);     // 举例12345,先除10,拿出前四位;再模10,拿出第 
                                            //五位,相乘的结果 1234 和 5,以此类推......
            sum += a1;
        }
        if (sum == i)                   //如果五位数的所有的拆分情况数,之和等于原本这个五位 
                                        //数,那么它就是水仙花数
       
            printf("%d ", i);
        
    }

    return 0;
}

 

总结

相信大家看完以后,也看懂了!

           那么这期的C语言入门刷题基础知识点就到这里啦!!

           是不是觉得不够,内容太少?

那么就期待下期我们再见吧!!记得三连哦,别到时候找不到俺!

 

你可能感兴趣的:(c语言)