C语言程序设测试二及答案
全国计算机等级二级考试C语言试题及答案

一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。
(1)程序流程图中带有箭头的线段表示的是 CA)图元关系 B)数据流 C)控制流 D)调用关系(2)下面不属于软件设计原则的是 CA)抽象 B)模块化 C)自底向上 D)信息隐蔽(3)下列选项中,不属于模块间耦合的是 CA)数据耦合 B)标记耦合 C)异构耦合 D)公共耦合(4)下列叙述中,不属于软件需求规格说明书的作用的是 DA)便于用户、开发人员进行理解和交流 B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据 D)便于开发人员进行需求分析(5)算法的时间复杂度是指CA)执行算法程序所需要的时间 B)算法程序的长度 C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数(6)已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是BA)堆排序 B)直接插入排序 C)快速排序 D)B)和C)(7)栈底至栈顶依次存放元素A、B、C、D,在第五个元素E入栈前,栈中元素可以出栈,则出栈序列可能是BA)ABCED B)DCBEA C)DBCEA D)CDABE(8)数据库设计包括两个方面的设计内容,它们是AA)概念设计和逻辑设计 B)模式设计和内模式设计 C)内模式设计和物理设计D)结构特性设计和行为特性设计(9)关系表中的每一横行称为一个AA)元组 B)字段 C)属性 D)码(10)设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字 (键或码)为 CA)课号,成绩 B)学号,成绩 C)学号,课号 D)学号,姓名,成绩(11)以下不正确的叙述是 DA)在C程序中,逗号运算符的优先级最低 B)在C程序中,APH和aph是两个不同的变量C)若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(12)请选出可用作C语言用户标识符的是BA)void,define,WORD B)a3_b3,_123,IF C)FOR,--abc,CaseD)2a,Do,Sizeof(13)以下选项中,不能作为合法常量的是BA)1.234e04 B)1.234e0.4 C)1.234e+4 D)1.234e0(14)在C语言中,运算对象必须是整型数的运算符是AA)% B)\ C)%和\ D)**(15)若变量均已正确定义并赋值,以下合法的C语言赋值语句是AA)x=y==5; B)x=n%2.5; C)x+n=i; D)x=5=4+1;(16)有以下程序段char ch; int k;ch=′a′; k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是 DA)因变量类型与格式描述符的类型不匹配输出无定值 B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12 D)a,97,k=12(17)已知字母A的ASCII代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是 BA)kk>=′A′&&kk<=′Z′ B)!(kk>=′A′||kk<=′Z′) C)(kk+32)>=′a′&&(kk+32)<=′Z′ D)isalpha(kk)&&(kk<91)(18)当变量c的值不为2、4、6时,值也为"真"的表达式是 BA)(c==2)||(c==4)||(c==6) B)(c>=2&& c<=6)||(c!=3)||(c!=5) C)(c>=2&&c<=6)&&!(c%2) D)(c>=2&& c<=6)&&(c%2!=1)(19)若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是 B A)(exp==0) B)(exp!=0) C)(exp==1) D)(exp!=1)(20)以下不正确的定义语句是 BA)double x[5]={2.0,4.0,6.0,8.0,10.0}; B)int y[5]={0,1,3,5,7,9}; C)char c1[]={′1′,′2′,′3′,′4′,′5′}; D)char c2[]={′\x10′, ′xa′, ′\x8′};(21)下列程序执行后的输出结果是 Bmain(){ int a[3][3], *p,i;p=&a[0][0];for(i=1; i<9; i++)p[i]=i+1;printf("%d\n",a[1][2];)A)3 B)6 C)9 D)随机数(22)设有以下程序段 Bint x=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则A)运行程序段后输出0 B)运行程序段后输出1 C)程序段中的控制表达式是非法的 D)程序段执行无限次(23)下面程序段的运行结果是 Cchar *s="abcde";s+=2;printf("%d",s);A)cde B)字符′c′ C)字符′c′的地址 D)无确定的输出结果(24)阅读下列程序,则执行后的结果为 A#include "stdio.h"main(){ int c[][4]={1,2,3,4,5,6,7,34,213,56,62,3,23,12,34,56};printf("%x,%x\n",c[2][2],*(*(c+1)+1));}A)3e,6 B)62,5 C)56,5 D)3E,6(25)下面判断正确的是 CA)char *a="china";等价于 char *a;*a="china"; B)char str[5]={"china"};等价于char str[]={"china"};C)char *s="china";等价于 char *s;s="china"; D)char c[4]="abc",d[4]="abc";等价于char c[4]=d[4]="abc";精品文档。
国家开放大学C语言程序设计章节测试参考答案

