最重要的区别是gets读一行,getchar()()读一个字符。
先看原型:
char() * gets(char() * ptr);
int getchar(void);
作用是:
gets()用于从标准输入流stdin读入一个整行(以'\n'或EOF)结束,写入ptr指向的字符数组,并返回这个指针;出错或遇到文件结束时则返回NULL。行末的'\n'从流中取出,但不写入数组。gets()不检查被写入的数组大小。
getchar()用于从标准输入流stdin读入一个字符,并返回这个字符。如果读到文件结尾,则返回EOF。注意到EOF不能用char类型表示,所以getchar()函数返回的是一个int型的数。使用时也应该注意这一点。
#include<stdio.h> #include<stdlib.h> int main() { system("color f5"); printf(" *\n **\n ***\n"); system("pause"); return 0; }
#include<iostream> #include<math.h> using namespace std; class Shape { public: virtual double Area() const = 0; virtual double Perim() const = 0; virtual void Show() { cout << "Area is:" << Area() << endl; cout << "Perim is:" << Perim() << endl; } }; class Rectangle:public Shape { private: double Length; double Width; public: Rectangle(double Length = 0,double Width = 0) { this->Length = Length; this->Width = Width; } ~Rectangle() { } double Area() const { return Length*Width; } double Perim() const { return 2*(Length+Width); } /*void Show( ) { cout << "Area is:" << Area() << endl; cout << "Perim is:" << Perim() << endl; }*/ }; const double PI = 3.14159; class Circle:public Shape { private: double Radius; public: Circle(double Radius = 0) { this->Radius = Radius; } ~Circle() { } double Area()const { return PI*Radius*Radius; } double Perim() const { return 2*PI*Radius; } /*void show() { cout << "Area is:" << Area() << endl; cout << "Perim is:" << Perim() << endl; }*/ }; class Triangle:public Shape { private: double A,B,C; public: Triangle(double A = 0,double B = 0,double C = 0) { this->A = A; this->B = B; this->C = C; } ~Triangle() { } double Area() const { double P; P = (A +B + C)/2; return sqrt(P*(P-A)*(P-B)*(P-C)); } double Perim() const { return(A+B+C); } /*void show() { cout << "Area is:" << Area() << endl; cout << "Perim is:" << Perim() << endl; }*/ }; void main() { double Length,Width,Radius,A,B,C; cout << "Rectangle :" << endl; loopa: cout << "请输入矩形的长河宽(Length,Width):" << endl; cin >> Length >> Width; if(Length <= 0||Width <= 0) { cout << "输入的长度不能构成一个矩形!请重新输入!" <<endl; goto loopa; } else { Rectangle Rect(Length,Width); Rect.Show(); cout << "Circle: "<<endl; } loopb: cout << "请输入圆形的半径(Radius): " << endl; cin >> Radius; if(Radius <= 0) { cout << "输入的半径不能构成一个圆!请重新输入!" << endl; goto loopb; } else { Circle Cir(Radius); Cir.Show(); cout << "Triangle:" << endl; } loopc: cout << "请输入三角形的三边(A,B,C): "<< endl; cin >> A >> B >> C; if(A <= 0||B <= 0||C <= 0 ||(A+B) <= C || (A + C) <= B||(B + C) <= A) { cout << "输入的三边值不能构成一个三角形!请重新输入!" << endl; goto loopc; } else { Triangle Tri(A,B,C); Tri.Show(); } }
相关推荐
### C语言中getchar和gets的区别 在C语言编程中,`getchar()`与`gets()`是两个常用函数,它们分别用于从标准输入流(通常是键盘)读取单个字符和整个字符串。虽然这两个函数都能从键盘接收输入,但它们的工作方式、...
C++深入了解scanf()getchar()和gets()等函数 在C++编程中,scanf()、getchar()和gets()等函数都是标准输入函数,用于从键盘或输入流中读取数据。但是,这些函数的使用却存在一些隐患和陷阱,导致程序的执行结果与...
scanf(), getchar(), 以及gets()函数注意点 scanf(), getchar(), 和gets()函数都是标准输入函数,它们在C语言中使用非常频繁,但是在实际应用中却常常因为使用不当而导致问题。下面我们将深入剖析scanf()、getchar...
在C语言中,getchar、gets和scanf是三个常见的输入函数,它们各自有着特定的用途和特点。在理解和使用这些函数时,理解它们之间的差异至关重要,以确保代码的安全性和效率。 首先,`getchar()` 函数是用于读取单个...
cin.get()、cin.getline()、getline()、gets()和getchar()是用于从标准输入流(通常是键盘)读取数据的函数,它们各有优缺点。 1. cin.get()函数: cin.get()通常用于读取单个字符或字符数组。当读取字符数组时,它...
与缓存区相关最常见的操作就是字符的输入与输出操作getchar,getc,getch,getche,gets系列函数。 第一个例子(与getchar有关): 代码如下:#include int main() { int ch; ch=getchar(); ch=getchar(); printf(“%...
C语言程序设计中,技术人员可以使用scanf()、getchar()和gets()函数来获取键盘输入数据。scanf()函数可以获取键盘输入,并将获得的数据存放入指定的空间中。getchar()函数主要用于读取键盘输入的一个字符,而gets()...
常见的输入函数有getchar、scanf、gets、getche、getch等,每个函数都有其特点和用法。下面将详细介绍这些函数的特点和区别。 getchar函数是stdio.h库函数,它的作用是从stdin流中读取一个字符。它等待输入直到按...
本文将探讨C语言中常用的几种键盘输入数据的方法,包括scanf、getchar和gets等函数的使用、对比以及各自的注意事项,旨在帮助读者正确地使用这些函数进行数据输入。 1. scanf函数:scanf函数是C语言中最常用的格式...
在C语言中,输入输出字符串时,我们经常使用`scanf()`、`printf()`、`gets()`和`puts()`这四个函数。它们各自有着特定的用途和特性,理解它们的区别对于编写有效的C语言程序至关重要。 首先,`scanf()`和`gets()`...
在本笔记中,我们将介绍C语言中常用的输入输出函数,包括getchar、putchar、scanf、printf、gets和puts等。 getchar函数 getchar函数的原型为`int getchar(void)”,其功能是从键盘读取一个字符,并返回读取的字符...
- 使用`gets(str)`后,`getchar()`会等待用户输入新的字符,因为回车已经被`gets`处理掉。 理解这些差异对于编写处理字符串的C程序至关重要,特别是在涉及用户交互和输入验证时。指针在此处的作用主要是允许我们以...
今天,我们将详细介绍 cin、cin.get()、cin.getline()、getline() 和 gets() 函数的使用。 1. cin 函数 cin 是 C++ 中最基本的输入函数,它可以用来输入各种类型的数据,包括整数、浮点数、字符、字符串等。使用 ...
本文档主要介绍了C语言中的输入函数,包括getchar()、gets()和scanf(),以及如何使用这些函数来接收用户输入的数据。 首先,输入输出操作需要通过C标准库中的函数来完成,因此在源文件中必须包含"stdio.h"头文件。...
4. 输入函数:本题考查了C语言中的输入函数,包括scanf、getchar、gets等。 知识点:输入函数、scanf、getchar、gets 5. 赋值运算符:本题考查了赋值运算符的使用,包括简单赋值、加法赋值、乘法赋值等。 知识点...
然而,`gets`函数由于安全性问题,现在已经不推荐使用,因为它无法处理超过缓冲区长度的输入,可能导致缓冲区溢出。 **3.3 格式化输入与输出** 1. **格式化输出函数printf** - `printf`函数可以按照指定的格式...
在C#编程语言中,统计从键盘输入的中英文字符个数是一项常见的任务,它可以用于各种文本处理和分析的应用。这个项目教程中的内容主要涉及字符编码、字符串操作以及输入输出流等方面的知识点。 ...
`getchar`没有参数,当用户输入一个字符并按下回车后,`getchar`会返回该字符的ASCII码值。如果发生错误,它同样会返回EOF。 格式化输入函数`scanf`与`printf`对应,但它是用于从标准输入读取数据。其原型为: ```c...
getchar(); memset( a , 0 , sizeof(a) ); for( i = 1 ; i ; i++ ){ gets( s1 ); gets( s2 ); index[ s1 ] = i; name[ i ] = s2; } scanf("%d",&m); getchar(); for( i = 0 ; i ; i++ ...
oid jiami(); //加密函数 void jiemi(); //解密函数 //加密函数 ...getchar(ch); gets(in); ///不足5位补齐5位 a=strlen(in)/6; for(l=strlen(in);l(a+1)*6;l++) { in[l]=' '; } /////加密过程