C语言注意事项

1、fgetc与fputc函数

fgetc函数从指定的文件中读一个字节

fputc函数向指定的文件写一个字节

2、'\r'是回车,'\n'是换行,前者使光标到行首,后者使光标下移一格。
c语言编程时(windows系统)\r 就是return 回到 本行 行首 这就会把这一行以前的输出 覆盖掉 
如: 
int main() { 
cout << "hahaha" << "\r" << "xixi" ; 

最后只显示 xixiha 而 hahaha 被覆盖了 

\n 是回车+换行 把光标 先移到 行首 然后换到下一行 也就是 下一行的行首拉 
int main() { 
cout << "hahaha" << "\n" << "xixi" ; 

则 显示 
hahaha 
xixi

char *s = "abcdef\r123\n";

C语言中,s = 123def;

而 MFC中,s = abcdef

  123

3、if (m=k)即 if(k) 

if (m=0)  false

if(m=1) true

4、if(m=1 || m=2);执行结束后 m = 1;if(m=0 || m=2);执行结束后 m = 2;

if(m=1 && m=2);执行结束后 m = 2;if(m=0 && m=2);执行结束后 m = 0;

因为“||”运算,先执行左侧,若左侧为真则不执行右侧,直接返回真。“&&”运算,先执行左侧,若左侧为假则不执行右侧,直接返回假。

5、常规运算符的优先级自高到低的排列顺序是算术运算符、移位运算符、关系运算符、按位运算符、逻辑运算符、条件运算符、赋值运算符、逗号运算符。

6、int k = 'd'-'c';  //k = 1

char c = 'a';k = 'd'-c;//k = 3

7、如定义数组时有初始化,其最高维的长度可以省缺,由系统根据初始化时的初值个数确定,而其它维的长度是不可以缺省的。

如:char  s[][3]= {"e","d"};  //正确

char  s[3][]={"e","d"};  //错误

8、远号表达式:从左到右,依次计算表达式的值,取最右侧表达式值。

int m = (k=8,k--,k++,k--,--k,--k,k);  //m =5,k=5 

9、011 表示8进制数 = 9  0x11 表示十六进制数 = 17 11表示十进制数 = 11;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
C语言编程注意事项 1. 每个程序中一定包含main()函数, 尽管C语言中对函数命名没有限制。 2. printf函数永远不会自动换行, 只能用\n来实现, 回车键进行的换行在编译中会出现错误信息。 3. 在vs2008等平台中编译、测试要加 system("pause"); 来暂停dos自动退出引起的printf无法显示。 4. 所有自定义变量必须声明才能使用。 5. 每行一般只写一条语句, 在运算符两边加一个空格, 便于阅读。 6. 整数除法将会自动舍位, 不进行四舍五入的操作。 7. for(初始化部分;条件部分;增长部分) 比while 更适用于初始化和增长步长都是单条语句的情况。 8. 使用 #define 名字替换文本对部分"幻数" 赋予意义便于阅读 #define结尾无需;号来结束。 9. EOF(end of file)表示没有字符输入时定义在stdio.h 头文件中 EOF不等于\n 换行等。 10. 由于!= 的优先级大于 = ,因此如果对判断中存在变量赋值时 应对赋值加() 例如: while((c = getchar()) != EOF)。 11. getchar() 用于用户输入直至键入回车键。 12. 变量名以字母和数字组成, (下划线"_"被默认为字符, 以下划线为首写字母的为库类变量名), 变量常以小写字母开头,内部变量名前31位有效, 外部变量名至少前6位保持唯一性。 13.在C语言中是区分字母大小写的。 14. 一个字符常量为一个整数, 用''单引号括起来。例如: '0' 为48, 它与0没有任何关系。 15. ANSI C语言的转义符: \a 响铃符; \b 回退符; \f 换页符; \n 换行符; \r 回车符; \t 横向制表符 ; \v 纵向制表符; \\ 反斜杠; \? 问号; \' 单引号; \" 双引号; \ooo 八进制数; \xhh 十六进制数; '\0' 表示0, 即(null)。 16. 'x'与"x"的区别: 'x'表示一个整数, 字母x在其字符集中对应的数值, "x"表示包含一个字符x 以及一个结束符'\0'。 17. const在声明变量中起限制作用, 该限定变量的值不能被修改。 18. %运算符不能应用于float或double类型。 19. char类型转换为int型时, 因为无法判断它是signed还是unsigned,这样其结果有可能为负数, 所以转换时尽量指定signed和unsigned限制符。 20. ++i与i++ 的不同之处: ++i是先 +1再使用i, i++ 是先使用i再 +1。 21. 三元运算符"?:" 第一个表达式的括号不是必须的, 但是由于三元表达式的优先级非常低, 因此我们还是将第一个表达式用()括起来以便于阅读和理解。 22. C语言中可以使用递归 (即函数调用自身函数), 这样做并不节省储存空间也不加快执行速度, 只是使程序紧凑便于理解。
在使用C语言中的getchar()函数时,有一些需要注意的事项。下面是一些关于getchar()函数的注意事项: 1. getchar()函数的返回值是int类型,而不是char类型。这是因为getchar()函数可以返回EOF(文件结束符)或者一个有效的字符。因此,在使用getchar()函数时,应该将返回值存储在int类型的变量中。 2. getchar()函数每次只能读取一个字符。如果需要读取多个字符,可以使用循环来连续调用getchar()函数。 3. getchar()函数会读取缓冲区中的一个字符,并将其从缓冲区中删除。如果在调用getchar()函数之前有其他输入函数(如scanf()),则可能会导致缓冲区中还有其他字符。因此,在使用getchar()函数之前,应该先清空缓冲区中的其他字符。 4. 在使用getchar()函数时,应该注意输入的结束条件。通常情况下,可以使用特定的字符作为输入的结束标志,例如回车键('\n')。在循环中使用if语句来判断输入的字符是否为结束标志,如果是,则跳出循环。 5. 在使用getchar()函数时,应该注意数组的边界。如果输入的字符数量超过了数组的大小,可能会导致数组越界的错误。因此,在使用getchar()函数时,应该确保数组的大小足够大,或者使用动态内存分配来避免数组越界的问题。 下面是一个示例代码,演示了如何正确使用getchar()函数并注意上述事项: ```c #include <stdio.h> int main(void) { char c[100] = {0}; // 创建一个数组来存储输入 int i = 0; // 记录一共输入了几个字符,方便后面输出。 while (1) { int ch = getchar(); // 使用int类型的变量接收getchar()的返回值 if (ch == '\n') // 先判断输入的是否是回车键 break; c[i] = ch; // 再把判断好的输入值存储起来 i++; } for (int k = 0; k < i; k++) printf("%c", c[k]); // 把存储的值输出 printf("\n"); return 0; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值