![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
C语言学习
记录自己学习C语言的点点滴滴。
生信猿人
一直努力跳坑的生物狗
展开
-
C语言入门学习记录(7)之scanf函数
这是一个很有意思的函数a.scanf函数的作用是什么该函数的主要作用就是将用户输入的内容读入,并保存在内存的某个变量中。scanf函数会忠实地录入用户输入的信息,哪怕是空格。函数的主要形式:int i,j;float x,y;scanf("%d%d%f%f",&i,&j,&x,&y)注意事项有:在scanf函数中,其转换说明是可以紧密挨着的;要注意转换说明与输入变量的数量和类型要一致;在scanf函数中,输入变量前要有&符号;b.scanf函原创 2020-12-16 22:19:15 · 385 阅读 · 0 评论 -
C语言入门学习记录(6)之printf函数
a.printf函数的作用print()函数的主要作用是用来显示格式串(format string)的内容,并在该串的指定位置插入可能的值。其显示的值可以是常量、变量或更复杂的表达式。printf函数一次可以打印的值的个数没有限制。b.格式串是啥printf("I am %d years old.\n",5);在上面这个语句的双引号内部的内容就是格式串,格式串的输出即为经过格式化的内容。格式串包括普通字符和转换说明(conversion specification),转换说明以%开头,其主要原创 2020-12-16 20:20:27 · 335 阅读 · 0 评论 -
C语言入门之写代码的一点点tips
#include <stdio.h>int main(){ int x; int n = 1; scanf("%d", &x); if (x>999) { n = 4; }else if (x>99) { n = 3; }else if (x>9) { n = 2; } printf("%d", n);}该段代码解决的问题是,原创 2020-12-10 10:29:50 · 133 阅读 · 0 评论 -
C语言学习之关系和逻辑的区别浅谈
我们在利用编程语言解决问题时,首先要思考问题如何解决,最重要的就是思考如何将一个问题分成多个小问题,然后各个击破。各个小问题之间的关系也是我们所要考虑的,这关系到如何将小问题的解决和最终问题的解决结合。但是我们最终要将我们所想的解决办法,落实到程序的运行上,即如何使用代码来描述解决方案。这就关系到代码的逻辑问题。观察下面两个栗子????栗子1#include <stdio.h>int main(){ int x; int n = 1; scanf("%d",原创 2020-12-10 10:07:54 · 431 阅读 · 0 评论 -
C语言学习之判断三个数的最大值
这里限定为正整数代码如下:#include <stdio.h>int main(){ int a, b,c; printf("请输入三个正整数:"); scanf("%d %d %d", &a, &b,&c); int max = 0; if (a>b) { if (a>c) { max=a; }else {原创 2020-12-09 22:12:07 · 3194 阅读 · 0 评论 -
C语言入门学习记录(5)之if语句初探
if语句在C语言中就是进行条件判断的语句。if语句的语法如下:if (/* condition */){ /* code */}下面以实例对if语句进行简要讲解:#include <stdio.h>int main(){ int price = 0; int bill = 0; printf("应付金额为:"); scanf("%d", &price); printf("您的票面为:"); scanf("%d",原创 2020-12-09 21:47:30 · 163 阅读 · 0 评论 -
写出程序的输出结果
int i,j,k;i=5; j=10; k=1;printf("%d", k>i<j);逐行解读程序int i,j,k;表示一次性定义三个变量,但是没有同时将其初始化。C99 中允许在变量第一次出现的时候不进行初始化,但是在变量第一次进行运算之前一定要将其初始化。i=5; j=10; k=1;此行表示将三个变量进行初始化赋值。值得注意的是,在C看来,这实际上是三行,因为;分号表示一行的结束。printf("%d", k>i<j);这一行就是一个输出语句。其将三个变量进原创 2020-12-09 20:33:29 · 3890 阅读 · 3 评论 -
if ( 1<=n<=10 );是否能通过编译
语句if ( 1<=n<=10 );是可以通过编译的,但是没有什么意义。首先看括号内部的表达式1<=n<=10。连接三个字符的是关系运算符,优先级相同,那么就遵循从左到右的运算顺序。1<=n的结果是0或1,肯定是小于10的。那么表达式1<=n<=10的结果就是1。但是if(1);的意义是什么?是谁被赋值为1,或者说哪个条件的判断为真?这些都不知道。而且,在C中表示一个变量即大于一个数,又小于一个数,应该写成以下形式1 <=n & n <=原创 2020-12-09 20:20:31 · 5515 阅读 · 1 评论 -
C语言之三位数的逆序数
题目: 输入一个三位数,如123,输出结果为其逆序数,321。但是不允许出现这种情况,即输入值为120,输出值为021,正确的输出值应为21首先来思考一个问题,十进制的数字是如何表示的,这里就以三位数,123,为例。实际上,每个数位上的数字分别表示了有几个100,几个10以及几个1。那么123/100=1,即123整除100就会得到此三位数中有几个100,而整除得到的数字就是此三位数的百位数,在这里为1。如果将此三位数整除10,则得到此数有几个10,在这里为12;而后进行如此运算:12%10=2,则原创 2020-12-08 22:44:08 · 20060 阅读 · 3 评论 -
C语言入门学习记录(4)之比较运算
在C语言中,比较运算又叫做关系运算。首先看这么一个表:运算符意义==相等!=不等于>大于>=大于等于<小于<=小于等于这种比较运算符的优先级比记录(3)中提到的赋值运算符高,但是比其他运算符的优先级低。此外,==和!=的优先级又比其他比较运算符低。...原创 2020-12-07 22:46:04 · 606 阅读 · 0 评论 -
C语言之交换两个变量的值
有以下两个变量:int a = 10;int b = 20;现在要将这两个变量的值进行交换,即使得a=20, b=10。代码如下:#include <stdio.h>int main(){ int a = 10; int b = 20; int c; c = a; a = b; b = c; printf("两个数交换后的数值为:a=%d,b=%d", a, b); return 0;}输出结果:两个数交换后原创 2020-12-07 22:20:24 · 2320 阅读 · 1 评论 -
C语言学习入门记录(3)之特殊运算符
1. 常见的运算符以下为简要总结的运算符的优先级:优先级运算符运算结合关系举例1+单目不变自右向左a*+b1-单目取负自右向左a*-b2*乘自左向右a*b2/除自左向右a/b2%取余自左向右a%b3+加自左向右a+b3-减自左向右a-b4=赋值自右向左a=b在上述的表中,我们可以看到乘除加减等运算符的优先级和运算顺序是符合我们正常认知的。位于第一优先级的两个运算符+原创 2020-12-07 22:07:35 · 558 阅读 · 0 评论 -
C语言学习入门记录(2)之变量
变量是用来储存数据的。1. 变量的定义举个例子:int price = 0;即定义了一个变量,其变量类型为int,变量名为price,其值初始化为0,最后使用;作为结束。这一过程就是变量的赋值和初始化。所谓的赋值,即将等号=右边的值给左边。在上述例子中即将0赋值给 price。所谓的初始化,即第一次将变量赋值。在C中,并没有要求所有的变量要在被定义的地方做初始化,但是要确保变量在第一次被使用之前被赋值。如果变量没有被初始化就开始使用,那么程序就会出现以下错误:#include <stdi原创 2020-12-04 15:15:17 · 822 阅读 · 0 评论 -
C语言中的除法
在C中,除法是有一些特殊的。如果是两个整数型的变量相除,如10/3,其结果是3,而不是3.3333333;又如10/4,其在C中的结果是2,而不是2.5。也就是说,整数型变量相除,如果其结果从数学角度上看是小数,无论是否可以四舍五入进位,C都会讲小数点后的部分抛弃。只有将初始化变量为浮点数类型,其在C中相除的结果才会具有小数。此外,如double a=5/4;,其数学计算的结果是1.25,但是在C中输出的结果是1,即使是在语句中初始化变量a为浮点数。这是因为初始化的变量是a,而不是算子5或4,这两个原创 2020-12-03 10:52:06 · 53318 阅读 · 6 评论 -
C语言学习入门记录(1)
首先从一个简单的小程序说起:#include <stdio.h>int main(){ int price = 0; printf("请输入金额:"); scanf("%d", &price); const int AMOUNT = 10000; int change = AMOUNT - price; printf("找零为:%d\n", change); return 0;}敲代码时,要注意输入法保证是英文状态下,否原创 2020-12-02 21:32:31 · 151 阅读 · 0 评论