软通动力C语言笔试题
c语言笔试选择题和答案解析

c语言笔试选择题和答案解析c语言笔试题及答案(1)算法的时间复杂度是指_______。
A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数答案:C评析:所谓算法的时间复杂度,是指执行算法所需要的计算工作量。
(2)下列叙述中正确的是________。
A)线性表是线性结构B)栈与队列是非线性结构C)线性链表是非线性结构D)二叉树是线性结构答案:A评析:一般将数据结构分为两大类型:线性结构与非线性结构。
线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。
(3)下面关于完全二叉树的叙述中,错误的是_________。
A)除了最后一层外,每一层上的结点数均达到最大值B)可能缺少若干个左右叶子结点C)完全二叉树一般不是满二叉树D)具有结点的完全二叉树的深度为[log2n]+1答案:B评析:满二叉树指除最后一层外每一层上所有结点都有两个子结点的二叉树。
完全二叉树指除最后一层外,每一层上的结点数均达到最大值,在最后一层上只缺少右边的若干子结点(叶子结点)的二叉树。
(4)结构化程序设计主要强调的是_________。
A)程序的规模B)程序的易读性C)程序的执行效率D)程序的可移植性答案:B评析:结构化程序设计主要强调的是结构化程序清晰易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。
(5)在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是________。
A)概要设计B)详细设计C)可行性分析D)需求分析答案:D评析:需求分析是对待开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能。
编写软件规格说明书及初步的用户手册,提交评审。
(3)数据流图用于抽象描述一个软件的逻辑模型,数据流图由一些特定的图符构成。
下列图符名标识的图符不属于数据流图合法图符的是_________。
A)控制流B)加工C)数据存储D)源和潭评析:数据流图从数据传递和加工的角度,来刻画数据流从输入到输出的移动变换过程。
2019年软通信息安全考试-优秀word范文(17页)

2019年软通信息安全考试-优秀word范文(17页)本文部分内容来自网络整理,本司不为其真实性负责,如有异议或侵权请及时联系,本司将立即删除!== 本文为word格式,下载后可方便编辑和修改! ==软通信息安全考试篇一:软通动力笔试(带参考答案)答案仅供参考一、改错题1. 找出以下两处逻辑错误(非编程规范)并改正char* getErrorString(int errcode){char errorString[] = "not exist";char errorString2[] = "not available";switch(errcode) {case 1:return errorString;case 2:return errorString2;default:return NULL;}}void printErrorString(int errcode){char *errorString = getErrorString(errcode);printf("errcode:%d, errorString:%s\n", errcode, errorString);}case1和case2返回了两个局部变量指针,而局部变量在函数结束后将自动释放。
改正:将字符数组改为指针char *errorString= "not exist";char *errorString2 = "not available";2. 以下是输出“welcome home”的程序,找出逻辑错误(非编程规范)并改正const int MAX_STR_SIZE = 12;int main(int argc, char *argv[]){char str[MAX_STR_SIZE];strcpy(str,"welcome home");printf("%s", str);return 0;}“welcome home”字符串应该是13个字节,而str字符数组只能存储12个字符改正: const int MAX_STR_SIZE = 13;二、程序填空题1. 写出String类的构造函数,析构函数和赋值函数class String{public:String(const char *str = NULL);};String(const String &other); ~String(); String& operator =(const String &other); char *m_data; private:String::~String(){}String::String(const char *str){}String& String::operator =(const String &other){}2. 一个计算到指定年份有多少个“黑色星期五”(当月的13号并且是星期五)的程序,具体忘了。
c语言考试笔试题及答案详解

c语言考试笔试题及答案详解一、选择题(每题2分,共20分)1. C语言中用于定义一个结构体的关键字是:A. structB. unionC. enumD. typedef答案:A2. 下列关于C语言中数组的描述,错误的是:A. 数组必须在编译时确定大小B. 数组可以是多维的C. 数组的元素必须是同一类型D. 数组可以动态分配答案:D3. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strncpyD. strcmp答案:A4. 下列哪个选项不是C语言中的运算符?A. %B. &&C. ::D. ||答案:C5. C语言中,用于定义一个函数的关键字是:A. functionB. defC. voidD. int答案:C6. 下列哪个选项不是C语言中的控制语句?A. ifB. switchC. caseD. for答案:C7. 在C语言中,用于声明一个指针的语法是:A. int *p;B. int p*;C. int *p = 0;D. int *p = p;答案:A8. C语言中,用于定义一个枚举类型的关键字是:A. enumB. typedefC. unionD. struct答案:A9. 下列关于C语言中指针的描述,错误的是:A. 指针可以指向任何类型的数据B. 指针可以作为函数的参数C. 指针可以作为函数的返回值D. 指针可以存储函数的地址答案:D10. C语言中,用于定义一个联合体的关键字是:A. structB. unionC. enumD. typedef答案:B二、填空题(每题3分,共15分)1. 在C语言中,使用________关键字可以定义一个变量的存储类型为静态存储。
答案:static2. C语言中,使用________运算符可以计算两个整数的和。
答案:+3. 在C语言中,使用________关键字可以定义一个函数的返回类型为无返回值。
软通动力软件测试笔试题