国家开放大学《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语言中使用的字符串常量,其起止标记符是()。
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语言程序中都必须包含有这样一个函数,该函数的函数名为()。
a. nameb. mainc. MAINd. function2.C语言程序中的基本功能模块为()。
a. 标识符b. 函数c. 表达式d. 语句3.一个函数定义所包含的两个部分是()。
a. 函数头和函数体b. 函数原型和函数体c. 函数名和参数表d. 函数头和函数尾4.一个程序文件开始使用的每条预处理命令,其首字符必须是()。
a. #b. @c. %d. $5.在一个程序文件中,若要使用#include命令包含一个系统头文件,则此头文件所使用的起止定界符为一对()。
全国计算机等级考试《二级C语言程序设计》模拟试卷二

全国计算机等级考试《二级C语言程序设计》模拟试卷二[单选题]1.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是((江南博哥))。
A.外模式B.内模式C.概念模式D.逻辑模式参考答案:B参考解析:数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。
答案选择B选项。
[单选题]4.下面不属于需求分析阶段任务的是()。
A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划参考答案:D参考解析:需求分析阶段的工作主要包括4个方面:①需求获取,其目的是确定对目标系统的各方面需求;②需求分析,对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型;③编写文档,编写需求规格说明书,编写初步用户使用手册;④确认测试计划,修改完善软件开发计划,需求评审。
制定软件集成测试计划属于概要设计阶段的任务。
答案选择D选项。
[单选题]5.结构化程序的三种基本控制结构是()。
A.顺序、选择和重复(循环)B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移参考答案:A参考解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环)。
答案选择A选项。
[单选题]6.构成计算机软件的是()。
A.源代码B.程序和数据C.程序和文档D.程序、数据及相关文档参考答案:D参考解析:计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
答案选择D选项。
[单选题]7.在黑盒测试方法中,设计测试用例的主要根据是()。
A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图参考答案:B参考解析:黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能规格说明。
全国计算机二级C语言模拟测试【含详细解析】 (10)

1.下列关于栈叙述正确的是( )。
A. 栈顶元素最先能被删除B. 栈顶元素最后才能被删除C. 栈底元素永远不能被删除D. 栈底元素最先被删除正确答案:A你的答案:解析:【解析】栈是先进后出的数据结构,所以栈顶元素最后入栈却最先被删除。
栈底元素最先入栈却最后被删除。
所以选择A)。
2.下列叙述中正确的是( )。
A. 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B. 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C. 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D. 以上说法均不正确正确答案:C你的答案:解析:【解析】栈是先进后出的数据结构,在整个过程中,栈底指针不变,入栈与出栈操作均由栈顶指针的变化来操作,所以选择C)。
3.某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)( )。
A. 3B. 4C. 6D. 7正确答案:D你的答案:解析:【解析】根据二叉树的基本性质3:在任意一棵二叉树中,多为0的叶子结点总比度为2的结点多一个,所以本题中度为2的结点为1-1=0个,所以可以知道本题目中的二叉树的每一个结点都有一个分支,所以共7个结点共7层,即度为7。
4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( )。
A. 学生成绩管理系统B. C语言编译程序C. UNIX 操作系统D. 数据库管理系统正确答案:A你的答案:解析:【解析】软件按功能可以分为:应用软件、系统软件、支撑软件。
操作系统、编译程序、汇编程序、网络软件、数据库管理系统都属于系统软件。
所以B)、C)、D)都是系统软件,只有A)是应用软件。
5.结构化程序所要求的基本结构不包括( )。
A. 顺序结构B. GOTO跳转C. 选择(分支)结构D. 重复(循环)结构正确答案:B你的答案:解析:【解析】1966年Boehm和Jacopini证明了程序设计语言仅仅使用顺序、选择和重复三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。
国家二级C语言程序设计机试(选择题)模拟试卷3

