全国计算机等级考试二级C语言真题库之选择题(13)
全国二级计算机考试c语言试题及答案
全国二级计算机考试c语言试题及答案全国二级计算机考试C语言试题及答案一、选择题(每题1分,共10分)1. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. _intC. intD. variable2答案:B2. 下列关于C语言中数组的描述,正确的是:A. 数组的大小在定义后可以改变B. 数组的索引从0开始C. 数组可以存储不同类型的数据D. 数组必须在程序开始时定义答案:B3. 在C语言中,以下哪个关键字用于定义一个函数?A. structB. intC. voidD. return答案:C4. C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B5. 下列关于C语言中指针的描述,错误的是:A. 指针可以存储地址B. 指针可以被赋值为NULLC. 指针可以存储任何类型的数据D. 指针可以被解引用答案:C6. 在C语言中,以下哪个选项是正确的注释方式?A. // 这是注释B. /* 这是注释 */C. //* 这是注释 */D. /* 这是注释答案:A7. C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A8. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. fprintfD. All of the above答案:D9. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A10. 在C语言中,以下哪个选项是正确的条件语句?A. if (x)B. if xC. if (x == 0)D. if (x != 0)答案:A二、填空题(每题2分,共10分)1. 在C语言中,______关键字用于声明一个变量。
答案:int2. 一个C语言程序的执行从______函数开始。
全国计算机二级c考试题库及答案
全国计算机二级c考试题库及答案全国计算机二级C考试题库及答案1. 单项选择题1.1. 在C语言中,下列哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A1.2. 下列哪个选项是正确的C语言函数声明?A. int function(int a, int b);B. int function(int, int);C. int function(int a; int b);D. int function(int a, int b)答案:A1.3. 在C语言中,下列哪个选项表示逻辑与运算?A. &&B. ||C. !D. ^答案:A2. 填空题2.1. 在C语言中,使用____关键字可以定义一个指针变量。
答案:指针2.2. C语言中,用于文件操作的库函数通常存放在____头文件中。
答案:stdio.h2.3. C语言中,____运算符用于取地址。
答案:&3. 简答题3.1. 请简述C语言中数组和指针的关系。
答案:在C语言中,数组名可以作为指向数组第一个元素的指针。
数组的每个元素可以通过指针运算访问。
3.2. 解释C语言中宏定义的作用。
答案:宏定义允许程序员定义一个名字,该名字可以被编译器替换为一个字符串。
这通常用于代码复用、条件编译和调试。
4. 编程题4.1. 编写一个C语言函数,计算并返回两个整数的和。
答案:```cint add(int a, int b) {return a + b;}```4.2. 编写一个C语言程序,实现字符串的反转。
答案:```c#include <stdio.h>#include <string.h>void reverseString(char *str) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```请注意,以上提供的是示例答案,实际考试中的答案可能会有所不同。
全国计算机二级考试《C语言》真题练习及答案
全国计算机二级考试《C语言》真题练习及答案全国计算机二级考试《C语言》真题练习及答案一、选择题(1)下列关于栈叙述正确的是A)栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3B)4C)6D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A)系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是A)1:1联系B)1:m联系C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是A)-369B)369C)0.369D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)以下叙述中错误的是A)C语言的可执行程序是由一系列机器指令构成的B)用C语言编写的源程序不能直接在计算机上运行C)通过编译得到的二进制目标程序需要连接才可以运行D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是A)1,234B)'\123'C)123D)"\x7G"(14)以下选项中可用作C程序合法实数的是A).1e0B)3.0e0.2C)E9D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=1+(b=c=4);(16)有以下程序段char name[20];int num;scanf("name=%snum=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name的值为A)LiliB)name=LiliC)Lilinum=D)name=Lili num=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是A)必须是逻辑值B)必须是整数值C)必须是正数D)可以是任意合法的数值(18)有以下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运行后的输出结果是A)12B)11C)10D)9(19)有以下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case 1:printf("%d",s+5);case 2:printf("%d",s+4);break;case 3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入1 2 34 5 0<回车>,则输出结果是A)6566456B)66656C)66666D)6666656(20)有以下程序段int i,n;for(i=0;i<8;i++){n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n);continue;case 0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是A)for循环语句固定执行8次B)当产生的随机数n为4时结束循环操作C)当产生的随机数n为1和2时不做任何操作D)当产生的随机数n为0时结束程序运行。
全国计算机等级考试二级C语言笔试试题及答案
全国计算机等级考试二级C语言笔试试题及答案一、选择题1. 以下关于C语言的描述中,正确的是(A)A. C语言是一种结构化程序设计语言B. C语言是面向对象的程序设计语言C. C语言是一种解释型语言D. C语言是一种高级汇编语言答案:A2. 在C语言中,以下哪个选项是非法的整型常量?(D)A. 012B. 0x123C. 0XabcD. 0123答案:D3. 若变量已正确定义并赋值,以下正确的表达式是(C)A. a = b ++ + 1;B. a = b ++ = a++;C. a = b + b++;D. a = ++b + ++b;答案:C4. 在C语言中,以下哪个函数用于输出字符?(B)A. printfB. putcharC. putcharcD. putchart答案:B5. 已知 int a = 5, b = 3;,以下哪个选项的结果为1?(D)A. a % bB. a / bC. a + bD. a - b答案:D二、填空题1. 在C语言中,一个int类型的数据在内存中占______个字节。
答案:42. C语言中,逻辑运算符“或”用______表示。
答案:||3. 若定义 int a = 10, b = 20;,则执行语句 a += b -= a; 后,b的值为______。
答案:104. 在C语言中,函数的返回值类型为void时,表示该函数______。
答案:无返回值5. 在C语言中,以下函数的返回类型为______。
int max(int a, int b) {return (a > b) ? a : b;}答案:int三、判断题1. C语言中的数组名可以作为指针使用。
(正确)2. 在C语言中,静态存储区的数据在程序运行期间一直存在。
(正确)3. 在C语言中,结构体是一种用户自定义的数据类型。
(正确)4. 在C语言中,函数的参数传递都是按值传递的。
(错误,部分按引用传递)5. 在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++题库13(共17套)
第十三套1、下列关于队列的叙述中正确的是______。
A、在队列中只能插入数据B、在队列中只能删除数据C、队列是先进先出的线性表D、队列是先进后出的线性表队列是指允许在一端进行插入、而在另一端进行删除的线性表。
它又称为"先进先出"或"后进后出"的线性表,体现了"先来先服务"的原则。
本题答案为C。
2、面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是______。
A、模拟现实世界中不同事物之间的联系B、强调模拟现实世界中的算法而不强调概念C、使用现实世界的概念抽象地思考问题从而自然地解决问题D、鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是,使用现实世界的概念抽象地思考问题从而自然地解决问题。
它强调模拟现实世界中的概念而不强调算法,它鼓励开发者在软件开发的绝大部分中都用应用领域的概念去思考。
本题答案为C。
3、希尔排序法属于哪一种类型的排序法______。
A、交换类排序法B、插入类排序法C、选择类排序法D、建堆排序法希尔排序法的基本思想是:将整个无序序列分割成若干小的子序列分别进行插入排序。
所以希尔排序法属于插入类排序,但它对简单插入排序做了很大的改进。
本题答案为B。
4、信息隐蔽的概念与下述哪一种概念直接相关______。
A、软件结构定义B、模块独立性C、模块类型划分D、模拟耦合度信息隐蔽是指在一个模块内包含的信息(过程或数据),对于不需要这些信息的其他模块来说是不能访问的。
模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。
衡量软件的模块独立性的度量标准是耦合性和内聚性。
一个模块的内聚性越强,则该模块的模块独立性越强。
而内聚性是信息隐蔽和局部化概念的自然扩展。
本题答案为B。
5、数据库概念设计的过程中,视图设计一般有三种设计次序,以下各项中不对的是______。
全国计算机考试二级c语言真题题库答案
全国计算机考试二级c语言真题题库答案一、单项选择题(每题2分,共40分)1. 在C语言中,以下哪个选项是正确的数据类型?A. intB. floatC. doubleD. A、B和C都是答案:D2. 下列哪个是合法的C语言变量名?A. 2variableB. variable-nameC. _variableD. variable name答案:C3. 在C语言中,以下哪个选项表示逻辑“与”操作?A. &&B. ||C. !D. =答案:A4. 以下哪个选项是C语言中的控制语句?A. ifB. switchC. whileD. A、B和C都是5. 在C语言中,哪个函数用于计算并返回一个浮点数的平方根?A. sqrt()B. pow()C. log()D. sin()答案:A6. 在C语言中,以下哪个选项是正确的数组声明?A. int array[10];B. int array[];C. int [10] array;D. A和B都是答案:D7. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str[6] = "Hello";C. char str = "Hello";D. A和B都是答案:D8. 在C语言中,以下哪个选项是正确的函数声明?A. void function();B. int function();C. void function(int a);D. A、B和C都是答案:D9. 在C语言中,以下哪个选项表示“或”逻辑操作?B. ||C. !D. =答案:B10. 在C语言中,以下哪个选项是正确的结构体声明?A. struct {int id;char name[50];} employee;B. struct employee {int id;char name[50];};C. A和B都是D. A和B都不是答案:C11. 在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int ptr[];C. int *ptr = NULL;D. A和C都是答案:D12. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fprintf()D. A、B和C都是13. 在C语言中,以下哪个选项表示“非”逻辑操作?A. &&B. ||C. !D. =答案:C14. 在C语言中,以下哪个选项是正确的枚举类型声明?A. enum Color {Red, Green, Blue};B. enum {Red, Green, Blue} color;C. A和B都是D. A和B都不是答案:C15. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14159B. const double PI = 3.14159;C. A和B都是D. A和B都不是答案:A16. 在C语言中,以下哪个选项是正确的联合体声明?A. union {int a;float b;} data;B. struct {int a;float b;C. A和B都是D. A和B都不是答案:A17. 在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. A、B和C都是答案:D18. 在C语言中,以下哪个选项是正确的类型转换?A. (int)3.14B. (float)3C. A和B都是D. A和B都不是答案:C19. 在C语言中,以下哪个选项是正确的递归函数声明?A. void function();B. void function(int a);C. void function(void function());D. A和B都是答案:B20. 在C语言中,以下哪个选项是正确的预处理指令?A. #includeB. #defineC. #ifdefD. A、B和C都是二、程序填空题(每题5分,共20分)1. 请填写以下代码段中缺失的部分,以实现计算并打印一个整数的平方:```c#include <stdio.h>int main() {int num, square;scanf("%d", &num);square = num _____ num;printf("Square: %d\n", square);return 0;}```答案:*2。
3月计算机等级考试二级C语言笔试真题及参考答案
2010年3月计算机等级考试二级C语言笔试真题一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语司或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。
下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。
详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计一阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1B)AaBcC)a_bD)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a%11;D)i=!a;(15)有以下程序#includemain(){ char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%cn”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应本资.料来源于贵-州-学-习-网使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}B)switch(a==1){case 0:a=b;break;case 1:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (aif(aelse k=c;elseif(belse k=c;以下选项中与上述if语句等价的语句是A)k=(aB)k=(aC)k=(aD)k=(a(20)有以下程序#includemain(){in i,j,m=1;for(i=1;i<3;i++){for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%dn",m);}程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h>main(){int a=l;b=2;for(;a<8;a++) {b+=a;a+=2;}printf("%d,%dn",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%dn",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有本文来源于贵州学习网WWW.GZU521.COM一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#includevoid fun(char *c,int d){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main(){char b='a',a='A';fun(&b,a);printf("%e,%en",b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3(29)有以下程序#include(stdio.h)main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++) s=s+a[b[i]]);printf("%dn", s);}程序运行后的输出结果是A)6B)10C)11D)15(30)有以下程序#includemain(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=ij<=1;j++) t+=b[i][b[j][i]];printf("%dn",t);}程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="n123\";printf("%d %dn", strlen(s1),strlen(s2));则输出结果是A)5 5B)10 5C)10 7D)5 8(32)有以下程序#include#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=O;i{printf("%d",a[i]);}printf("n");}程序运行后的输出结果是A)1313B)2234C)3234D)1234(33)有以下程序#includeint f(int t[],int n);main{ int a[4]={1,2,3,4},s;s=f(a,4); printf("%dn",s);}int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1);else return 0;}程序运行后的输出结果是A)4B)1OC)14D)6(34)有以下程此资料转贴于贵州学习网序#includeint fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++) s=fun();printf("%dn",s);}程序运行后的输出结果是A)OB)1C)4D)8(35)有以下程序#include#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%dn",d);}程序运行后的输出结果是A)0B)-12C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1fn",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;} 程序运行后的输出结果是(38)有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;}s;};struct workers w,*pw;pw=&w;能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#includemain(){ int a=2,b=2,c=2;printf("%dn",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#includemain(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp);fpfopen("myfile.data","a++");fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str);fclose(fp);}程序运行后的输出结果是A)abcB) 28cC) abc28D)因类型不一致而出错二、填空题(1)一个队列的初始状态为空。
计算机二级c语言考试题库和答案
计算机二级c语言考试题库和答案一、选择题1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0x12.5C. 0x12FD. 0x12G答案:A2. 若有定义:int a=1, b=2, c=3;,则以下哪个表达式的值不为2?A. a+b-cB. a*b-cC. a*(b-c)D. a+(b-c)答案:B3. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlen()B. strcpy()C. strcat()D. strcmp()答案:A4. 若有以下代码片段:```cint x=10;printf("%d", ++x);```则输出结果为:A. 9B. 10C. 11D. 12答案:C5. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:B二、填空题1. 在C语言中,使用________关键字可以定义一个结构体。
答案:struct2. 若有数组定义:int arr[5] = {1, 2, 3, 4, 5};,则arr[0]的值为________。
答案:13. 在C语言中,使用________函数可以实现字符串的复制。
答案:strcpy()4. 若有以下代码片段:```cfloat x = 3.14;printf("%.2f", x);```则输出结果为________。
答案:3.145. 在C语言中,若要声明一个指向整型的指针变量,应使用________关键字。
答案:int*三、编程题1. 编写一个C语言程序,计算并输出100以内所有奇数的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i += 2) {sum += i;}printf("The sum of all odd numbers within 100 is: %d\n", sum);return 0;}```2. 编写一个C语言函数,实现两个整数的交换。
全国计算机等级考试二级c语言真题库之选择题
全国计算机等级考试等级考试真题库之选择题( 13)
1. 程序流程图中带有箭头的线段表示的是 ( )。
A) 图元关系 B) 数据流 C) 控制流 D) 调用关系
参考答案: C 【解析】 在数据流图中, 用标有名字的箭头表示数据流。 头表示控制流。所以选择 C)。
在程序流程图中, 用标有名字的箭
参考答案: B 【解析】 scanf函数的一般形式为 scanf(格式控制 ,变量 1地址 ,变量 2地址 , …)其, 中,格式字符串 要与数据类型保持一致 ,所以格式字符串中应为 %lf,后面应该为变量地址 ,所以需要加上符号 "&", 所以选择 B?
17. 若有定义语句 char c='\101';
24. 以下选项中函数形参不是指针的是 A) fun( int *a ){ …} B) fun( int a[10] ){ …} C) fun( int &p ){ …} D) fun( int p [ ] ){ …}
参考答案: C 【解析】 B选项和 D选项是将数组作为函数参数; 正确。
C) 。
11.C语言程序的模块化通过以下哪个选项来实现 A) 变量 B) 函数 C) 程序行 D) 语句
参考答案: B 【解析】 C语言程序的模块化通过函数来体现 ,所以选择 B?
12. 以下选项中不属于 C语言标识符的是
A) 常量
B) 用户标识符
C) 关键字
D) 预定义标识符
参考答案: A
【解析】常量是指在程序运行过程中其值不能被改变的量
,如5、 1.0、字符 'a' 等。 C语言的标
识符分为 3类 :关键字、预定义标识符和用户标识符 ?常量不属于标识符,所以选择 A?
全国计算机等级考试二级C语言【附详解】
是对顺序队列的改进,故循环队列是队列的一种顺序存储结正确的是
A、栈是一种先进先出的线性表 B、队列是一种后进先出的线性表 C、栈和队列都是非线性结构 D、以上三种说法都不对
栈是一种后进先出的线性表
队列是一种先进先出的线性表,二者均是线性结构,
答案为选项D。
ppt课件
4
一棵二叉树共有25个节点,其中5个是子节点,那么度为1的节
一个C程序有且只有一个主函数 main()。
一个C 程序可以包含多个不同名字的子函数
C程序在书写时没有严格的缩进要求。
ppt课件
16
设有以下语句 Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2); 若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是 A、A和B之间用逗号间隔 B、A和B之间不能有任何间隔符 C、A和B之间可以用回车间隔 D、A和B之间用空格间隔
软件详细设计- - 程序流程图(PDF)和PAD(问题分析图)是过程设计的常 用工具 数据流图(DFD图 ) 是 软 件 定 义 阶 段 结 构 化 分 析 方 法 常 用 的 工 具 。
ppt课件
12
针对简单程序设计,以下叙述的实施步骤正确的是 A、确定算法和数据结构、编码、调试、整理文档 B、编码、确定算法和数据结构、调试、整理文档 C、整理文档、确定算法和数据结构、编码、调试 D、确定算法和数据结构、调试、编码、整理文档
在输入格式中定义好了”%c%c”,其中没有任何符号,所以中间不能加任何字符,包 含不能加逗号、回车和空格,因为这些也算是字符。
ppt课件
17
以下选项中非法的字符常量是 A、’\102’ B、’\65’ C、’\xff’
计算机等级考试二级C语言试题及答案
{ int a=5; s+=f(&a);
}
s+=f(&a); printf(“%d\nC)7 D)8
38、有以下程序 #define f(x) x*x main( ) { int i; i=f(4+4)/f(2+2);
15、 若以下选项中的变量已正确定义,则正确的赋值语句 是
(C) A)x1=26.8%3 B)1+2=x2 C)x3=0x12 D)x4=1+2=3;
//%为模式运算,又称为求余运算,二侧均为整形数据 16、 设有以下定义
int a=0; double b=1.25; char c=’A’; #define d 2 则下面语句中错误的是(D) A)a++; B)b++ C)c++; D)d++;
{ int i,s=0;
for(i=1;i<10;i+=2) s+=i+1;
printf(“%d\n”,s);
} 程序执行后的输出结果是(D)
A)自然数1~9的累加和
B)自然数1~10的累加和
C)自然数1~9中的奇数之和 D)自然数1~10中的偶数 之和
25、有以下程序 main( ) { int i,n=0; for(i=2;i<5;i++) { do { if(i%3) continue; n++; } while(!i); n++; } printf(“n=%d\n”,n); } 程序执行后的输出结果是(D) A)n=5 B)n=2 C)n=3 D) n=4
计算机二级考试c语言试题及答案
计算机二级考试c语言试题及答案计算机二级考试C语言试题及答案一、选择题1. C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 在C语言中,哪个运算符用于计算两个整数的最小公倍数?A. %B. /C. *D. &答案:A3. 下列哪个选项是正确的C语言数组声明?A. int array[10];B. int [10] array;C. Both A and BD. None of the above答案:C4. 在C语言中,以下哪个函数用于将字符串复制到另一个字符串?A. strcpy()B. strcat()C. strncat()D. strncpy()答案:A5. C语言中,以下哪个语句用于结束程序的执行?A. exit();B. return;C. break;D. continue;答案:A二、填空题6. 在C语言中,一个变量声明为`static int count;`,它的生命周期是_________。
答案:整个程序运行期间7. C语言中,`printf`函数用于输出,其对应的输入函数是_________。
答案:scanf8. 在C语言中,`sizeof`运算符用于获取_________。
答案:变量或类型所占内存的大小9. C语言中,`switch`语句中`case`后面跟的是_________。
答案:常量表达式10. C语言中,`for`循环的一般形式是`for(________;________;________)`。
答案:初始化表达式;条件表达式;迭代表达式三、简答题11. 简述C语言中指针和引用的区别。
答案:指针是一个变量,它存储了另一个变量的内存地址。
引用则是一个别名,它不是独立的变量,而是另一个已存在变量的另一个名字。
12. 解释C语言中的递归函数。
答案:递归函数是指在函数内部调用自身的函数。
全国计算机等级考试二级C语言笔试试题及答案解析
全国计算机等级考试二级C语言笔试试题及答案解析一、选择题1. 以下哪个选项不是C语言的关键字?A. autoB. includeC. ifD. static答案:B解析:C语言中,auto、if和static都是关键字,而include不是关键字,它是预处理命令的一部分。
2. 在C语言中,下列哪个选项是非法的整型常量?A. 012B. 0x123C. 0X123D. 0123答案:D解析:C语言中,以0开头的数字表示八进制常量,以0x 或0X开头的数字表示十六进制常量。
选项A表示八进制常量,选项B和C表示十六进制常量,而选项D表示非法的常量。
3. 有以下程序段:```cint a = 5, b = 4;printf("%d\n", a/b);```输出结果是:A. 1B. 1.25C. 5D. 4答案:A解析:在C语言中,整数除法的结果仍然是整数。
因此,5除以4的结果为1。
4. 以下哪个函数用于动态分配内存?A. malloc()B. alloc()C. new()D. calloc()答案:A解析:在C语言中,malloc()函数用于动态分配内存。
calloc()函数也用于动态分配内存,但会初始化分配的内存空间。
alloc()和new()不是C语言中的标准函数。
二、填空题1. 在C语言中,若要定义一个指向整型的指针变量,应使用______。
答案:int解析:在C语言中,使用int 来定义一个指向整型的指针变量。
2. 有以下程序段:```cint a = 5, b = 3;printf("%d\n", a % b);```输出结果是______。
答案:2解析:在C语言中,%运算符表示求余运算。
因此,5除以3的余数为2。
3. 有以下程序段:```cint a = 5;printf("%d\n", sizeof(a));```输出结果是______。
计算机二级c语言考试题及答案
计算机二级c语言考试题及答案一、选择题1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级编程语言B. C语言具有可移植性C. C语言可以直接在操作系统上运行D. C语言具有结构化编程的特点答案:C2. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A3. 下列关于数组的描述中,正确的是()。
A. 数组必须在程序的开始处定义B. 数组的大小在定义后可以改变C. 数组可以存储不同类型的数据D. 数组的下标从0开始答案:D二、填空题1. 在C语言中,使用________关键字可以定义一个函数。
答案:void2. C语言中,用于输入输出的库函数分别是________和________。
答案:scanf; printf3. 在C语言中,声明一个字符型数组可以使用________关键字。
答案:char三、编程题1. 编写一个C语言程序,计算并输出100以内的奇数和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i < 100; i += 2) {sum += i;}printf("100以内的奇数和为:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现两个整数的交换。
```c#include <stdio.h>int main() {int a = 10, b = 20, temp;temp = a;a = b;b = temp;printf("交换后的值:a = %d, b = %d\n", a, b);return 0;}```四、简答题1. 简述C语言中指针的作用。
答案:指针在C语言中用于存储变量的内存地址,它允许程序间接访问内存中的数据。
全国计算机等级考试二级c语言笔试试题及答案
全国计算机等级考试二级c语言笔试试题及答案1. 单项选择题:以下哪个选项是C语言中合法的标识符?A. 2variableB. variable2C. variable-2D. variable$2答案:B2. 单项选择题:在C语言中,以下哪个关键字用于声明函数?A. intB. voidC. returnD. function答案:B3. 单项选择题:C语言中,哪个运算符用于计算两个整数的乘积?A. +B. -C. *D. /答案:C4. 单项选择题:以下哪个选项是C语言中正确的字符串声明?A. char str[] = "Hello";B. char str[] = 'Hello';C. char str[] = "Hello''';D. char str[] = "Hello";答案:A5. 单项选择题:C语言中,哪个函数用于计算数组中元素的个数?A. sizeofB. lengthC. countD. size答案:A6. 单项选择题:在C语言中,以下哪个选项是正确的二维数组声明?A. int array[3][4];B. int array[3,4];C. int array[3][];D. int array[][];答案:A7. 单项选择题:C语言中,哪个关键字用于定义一个结构体?A. structB. classC. unionD. enum答案:A8. 单项选择题:在C语言中,以下哪个选项是正确的指针声明?A. int *ptr;B. int *ptr[];C. int ptr*;D. int ptr*[];答案:A9. 单项选择题:C语言中,哪个函数用于输入一个字符?A. scanfB. printfC. getcharD. putchar答案:C10. 单项选择题:在C语言中,以下哪个选项是正确的条件语句?A. if (condition)B. switch (condition)C. case (condition)D. default (condition)答案:A11. 单项选择题:C语言中,哪个关键字用于定义一个循环?A. forB. whileC. doD. All of the above答案:D12. 单项选择题:在C语言中,以下哪个选项是正确的函数声明?A. void myFunction();B. int myFunction();C. float myFunction();D. All of the above答案:D13. 单项选择题:C语言中,哪个运算符用于计算两个数的除法?A. /B. *C. %D. //答案:A14. 单项选择题:在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. define PI 3.14C. #define "PI" 3.14D. #define PI = 3.14答案:A15. 单项选择题:C语言中,哪个关键字用于定义一个枚举类型?A. enumB. unionC. structD. typedef答案:A16. 单项选择题:在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. freadD. All of the above答案:D17. 单项选择题:C语言中,哪个关键字用于定义一个联合体?A. unionB. structC. enumD. typedef答案:A18. 单项选择题:在C语言中,以下哪个选项是正确的位运算符?A. &B. |C. ^D. All of the above答案:D19. 单项选择题:C语言中,哪个函数用于输出一个字符串?A. scanfB. printfC. getcharD. putchar答案:B20. 单项选择题:在C语言中,以下哪个选项是正确的递归函数声明?A. int factorial(int n);B. int factorial();C. int factorial(int);D. int factorial(int n) { if (n <= 1) return 1; else return n * factorial(n - 1); }答案:D。
2023年3月计算机二级C语言笔试真题及答案版
3月二级c语言笔试真题及答案试题:一、选择题(11) 如下论述对旳旳是A)C语言程序是由过程和函数构成旳B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可以作为单独文献形式存在(12) 如下有关C语言旳论述中对旳旳是A)C语言中旳注释不可以夹在变量名或关键字旳中间B)C语言中旳变量可以再使用之前旳任何位置进行定义C)在C语言算术旳书写中,运算符两侧旳运算数类型必须一致D)C旳数值常量中夹带空格不影响常量值旳对旳表达(15)#include <stdio.h>void main(){char a,b,c,d;scanf(”%c%c”,&a,&b);c=getchar(); d=getchar();printf(”%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第一列开始,<CR>代表回车,注意:回车是一种字符)12<CR>34<CR>则输出成果是:A、1234B、12C、12D、123 34 16、如下有关C语言数据类型使用旳论述中错误旳是:A、若要精确无误旳表达自然数,应使用整数类型。
B、若要保留带有多位小数旳数据,应使用双精度类型。
C、若要处理如”人员信息”等具有不一样类型旳有关数据,应自定义构造体类型。
D、若只处理”真”和”假”两种逻辑值,应使用逻辑类型。
(24)如下有关return语句旳论述中对旳旳是A)一种自定义函数中必须有一条return语句B) 一种自定义函数中可以根据不一样状况设置多条return语句C)定义成viod类型旳函数中可以有带返回值旳return语句D)没有return语句旳自定义函数在执行结束时不能返回到调用处(25)下列选项中,可以对旳定义数组旳语句是A)int num[0..]; B) int num[];C) int N=; D) #define Nint num[N]; int num[N](26)有如下程序#include<stdio.h>void fun (char*c,int d){*c=*c+1;d=d+1;printf(”%c,%c,”,*c,d);}main(){char b=’a’,a=’A’;fun(&b,a); printf(”%c,%c\n”,b,a);}程序运行后旳输出成果是A)b,B,b,A B)b,B,B,A C)a,B,B,a D)a,B,a,B(27)若有定义int(*pt)[3];,则下列说法对旳旳是A)定义了基类型为int旳三个指针变量B)定义了基类型为int旳具有三个元素旳指针数组pt。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
A) 1个字节 B) 2个字节 C) 3个字节 D) 4个字节 参考答案:A 【解析】本题考察字符变量的存储空间,每个字符变量被分配一个字节 的内存空间。因此A选项正确。 18.若有以下程序 #include <stdio.h> main() { char c1, c2; c1='C'+'8'-'3'; c2='9'-'0'; printf("%c %d\n", c1, c2); } 则程序的输出结果是 A) H '9' B) H 9 C) F '9' D) 表达式不合法输出无定值 参考答案:B 【解析】本题考察字符变量以及printf()函数相关知识,字符变量c1被 赋值为'C'+'8'-'3',即ASSCII码的运算,67+54-49=72,即H;字符变量c2被 赋值为'9'-'0',但输出时,需要注意的是c1以字符变量输出,而c2是以十 进制整型变量输出。因此B选项正确。 19.表示关系式x≤y≤z的C语言表达式的是 A) (x<=y)&&(y<=x) B) (x<=y)||(y<=x) C) (x<=y<=z) D) x<=y)!(y<=x) 参考答案:A 【解析】本题考察关系表达式和逻辑表达式,y大于等于x同时y小于等 于z,因此x<=y和y<=z是逻辑与的关系。因此A选项正确。
全国计算机等级考试等级考试真题库之选 择题(13)
1.程序流程图中带有箭头的线段表示的是( )。 A) 图元关系 B) 数据流 C) 控制流 D) 调用关系 参考答案:C 【解析】在数据流图中,用标有名字的箭头表示数据流。在程序流程图 中,用标有名字的箭头表示控制流。所以选择C)。 2.结构化程序设计的基本原则不包括( )。 A) 多态性 B) 自顶向下 C) 模块化 D) 逐步求精 参考答案:A 【解析】结构化程序设计的思想包括:自顶向下、逐步求精、模块化、 限制使用goto语句,所以选择A)。 3.软件设计中模块划分应遵循的准则是( )。 A) 低内聚低耦合 B) 高内聚低耦合 C) 低内聚高耦合 D) 高内聚高耦合 参考答案:B 【解析】软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小 规模适当、模块的依赖关系适当等。模块的划分应遵循一定的要求,以 保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性 强,易于理解和维护。模块之间的耦合应尽可能的低,模块的内聚度应 尽可能的高。 4.在软件开发中,需求分析阶段产生的主要文档是( )。 A) 可行性分析报告 B) 软件需求规格说明书 C) 概要设计说明书
( )。 A) 需求分析阶段 B) 概念设计阶段 C) 逻辑设计阶段 D) 物理设计阶段 参考答案:C 【解析】E-R图转换成关系模型数据则是把图形分析出来的联系反映 到数据库中,即设计出表,所以属于逻辑设计阶段。 9.有三个关系R、S和T如下: 由关系R和S通过运算得到关系T,则所使用的运算为( )。
20.有以下程序 #include <stdio.h> main() { int x=1, y=0,a=0,b=0; switch( x ) { case 1: switch ( y ) { case 0: a++; break; case 1: b++; break; } case 2: a++; b++; break; } printf("a=%d,b=%d\n",a,b ); } 程序运行后的输出结果是 A) a=1,b=0 B) a=1,b=1 C) a=2,b=1 D) a=2,b=2 参考答案:C 【解析】本题重点考察switch语句,switch语句中case分支后面如果没 有break,那么就会顺序执行下面的case,直到遇到break跳出。由于变 量a和变量b均赋初值为0,当程序执行完语句case 0: a++; break;后,a的 值为1,继续执行语句case 2: a++; b++; break;a的值为2,b的值为1。因 此C选项正确。 21.有以下程序 #include <stdio.h> main() { int k, j, s; for( k=2; k<6; k++,k++ ) { s=1; for (j=k; j<6; j++ ) s+=j; } printf("%d\n" , s ); }
15.若有以下程序段 double x=5.16894; printf("%f\n", (int)(x*1000+0.5)/(double)1000 ); 则程序段的输出结果是 A) 5.170000 B) 5.175000 C) 5.169000 D) 5.168000 参考答案:C 【解析】%f的输出格式是以带小数点的数学形式输出浮点数。首先计算 x*1000,结果为5168.94然后+0.5,结果为5169.44,然后进行强制类型转换, 转换成整型为5169,然后除以双精度数据1000,结果也为双精度数据5.169, 输出时按照%f的格式输出,所以输出结果为5.169000。 16.设有定义: double a,b,c; 若要求通过输入分别给a、b、c输入1、2、3,输入形式如下(注:此处 □代表一个空格) □□1.0□□2.0□□3.0<回车> 则能进行正确输入的语句是 A) scanf("%lf%lf%lf",a,b,c); B) scanf("%lf%lf%lf",&a,&b,&c); C) scanf("%f%f%f",&a,&b,&c); D) scanf("%5.1lf%5.1lf%5.1lf",&a,&b,&c); 参考答案:B 【解析】scanf函数的一般形式为scanf(格式控制,变量1地址,变量2地址, …),其中,格式字符串要与数据类型保持一致,所以格式字符串中应为%lf, 后面应该为变量地址,所以需要加上符号"&",所以选择B。 17.若有定义语句 char c='\101'; 则变量c在内存中占
11.C语言程序的模块化通过以下哪个选项来实现 A) 变量 B) 函数 C) 程序行 D) 语句 参考答案:B 【解析】C语言程序的模块化通过函数来体现,所以选择B。 12.以下选项中不属于C语言标识符的是 A) 常量 B) 用户标识符 C) 关键字 D) 预定义标识符 参考答案:A 【解析】常量是指在程序运行过程中其值不能被改变的量,如5、1.0、字 符'a'等。C语言的标识符分为3类:关键字、预定义标识符和用户标识符。 常量不属于标识符,所以选择A。 13.以下选项中不属于C语言程序运算符的是 A) sizeof B) <> C) ( ) D) && 参考答案:B 【解析】C语言中的不等于符号用"!="表示,没有符号"< >"。所以选择B。 14.若变量已正确定义并赋值,以下不能构成C语句的选项是 A) B++; B) A=a+b; C) a=a+b D) A?a:b; 参考答案:C 【解析】C语言规定,C语句必须以分号";"结束。C选项中没有结束符号,所 以错误。
D)
集成测试计划 参考答案:B 【解析】A)错误,可行性分析阶段产生可行性分析报告。C)错误,概要 设计说明书是总体设计阶段产生的文档。D)错误,集成测试计划是在概 要设计阶段编写的文档。B)正确,需求规格说明书是后续工作如设计、 编码等需要的重要参考文档。 5.算法的有穷性是指( )。 A) 算法程序的运行时间是有限的 B) 算法程序所处理的数据量是有限的 C) 算法程序的长度是有限的 D) 算法只能被有限的用户使用 参考答案:A 【解析】算法原则上能够精确地运行,而且人们用笔和纸做有限次 运算后即可完成。有穷性是指算法程序的运行时间是有限的。 6.对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2 的排序方法是( )。 A) 快速排序 B) 冒泡排序 C) 直接插入排序 D) 堆排序 参考答案:D 【解析】除了堆排序算法的比较次数是 ,其他的都是n(n-1)/2。 7.下列关于栈的叙述正确的是( )。 A) 栈按"先进先出"组织数据 B) 栈按"先进后出"组织数据 C) 只能在栈底插入数据 D) 不能删除数据 参考答案:B 【解析】栈是按"先进后出"的原则组织数据的,数据的插入和删除 都在栈顶进行操作。 8.在数据库设计中,将E-R图转换成关系数据模型的过程属于
A) 并 B) 自然连接 C) 笛卡尔积 D) 交 参考答案:D 【解析】自然连接是一种特殊的等值连接,它要求两个关系中进行比较 的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以 B)错误。笛卡尔积是用R集合中元素为第一元素,S集合中元素为第二 元素构成的有序对,所以C)错误。根据关系T可以很明显的看出是从关 系R与关系S中取得相同的关ቤተ መጻሕፍቲ ባይዱ组所以取得是交运算,选择D)。 10.设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄, 身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC 的关键字(键或码)为( )。 A) 课号,成绩 B) 学号,成绩 C) 学号,课号 D) 学号,姓名,成绩 参考答案:C 【解析】学号是学生表S的主键,课号是课程表C的主键,所以选课 表SC的关键字就应该是与前两个表能够直接联系且能唯一定义的学号 和课号,所以选择C)。