c语⾔想输⼊⾮数字是报错误,c语⾔基本语法0\数据类型
基本类型:整型:int短整型 long 长整型
实型(浮点型): 单精度FLOAT 双精度DOUBLE
指针
构造 : 数组、结构、联合、枚举
空类型 void
1\输⼊输出
输⼊输出在C语⾔⽂件头 #include
或者 #include
"stdio.h"
C语⾔提供的函数有下⾯:
scanf输入整型数组
字符输⼊ getchar()
字符输出 putchar(c)
格式化输⼊
scanf('',&a);
格式化输出
printf('',a,123);
*****格式转化字符*********
d
⼗进制数据
o ⼋进制数据
是字母o不是数字0(x=025注意,是数字 0 ,⽽不是字母 O
)
x ⼗六进制数据
⼩写 x 表⽰输出使⽤⼩写字母,⼤写 X
表⽰输出使⽤⼤写字母。
(使⽤
%#o,%#x 或者 %#X,得到的输出将包括前缀 0,0x 或者 0X。)
c 单个字符
s 字符串
f 实数(单进度f
或双精度lf)
u
⽆符号⼗进制数
e
以标准指数形式输出单精度或双精度数
g 选⽤%f或%e格式中输出宽度较短的⼀种格式,不输出⽆意义的0
******附加格式说明符*****************
l---⽤于LONG长整型数据或DOUBLE数据
h---⽤于短整型数据
正整数---指定输⼊或输出数据的宽度
*----表⽰本输⼊项在读⼊后不赋给相应的变量
- 表⽰输出数据向左对齐排放
2\字符和组合规则
1、区分⼤⼩写
2、只能由字母、数字、下划线组合并且第⼀个字符必须⾮数字
合法命名
⾮法命名wiggles $Z]**cat2 2cat
Hot_Tub Hot-Tub
taxRate tax
rate
_kcab don't
我们也不能⽤关键字和保留标识符来给我们⾃定义的变量命名。
长度限制
C89 规定,编译器⾄少应该能够处理 31 个字符(包括
31)以内的内部标识符(internal
identifier);⽽对于外部标识符(external
identifier),编译器⾄少应该能够处理 6 个字符(包括
6)以内的外部标识符。所谓标识符,是指我们为变量(variable)、宏(macro),或者函数(function)等等取的名字。例如
int num; 这个语句中的 num 就是⼀个标识符。
最新的
C99 标准规定,编译器⾄少应该能够处理 63 个字符(包括
63)以内的内部标识符;编译器⾄少应该能够处理 31 个字符(包括
31)以内的外部标识符。
事实上,我们可以使⽤超出最⼤数⽬限制的字符来命名标识符,不过编译器会忽略超出的那部分字符。也就是说,如果我们⽤
35 个字符来命名变量,⽽那个编译器最多只能处理 31 个字符的变量名的话,那么多出的那 4 个字符
就会被编译器忽略,只有前⾯的 31个字符有效。有些古⽼的编译器只能处理 8 个字符以内的标识符,对于这样的编译器来说,标识符 kamehameha 和
kamehameko 是等价的,因为它们前⾯ 8 个字符相等。
3\警告(warning)错误(error)
warning编译器报警则说明我们写的代码符合 C
语⾔语法,但是那些代码所起的效果可能和我们所期待的不同。
错误(error),并且也不把程序编译成可执⾏⽂件。编译器报错则说明我们的程序存在错误!漏写分号(;)或者没写收⼤括号} 等等都会导致编译器报错。
4\恒量(常量)和变量double
pi = 3.14; //pi 是变量
pi = 3.1415; //双精度double类型
scanf(
"%lf", &pi );
%lf 是中的 l 是⼩写的英⽂字母
L,这⾥⼀定要⽤⼩写。
%lf 的作⽤是告诉 scanf 函数,&pi
是⼀个双精度浮点型指针(double *)。
%Lf 的意思是,&pi
是加长型双精度浮点型指针(long double *)。因为 pi 是双精度浮点型变量,所以
&pi
是双精度浮点型指针,故⽽我们应该⽤%lf。
5\如何编写函数
#include
void
butler(void);
int main(void)
{ printf("I will summon the butler function.\n");
butler(); printf("Yes. Bring me some tea and writeable CD-ROMS.\n");
return 0;
}
void butler(void) {
printf("You rang, sir?\n");
}
上⾯的代码中,butler
出现了 3
次。第⼀次是作为函数原型;第⼆次是函数调⽤语句;第三次是函数定义。
6\关键字和保留标识符
C 语⾔的所有关键字,其中红⾊的是 ISO C99 标准新增的关键字。
auto enum restrict unsigned break extern return void case float short volatile
char for signed while const goto sizeof _Bool continue if static _Complex default inline struct _Imaginary do int switch
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论