国家二级C语言程序设计机试(选择题)模拟试卷3(总分:80.00,做题时间:90分钟)一、选择题(总题数:40,分数:80.00)1.下列数据结构中,属于非线性结构的是( )。
(分数:2.00)A.循环队列B.带链队列C.二叉树√D.带链栈解析:解析:线性结构的特点:①有且只有一个根结点;②每一个结点最多有一个前驱,也最多有一个后继。
不满足线性结构条件的称为非线性结构,二叉树的非叶子结点最多可以用两个后继结点,属于非线性结构。
2.算法的空间复杂度是指( )。
(分数:2.00)A.算法在执行过程中所需要的计算机存储空间√B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数解析:解析:算法的空间复杂度是指算法在执行过程中所需要的内存空间,因此本题答案为A。
3.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。
(分数:2.00)A.循环队列B.栈√C.队列D.二叉树解析:解析:栈是按“先进后出”的原则组织数据的;队列是按“先进先出”的原则组织数据的,因此本题答案为B。
4.软件设计中划分模块的一个准则是( )。
(分数:2.00)A.低内聚、低耦合B.高内聚、低耦合√C.低内聚、高耦合D.高内聚、高耦合解析:解析:一般较优秀的软件设计应尽量做到高内聚、低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,因此本题答案为B。
5.结构化程序的三种基本控制结构是( )。
(分数:2.00)A.顺序、选择和重复(循环) √B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移解析:解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环),故正确答案为A。
6.软件需求规格说明书在软件开发中的作用不包括( )。
(分数:2.00)A.软件设计的依据B.软件可行性分析的依据√C.软件验收的依据D.用户和开发人员对软件要做什么的共同理解解析:解析:需求分析就是分析软件用户的需求是什么,描述需求的文档称为软件需求规格说明书。
中国大学mooc《C语言程序设计(郑州轻工业大学) 》满分章节测试答案

titleC语言程序设计(郑州轻工业大学) 中国大学mooc答案100分最新版content点击这里,复制通过码第一章绪论第一章单元测验1、通常把高级语言源程序翻译成目标程序的程序称为( )。
答案: 编译程序2、关于C语言,下面叙述不正确的是()。
答案: 不用编译可以直接运行。
3、程序的开发步骤中不包括()。
答案: 编译链接4、 zzuliOJ的1000:从今天开始入坑C语言通过码答案: ikJ3Wx00syCxTCfJJpvCjVRSePQ5、 zzuliOJ的1001:整数a+b 通过码答案: jkJ2W0pnsnCxTCfJJpvCjVRSePU6、 zzuliOJ1002: 简单多项式求值通过码答案: g0QlCkxntSyxTCfJJpvCjVRSePY第二章简单C程序设计第二单元测验1、关于定点数和浮点数的说法,下列说法错误的是()。
答案: 浮点数表示的数即是数值的精确值2、以下哪种运算能从变量x中取得十进制最低位的数字()。
答案: x % 103、以下哪个数字的值最大()。
答案: 1e24、设有变量定义: float x=2.5; double y=6.0; 则表达式 (int)x / y的值为( )。
(如果结果是浮点类型,用小数点后一位数字表示)答案: 3.05、变量的名字代表内存中的存储单元;变量名和内存中的存储单元相对应,通过变量名来存、取存储单元的内容。
答案: 正确6、变量被定义后没有赋值,其值不可以使用,是内存中残留的垃圾值。
答案: 正确7、变量是在程序执行期间其值可以改变的量,必须先定义后使用。
答案: 正确8、当赋值语句右边表达式类型与左边变量类型不一致时,以右边表达式的值作为赋值表达式的值。
答案: 错误9、 zzuliOJ1003:两个整数的四则运算通过码答案: ikcgXkln5yyxTCfJJpvCjVRSePc10、 zzuliOJ1004:三位数的数位分离通过码答案: iUUkWxg2s3CxTCfJJpvCjVRSePA11、 zzuliOJ1005:整数幂通过码答案: gx5zX082t3SxTCfJJpvCjVRSePE12、 zzuliOJ1006:求等差数列的和通过码答案: 2B8gCk5k5SKxTCfJJpvCjVRSePI13、 zzuliOJ1007:鸡兔同笼通过码答案: iUNzXx015nCxTCfJJpvCjVRSePM14、 zzuliOJ1008:美元和人民币通过码答案: ihJzCkoyvXGxTCfJJpvCjVRSePw15、 zzuliOJ1009:求平均分通过码答案: 2BFyWhs2vHexTCfJJpvCjVRSeP016、 zzuliOJ1010:求圆的周长和面积通过码答案: jBRzD043syWxTCfJJpvCjVRSefQ17、 zzuliOJ1011:圆柱体表面积通过码答案: ixcjXxxnsHaxTCfJJpvCjVRSefU18、 zzuliOJ1012:求绝对值通过码答案: iRV2UR8x5iSxTCfJJpvCjVRSefY19、 zzuliOJ1013:求两点间距离通过码答案: 2hEgXEczsCyxTCfJJpvCjVRSefc20、 zzuliOJ1014:求三角形的面积通过码答案: 2BF1Xkg74iexTCfJJpvCjVRSefA21、 zzuliOJ1015:计算时间间隔通过码答案: 2RMnWUk6sXSxTCfJJpvCjVRSefE22、 zzuliOJ1015:银行利率通过码答案: 3xZxWBswvCSxTCfJJpvCjVRSefI第二章简单C程序设计小练习-不计分1、以下哪种运算能从变量x中取得十进制最低位的数字()。
2020年秋冬智慧树知道网课《C语言程序设计(XXX)》课后章节测试答案