软通动力软件测试笔试题(总4页)-CAL-FENGHAI.-(YICAI)-Company One1-CAL-本页仅作为文档封面,使用请直接删除软件测试是软件开发的重要环节, 进行软件测试的目的是()A)证明软件错误不存在B)证明软件错误的存在C)改正程序所有的错误D)发现程序所有的错误2. 对于软件质量描述不正确的是: ()A)高质量的过程产生高质量的产品B)软件质量是测试人员测试出来的C)软件质量是设计和规划出来的D)项目阶段结束意味着产品质量达到了预期的标准3. 对于软件测试描述不正确的是: ()A)软件测试无法找到程序当中的所有缺陷B)测试工程师需要在最短时间内完成最有效的测试C)软件测试工程师只要了解需求就可以了D)测试工程师也需要了解编码知识4. 测试工程师需要了解下面哪些知识: ()A)项目管理知识B)测试知识C)需求管理D)以上都包括5. 检查软件产品是否符合需求定义的过程称为: ()A)确认测试B)集成测试C)性能测试D)功能测试6. 评审是对软件进行表态测试的一种方法, 下述结论中。
哪个是与软件评审无关的内容: ()A)尽量发现错误B)检查软件文档C)根据评审标准D)依靠测试信息7. 路径测试是整个结构测试的重要组成, 但在研究路径测试时, 通常又是使用程序控制流图来代替()A)程序框图B)结构图C)数据流图D)程序流程图8. 软件测试类型按开发阶段划分是()A)需求测试、单元测试、集成测试、验证测试B)单元测试、集成测试、确认测试、系统测试、验收测试C)单元测试、集成测试、验收测试、确认测试、验收测试D)调试、单元测试、集成测试、用户测试9. 下述说法错误的是()A)单元测试又称为模块测试, 是针对软件测试的最小单位—程序模块进行正确性检验的测试工作B)集成测试也叫做组装测试, 通常在编码完成的基础上, 将所有的程序模块进行有序的、弟增的测试。
C)集成测试是检验程序单元和部件的接口关系, 逐步集成为符合概要设计要求的程序部件或整个系统。
c语言笔试考试题及答案

c语言笔试考试题及答案C语言笔试考试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言中的关键字?A. intB. floatC. doubleD. string答案:A2. C语言中,int类型变量的默认初始值是多少?A. 0B. 1C. -1D. 随机值答案:A3. 以下哪个是正确的C语言函数声明?A. int function(int a, int b)B. void function(int a, int b)C. int function(int a, int b) {}D. int function(int a, int b) {return a + b;}答案:B4. 在C语言中,哪个运算符用于求两个数的余数?A. /B. %C. *D. -答案:B5. 下列哪个是C语言中正确的数组声明?A. int array[10];B. int array = 10;C. int array(10);D. int [10] array;答案:A6. C语言中,哪个语句用于结束程序的执行?A. break;B. continue;C. return;D. exit;答案:C7. 在C语言中,哪个函数用于计算两个数的和?A. sum(int a, int b)B. add(int a, int b)C. plus(int a, int b)D. None of the above答案:D8. 在C语言中,哪个关键字用于定义一个函数?A. functionB. defC. methodD. void答案:A9. 下列哪个选项是C语言中的控制流语句?A. ifB. switchC. caseD. All of the above答案:D10. 在C语言中,哪个语句用于实现循环?A. forB. whileC. do-whileD. All of the above答案:D二、填空题(每空2分,共20分)1. C语言中,____ 用于定义一个字符常量。
C笔试题目及答案c语言笔试题目及答案

