一、选择题
1. 若有定义:
A.ps[0]是字符串”aa” B. C. D.
是字符串”aa”的首地址 是字符串”aa”的首地址 是字符串”aa”
则以下叙述正确的是( )。
【答案】C
ps 是指针变量,ps[0]指向的是数组首个元素的地址,【解析】定义一个字符串数组指针ps 后,即字符串“aa” 的首地址,C 项正确。
2. 有如下程序:
程序运行后的输出结果是( )。 A.25 B.13 C.9 D.12
【答案】B
【解析】带参数的宏定义不是进行简单的字符串替换,而是要进行参数替换。替换过程是:用宏调用提供的实参字符串,直接置换宏定义命令行中相应形参字符串,非形参字符保持不变。,进行替换为调用函数D (i+j)
3. 有如下程序:
第 2 页,共 37 页
输出13,故B 选项正确。
程序运行后的输出结果是( )。
【答案】A
【解析】可用以下3种形式来引用结构体变量中的成员:①结构体变量名. 成员名;②指针变量名>成员名;③(*指针变量名). 成员名。数组名是指向数组首地址,也可以当做指向数组的指
针来使用。
元素
指向数组第三个元素
运行后的输出结果是
为字符串
A 项正确。
指向数组第一个
4. 以下叙述正确的是( )。
A.C 程序总是以main ( )作为程序执行的起始行 B.main ( )函数若不带参数,其后面的一对圆括号可省略 C. 函数体内的定义语句和可执行语句允许任意穿插出现 D.C 语言中的语句之间必须用分号作为分隔符 【答案】A
【解析】main ( )函数后面的括号告诉编译器这是一个函数,不可以省略,排除B 选项;在复合语句中,不仅可以有执行语句,还可以有定义语句,定义语句应该出现在执行语句的前面,故排除C 选项;C 语言中的某些语句可以不用分号,例如if 语句,宏定义,故D 选项错误;答案为A 选项。
5. 有以下程序:
程序的运行结果是( )。 A.4 B.5 C.6 D.7
【答案】C
【解析】fun 函数是递归函数,用来计算从0到n 的整数和。调用fun 函数,n=3,
返回
【程序有错,
第 3 页,共 37 页
应为】
6. 有以下程序:
程序运行后的输出结果是( )。 A.1, 2 B.3, 4 C.5, 6
D.123, 456 【答案】C
【解析】程序中首先定义一个一维数组,然后将数组中的值写入到5和6。
7. 以下叙述中错误的是( )。
A. 函数的返回值类型不能是结构体类型,只能是简单类型 B. 函数可以返回指向结构体变量的指针
C. 可以通过指向结构体变量的指针访问所指结构体变量的任何成员 D. 只要类型相同,结构体变量之间可以整体赋值 【答案】A
【解析】函数的返回值类型可以是结构体类型,也可以是指向结构体变量的指针类型,相同类型结构体变量 之间可以整体赋值,可以通过指针变量引用结构体成员。
8. 若有定义则不符合C 语言规定的赋值语句是( )。
【答案】C
【解析】C 项错误,在C 语言的算术运算符中,取余运算符必须是整数。
A 项,赋值运算符的优先级高于“,”运算法,先进行赋值;B 项,将
第 4 页,共 37 页
中,然后再从中
读出数组中的元素,每次读出2个元素,分别赋值给k 和n , 循环执行3次,故最终k 和n 的值为
的左右两侧的两个运算分量
右边的逻辑表达式
北方民族大学c语言期末考试试题 北方民族大学计算机应用技术832C语言程序设计与数据结构之C程序设计考研题库...