2020年秋冬智慧树知道网课《C语言程序设计(XXX)》课后章节测试答案printf("|%s|%f|","China",30.13);C.printf("|%-10s|%5.2f|","China",30.13);D.printf("|%s|%7.2f|","China",30.1345)。
第一章测试:1.正确答案为A。
机器语言是一种低级语言程序,可以被计算机直接执行。
2.正确答案为A。
C语言程序的执行是从main()函数开始,直到main()函数结束。
3.正确答案为C。
编辑程序的功能是建立并修改程序。
4.正确答案为D。
C编译程序是将C源程序编译成目标程序的程序。
5.正确答案为B。
C语言源程序的语句分隔符是分号。
第二章测试:1.正确答案为D。
语句“ch=getchar();”等价于scanf("%c",&ch);2.正确答案为A。
输出“比例值为20%”需要使用转义字符%,即printf("比例值为20%%");3.正确答案为D。
输出“|20|30|”需要使用格式化输出,即printf("|%-5d|%-6d|",20,30);4.正确答案为C。
输出“|China|30.13|”需要使用格式化输出,即printf("|%-10s|%5.2f|","China",30.13);单选题】(2分)下面的程序段中,有哪些地方存在问题?请修改并解释问题所在。
includeint main()int a,b,c;scanf("%d %d",&a,&b);c=a+b;printf("a+b=%d",c)return 0;存在问题:1.缺少分号:printf语句末尾缺少分号。
全国计算机等级考试二级C语言模拟试题及答案

