|
发表于 2013-9-22 18:03:06
|
显示全部楼层
本帖最后由 我是师兄 于 2013-9-22 18:04 编辑
基本数据类型数据:
整型 -- int (4个字节)
短整型 -- short int (2个字节)
长整型 -- long int (8个字节)
逻辑型 -- bool
单精度浮点数 -- float (4个字节)
双精度浮点数 -- double (8个字节)
单字符 -- char (1个字节) ‘A’或“A”单引号表示单字符;
字符串 -- char[] 字符串定义与数组基本相同,字符串用双引号括起来“AB”,每个字符以‘\0’隔开。
除了 char 能确定是 1个字节 是对的之外 其他的都错了 都是依赖编译器实现 int 未必是4 long int 未必是 8.....
复合类型数据:
- 指针动态结构体定义:struct Students * p = (struct Students *)malloc(sizeof(struct Students)); p.a ; p.a
复制代码 这里估计 你手抖了写错了 应该是 p->a 而不是 p.a
- 输出表示 ----> printf()
- %d表示以整型十进制输出
- %ld表示以长整型十进制输出
- %x或%X或%#X或%#x表示以十六进制输出 【推荐使用%#X】
- %o表示以八进制输出
- %f表示以单精度浮点数输出
- %lf表示以双精度浮点数输出
- %C表示以字符输出
- %S表示以字符串输出
复制代码 注意大小写
%c 而不是%C
%s 而不是 %S
输入表示 ----> scanf()
1.非输入控制符必须原样输入加所需输入数据。 例如:scanf ("4%d",&i) 则输入410 ----10所需输入变量
2.编写断续输入应做适当的处理,如下【非重点】
char ch;
while ((ch=getchar()) !='\n'); //while循环;getchar获取字符
continue; //continue继续;
这里的 变量ch 是多余的 引入这个ch 会造成出现失误的可能性增大 其实只需要
- while (ch=getchar() !='\n')
- ;
复制代码 另外 你的while()的循环已经是 行末的;
下一行的 continue; 不在循环体里面 会造成Error
逻辑运算符: !(非) &&(并且) ||(或) true;(真) false;(假)
true 和 false 都不是运算符
另外 C语言 没有true 和 false
赋值运算符: = += /= -= *= ++ -- //例+=:a+=3 等价于 a=a+3; ++i 等价于 i=i+1;
%=
^=
&=
>>=
<<=
............................这些都被你 漏掉了
<< ----> i<<3 表示把i所有的二进制位右移3位,左边一般补零。十进制:右移N位相当于除以2的N次方。
1 右移符号 应该是 >> [手误而已 小毛病手误提一提]
2 右移N位相当于除以2的N次方。这个说法 错误
如果是有符号负数右移 结果依赖实现 未必是 /2的N次方而且 这里应该说明 << >> 的右操作数 如果是负值 会出现什么情况??
if:英文含义“如果”,if默认只能控制一个语句,如果想控制多个语句,就必须把这些语句用{}括起来。
else:英文含义“否则”,else默认只能控制一个语句,如果想控制多个语句,就必须把这些语句用{}括起来。
else if:英文含义“否则-如果”,else if默认只能控制一个语句,如果想控制多个语句,就必须把这些语句用{}括起来。
这里存在一定误解了
else if
其实
这里是 else 后面跟着一个语句
而刚刚好 这个语句是if语句 仅此而已
类似的 可以是
else for
else while
else do...while
else ;
else {}
6.主函数可以调用普通函数,普通函数不能调用主函数;普通函数可相互调用。
没这回事 C里面 main函数 可以被普通函数调用 main函数可以被main函数调用
7.true 英文含义“真”;false 英文含义“假”。例如:return true --->返回真。
再次说明 C没有true 这个关键字
9.函数申明:void f(); //函数申明可不写形参,分号不能丢掉。
可以不写形参名 但是有形参 必须写形参类型
下班了 其他的 回去再看看
|
|