C笔试题目及答案c语言笔试题目及答案c笔试题目及答案:c语言笔试题目及答案c笔试题目汇总篇11.谋下面函数的返回值(谷歌)intfunc(x){intcountx=0;while(x){countx++;x=x&(x-1);}returncountx;}假定x=。
答案:8思路:将x转变为2十进制,看看所含的1的个数。
2.什么是“引用”?申明和使用“引用”要注意哪些问题?请问:提及就是某个目标变量的“别称”(alias),对应用领域的操作方式与对变量轻易操作方式效果完全相同。
言明一个提及的时候,切勿必须对其展开初始化。
提及声明完后,相等于目标局部变量存有两个名称,即为该目标原名称和提及名,无法再把该提及名做为其他局部变量的别称。
声明一个提及,不是崭新定义了一个变量,它只则表示该提及名就是目标局部变量的一个别称,它本身不是一种数据类型,因此提及本身不占到存储单元,系统也不给提及分配存储单元。
无法创建数组的提及。
3.将“引用”作为函数参数有哪些特点?(1)传达提及给函数与传达指针的效果就是一样的。
这时,被调函数的形参就沦为原来主调函数中的实参变量或对象的一个别称去采用,所以在被调函数中对形参变量的操作方式就是对其适当的目标对象(在主调函数中)的操作方式。
(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;如果传递的是对象,还将调用拷贝构造函数。
因此,当参数传递的数据较大时,用引用比用一般变量传递参数的效率和所占空间都好。
(3)采用指针做为函数的参数虽然也能够达至与采用提及的效果,但是,在被调函数中同样必须给形参分配存储单元,且须要重复使用"*指针局部变量"的形式展开运算,这很难产生错误且程序的写作性极差;另一方面,在主调函数的调用点处,必须用变量的地址做为实参。
软通动力笔试(带参考答案)

答案仅供参考一、改错题1.找出以下两处逻辑错误(非编程规范)并改正char* getErrorString(int errcode){char errorString[] = "not exist";char errorString2[] = "not available";switch(errcode) {case 1:return errorString;case 2:return errorString2;default:return NULL;}}void printErrorString(int errcode){char *errorString = getErrorString(errcode);printf("errcode:%d, errorString:%s\n", errcode, errorString);}case1和case2返回了两个局部变量指针,而局部变量在函数结束后将自动释放。
改正:将字符数组改为指针char *errorString= "not exist";char *errorString2 = "not available";2.以下是输出“welcome home”的程序,找出逻辑错误(非编程规范)并改正const int MAX_STR_SIZE = 12;int main(int argc, char *argv[]){char str[MAX_STR_SIZE];strcpy(str,"welcome home");printf("%s", str);return 0;}“welcome home”字符串应该是13个字节,而str字符数组只能存储12个字符改正:const int MAX_STR_SIZE = 13;二、程序填空题1.写出String类的构造函数,析构函数和赋值函数class String{public:String(const char *str = NULL);String(const String &other);~String();String& operator =(const String &other); private:char *m_data;};String::~String(){(1)delete [] m_data;}String::String(const char *str){if( (2)str==NULL ) {m_data = (3)new char;*m_data = 0;}else {int length = (4)strlen(str);m_data = new char[length+1];strcpy(m_data, str);}}String& String::operator =(const String &other){if( (5) this == other) {return (6)*this;}(7) delete [] m_data;int length = strlen( (8)other );m_data = new char[length+1];(9)strcpy(m_data,other.m_data)return (10)*this;}2.一个计算到指定年份有多少个“黑色星期五”(当月的13号并且是星期五)的程序,具体忘了。
软通动力笔试带参考答案

答案仅供参考一、改错题1. 找出以下两处逻辑错误非编程规范并改正char getErrorStringint errcode{char errorString = "not exist";char errorString2 = "not available";switcherrcode {case 1:return errorString;case 2:return errorString2;default:return NULL;}}void printErrorStringint errcode{char errorString = getErrorStringerrcode;printf"errcode:%d, errorString:%s\n", errcode, errorString;}case1和case2返回了两个局部变量指针,而局部变量在函数结束后将自动释放; 改正:将字符数组改为指针char errorString= "not exist";char errorString2 = "not available";2. 以下是输出“welcome home”的程序,找出逻辑错误非编程规范并改正const int MAX_STR_SIZE = 12;int mainint argc, char argv{char strMAX_STR_SIZE;strcpystr,"welcome home";printf"%s", str;return 0;}“welcome home”字符串应该是13个字节,而str字符数组只能存储12个字符改正:const int MAX_STR_SIZE = 13;二、程序填空题1. 写出String类的构造函数,析构函数和赋值函数class String{public:String const char str = NULL;String const String &other;~String;String& operator =const String &other;private:char m_data;};String::~String{1delete m_data;}String::String const char str{if 2str==NULL {m_data = 3new char;m_data = 0;}else {int length = 4strlenstr;m_data = new char length+1;strcpym_data, str;}}String& String::operator =const String &other{if 5 this == other {return 6this;}7 delete m_data;int length = strlen 8other ;m_data = new char length+1;9strcpym_data,other.m_datareturn 10this;}2.一个计算到指定年份有多少个“黑色星期五”当月的13号并且是星期五的程序,具体忘了;三、编程题1.实现以下函数,把给定string中的‘’和‘’替换成‘’和‘’std::string replacestd::string &str{forint i = 0; i < str.size;i++ifstri==''{stri='';}ifstri==''{stri='';}}return str;}2.实现函数,使数字num按B进制输出int mainint argc, char argv{long num = 134;int B = 8;funcnum, B;return 0;}例如134按2进制输出10000110,按8进制输出206,按十六进制输出86void funclong num,int B{int a100 ={0};int count=0;whilenum>0{acount++=num%B; //保存余数num=num/B;}forint i = count - 1; i >=0; i-- //逆序输出{ifai>=10//十六进制要特殊处理{printf"%c",'A'+ai-10;}else{printf"%d",ai;}}printf"\n";}。
软通动力c语言笔试题及答案

软通动力c语言笔试题及答案软通动力C语言笔试题及答案1. 编写一个C语言程序,实现以下功能:- 输入一个整数n。
- 计算并输出从1到n的所有整数的和。
答案:```c#include <stdio.h>int main() {int n, sum = 0;printf("请输入一个整数:");scanf("%d", &n);for (int i = 1; i <= n; i++) {sum += i;}printf("从1到%d的和是:%d\n", n, sum);return 0;}```2. 已知一个数组,包含10个整数,请编写一个C语言程序,实现以下功能:- 找出数组中的最大值和最小值。
- 计算数组中所有元素的平均值。
```c#include <stdio.h>int main() {int arr[10] = {23, 45, 67, 89, 12, 34, 56, 78, 90, 10}; int max = arr[0], min = arr[0];double sum = 0, average;for (int i = 0; i < 10; i++) {sum += arr[i];if (arr[i] > max) {max = arr[i];}if (arr[i] < min) {min = arr[i];}}average = sum / 10;printf("数组中的最大值是:%d\n", max);printf("数组中的最小值是:%d\n", min);printf("数组中所有元素的平均值是:%.2f\n", average);return 0;}```3. 编写一个C语言程序,实现以下功能:- 输入一个字符串。
关于一套笔试题(软通动力)

关于一套笔试题(软通动力)1年。
软件测试是软件开发的重要组成部分。
软件测试的目的是(a)证明软件错误不存在,b)证明软件错误存在,c)纠正程序的所有错误,d)找出程序的所有错误2。
对软件质量的错误描述如下:(1)高质量的过程产生高质量的产品;(b)软件质量由测试人员进行测试;和(c)软件质量被设计和计划为D)项目阶段的结束意味着产品质量已经达到预期的标准3。
软件测试的描述是不正确的:(a)软件测试不能找到所有的缺陷B)测试工程师需要在尽可能短的时间内完成最有效的测试c)软件测试工程师只需要知道需求d)测试工程师也需要知道编码知识4。
测试工程师需要知道以下哪些知识:(1)项目管理知识(2)测试知识(3)需求管理(4)以上包括5。
检查软件产品是否满足需求定义的过程称为:(a)确认测试(b)集成测试(c)性能测试(d)功能测试(6)。
评审是软件语句测试的一种方法。
在下面的结论中这与软件评审无关:()A)尝试查找错误b)检查软件文档c)根据评审标准d)依靠测试信息7。
路径测试是整体结构测试的重要组成部分,但在研究路径测试时,通常使用程序控制流程图来代替(a)程序框图(b)结构图(c)数据流图(d)程序流程图(8)。
软件测试类型分为()A)需求测试、单元测试、集成测试、验证测试B)单元测试、集成测试、确认测试、系统测试、验收测试C)单元测试、集成测试、验收测试、确认测试、验收测试D)调试、单元测试、集成测试、用户测试9。
以下陈述是错误的()A)单元测试也称为模块测试,它是一种用于检查程序模块正确性的测试,是软件测试的最小单元。
试验工作B)集成测试也称为组装测试。
通常,所有程序模块都是在代码完成的基础上以有序和增量的方式进行测试的C)集成测试是检查程序单元和组件之间的接口关系,并逐步将它们集成到程序组件或满足概要设计要求的整个系统中。
D)系统测试是检查在真实或模拟的系统运行环境下,完整的程序系统是否能够正确配置并与相关硬件、外设、网络、系统软件和支持平台连接。
C语言面试笔试题

