每日三百行代码 第十六天

西安工业大学实验报告

一、 实验目的:

  1. 了解C源程序的书写格式。
  2. 通过运行简单的C源程序,掌握C语言上机步骤,了解C程序的运行步骤。
  3. 掌握在VC2010环境下检查错误的方法。
    二、实验步骤、数据记录及处理
  4. 将下面的程序代码调试,修改错误,显示出运行结果。
    实验题目:
  1. 列举程序代码中出现的错误。
    a. 头文件用的双引号应该使用英文双引号。
    b. 主函数main()函数变量声明用圆括号。
    c. printf()为输出函数,c系统库中定义好的函数,其函数名均为小写,且拼写不能出错。
    d. printf()圆括号中输出内容要用双引号引出。
  2. 运行此程序,并将结果截图。


2. 将下面的程序代码调试,修改错误。输入一组数据并显示出结果。
实验题目:

  1. 列举程序代码中出现的错误。
    a. 主函数的main均为小写。
    b. scanf()后未加英文的分号(;)。
    c. scanf()中引号中尽量不要输入逗号,因为实际输入时需要一一对应输入,包括中英文的不同。
    d. printf()中输出变量的函数名必须与之前的变量名大小写完全一致。
  2. 运行此程序,输入a和b的值,并将结果截图。


3. 将下面的程序代码调试,修改错误。输入一组数据并显示出运行结果

实验题目:

  1. 列举程序代码中出现的错误。
    a. #define宏定义后不加分号。
    b. 变量名的大小写在一个程序中不能变更,必须保持一致。
    c. 变量与变量之间的运算不能省略*。
  2. 运行此程序,输入d的值,并将结果截图。


三、总结
本次实验我的总结是:

  1. 头文件用<>和“”的区别:
  1. 头文件#include <> :表示引用标准库头文件,编译器会从系统配置的库环境中去寻找;
  2. 头文件#include “”:一般表示用户自己定义使用的头文件,编译器默认会从当前文件夹中寻找,如果找不到,则到系统默认库环境中去寻找。
  3. 以前在引用头文件时,总是不假思索的使用<>,以为<>和“”是一样的。但其实不然,<>和"'的搜索范围和先后顺序不同,通俗的来说<>是从标准类库中引用头文件,而我们自己在工程自己创建的没有加入到标准类库中的头文件是无法引用的,这种情况下,我们必须要用“”进行引用。
  1. 主函数main():
  1. 对 main 函数的定义。“The C programming Language(《C程序设计语言》)用的就是 main( )。”— 这是因为第一版的C语言只有一种类型,那就是int,没有char,没有long,没有float,既然只有一种类型,那么就可以不写,后来的改进版为了兼容以前的代码于是规定:不明确标明返回值的,默认返回值为int,也就是说 main()等同于int main(),而不是等同于void main()。在C99中,标准要求编译器至少给 main() 这种用法来个警告。所以使用int main()更好。
  2. 在 C89 中,main( ) 是可以接受的。过在最新的 C99 标准中,只有以下两种定义方式是正确的:
    int main( void )
    int main( int argc, char *argv[] )
  3. 如果 main 函数的最后没有写 return 语句的话,C99 规定编译器要自动在生成的目标文件中(如 exe 文件)加入return 0; ,表示程序正常退出。不过,我还是建议你最好在main函数的最后加上return 语句,虽然没有这个必要,但这是一个好的习惯。
  1. return ;
  1. return:如果什么都不接的话,其实就是void类型函数的返回,返回后不再执行return后面的语句,如果函数执行成功返回0,不成功返回非0,一般情况下非0值常用-1来表示。
  2. return 0:一般用在主函数结束时,表示程序正常终止,即告诉系统程序正常。
  3. return 1:表示返回一个代数值,一般用在子函数结尾。表示程序异常终止,即告诉系统。
  4. return -1:表示返回一个代数值,一般用在子函数结尾。表示程序异常终止,即告诉系统程序异常。
  1. 程序中使用分号:
  1. 比较官方、正规的说法如下:
  2. 语句、定义不需要分号结尾,声明需要分号结尾。
  3. 语句:if、for、while都是语句,所以{}本身是语句的一部分。
  4. 声明:结构体的定义是声明,所以需要分号结尾。
  5. 预处理命令后面不加分号。