因为我们是自学,跳过了基础知识的掌握,没有系统的学习c语言,但我们要是直接去学c语言基础的话,过程十分枯燥,而且没有什么意思
所以我们以做历年计算机二级考试c语言真题来学习c语言基础知识
废话不多说,我们开始第一道题:
1.C语言规定,在一个源程序中main函数的位置 ______ 。
A.必须在最开始 B.必须在最后
C.必须在预处理命令的后面 D.可以在其他函数之前或之后
main函数就是主函数,是C语言编译系统提供的特殊函数,不能定义在其他的函数体内,不管主函数在程序里的任何一个位置,程序都会首先执行主函数的第一行语句。
听的很懵吗?
没事,我们列成点来讲:
1.main函数就是主函数
2.程序不管怎么样都会首先执行主函数的第一行语句
3.主函数不能被定义在其他函数体内
所以这道题的答案是:D
怎么样,你答对了吗?
2.以下叙述中正确的是________ 。
A.C语言系统以函数为单位编译源程序
B.main函数必须放在程序开始
C.用户定义的函数可以被一个或多个函数调用任意多次
D.在一个函数体内可以定义另外一个函数
这种题目就得一个一个选项去看了,首先我们看A选项,C语言系统是以程序为单位编译源程序,程序是由函数组成的,所以A选项错误。
接着我们看B选项,上一题我们才讲了主函数不管放在程序哪里,都会被首先执行,所以主函数不需要放在程序开始,所以B选项错误。
然后我们看C选项,在C语言中,除了主函数不能被反复调用以外,其他函数都可以被反复调用,所以C选项正确。
最后我们看D选项,函数不能定义在其他函数体内,也就是传说中的不能嵌套定义,所以D选项错误。
所以,这道题选C。
怎么样,你答对了吗?
3.以下叙述中正确的是_________ 。
A.在编译时可以发现注释中的拼写错误
B.C语言程序的每一行只能写一条语句
C.main(){}必须位于程序的开始
D.C语言程序可以由一个或多个函数组成
这道题我们先看A选项,因为注释会被程序跳过,被程序忽略,程序理都不会理一下注释,所以注释中的拼写错误是不会被程序发现的,也就是编译时发现不了注释中的拼写错误。
接着我们看B选项,在c语言中,每一行可以写多条语句,也可以一条语句写多行,所以B选项错误。
PS.如果对B选项存疑的话,可以自己去动手敲一下,然后就知道了,还是要实操!!!
然后我们看C选项,主函数不需要看位置,连续三道题了,看来这个考点很受出题老师欢迎啊所以C选项错误。
最后看D选项,C语言程序的确可以由一个或多个函数组成,所以D选项正确。
所以这道题选D
4.以下关于C语言源程序的叙述中错误的是________。
A.一个C源程序由若干个函数定义组成,其中必须有且仅有一个名为main的函数定义
B.函数定义由函数头部和函数体两部分组成
C.在一个函数定义的函数体中允许定义另一个函数
D.在一个函数定义的函数体中允许调用另一个函数或调用函数自身
废话也不想多说了
直接看选项
A选项,一个C源程序由一个或多个函数定义而组成,主函数是必不可少的,所以A选项正确,所以选A吗?
不,这道题要选说法错误的,所以同学们考试的时候,一定要看清楚题目!!!
A选项说法正确,但这道题不选A选项。
我们看B选项,函数的定义必须包含函数的头部和函数体,所以B选项也正确
我们看C选项,在一个函数体内,不能定义另一个函数,这样就造成了嵌套定义,从而报错,但嵌套调用时没问题的,所以这道题选C
我们看D选项,这里嵌套调用,也就是在这个函数里调用其他函数,这是没问题的,递归调用就是调用自身,这个也是没问题的,所以D选项正确。
5.以下选项中,___________ 是C语言关键字。
A.printf B.include C.fun D.default
printf和include是预定义标识符,default是c语言关键字,在switch语句中,如果条件不满足每一个case,那就要用到default语句了,fun是用户自定义的标识符,所以这道题选D
6.以下定义和声明中,语法均有错误的是___________。
①int _f(int x){} ②int f(int f){} ③int 2x=1; ④struct for{int x;};A.②③ B.③④ C.①④ D.①②③④
1里面的以下划线开头,这个是没有问题的
2里面以字母开头,这个也是没有问题的
3里面以数字开头,这个就是有问题的
4里面定义的结构体类型名for属于关键字,不能作为结构体类型名,所以有问题
所以这道题选B
每天六道题,解决掉基础知识,我们一起加油!!!