您当前所在位置:自考本科 > 网站地图 > 备考资料 > 模拟试题 > 工学类 > C语言程序设计 > 2018年自考《C语言程序设计》试题六

2018年自考《C语言程序设计》试题六

2018-04-18 13:53:11  来源:中国教育在线

2018年自考《C语言程序设计》试题六

21.对字符数组str赋初值,str不能作为字符串使用的一个是____。

A) char str[]='shanghai';

B) char str[]={'shanghai'};

C) char str[9]={'s','h','a','n','g','h','a','i'};

D) char str[8]={ 's','h','a','n','g','h','a','i'};

22.如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为____。

A) 静态变量   B) 动态变量   C) 外部变量    D) 内部变量

23.在一个C源程序文件中,若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要使用的存储类别是____。

A) extern     B) register     C) auto     D) static

24.定义一个函数实现交换x和y的值,并将结果正确返回。能够实现此功能的是____。

A) swapa(int x,int y)            B) swapb(int *x,int *y)

{ int temp;                     { int temp;

temp=x;x=y;y=temp;         temp=x;x=y;y=temp;

}                              }

C) swapc(int *x,int *y)          D) swapd(int *x,int *y)

{ int temp;                     { int *temp;

temp=*x;*x=*y;*y=temp;     temp=x;x=y;y=temp;

}                              }

25.在下列结论中,只有一个是错误的,它是____。

A) C语言允许函数的递归调用

B) C语言中的continue语句,可以通过改变程序的结构而省略

C) 有些递归程序是不能用非递归算法实现的

D) C语言中不允许在函数中再定义函数

26.说明语句'int (*p)( );'的含义是____。

A) p是一个指向一维数组的指针变量

B) p是指针变量,指向一个整型数据

C) p是一个指向函数的指针,该函数的返回值是一个整型

D) 以上都不对

27.设有说明int (*p)[4];其中的标识符p是____。

A) 4个指向整型变量的指针变量

B) 指向4个整型变量的函数指针

C) 一个指向具有4个整型元素的一维数组的指针

D) 具有4个指向整型变量的指针元素的一维指针数组

28.已知:char s[10], *p=s,则在下列语句中,错误的语句是____。

A) p=s+5; B) s=p+s; C) s[2]=p[4]; D) *p=s[0];

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

int (*ptr)[3]=a,*p=a[0];

则以下能够正确表示数组元素a[1][2]的表达式是____。

A) *(*(a+1)+2)    B) *(*(p+5))    C) (*ptr+1)+2    D) *((ptr+1)[2])

30.已知:int a[ ]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a;则值为3的表达式是____。

A) p+=2,*(p++)    B) p+=2,*++p     C) p+=2,*p++    D) p+=2,++*p

32.函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。能正确执行此功能的函数是____。

A) funa (int *x, int *y)           B) funb (int x, int y)

{ int *p;                      { int t;

p=x;*x=*y;*y=*p;          t=x;x=y;y=t;

}                             }

C) func (int *x, int *y)            D) func (int *x, int *y)

{ *x=*y;*y=*x;              { *x=*x+*y;*y=*x-*y;*x=*x-*y;

}                             }

33.有定义如下:

struct sk

{ int a;

float b;

}data ,*p;

如果 p=&data;则对于结构变量data的成员a的正确引用是____。

A)(*).data.a    B) (*p).a    C) p->data.a    D) p.data.a

34.已知:

struct st

{ int n;

struct st *next;

};

static struct st a[3]={1,&a[1],3,&a[2],5,&a[0]},*p;

如果下述语句的显示是2,则对p的赋值是____。

printf('%d',++(p->next->n));

A) p=&a[0]; B) p=&a[1]; C) p=&a[2]; D) p=&a[3];

35.fscanf函数的正确调用形式是____。

A) fscanf (文件指针, 格式字符串, 输出列表);

B) fscanf (格式字符串, 输出列表, 文件指针);

C) fscanf (格式字符串, 文件指针, 输出列表);

D) fscanf (文件指针, 格式字符串, 输入列表);

36.使用fgetc函数,则打开文件的方式必须是____。

A) 只写    B) 追加    C) 读或读/写     D) 参考答案B和C都正确

37.已知宏定义

#define N 3

#define Y(n) ((N+1)*n)

执行语句z=2*(N+Y(5+1));后,变量z的值是____。

A) 42    B) 48    C) 52    D) 出错

38.已知宏定义 #define SQ(x) x*x,执行语句printf('%d',10/SQ(3));后的输出结果是____。

A) 1    B) 3    C) 9    D) 10

你可能感兴趣的试题
1
意向表
2
学习中心老师电话沟通
3
查看评估报告
1、年龄阶段

2、当前学历

3、提升学历目标

4、意向学习方式

报考所在地
*
*
*

查看成人高考最新资讯 查看远程教育最新资讯

自考专业快选

自考热门专题

自考热议话题

自考推荐文章