小弟最近编写了两个c语言源程序,但其中种种问题无法解决,特来求助
#include
int main()
{
int a,b,c,max;
printf("请输入三个数:
");
scanf("%d%d%d",&a,&b,&c);
if(a>b)
max=a;
if(c>max)
max = c;
printf("三个数中最大的数为:%d",max);
return 0;
}
扩展资料:
主要特点:
1,简洁的语言
C语言包含有各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且多以小写字母为主,对许多不必要的部分进行了精简。
2,具有结构化的控制语句
C语言是一种结构化的语言,提供的控制语句具有结构化特征,如for语句、if⋯else语句和switch语句等。可以用于实现函数的逻辑控制,方便面向过程的程序设计。
3,丰富的数据类型
C语言包含的数据类型广泛,不仅包含有传统的字符型、整型、浮点型、数组类型等数据类型,还具有其他编程语言所不具备的数据类型,其中以指针类型数据使用最为灵活,可以通过编程对各种数据结构进行计算。
4,丰富的运算符
c语言包含34个运算符,它将赋值、括号等均视作运算符来操作,使C程序的表达式类型和运算符类型均非常丰富。
5,可对物理地址进行直接操作
C语言允许对硬件内存地址进行直接读写,以此可以实现汇编语言的主要功能,并可直接操作硬件。
6,代码具有较好的可移植性
c语言是面向过程的编程语言,用户只需要关注所被解决问题的本身,而不需要花费过多的精力去了解相关硬件,且针对不同的硬件环境。
7,可生成的高质量目标代码,高执行效率的程序
与其他高级语言相比,C语言可以生成高质量和高效率的目标代码,故通常应用于对代码质量和执行效率要求较高的嵌入式系统程序的编写。
#include
#include
int main()
{
int i=0;
int j=0;
int mul=1;
int sum=0;
for(i=1;i<=10;i++)//和循环
{
mul=1;//每次循环前都需要初始化为1,要不然最后结果会变大
for(j=1;j<=i;j++)//阶乘循环
{
mul=mul*j;
}
sum=sum+mul;
}
printf("%d",sum);
system("pause");
return 0;
}
C11标准:
2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C语言的新标准,名叫ISO/IEC 9899:2011 - Information technology -- Programming languages -- C ,简称C11标准,原名C1X。这是C语言的第三个官方标准,也是C语言的最新标准。
扩展资料
C语言特点
1、高级语言:它是把高级语言的基本结构和语句与低级语言的实用性结合起来的工作单元。
2、结构式语言:结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。
C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。
3、代码级别的跨平台:由于标准的存在,使得几乎同样的C代码可用于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要进行硬件操作的场合,优于其它高级语言。
4、使用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素。C++在这方面做了改进,在保留了指针操作的同时又增强了安全性,受到了一些用户的支持,但是,由于这些改进增加语言的复杂度,也为另一部分所诟病。
Java则吸取了C++的教训,取消了指针操作,也取消了C++改进中一些备受争议的地方,在安全性和适合性方面均取得良好的效果,但其本身解释在虚拟机中运行,运行效率低于C++/C。一般而言,C,C++,java被视为同一系的语言,它们长期占据着程序使用榜的前三名。
参考资料来源:百度百科-c语言
首先我们来讨论下第一个程序。
第一个程序的问题并不大,编译的时候编译器提示:
错误 3 error C3861: “getch”: 找不到标识符
我们分析这个错误,是编译器无法识别"getch"这个函数。经过查询,我们了解到getch()函数的确存在,并且详细信息如下:
函数名
getch
功 能
在windows平台下从控制台无回显地取一个字符,在linux下是有回显的。
返回值
从键盘上读取到的字符
头文件
#include <conio.h>
注意这里提到的头文件,就是包含了这个函数定义的文件,你需要在文件开始加入进去进行编译才可以。所以加入#include <conio.h>后即编译通过!
程序如下:
#include <stdio.h>
#include <stdlib.h>
#include <conio.h>
int main()
{
FILE *out;
char outfile[20],ch;
long i=0;
printf("!
");
scanf("%s",outfile);
if((out=fopen(outfile,"r"))==NULL)
printf("NO !
");
for(i=0;!feof(out);i++)
ch=fgetc(out);
fclose(out);
getch();
return 0;
}
再来看第二个程序。
首次编译后提示错误如下:
错误 5 error C3861: “fcloce”: 找不到标识符
提示如同上一个程序中关于"getch"的提示。我们查询后发现floce并不存在,但是联系上下文可以判断此处应当是关闭文件指针的操作,对应的函数应当为fclose。因此将其更改为fclose(in)即可编译通过。
程序如下:
#include <stdio.h>
#include <stdlib.h>
int main()
{
FILE *in,*out;
char ch,infile[20],outfile[20];
long i=0;
printf("in
");
scanf("%s",infile);
printf("out
");
scanf("%s",outfile);
if((in=fopen(infile,"r"))==NULL)
{
printf("NO in!
");exit(0);
}
if((out=fopen(outfile,"w"))==NULL)
{
printf("NO out!
");exit(0);
}
for(i=0;!feof(in);i++)
{
ch=fgetc(in);
fputc(ch,out);
printf("%ld//****
",i);
}
fclose(in);
fclose(out);
return 0;
}
问题都是小问题,但是反映出了一些问题。
1、首先是程序的书写问题。程序二中你将fclose(in)和fclose(out)放在了一行里书写,这样如果某一个语句出现了错误,程序提示错误出现在第几行的时候你无法准确判断究竟是哪一个语句出现了错误。所以建议单条语句单行书写。
2、其次是关于定义变量时的书写问题。我注意到你在定义文件指针的时候是将FILE*in,out;连在一起书写的。其实在定义指针类型的变量的时候,*号是跟随着变量名称的,所以尽量在FILE和*号之间添加上一个空格,便于查看。
3、最后是关于查看错误信息的能力问题。通常编译错误的时候,编译器都会明确的通知你错误是什么,以及错误出现在程序中的第几行。有时候可能编译器显示不全,你可以右键后点击复制,然后将其错误信息粘贴出来查看。如下图所示:
如果实在不知道如何来解决,可以尝试将错误信息黏贴到百度或是其他搜索引擎上面查找,试图看看有没有网友遇到过相同或是相似的问题,从而获得解决办法。
望有所帮助,并祝愿楼主编程能力更进一步!
文件一:使用getch() 要添加头文件#include<conio.h>。
你只是在最后做个断点而已,使用getchar() 就够了。
getchar()和getch()功能上是有区别的。这个你最近百度下就是了。
文件二:
倒数第二句代码:fcloce(in);fclose(out); 写错了。。。
改为fclose(in);fclose(out);
这两个问题都解决了,程序可以运行了。多学学调试技巧,加油吧少年。
getch() 要添加头文件#include<conio.h>
是fclose
编写一个c程序^^^
void main(){ int i,j,k,n=0;do{ printf("Please Input a number(1--20)");scanf("%d",&n);} while(n>20||n<=0);for(i=0;i<n;i++){ if(i==0||i==n-1){ for(j=0;j<n;j++)printf("*");printf("\\n");} else { printf("*");for(j=0;j<n-2;j++)prin...
跪求高手帮小弟写个C语言猜数字游戏. 急急急急!!!
\/\/写了个好的 \/\/在此程序的同一个文件夹中创建一个txt文本里面写上所有要猜的数字,以空格分开 \/\/txt文件名为:game.txt include <fstream.h> include <stdlib.h> include void main(void){ const EASY_MODE=20;const MEDIUM_MODE=EASY_MODE\/2;const HARD_MODE=MEDIUM_MODE\/2;fstream fin...
C语言2个数相乘
两数相乘的C语言编程:
高加分!!!求用C语言编程序~~~
2010-09-19 请高人用C语言编写一个做选择题的小程序,满意另有加分! 2 2008-04-01 c语言编程,请高手帮忙!有最高加分!!!200 2013-09-18 用c语言编写舞伴配对程序,急求,快的可以加分 2011-10-29 C语言三个编程问题,请高手进!加分!! 2008-11-06 急 急 急 C语言问题 求高手来解决 答对再加分!!
C语言程序编写问题、恳求大虾帮忙!
C语言编写--学生成绩管理系统以菜单驱动方式完成以下主要功能;1、输入功能:输入一个班学生5门考试成绩;2、计算:计算每个学生的平均成绩及每门课的平均成绩;3、查询:按姓名查询任... C语言编写 -- 学生成绩管理系统 以菜单驱动方式完成以下主要功能;1、输入功能:输入一个班学生5门考试成绩;2、计算:计算每个学生...
小弟是个C语言的菜鸟最近在编一个判断是否为闰年的程序,我用的是WIN...
if 和 else是成对出现的 当你写完if后加了括号,那么就代表if执行完了 if(){} 那么你就必须写else或者执行后续语句,不能单独加语句 正确格式:if(){} else {} 你再看看你的格式 if(){} abc else {}
用c语言编写:输入20个整数,分别用选择法和冒泡法实现降序排列后,再按照...
\/\/\/冒泡法 include <stdio.h> void main (){ int i,a[100],n,j,k=1,t;printf ("输入个数n: ");\/\/你要的是20,就输入10吧 scanf ("%d",&n);printf ("输入%d个数据:\\n",n);for (i=0;i<n;i++){ printf ("a[%d]= ",i);scanf ("%d",&a[i]);} for (i=1;i<...
那位高手帮小弟用C解决下。。编写一个学生信息管理系统,主要实现下列...
那位高手帮小弟用C解决下。。编写一个学生信息管理系统,主要实现下列功能: 很急~!!1)录入功能:提供学生基本信息和某学期各科成绩的录入功能,学生信息要齐全。(2)查询功能,可以按照姓名或班级关键字查询学生基本信息。(3)修改功能,修改学生的信息和... 很急~!!1)录入功能:提供学生基本信息和某学期各科成绩的...
C语言程序设计
2.C语言是结构式语言。结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。这种结构化方式可使程序层次清晰,便于使用、维护以及调试。C 语言是以函数形式提供给用户的,这些函数可方便的调用,并具有多种循环、条件语句控制程序流向,从而使程序完全结构化。3.C...
用c语言编写一个程序,在显示器上自动显示年、月、日
给你一个屏幕上显示的表 全屏幕模拟时钟的C源程序 include<graphics.h> include<math.h> include<dos.h> define pi 3.1415926 define X(a,b,c) x=a*cos(b*c*pi\/180-pi\/2)+300;define Y(a,b,c) y=a*sin(b*c*pi\/180-pi\/2)+240;define d(a,b,c) X(a,b,c);Y(a,b,c)...
伏树安舒: 可以同时运行多个生成的exe, 不会出现任何干扰 除非你在程序中, 做了进程间通信 不过 一般不会这么做. 另外,如果程序中,访问了外部资源,比如读写文件, 那同时运行是可能出问题的, 因为文件不支持同时读写
沈北新区18489282300: 现在有两个c语言程序,要合并在一起用怎么实现 - ?
伏树安舒: 其中一个程序调用另一个程序的方式,使用系统调用system可以. 如果两个程序要交换使用数据,可以用建立文件作为数据交换的“通道”. 如果你不知道这两个程序的代码,那么就新建一个可以调用这两个已知程序的程序吧
沈北新区18489282300: c程序编好了不知道怎么运行,请高手指导一下,小弟不胜感激 - ?
伏树安舒: 所谓运行你的c程序,是指运行和代码功能相同的对应的.exe文件,而你刚编完的源代码只是.c文件 而要想变成.exe文件,需要一个c程序的编译器 你可以使用现在比较流行的VC/VC++(windows),dev-c++(windows),gcc(linux),eclipse(windows/linux)或者早期的TC(dos),甚至专门为学习C语言设计的一些软件(如易学)等,来将你的源代码通过编译和链接两个步骤转换成可执行的.exe文件 在编译和链接的过程中可能会遇到编译时刻错误,而在运行中可能遇到运行时刻错误,这时你就需要修改代码来纠正这些错误 因此,现在你要做的就是去网上下一个编译器或者编译环境
沈北新区18489282300: 怎样把两个独立的c程序放到一个工程里 - ?
伏树安舒: 将两个独立小函数的main()改名字.一个项目里面只能有一个main()
沈北新区18489282300: 怎么样把两个C语言程序叠加在一起 - ?
伏树安舒: 如果你说的叠加 是说一个程序有两个程序的功能的话 那么可以把两个程序的函数 都写在一起 如果有重名的 改名.最后 把主函数功能合并就可以了
沈北新区18489282300: 编写一个C程序,输入a,b,c,3个值,输出其中最大者. - ?
伏树安舒: 源程序中有错误,在以下代码段中: int max(int x,int y, int s) {int z; if(x>y)z=x; else z=y; if(y>s)z=y; //这里有错误 else z=s; return(z); } 应修改为: int max(int x,int y, int s) {int z; if(x>y)z=x; else z=y; if(z<s) //将x与y中的最大值即z与s比较,而不是将y与s比较z=s; return(z); }
沈北新区18489282300: 我编写了一个程序但运行不了,跪求高手解答. 我是新手,最近在学C语言. - ?
伏树安舒: 修改后源程序如下: #include<stdio.h> main() { float a,b,area; a=1.2; b=3.6; area=a*b; printf("a=%.2f,b=%.2f",area=%.2f\n",a,b,area); }
沈北新区18489282300: 高级语言的基本成分数据成分,运算成分,控制成分,传输成分,怎么看它们的类型区别的?比如其中对处理对象的类型说明属于高级语言中的数据成份.那... - ?
伏树安舒:[答案] 1.程序 从最一般的意义来说,程序是对解决某个计算问题的方法(算法)步骤的一种描述;而从计算机来说,计算机程序是用某种计算机能理解并执行的计算机语言作为描述语言,对解决问题的方法步骤的描述.计算机执行按程序所描述的方法步骤...
沈北新区18489282300: 写了个C语言程序,编译没错.运行后总是崩溃,怎么回事啊? - ?
伏树安舒: scanf("%c", p[i].name);scanf("%f", p[i].score);请问这两句对吗?scanf函数后边是参数地址,不是参数本身.
沈北新区18489282300: 不同功能的两个C语言程序怎样合为一个程序? - ?
伏树安舒: 如果是定时中断的,两个中断都要先设置好,另外,不要把两个定时中断设置在一个定时器上面