当前位置:文档之家› 2017年福建省二级C语言试卷真题

2017年福建省二级C语言试卷真题

2017年福建省二级C语言试卷真题
2017年福建省二级C语言试卷真题

(1) 下面叙述正确的是(D )。

A) main( )函数必须位于源程序文件的开头

B) 程序中必需含有自定义函数

C) 每行最多只能写两条语句

D) 所有语句都必须以分号“;”结束

(2) 下面叙述错误的是(D )。

A) C语言规定可逐个引用数组元素但不能一次引用整个数组

B) C语言数组名称是数组在内存中的首地址

C) 数组中每一个元素都属于同一个数据类型

D) C语言数组长度在定义数组时刻不作确定

(3) 以下程序段的运行结果是(C )。

int t[ ][3]={1,2,3,4,5,6,7,8,9,10,11,12};

printf(“%d\n”,t[1][1]);

A) 4

B) 3

C) 5

D) 1

(4) 以下程序段的运行结果是(C )。

char str[3][2]={‘a','b','c','\0','e','f'};

printf(“%s”,str[0]);

A) abc\0ef

B) abcef

C) abc

D) a

(5) 以下程序段的运行结果是(C )。

int f(int c)

{ c+=2;

return c;

}

main( )

{ int a=2,c=5;

a=f(a);

printf(“%d %d \n”,a,c);

}

A) 2 4

C) 4 5

D) 2 5

(6) 下面叙述错误的是(D )。

PRICE

等价的符号常量30”命令的作用是定义一个与#define PRICE 30“A)

B) C源程序中加入一些预处理命令是为了改进程序设计环境,提高编程效率

C) “#include ”命令的作用是在预处理时将stdio.h文件中的实际内容代替该命令

D) 宏定义也是C语句,必须在行末加分号

(7) 若有定义:int a=2,*p=&a;,则以下(A )均表示地址。

A) &a,p

B) a,p

C) a,*p

D) &a,*p

(8) 以下程序段运行后x的值为(C )。

int a[ ]={1,2,3,4,5,6,7,8};

int i,x,*p;

x=1;

p=&a[1];

for (i=0;i<3;i++)

x*=*(p+i);

A) 1

B) 120

C) 24

D) 6

(9) 下列(C )对结构类型变量定义是错误的。

A) struct teacher

{ int num;

int age;

};

struct teacher teach1;

B) struct

{ int num;

int age;

} teach1, teach2;

C) struct

int age;

} teacher;

struct teacher teach1;

D) struct teacher

{ int num;

int age;

} teach1;

(10) 以下程序段运行后,(D )对数组a元素的引用是错误的。(其中0≤i<4,0≤j<3)int i,j,(*p)[3];

int a[ ][3]={1,2,3,4,5,6,7,8,9,10,11,12};

p=a;

A) *(*(a+i)+j)

B) *(*(p+i)+j)

C) p[i][j]

D) *(p[i]+j)

(11) 若有定义:

char ch;

int j,k;

enum day {sun, mon, tue, wed, thu, fri, sat};

int a[sat];

则( C )对下列语句是否符合语法规则的判断是正确的。

sun=0; /*语句1*/

j=mon+tue; /*语句2*/

if (a[mon]>0) j++; /*语句3*/

A) 语句1、2、3均正确

B) 语句2正确,语句1和语句3错误

C) 语句1错误,语句2和语句3正确

D) 语句1、2、3均错误

(12) C语言的基本数据类型包括(A )。

A) 整型、实型、字符型

B) 整型、指针型、字符型

C) 整型、实型、逻辑型

D) 整型、实型、空类型

(13) 下面程序运行后,屏幕显示error!,则可能的原因是(A )。

#include

{

FILE *fp;

char str[256];

fp=fopen(“test.txt”,”rt”);

if (fp= =NULL)

{ printf(“error!:);

return;

}

fscanf(fp,”%s”,str);

fclose(fp);

}

