1. #include<>是编译预处理命令,其特征是出现在程序开始处。
2. main()是c程序的主函数,任何c程序都有且仅有一个主函数。
程序总是从main函数开始执行的,而不论main函数在整个程序中的位置如何(main函数可以放在程序最前面,也可以放在程序最后,或在一些函数之前,另一些函数之后)。
3. 函数名后的每个语句后,都以分号结尾。
4. /称为注释,可占据多行,通常是给程序阅读者的说明,用于增强程序的可读性。
5. %d是指定的输出格式,d表示用十进制的整数输出;%f表示输出一个实数型。
printf(“sum is %d”,sum);
printf()函数中双引号中的可以在输出时换行。
执行该语句printf( )时,将sum的值(以十进制整数)取代””中的%d
6. c语言是大小写敏感的语言,所有关键字、函数名都为小写。
7. 调用函数(自定义函数,对系统声明函数的定义)
该步骤需在主函数main()前进行。
#include<>
int add(inta,int b)int sub(inta,int b)
return(a+breturn(a-b) }
*定义函数需要在主函数main()前进行*/
return(a+b)表示将a+b的值作为add的函数值,返回到调用add函数的位置。
8. scanf(“%d,%d”,&a,&b);该scanf函数的作用是输入变量a和b的值(由于””中为%d,a和b只能为十进制整数)。键入的格式为 a,b 若为”%d%d”,则键入格式为a空格b。
9. 常量的概念:
1) 整型常量:1000,12345,0,-345
2) 实型常量: 132.45,0.345,-56.79
指数形式:12.34e3(12.34*10^3),-345.87e-25[-345.87*10^(-25)]
3) 字符常量:普通字符:’a’、’z’、’3’
单撇号只是界限符,字符常量只是一个字符,不能使用’ab’、’12’
转义字符:,\b (这是一种在屏幕上无法显示的控制字符)
4) 字符串常量:”boy”、”123”等 (是双撇号中的全部字符,不包括双撇号本身)
5) 符号常量(用define指令 #define pi 3.14)
10. 常用的数据类型。
其中float的有效数字为6,double的有效数字为15
11. 运算符和表达式。
:求余运算符a%b:a除以b的余数。
+i、--i:(在使用i之前,先使i的值加(减)1)
i++、i--:在使用i之后,使i的值加(减)1)
a+=3→a=a+3 x*=y+8→x=x*(y+8) x%=3→x=x%3
算数运算符的结合方向为从左向右、赋值运算符的方向为从右向左。
12. 强制类型转换运算符。
double)a (将a转换为double类型)
int)(x+y) (将x+y的值转换为int型)
float)(5%3) (将5%3的值转换为float型)
13. 求根和多次幂的方法。
#include<>
#include<>导出数学函数。
area=sqrt(s*(s-a)*(s-b)*(s-c))→area=
y=pow(x,a)→y=
14. 赋值过程中的类型变换。
1) inti,i=3.56→i=3
2) double d=123.456789e100,float f, f=d;
指数为100,超过了float数据的最大范围,无法输出正确信息。
3) inti,i=’a’;→i=65 ‘a’的ascii**为65
4) inti=289,char c,c=i→c=33(%c输出得到”!”
原因:发生了截断现象i0000 0001 0010 0001(2或4个字节)
c0010 0001(1个字节)
5) int a=32767,short b,b=a+1
a=32767 0000 0000 0000 0000 0111 1111 1111 1111
b=-327681000 0000 0000 0000
15. 有关数据的输入输出。
1) 用printf输出数据:%d:10进制的整数 %ld:输出长整型。
x,%x:16进制的整数 %o:无符号8进制整数 %u:无符号10进制整数。
f:实数输出(小数默认保留六位) %2f:实数输出(小数保留两位)
e,%e:以科学计数法输出 %g:保留到最后一位有效数字。
6.2f:占6个单位 %s:输出字符串printf(“%2s”,”china”)→ch
2) 用scanf输入数据:scanf(“%f%f%f”,&a,&b,&c)注意&符号不能丢掉。
scanf(“%f%f%f”,&a,&b,&c);输入abc以空格间隔开。
一般%f%f%f之间选择不加逗号避免bug)
scanf(“a=%f,b=%此字符都作为有效字符输入。
scanf(“%c%c%c”,&c1,&c2,&c3);应连续输入三个字符abc
3) 用putchar,getchar输入数据:
getchar:从键盘输入一个字符送给变量putchar:将变量输出。
eg. char a,b,c; a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c);
putchar(‘’)→键入boy) boy
boyint a=66,b=79,c=89;putchar(a);putchar(b);putchar(c);putchar(‘’);boy
将ascii**赋值给字符变量。
char c1,c2;c1=’a’;c2=c1+32;printf(“%c”,c2);printf(“%d”c2)
前者输出字符a,后者输出’a’的ascii**;自己编程用只用printf完全可以。
16. ascii中字母数字的关系。
a’=’a’+32,’b’=’b’=32
小写字母的ascii值=大写字母的ascii值+32
数字(0~9)的ascii值=数字自身值+48
17. 关系运算符和关系表达式。
在c语言中,比较运算符称为关系运算符,所谓关系运算就是比较运算,将两个数值进行比较,判断给定的结果是否符合比较的条件。(1表示真true,0表示假false)
a=3,b=2,c=1,d,f;
a>b→ 1 c==a>b→1(>优先级高于==)a<(b+c)→ 0
d=a>b→ 1 f=a>b>c→ 0 ( a>b>c → 1>c → 0 →f=0 )
18. 逻辑运算符及其优先次序。
&:逻辑与 a&&b(如果a,b都为真,则结果为真,否则为假)
|:逻辑或 a||b(如果a,b有一个或两个为真,则结果为真;两者都为假时结果为假)
:逻辑非!a(如果a为假,则!a为真,如果a为真,则!a为假)
只有0为假,其它数据都是真的)
优先次序(1) !非) (2) 算术运算符 (3)关系运算符 (4)&&和|| 5)赋值运算符。
eg. int a=4,b=5; !a=0 ‘c’&&d’=1 a&&b=1 a||b=1 !a||b=1 4&&0||2=1
19. 选择结构(if,switch语句)
判断闰年(是4的倍数而不是100的倍数,或直接为400的倍数)
printf("请输入一个年份:")scanf("%d",&year);
if((year%4==0&&year%100!=0)||year%400==0))
printf("这一年是闰年");else printf("这一年不是闰年");
:条件运算符 if(a>b) max=a; else max=b; →max=a>b?a:b
if(a>b) printf(“%d”,a); else printf(“%d”,b);→printf(“%d”,a>b?a:b)
条件运算符中的数据类型强制转换:x>y?1:5→因为出现了1.5,输出也为实数型1.0
switch语句是多分支选择语句。
switch ()括号中只可以填整型和符号如果填入2.8,则视为填入2
case 1: printf("1");break;case 2: printf("2");break; case 3:printf("3");break;
default:printf("0");
break的作用为结束switch,如果不加break则会继续输出。
eg .上面的程序中,如若去掉break 输入2,则最后会输出230
关于选择结构的几道例题。
1). 输入一个字符ch,根据不同情况进行输出:
1)ch为小写字母,输出对应的大写字母;
2)ch为大写字母,按照原样输出;
3)ch为数字,输出对应的数字;
4)ch为其他字符,输出“other character.”。
#include<>main()
charch;
printf("请输入一个字符或数字:")ch=getchar();
if(ch>='a'&&ch<='z')printf("%c",ch-('a'-'a'))
else if(ch>='a'&&ch<='z')printf("%c",ch);
C语言笔记
第一课时。c语言标准格式。include vidomain 以 开头的语句称为预处理指令。include语句不是必须的,但是如果一旦有该语句就必须把它放在文件开始处是standared input output header的缩写standared 标准input 输入output 输出header...
C语言笔记
c语言算法和数据类型。整型。基本类型 字符型注释 基本类型的特点是其不可实型 单精度型以再分解为其他类型双精度型数组型。数据结构 构造型 结构体型共用体型指针型空类型。一 常量。define 语句不以分号结尾,它可以放在源 的任何位置。不过在定义常量时,只有在它定义后的源 中才有效。是一个修饰符,在...
c语言笔记
1.if中别忘了 而不是 2.写完程序别忘了检查前后大括号 小括号是否完全照应。3.遇到几分之几的分数可以方程两边同时乘以一个数来消去分母。4.写指针题时看准指针对应的是行还是列。例 int a 4 3 int p a 0 列指针。int ptr 3 a 行指针。5.考虑好哪些量会随着循环不断改变。...