C语言第二课(基本语句) 1scanf函数,printf函数2不同的变量类型,小细节3字符型变量特殊函数4sqrt,fabs等特殊函数5m.n限定位数6C语言中%d,%o,%f,%e,%x的意义

1.首先举个例子吧,a赋值10,b赋值15,然后求和c=a+b的值并输出

在APP上这个代码是可以滑动看的,或者点开全屏看,为了方便,我尽量就单行写少一点,毕竟手机看的话一行字数太多有些不方便。
别看我下面写得多,都是为了好懂,
写这个目的就是为了大家好懂啊,所以解释比较多
篇幅小难懂跟篇幅大容易懂,我选择后者,毕竟大家省力气一些

#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
c=(a+b)/2;
printf("%d",c);
printf("%d+%d=%d",a,b,c);
printf("%d加%d的和=%d",a,b,c);
return 0}



可以先看看上面的代码然后自己想一下结果
下面就是拆分了
#include<stdio.h>
int main()
{
int a,b,c;
scanf("%d%d",&a,&b);
//10 15
//输入的时候中间用空格隔开
//%d代表格式为十进制,&是赋值的意思
//这里就是把你输入的两个十进制整数按照后面标出的顺序
//这里是a,b所以你输入的第一个数就是赋值给a,第二个赋值给b
//看一下另外的一种方式
scanf("%d,%d",&a,&b);
//这个scanf语句里面加了一个逗号
//在输入的时候就需要连都逗号一起输入
//10,15
scanf("%d,,,,,%d",&a,&b);
//10,,,,,15
//以此类推,大家就懂了吧
//""里面有什么有其他符号或者提示语句(较少)
//也需要一起打上

//简单点说把%d替换为题目要求的数字,其他只要是在""内的就按顺序打上
//不然连程序都没有办法运行。。。。因为输入就不对
//自然给不出运行结果

//考试要求10 15空格间隔的话,就%d%d,不用%d %d
//要求10,15逗号间隔就%d,%d
//最重要的是这个逗号是英文的,中文的会报错

c=a+b;
//因为运算符优先级,先算加法在赋值给C
//优先级表格在另一篇文章中有
printf("%d",c);
//25
printf("%d+%d=%d",a,b,c);
//10+15=25
printf("%d加%d的和=%d",a,b,c);
1015的和=25
//看出来了吧,就是把%d替换为整数,具体这个数是啥呢
//就是后面你安排的顺序

//改一下
printf("%d+%d=%d",c,b,a);
20+15=10
//计算机很笨的,只会做你让他做的事情
//只要你自己不出错就一般没事的
return 0;
}




  1. 定义变量:1.定义类型2.变量命名
    定义类型:用到关键字
    变量命名:用到标识符
  2. 在编写C语言程序时,要用到一些预先定义好的类型名(如int、float等 ),还有一些具有特定作用的单词(如if、return等 )。
    在C语言中,将预先定义好的单词和类型名,称为关键字(keyword)
    除了关键字之外, 编程者也需要定义一些名字来表示程序中的实体,如变量名、函数名、文件名等。
  3. 在C语言中,将各种实体的名字统称为标识符。
    C语言规定,标识符只能由英文字母、数字和下划线三种字符组成,并且首字符是英文字母或下划线。
    例如a、x3、BOOK_ 1、sum5都是合法的标识符。
    在标识符中严格区分字母大小写。
    标识符长度这个没有特殊规定,但一般能小就小,尽量小于32位。
    保留标识符:
    在C语言标准库的头文件中定义的标识符,主要是一些库函数名、类型名和宏名,如printf、scanf、 EOF等。
    用户标识符:
    由编程者自己定义的标识符。很显然,用户标识符既不能与关键字重名,也不能与保留标识符重名。
  4. C程序中的数据可分为:常量与变量。变量是在程序运行过程中,其值可以改变的量。变量用于在程序中保存数据。变量就是一组连续的内存单元,就好像酒店里面的一排房子,你给的数据就是住酒店的人(给了数据,数据就入住了该变量的内存单元),过了租住时间或者你主动把他赶出去(比如重新赋值),这房子就空下来了,接着就又可以住人了(自己重新输入数据)。
    常亮就是人家买了你酒店的房子,从规则上来说,那就是人家的财产了,你不能把人家赶出去,因为不属于你管了,哈哈哈哈。
  5. 变量先定义后使用。
    C89标准规定变量定义语句置于块的开头部分(以一对花括号括起来的一组语句称为一个块)
    C99标准允许在程序中的任意位置定义变量。
  6. 变量定义的一般格式:
    类型说明符 :C语言所允许的任何数据类型 int、float、double等等
    变量名:合法标识符 就是你自己定义的符合规则的就OK 比如平均数一般ave(因为平均数英文是Average,这就来看个人习惯了)
  7. 所谓给变量赋值,就是将数据存入到该变量所对应的内存单元中
    如:int a;麦量定义
    a=10; 可执行语句
    (将10这个值赋给i这个变量)
    =赋值运算符(先将右侧的表达式进行完计算再存储到左边变量当中)
  8. 常量指在程序运行过程中, 值不可改变的量。分为直接常量和符号常量。
    直接常量也称为字面常量。即直接在程序中写出来的常量。比如2、3.14等等
    符号常量:一个标识符来代表一个常量。习惯上使用大写宇母表示符号常量。定义格式:# define 标识符 常量
    标识符一般是大写
