文章目录

 

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在屏幕输出信息,他想输出一架小飞机。请帮他编写程序输出这架小飞机。

输入描述:

输出描述:

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

代码如下:

#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 11 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语言编程入门训练(一)_C语言_02

C语言编程入门训练(一)_C语言入门_03
关机程序关闭!


未完待续…



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