C语言开发日记(2)C语言上手以及一些问题和解决方法1

导言:在我了解一些C语言的背景知识后,我清楚的意识到,C语言的进步不是看出来的,而是记出来的,更是写出来的。没有足够的语法基础,没有掌握足够的标识符,C语言不可能上手;但是仅仅记住了这些C语言的知识点,缺少实践,C语言永远无法熟练。所以我认为在C语言的学习中,实践是最重要的。这个系列开始,我会在上面记录一些学习过程以及我平时练习C语言过程中的问题以及解决方法。

一,正文内容

★最简单的编程入手,分析和运行      

先来个最简单的编程:输出“hello world”   

#include<stdio.h>                       \\编译预处理指令

int main()                                     \\定义主函数

{                                                   \\主函数开始

     printf("hello world\n");             \\输出字符

     return 0;                                  \\执行完毕时返回数值0

}                                                   \\结束函数

分析:

1,首先,#include<stdio.h>将<>内的文件调入程序;#不属于C语言,给编译器看的;.h是header文件的缩写,编译程序有三种文件,分别是:header files(头文件,用于保存程序的声明)source files(源文件,用高级语言保存文件的结果)和resources files(系统资源文件,用于运行时加载文件)

2,main是函数名,表示“主函数”,每个C语言必须有且只有一个主函数;除此之外,一个函数有函数名(也成为函数指针,指针有两个用途:调用函数和作为函数的参数)和函数体组成,函数名可以是关键字,也可以是定义函数,定义函数在函数内用数学逻辑关系注明,并且用{}括起来

3,return 0的作用是当主函数main执行结束时,将整数0作为函数值回到调用的函数处(在除了void main()外,其他函数要加上return 0作为结束标志;但是有些以“C99”标准下的软件可以不用识别return 0,但是也规定了viod main不合法,要值得注意)【扩展知识点:return的意义是用来结束循环,当有循环条件时一定要用return,其中return 0代表循环成功,程序正常退出或者进入下一个程序,return 1则是循环异常,返回主函数处理;return()是一个返回值的符号,括号内可以加上任意的与函数有关的变量】
4,由于函数内,声明与定义之间的区分是半角符的分号“;”(语句结束符),所以对书写函数并没有要求,想怎么写就怎么写,但是在书写的自由同时缺乏可读性,为后续的编程学习带来不利影响,建议书写规范

运行:

打开Dev-C++,点击“文件”,点击“新建”-“项目”,选择窗口控制程序(console application),新建文件夹,然后就可以开始编程了,输入代码,先编译然后运行

程序运行完成,这是一个正确的程序

一些程序报错以及解决方法(所有C语言编程通用!!):

1,[Error] expected unqualified-id before '{' token

这个报错是最常见的,我们会发现这种错误一般是在主函数或者某个函数的后面添加了分号“;”,导致函数没有函数体,提早结束,所以我们会看到系统显示第三行和第六行是错误的(其实是第二行开始错误的)解决方法是把主函数后面的分号删除

2, [Error] stray '\273' in program ,[Error] stray '\243' in program和 [Error] expected ';' before 'return'

 

 这个程序报错是由全角符的分号”;“所引起的,却导致了三个错误存在,出现"\273"和”\243“的错误是因为出现了阿斯码(ASCII)非法识别的字符【扩展知识点:阿斯克码,计算机的识别符号,一共有256个,恰好占用一个字节(Byte)。前128个为常用的字符如运算符,字母,数字等键盘上可以显示的后128个为特殊字符是键盘上找不到的字符;打出阿斯克码的方法为按住Alt键同时输可识别阿斯克码中所对应的数字0-128;其中,阿斯克码中大小写字母的间隔是32位,因此在一些特殊函数char中用加减32表示大小写字母】,其前面128位是常用字符,被C语言和C++采用,其他字符为非法(stray)字符;除此之外,计算机编程语言为半角符(占用一个字节的符号,代表为英文输入法),所以解决方法是把中间的全角符(占用两个字节的符号,代表为中文输入法)分号换回来

 3,[Error] '某某某' does not name a type

 这个报错是拼错了某一关键字(前的文章有介绍)而导致的,解决方法是把关键字拼写正确

4,  [Error] '::main' must return 'int'

 为什么这个会报错?这个函数的意思是函数无返回值,但是无论有无return 0都会报错。可能有一些编译器的标准是不一样的,在Dev-C++中,这种写法是错误的,人们对这两个函数有着些争议;后来我意识到,C语言的标准语法是int main()而不是void main()。而C++之父也发表了自己的看法,C/C++ 中从来没有定义过void main( )【附件:Stroustrup: C++ Style and Technique FAQ】所以,解决方法就是把void改为int

以上就是本人的开发日记,都是自己的笔记记录,第二次写日记,如有错误欢迎指正,本人洗耳恭听;以上的问题只是我积累中的一小段,以后我会在另外一个例子中把我学过的报错和解决方法发布                                 PS:入门小白,技术力不高,如果各位大佬要喷,请嘴下留情,谢谢;除此之外这个网站有其他非常优秀的博主和文章,欢迎大家去关注

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值