1、计算机二级 C 语言考试 1+2015 年及答案解析(总分:40.00,做题时间:90 分钟)单选1.( )是构成 C 语言程序的基本单位。(分数:1.00)A.函数B.过程C.子程序D.子例程2.C 语言程序从( )开始执行。(分数:1.00)A.程序中第一条可执行语句B.程序中第一个函数C.程序中的 main 函数D.包含文件中的第一个函数3.以下说法中正确的是( )。(分数:1.00)A.C 语言程序总是从第一个定义的函数开始执行B.在 C 语言程序中,要调用的函数必须在 main( )函数中定义C.C 语言程序总是从 main( )函数开始执行D.C 语言程序中的 main( )函数必
2、须放在程序的开始部分4.下列关于 C 语言的说法错误的是( )。(分数:1.00)A.C 程序的工作过程是编辑、编译、连接、运行B.C 语言不区分大小写C.C 程序的三种基本结构是顺序、选择、循环D.C 程序从 main 函数开始执行5.下列正确的标识符是( )。(分数:1.00)A.-a1B.aiC.a2_iD.int t6.下列 C 语言用户标识符中合法的是( )。(分数:1.00)A.3axB.xC.caseD.-e2 E)union7.下列四组选项中,正确的 C 语言标识符是( )。(分数:1.00)A.%xB.a+bC.a123D.1238.下列四组字符串中都可以用作 C 语言程序中
3、的标识符的是( )。(分数:1.00)A.print _3d db8 aBcB.I/am one_half start$it 3paiC.str_1 Cpp pow whileD.Pxq My-book line# His.age9.C 语言中的简单数据类型包括( )。(分数:1.00)A.整型、实型、逻辑型B.整型、实型、逻辑型、字符型C.整型、字符型、逻辑型D.整型、实型、字符型10.在 C 语言程序中,表达式 5%2 的结果是( )。(分数:1.00)A.2.5B.2C.1D.311.下列数据中属于“字符串常量”的是( )。(分数:1.00)A.“a”B.ABCC.abc/0D.a12.
4、C 语言中,关系表达式和逻辑表达式的值是( ) 。(分数:1.00)A.0B.0 或 1C.1D.T或F13.下面( )表达式的值为 4.(分数:1.00)A.11/3B.11.0/3C.(float)11/3D.(int)(11.0/3+0.5)14.设整型变量 a=2,则执行下列语句后,浮点型变量 b 的值不为 0.5 的是( )(分数:1.00)A.b=1.0/aB.b=(float)(1/A)C.b=1/(float)aD.b=1/(a*1.0)15.若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n 的值是( )(分数:1.00)A.1B.4C.4.
5、333333D.4.616.以下对一维数组 a 的正确说明是:( )(分数:1.00)A.char a(10);B.int a;C.int k5,ak;D.char a3=a,b,c;17.以下能对一维数组 a 进行初始化的语句是:( )(分数:1.00)A.int a5=(0,1,2,3,4,)B.inta(5)=C.int a3=0,1,2D.int a5=10*118.在 C 语言中对一维整型数组的正确定义为( )。(分数:1.00)A.int a(10);B.int n=10,an;C.int n;an;D.#define N 10int aN;19.已知:int a10; 则对 a
6、数组元素的正确引用是( )。(分数:1.00)A.a10B.a3.5C.a(5)D.a020.若有以下数组说明,则 i=10;aai元素数值是( )。 int a12=1,4,7,10,2,5,8,11,3,6,9,12;(分数:1.00)A.10B.9C.6D.521.若有说明:int a3=1,2,3,4,5,6,7; 则数组 a 的第一维的大小为:( )(分数:1.00)A.2B.3C.4D.无确定值22.对二维数组的正确定义是( )(分数:1.00)A.int a =1,2,3,4,5,6;B.int a2 =1,2,3,4,5,6;C.int a 3=1,2,3,4,5,6;D.in
7、t a2,3=1,2,3,4,5,6;23.已知 int a34;则对数组元素引用正确的是( )(分数:1.00)A.a24B.a1,3C.a20D.a(2)(1)24.C 语言中函数返回值的类型是由( )决定的.(分数:1.00)A.函数定义时指定的类型B.return 语句中的表达式类型C.调用该函数时的实参的数据类型D.形参的数据类型25.在 C 语言中,函数的数据类型是指( )(分数:1.00)A.函数返回值的数据类型B.函数形参的数据类型C.调用该函数时的实参的数据类型D.任意指定的数据类型26.在函数调用时,以下说法正确的是( )(分数:1.00)A.函数调用后必须带回返回值B.实
8、际参数和形式参数可以同名C.函数间的数据传递不可以使用全局变量D.主调函数和被调函数总是在同一个文件里27.在 C 语言中,表示静态存储类别的关键字是:( )(分数:1.00)A.autoB.registerC.staticD.extern28.未指定存储类别的变量,其隐含的存储类别为( )。(分数:1.00)A.autoB.staticC.externD.register29.若有以下说明语句: struct student int num; char name ; float score; stu; 则下面的叙述不正确的是:( )(分数:1.00)A.struct 是结构体类型的关键字B.
9、struct student 是用户定义的结构体类型C.num, score 都是结构体成员名D.stu 是用户定义的结构体类型名30.若有以下说明语句: struct date int year; int month; int day; brithday; 则下面的叙述不正确的是( ).(分数:1.00)A.struct 是声明结构体类型时用的关键字B.struct date 是用户定义的结构体类型名C.brithday 是用户定义的结构体类型名D.year,day 都是结构体成员名31.以下对结构变量 stul 中成员 age 的非法引用是( ) struct student int ag
10、e; int num; stu1,*p; p= float b; data; int *p; 若要使 P 指向 data 中的 a 域,正确的赋值语句是( )(分数:1.00)A.p=B.p=datA、a;C.p=D.*p=datA、a;33.设有以下说明语句: typedef struct stu int a; float b; stutype; 则下面叙述中错误的是( )。(分数:1.00)A.struct 是结构类型的关键字B.struct stu 是用户定义的结构类型C.a 和 b 都是结构成员名D.stutype 是用户定义的结构体变量名34.语句 int *p;说明了( )。(分数
11、:1.00)A.p 是指向一维数组的指针B.p 是指向函数的指针,该函数返回一 int 型数据C.p 是指向 int 型数据的指针D.p 是函数名,该函数返回一指向 int 型数据的指针35.下列不正确的定义是( )。(分数:1.00)A.int *p=B.int *p,i;C.int i,*p=D.int i,*p;36.若有说明:int n=2,*p=则( )是对指针变量 p 的正确定义和初始化。(分数:1.00)A.int p=*a;B.int *p=a;C.int p=D.int *p=38.若有说明语句“int a5,*p=a;”,则对数组元素的正确引用是( )。(分数:1.00)A
12、.apB.paC.*(p+2)D.p+239.有如下程序 int a10=1,2,3,4,5,6,7,8,9,10,*P=a; 则数值为 9 的表达式是( )(分数:1.00)A.*P+9B.*(P+8)C.*P+=9D.P+840.在 C 语言中,以( )作为字符串结束标志(分数:1.00)A./nB. C.0D./0计算机二级 C 语言考试 1+2015 年答案解析(总分:40.00,做题时间:90 分钟)单选1.( )是构成 C 语言程序的基本单位。(分数:1.00)A.函数 B.过程C.子程序D.子例程解析:2.C 语言程序从( )开始执行。(分数:1.00)A.程序中第一条可执行语句
13、B.程序中第一个函数C.程序中的 main 函数 D.包含文件中的第一个函数解析:3.以下说法中正确的是( )。(分数:1.00)A.C 语言程序总是从第一个定义的函数开始执行B.在 C 语言程序中,要调用的函数必须在 main( )函数中定义C.C 语言程序总是从 main( )函数开始执行 D.C 语言程序中的 main( )函数必须放在程序的开始部分解析:4.下列关于 C 语言的说法错误的是( )。(分数:1.00)A.C 程序的工作过程是编辑、编译、连接、运行B.C 语言不区分大小写 C.C 程序的三种基本结构是顺序、选择、循环D.C 程序从 main 函数开始执行解析:5.下列正确的
14、标识符是( )。(分数:1.00)A.-a1B.aiC.a2_i D.int t解析:6.下列 C 语言用户标识符中合法的是( )。(分数:1.00)A.3axB.x C.caseD.-e2 E)union解析:7.下列四组选项中,正确的 C 语言标识符是( )。(分数:1.00)A.%xB.a+bC.a123 D.123解析:8.下列四组字符串中都可以用作 C 语言程序中的标识符的是( )。(分数:1.00)A.print _3d db8 aBc B.I/am one_half start$it 3paiC.str_1 Cpp pow whileD.Pxq My-book line# His
15、.age解析:9.C 语言中的简单数据类型包括( )。(分数:1.00)A.整型、实型、逻辑型B.整型、实型、逻辑型、字符型C.整型、字符型、逻辑型D.整型、实型、字符型 解析:10.在 C 语言程序中,表达式 5%2 的结果是( )。(分数:1.00)A.2.5B.2C.1 D.3解析:11.下列数据中属于“字符串常量”的是( )。(分数:1.00)A.“a” B.ABCC.abc/0D.a解析:12.C 语言中,关系表达式和逻辑表达式的值是( ) 。(分数:1.00)A.0B.0 或 1 C.1D.T或F解析:13.下面( )表达式的值为 4.(分数:1.00)A.11/3B.11.0/3
16、C.(float)11/3D.(int)(11.0/3+0.5) 解析:14.设整型变量 a=2,则执行下列语句后,浮点型变量 b 的值不为 0.5 的是( )(分数:1.00)A.b=1.0/aB.b=(float)(1/A) C.b=1/(float)aD.b=1/(a*1.0)解析:15.若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n 的值是( )(分数:1.00)A.1 B.4C.4.333333D.4.6解析:16.以下对一维数组 a 的正确说明是:( )(分数:1.00)A.char a(10);B.int a;C.int k5,ak;D.ch
17、ar a3=a,b,c; 解析:17.以下能对一维数组 a 进行初始化的语句是:( )(分数:1.00)A.int a5=(0,1,2,3,4,)B.inta(5)=C.int a3=0,1,2 D.int a5=10*1解析:18.在 C 语言中对一维整型数组的正确定义为( )。(分数:1.00)A.int a(10);B.int n=10,an;C.int n;an;D.#define N 10int aN; 解析:19.已知:int a10; 则对 a 数组元素的正确引用是( )。(分数:1.00)A.a10B.a3.5C.a(5)D.a0 解析:20.若有以下数组说明,则 i=10;a
18、ai元素数值是( )。 int a12=1,4,7,10,2,5,8,11,3,6,9,12;(分数:1.00)A.10B.9C.6 D.5解析:21.若有说明:int a3=1,2,3,4,5,6,7; 则数组 a 的第一维的大小为:( )(分数:1.00)A.2B.3 C.4D.无确定值解析:22.对二维数组的正确定义是( )(分数:1.00)A.int a =1,2,3,4,5,6;B.int a2 =1,2,3,4,5,6;C.int a 3=1,2,3,4,5,6; D.int a2,3=1,2,3,4,5,6;解析:23.已知 int a34;则对数组元素引用正确的是( )(分数:
19、1.00)A.a24B.a1,3C.a20 D.a(2)(1)解析:24.C 语言中函数返回值的类型是由( )决定的.(分数:1.00)A.函数定义时指定的类型 B.return 语句中的表达式类型C.调用该函数时的实参的数据类型D.形参的数据类型解析:25.在 C 语言中,函数的数据类型是指( )(分数:1.00)A.函数返回值的数据类型 B.函数形参的数据类型C.调用该函数时的实参的数据类型D.任意指定的数据类型解析:26.在函数调用时,以下说法正确的是( )(分数:1.00)A.函数调用后必须带回返回值B.实际参数和形式参数可以同名 C.函数间的数据传递不可以使用全局变量D.主调函数和被
20、调函数总是在同一个文件里解析:27.在 C 语言中,表示静态存储类别的关键字是:( )(分数:1.00)A.autoB.registerC.static D.extern解析:28.未指定存储类别的变量,其隐含的存储类别为( )。(分数:1.00)A.auto B.staticC.externD.register解析:29.若有以下说明语句: struct student int num; char name ; float score; stu; 则下面的叙述不正确的是:( )(分数:1.00)A.struct 是结构体类型的关键字B.struct student 是用户定义的结构体类型C.
21、num, score 都是结构体成员名D.stu 是用户定义的结构体类型名 解析:30.若有以下说明语句: struct date int year; int month; int day; brithday; 则下面的叙述不正确的是( ).(分数:1.00)A.struct 是声明结构体类型时用的关键字B.struct date 是用户定义的结构体类型名C.brithday 是用户定义的结构体类型名 D.year,day 都是结构体成员名解析:31.以下对结构变量 stul 中成员 age 的非法引用是( ) struct student int age; int num; stu1,*p;
22、 p= float b; data; int *p; 若要使 P 指向 data 中的 a 域,正确的赋值语句是( )(分数:1.00)A.p=B.p=datA、a;C.p= D.*p=datA、a;解析:33.设有以下说明语句: typedef struct stu int a; float b; stutype; 则下面叙述中错误的是( )。(分数:1.00)A.struct 是结构类型的关键字B.struct stu 是用户定义的结构类型C.a 和 b 都是结构成员名D.stutype 是用户定义的结构体变量名 解析:34.语句 int *p;说明了( )。(分数:1.00)A.p 是指
23、向一维数组的指针B.p 是指向函数的指针,该函数返回一 int 型数据C.p 是指向 int 型数据的指针 D.p 是函数名,该函数返回一指向 int 型数据的指针解析:35.下列不正确的定义是( )。(分数:1.00)A.int *p= B.int *p,i;C.int i,*p=D.int i,*p;解析:36.若有说明:int n=2,*p=则( )是对指针变量 p 的正确定义和初始化。(分数:1.00)A.int p=*a;B.int *p=a; C.int p=D.int *p=解析:38.若有说明语句“int a5,*p=a;”,则对数组元素的正确引用是( )。(分数:1.00)A.apB.paC.*(p+2) D.p+2解析:39.有如下程序 int a10=1,2,3,4,5,6,7,8,9,10,*P=a; 则数值为 9 的表达式是( )(分数:1.00)A.*P+9B.*(P+8) C.*P+=9D.P+8解析:40.在 C 语言中,以( )作为字符串结束标志(分数:1.00)A./nB. C.0D./0 解析: