一. C语言的结构
1. 程序的构成,main函数和其他函数。
(1) 一个C程序由一个或若干个函数构成。程序中至少应包含一个main函数。函数
是C程序的基本单位。
(2) 一个C程序总是从main函数开始执行,不论main在最前面,最后面,或中间。
(3) 函数由函数首部和函数体构成。
如: int max ( int x, int y) /* 函数首部 包括函数名、函数类型、函数参数名和参数类型 ;函数体包括 声明部分和执行部分*/
{ 。。。}
(4) C语言由函数构成的特点使得C容易实现函数的模块化。
(5) 执行语句必须由分号结束。
2. 头文件,数据说明和函数的开始和结束标志。
(1) 头文件 #include <stdio.h> #include <math.h> 调用库函数
(2) 函数体开始的标志是 {,结束标志是}
3. 源程序的书写格式和C语言的风格。
(1)
(2)
(3)
(4) 函数的首部,后面不要加分号。 书写格式自由,一行内可以写几个语句,一个语句可以写在多行上。 为表现程序结构,建议采用锯齿形程序格式。即缩进。。。 可以用/* ....*/ 对C语言的任何部分作注释。
例题:
一个函数由两部分组成: 和 。
一个函数体的范围是以 开始,以 结束。
一个C语句最少应包含 。
任何C语言都是从 开始执行。
二. 数据类型及其运算
1. 基本数据类型及其定义方法。
(1)数据类型分为:
基本类型 :( 整形 int )( 字符型 char ) ( 实型 float double ) ( 枚举类型 )
构造类型 :( 结构体构造 ) ( 共用体构造 )
指针类型
空类型
(2) 变量和常量
整形注意:常量 八进制以0开头,如0123 表示八进制数123,即十进制 83 十六进制以0x开头,如0x123,即十进制整数 291。 实型注意:实型又称为浮点型,两种表示方式为:
十进制形式 ,由数字和小数点组成(必须有小数点) 123.0 ,0.0 指数形式,如 123e3或123E3都代表123*10 三次方。e 或 E 之前
必须由数字,之后必须是整数。 如e3,1e3.5都是不合法的。 float 有效数字为7位,double 为15-16位。 Char型注意: 字符常量 有两种 单引号括起来的 如 ‘a’
转义字符 即以\ 开头的字符序列,如 \n 换行 \b 退格 \\ 反斜杠字符
字符串常量 用一堆双引号括起来。“a”. 在内存中,’a’占一个字节,而“a”在后面加一个字符串结束标志。 ‘\0’空字符为结束标志。
2. 运算符的种类、运算优先级。
按书讲解。 注意重点 i++ 和++i .
假设i的初值为3,求:(i++)+(i++)+(i++)= ? 12 or 9 k = (++i) + (++i) + (++i) k= 15 or 18 i++ :先使用,后增值!!!
两个整数相除,结果为整数。
字符型可以与整型数据通用。 其中大写A为65,小写为97.。。。
3. 表达式和求和规则。
按书讲解。 重点: ,表达式 永远等于逗号右边的值。
复合赋值 : a* =y+8 等同于 a= a*(y+8) 一定要牢记运算符的优先级和结合性!!! 例子1::求以下算术表达式的值:
1. x+a%3*(int)(x+y)%2/4 设x=2.5 ,a=7 ,y=4.7
2. (float)(a+b)/2 + (int)x%(int)y 设 a=2 ,b=3 ,x=3.5 ,y=2.5 例子2:求以下表达式的值,设a=12.
1. a+=a 2. a-=2 3. a*=2+3 4. a/=a+a
例子3: ‘a’在内存中占 个字符,“a”占 个字符。
例子4: 表达式32+‘A’-2/3*5的值是 ,a=b=c=6+2/5的值是 ,逗号表达式b=6,18+(b+=4)*3的值是 。
例子5:下面程序的运行结果是 。
main()
{char ch;
ch=’B’;
printf(“%c,%d\n,ch,ch);}
掌握两点:1.B的ASCII码是66
2. printf 的参数格式 :d 带符号的十进制形式输出整数
c 以字符形式输出,只输出一个字符。 f 以小数形式输出单、双精度数,隐含输出6位小数。 s 输出字符串
x 以16进制输出无符号整数。
习题:以下程序的运行结果是:
main()
{ int i,j;
float a,b;
char c;
long m ,n;
i=5;j=-3;
a=25.5;b=3.0;
m=a/b;
n=m+i/j;
printf(“%d\n”,n);
}
C语言知识总结
1如何接收字符串
使用字符数组 使用指针。(可以随意改变字符的长度,而不用向数组一样要同时改变数组的长度)
#include<stdio.h>
int main()
{
char a[10]="yangtao";
char *ab="jfksdjfklsjfkj";
printf("%s\n",a);
printf("%s",ab);
}
2 系统自带的字符串处理函数(处理字符串数据)
#include<stdio.h>
#include<string.h>
int main()
{
int i;
char *ab="jfksdjfklsjfkj";
i=strlen(ab);
printf("共有的字符串个数\n");
printf("%d",i);
}
函数原型是:
int strlen(*p)
3 ASC码表
#include<stdio.h>
#include<string.h>
int main()
{
char kk='a';
int k=65;
printf("%c",k);
printf("%d",kk);
}
这就是为什么电脑能处理键盘上字符的原因
应用大小写字母的转换
#include<stdio.h>
#include<string.h>
int main()
{
char KK='A';
char kkk='b';
KK=KK+32;
kkk=kkk-32;
printf("%c\n",KK);
printf("%c\n",kkk);
}
4字符串高级应用读取SQL语句。
引申出SQL语句
5scanf()语句从键盘输入时需要按括号里面的格式输入才不会出错。 6验证码忽略大小写的实现
Strcmp{}
#include<stdio.h>
#include<string.h>
void zhuanghuangdaxie(char *P);
void main()
{
char shuru[100];
char yanzhengma[100]="hduFESF";
printf("此功能是实现忽略大小写的验证码验证功能\n"); printf("验证码为: hduFESF\n");
printf("请输入验证码:\n");
scanf("%s",shuru);
zhuanghuangdaxie(shuru);
zhuanghuangdaxie(yanzhengma);
while(1)
{
if(!strcmp(shuru,yanzhengma))
{
printf("输入成功\n");
}
else
{
printf("输入失败\n");
}
printf("请输入验证码:\n");
scanf("%s",shuru);
}
}
void zhuanghuangdaxie(char* P)
{
int k=0;
while(P[k]!='\0')
{
if(P[k]>96 && P[k]<123)
{
P[k]=P[k]-32;
}
k++;
}
}
7结构体
其实是一种新的数据类型
Struct student
{
};
一样的结构:
Int a
Struct student a
类型 变量名
Char * p
Struct student * p
举例:
基本框架
Struct shuju
{
Struct shuju a;
a=creat();
Print(a);
};
Struct shuju creat()
{
}
Void print (struct fushu f)
{
}
复数相加
#include<stdio.h>
#include<string.h>
struct fushu
{
int real;
int image;
};
struct fushu creatfushu();
void add(struct fushu f1,struct fushu f2); void print(struct fushu f);
void main()
{
struct fushu fu1,fu2;
printf("请你创建第一个复数\n"); fu1= creatfushu();
print(fu1);
printf("请你创建第二个复数\n"); fu2= creatfushu();
print(fu2);
printf("实现两个复数相加\n");
add(fu1,fu2);
return 0;
}
struct fushu creatfushu()
{
struct fushu a;
printf("请输入一个数作为复数的实部\n"); scanf("%d",&(a.real));
printf("请输入一个数作为复数的虚部\n"); scanf("%d",&(a.image));
return a;
}
void print(struct fushu f)
{
if(f.image<0)
{
printf("你创建的复数是:\n"); printf("fu1=");
printf("%d",f.real);
printf("%di\n",f.image);
}
else
{
printf("你创建的复数是:\n"); printf("fu1=");
printf("%d",f.real);
printf("+");
printf("%di\n",f.image); }
}
void add(struct fushu f1,struct fushu f2) {
printf("输出的结果是:\n"); printf("fushu=");
printf("%d",f1.real+f2.real); if((f1.image+f2.image)<0) {
printf("%di",f1.image+f2.image); }
else
{
printf("+");
printf("%di",f1.image+f2.image); }
}
结构体的更深层次的应用
一.C语言的结构1.程序的构成,main函数和其他函数。(1)一个C程序由一个或若干个函数构成。程序中至少应包含一个main函数。…
备注这不是我们学校老师做的总结所以里面有些地方说那个知识点是重点的不要完全相信因为每个学校的侧重点不同而且有些我们是没有学过的希望…
C语言最重要的知识点总体上必须清楚的1程序结构是三种顺序结构选择结构分支结构循环结构2读程序都要从main入口然后从最上面顺序往下…
C语言知识点总结C语言知识点总结1一常量2二标识符2三变量2四表达式3五输入输出函数4六C语言的语句5七C程序的基本结构5八选择结…
C语言最重要的知识点总体上必须清楚的1程序结构是三种顺序结构选择结构分支结构循环结构2读程序都要从main入口然后从最上面顺序往下…
20xx年全市民政工作情况汇报今年以来,我们在上级民政部门的指导下,在市委、市政府的关心和支持下,认真落实各级会议精神,深入开展能…
实习目的:为了将在校期间积累的广告理论知识运用到真正的实际生活中,使自己能够更深入地接触到社会竞争,培养和增加自己的广告从业经验。…
工作总结时光荏苒,忙碌中三年的脚步已经悄然走远。我在过去的三年当中忙碌着、辛苦着、奔波着,同时也收获着,我们在制定“宏伟蓝图”的同…
个人年度总结一年来在领导的关心和老前辈的耐心帮助下,我在思想、业务能力等各方面都取得了一定的成绩,个人素质也有了一定的提高,现将本…
优秀班组年终总结尊敬的各位领导、全体员工们:大家好!今天我十分荣幸的代表先进班组在这里发言。首先向今天受到表彰的先进集体、先进个人…