c语言学习总结

 

常量与变量:1.常量:

整数常量:包括正整数、负整数和0的整数。又分为符号整数常量(如int型,默认为有符号);无符号整形常量(后跟U,u);

长整数常量(后跟l,L);无符号长整数常量(跟lu;LU);

实型常量:为实数,一般是十进制形式,小数要带小数点,又分双精度,单精度,长双精度,(含有小数和指数形式)

字符型常量:用一对单引号引起来的一个任意字符。可在输出时用于输出一个固定字符,不加单引号为一个变量;例如

cout<<‘a’;与cout<<a;输出结果不同;

字符串常量:用一对双引号引起来的0个或多个字符;同上,可用于输出固定的字符串;可输出空格,也要加双引号;若不加则也是变量;

2.各进制:二进制:0010001=2º*1+2¹*0+...+2的六次方*0

八进制相同:021=8º*1+8¹*2+8²*0

十六进制前加ox,因为0~9为十位,则10~15为A~F;

3.变量:为可在程序中更改数值的变量。

关键字:是c语言预先设定的,有特殊意义的单词;就像分成一座座仓库,不同的数据类型可以抽调出不同类型。

4.字节:int(四字节);long(四字节);short(2字节);float(四字节);double(八字节);一字节为1b,1kb=1024b;1mb=1024kb;1gb=1024mb;1tb=1024gb;

ps:说明的变量若不赋值那么会随机取一值;要先声明类型,即关键字;在程序中=为赋值号,==为等于号;在用if循环语句中不可以混淆,否则会导致输出结果为if中的结果;

5+-*/运算:/若为整数,则其商的小数会被舍弃,只有声明为浮点数,则不会舍弃。优先级也为/*优先,+-要低一级。

++n几n++运算:++n为先在n的基础上+1然后运算,以新值运算;,n++是先算完再加一,以旧值运算;

--n与n--运算:与++n,n++大致相同,不过为-1。

6.在程序中难免用固定数值,例如π,那么可以用const double   const为固定的整数不会改变。也可以用宏常量:#define p。

7.在程序中难免有所转换,可以加入(1.0)则可将整数转换为小数。ps:在程序运算中乘法用*,且没有平方,要一个个乘。

8.   %d 十进制整数
%e 浮点数,指数e的形式 %s 字符串
%E 浮点数,指数E的形式 %u 无符号十进制整数
%f 浮点数,小数点形式 %g 输出%f与%e较短者
%o 无符号八进制整数 %G 输出%F与%E较短者
%x 无符号十六进制整数,以0~f表示 %X 无符号十六进制整数,以0~F表示
%l 长整型,加在d,o,u,x,X之前,如%ld

printf的修饰符:
(1)%ld,%lu,%lo,%lx,带l修饰的格式码要求long型整数作为其对应参数
(2)%2d则是宽度修饰符,作用是制定它所修饰的格式项所对应打印的字符数,如果带打印的数值不能填满位置,则左侧会被补上空格字符以使这个字符数值的宽度满足要求,如果太大则输入宽度会适当调整以满足需要
(3).%2d是宽度修饰符
 

ps:以下图来源于网络

转义字符意义ASCII码值(十进制)
\a响铃(BEL)007
\b退格(BS) ,将当前位置移到前一列008
\f换页(FF),将当前位置移到下页开头012
\n换行(LF) ,将当前位置移到下一行开头010
\r回车(CR) ,将当前位置移到本行开头013
\t水平制表(HT) 009
\v垂直制表(VT)011
\'单引号039
\"双引号034
\\反斜杠

092

*9.输入与输出:输入有cin,scanf,cin输入写法简单但是运算速度较慢,而scanf写法比较麻烦但是算的很快,可以节约大量时间。cin格式:cin>>a;scanf格式:scanf("%d",a);输出有cout,printf,cout特点与cin相同写法简单但输出速度很慢,而printf为格式化输出,故速度很快。若有时间控制,最好用scanf与printf,这样可以节省输入输出的时间‘要根据实际问题规划~

选择控制结构

1.解决一些简单问题的程序,控制结构有很多,要细化步骤来,将问题化为一个更简单的问题,选择控制结构又称为分支控制结构。

2关系运算符:< > <= >=;要分写,不能用数学中的表示方法,否则为错。==为等于,!=为不等于,一定要加叹号。

3.if语句  if语句使用:if(条件)执行语句 else 执行语句  else不能加条件 ,但可以用else if(条件),括号后不加分号,这样可以解决许多多情况条件下的问题,如果成立则进行第一条执行语句,否则执行else的执行语句。例如 if(a>b)cout<<a; else cout<<b;意思为 如果a>b 就输出a的值,如果b>=a则输出b的值。if语句可以简写,格式为:表达式1?表达式2:表达式3

这是唯一三位运算符

4.switch语句:

可用于解决多种情况的问题,相比于if语句要更简洁。应用方法为

switch(表达式)

case a:执行语句;

case b:执行语句;

例如int a,b,d;

char c;

cin>>a>>b>>c;

switch(c)

case ‘+’:d=a+b;

case......

这样解决多分支问题会比if更简单。

 

扩充:

位运算符:

& 按位与 如果两个相应的二进制位都为1,则该位的结果值为1,否则为0
| 按位或 两个相应的二进制位中只要有一个为1,该位的结果值为1
^ 按位异或 若参加运算的两个二进制位值相同则为0,否则为1
~ 取反 ~是一元运算符,用来对一个二进制数按位取反,即将0变1,将1变0
<< 左移 用来将一个数的各二进制位全部左移N位,右补0
>> 右移 将一个数的各二进制位右移N位,移到右端的低位被舍弃,对于无符号数,高位补0

break为结束语句,多用于循环。

在switch中可以用break。

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值