全国计算机等级考试二级C语言模拟试题及答案(一) 一、选择题(1)栈和队列的共同特点是A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素D)没有共同点正确答案: C(2)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是A)acbedB)decabC)deabcD)cedba正确答案: D(3)链表不具有的特点是A)不必事先估计存储空间B)可随机访问任一元素C)插入删除不需要移动元素D)所需空间与线性表长度成正比正确答案: B(4)结构化程序设计的3种结构是A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构正确答案: D(5)为了提高测试的效率,应该A)随机选取测试数据B)取一切可能的输入数据作为测试数据C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序正确答案: D(6)算法的时间复杂度是指A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数正确答案: C(7)软件生命周期中所花费用最多的阶段是A)详细设计B)软件编码C)软件测试D)软件维护正确答案: D(8)数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为A)CB)BasicC)DDLD)DML正确答案: C(9)下列有关数据库的描述,正确的是A)数据库是一个DBF文件B)数据库是一个关系C)数据库是一个结构化的数据集合D)数据库是一组文件正确答案: C(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字正确答案: D(11)以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点正确答案: C(12)C语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue正确答案: A(13)C语言中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型正确答案: B(14)若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1B)a=b=c+2C)int %3D)a=a+7=c+b正确答案: B(15)下列可用于C语言用户标识符的一组是A)void, define, WORDB)a3_b3, _123,CarC)For, -abc, IF CaseD)2a, DO, sizeof正确答案: B(16)C语言中运算对象必须是整型的运算符是A)%=B)/C)=D)<=正确答案: A(17)若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a= =1B)++i;C)a=a++=5;D)a=int(i);正确答案: B(18)已知int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对正确答案: B(19)若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予,b赋予,c赋予,下列不正确的输入形式是A)10<回车>22<回车>33<回车>B),,<回车>C)<回车>22.033.0<回车>D)10 22<回车>33<回车>正确答案: B(20)有如下程序:main(){int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);} 该程序的输出结果是A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2正确答案: A(21)有以下程序main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k); }执行后输出结果是A)1,1,2B)2,2,1C)2,2,2D)2,2,3正确答案: C(22)有如下程序main(){float x=,y;if(x<)y=;else if(x<)y=x;else y=;printf("%f\n",y);}该程序的输出结果是A)B)0.250000C)D)正确答案: C(23)有如下程序:main(){int n=9;while(n>6){n--; printf("%d",n);}}该程序的输出结果是A)987B)876C)8765D)9876正确答案: B(24)在下列选项中,没有构成死循环的是A)int i=100;while(1){i=i%100+1;if(i>100)break;}B)for(;;);C)int k=10000;do{k++;}while(k>10000);D)int s=36;while(s)--s;正确答案: D(25)设int x=1,y=1;表达式(!x||y--)的值是A)0B)1C)2D)-1正确答案: B(26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参正确答案: D(27)有以下程序float fun(int x,int y){return(x+y);}main(){int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是A)编译出错B)9C)21D)正确答案: B(28)若有以下调用语句,则不正确的fun函数的首部是main(){ …int a[50],n;…fun(n, &a[9]);…}A)void fun(int m, int x[])B)void fun(int s, int h[41])C)void fun(int p, int *s)D)void fun(int n, int a)正确答案: D(29)fseek函数的正确调用形式是A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)正确答案: B(30)若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是A)EOFB)-1C)1D)NULL正确答案: C(31)若有说明语句:char c='\72';则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定正确答案: A(32)若有说明 int a[3][4];则a数组元素的非法引用是A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]正确答案: D(33)设有以下说明语句struct stu{int a;float b;} stutype;则下面的叙述不正确的是A)struct是结构体类型的关键字B)struct stu是用户定义的结构体类型C)stutype是用户定义的结构体类型名D)a和b都是结构体成员名正确答案: C(34)在C语言中,引用数组元素时,其数组下标的数据类型允许是A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式正确答案: C(35)若运行时给变量x输入12,则以下程序的运行结果是main(){int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A)0B)22C)12D)10正确答案: A(36)以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分正确答案: C(37)表达式0x13^0x17的值是A)0x04B)0x13C)0xE8D)0x17正确答案: A(38)有以下程序#define F(X,Y)(X)*(Y)main(){int a=3, b=4;printf("%d\n", F(a++, b++)); }程序运行后的输出结果是A)12B)15C)16D)20正确答案: A(39)下列程序执行后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; }main(){int a,b[5];a=0; b[0]=3;func(&a,b); printf("%d\n",b[0]);}A)6B)7C)8D)9正确答案: A(40)若有下面的程序段:char s[]="china";char *p; p=s;则下列叙述正确的是A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等正确答案: D(41)以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序void sort(int a[],int n){int i,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运行后的输出结果是A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,正确答案: C(42)以下程序的运行结果是#include ""main(){struct date{int year,month,day;}today;printf("%d\n",sizeof(struct date));}A)6B)8C)10D)12正确答案: A(43)若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是A)a,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point正确答案: D(44)在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是A)地址传递B)单向值传递C)由实参传形参,再由形参传实参D)传递方式由用户指定正确答案: B(45)已定义以下函数fun(char *p2, char *p1){while((*p2=*p1)!='\0'){p1++;p2++;}}函数的功能是A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'正确答案: A(46)若执行下述程序时,若从键盘输入6和8时,结果为main(){int a,b,s;scanf("%d%d",&a,&b);s=aif(a<b)s=b;s*=s;printf("%d",s);}A)36B)64C)48D)以上都不对正确答案: B(47)fscanf函数的正确调用形式是A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);正确答案: D(48)下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件正确答案: D(49)有以下程序void ss(char *s,char t){while(*s){if(*s= =t)*s=t-'a'+'A';s++;}}main(){char str1[100]="abcddfefdbd",c='d';ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd正确答案: B(50)若以下定义:struct link{int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。
计算机二级C语言测试题(含答案)

(第一章)1. 以下关于算法的描述不正确的是__________。
A. 任何一个问题,它的实现算法是唯一的B. 描述算法常用的表达工具有流程图、N-S图、PAD图、伪码等C. 算法的最终实现是计算机程序D. 正确性和清晰易懂性是一个好算法的基本条件2.下面是一个加法程序,指出存在的逻辑错误和语法错误。
/* 求整数a和b的和 */main( ){int a,b;a=8;b=2000;print("%d\n",a-b);}3.在每个C程序中都必须包含有这样一个函数,该函数的函数名为__________。
A.main B. MAIN C. name D. function4.以下叙述不正确的是__________。
A.C程序书写格式规定,一行内只能写一个语句B.main()函数后面有一对花括号,花括号内的部分称为函数体C.一个C程序必须有main()函数D.C规定函数内的每个语句以分号结束5.以下各标识符中,合法的用户标识符为_________。
A.A#C B.mystery C.main D.ab*6.已知求解某问题的算法如下:⑴输入a、b、c三个数。
⑵将a和b比较,较大者放在a中,小者放在b中。
⑶将a和c比较,较大者放在a中,小者放在c中。
⑷将b和c比较,较大者放在b中,小者放在c中。
⑸依次输出a、b、c。
请根据上述算法描述,把算法的功能表达出来。
【答案】把任意输入的三个数a、b、c按降序排列的顺序输出。
7.一个C语言程序可以包括多个函数,程序总是按照如下_________所描述的方式执行当前的程序。
A.从本程序的main()函数开始,到本程序文件的最后一个函数结束。
B.从本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C.从main()函数开始,到main()函数结束。
D.从本程序文件的第一个函数开始,到本程序main()函数结束。
8.以下叙述正确的是_________。
吉大《C语言程序设计》在线作业二

