关于C语言期末考的准备

1)合法的用户标识符:

合法的要求是由字母,数字,下划线组成。有其它元素就错了。并且第一个必须为字母或则是下划线。第一个为数字就错了。关键字不可以作为用户标识符号。main define scanf printf 都是关键字。迷惑你的地方If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。

2)实型数据的合法形式:

2.333e-1 就是合法的,且数据是2.333×10-1。

考试口诀:e前e后必有数,e后为整数。

3)字符数据的合法形式:

'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。 '0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。 一般考试表示单个字符错误的形式:'65' "1" 字符是可以进行算术运算的。

八进制转义字符

 它是由反斜杠'\'和随后的1~3个八进制数字构成的字符序列。例如,'\60'、'\101'、'\141'分别表示字符'0'、'A'和'a'。因为字符'0'、'A'和'a'的ASCII码的八进制值分别为60、101和141。字符集中的所有字符都可以用八进制转义字符表示。如果你愿意,可以在八进制数字前面加上一个0来表示八进制转移字符。

十六进制转义字符

它是由反斜杠'\'和字母x(或X)及随后的1~2个十六进制数字构成的字符序列。例如,'\x30'、'\x41'、'\X61'分别表示字符'0'、'A'和'a'。因为字符'0'、'A'和'a'的ASCII码的十六进制值分别为0x30、0x41和0x61。 可见,字符集中的所有字符都可以用十六进制转义字符表示。

 由上可知,使用八进制转义字符和十六进制转义字符,不仅可以表示控制字符(如换行符),而且也可以表示可显示字符。

在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在。

4) 整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:

5)表达式的考查:

是表达式就一定有数值。
赋值表达式:表达式数值是最左边的数值,a=b=5;该表达式为5,常量不可以赋值。
考试口诀:++在前先加后用,++在后先用后加。

#include<stdio.h>
int main(void)
{
	int a=1,b=2;
	printf("%d%d",a++,--b);
	
}

输出1 1;

逗号表达式

(1,2,3,4,a)  从左到右依次求值,表达式的值是逗号最右边的值

#include<stdio.h>
int main(void)
{
	int b=2;
	printf("%d",(1,2,3,b));
	
}

6)位运算的考查:

&:都1 为1;             |:都0 为0;     ^:相同为0,不同为1

~:取反;                  <<:左移;         >>:右移;

负数的补码则是符号位不变,其余按位取反,最后再+ 1得到的
例如对于− 15 -15−15,其补码为11110001 , 11110001,11110001,右移一位( − 15 > > 1 ) (-15>>1)(−15>>1)得到的是11111000 1111100011111000,即− 8  

(关于负数的补码变原码,减一取反即可)

  • 018的数值是非法的,八进制是没有8的,逢8进1。

  • %符号两边要求是整数。不是整数就错了。

7)do-while()循环的最后一个 while();的分号一定不能够丢。(当心上机改错), do-while 循环是至少执行一次循环。

8)*p++ 和 (*p)++的之间的差别:

#include<stdio.h>
int main(void)
{
	int *p=NULL;
	int a[10]={1,2,3,4,5,6,7,8,9,0};
	p=a;
	printf("%d%d",*p,*p++);
	
}

输出:21

解析:printf的输出的从右至左的,*p++中,先返回p,然后p与*结合输出1,后p自增,*p输出2;

*p++=*(p++);  (*p)++,先取值在增。

#include<stdio.h>
int main(void)
{
	int *p=NULL;
	int a[10]={1,2,3,4,5,6,7,8,9,0};
	p=a;
	printf("%d%d",(*p)++,*p++);
	printf("%d",(*p)++);
	
}

输出:213;

(*p)++依旧是先用后加。

9)数组名-函数名-字符串常量名 :

数组名:表示第一个元素的地址。数组名不可以自加,他是地址常量名。(考了很多次)

10)数组: 存放的类型是一致的。多个数组元素的地址是连续的。

int a[2][3]={1,2,3,4,5, };合法,后面一个默认为 0。

int a[2][3]={{1,2,}{3,4,5}};合法,第一行最后一个默认为 0。

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值