C 语言、程序 VC++6.0、DevCpp 输出字符串的 C 程序
\\、\“、\n、\a 等 整数类型、实数类型、变量及其输入输出 int a,b;
scanf(“%d%d”,&a,&b);
scanf(“a=%d,b=%2d”,&a,&b);
printf(“%2d+%2d=%2d\n”,a,b,a+b);
double a,b;
scanf(“%lf%lf”,&a,&b);
printf(“%.2f+%6.2f=%-10.2f\n”,a,b,a+b);
%% +、-、*、/、% //
/:商、%:余数
1.0/2.0*(a+b)*h .2、5.
变量名:字母开头,后跟字母数字。区分大小写。最好有涵义。
=运算符 #include <math.h>
sqrt、tan 等
例:海伦公式求三角形面积、二元一次方程根 关系运算 > >= < <= != ==
小心 a<x<b 逻辑运算
&& || ! if、if else、if else if
例:判断是否构成三角形、二元一次方程实根虚根、成绩等级 ?:
例:
a>b
?
a>c?a:c
: b>c?b:c
for(e1;e2;e3)
{
/* 例:累加(乘)、打表 */
} ++、--
v
op= exp;
//
f+=10 \t for
if // 例:判断素数 break for
for // 例:九九乘法表、sin 图形 for for for„„
例:换零钱
while( exp ) { /*„„*/ }
例:sin(x) = x – x^3/3! + x^5/5! „„
最大公约数 for(;;) { /*„„*/ } ,运算 do { /*„„*/ } while(exp);
x2 = 1/2*(x1 + a/x1) (类型)表达式
(double)1/2 科学表示法
0.314e1
0.314 * 10^1
double 与 float sizeof %o 8 进制常量前缀 0; %x 16 进制常量前缀 0x 字符 ASCII 变量 char c 常量’a’、’\n’、’\045’ ‘\x25’ %c getchar()、putchar(c);
EOF
F6 大小写互转、数与数字互转;字符类别判断 #include <ctype.h> 调皮的 C
++n + ++n + ++n、printf(“%d%d”,++n,n); C 之父 Kernighan、Ritchie。经典原著《The C Programming Language》
‘\’’ 运算顺序:?: 、, 、&& || ! 位运算
^、|、&、~、<<、>> #define unsigned switch( iexp )
{
case 常量:„„
} default、break
2、8、16 进制
0000
0,
„„,
1111
F
2
8
16
xxxxxxxx
xx,xxx,xxx
xxxx,xxxx // x 0 或 1
00110000
0
6
0
3
0 一维数组
int
a[8] = { 1,2,3,4,5,6,7,8 };
int
a[8] = { 1,2,3 } ;
int
a[] = { 0,2,4,6 };
sizeof a/sizeof a[0]; #include <stdlib.h>
rand()、srand( int ) 一维数组例
求和、最大值、“翻转”、冒泡排序
字符串
char s[] = { ‘G’,’o’,’o,’d’,’\0’} ;
char s[16] = “Good” ;
scanf(“%s”,s);
printf(“%s”,s);
gets(s);
puts(s); 字符串处理
#include
<string.h>
strlen(s)
strcpy(t,s)
strcat(t,s)
strcmp(t,s) 字符串例
将十进制 n 转换成 base 进制串
二维数组
int
a[2][3] ;
int
a[2][3] = {{1,2,3},{4,5,6}};
int
a[2][3] = { {1,2},{4} };
int
a[2][3] = { 1,2,3,4,5,6 };
int
a[2][3] = { 1,2 } ;
int
a[][3] = { 0,2,4,6 };
sizeof a/sizeof a[0] 输入输出赋值
scanf(“%d”,&a[0][2]);
printf(“%d”,a[1][1]);
a[0][1] = 6; 二维数组例
幻方及行列和
矩阵乘法
二维数组例
杨辉三角形
鞍点 用二维数组实现字符串的一维数组
字符串排字典序
指针:变量,存放变量的地址 int *pi; double *pd; char *pc; &i;*pi 指针运算:加减常量、比较、相减 指针与数组:数组名即常指针
A[i] *(A+i) 指针的指针 **
函数
函数值类型 函数名(参数类型 参数名„„)
{
// 计算函数值
return 函数值;
} 函数说明
函数头;
#include 的作用
int main() { /*„„*/ return 0; }
void main() { /*„„*/
} 函数例
算圆面积(海伦)、算平方根、 判断水仙花数 数组、指针作为函数参数
排序、整数交换
结构
struct point {
double x,y;
};
point p;
p.x、p.y struct date {
int y,m,d; };
struct person {
char name[8];
date birthday;
}; 结构初始化
point p = { 1.2,2.3};
person z3 = { “zhang3”,{1998.10.1 } };
结构指针
point p,*pp;
pp = &p;
pp->x = 1.2; 结构作函数参数、返回(函数)值,相互赋值 结构例:点间距离、两点中点 “科普”
外部变量、程序多文件、链表、union、enum、malloc,free、位域
文件
FILE *fp; 开、关
fp = fopen( filename,”r”);
// ”w”,”a”
flose(fp); 读写
fscanf(fp,”%d”,&i); // %lf„
fprintf(fp,”%d”,i); // %lf„
fgetc(fp)、fputc(c,fp);
fgets(s,n,fp)、 fputs(s,fp); 尾判断
fgetc(fp)==EOF、 feof(fp)、fgets(l,N,fp)==NULL 文件读写例 int main(int argc,char *argv[])
递归
1、初始值;
2、f(n)与 f(m) (m<n)的关系
例:阶乘、
菲波纳契数列、
汉诺塔