A) 当前工作目录下没有test.txt文件

B) 函数fopen( )的参数是错误的

C) 当前工作目录下的test.txt文件是空文件

D) text.txt文件已经打开

(14)(C )语句符合C语言语法。

int a=b=2,c=5;

A)

B) float x=3.2, int i,j=6;

C) float x=2.3,b,c;

D) int a=2,b+=a;

(15) 若有定义:int x,y,z; 语句x=(y=z=3,++y,z+=y); 运行后x的值为(B )。

A) 6

B) 7

C) 8

D) 3

(16) 若有定义int a=8,b=5;要实现输出形式为:8*5=40,正确的printf( )函数调用语句是(D )。

A) printf(“a*b=a*b\n”);

B) printf(“a*b=%d\n”,a*b);

C) printf(“%d*%d=a*b\n”,a,b);

D) printf(“%d*%d=%d\n”,a,b,a*b);

(17) 若有定义:int a;且表达式!a的值为0,则表达式(B )的值为1。

A) !(a<0||a>0)

B) a!=0

C) a= =0

(18) 下列运算符中优先级最低的是(C )。

A) >

B) *

C) =

D) !

(19) 以下程序段运行后x的值为(C )。

int a=3,b=6,x;

x=(a= =b)?a++:--b;

A) 6

B) 4

C) 5

D) 3

(20) 以下程序段运行后x的值为(A )。

int i=0,x=0;

for (;i<=5;i++,i++)

{x+=3;}

A) 9

B) 15

C) 6

12 D)

(21)(B )是关于C语言数据类型的正确叙述。

A) 枚举类型不是基本类型

B) 变量使用前应定义相应的数据类型

C) 不允许使用空类型

D) 数组不是构造类型

(22)(C )是正确的数组定义。

A) int n=5; int arr[n];

B) int n; n=5; int arr[n];

C) int arr[10];

D) int N=5, arr[N];

(23) 以下程序段运行后a的值为(B )。

int a=2;

a=strcmp(“miss”,”miss”);

A) true

B) 0

C) 1

D) -1

(24) 以下程序段的运行结果是(D )。

int fun(int array[3][3])

{ int j;

for (j=0;j<3;j++) array[1][j]++;

printf(\

);

}

main( )

{ int j,a[3][3]={0,1,2,1,0,4,2,4,5};

fun(a);

for (j=0;j<3;j++) printf(“-”,a[1][j]);

printf(\

);

}

A) 1 0 4

B) 0 1 2

C) 1 2 3

D) 2 1 5

(25) 若有定义:#define PI 3,则表达式PI*2*2的值为(C )。

A) 4

B) 不确定

C) 12

D) 322

(26) 若有定义:int *p1,*p2;,则不能用于指针变量p1、p2之间的运算符是(C )。

A) -

B) =

C) +

D) = =

(27) 若有定义:

struct teacher

{ int num;

char sex;

int age;

} teacher1;

则下面叙述错误的是( A )。

A) teacher1是结构类型名

B) struct teacher是用户定义的结构类型

C) num、sex、age都是结构变量teacher1的成员

D) struct是结构类型的关键字

(28) 下列程序段运行后,表达式(A )的值为3。

struct point

{ int x;

int y;

} *p;

struct point a[3]={1,2,3,4,5,6};

p=a;

A) p[1].x

B) *(p+2)

C) p[3].x

D) p[2].x

(29) 若有定义:

typedef int NUM[100];

NUM n;

则( A )语句是正确的。

A) n[0]=2;

B) NUM=2;

C) NUM=n;

D) n=2;

(30)(D )为非法的字符串常量。

A) “case”

B) ““

C) .”056”

D) ‘123'

(31) 若当前工作目录下有一文本文件test.txt,其内容为cprogram“(不包含引号),则以下程序段的运行结果是( A )。

相关主题
文本预览
相关文档 最新文档