c语言函数阶段测验 c语言函数试题

C语言进阶04-预防、检测及消除bug01
开发软件不等于编码
写程序时会有"编码--测试--调试"的习惯.很不幸,这是开发软件的错误方法.专业的程序员会使用策略来预防、检测及消除软件bug.编码不是在开发软件.编码的意思是在文本编辑器中输入语句.编码只是开发软件的小部分.开发软件需要编程前、编程中、编程后的许多步骤.下面分着讲解.
02
编程前
1、了解需求.
2、考虑可能的输入和期望的输出.
3、识别出有效但非期望的输入和正确的输出.这是对于开发可靠的软件而言是一个关键点.
4、识别出无效输入并找到检测它们的方法.要注意即使输入无效的数据时,程序也不能奔溃.
5、想出解决办法,并记录.
6、设计程序,可以节省大量的时间.
03
编程中
1、若想正确且更快的完成程序, 就写更多的代码.为了满足一个要求而把代码放到一个更大的程序之前,写一个小程序来测试你的解决方案.即单元测试.
2、使用自动缩进的文本编辑器可以帮你检查代码是否对齐,可以节省宝贵的时间.
3、在运行之前一行一行的读代码.可以帮你找到通过测试很难发现的问题.
4、自己想一些测试例子. 若自己不知道自己写的代码,则计算机也不知道.
5、尽量使用函数来重构代码,避免复制代码.
6、要用版本控制系统(这不是废话吗).
7、编译时,警告信息也不要放过.
04
编程后
不要依赖测试,测试只会告诉你程序没有正常工作,不会告诉你程序真的在正常运行.很可能测试用例没有涵盖所有可能的方案.通过测试用例涵盖所有可能的方案是很困难的.
05
常见错误
未初始化变量:一些人认为所有的变量都会自动初始化为0,C语言中不会初始化.通过测试很难测试出来.
错误数据类型:需要理解并正确地使用类型,编程语言的趋势是让数据类型更有限制性,防止犯意外的错误.
06
后执行式和交互式调试
调试一个程序分为几个阶段, 举个列子:
1、从一个文件中读取一些整数;
2、把整数排序;
3、把排好序的整数存到另一个文件中;
单元测试:在上面三部整合之前测试每一部分叫作单元测试.
对于单元测试,经常需要写一些额外的代码,作为单独部分的"驱动".调试可能是交互式或后执行式的.若程序会花费几个小时,你就不会想要用交互式来调试这个程序了.相反,你会想要程序打印出调试信息,即日志.
对交互式调试而言打印调试信息存在多个问题:
1、需要插入代码来打印调试信息.多数情况下,调试信息必须在随后被移除,因为此信息不应该出现在最终的代码和它的输出中.
2、如果有很少的信息,那么就会缺少足够的信息帮助你判断哪里错了.
3、如果信息太多,可以忽略不相关的信息,获得好信息是很困难的.
4、最糟糕的是,问题可能会出现在意想不到的地方,而那里却并未插入调试信息.结果就是添加越来越多的调试信息.这是很耗时的.
07
生产代码与测试代码分离
自己应该能检测出自身bug的程序.编写程序之前就应该考虑编写测试代码.这是普遍的做法,这个称为测试驱动的开发.开发的时候需要将测试代码和开发代码分开,这样可以随意删除测试代码.
c语言 计算分段函数,测试数据分别是-2,3,7{ f=x 1; if ( f0 ) f=-f; }
x=5
x,f);
计算下列分段函数
f(x,y)= 2X2 3x 1/(x y) (x=0c语言函数阶段测验,y0)
f(x,y)=2X2 3x 1/(1 y2)(x=0,y=0)
f(x,y)=3sin(x y)/ 2X2 3X 1(x0)
扩展资料:
已知函数f(x)= 求f(3)c语言函数阶段测验的值 。
解:由3∈(-∞c语言函数阶段测验,6),知f(3)=f(3 2)=f(5),
又5∈(-∞,6),所以f(5)=f(5 2)=f(7).
又由7∈[6, ∞)所以f(7)=7-2=5,因此 , f(3)=5 。
求分段函数c语言函数阶段测验的函数值c语言函数阶段测验的方法:先确定要求值的自变量属于哪一段区间,然后按该段的表达式去求值,直到求出值为止 。
参考资料来源:百度百科-分段函数
C语言第二阶段10个题,在线等 。第1题
题目类型: 判断题
题目:在C语言中,函数中只能有一个return 语句 。( 错误)
正确 错误
第2题
题目类型: 判断题
题目:若函数的返回值与return表达式类型不一致时,以return 表达式类型为准 。( 错误)
正确 错误
第3题
题目类型: 判断题
题目:在C语言中,使用函数strcpy 时可以将‘
正确 错误
第4题
题目类型: 单选题
题目:以下正确的数组定义语句是(2) 。
可选答案:
1.int y[1][4]={1,2,3,4,5};
2.float x[3][ ]={{1},{2},{3}};
3.long s[2][3]={{1},{1,2},{1,2,3}};
4.double t[ ][3]={0};
第5题
题目类型: 单选题
题目:在C语言的函数定义过程中,如果函数finA调用了函数funB,函数funB又调用了函数funA,则( 4 ) 。
可选答案:
1.称为函数的直接递归
2.称为函数的间接递归
3.称为函数的递归定义
4.C语言中不允许这样的递归形式
第6题
题目类型: 单选题
题目:指出程序结束时,j、i、k的值分别是( 1 ) 。
main()
{int a=10,b=5,c=5,d=5,i=0,j=0,k=0;
for(;ab;b)i;
while(ac)j;
do k;while(ad);
}
可选答案:
1.j=5,i=4,k=6;
2.i=5,j=4,k=6;
3.j=6,i=5,k=7
4.j=6,i=6,k=6;
第7题
题目类型: 单选题
题目:不能正确为字符数组输入数据的是(1) 。
可选答案:
1.char s[5];scanf(“%s”,s);
2.char s[5];scanf(“%s”,s);
3.char s[5];scanf(“%s”,s[0]);
4.char s[5];gets(s);
第8题
题目类型: 单选题
题目:C语言规定,调用一个函数时 , 实参变量和形参变量之间的数据传递方式是( 4 ) 。
可选答案:
1.地址传递
2.值传递
3.由实参传给形参,并由形参传回给实参
4.由用户指定传递方式
第9题
题目类型: 单选题
题目:若int x;则执行下列程序段后输出是( 2 ) 。
for(x=10;x3;x--)
{if(x%3)x--;--x;--x;
printf(“%d”,x);
}
可选答案:
1.63
2.74
3.62
4.73
第10题
题目类型: 单选题
题目:在以下对C语言的描述中,正确的是(1 ) 。
可选答案:
1.在C语言中调用函数时,只能将实参数的值传递给形参,形参的值不能传递给实参
2.C语言函数既可以嵌套定义又可以递归调用
3.函数必须有返回值,否则不能使用函数
4.C语言程序中有定义关系的所有函数都必须放在同一源文件中
【c语言函数阶段测验 c语言函数试题】c语言函数阶段测验的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于c语言函数试题、c语言函数阶段测验的信息别忘了在本站进行查找喔 。

    推荐阅读