C语言编程入门训练(一)

C语言编程入门训练(一)

  该专题为编程入门级别,适合大一大二同学使用,题目涉及编程基础语法,基本结构等。


练习一:实践出真知

题目描述

  于老师经常告诉我们“学习编程最好的办法就是上机实践,因为你要对计算机下指令,想让计算机帮你干活,就得多和计算机‘交流’,实践才能出真知。”

输入描述:

输出描述:

Practice makes perfect!

代码如下:

#include <stdio.h>
int main()
{
    printf("Practice makes perfect!");
    return 0;
    
}

练习二:我是大v

题目描述:

  每个人都想成为大V (VIP:Very Important Person),但要一点一点积累才行,先从小v做起。要求输出由小写字母v组成的大V。

输入描述:

输出描述:

 v   v
  v v
   v

备注:

换行使用转义字符‘\n’

代码如下:

#include <stdio.h>
int main()
{
    printf("v   v\n");
    printf(" v v\n");
    printf("  v\n");
    return 0;
}

练习三:有容乃大

题目描述

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

输入描述:

输出描述:

  不同整型数据类型在内存中占多大(字节),具体格式详见输出样例,输出样例中的?为不同整型数据类型在内存中占的字节数。

输出样例如下:

The size of short is ? bytes.
The size of int is ? bytes.
The size of long is ? bytes.
The size of long long is ? bytes.

#include <stdio.h>
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;
}

练习四:小飞机

题目描述

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

输入描述:

输出描述:

在这里插入图片描述

代码如下:

#include <stdio.h>

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

练习五:缩短二进制

题目描述

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

输入描述:

输出描述:

  十进制整数1234对应的八进制和十六进制(字母大写),用空格分开,并且要求,在八进制前显示前导0,在十六进制数前显示前导0X。

备注:

  printf可以使用使用格式控制串“%o”、“%X”分别输出八进制整数和十六进制整数,并使用修饰符“#”控制前导显示

代码如下:

#include <stdio.h>

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

注意:是%X,大写的X,这样才能打印出16进制下的大写字母。这一点要严格按照要求来!!


练习六:十六进制转十进制

题目描述

  BoBo写了一个十六进制整数ABCDEF,他问KiKi对应的十进制整数是多少。

输入描述:

输出描述:

十六进制整数ABCDEF对应的十进制整数,所占域宽为15。

备注:

printf可以使用使用格式控制串“%md”输出域宽为m的十进制整数。

代码如下:

#include <stdio.h>

int main()
{
    printf("%15d",0xABCDEF);
    return 0;
}

注意:ABCDEF表示16进制的数字,前面要加上0x


练习七:printf的返回值

题目描述

  KiKi写了一个输出“Hello world!”的程序,BoBo老师告诉他printf函数有返回值,你能帮他写个程序输出printf(“Hello world!”)的返回值吗?

输入描述:

输出描述:

包括两行:
第一行为“Hello world!”
第二行为printf(“Hello world!”)调用后的返回值。

代码如下:

#include <stdio.h>
int main()
{
	int ret = printf("Hello world!");
    printf("\n");
	printf("%d\n",ret);
    return 0;
}

注意:不要把换行的\n放在ret的printf中

int ret =printf("Hello world!\n")

这样计算printf的返回值是错误的。


练习八:成绩输入输出

题目描述

输入3科成绩,然后把三科成绩输出,成绩为整数形式。

输入描述:

一行,3科成绩,用空格分隔,范围(0~100)。

输出描述:

一行,把3科成绩显示出来,输出格式详见输出样例。

示例1

输入

60 80 90

输出

score1=60,score2=80,score3=90

代码如下:

#include <stdio.h>

int main()
{
    int CHN=60;
    int MATH=80;
    int ENG=90;
    scanf("%d %d %d",&CHN,&MATH,&ENG);
    printf("score1=%d,score2=%d,score3=%d",CHN,MATH,ENG);
    return 0;
}

练习九:学生基本信息输入输出

题目描述

  依次输入一个学生的学号,以及3科(C语言,数学,英语)成绩,在屏幕上输出该学生的学号,3科成绩。

输入描述:

  学号以及3科成绩,学号和成绩之间用英文分号隔开,成绩之间用英文逗号隔开。

输出描述:

学号,3科成绩,输出格式详见输出样例。

示例1

输入

17140216;80.845,90.55,100.00

输出

The each subject score of No. 17140216 is 80.85, 90.55, 100.00.、

代码如下:

#include <stdio.h>

int main()
{
    int num;
    float C;
    float Math;
    float Eng;
    scanf("%d;%f,%f,%f",&num,&C,&Math,&Eng);
    printf("The each subject score of  No. %d is %.2f, %.2f, %.2f.",num,C,Math,Eng);
    return 0;
}

练习十:字符金字塔

题目描述

输入一个字符,用它构造一个三角形金字塔。

输入描述:

输入只有一行,一个字符。

输出描述:

该字符构成的三角形金字塔。

示例1

输入

1

输出

    1
   1 1
  1 1 1
 1 1 1 1
1 1 1 1 1

代码如下:

#include <stdio.h>

int main()
{
	char c;
	scanf("%c", &c);
	int i = 0;
	//每行
	for (i = 0; i < 5; i++)
	{
		//打印每行的内容
		int j = 0;
		for (j = 0; j < 4 - i; j++)
		{
		//打印每行的空格
			printf(" ");
			
		}
		//打印每行的*_
		for (j = 0; j <= i; j++)
		{
			printf("%c ", c);
		}
		printf("\n");
	
	}
	

注意:输入的类型是字符类型,不要写成int 类型


特别练习:关机小程序

设计一个关机小程序

#include <string.h>
#include <windows.h>
#include <stdio.h>

int main()
{
	char c[20] = { 0 };
	system("shutdown -s -t 60");
again:printf("请注意你的电脑将在1分钟后关机,如果输入:我是猪,就取消关机\n请输入:>");
	scanf("%s", &c);
	if (strcmp(c, "我是猪") == 0)
	{
		system("shutdown -a");
	}
	else
	{
		goto again;
	}
	return 0;
}

效果展示:

执行代码后
在这里插入图片描述

在这里插入图片描述
关机程序关闭!


未完待续…



C语言编程入门训练(二)已更新

  • 5
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

RAIN 7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值