[单选题]1.C语言程序从()开始执行。
A.程序中的main函数
B.程序中第一个函数
C.程序中第一条可执行语句
D.包含文件中的第一个函数
参考答案:A
参考解析:C语言程序最大的特点就是所有的程序都是用函数来装配的。main()称为主函数,是所有程序运行的入口。其余函数分为有参或无参两种,均由main()函数或其他一般函数调用,若调用的是有参函数,则参数在调用时传递。
[单选题]2.下列说法中错误的是()。
A.构成数组的所有元素的数据类型必须是相同的
B.用指针法引用数组元素允许数组元素的下标越界
C.定义数组时的长度可以是整型常量表达式
D.一维数组元素的下标依次是0,1,2,3…一
正确答案:D
参考解析:数组是相同元素的集合,所以构成数组的所有元素的数据类型必须是相同的,A正确。逐个引用数组元素不容许数组元素下标越界,但用指针法引用数组元素可以让数组元素下标越界,B项正确,一维数组元素的下标依次为:0,1,2,3……故D项错误。定义数组时的长度可以是整型常量表达式,C项正确。
[单选题]3.设有数据说明:intx,y,z,*p=x&,*Q=&y,*r=&z;下面能将x,y值交换的程序段是()。
A.r=p;p=Q;Q=r
B.r=x;x=y;y=r
C.*r=*p;*p=*Q;*Q=*r
D.z=p;p=Q;p=z
正确答案:C
参考解析:A项只改变了指针p,Q,r的指向,并未交换x,y的值;指针p,Q,r和变量x,y,z不能直接赋值,B项和D项错误;C项正确。
[单选题]4.下列不属于C语言中关键字的是()。
A.print
B.long
C.default
D.typedef
正确答案:A
参考解析:long是表示长整形数据类型、default表示默认值、typedef是存储类关键字,都是C语言提供的合法关键字,而print不是C语言的关键字,printf才是用于输出的关键字,故A是错误的。
[单选题]5.

A.5
B.6
C.7
D.无限
正确答案:B
参考解析:程序运行的结果为“543210”,这时i的值为0,跳出了循环,由此可知while循环执行了6次。
[单选题]6.为表示逻辑表达式79<X<90,应使用的C语言表达式是()。
A.79<X<90
B.(X>79)!=(X<90)
C.(X>79)&&(X<90)
D.(X>79)
(<90)
正确答案:C
参考解析:79<X<90,这种写法是数学上的表达方法,是判断79<x同时x<90,C语言中逻辑“与”为“&&”,“||”表示逻辑“或”,“!=”表示不等号。故正确表达式为:(X>79)&&(X<90)。
[单选题]7.在C语言中对一维整型数组的正确定义为()。
A.#defineN10inta[N];
B.intn=10,a[n];
C.intn;a[n];
D.inta(10);
正确答案:A
参考解析:一维整数数组的定义为int数组名[常量表达式]。(1)数组名的命名方法与变量名相同,遵循标识符命名规则;(2)数组是用方括号括起来的常量表达式,不能用圆括号,故D项错误;(3)常量表达式表示数组元素的个数,即数组的长度,数组的下标从0开始,下标的最大值为:常量表达式-1;(4)常量表达式中可以包括常量和符号常量,不能包括变量。故B项C项错误。A项中N是预定义符,是常量,故正确。
[单选题]8.请选出可用作C语言用户标识符的一组标识符()。
A.void
B.a3_b3
C.For
D.2a
正确答案:B
参考解析:C语言用户标识符命名规则为:①只能由字母、数值和下画线3种字符组成;②第一个字符必须是字母或下画线;③不能与C语言中的关键字或保留字相同。A、C为C语言中关键字,D以数字作为第一个字符,均不符合命名规则,故本题选B。
[单选题]9.设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是()。
A.!(a<=10)&&!(a>=15)
B.10<a<15
C.a==11
A.=12
A.=13
A.=14
D.a>10&&a<15
正确答案:B
参考解析:10<a<15这种写法是数学上的表达方法,在C语言中,如果写成这样,程序编译并不报错,这也是一个合法的逻辑运算表达式。先计算10<a,结果是真(1)或假(0),然后再用这个结果与15进行比较,得到最终结果。故B项错误。在C语言中逻辑“与”为“&&”,“||”表示逻辑“或”,“!”表示逻辑“非”。故B项a==11||a==12||a==13||a==14可表示大于10小于15的整数,A项!(a<=10)&&!(a>=15)表示不满足a<=10且不满足a>=15,也就是10<a<15,故A也正确。
[单选题]10.C++中,对于两个函数,若函数名相同,但是下列哪项不同则不是重载函数()。
A.参数类型
B.参数个数
C.函数类型
D.参数顺序
正确答案:C
参考解析:重载函数是函数的一种特殊情况,为方便使用,C++允许在同一范围中声明几个功能类似的同名函数,但是这些同名函数的形式参数(指参数的个数、类型或者顺序)必须不同。
[单选题]11.

A.24
B.25
C.26
D.27
正确答案:D
参考解析:先运算累加后执行。+*x是x指向内存的值先自增1,再取该值。
[单选题]12.在函数调用时,以下说法正确的是()。
A.函数间的数据传递不可以使用全局变量
B.实际参数和形式参数可以同名
C.函数调用后必须带回返回值
D.主调函数和被调函数总是在同一个文件里
正确答案:B
参考解析:形式参数就是在定义函数或过程的时候命名的参数,也就是一个记号。实际参数是在执行时,调用函数或过程时,传递给函数或过程的参数,也是实际值。形式参数和时间参数可以同名也可以不同名,故B项正确。C项中函数调用后不是必须带回返回值,这个和函数定义的类型有关,void类型的就不需要返回值。A项中函数间的数据传递可以使用全局变量,也可以使用局部变量。D项中主调函数和被调函数可以在同一个文件里。
[单选题]13.

A.2
B.4
C.8
D.无线递归
正确答案:A
参考解析:第一次调用f(1),则x=1,执行(x>0)?x*f(x-1):2)后,得到1*f(0);第二次调用f(0),则x=0,执行(x>0)?x*f(x-1):2)后,得到2;最后运算结果是2。
[单选题]14.用数组名作为函数调用时的实参时,传递给形参的是()。
A.数组首地址
B.数组第一个元素的值
C.数组全部元素的值

泽熙美文