![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言初学者
Colossus++
这个作者很懒,什么都没留下…
展开
-
[C语言编程练习][20]初始化顺序表(顺序表中元素为整型),里边的元素是1,2,3,然后通过scanf读取一个元素(假如插入的是6),插入到第2个位置,打印输出顺序表
Description初始化顺序表(顺序表中元素为整型),里边的元素是1,2,3,然后通过scanf读取一个元素(假如插入的是6),插入到第2个位置,打印输出顺序表,每个元素占3个空格,格式为1 6 2 3,然后scanf读取一个整型数,是删除的位置(假如输入为1),然后输出顺序表 6 2 3,假如输入的位置不合法,输出false字符串。提醒,Language一定要选为C++。Input第一次输入插入的元素值,第二次输入删除的位置Output假如插入的元素为6,那么输出为1...原创 2022-03-17 10:45:48 · 2384 阅读 · 2 评论 -
[C语言编程练习][19]使用C++的引用,注意提交时把代码选为C++;
Description使用C++的引用,注意提交时把代码选为C++;在主函数定义字符指针 char *p,然后在子函数内malloc申请空间,通过fgets读取字符串,然后在主函数中进行输出;要求子函数使用C++的引用,注意在C++中从标准输入读取字符串,需要使用fgets(p,100,stdin)Input输入一个字符串,例如 I love C languageOutput如果输入的是I love C language,那么输出也是I love C language#defi原创 2022-03-16 21:27:34 · 2080 阅读 · 0 评论 -
[C语言编程练习][18]输入一个学生的学号,姓名,性别,用结构体存储,通过scanf读取后,然后再通过printf打印输出.
Input学号,姓名,性别,例如输入 101 xiongda mOutput输出和输入的内容一致,如果输入的是101 xiongda m,那么输出也是101 xiongda m#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>//输入一个学生的学号,姓名,性别,用结构体存储,通过scanf读取后,然后再通过printf打印输出struct student { int num; char name[20]; char原创 2022-03-16 21:01:14 · 8953 阅读 · 1 评论 -
[C语言编程练习][17]假如有n个台阶,一次只能上1个台阶或2个台阶,请问走到第n个台阶有几种走法?
假如有n个台阶,一次只能上1个台阶或2个台阶,请问走到第n个台阶有几种走法?为便于读者理解题意,这里举例说明如下:假如有3个台阶,那么总计就有3种走法:第一种为每次上1个台阶,上3次;第二种为先上2个台阶,再上1个台阶;第三种为先上1个台阶,再上2个台阶。输入为n,输出为走到第n个台阶有几种走法。如果输入是3,走到第3个台阶的走法总计有3种,1,1,1 和 1,2 和2,1,输出为3#include<stdio.h>int fun(int n){ if (1==n) //.原创 2022-01-27 15:06:06 · 5002 阅读 · 2 评论 -
[C语言编程练习][16]输入一个整型数,然后申请对应大小空间内存,然后读取一个字符串,字符串的输入长度小于最初输入的整型数大小,最后输出输入的字符串即可(无需考虑输入的字符串过长,超过了内存大小);
输入一个整型数,然后申请对应大小空间内存,然后读取一个字符串,字符串的输入长度小于最初输入的整型数大小,最后输出输入的字符串即可(无需考虑输入的字符串过长,超过了内存大小);#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>#include<stdlib.h>#include<string.h>/*输入一个整型数,然后申请对应大小空间内存,然后读取一个字符串,字符串的输入长度小于最初输入的整型数大小原创 2022-01-23 23:23:58 · 1902 阅读 · 0 评论 -
[C语言编程练习][15]输入一个整型数,存入变量i,通过子函数change把主函数的变量i除2,然后打印i,例如如果输入的为10,打印出5,如果输入的为7,打印出3
输入一个整型数,存入变量i,通过子函数change把主函数的变量i除2,然后打印i,例如如果输入的为10,打印出5,如果输入的为7,打印出3首先要想到指针的应用场景之一------偏移。C语言函数调用都是值传递,因此要用指针把主函数变量i的地址传递给子函数change。#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>//输入一个整型数,存入变量i,通过子函数change把主函数的变量i除2,然后打印i//例如如果输入的为原创 2022-01-20 14:34:57 · 1466 阅读 · 0 评论 -
[C语言编程练习][14]编写一个程序,使用嵌套循环,按下面格式打印字母。A
编写一个程序,使用嵌套循环,按下面格式打印字母。ABCDEFGHIJKLMNOPQRSTU/*使用嵌套循环,打印下面的字母*/#include <stdio.h>int main(void){ char ch = 'A'; int i, j; for (i = 0; i < 6; i++) { for (j = 0; j < i + 1; j++) printf("%c", ch++); printf("\n"); } retu原创 2021-11-03 16:30:24 · 740 阅读 · 0 评论 -
[C语言编程练习][13]编写一个程序,使用嵌套循环,按下面的格式打印字母。F
FFEFEDFEDCFEDCBFEDCBA/*]编写一个程序,使用嵌套循环,按下面的格式打印字母。*/#include <stdio.h>int main(void){ char f = 'F'; char start; char end; for (end = f; end >= 'A'; end--) { for (start = f; start >= end; start--) printf("%c", start); pr原创 2021-11-03 16:22:23 · 690 阅读 · 0 评论 -
[C语言编程练习][12]编写一个程序,使用嵌套循环,按下面的格式打印字符。
编写一个程序,使用嵌套循环,按下面的格式打印字符。$$$$$$$$$$$$$$$/*使用嵌套循环,按下面的格式打印字符*/#include<stdio.h>int main(void){ int i, j; for (i = 0; i < 5; i++) { for (j = 0; j < i + 1; j++) printf("$"); printf("\n"); } return 0;}...原创 2021-11-03 16:12:13 · 745 阅读 · 0 评论 -
[C语言编程练习][11]编写一个程序,创建一个包含26个元素的数组,并在其中储存26个小写字母。然后打印数组的所有内容。
编写一个程序,创建一个包含26个元素的数组,并在其中储存26个小写字母。然后打印数组的所有内容。/*编写一个程序,创建一个包含26个元素的数组,并在其中储存26个小写字母。然后打印数组的所有内容。*/#include<stdio.h>int main(void){ char arr[26]; int i; for (i = 0; i < 26; i++) { arr[i] = 'a' + i; printf(" %c ", arr[i]); printf原创 2021-11-03 16:01:48 · 1572 阅读 · 0 评论 -
[C语言编程练习][10]编写一个程序打印下面图案,要求使用嵌套循环
$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$/*嵌套循环*/#include<stdio.h>int main(void){ int row, col; for (row = 1; row <= 4; row++) { for (col = 1; col <= 8; col++) printf("$"); printf("\n"); } return 0;}原创 2021-11-03 15:53:05 · 888 阅读 · 0 评论 -
[记录学习][C基础020]while循环---利用scanf()的返回值来结束循环
根据用户从键盘上输入的整数进行求和。(利用scanf()的返回值来结束循环)/*根据用户键入的整数求和*/#include<stdio.h>int main(void){ long num; long sum = 0L; //把sum初始化为0 int status; printf("Please enter an integer to be summed (q to quit): "); status = scanf("%ld", &num); while原创 2021-11-03 15:46:40 · 589 阅读 · 0 评论 -
[记录学习][C基础019]放麦子
国王对发明国际象棋的大臣很佩服,问他要什么报酬,大臣说:请在第1个棋盘格放1粒麦子,在第2个棋盘格放2粒麦子,在第3个棋盘格放4粒麦子,在第4个棋盘格放8粒麦子,......后一格的数字是前一格的两倍,直到放完所有棋盘格(国际象棋共有64格)。国王以为他只是想要一袋麦子而已,哈哈大笑。当时的条件下无法准确计算,但估算结果令人吃惊:即使全世界都铺满麦子也不够用!请你借助计算机准确地计算,到底需要多少粒麦子。int main(void){ const double CROP = 2E16; //原创 2021-10-30 16:35:26 · 762 阅读 · 0 评论 -
[记录学习][C基础018]C没有专门求平方的函数
C语言没有专门用来求平方的函数,对于变量x,其平方可以表示为x*x,即直接使用两个数 (或变量)相乘即可。另外,C语言中,math.h文件中含有乘方 (包括开方)的库函数pow (x,y)。如果要打印一个1~10的平方表,可以使用while循环。/*计算1~10的平方*/#include<stdio.h>int main(void){ int num = 1; while (num < 11) { printf("%4d %4d\n",num,num*num原创 2021-10-30 16:13:19 · 449 阅读 · 0 评论 -
[C语言编程练习][09]编写一个程序,提示用户输入名和姓,并执行以下操作
编写一个程序,提示用户输入名和姓,并执行以下操作:a.打印名和姓,包括双引号;b.在宽度为20的字段右端打印名和姓,包括双引号;c.在宽度为20的字段左端打印名和姓,包括双引号;d.在比姓名宽度宽3的字段中打印名和姓。...原创 2021-11-03 15:47:16 · 1660 阅读 · 0 评论 -
[C语言编程练习][08]编写一个程序,提示用户输入名和姓,然后以“名,姓”的格式打印出来。
编写一个程序,提示用户输入名和姓,然后以“名,姓”的格式打印出来。#include<stdio.h>int main(void){ char f_name[40]; char l_name[40]; printf("Enter your first name: "); scanf("%s", f_name); printf("Enter your last name: "); scanf("%s", l_name); printf("%s, %s\n", l_name原创 2021-10-30 15:24:39 · 5233 阅读 · 0 评论 -
[记录学习][C基础017] scanf()函数
scanf()函数可以读取不同格式的数据。从键盘上输入的都是文本,因为键盘上只能生成文本字符:字母、数字和标点符号。如果要输入整数2021,就要键入字符2、0、2、1.如果要将其存储为数值,而不是字符串,程序就必须把字符依次转化为数值,这就是scanf()要做的。scanf()把输入的字符串转换成整数、浮点数、字符或者字符串,而printf()正好和它相反。scanf()和printf()类似,也使用格式字符串和参数列表。scanf()中的格式字符串表明字符输入流的目标数据类型。两个函数主要原创 2021-10-30 13:48:23 · 131 阅读 · 0 评论 -
[记录学习][C基础016]常量(constant)
C预处理器定义符号常量。格式:#define NAME value请注意格式,首先是 #define ,接着是符号常量名,然后是符号常量的值末尾不用添加 ; 因为这是一种由预处理器处理的替换机制。另外,还有一个命名约定,即在名称前带c_或者_k前缀来表示符号常量。(如:c_level)。符号常量的命名规则与变量相同。可以使用大小写字母、数字、下划线,首字符不能以数字开头。#include <stdio.h>#define PI 3.14159int mai原创 2021-10-28 20:48:33 · 212 阅读 · 0 评论 -
[记录学习][C基础015]strlen()函数
strlen() 函数给出字符串当中的字符长度。sizeof() 函数则是以字节为单位给出对象的存储大小。首先,添加头文件<string.h>来提供strlen()函数的原型。#include <string.h>有一个数组name用来存储字符串,假设有一个name叫作 colossus char name[40] = "colocuss" ; printf("%s\n", name); printf("%zd", strlen(name));...原创 2021-10-28 19:37:05 · 263 阅读 · 0 评论 -
[记录学习][C基础014]字符串与字符串数组
字符串(character string)是一个或多个字符的序列。C语言没有专门用来储存字符串的变量类型,字符串都被储存在char类型的数组中。数组由连续的存储单元组成,字符串中的字符被储存在相邻的存储单元中,每个单元储存一个字符。数组末尾的字符是 \0 ,它叫做空字符(null character),用它标识字符串的结束。它不会被打印出来,仅仅用来表示这个字符串结束了。因此!数组的容量必须!至少比待储存字符串的长度多1!(\0 要占一个存储单元)可以把数组看作是一段连续多个的存储单元,是同原创 2021-10-28 19:05:51 · 132 阅读 · 0 评论 -
[C语言编程练习][07]编写一个程序, 提示用户输入杯数, 并以品脱、 盎司、 汤勺、 茶勺为单位显示等价容量。
在美国的体积测量系统中,1品脱等于2杯,1杯等于8盎司,1盎司等于2大汤勺,1大汤勺等于3茶勺。编写一个程序,提示用户输入杯数,并以品脱、盎司、汤勺、茶勺为单位显示等价容量。思考对于该程序,为何使用浮点类型比整数类型更合适?/*在美国的体积测量系统中,1品脱等于2杯,1杯等于8盎司,1盎司等于2大汤勺,1大汤勺等于3茶勺。编写一个程序,提示用户输入杯数,并以品脱、盎司、汤勺、茶勺为单位显示等价容量。思考对于该程序,为何使用浮点类型比整数类型更合适?*/#include <stdio原创 2021-10-27 16:11:00 · 574 阅读 · 1 评论 -
[C语言编程练习][06]输入身高(英寸),以厘米为单位输出。
1英寸相当于2.54厘米。编写一个程序,提示用户输入身高(英寸),然后以厘米为单位显示身高/*1英寸相当于2.54厘米。编写一个程序,提示用户输入身高(英寸),然后以厘米为单位显示身高*/#include <stdio.h>int main(void){ int inch; printf("输入你的(整数)身高(英寸): "); scanf("%d", &inch); printf("%.2f", inch * 2.54); return 0;}原创 2021-10-27 15:28:21 · 3585 阅读 · 0 评论 -
[C语言编程练习][05]输入水的夸脱数,显示水的分子数量
题目:1个水分子的质量约为3.0×10−23 克。1夸脱水大约是950克。编写一个程序,提示用户输入水的夸脱数,并显示水分子的数量。#include<stdio.h>#define molecule 3.0e-23 //1个水分子#define quart 950 //1夸脱水int main(void){ float number; printf("输入水的夸脱数: "); scanf("%f", &number); printf("%f 夸脱水共有 %e 个水.原创 2021-10-27 15:05:03 · 1226 阅读 · 0 评论 -
[C语言编程练习][04]输入年龄,显示该年龄对应的秒数
题目:一年大约有3.156×107 秒。编写一个程序,提示用户输入年龄,然后显示该年龄对应的秒数。/*一年大约有3.156×107 秒。编写一个程序,提示用户输入年龄,然后显示该年龄对应的秒数。*/#include <stdio.h>#define second 3.156e7int main(void){ int age; printf("请输入你的年龄(数字):"); scanf("%d",&age); printf("%d 岁是 %e 秒",age,age*原创 2021-10-27 14:40:32 · 2403 阅读 · 0 评论 -
[C语言编程练习][03]打印浮点数的各种形式
题目:编写一个程序,读取一个浮点数,先打印成小数点形式,再打印成指数形式。然后,如果系统支持,再打印成p记数法( 即十六进制记数法)。按以下格式输出( 实际显示的指数位数因系统而异):Enter a floating-point value: 64.25fixed-point notation: 64.250000exponential notation: 6.425000e+01p notation: 0x1.01p+6/*...原创 2021-10-27 14:04:25 · 3293 阅读 · 0 评论 -
[C语言编程练习][02]发出一声警报,然后打印下列文本
题目:编写一个程序,要求:发出一声警报,然后打印下列文本Startled by the sudden sound , Sally shouted ,"By the Great Pumkin,what was that!"分析题目:发出一声警报,需要用到 \a ,而下面要输出 “ ” 用 \" \" 转义引号 使其成为普通的字符。代码:/*编写一个程序,要求:发出一声警报,然后打印下列文本*//* Startled by the sudden...原创 2021-10-27 13:38:13 · 2274 阅读 · 0 评论 -
[C语言编程练习][01]输入ASCII码值,输出对应的字符
题目:编写一个程序,要求提示输入一个ASCII码值,然后打印输入的字符。#include <stdio.h>int main(void){ int ascii; printf("请输入一个ASCII码值:"); scanf("%d",&ascii); printf("ASCII码值为 %d 对应的字符是 %c",ascii,ascii); return 0;}...原创 2021-10-27 13:18:41 · 18207 阅读 · 0 评论 -
解决Visual Studio中使用scanf()出现的问题 _CRT_SECURE_NO_WARNINGS
我们在使用Visual Studio编写C程序的时候,直接使用scanf()会报错。Severity Code Description Project File Line Suppression State Error C4996 ‘strcpy’: This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. S原创 2021-10-26 21:12:03 · 1220 阅读 · 0 评论 -
[记录学习][C基础013]sizeof()查看数据类型的大小
想知道我们所用数据类型占用的字节大小,可以用sizeof(),这是C语言内置的,以字节为单位给出指定数据类型的大小。C99和C11提供 %zd 转换说明匹配sizeof的返回类型(即 size_t 类型)。若编译器不支持C99和C11,可用 %u(或者%lu)。有符号整型:/*用sizeof给出指定类型的大小*/#include <stdio.h>int main(void){ //有符号整型 printf("int 类型占用 %zd 个Byte。\n",size原创 2021-10-26 20:13:43 · 1027 阅读 · 0 评论 -
[记录学习][C基础012]C语言的基本数据类型
基本数据类型关键字:C语言的基本数据类型由11个关键字组成:int、long、short、unsigned、char、float、double、signed、_Bool、_Complex和_Imaginary。C语言还有一些从基本类型衍生出的其他类型,包括数组、指针、结构体和联合。在scanf()函数中用到的前缀&,便创建了一个指针,告诉scanf()把数据放在哪里。有符号整型:有符号整型可用于表示正整数和负整数。int——系统给定的基本数据类型。C语言规定int类型原创 2021-10-26 19:40:04 · 220 阅读 · 0 评论 -
[记录学习][C基础011]C语言的三种浮点类型
C语言中的浮点类型有float、double、long double。浮点类型能表示包括小数在内更大范围的数。printf()函数用%f 转换说明打印十进制计数法的float和double类型浮点数,用 %e 打印指数计数法(科学计数法在计算机中的表现形式)的浮点数。如果系统支持十六进制格式的浮点数,可用a和A分别替换e和E。打印long double类型用%Lf、%Le或%La转换说明。给那些未在函数原型中显式说明参数类型的函数(如printf())传递参数的时候,C编译器会把flo.原创 2021-10-24 17:52:29 · 1446 阅读 · 0 评论 -
[记录学习][C基础010]打印字符对应的代码编号
printf()函数用%c来指明待打印的字符。一个字符变量实际上被储存为1字节的整数值。因此,如果用%d转换说明打印char类型变量的值,打印的是一个整数。而%c转化说明打印的是该整数值对应的字符。/*显示字符的代码编号*/#define _CRT_SECURE_NO_WARNINGS#include <stdio.h>int main(void){ char ch; printf("请输入一个字符,然后按下enter\n"); scanf("%c", &ch);//原创 2021-10-24 17:27:41 · 161 阅读 · 0 评论 -
[记录学习][C基础009]整数溢出
如果整数超出了对应类型的取值范围会怎么样?int类型[-2147483648,2147483647]/*整数溢出*/#include <stdio.h>int main(void){ int i = 2147483647;//int 类型[-2147483648,2147483647] unsigned int j = 4294967295;//无符号int类型 [0,4294967295] printf("%d %d %d\n", i, i+1, i+2); printf原创 2021-10-24 15:01:01 · 106 阅读 · 0 评论 -
[记录学习][C基础008]显示八进制和十进制
八进制和十六进制计数系统在表达与计算机相关的值时很方便。(C语言默认整数类型int常量是十进制的数)例如:十进制数35536经常出现在16位机中,用十六进制表示正好是10000。另外,十六进制数的每一位的数恰好由4位二进制数表示。例如:十六进制的5是0101。因此,十六进制数35的位组合是0011101,十六进制数53的位组合是01010011.这种对应关系使得十六进制和二进制的转换非常方便。计算机是如何分清10000是十进制、十六进制还是二进制的呢?在C语言中,用特定的前缀表示使用的是哪种进制。原创 2021-10-24 14:28:35 · 681 阅读 · 0 评论 -
[记录学习][C基础007]命名规则
可以用小写字母、大写字母、数字和下划线_来命名。注意:首个字符必须是字母或者下划线,不能是数字开头。有效的命名:abcabc123Ab_cAb_C123_Ab123_123ab错误的命名:123AbcA bc@Abc123‘’Abc123操作系统和C库经常使用以一个或者两个下划线开始的标识符,因此最好避免使用_开头来命名。C语言区分大小写,即把每一个字母的大写和小写视为两个不同的字符。...原创 2021-10-06 16:37:11 · 155 阅读 · 0 评论 -
[记录学习][C基础006] 声明
int num;这行代码叫作声明declaration。声明时C语言最重要的特性之一,在这行代码中,声明一共完成了两件事。一件是声明了在函数中有一个叫作num的变量variable。另一件是表明num的数据类型是int整型。编译器使用这些信息为num变量在内存中分配存储空间。int属于C语言中的一个关键字keyword。关键字是程序语言定义的,不能将int作为函数名或变量名。 而num是一个标识符identifier,标识符是一个变量、函数的名字。因此,声明把...原创 2021-10-06 16:26:28 · 81 阅读 · 0 评论 -
[记录学习][C基础005]函数体{}
所有的C函数都是用{ }来标记函数体的开始和结束。{ }还可以把函数中的多条语句合并为一个单元或块。原创 2021-10-06 16:12:41 · 89 阅读 · 0 评论 -
[记录学习][C基础004]注释
/* 注释 *//* 注释 注释 *//* 注释 */使用注释可以让你在以后回看自己的代码时,更直观易懂,也方便别人看懂你写的程序。C99新增了一种风格的注释,普遍用于C++和Java。仅限单行。//注释int num;//声明一个叫做num的变量...原创 2021-10-06 16:10:06 · 68 阅读 · 0 评论 -
[记录学习][C基础003]main()函数
int main(void){}一般情况下,C程序是从main()函数开始执行。其他函数可以任意命名(但要符合命名规则)。main()中()的作用是来识别main这个东西是一个函数,而不是变量。函数是C程序的基本模块。int 是main()函数的返回值类型。说明main()返回值的类型是整数。返回到哪里?返回到操作系统。 函数名后面的()通常包含一些传入函数的信息,void就是没有传递任何信息,空。int main(void)是标准形式,有main()这样的,也有v...原创 2021-10-06 16:00:38 · 82 阅读 · 0 评论 -
[记录学习][C基础002]#include指令和头文件
#include<stdio.h>#include<stdio.h>的作用相当于把stdio.h文件中的内容都输入到该行。这其实是一种“copy-paste”的操作。#include提供了一种方便的途径来共享信息。 #include是一条C预处理器指令preprocessor directive。 C编译器在编译之前会先进行一些准备工作,称为预处理preprocessing。stdio.h文件称为 标准输入/输出头文件,该...原创 2021-10-06 15:50:22 · 125 阅读 · 0 评论