【学习笔记2】—C语言的基本特征和语法:

一、数据类型、常量与变量

1.常量:程序运行过程中不会改变的量;

2.变量:程序运行过程中可以改变的量;变量需先定义后使用;变量又可称为标识符,变量命名的规则:只能由字母、数字和下划线组成,但数字不可以出现在第一个位置上,并且C语言的关键字(保留字)不能用来做标识符。

定义变量的一般格式:数据类型 变量名1,变量名2,...,变量名n;

如 int price;

int price, amount;

int price,amount=100;    \price没有被赋值,amount=100\

注意:

  • 所有的变量在第一次被使用之前都应该被赋值一次,即变量初始化。
  • 两个整数的运算结果只能是整数,一次运算精度较低的转换成精度较高的类型
  • 如:10/3.0*3=10.0
  •         10/3*3.0=9.0(有待补充)

存储类型(数据类型):决定程序执行中变量占用内存的情况

整型数
类型关键字长度(字节)取值范围
基本整型int 4-2147483648~2147483647
长整型

long [int]

4-2147483648~2147483647
短整型short [int]2-32768~32767
无符号整型unsigned [int]40~4294967295
无符号长整型unsigned long40~4294967295
无符号短整型unsigned short20~65535
实数型(浮点型)
类型关键字长度(字节)有效位取值范围
单精度fioat47
双精度double815
长双精度long double815

C语言除整、实型常量外,还有字符型常量又称字符常量(关键字char),它是用一对单引号' '括起来的一个字符;一个字符常量只用1个字节的单元存储;计算机存储的并不是字符本身,而是该字符的ASCⅡ码。例如:字符'a'的ASCⅡ码值为97,转换成二进制(开头数字0正1负)数为01100001,因此把字符'a'存放到内存中,实际上是把01100001存放在内存中。

  • 注意:
  • 大小写字符代表不同的字符,如'A'不同于'a'。
  • 空格也是一个字符,如' '。
  • 字符常量的单引号中只能有一个字符,也不能用双引号(" ")。
转义字符
字符形式含义ASCⅡ代码
\0输出空值,无实际意义,表示一个字符串结束0
\n换行,将光标移到下一行的开始位置(回车换行)10
\t光标横向移动一个Tab键位(一般为8列)9
\b光标向前移动一列(一个字符)8
\r光标移到本行的开头(回车)13
\f光标移到下一列的开头12
\\输出反斜线字符“ \ ”92
\'输出单引号字符“'  ”39
\"输出双引号字符" " "34
\ddd

输出1到3位八进制数代表的字符(如:printf("\101");

第一个数字不能用0开头)

\xhh输出1到2位十六进制数代表的字符

 注意:转义字符一般用在printf( )函数中,一般不在scanf( )函数中,否则可能会导致输入错误。

二、运算符、表达式和语句

  • 运算符:

 1.算术运算符:+  -  *  /  %

2.赋值运算符:=及其复合赋值运算符 ++  --  +=  *=   -=等(示例:a+=b;即a=a+b; d*=1+2;即d=d*3)

注意:

int x=6;
x++;      \x=7\
++x;      \x=8\
--x;      \x=7\
x--;      \x=6\



x=1;
y=x++;   \y=x,x=x+1\

x=1;
y=++x;   \x=x+1,y=x\

3.关系运算符: >   <     >=   <=    ==(等于) !=(不等于)(前四个优先级相同,后两个优先级相同,但前四个优先级高于后两个)

4.逻辑运算符:!(逻辑非,运算方向 自右向左!)   &&(逻辑与,自左向右)  ||(逻辑或,自左向右),优先级:  !>&& > || 。逻辑运算符只有真假两种,ture-1; false-0(如 28&&16=1,逻辑表达式,非0的数都是真的,只有0是假的,具体运算还有待补充),逻辑运算符为单目运算符,优先级最高。

5.位运算符:~   <<  >>   &  |   ^

位运算符
位运算符意义
~按位取反
<<位左移
>>位右移
&按位与
|按位或
^按位异或

区别:28&&16=1;(逻辑表达式,非0为真)

          28&16;(位表达式)

28:00011100

16:00010000

&     00010000(有待补充)

6.条件运算符:?  :结合方向:从右往左;属于三目运算符

例:表达式1?表达式2:表达式3

求解过程:先判断表达式1的值,如果为真,返回表达式2的值,否则,返回表达式3的值

一个运算符能连接的对象(包括常量、变量、函数等)的个数称为“目”,分为三类:

  • 单目运算符:即只能连接一个操作对象的运算符。如: ++、--、!、&等
  • 双目运算符:必须连接两个操作对象的运算符。如:+、-、*、/、=、>、>=、!=、+=等
  • 三目运算符:连接3个操作对象的运算符。C语言只有一个三目运算符,即条件运算符“? :"

优先级:单目运算符>算术运算符>关系运算符>逻辑运算符>条件运算符>赋值运算符

结合方向:从右往左:单目运算符、三目运算符、赋值运算符 

 三、格式化输出函数printf( )

printf( )函数的作用是把数据按指定格式输出到屏幕上,其一般调用格式为:

printf("格式控制字符串“,变量列表);

例如:printf("I=%d,F=%f,C=%c\n",i,f,c);

printf( )函数中常用的格式控制字符
数据类型格式字符格式控制字符含义
d或i%d或%i输出带符号的十进制整数
整型u%u输出无符号的十进制整数
o%o输出八进制无符号整数
\x或X%x或%X输出十六进制无符号整数(大小写作用相同)
字符c%c输出一个字符
字符串s%s输出一个字符串
实型f%f以小数形式或指数输出实数(单精度float浮点数有效位一般为7位,double为15位)

e或E,

g或G

%e或%E

%g或%G

与f格式作用相同,e与f,g可以相互互换(大小写作用相同)

printf("%m.nd",变量名)(*代表空格)

例如:

int x=5;
printf("%6d",x);      \*****5\


int x=5
printf("%5.3d",x);    \**005\


float y=5.3;
printf("%6.2f",y);    \**5.30\


float y=5.3;
printf("%-6.2df",y);   \5.30**\

 四、格式化输入函数scanf(  )

scanf(  )函数用于接收从键盘上输入的数据,输入的数据可以是整型、实型、字符型等。一般格式:scanf("格式控制字符串”,,变量地址列表);

如:

int a;
scanf("%d",&a);
  • 注意:
  • scanf( )函数中的格式控制字符串怎么写就得怎样输入,否则就会出错!因此,scanf( )函数最好简洁。
  • 当格式符中只有%f或%d或同时有%d和%f时,输入数据间用空格、Tab键、Enter键作数据分隔标志。
  • 当格式中有%c时,输入时不能加任何分隔符,如空格、Tab键、Enter键。
  • 当写完一个程序发现出错时,可以先检查scanf( )函数。

整数型:

  • int
  • printf("%d",....);
  • scanf("%d",....) ;

实数型:

  • double
  • printf("%f",....);
  • scanf("%lf",....); 

仅供参考,如有错误,还请指正! 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值