C. q没有指向具体的存储单元,所以*q没有实际意义
D. q虽然指向了具体的存储单元,但该单元中没有确定的值,所以执行*p=*q;没有意义,可能会影响后面语句的执行结果
答案:D
满分:4分得分:4
5.下面程序的输出结果是 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}
A. k%11
B. k
C. k/11==0
D. k==0
答案:B
满分:4分得分:4
7.在16位IBM-PC机上使用C语言,若有如下定义 struct data { int i; char ch; double f; } b; 则结构变量b占用内存的字节数是
A. 1
A. 错误
B. 正确
答案:A
满分:4分得分:4
7.使用getchar函数可以不添加#include <stdio.h>命令。( )
A. 错误
B. 正确
答案:A
满分:4分得分:4
8.C语言中,整常数有三种表示形式:十进制整数,八进制整数,十六进制整数。( )
A. 错误
B. 正确
B. 函数的定义不可以嵌套,函数的调用可以嵌套
C. 函数的定义和函数的调用均可以嵌套
D. 函数的定义和函数的调用均不可以嵌套
答案:ACD
满分:4分得分:4
三、判断题(共10道试题,共40分。)得分:40
1.switch语句中,各个case和default的出现次序不影响执行结果。( )
C语言测试题2

A、char name[4]="ACCP";B、char name[4]={'A','C','C','P'};
C、char name[]="ACCP";D、char name={'A','C','C','P'};
17、有如下一组数据:25,15,5,10,51为了把该组织数据按升序排序,如果采用冒泡排序法,需要比较()次(选择一项)
2、定义函数fun,接收用户输入的10个数字,筛选出其中的奇数和偶数,分别用数组存放,将奇数数组按从小到大排序后输出,将偶数数组按从大到小排序后输出
如:输入45 89 52 13 66 102 99 11 73 100
分别放入数组a[]:45 89 13 99 11 73
b[]:52 66 102 100
{
switch(n%3)
{
case 2:
putchar('2');
case 1:
putchar('i');
break;
case 0:
putchar('H');
}
n++;
}
}
A)Hi2Hi2HiB)Hi2C)Hi2iHi2iD)Hi2iHi2iHi
13、已知下列C语言代码的输出结果是2008年是闰年,已知闰年的判定规则是:能被4整除但不能被100整除的年份,或能被400整除的年份。请问在空白处可以填写的代码是()(选择一项)
18、A、10 B、15 C、9 D、11
C语言程序设计(西安理工大学)智慧树知到答案章节测试2023年

第一章测试1.一个C程序可能出现的错误有。
A:语法错误B:运行错误C:其余选项都包括D:逻辑错误答案:C2.C程序中一般可以包含几个函数。
A:至少一个B:0个C:1个D:多个答案:A3.C语言属于程序设计语言的哪个类别?A:面向对象语言B:机器语言C:汇编语言D:高级语言答案:D4.没有语法错误了,程序就是正确的。
A:对B:错答案:B5.一个C程序中可以出现两个main函数。
A:错B:对答案:A第二章测试1.类型修饰符unsigned不能修饰()A:charB:long intC:intD:float答案:D2.16位的二进制数可以表示的整数的范围是()A:[-32767,32768]B:[-32768,32767]C:[-32767,32767]D:[-32768,32768]答案:B3.C语言中的实型数据包括()A:int和doubleB:int和floatC:float和charD:float和double答案:D4.以下不合法的字符常量是()A:‘A’B:’ ’C:‘ab’D:‘2’答案:C5.在以下各组标识符中,均是合法的C语言标识符是()A:A_4d,_student,xyz_abc,ifB:abc,A_4d,_student,xyz_abcC:auto,12-a,a_b,ab5.xD:abc,a_b,union,scan答案:B6.在C语言中,要求参加运算的数必须是整数的运算符是()A:*B:/C:++D:%答案:D7.若有定义:char a;int b;float c;double d;则表达式a*b+d-c值的类型为()A:doubleB:floatC:charD:int答案:A8.设有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是()A:3.5B:2.75C:0.0D:2.5答案:D9.若有定义:double x=1,y;执行语句y=x+3/2;,则y的值是()A:2.5B:2.0C:1D:2答案:D10.设int a=1,b=2;以下选项中不正确的语句是()A:a*3=3B:a=a+bC:a+=3D:a/=1答案:A第三章测试1.算法描述可以有多种表达方法,下面()方法不可以描述算法。
智慧树知到程序设计基础(C语言)测试第二章单元测试参考答案