C语言面试笔试题C语言面试笔试题(1)算法的时间冗杂度是指_______。
A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数答案:C评析:所谓算法的时间冗杂度,是指执行算法所需要的计算工作量。
(2)以下表达中正确的选项是________。
A)线性表是线性结构 B)栈与队列是非线性结构C)线性链表是非线性结构 D)二叉树是线性结构答案:A评析:一般将数据结构分为两大类型:线性结构与非线性结构。
线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。
(3)下面关于完全二叉树的表达中,错误的选项是_________。
A)除了最终一层外,每一层上的结点数均到达最大值B)可能缺少若干个左右叶子结点C)完全二叉树一般不是满二叉树D)具有结点的完全二叉树的深度为[log2n]+1答案:B评析:满二叉树指除最终一层外每一层上全部结点都有两个子结点的二叉树。
完全二叉树指除最终一层外,每一层上的结点数均到达最大值,在最终一层上只缺少右边的若干子结点(叶子结点)的二叉树。
C语言笔试题答案篇(1)结构化程序设计主要强调的是_________。
A)程序的规模 B)程序的易读性C)程序的执行效率 D)程序的可移植性答案:B评析:结构化程序设计主要强调的是结构化程序清楚易读,可理解性好,程序员能够进行逐步求精、程序证明和测试,以保证程序的正确性。
(2)在软件生命周期中,能精确地确定软件系统必需做什么和必需具备哪些功能的阶段是________。
A)概要设计 B)具体设计 C)可行性分析 D)需求分析答案:D评析:需求分析是对待开发软件提出的需求进行分析并给出具体定义,即精确地确定软件系统的功能。
编写软件规格说明书及初步的用户手册,提交评审。
(3)数据流图用于抽象描述一个软件的规律模型,数据流图由一些特定的图符构成。
以下图符名标识的图符不属于数据流图合法图符的是_________。
软通动力笔试题合集

