b)如果修改错误时增删了行,或是一个行里有多个错误,更正前面错误时增删了字符,就可能导致系统对错误定位不准,此时应该重新编译;
c)系统给出的警告信息一般都说明程序中有问题,因为系统发现了可疑情况。对于警告信息同样要逐个仔细分析。除非明确认定不是问题,否则绝不能简单地认为不是错误而不予理睬。
实际上,很多警告都是因为程序中确实有严重的隐含错误。
d) 在连接中发现新错误也需要仔细检查和修改程序。连接时发现的错误一般是由于函数名或外部变量名字写错,或者一些函数、外部变量没有定义引起的。系统不能对连接错误给以自动定位,只能提供有关的名字信息等。
对于这类问题,可以借助编辑器的字符串查找命令进行定位。
正确调用scanf函数和printf函数构成输入和输出语句。
2.有以下程序。
#include <>
void main()
char c1,c2;
int n1,n2;
c1=getchar();
c2=getchar();
n1=c1-'0';n2= n1*10+(c2-'0');
printf("%d",n2);
程序运行时输入:12《回车》,执行后输出结果是什么?
相关知识:①getchar()函数用来输入两个字符分别赋给变量c1和c2;
n1=c1-'0'相当于n1='1' -0',字符1的ascii码值比0大一,所以n1中的值为1,c2-'0'相当于'2' -0';
把字符串转换为多位数的算法。
3.若有以下程序。
#include <>
void main()
int i,j;
int x,y;
scanf("i=%d,j=%d",&i,&j);
scanf("%d%d",&x,&y);
printf("i=%d,j=%d",i,j);
printf("%4d%4d",x,y);
要求给i赋值为10,j赋值为20,则应该怎样从键盘输入数字?
相关知识:①在调用scanf()函数时在格式串中若包含有格式描述符之外的字符时,则要求在输入数据时在对应的位置上输入完全匹配的字符;
scanf()函数只包含格式描述符时可用跳格键tab、空格和回车分隔数据;
在调用printf ()函数时在格式串中若包含有格式描述符之外的字符时,则在输出数据时在对应的位置上输出完全匹配的字符,%d之类的格式符位置输出对应输出项的值;故输出时要注意插入适当的非格式符以便区分各个输出结果。
4. 计算定期存款本利之和。
设银行定期存款的年利率rate为2.25%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital均由键盘输入。
5. 键盘输入与屏幕输出练习。
问题1 要使下面程序的输出语句在屏幕上显示1, 2, 34,则从键盘输入的数据格式应为以下备选答案中的 。
#include <>
main()
char a,b;
int c;
scanf("%c%c%d",&a,&b,&c);
printf("%c,%c,%d",a,b,c);
a)1 2 34b)1, 2, 34
c)’1’,’2’,34d)12 34
问题2 在与上面程序的键盘输入相同的情况下,要使上面程序的输出语句在屏幕上显示1 2 34,则应修改程序中的哪条语句?怎样修改?
问题3 要使上面程序的键盘输入数据格式为1,2,34,输出语句在屏幕上显示的结果也为1,2,34,则应修改程序中的哪条语句?怎样修改?
问题4 要使上面程序的键盘输入数据格式为1,2,34,而输出语句在屏幕上显示的结果为'1', 2',34,则应修改程序中的哪条语句?怎样修改?
提示:利用转义字符输出字符单引号字符。]
问题5 要使上面程序的键盘输入无论用下面哪种格式输入数据,程序在屏幕上的输出结果都为'1', 2',34,则程序应修改程序中的哪条语句?怎样修改?
第1种输入方式:1,2,34↙(以逗号作为分隔符)
第2种输入方式:1 2 34↙(以空格作为分隔符)
第3种输入方式:1 2 34↙(以tab键作为分隔符)
第4种输入方式:1↙
34↙(以回车符作为分隔符)
一、实验目的。
1. 了解c语言表示逻辑量的方法。
2. 学会正确使用逻辑运算符和逻辑表达式。
3. 熟练掌握if 语句和 switch语句。
4. 结合程序掌握一些简单的算法。
5. 学习调试程序。
二、实验内容。
1. 若输入10,20,30则程序的执行结果是 20,30,10 请填充程序。
# include “
void main( )
int a, b, c
a=b ; b=c
printf ( d,%d,%d" ,a, b, c );
2. 源程序中包含有一些错误,调试下列程序,使之具有如下功能:输入a、b、c三个整数,求最小值。
# include “
void main( )
int a,b,c;
scanf("%d%d%d",a,b,c);
if((a>b)&&a>c))
if(bprintf("min=%d",b);
else printf("min=%d",c);
if((aprintf("min=%d",a);
再次运行程序,输入为“2,1,3”,程序输出却是“min=2”。用单步执行的方法,马上发现变量a、b、c的值是不对的,原因是程序要求输入数据的分隔符是空格(还允许使用回车或键)。改正输入数据的分隔方式后,程序没有输出,还是用单步执行的方法,监视程序的执行过程,发现程序中条件设计有误,经过改正的程序如下:
# include “
void main()
上述程序是按在三个数中仅有一个最小值时才称其为最小值进行设计的。另外,注意程序的书写格式,一定要采用缩进格式,即不同层次(分支)的语句左起的空格不同,这样可以有效地提高程序的可读性。
相关知识:①类似a3.参考上一题,编写一个c程序,求a、b、c、d四个数中的最大者。
编程点拨:多定义一个变量,并一开始令变量max=a;
if(max4.输入4个整数,要求按由小到大顺序输出。得到正确结果后,修改程序使之按由大到小顺序输出。
相关知识:①输入函数scanf()的使用;②简单的排序算法;③通过中间变量t交换a和b值的方法:t=a; a=b; b=t;。
5.根据以下函数关系,对输入的每个x值,计算出相应的y值。
#include
#include
void main()
{ float x,y;
scanf("%f",&x);ify
else ifyelse
printf("x=%f,y=%f",x,y);
相关知识点:if语句的嵌套;数学函数的调用方式。
6.模仿第5题,写程序实现以下函数:
用scanf函数输入x的值,求y值。运行程序,输入x的值(分别为x≤x<10、x≥10三种情况),检查输出的y值是否正确。
相关知识:①用if的嵌套实现分段函数;②比较运算符的正确使用;③算术运算符*的正确使用。
7.阅读分析以下程序的功能。
#include <>
void main( )
int choice;
int value;
printf("convert:显示菜单 */
printf(" 1:decimal to hexadecimal ")
printf(" 2:hexadecimal to decimal ")
printf(" 3:decimal to octal ")
printf(" 4:octal to decimal");
printf("enter your choice: "
scanf("%d",&choice);
高级语言程序设计实验 任务书
2013春季学年第2学期。实验指导书。教学院 部。教研室。授课班级。授课教师。职称职务。教材名称。2013年 1月10 日。一 实验目的。1.掌握c语言中使用最多的一种语句 赋值语句的使用方法。2.掌握各种类型数据的输入输出的方法,能正确使用各种格式转换符。二 实验的内容和步骤。1.以下程序多处有错...
高级语言程序设计任务书
高级语言程序设计课程设计任务书。题目 高级语言程序设计课程设计 第n组 每位同学按要求选一组题目,把自己所选题目组数填写在n处 针对本课程设计,完成以下课程设计任务 1 熟悉课程设计上机环境 turbo c 2 熟悉课程设计任务,查阅相关资料。3 针对每题完成以下工作 1 写出每个模块的设计思想。2...
2019《高级语言程序设计》任务书
课程设计任务书。指导教师 仝瑞阳张妍琰周二强。课程名称 高级语言程序设计。班级 0814101 2 计算机科学与工程系。2011年8月。课程设计是学习掌握c语言知识的重要实践环节,是在课程实验基础上进行的综合性实践教学活动。一 课程设计目的。该课程设计的目的,就是要通过一次集中的强化训练,使学生能及...