国家开放大学C语言试题及答案Word格式.docx

上传人:b****5 文档编号:18003984 上传时间:2022-12-12 格式:DOCX 页数:13 大小:20.76KB
下载 相关 举报
国家开放大学C语言试题及答案Word格式.docx_第1页
第1页 / 共13页
国家开放大学C语言试题及答案Word格式.docx_第2页
第2页 / 共13页
国家开放大学C语言试题及答案Word格式.docx_第3页
第3页 / 共13页
国家开放大学C语言试题及答案Word格式.docx_第4页
第4页 / 共13页
国家开放大学C语言试题及答案Word格式.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

国家开放大学C语言试题及答案Word格式.docx

《国家开放大学C语言试题及答案Word格式.docx》由会员分享,可在线阅读,更多相关《国家开放大学C语言试题及答案Word格式.docx(13页珍藏版)》请在冰豆网上搜索。

国家开放大学C语言试题及答案Word格式.docx

2

6

8.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其小数部分占用的字符位置个数为(  )。

2正确答案是:

9.在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其整数部分占用的字符位置个数为(  )。

6B. 

4C. 

3D. 

3

10.在scanf()函数调用的格式字符串中,若使用格式符为“%f”,则对应输入的数据类型为(  )。

charB. 

intC. 

floatD. 

double正确答案是:

float

11.在scanf()函数调用的格式字符串中,若使用格式符为“%Lf”,则对应输入的数据类型为(  )。

double

12.每个C程序文件在编译时可能出现有严重性错误,其对应的标识符号为(  )。

warningB. 

errorC. 

warnD. 

err正确答案是:

error

13.在VC++环境下,为运行一个程序而建立的工作区文件的扩展名为(  )。

objB. 

exeC. 

dswD. 

dsp正确答案是:

dsw

二、判断题

1.在C语言中,作为标识符的第一个字符可以是英文字母、数字或下划线字符。

正确的答案是“错”。

2.在C语言中,标识符中的非首字符可以是英文字母、数字或下划线字符。

正确的答案是“对”。

3.当需要在程序文件中引入用户定义的头文件时,使用的不是#include命令。

4.使用#include命令只能包含头文件,不能包含其他任何文件。

5.注释语句的内容只会出现在源程序文件中,不会出现在编译后而生成的目标代码文件中。

6.一条注释语句的最后必须使用分号结束。

7.源程序文件被编译成目标文件后,其目标文件中也存在有对应的注释内容。

8.源程序文件被编译成目标文件后,源程序文件中的注释语句仍然存在。

9.在一条注释语句中,除了注释内容外,不需要使用任何特定的标记符。

10.多行注释语句的开始和结束标记符可以互换使用。

11.在执行“printf("

%5d"

x);

”语句时,其输出的x的值所占用的显示宽度将大于等于5个字符位置。