头文件并且在同一处声明和定义类的成员。 C.在 C#中可使用 new 修饰符显式隐藏从基类继承的成员。 D.在 C#中要在派生类中重新定义基类的虚函数必须在前面加 Override。
3. 遍历 map 的方法: 使用 Map 接口提供的方法 entrySet(); import java.util.HashMap; import java.util.Iterator; import java.util.Map;
public class MapTest {
public static void main(String[] args) { Map<Object, Object> map = new HashMap<Object,Object>(); map.put("a", "中国");
{
public static int Count = 0;
static Class1()
{
Count++;
}
public Class1()
{
Count++;
}
}
Class1 o1 = new Class1();
Class1 o2 = new Class1();
请问,Class1.Count 的值是多少? A.1 B.2 C.3 D.4
2:设有变量说明语句 int a=1,b=0; 则执行以下程序段的输出结果为( )。 switch (a) { case 1: switch (b) { case 0:printf("**0**");break; case 1:printf("**1**");break; } case 2:printf("**2**");break; } printf("\n"); A.**0** B.**0****2** C.**0****1****2** D.有语法错误
c语言笔试题及答案

c语言笔试题及答案C语言笔试题及答案一、选择题(每题2分,共20分)1. 下列哪个选项是C语言的关键字?A. voidB. intC. floatD. all of the above答案:D2. C语言中,哪个函数用于计算两个数的和?A. add()B. sum()C. max()D. min()答案:A3. 在C语言中,以下哪个是正确的字符串定义方式?A. char str[10] = "Hello";B. string str = "Hello";C. char str[] = "Hello";D. char str = "Hello";答案:A4. 以下哪个选项不是C语言的基本数据类型?A. intB. floatC. doubleD. string答案:D5. 在C语言中,以下哪个语句是正确的循环语句?A. whileB. do-whileC. forD. all of the above答案:D二、填空题(每空2分,共20分)6. C语言中,定义一个整型变量的关键字是________。
答案:int7. 在C语言中,表示逻辑与的运算符是________。
答案:&&8. 一个C语言程序的执行从________函数开始。
答案:main9. 在C语言中,数组的索引从________开始。
答案:010. C语言中,表示逻辑非的运算符是________。
答案:!三、简答题(每题10分,共20分)11. 简述C语言中函数的定义和调用过程。
答案:在C语言中,函数定义包括返回类型、函数名、参数列表和函数体。
调用函数时,需要使用函数名和相应的参数列表。
12. 解释C语言中指针的概念及其用途。
答案:指针是C语言中一种特殊的变量,它存储了另一个变量的内存地址。
指针主要用于直接访问内存地址,实现动态内存分配,以及函数参数的传递等。
软通动力笔试

软通动力笔试题一填空1,win32下sizeof() short int long2,位移int a=3; int b=a<<3 ; a= b=3,htonl(0x01)4, #define xxx 100+200Main(){int a=xxx*10;}5,内存,cpu调度,函数栈分别是进程范围还是线程范围:6,MFC的基类二改错1.Fun(int *p){p=new int(4);} Main(){Int *p=NULL;fun(p); }2.Int *p=0;int a=4;p=a;3.Int fun(int & b,int c){;}Fun1(){Int d;Fun(d,d);Fun(&d,d);}三.简答题1.c,vc,c++,mfc的概念2.写一个函数重载的例子3.waitforsinglethread的作用4.怎么创建线程和进程5.CMEMORRYSTA TE的作用6.T<template T>T FUN(T a,T b){……..}这是C++中有的C中具有的什么特性?这种特性有什么作用?7._cdecl _stdcall _pasal 分别有什么功能?四.程序题1.显示输出结果#include<iosteam>Using namespace std;class basic{public:virtual void print(){ cout<<”basic”<<endl ;}Vittual coid call(){print();}}Class std1:public basic{Pubilic:Virtual void print(){cout<<”std1”<<endl;} };Class std2:public basic{Pubilic:Virtual void print(){cout<<”std2”<<endl;} };Int main(){Basic a;Std1 s1;Std2 s2;S1.call;S2.call;a.print;s1.print;}}2.显示输出结果#include<stdio.h>void fun1(int x){x=2;printf("%d",x);if(x=3){int x=4;printf("%d",x);}printf("%d",x);}main(){int x=7;fun1(7);printf("%d",x);}。
东软c语言笔试题及答案大全

东软c语言笔试题及答案大全东软C语言笔试题及答案大全1. 以下哪个关键字用于定义C语言中的函数?A. classB. functionC. voidD. int答案:D2. 在C语言中,以下哪个选项不是合法的变量名?A. _myVarB. my_varC. 2variableD. myVar2答案:C3. 下列关于C语言中数组的描述,错误的是:A. 数组可以存储相同类型的多个元素B. 数组的索引从0开始C. 数组的大小在声明时必须指定D. 数组的大小可以在运行时确定答案:D4. C语言中,以下哪个运算符用于比较两个值是否相等?A. ==B. =C. !=D. !=答案:A5. 在C语言中,以下哪个语句用于循环执行一段代码?A. ifB. forC. whileD. switch答案:B6. 下列哪个函数用于将字符串转换为浮点数?A. atoiB. atofC. itoaD. sprintf答案:B7. 在C语言中,以下哪个选项是正确的注释方式?A. // This is a single line commentB. /* This is a single line comment */C. // This is a multi-line commentD. /* This is a multi-line comment */答案:A8. 下列哪个函数用于计算两个数的和?A. printfB. scanfC. sumD. strcat答案:C(注意:C语言标准库中没有sum函数,此题意在考察自定义函数的概念)9. 在C语言中,以下哪个关键字用于定义结构体?A. structB. unionC. enumD. typedef答案:A10. 下列哪个选项是C语言中的预处理器指令?A. #includeB. #defineC. #importD. #export答案:A11. 在C语言中,以下哪个关键字用于声明一个指针?A. intB. charC. floatD. *答案:D12. 下列哪个选项是合法的C语言常量?A. 0x1AB. 1.23e5C. 123D. All of the above答案:D13. C语言中,以下哪个函数用于输出字符串?A. printfB. scanfC. sprintfD. strcat答案:A14. 下列哪个选项是C语言中正确的二维数组声明?A. int arr[3][4];B. int arr[][];C. int arr[3][];D. int arr[4][3][2];答案:A15. 在C语言中,以下哪个选项用于定义一个枚举类型?A. structB. unionC. enumD. typedef答案:C16. 下列哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A17. C语言中,以下哪个关键字用于定义一个联合体?A. structB. unionC. enumD. typedef答案:B18. 下列哪个选项是C语言中正确的条件语句?A. ifB. unlessC. switchD. case答案:A19. 在C语言中,以下哪个函数用于将浮点数转换为字符串?A. sprintfB. printfC. scanfD. strcat答案:A20. 下列哪个选项是C语言中正确的无限循环?A. while(1)B. for(;;)C. do-whileD. All of the above答案:D。
05软通动力笔试题

05软通动力笔试题软通动力笔试题一、填空1、软件的生命周期从软件的计划到废弃不用为止,划分为若干阶段,并赋予任务和活动,他们分别是:系统调查、系统分析、系统设计、程序设计、系统测试和运行维护。
2、软件开发模型是软件开发全过程、活动和任务的结构构架,请列举3种软件开发模型:V 、W 、X3、针对软件的外部特征的测试方法称为黑盒测试,此种测试方法在设计测试用例的时候,常见的方法有等价类划分、边界值分析、场景法、(请列举3种你熟悉的)4、针对软件的内部结构进行的测试称为白盒测试,对于此种测试方法,一般的覆盖率要求有语句覆盖、分支覆盖、条件覆盖(请列举3种你熟悉的)5、在测试中的80-20原则是指:80%的缺陷存在于20%的软件程序中或模块中6、系统测试中,常见测试类型有:功能测试、性能测试、安全测试、兼容测试、安装/卸载测试(请列举5种)7、可靠性测试的两个关键性能指标是:规定时间内、规定条件下8、测试用例,需要有描述不完整和,测试执行的时候一定要严格按照测试用例设计进行。
9、OSI七层协议中,最上面一层定义为表示层10、关系数据库的3个基本要素实体、关系和属性11、目前Unix操作系统提供的一个常用的文本编辑器是vi ,其有命令和末行两种模式。
(还有一种文本编辑模式)12、Unix中常见的3种shell是:csh 、bsh 和ksh 。
二、简答题1、测试的目的是什么?一般一个较完整的软件系统需要进行那几个阶段的测试(或者说是哪几个步骤的测试)?尽可能多的找出软件的缺陷,评估软件版本质量单元测试、集成测试、系统测试、验收测试2、系统测试计划和系统测试策略的作用分别是什么?测试计划定义测试进度的测试策略是说明用什么方法来测试3、某工厂公开招工,规定报名者年龄应该在20周岁-39周岁,即出生年月不得早于1960年7月,不晚于1979年6月,报名程序具有自动检验输入数据的功能。
如果出生年月不属于上述范围,讲拒绝接受,并显示“年龄不合格”等出错信息。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
软通动力C语言笔试题1、局部变量能否和全局变量重名?答:能,局部会屏蔽全局。
要用全局变量,需要使用::局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。
对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。
2、如何引用一个已经定义过的全局变量?答:extern可以用引用头文件的方式,也可以用extern关键字,如果用引用头文件方式来引用某个在头文件中声明的全局变理,假定你将那个变写错了,那么在编译期间会报错,如果你用extern方式引用时,假定你犯了同样的错误,那么在编译期间不会报错,而在连接期间报错。
3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?答:可以,在不同的C文件中以static形式来声明同名全局变量。
可以在不同的C文件中声明同名的全局变量,前提是其中只能有一个C文件中对此变量赋初值,此时连接不会出错4、语句for( ;1 ;)有什么问题?它是什么意思?答:和while(1)相同。
5、do while和while do有什么区别?答:前一个循环一遍再判断,后一个判断以后再循环6、请写出下列代码的输出内容#includemain()int a,b,c,d;a=10;b=a++;c=++a;d=10*a++;printf( b,c,d:%d,%d,%d ,b,c,d); return 0;}答:10,12,1207、static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。
全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。
这两者在存储方式上并无不同。
这两者的区别虽在于非静态全局变量的作用域是整个源程序,当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效的。
而静态全局变量则限制了其作用域,即只在定义该变量的源文件内有效,在同一源程序的其它源文件中不能使用它。
由于静态全局变量的作用域局限于一个源文件内,只能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误。
从以上分析可以看出,把局部变量改变为静态变量后是改变了它的存储方式即改变了它的生存期。
把全局变量改变为静态变量后是改变了它的作用域,限制了它的使用范围。
static函数与普通函数作用域不同。
仅在本文件。
只在当前源文件中使用的函数应该说明为内部函数(static),内部函数应该在当前源文件中说明和定义。
对于可在当前源文件以外使用的函数,应该在一个头文件中说明,要使用这些函数的源文件要包含这个头文件static全局变量与普通的全局变量有什么区别:static全局变量只初使化一次,防止在其他文件单元中被引用;static局部变量和普通局部变量有什么区别:static局部变量只被初始化一次,下一次依据上一次结果值;static函数与普通函数有什么区别:static函数在内存中只有一份,普通函数在每个被调用中维持一份拷贝8、程序的局部变量存在于(堆栈)中,全局变量存在于(静态区)中,动态申请数据存在于( 堆)中。
9、设有以下说明和定义:typedef union {long i; int k[5]; char c;} DATE;struct data { int cat; DATE cow; double dog;} too;DATE max;则语句printf( %d ,sizeof(struct date)+sizeof(max));的执行结果是:___52____答:DATE是一个union, 变量公用空间. 里面最大的变量类型是int[5], 占用20个字节. 所以它的大小是20data是一个struct, 每个变量分开占用空间. 依次为int4 + DATE20 + double8 = 32.所以结果是20 + 32 = 52.当然...在某些16位编辑器下, int可能是2字节,那么结果是int2 + DATE10 + double8 = 2010、队列和栈有什么区别?队列先进先出,栈后进先出11、写出下列代码的输出内容#includeint inc(int a){return(++a);}int multi(int*a,int*b,int*c) {return(*c=*a**b);}typedef int(FUNC1)(int in);typedef int(FUNC2) (int*,int*,int*);void show(FUNC2 fun,int arg1, int*arg2) {INCp= inc;int temp =p(arg1); fun( temp, arg1, arg2); printf( %d\n ,*arg2); }main(){int a;show(multi,10,return 0;}答:11011、请找出下面代码中的所以错误说明:以下代码是把一个字符串倒序,如abcd 倒序后变为dcba1、#include string.h2、main()3、{4、char*src= hello,world5、char* dest=NULL;6、int len=strlen(src);7、dest=(char*)malloc(len);8、char* d=dest;9、char* s=src[len];10、while(len--!=0)11、d++=s--;12、printf( %s ,dest);13、return 0;14、}答:方法1:int main(){char* src = hello,worldint len = strlen(src);char* dest = (char*)malloc(len+1);//要为\0分配一个空间char* d = dest;char* s = src[len-1];//指向最后一个字符while( len-- != 0 )*d++=*s--;*d = 0;//尾部要加\0printf( %s\n ,dest);free(dest);// 使用完,应当释放空间,以免造成内存汇泄露return 0;}方法2:#include#includemain(){char str[]= hello,world int len=strlen(str); char t;for(int i=0; i {t=str[i];str[i]=str[len-i-1]; str[len-i-1]=t;}printf( %s ,str);return 0;}12。
对于一个频繁使用的短小函数,在C语言中应用什么实现,在C++中应用什么实现?答案:c用宏定义,c++用inline13。
软件测试都有那些种类?答案:黑盒:针对系统功能的测试白合:测试函数功能,各函数接口14。
确定模块的功能和模块的接口是在软件设计的那个队段完成的?答案:概要设计阶段15。
enum string{x1,x2,x3=10, x4,x5,}x;问x;答案:取值在0。
1。
10。
11。
12中的一个16。
unsigned char *p1;unsigned long *p2;p1=(unsigned char *)0x801000;p2=(unsigned long *)0x810000;请问p1+5= ;p2+5= ;答案:801005; 810014。
不要忘记了这个是16进制的数字,p2要加20变为16进制就是14选择题:1.Ethternet链接到Internet用到以下那个协议?A.HDLC;B.ARP;C.UDP;D.TCP;E.ID2.属于网络层协议的是:A.TCP;B.IP;C.ICMP;D.X.253.Windows消息调度机制是:A.指令队列;B.指令堆栈;C.消息队列;D.消息堆栈; 答案:b,a,c二找错题:1.请问下面程序有什么错误?int a[60][250][1000],i,j,k;for(k=0;k =1000;k++)for(j=0;j j++)for(i=0;i i++)a[i][j][k]=0;答案:把循环语句内外换一下2。
以下是求一个数的平方的程序,请找出错误: #define SQUARE(a) ((a)*(a))int a=5;int b;b=SQUARE(a++);答案:这个没有问题,s(a++),就是((a++) (a++))唯一要注意的就是计算后a=7了3。
typedef unsigned char BYTEint examply_fun(BYTE gt_len; BYTE *gt_code){BYTE *gt_buf;gt_buf=(BYTE *)MALLOC(Max_GT_Length);......if(gt_len Max_GT_Length) {return GT_Length_ERROR; }.......}答案:要释放内存问答题:1.IP Phone的原理是什么?答案:IPV62.TCP/IP通信建立的过程怎样,端口有什么作用? 答案:三次握手,确定是哪个应用程序使用该协议1. 用宏定义写出swap(x,y)#define swap(x, y)\x $denghao$ x + y;\y $denghao$ x - y;\x $denghao$ x - y;2.数组a[n],存放了1至n-1个数,其中某个数重复一次。
写一个函数,找出被重复的数字.时间复杂度必须为o(n)函数原型:int do_dup(int a[],int n)3 一语句实现x是否为2的若干次幂的判断int i $denghao$ 512;cout boolalpha ((i (i - 1)) ? false : true) endl;4.unsigned int intvert(unsigned int x,int p,int n)实现对x的进行转换,p为起始转化位,n为需要转换的长度,假设起始点在右边.如x$denghao$0b0001 0001,p$denghao$4,n$denghao$3转换后x$denghao$0b0110 0001unsigned int intvert(unsigned int x,int p,int n){unsigned int _t $denghao$ 0;unsigned int _a $denghao$ 1;for(int i $denghao$ 0; i ++i){_个具有一定独立功能的程序在某个数据集合上的一次(A);进程是一个(B)的概念,而程序是一个(C)的概念;进程的最基本状态有(D)。