一、选择题
1. 有如下程序:
程序运行后的输出结果是( )。
A.4,4
B.0,1
C.1,4
D.0,4
答:A
【解析】程序执行过程为:定义整型变量a=0与指针ptr ,使指针指向变量a 。对指针指向的变量进行赋值a=3,将指针所指向变量加1,并赋值给a=4,此时指针依然指向变量a ,输出a 与指针指向的变量值:4,4,故A 项正确。
2. 有以下程序段
程序的输出结果是( )。
A.a=10b=50c=30
B.a=10b=50c=10
C.a=10b=30c=10
D.a=50b=30c=50
答:B
【解析】C 语言中使用;来作为语句的结束,所以a=b, b=c; 是一条语句。if 条件不满足,直接执行c=a。
3. 有以下程序:
程序运行后的输出结果是( )。
A.1
B.2
C.4
D.8
答:D
【解析】f (l )输出2,然后调用f (2)输出4, 再调用f (4)输出8。
4. 以下选项中叙述正确的是( )。
A. 函数体必须由{开始
B.C 程序必须由main 语句开始
C.C 程序中的注释可以嵌套
D.C 程序中的注释必须在一行完成
答:A
【解析】函数体是函数首部下面的花括号内的部分,所以函数体必须由{开始,A 选项正确。一个源程序文件可以包括预处理命令、全局声明、函数定义,程序总是从main 函数开始执行的,不是main 语句,B 选项错误。C 程序中允许两种注释,以//开头的单行注释;以/*开始,以*/结束的块式注释,D 选项错误。函数可以嵌套,注释不能嵌套,C 选项错误。
5. 设有定义语句则以下叙述中正确的是( ) 。
A.f 是基类型为int 的指针变量
B.f 是指向函数的指针变量,该函数具有一个int 类型的形参
C.f 是指向int 类型一维数组的指针变量
D.f 是函数名,该函数的返回值是基类型为int 类型的地址
答:B
【解析】在C 语言中函数名代表该函数的入口地址,因此可以定义一种指向函数的指针来存放这类地址,int Of) (int ); ,其中f 为指向函数的指针变量,指向有一个整型变量且返回值也为整型的函数,第一个int 为函数 返回值的类型,第二个int 为函数的形参类型。
6. 以下叙述正确的是( )。
A.do —while 语句构成的循环,当while 语句中的表达式值为0时结束循环
B.do 一while 语句和while —do 构成的循环功能相同
C.while 一do 语句构成的循环,当while 语句中的表达式值为非0时结束循环
D.do —while 语句构成的循环,必须用break 语句退出循环
答:A
【解析】本题执行过程为:输入
句,跳出分支结构;输入
入首先匹配easeO , 依次输出6, 6, 后执行break 语匹配case2,输出8,执行break 语句,跳出分支结构;输
匹配casel ,匹配default ,输出9,执行break 语句,跳出分支结构;输入
依次输出7,7, 执行break 语句,跳出分支结构。输入回车,结束循环。故A 选项正确。
7. C 语言程序中,若函数无返回值,则应该对函数说明的类型是( )。
A.int
B.double
C.char
D.void
答:D
【解析】A 项,int 表示返回值是整型;B 项,double 表示返回值是双精度型;C 项,char 表示返回值是字符型;D 项,void 表示无返回值。
8. 以下叙述中正确的是( )。
A.C 程序的基本组成单位是语句
B.C 程序中的每一行只能写一条语句
C. 简单C 语句必须以分号结束
D.C 语言必须在一行内写完
答:C
【解析】C 程序的基本组成单位是函数,A 项错误;C 程序以分号作为每个语句结尾,一行能写多条语句, 也可以将一条语句分几行书写,BD 两项错误;而简单C 语言语句必须以分号结束,所以C 项正确。
9. 下列叙述中错误的是( ) 。
A.C 程序在运行过程中所有的计算都以二进制方式进行
B.C 程序在运行过程中所有的计算都以十进制方式进行
C. 所有的C 程序都需要在连接无误后才能运行
D.C 程序中整型变量只能存放整数,实型变量只能存放浮点数
答:B
【解析】在C 程序运行过程中,编译器的作用是将程序转换为目标代码,目标代码都是二进制的。