# define PI 3.14
这条语句在main函数上方,而且后面没有分号
使用的时候就直接用PI就OK了

使用符号常量可以改善程序的可读性和可维护性。
但需要注意,由于符号常量不是变量,故不能对符号常量进行赋值

2.scanf函数应用略解

2.1不同的变量类型对应输入的%?

整型
int a,b;
scanf("%d%d",&a,&b);
单精度浮点型
float a,b;
scanf("%f,%f",&a,&b);
双精度浮点数
double a,b;
scanf("%lf%lf",&a,&b);
//这个有点东西啊
//lf lf  lf
字符型
char a,b;
scanf("%c%c",&a,&b);

2.2记住格式,不要犯小错误

  1. 全英文符号,别添加中文符号
  2. &号与要赋值的变量的顺序不要搞错了
  3. scanf("%d%d",&a,&b);看看第一个逗号在哪里,在""后面对吧,这个可不能缺,这个起一个间隔作用呢,而且标准就是这样的。第二个逗号在哪呢?&a,&b,这个也是起间隔作用的,C语言里面“,”(逗号)跟“ ”(空格)一般都是起间隔作用的。
  4. 对于题目给的输入格式一定要细看,从而编写输入格式
  5. 变量类型对应的符号不要搞错了
  6. 自己定义的什么scanf形式,在运行程序时就要按照这个形式输入,不然输入有错误,程序是不会运行的。

3.字符型变量的特殊函数

char a;
scanf("%c",&a);

相当于

char a;
a=getchar();
//很好记的,字面意思get获得char字符型

同样的有输入自然不能少了输出

printf("%c",a);
相当于
putchar(a);

注意格式,比较一下就看出来了,一个带参数,一个不带参数对吧,细节细节!!!
a=getchar();
putchar(a);

4.特殊函数的使用需要在前面加#include<math.h>,因为那些函数是在这个函数库里面的,放个图

其实一般用不到这么多,也就求个绝对值fabs(变量)
求个平方根sqrt(变量或者表达式)
求个次方根pow(x,y)即x的y次方,比如pow(10,2)就是10*10=100
个人建议pow函数尽量少用吧,pow(a,3)跟a * a * a是一样的,但是用函数容易出错。。。。而且你用了也不加分啊。。。。。也并不装13啊。。。。。所以建议还是直接a * a * a方便,简单不出错,多好
在这里插入图片描述

5.printf函数

printf函数跟scanf函数差不多,不过在printf函数里面float跟double都是%f
剩下的包括格式啥的printf跟scanf都差不多,而且一般来说printf("…\n"…),一般都加一个换行符号\n(反斜杠n),算是一个习惯吧,当然也要结合题目要求做决定。

6.关于限定输出的问题,类似m.n

m.n(一共m位数,小数点后n位数)
若数值长度小于m,则左端补空格。若数值长度大于m,则按实际数值输出,小数位保留n位。
注意scanf输入函数里面没有这个限定,这个只在输出的时候用就好,题目会有结果限制几位小数啥的
位数不够的时候前面补空格(小数点也占一位数)
例如%5.2f(一共五位数,小数点后2位,小数点也算一位)
%-5.2f位数不够的时候在后面补空格

7.又是乱七八糟的一些奇怪的知识点C语言中%d,%o,%f,%e,%x等等等等的含义

%d 有符号10进制整数
%i 有符号10进制整数
%o 有符号8进制整数
%u 无符号10进制整数
%x 无符号的16进制数字,并以小写abcdef表示
%X 无符号的16进制数字,并以大写ABCDEF表示
%F/%f 浮点数
%E/%e 用科学表示格式的浮点数
%c 单个字符
%s 字符串 (这个需要包裹在"“里面输出,挺那啥的。。printf(”%s",“字符串”);)
%% 显示百分号本身
%e:科学计数法形式输出(指数的形式输出)
这个做题用到的可能不多,但选择判断啥的可能考一下
1.234500e+004
即是1.2345×10的4次方
e后面的就是次方数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值