通过刷题进行C语言的复习

本系列文章适用于已经学完了C语言的初学者,我们一起通过刷题进行C语言的复习与巩固,让自己C语言知识更加充实。那么就让我们开始吧。

(1)输出"Hello World!"。

#include<stdio.h>

int main()
{
	printf("Hello world!");
	return 0;
}

很简单,这是所有人C语言的第一课,那么我们来回忆,每一个代码都需要一个main函数,即主函数,而主函数需要引头文件,我们使用#include<stdio.h>进行操作,这是C语言的基础。在C语言中我们通过函数printf进行输出。

(2)

KiKi学会了printf在屏幕输出信息,他想输出一架小飞机。请帮他编写程序输出这架小飞机。

很简单: 

int main()
{
	printf("     **     \n");
	printf("     **     \n");
	printf("************\n");
	printf("************\n");
	printf("    *   *\n");
	printf("    *   *\n");
	return 0;
}

我们通过\n进行换行的操作。

(3)确定不同整型数据类型在内存中占多大(字节),输出不同整型数据类型在内存中占多大(字节)。

int main()
{
	
	printf("The size of short is %d bytes.\n", sizeof(short));
	printf("The size of int is %d bytes.\n", sizeof(int));
	printf("The size of long is %d bytes.\n", sizeof(long));
	printf("The size of long long is %d bytes.\n", sizeof(long long));
	return 0;
}

我们可以通过siaeof()进行大小的计算。那么我们就来回忆一下各种数据类型:

首先是char类型,用于定义字符型数据变量。在内存中占一个字节。一次可以定义一个字符,如char a='a';而我们所熟知的字符串,可以被看做字符数组,例如char arr[]="hello";

接着是整型家族,有短整型,整形,长整型。long long在实际中并不常用 。short在内存中占用两个字节,int占四个字节的大小。而long在不同操作系统中占的大小不相同,32位系统占四个字节,64位系统占八个字节。当我们知道它在内存中 所占空间大小,我们就可以算出他们能定义的变量的范围,我们就用int举例好了:

int 占四个字节,而我们知道一个字节换算过来是八个bit位,那么int就占三十二个比特位,第一位是符号位,那么当后面三十一位都为1时转换为十进制的数就是它的范围,通过计算,我们能算出范围是-2147483648 ~ 2147483647。因为有符号位的存在,所以有政府。

我们可以用unsigned int等定义无符号数。

最后是我们的浮点型家族,float和double。float在内存中占四个字节,double占八个,更加的精确。

(4)我们处理的整数通常用十进制表示,在计算机内存中是以二进制补码形式存储,但通常二进制表示的整数比较长,为了便于在程序设计过程中理解和处理数据,通常采用八进制和十六进制,缩短了二进制补码表示的整数,但保持了二进制数的表达特点。请输出十进制整数1234对应的八进制和十六进制。

int main() {
    int a=1234;
   printf("0%o 0X%X",1234,1234);
    return 0;
}

我们利用%d输出十进制,%o输出八进制,%x输出十六进制,需要注意,我们通常在八进制前面加一个0来表示八进制,加0x表示十六进制。

(5)将一个四位数,反向输出。一行,输入一个整数n(1000 <= n <= 9999)。针对每组输入,反向输出对应四位数。

    int num = 0;
	scanf("%d", &num);
	while (num != 0)
	{
		printf("%d ", num % 10);
		num /= 10;
	}

这道题有很多种解法,我们来看上面这种。首先,我们通过scanf函数进行数据的输入,然后我们用1234举例看如何获得4321:1234首先我们需要4,很简单,我们让1234%10,得到它除以十的余数,就是4,就可以进行输出。我们得到了4,之后4就没有用了,我们通过/10来把4去掉,剩下的就是123,那么这个时候想获得3就和前面获得4一样了,我们发现,这是一系列循环的行为,我们可以先%10进行输出,再/10来去掉这个数,那么我们成功的进行输出后,我们该如何停下循环呢?我们还是用1234举例当我们最后得到1,1%10=1,可以输出最后一个数1,再让1/10=0,我们发现,此时这个数变成0,换成其它数最后的结果也是一样为0,那么当我们结果不为0就进行循环,当最后结果为0,我们就终止循环,这就是num!=0的来历。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值