智慧树知到程序设计基础(C语言)测试第二章单元测试参考答案•总题数: 101【单选题】 (10分)算法的特点不包括()。
A.确定性B.有穷性C.多个输入D.可行性正确本题总得分10分2【单选题】 (10分)算法的有穷性是指()。
A.算法包含的操作步骤是有限的B.算法只能被有限的用户使用C.算法的程序运行时间是有限的D.算法的程序所处理的数据量是有限的正确本题总得分10分3【单选题】 (10分)在计算机中,算法是指()。
A.解答方案的准确而完整的描述B.排序方法C.查询方法D.加工方法正确本题总得分10分4【判断题】 (10分)算法的特点包括穷性、确定性、可行性、有一个或多个输入和有一个或多个输出。
A.错B.对正确本题总得分10分5【判断题】 (10分)在程序设计中,符合结构化原则的三种基本控制结构是顺序结构、选择结构、循环结构。
A.错B.对正确本题总得分10分6【判断题】 (10分)传统的流程图只有一个入口,多个出口。
A.对B.错正确本题总得分10分7【判断题】 (10分)所谓算法的有穷性是指算法要在合理有限的时间内结束。
A.对B.错正确本题总得分10分8【判断题】 (10分)算法是程序的具体实现。
A.错B.对正确本题总得分10分9【判断题】 (10分)算法分为数值算法和非数值算法两大类。
A.错B.对正确本题总得分10分10【判断题】 (10分)算法是为解决一个问题而采取的方法和步骤,是程序的灵魂。
A.错B.对正确本题总得分10分。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计期末考试试题及其答案一、单项选择题(本大题共20题,每题1 分,共20分)1、一个C程序的执行是从( A)。
A本程序的main函数开始,到main函数结束B本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C本程序的main函数开始,到本程序文件的最后一个函数结束D本程序文件的第一个函数开始,到本程序main函数结束2、以下不正确的C语言标识符是( D)A、ABCB、abcC、a_bcD、ab.c3、一个C语言程序是由( B )A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4、以下能对一维数组a进行初始化的语句是: ( C)A. int a[5]=(0,1,2,3,4,)B. int a(5)={}C. int a[3]={0,1,2}D. int a{5}={10*1}5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( C)A、intB、floatC、doubleD、不确定6、C语言中函数返回值的类型是由(A)决定的.A、函数定义时指定的类型B、return语句中的表达式类型C、调用该函数时的实参的数据类型D、形参的数据类型7、有如下程序,输入数据:12345M678<cR>后(<CR>表示回车),x的值是( B) 。
#include<stdio.h>main(){int x;float y;scanf("%3d%f",&x,&y);}A、12345B、123C、45D、3458、设有以下说明语句:typedef struct stu{ int a;float b;} stutype;则下面叙述中错误的是(D)。
A、struct是结构类型的关键字B、struct stu是用户定义的结构类型C、a和b都是结构成员名D、stutype是用户定义的结构体变量名9、若有说明:int n=2,*p=&n,*q=p,则以下非法的赋值语句是: (D)A、p=qB、*p=*qC、n=*qD、p=n10、已知char x[]="hello", y[]={'h','e','a','b','e'};, 则关于两个数组长度的正确描述是( B) .A、相同B、x大于yC、x小于yD、以上答案都不对11、下列代码输出的是( C)main(){int a[5]={1,2,3,4,5};int *ptr = (int *)(&a+1);printf("%d,%d",*(a+1),*(ptr-1));}A、2,3B、2,4C、2,5D、输出错误12、有以下程序main(){ int a=1, b=3, c=5;int *p1=&a, *p2=&b, *p=&c;*p =*p1*(*p2);printf("%d\n",c);}执行后的输出结果是( C)A、1B、2C、3D、413、有以下程序段#include <stdio.h>int main(){ int x[] = {10, 20, 30};int *px = x;printf("%d,", ++*px); printf("%d,", *px);px = x;printf("%d,", (*px)++); printf("%d,", *px);px = x;printf("%d,", *px++); printf("%d,", *px);px = x;printf("%d,", *++px); printf("%d\n", *px);return 0;}程序运行后的输出结果是( A )A、11,11,11,12,12,20,20,20B、20,10,11,10,11,10,11,10C、11,11,11,12,12,13,20,20D、20,10,11,20,11,12,20,2014、如果在C程序中有main(int argc,char*argv[]),那么( D)是指命令行中的参数个数。
A、argvB、argv[]C、argc,argv[]D、argc15、以下关于typedef的叙述不的是(B)A.用typedef可以定义各种类型名,但不能用来定义变量B.用typedef可以增加新类型C.用typedef只是将已存在的类型用一个新的名称来代表D.用typedef便于程序的通用16、下面程序的运行结果是( C)#include<stdio.h>main(){int num=0;while(num<=2){num++;printf(“%d ,num);}}A、 1B、 1 2C、 1 2 3D、 1 2 3 417、下面代码能通过编译的是:( A )A)int main(){int a[3]={1,2,3};int *b[3]={&a[1],&a[2],&a[3]};int **p = b;return 0;}B)int main(){int a[3]={1,2,3};int *b[3]={a[1],a[2],a[3]};int **p = b;return 0;}C)int main(){int a[3]={1,2,3};int *b[3]={&a[1],&a[2],&a[3]};int *p = b;return 0;}D)int main(){int a[3]={1,2,3};int *b[3]={&a[1],&a[2],&a[3]};int *p = &b;return 0;}18、若有以下程序:void main(){char *a[3] = {"I","love","China"};char **ptr = a;printf("%c %s" , *(*(a+1)+1), *(ptr+1) );}这段程序的输出是(C)A、I lB、o oC、o loveD、I love19、以下对二维数组a的正确说明是( C)A、inta[3][];B、float a(3,4);C、double a[1][4];D、float a(3)(4);20、若二维数组a有m列,则在a[i][j]前面的元素个数为( B)A、j*m+iB、i*m+jC、i*m+j-1D、i*m+j+121、下面选项属于函数指针的是:( D)A、(int*)p(int, int)B、int *p(int, int)C、两者都是D、两者都不是二、填空题(本大题共10空,每空2分,共20分)1、输入一个字符,判断该字符是数字、字母、空格还是其他字符。
main( ){ char ch;ch=getchar();if( ch>=’a’&&ch<=’z’|| ch>=’A’&&ch<=’Z’)printf("It is an English character\n");else if( ch>=’0’&&ch<=’9’)printf("It is a digit character\n");else if( ch== ‘’)printf("It is a space character\n");elseprintf("It is other character\n"); }2、若输入字符串:abcde<回车>,则以下while循环体将执行__0___次. while((ch=getchar())=='e')printf("*");3、若有定义:char s[]="china";则C编译系统为数组s开辟___6__个字节的内存单元.4、下列程序运行后的输出结果是_______** ** * ** * * *______#include<stdio.h>main(){int i,j;for(i=4;i>=1;i--){printf("*");for(j=1;j<=4-i;j++)printf("*");printf("\n");}}5、若有定义:int a[3][4]={{1,2},{0},{4,6,8,10}};则初始化后,a[1][2]得到的初值是____0_______ a[2][1]得到的初值是________6________6、在C语言中,二维数组元素的内存中的存放顺序是_按行主顺序存放_三、程序分析题(本大题共4题,每题2分,共8分,写出程序执行结果)1、#include<stdio.h>main( ){int a,s,n,count;a=2;s=0;n=1;count=1;while(count<=7) {n=n*a; s=s+n; ++count;}printf(“s=%d”,s);}功能:求S=0+2+4+8+16+32+64+128 和。
输出结果:s=2542、#include<stdio.h>main(){int a[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;for (i=0;i<3;i++)for(j=0;j<3;j++)if (i==j) sum=sum+a[i][j];printf(“sum=%d\n”,sum);}功能:出矩形阵a的主对角线上的元素之和。
输出结果:273、#include <stdio.h>main(){ char grade=’C’;switch(grade){case ‘A’: printf(“90-100\n”);case ‘B’: printf(“80-90\n”);case ‘C’: printf(“70-80\n”);case ‘D’: printf(“60-70\n”); break;case ‘E’: printf(“<60\n”);default : printf(“error!\n”);}}注:L十进制为7670-8060-704、#include <stdio.h>int m[3][3]={{1},{2},{3}};int n[3][3]={1,2 ,3};main( ){ printf(“%d,”, m[1][0]+n[0][0]);printf(“%d\n”,m[0][1]+n[1][0]);}3,0四、编程题(本大题共10题,每题6分,共60分)1、编写摄氏温度、华氏温度转换程序。