12.在执行“printf("

%6d"

”语句时,其输出的x的值所占用的显示宽度将小于6个字符位置。

13.在执行“printf("

%8.2f"

”语句时,其输出的x的值所占用的显示宽度将大于等于8个字符位置。

14.在“scanf("

%d%d"

&

x,&

y);

”语句中,x和y变量均为整数类型。

15.在“scanf("

%s"

”语句中,x变量不是字符指针类型。

16.在“scanf("

%d-%d=%d"

y,&

z);

”语句中,有语法错误。

17.在C语言程序上机操作的过程中,连接程序的操作步骤之前是编译程序。

18.在C语言程序上机操作的过程中,需要对每个用户头文件进行单独的编译操作。

19.在C语言程序上机操作的过程中,不能够对用户头文件进行单独的编译操作。

1题目1int类型的长度为(  )。

4

2常数-4.25的数据类型为(  )。

双精度型

题目3一个有符号字符类型的值域范围是(  )。

-128到+127

题目4字符串"

Its\40\n"

的长度为(  )。

5

题目5实数340.25对应的规格化浮点数为(  )。

3.4025e2

题目6要利用const保留字定义整型常量ABC的值为10,则对应的定义语句为(  )。

constintABC=10;

题目7要利用#define命令定义ABC常量的值为100,则对应的命令格式为(  )。

#defineABC==100

下列数值中最大值是(  )。

28%8

题目9在下面运算符中,优先级最高的是( 

)。

!

题目10设有语句序列为“inta=12;

a+=a*a;

”,则执行结束后,a的值为(  )。

156

题目11 

在C语言中,用于比较大小的关系运算符的总数为(  )。

题目12x>

0&

&

y<

=5的相反表达式为(  )。

x<

=0||y>

题目13假定x是一个逻辑量,则(x&

!

x)和(x||!

x)的值分别为( 

0和1

题目14假定x=4.6,则函数ceil(x)的值为( 

5.0

题目15表达式floor(2.3457*100+0.5)/100的值为( 

2.35

常数3.26e4是双精度浮点数。

题目17浮点数只有单精度表示,没有双精度表示。

题目18定点数包括单精度定点数和双精度定点数两种。

题目19定义符号常量只有一种方法,就是采用预处理命令#define的方法。

题目20使用const语句定义一个符号常量时,则必须对它同时进行初始化。

题目21在一条变量定义语句中,定义的变量和赋给它的初值之间只能使用等号(=)。

题目22假定x=5,则表达式2+x++的值为7。

题目23表达式(int)14.6%5的值为0。

题目24表达式x=x+1表示成增量表达式为x++。

题目25假定x=5,则执行“a=(x?

10:

20);

”语句后a的值为10。

题目26逻辑表达式(a>

b||b==5)的相反表达式为(a>

b&

b==5)。

题目27在C语言中,求一个整数的绝对值的数学函数为abs(x)。

题目28在C语言中,退出程序运行的系统函数为exit()。

正确的答案是“对”

一、单项选择题

题目1若x的值为15,则执行“if(x>

10)x++;

elsex--;

”语句后,x的值为( 

16

题目2若x的值为-10,则执行“if(!

x)x++;

-11

题目3若x的值为10,则执行“switch(x%3){case

0:

x++;

case1:

x++;

case2:

}”语句后,x的值为( 

12

题目4若x的值为10,则执行“switch(x%3){case

break;

default:

题目5若n的值为10,则执行“for(i=1;

i<

n;

i++)S;

”语句的过程中,表达式i=1共被执行的次数为( 

1

题目6若n的值为10,则执行“for(i=0;

;

i++)if(i>

n/3)break;

”语句后,i的值为( 

题目7若n的值为10,则执行“for(i=1;

”语句的过程中,表达式i++共被执行的次数为( 

n-1

题目8若n的值为10,则执行“for(i=0;

i++)for(j=i;

j<

j++)S;

”语句后,内层循环体S语句的执行总次数为( 

n(n+1)/2

题目9若n的值为10,则执行“while(n-->

0)

s+=n;

”语句的过程中,循环体被执行的次数为( 

10

题目10若n的值为5,s的值为0,则执行“while(n-->

0)s+=n;

”语句后,s的值为( 

题目11在下列的语句中,必须以分号作为结束的语句是( 

do

题目12若n的值为5,s的值为0,则执行“dos+=n--;

while(n>

0);

15

题目13

要结束任一种循环语句或switch语句的执行,则在其中使用的语句为( 

break

在if语句中,必须带有else子句,不能省略它。

题目15

在for循环语句的头部,for后面括号内共有3个表达式位置。

题目16for循环语句不能够被转换为while循环语句。

题目17while循环语句中的循环体可能不会被执行。

题目18while循环语句的循环体,只能是复合语句,不能是简单语句。

题目19do-while循环语句中的循环体可能不会被执行。

题目20do-while循环语句的循环体,只能是复合语句,不能是简单语句。

题目21do-while循环语句是以循环体结尾的。

正确的答案是“错”

break语句可以使用在switch语句中。

题目23return语句中可以带有返回表达式。

题目24continue只能使用在任一种循环语句的循环体中。

题目1假定有一个元素类型为int的数组a[10],它所占用的存储空间的字节数为( 

40

题目2

假定一维数组的定义为“char*a[8];

”,则该数组所占用的存储空间的字节数为( 

32

题目3假定有一个定义语句为“inta[10]={3,4,2,8,6};

”,则元素a[5]的值为( 

)正确答案是:

题目4在下面的一维数组定义语句中,有语法错误的是( 

inta[];

题目5假定二维数组的定义语句为“inta[3][5];

”,则该数组所含元素的个数为( 

题目6假定有一个定义语句为“inta[3][4]={{3,4},{2,8,6}};

”,则元素a[1][2]的值为( 

题目7

对于一个长度为n的字符串,保存它至少需要占用的存储字节数为( 

n+1

题目8对于一个二维字符数组a[M][N],存储每个字符串的长度至多为( 

N-1

题目9若需要比较两个字符串的大小,则选用的函数是( 

strcmp

题目10一维数组元素带有两个下标。

题目11对于二维数组元素,数组名后使用两对中括号。

题目12在一维数组的定义语句中,给数组赋初值的部分是用一对花括号括起来的数据表。

题目13在一维数组的定义语句中,数组名前为元素类型关键字。

题目14在二维数组的定义语句中,数组名后带有两对圆括号。

题目15假定二维数组的定义语句为“doublea[M][N];

”,则每个数组元素的列下标取值范围在1~N之间。

题目16 

使用“typedefcharBB[10];

”语句定义标识符BB为含有10个元素的一维字符数组。

题目17使用“typedefcharBB[10][50];

”语句定义标识符BB为含有10行50列共500个元素的二维字符数组类型。

题目18一个二维字符数组a[10][20]中存储每个字符串的最大长度为19。

题目1一个指针指向一个数据对象,它保存着该数据对象的地址,若数据对象为DataType类型,则该指针的类型为( 

DataType*

题目2NULL是一个符号常量,通常作为空指针值,它的取值为( 

题目3若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为( 

.正确答案是:

(char*)p

题目4若要定义整型指针p并初始指向x,则所使用的定义语句为( 

int*p=&

x;

题目5假定p所指对象的值为25,p+1所指对象的值为42,则表达式*p++的值为( 

25

题目6假定p是一个指针变量,则该变量的地址表示为( 

t.

p

题目7已知“char*s="

Helloworld!

"

”,要使变量p指向s所指向的同一个字符串,则p应定义为( 

char*p=s;

题目8假定a为一个数组名,则下面表达式中错误的是( 

*a++

题目9已知“char

b[10]=”12345”,*p=b;

”,则*(p+2)的值为( 

)。

'

3'

题目10已知“inta[6][5];

”,则元素a[2][4]的地址比该数组的首地址大( 

56个字节

题目11要使p指向二维整型数组a[10][20],p应定义为( 

int(*p)[20]=a;

题目12执行“int*p=malloc(sizeof(double)*2);

”语句后得到的动态存储空间的字节数为( 

利用动态存储分配创建具有10个字节的一维数组空间的正确语句是( 

char*p=malloc(10);

题目14

在定义指针变量的语句中,对指针变量不允许赋初值。

题目15在定义指针变量的语句“int*p,pp;

”中,p和pp具有相同的数据类型。

题目16在语句“typedef

int*inPointer;

”中,把标识符inPointer定义为int*类型。

题目17假定a是一个一维数组,则a+i的值与&

a[i]的值相等。

题目18已知“inta[10],*p=a;

”,则进行*p++运算是不允许的。

题目19假定a是一个二维数组,则表达式*(a[j]+i)所对应的元素为a[i][j]。

题目20假定a是一个二维数组,则数组名a的值和a[0]的值相等。

题目21进行动态存储分配的calloc()函数带有一个参数。

题目22用于释放动态存储空间的函数为free,调研它需要带有一个参数。

题目23假定a是一个指针数组,则a+i所指对象的地址比a地址大4*i个字节。

单项选择题

在下面的函数声明语句中存在着语法错误的是( 

AA(inta;

intb)

题目2如果一个函数定义仅允许为所在的程序文件调用,则应在该函数定义的最前面添加的关键字为( 

static

题目3假定一个函数定义为“externchar*f1(char*

x){returnx;

}”,表示该函数作用域的关键字为( 

extern

题目4假定一个函数的原型语句为“intff(int*x);

”,一个整型数组为a[10],则下面函数调用表达式不正确的是( 

ff(a[0])

题目5型语句为“intf1(inta[],intn);

”,与数组参数等价的表示为( 

int*a

题目6假定一个函数的参数说明为constinta,则在函数体中不能进行的操作是( 

a=10

题目7在函数体中定义的变量具有( 

局部作用域

题目8在函数外定义的变量,若带有作用域关键字static,则它具有( 

文件作用域

题目9在函数体中定义一个静态变量时,选用的存储属性关键字为( 

题目10假定一个函数原型为“voidff(inta[],intn)”,则对应的函数指针类型为( 

void(*ff)(int*a,int)

函数定义格式中的参数表被称为实参表。

题目12函数定义格式中的参数表被称为形参表。

题目13函数调用参数表中的每个实参可以是表达式。

题目14对于标识为static属性的变量,若没有对它进行初始化,则默认的初值为0。

题目15在函数体中定义一个变量时,若不选用任何存储属性关键字进行标识,则它为静态变量。

题目16在C语言程序中,主函数也可以成为递归函数。

题目17在C语言程序中,除主函数外的任何用户定义的函数都可以是递归函数。

题目1在结构类型的定义中,对于类型标识符后的定义体,使用的起止标记符是一对( 

圆括号

题目2假定一个结构类型的定义为“structA{inta,b;

doublec;

};

”,则该类型的长度为( 

 

题目3假定一个结构类型的定义为“structD{inta;

D*next;

8

题目4

假定有结构定义“structBook{chartitle[20];

doubleprice;

”,则不正确的语句定义为( 

structBookb=("

C++Programming"

27.0)

题目5假定有结构定义“structBook{chartitle[20];

”,则正确的语句定义为( 

structBook*x=calloc(6,sizeof(structBook));

题目6假定要访问一个结构指针变量x中的数据成员a,则表示方法为( 

x->

a

题目7与结构成员访问表达式p->

name等价的表达式为( 

(*p).name

题目8在一个链表中,每个结点必然存在着一个指向自身结点类型的指针域,用来保存下一个结点的( 

地址

题目9假定一个链表的表头指针为f,结点中包含有data和next域,则向该链表的表头插入一个地址为p的结点时,应执行的操作为( 

p->

next=f和f=p

题目10假定一个联合类型的定义为“unionD{inta;

题目11在同一个结构类型的定义中,各数据成员名必须不同。

题目12在结构类型的定义中,其中的数据成员可以是本身类型的指针对象。

题目13在结构类型的定义中,不允许出现结构类型不完整的超前定义。

题目14定义结构类型的同时能够定义它的变量。

题目15定义结构类型的变量时,能够用同类型的其他变量进行初始化,不能用数据表进行初始化。

题目16使用结构类型时,必须一起使用关键字struct和类型标识符。

题目17在一个链表中,表头结点和表尾结点均无后继结点。

题目18在一个链表中,若表头指针的值非空,则表头和表尾结点必然不是同一个结点。

题目19在C语言中,一个结构类型的长度等于所含的所有数据成员类型长度的最大值。

题目1标准输出设备显示器的文件流标识符是( 

stdout

题目2表示文件结束符的符号常量EOF的值为( 

-1

题目3假定一个磁盘数据文件占用n个字节的存储空间,则按字节进行编址的范围是( 

0˜(n-1)

题目4在C语言中,为只写操作打开一个文本文件的方式为( 

w"

题目5在C语言中,文本文件的打开方式共有( 

题目6在C语言中,为读和写操作打开一个二进制文件,若文件不存在则自动建立空文件的打开方式为( 

wb+"

题目7从一个文本文件中读取以换行符结束的一个字符串的系统函数为( 

fgets()

题目8 

向一个文本文件中写入一个字符的系统函数为( 

fputc()

题目9向一个二进制文件中写入数据的系统函数为( 

fwrite()

题目10从一个二进制文件中读取数据的系统函数为fread(),它的参数有( 

4个

题目11一个磁盘数据文件的文件名由文件主名和扩展名所组成,其中间用圆点分开。

题目12当向字符文件输出一个换行符时,实际将输出的是回车符或换行符。

题目13C语言系统中提供一个用来描述文件属性的类型标识符为FILE。

题目14在数据文件打开方式

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 军事

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1