C语言程序的注意事项
- 函数总是从main()函数开始执行的
- 程序中要求计算机的操作是由函数中的c语句完成的
- 每个数据声明语句的最后必须有一个分号
- C语言本身不提供输入输出语句
- 程序应当包括注释
接下来就是逐条分析
1、在预处理指令中主要需要注意的是#include<stdio.h>和#include"stdio.h"是有区别的,笼统的说就是被包含与包含的关系。
2、主函数注意定义类型,定义类型与最后的return对应,用于接收return的值;
例如:
#include"stdio.h"
int main()
{
printf("Hello world!\n");
return 0;
}
这里的int main()就是为了接收return 0;中的0;然后结束程序
而如果是 void main(),就表示main函数没有返回值。其中的int为返回值类型。
3、输入和输出
关于输入和输出,有很多可以说的首先是转义字符
转义字符 | 字符值 | 输出结果 |
---|---|---|
\’ | 一个单撇号’ | 输出单撇号字符’ |
\" | 一个双撇号" | 输出双撇号字符" |
\? | 一个问号? | 输出问号字符? |
\\ | 一个反斜线\ | 输出反斜线字符\ |
\a | 警告(alert) | 产生声音或视觉信号 |
\b | 退格(backspace) | 将光标当前位置后退一个字符 |
\f | 换页(from feed) | 将光标当前位置移到下一页的开头 |
\n | 换行 | 将光标当前位置移到下一行的开头 |
\r | 回车(carriage return) | 将光标当前位置移到本行的开头 |
\t | 水平制表符 | 将光标当前位置移到下一个Tap位置 |
\v | 垂直制表符 | 将光标当前位置移到下一个垂直制表对齐点 |
\o、\oo或\ooo | 与该八进制码对应的ASCII字符 | 与该八进制码对应的字符 |
\xh[h…] 其中h代表一个十六进制数 | 与该十六进制码对应的ASCII字符 | 与该八进制码对应的字符 |
各种转义字符的用法不一,平常最常见的就是换行字符\n相信大家也对此有所了解。
其次要说的重点就是输入函数和输出函数
scanf函数和printf函数是最常见的
所以作死般提出另外两个输入和输出函数
getchar 和 putchar
getchar用于接收字符
putchar用于输出字符
用法见以下代码:
#include"stdio.h"
int main()
{
char a='B',b='O',i,c;//定义a,b,c,i
i=getchar();//输入字符,再将字符赋给i
c=getchar();//输入字符,再将字符赋给c
putchar(a);//输出a
putchar(b);//输出b
putchar(c);
putchar(i);
putchar('\n');//输出换行符
return 0;
}
getchar接收字符,putchar输出字符。
当然,说完函数,最多的就是附加字符,格式字符%了。
首先是printf函数中用到的格式字符
格式字符 | 说 明 |
---|---|
d,i | 以带符号的十进制形式输出整数(正数不输出符号) |
o | 以八进制无符号形式输出整数(不输出前导符0) |
x,X | 以十六进制无符号形式输出整数(不输出前导符0x),用x则输出十六进制数的a~f,用X时,则以大写字母输出 |
u | 以无符号十进制形式输出整数 |
c | 以字符形式输出,只输出一个字符 |
s | 输出字符串 |
f | 以小数形式输出单、双精度数,隐含输出6位小数 |
e,E | 以指数形式输出实数,用e时指数以“e”表示(如1.2e+02),用E时指数以“E”表示(如1.2E+02) |
g,G | 选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0。用G时,若以指数形式输出,则指数以大写形式表示 |
以上表格中所有字符,均可用于printf函数语句中,加上前缀%字符就可以实现各种输出。
下面就是格式字符的附加字符
字符 | 说明 |
---|---|
1 | 长整型整数,可加在格式符d、o、x、u |
m(代表一个正整数) | 数据最小宽度 |
n(代表一个正整数) | 对实数,表示输出n位小数;对字符串,表示截取的字符个数 |
-(负号) | 输出的数字或字符在在域内向左靠(向左对齐) |
例如:
要使输出的这一串数字整齐的排列达到以下情况:
输出这样的向左对齐的一串数字,首先你应该控制行间距如%4d,这样,他们就会出现如下图一样的情况
这是因为,系统默认情况就是向右对齐,%4d表示输出的每一个数据的最小间距为4列,这时我们转换下,用printf函数中用到的格式附加字符-负号也就是%-4d,就可以变成最终想要的,向左对齐的整齐的数字。代码如下:
#include <stdio.h>
int main()
{
int i, j, k;
for(i=1;i<=4;i++)
{
for(j=1;j<=5;j++)
{
printf("%-4d",i*j);
}
printf("\n");
}
return 0;
}
如%ld是输出长整型,%lf是输出小数位数更多的双精度数,如果出现%7.2f这种,就是输出的数据只能占用7列,并且保留2位小数。
关于输入输出就说到这,以后有问题再回来编写。
4.一个好程序必备的注释
注释在《C程序设计》(第五版)中提到过两种注释方法
(1)、//型,这种注释方法就是在想要注释的开头加上双斜杠,就会让//以后一行的字符串成为注释,不在源代码中执行,简单来说就是注释一行的字符串
(2)、/* */型,在中间添加想要注释的内容,即可全部注释,相对来说更方便。
这一博客大概包括到了《C程序设计》的第一章和第三章,也是对整个源代码结构的总结。end…