国家开放大学《C语言程序设计》章节测试参考答案.docx

上传人:国**** 文档编号:67375752 上传时间:2022-12-24 格式:DOCX 页数:83 大小:90.46KB
返回 下载 相关 举报
国家开放大学《C语言程序设计》章节测试参考答案.docx_第1页
第1页 / 共83页
国家开放大学《C语言程序设计》章节测试参考答案.docx_第2页
第2页 / 共83页
亲,该文档总共83页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《国家开放大学《C语言程序设计》章节测试参考答案.docx》由会员分享,可在线阅读,更多相关《国家开放大学《C语言程序设计》章节测试参考答案.docx(83页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、国家开放大学C语言程序设计章节测试参考答案第一章 C语言概述自测练习一:C语言字符集 自测练习1.在C语言字符集中,包含有全部26个英文大写字母和对应的小写字母。()2.在C语言字符集中,一个大写英文字母和它的小写英文字母被视为不同的字符。()3.在C语言程序中, ABC和abc被作为同一标识符使用。()自测练习二: C语言字符集 自测练习1.在C语言中,保留字是有专门含义和作用的,不能作为一般标识符使用。()2.在C语言中,作为标识符的第一个字符只能是英文字母或下划线,不能是数字字符。()3.C语言中使用的字符常量,其起止标记符是( )。a. 双引号b. 尖括号c. 单引号d. 中括号4.C

2、语言中使用的字符串常量,其起止标记符是( )。a. 双引号b. 中括号c. 尖括号d. 单引号自测练习三:C语句分类 自测练习1.在C语言中,一条简单语句的结束符是( )。a. 分号b. 空格c. 冒号d. 逗号2.在C语言中,每条复合语句的开始标记字符为( )。a. b. c. (d. 3.不符合C语言规定的复合语句是( )。a. x=0; b. c. ;d. y=10 4.C语言中的选择类语句有两条,它们是( )。a. else和caseb. if和switchc. if和elsed. switch和case自测练习四:函数分类与使用 自测练习1.在每个C语言程序中都必须包含有这样一个函数

3、,该函数的函数名为( )。a. nameb. mainc. MAINd. function2.C语言程序中的基本功能模块为( )。a. 标识符b. 函数c. 表达式d. 语句3.一个函数定义所包含的两个部分是( )。a. 函数头和函数体b. 函数原型和函数体c. 函数名和参数表d. 函数头和函数尾4.一个程序文件开始使用的每条预处理命令,其首字符必须是( )。a. #b. c. %d. $5.在一个程序文件中,若要使用#include命令包含一个系统头文件,则此头文件所使用的起止定界符为一对( )。a. 双引号b. 花括号c. 尖括号d. 单引号6.在一个函数定义中,函数体的格式是一条复合语句

4、。()7.一个函数必须返回一个值,不允许定义不返回任何值的函数。()8.若要在程序文件中使用数学函数,则需要引入的系统头文件为math.h。()9.若要在程序文件中使用标准输入和输出函数,则需要引入的系统头文件为stdio.h。()自测练习五:C语言程序的层次结构 自测练习1.在C语言程序中,单行或行尾注释使用的标记符为( )。a. /b. *c. /*d. */2.在C语言程序中,多行注释使用的结束标记符为( ).a. /*b. *c. */d. /3.在程序文件中添加注释内容是为了增强程序的可读性。()4.在一行中出现多条语句时,注释语句只能为最后一条语句。()自测练习六:标准输出函数pr

5、intf()的使用 自测练习1.用于输出表达式值的标准输出函数是( )。a. print()b. scanf()c. output() d. printf()2.在printf()函数调用的格式字符串中,每个格式符的先导字符为( )。a. #b. c. $d. %3.在printf()函数调用的格式字符串中,若使用格式符为“%d”,则对应输出的数据类型为( )。a. intb. charc. floatd. double4.在printf()函数调用的格式字符串中,若使用格式符为“%f”,则对应输出的数据类型为( )。a. charb. floatc. intd. double5.在print

6、f()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为( )。a. 5b. 4c. 6d. 36.在利用printf()函数向屏幕输出数据时,需要在参数表的开始位置使用相应的格式字符串。()7.在“printf(%d - %d = %d,x,y,x-y);”语句所使用的格式字符串中,包含有3个格式符。()8.在执行“printf(s=%sn,abc);”语句时,输出结果为s=abc。()9.在“printf(s=%cn,abc);”语句中,格式符的使用同后面的输出数据相适合。()10.在执行“printf(%d - %d = %d,x,y,x-y);”

7、语句时,其输出的前两个数据值之间将采用逗号分开。()自测练习七:标准输入函数scanf()的使用 自测练习1.程序运行中需要从键盘上输入多于一个数据时,若不特别规定分隔符,则输入的各数据之间所使用的分隔符为( )。a. 空格或回车b. 空格或逗号c. 逗号或回车d. 逗号或分号2.用于从键盘上为变量输入值的标准输入函数是( )。a. print()b. scanf()c. printf()3.在scanf()函数调用的格式字符串中,每个格式符的先导字符为( )。a. %b. #c. d. $4.在scanf()函数调用的格式字符串中,若使用格式字符串为“%d,%d”,则规定输入的两个数据之间的

8、分隔符为( )。a. $b. #c. d. %5.在利用scanf()函数从键盘输入数据时,需要在参数表的开始位置使用相应的格式字符串。()6.在“scanf(%d %d,&x,&y);”语句所使用的格式字符串中,包含有2个格式符。()7.在执行“scanf(%d %d,&x,&y);”语句时,需要从键盘上输入2个整数。()自测练习八:C语言程序的上机操作过程 自测练习1.C语言源程序文件的扩展名为( )。a. exeb. objc. cd. cpp2.每个C语言程序文件的编译错误的类型有( )。a. 2种b. 3种c. 1种d. 4种3.每个C程序文件在编译时可能出现有警告性错误,其对应的标

9、识符号为( )。a. errb. errorc. warnd. warning4.一个C语言程序只能够包含一个程序源文件。()5.一个C语言程序只能够包含一个用户头文件。()6.在C语言程序上机操作的过程中,编译程序的操作步骤之后是连接操作。()第一章 综合练习一、单项选择题1C语言中的循环类语句有3条,它们是()。A. for,if,whileB. for,while,doC. while,do,switchD. for,break,do2C语言中的跳转类语句有四条,它们是goto,return和()。A. break,constB. static,continueC. break,cont

10、inueD. while,extern3当不需要函数返回任何值时,则所使用的返回类型为()。A. intB. unionC. voidD. Void4在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。A. 表达式B. 语句C. 函数体D. 参数表5在一个程序文件的开始,若需要使用一个包含命令包含一个头文件时,则命令标识符为()。A. #cludeB. #constC. #includeD. #defile6在#include预处理命令中,不可以包含()。A. 系统头文件B. 程序文件C. 用户头文件D. 目标文件7在printf()函数调用的格式字符串中,若使用格式符为“%6

11、.2f”,则规定对应输出的数据占用的字符位置个数为()。A. 5B. 6C. 4D. 28在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其小数部分占用的字符位置个数为()。A. 5B. 6C. 4D. 29在printf()函数调用的格式字符串中,若使用格式符为“%6.2f”,则规定对应输出的数据中,其整数部分占用的字符位置个数为()。A. 6B. 4C. 3D. 210在scanf()函数调用的格式字符串中,若使用格式符为“%f”,则对应输入的数据类型为()。A. charB. intC. floatD. double11在scanf()函数

12、调用的格式字符串中,若使用格式符为“%Lf”,则对应输入的数据类型为()。A. charB. intC. floatD. double12每个C程序文件在编译时可能出现有严重性错误,其对应的标识符号为()。A. warningB. errorC. warnD. err13在VC+环境下,为运行一个程序而建立的工作区文件的扩展名为()。A. objB. exeC. dswD. dsp二、判断题1在C语言中,作为标识符的第一个字符可以是英文字母、数字或下划线字符。()2在C语言中,标识符中的非首字符可以是英文字母、数字或下划线字符。()3当需要在程序文件中引入用户定义的头文件时,使用的不是#inc

13、lude命令。()4使用#include命令只能包含头文件,不能包含其他任何文件。()5注释语句的内容只会出现在源程序文件中,不会出现在编译后而生成的目标代码文件中。()6一条注释语句的最后必须使用分号结束。()7源程序文件被编译成目标文件后,其目标文件中也存在有对应的注释内容。()8源程序文件被编译成目标文件后,源程序文件中的注释语句仍然存在。()9在一条注释语句中,除了注释内容外,不需要使用任何特定的标记符。()10多行注释语句的开始和结束标记符可以互换使用。()11在执行“printf(%5d,x);”语句时,其输出的x的值所占用的显示宽度将大于等于5个字符位置。()12在执行“prin

14、tf(%6d,x);”语句时,其输出的x的值所占用的显示宽度将小于6个字符位置。()13在执行“printf(%8.2f,x);”语句时,其输出的x的值所占用的显示宽度将大于等于8个字符位置。()14在“scanf(%d %d,&x,&y);”语句中,x和y变量均为整数类型。()15在“scanf(%s,x);”语句中,x变量不是字符指针类型。()16在“scanf(%d-%d=%d,&x,&y,&z);”语句中,有语法错误。()17在C语言程序上机操作的过程中,连接程序的操作步骤之前是编译程序。()18在C语言程序上机操作的过程中,需要对每个用户头文件进行单独的编译操作。()19在C语言程序

15、上机操作的过程中,不能够对用户头文件进行单独的编译操作。()第二章 基本数据类型和表达式自测练习一:数据类型 自测练习1.char类型的长度为( )。a. 1b. 3c. 4d. 22.常数120的数据类型为( )。a. 双精度型b. 短整型c. 长整型d. 整型3.一个无符号字符类型的值域范围是( )。a. -127到255b. 0到255 c. 1到255d. -128到+1274.广义整数类型包括短整型、标准整型和长整型3种。()5.短整型、标准整型和长整型的长度分别为2、4和8。()自测练习二:常量 自测练习1.数值常量0x62的表示方式为( )。a. 八进制b. 十进制c. 二进制d

16、. 十六进制2.在C语言中,表示换行符的转义字符为( )。a. rb. f c. md. n 3.字符串Its中包含的字符个数为( )。a. 8b. 7c. 6d. 54.执行“printf(%c,B+2);”语句后得到的输出结果为( )。a. Db. Bc. Cd. A5.常数3.26是双精度浮点数。()6.常数3.26f是单精度浮点数。()7.浮点数包括单精度浮点数和双精度浮点数两种。()8.常数3.26是双精度浮点数。()自测练习三:变量 自测练习1.要定义a和b为两个整型变量,则使用的定义语句为( )。a. int a:b;b. int a b; c. int a,b; d. int

17、a;b; 自测练习四:运算符和表达式 自测练习1.运算符优先级最高的是()。a. /b. |c. +d. %2.下列数值中最小值是()。a. 28/8b. 28%8c. 35/3d. 35%33.已知x的初值为15,则下列各表达式中的最小值为()。a. x*=2b. x+=10c. x/=2d. x%=204.若x=5,y=10,则计算y*=+x表达式后,y的值为()。a. 40b. 60c. 50d. 555.设x和y均为逻辑值,则x & y为真的条件是()。a. 其中一个为假b. 它们均为假c. 它们均为真d. 其中一个为真6.x=10b. x!=10c. x0 d. x107.表达式(f

18、loat)25/4的值为6。()8.表达式x=x+y表示成复合赋值表达式为x=+y。()9.增量表达式+y表示成赋值表达式为y=y+1。()10.表达式sizeof(25)的值等于4。()11.逻辑表达式(x3 & x10)的相反表达式为(x=10)。()自测练习五:一些系统函数的使用 自测练习1.函数pow(4,3)的值为()。a. 64.0b. 27c. 12.0d. 56 2.假定x=4.6,则函数floor(x)的值为()。a. 5.0b. 4.0c. 4.6d. 4.53.正弦函数sin48在C语言的表示为()。a. sin(48*3.14159)b. sin(48)c. sin(4

19、8/180.0) d. sin(48*3.14159/180)4在C语言中,求一个实数的绝对值的数学函数为fabs(x)。()5.已知x=-25,则abs(x)的值为25。()6.在C语言中,正弦、余弦或正切函数的参数的度量单位是度。()第二章 综合练习一、单项选择题(1-12题每题3分,13-16题每题4分,共48分)1.int类型的长度为()。A. 1B. 2C. 4D. 82.常数-4.25的数据类型为()。A. 整型B. 单精度型C. 双精度型D. 长双精度型3.一个有符号字符类型的值域范围是()。A. -128到+127B. 0到255C. -127到255D. 1到2554.字符串

20、Its40n的长度为()。A. 5B. 6C. 7D. 85.实数340.25对应的规格化浮点数为()。A. 340.25B. 34.025e1C. 3.4025e2D. 0.34025e36.要利用const保留字定义整型常量ABC的值为10,则对应的定义语句为()。A. const int ABC 10;B. const int ABC,10;C. const int ABC;10;D. const int ABC=10;7.要利用#define命令定义ABC常量的值为100,则对应的命令格式为()。A. #define ABC=100B. #define ABC=100C. #defin

21、e ABC 100D. #define ABC;1008.下列数值中最大值是()。A. 28/8B. 35/3C. 28%8D. 35%49.在下面运算符中,优先级最高的是( )。A. !B. &C. |D. !=10.设有语句序列为“int a=12; a+=a*a;”,则执行结束后,a的值为()。A. 12B. 144C. 156D. 28811在C语言中,用于比较大小的关系运算符的总数为()。A. 3B. 4C. 5D. 612.x0 & y=5的相反表达式为()。A. x5B. x0 | y=5C. x5D. xb | b=5)的相反表达式为(ab & b=5)。()27.在C语言中,

22、求一个整数的绝对值的数学函数为abs(x)。()28.在C语言中,退出程序运行的系统函数为exit()。()第三章 流程控制语句自测练习一:if条件语句 自测练习1.若x的值为5,则执行“if(x10) x+; else x-;”语句后,x的值为( )。a. 4b. 6c. 3d. 52.若x的值为-10,则执行“if(x) x+; else x-;”语句后,x的值为( )。a. -9b. -11c. -10d. 03.在if语句中,可以带有else子句,也可以省略它。()4.在if语句中,每个else关键字与它前面同层次并且最接近的if关键字相配套。()5.执行下面程序的输出结果为#incl

23、udevoid main() int a=25,b=18;if(ab) printf(%sn,ab);if(a=b) printf(%sn,a=b); if(ab6.执行下面程序的输出结果为#includestdio.h#includevoid main() int a=18,b=4,c=0;if(a/b) c+=a/b; c+=a%b;if(a%b) a=a/b; b=a%b; printf(%d,a+b+c);答案:ab自测练习二:switch开关语句 自测练习1.在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成语句( )。a. ifb

24、. whilec. dod. for2.每个C语言程序文件的编译错误的类型有( )。2. 在switch语句中,每个保留字case后面的表达式必须是( )。a. 函数调用b. 变量种c. 一般表达式d. 常量3.执行下面程序的输出结果为#includevoid main() int x=5,y=0;switch(2*x-3) case 4: y+=x; break;case 7: y+=2*x+1; break;case 10: y+=3*x; break;printf(y=%dn,y);答案:y=114.执行下面程序的输出结果为#includevoid main() int x=9,y=0;

25、switch(x%3) case 0: y+=x;case 1: y+=2*x+1;case 2: y+=3*x; break;default: y+=x-1;printf(y=%dn,y);答案:y=55自测练习三:for循环语句 自测练习1.当处理问题时的循环次数是确定的,则采用的最合适的循环方式为( )。a. do-whileb. switchc. whiled. for2.若需要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的开始使用保留字( )。a. caseb. continuec. staticd. const3.已知AZ的ASCII码为6590,当执行“int

26、x=C+5;”语句后x的值为( )。a. 70b. 73c. 72d. 714.在一条变量定义语句中可以同时定义多个变量。()5.在一条变量定义语句中,当同时定义多个变量时,各变量之间只能使用逗号分开。()6.在一条变量定义语句中,定义的变量和赋给它的初值之间不需要使用等号(=)。()自测练习四:while循环语句 自测练习1.每次先进行循环条件的判断,然后再执行循环体的语句为( )。a. for和whileb. for和doc. switch和breakd. while和do2.若n的值为5,s的值为0,则执行“while(n0) s+=n-;”语句后,s的值为( )。a. 13b. 14c

27、. 15d. 123.当循环次数确定时,while循环语句能够转换为for循环语句。()4.while循环语句中的循环体至少被执行一次。()5.执行下面程序的输出结果为#includevoid main() int n=10,y=0;while(n5) y+=n-;printf(y=%dn,y);答案:y=406.执行下面程序的输出结果为。#includevoid main() int i=1,p=1,s=1;while(s40) i+; p=p*i; s=s+p;printf(s=%dn,s);答案:s=153自测练习五:do循环语句 自测练习1.流程控制类语句包括的3类语句为( )。a.

28、选择、循环、跳转b. 选择、循环、输入c. 选择、输入、输出d. 循环、选择、函数2.若i的值为0,则执行“do i+; while(i*i10);”语句的过程中,循环体被执行的次数为( )。a. 2b. 3c. 5d. 43.do-while循环语句中的循环体至少被执行一次。()4.do-while循环语句是以分号结束的语句。()5.执行下面程序的输出结果为#includevoid main() int x=16,s=0;do s+=x; x-=3; while(x0);printf(s=%dn,s);答案:s=516.此程序的功能是从键盘上输入两个(),输出结果为它们的平方和_。#incl

29、udevoid main() int x,y;do scanf(%d %d,&x,&y); while(x=0 | y=0);printf(%dn,x*x+y*y);答案:正整数自测练习六:跳转类语句 自测练习1.若要结束所在函数的执行过程,返回到调用该函数所在位置,则使用的语句为( )。a. gotob. continuec. returnd. break2.要结束所在循环语句中循环体的一次执行,则在其中使用的语句为( )。a. gotob. returnc. breakd. continue3.break语句只能使用在循环语句中。()4.return语句只有保留字,没有其他成分。()5.c

30、ontinue语句只有保留字,没有语句体。()6.执行下面程序的输出结果为#includevoid main() int i,s=0;for(i=1; i40) break; printf(s=%dn,s);答案:s=707.执行下面程序的输出结果为#includevoid main() int i=0,s=0;do i+=2;if(i%3=0) continue;s+=i*(i+1); while(s10) x+; else x-;”语句后,x的值为( )。a. 16b. 10c. 15d. 142.若x的值为-10,则执行“if(!x) x+; else x-;”语句后,x的值为( )。a

31、. 0b. -10c. -9d. -113.若x的值为10,则执行“switch(x%3)case0: x+; case 1:x+; case 2: x+;”语句后,x的值为( )。a. 13b. 10c. 12d. 114.若x的值为10,则执行“switch(x%3)case0: x+; break; case 1:x+; default: x+;”语句后,x的值为( )。a. 9b. 10c. 12d. 115.若n的值为10,则执行“for(i=1;in/3) break;”语句后,i的值为( )。a. 6b. 3c. 4d. 57.若n的值为10,则执行“for(i=1;in; i+

32、) S;”语句的过程中,表达式i+共被执行的次数为( )。a. nb. n+1c. 1d. n-18.若n的值为10,则执行“for(i=0;in; i+) for(j=i; j0)s+=n;”语句的过程中,循环体被执行的次数为( )。a. 9b. 11c. 8d. 1010.若n的值为5,s的值为0,则执行“while(n-0) s+=n;”语句后,s的值为( )。a. 15b. 12c. 10d. 1411.在下列的语句中,必须以分号作为结束的语句是( )。a. whileb. forc. dod. switch12.若n的值为5,s的值为0,则执行“do s+=n-; while(n0)

33、;”语句后,s的值为( )。a. 14b. 12c. 15d. 1313.要结束任一种循环语句或switch语句的执行,则在其中使用的语句为( )。a. gotob. breakc. continued. return二、判断题14.在if语句中,必须带有else子句,不能省略它。()15.在for循环语句的头部,for后面括号内共有3个表达式位置。()16.for循环语句不能够被转换为while循环语句。()17.while循环语句中的循环体可能不会被执行。()18.while循环语句的循环体,只能是复合语句,不能是简单语句。()19.do-while循环语句中的循环体可能不会被执行。()2

34、0.do-while循环语句的循环体,只能是复合语句,不能是简单语句。()21.do-while循环语句是以循环体结尾的。()22.break语句可以使用在switch语句中。()23.return语句中可以带有返回表达式。()24.continue只能使用在任一种循环语句的循环体中。()三、程序填空题25.#includevoid main() int a=5,b=8,c=6,d=15,x,y; if(a=b) x=a; else x=b; if(c=d) y=c; else y=d; if(x=y) printf(%dn,x); else printf(%dn,y);答案:1526.#in

35、cludevoid main() int x=5,y=8,z=12; if(xy & xz) printf(%dn,x); else if(yx & yz) printf(%dn,y); else printf(%dn,z);答案:1227.#includevoid main() int a=5,b=8,c; if(3*a2*b) c=2*a+3*b; else if(a=b) c=a*a+b*b; else c=a*b+3; printf(c=%dn,c);答案:c=4329.#includevoid main() int x=5,y=0; switch(2*x-3) case 4: y+=

36、x; case 7: y+=2*x+1; case 10: y+=3*x; printf(y=%dn,y);答案:y=2629.#includevoid main() char ch; int a,b,c; scanf(%c,&ch); scanf(%d %d,&a,&b); switch(ch) case +: c=a+b; break; case -: c=a-b; break; case *: c=a*b; break; case /: c=a/b; break; default: printf(Error!n); printf(%d%c%d=%dn,a,ch,b,c);答案:3 5=1

37、530.#includevoid main() int i,s=0; for(i=16; i0; i-=2) if(i%3=0 | i%4=0) s+=i; printf(s=%dn,s);答案:s=4631.#includevoid main() int i,x,y,s=0; scanf(%d %d,&x,&y); if(xy) i=x; x=y; y=i; for(i=x; i=y; i+) if(i%2=1) s+=i*i; printf(s=%dn,s);答案:奇数32.#includeconst int N=100;void main() int a,b; for(a=2; a=N; a+) for(b=2; b*ba) printf(%d ,a); 答案:素数(质数)33.#includevoid main() int i=0, s=0; while(s50) i+=2; s+=i*i; printf(s=%dn,s);答案:s=5634.#includevoid main() int x,p=2; sca

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 考试试题 > 试题库答案

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