首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读以下说明和C语言函数,将解答填入对应栏内。 【说明】 下面待修改的C程序完成的功能是:对于给定的一个长正整数,从其个位数开始,每隔一位取一个数字(即取其个位、百位、万位等数字),形成一个新的整数并输出。例如,将该程序修改正确后,运行时若输入“1
阅读以下说明和C语言函数,将解答填入对应栏内。 【说明】 下面待修改的C程序完成的功能是:对于给定的一个长正整数,从其个位数开始,每隔一位取一个数字(即取其个位、百位、万位等数字),形成一个新的整数并输出。例如,将该程序修改正确后,运行时若输入“1
admin
2008-11-20
60
问题
阅读以下说明和C语言函数,将解答填入对应栏内。
【说明】
下面待修改的C程序完成的功能是:对于给定的一个长正整数,从其个位数开始,每隔一位取一个数字(即取其个位、百位、万位等数字),形成一个新的整数并输出。例如,将该程序修改正确后,运行时若输入“14251382”,则输出的整数为“4532”。
下面给出的C程序代码中有五个错误,请指出所有的错误。
【C程序代码】
01 #include <stdio.h>
02
03 int main()
04 {
05 long n, num;
06 int i;
07
08 do {
09 printf("请输入一个正整数:");
10 scanf("%ld", n);
11 }while(n <= 0);
12 k = 1;
13 for (i = 1; n >= 0; i++) {
14 if (i % 2 = 1) {
15 num= num+ (n % 10) * k;
16 k = k * 10;
17 }
18 n = n / 10;
19 }
20 printf("新数据为: %d \n",num);
21 return 0;
22 }
选项
答案
错误1:变量k没有声明(或定义)。 错误2:变量num没有初始化,或者num应初始化为0。 错误3:第10行scanf函数参数错,或者“scanf("%1d",n);”中的n应该为“&n”;或者n之前应加取地址符号。 错误4:第13行循环条件错,或改为“n>0”。 错误5:第14行if语句条件错,将“=”改为“==”;或者将“1%2=1”改为“i% 2==1 ”
解析
本题考查程序检错和排错能力。
程序错误一般分成语法错误和语义错误两种类型,其中语法错误是形式上的错误,语义错误是含义上的错误,编译程序能够发现程序中的所有语法错误。
语义错误又可分为静态语义错误和动态语义错误,静态语义错误编译时检查,而动态语义错误在程序运行时表现。
C程序中,常见的错误有:使用的变量没有定义、变量没有赋值初就直接使用、输入输出的数据类型与所用格式说明符不一致、超出数据范围、输入时数据的组织方式与要求不符、误把“=”作为关系运算符“等于”、语句的分号缺少或放置错误、缺少“{}”、符号引用错误,“(、)、[、]”括号不配对、引用数组元素超界等。
在本题的程序中,使用变量num的语句为“num=num+(n%10)*k;”。由于变量 num没有赋初值,该语句运行的结果导致num的值是不确定的。
在本题给出的程序中,出现了如下错误。
(1)使用的变量k没有定义(语法错误,编译程序报告:k是未定义的标识符)。
(2)变量num没有赋初始值就直接使用(动态语义错误),应将其初始值设为0。由于num是局部变量,使用变量num的语句为“num=num+(n%10)*k”,系统不保证对其进行初始化,导致程序的运行结果不确定。
(3)第14行,误把“=”作为关系运算符“等于”(语法错误),
(4)第10行,输入变量时忘记使用地址符号(动态语义错误),运行时变量n不能正确接收输入的数据。
(5)第13行,循环条件错误,导致无穷循环。
考生应多上机调试程序,这样就可以熟悉常见的程序错误,从而提高编程水平和效率。
转载请注明原文地址:https://www.kaotiyun.com/show/NsjZ777K
本试题收录于:
程序员下午应用技术考试题库软考初级分类
0
程序员下午应用技术考试
软考初级
相关试题推荐
某单位需要使用浓度为15%的盐水750克,但只有浓度20%和5%的两种盐水。经过计算,将浓度20%和5%的盐水分别取()克混合后就能达到要求。
在Word中,下列关于分栏操作的叙述中,正确的是(49)。
数据处理技术员小王为了本企业的利益做了如下几项数据处理,其中________是违法的。
在Excel的A1单元格中输入函数“=LEFT(“信息处理技术员”,2)”,按回车键后,A1单元格中的值为()。
海关为严查一批进口食品罐头含铅量是否超标宜采用的方法是______。
信息系统中,防止非法使用者盗取、破坏信息的安全措施要求:进不来、拿不走、改不了、看不懂。以下(62)技术不属于安全措施。
文件的类型可以根据()来识别。
下列选项中,既是输入设备又是输出设备的是(6)。
信息技术对传统教育方式带来了深刻的变化。以下叙述中,不正确的是(3)________________。
在Excel2007中,(43)________________不是计算从A1到A6单元格中数据之和的公式。
随机试题
法律没有明文规定为犯罪行为的,可以比照刑法处罚。()
缩窄性心包炎,多表现为
(2008年)甲乙两国1990年建立大使级外交关系,并缔结了双边的《外交特权豁免议定书》。2007年两国交恶,甲国先宣布将其驻乙国的外交代表机构由大使馆降为代办处,乙国遂宣布断绝与甲国的外交关系。之后,双方分别撤走了各自驻对方的使馆人员。对此,下列哪一选项
2010年一次能源生产目标为46亿吨标准煤,年均增长()。
当水文地质条件比较复杂,特别是深水岩面不平,无覆盖层或覆盖层很厚时,采用()比较合适。
蓄能器是液压系统中一种储存油液压力能的装置,其主要功能包括()。
社会工作的服务对象不仅是指个人,也可能是指()或社区。
著作人身权,又称著作精神权,指著作权人对其作品所享有的各种与人身相联系或者密不可分而又无直接财产内容的权利,是作者通过创作表现个人风格的作品而依法享有获得名誉、声望和维护作品完整性的权利。著作财产权,又称著作经济权,是著作人身权的对称,是指著作权人自己使用
Arecentreportonpopulationtrendconductedbythethink【1】oftheWorldwatchInstituteidentifiessignsofslowinggrowthin
下列说法中,正确的是
最新回复
(
0
)