C 语言基本语法示例
2012-02-21 17:27
197 查看
整个程序只有一个main函数,且必须有
表达式,语句
表达式; <=> 语句
int a;
a = a + 1;
1)空语句
;
2)表达式语句:
a = a + 1;
3) 复合语句
{
}
4)函数调用语句
f1(a);
5)控制语句
if..else..
switch
for()
while()
do..while
continue
break
return
goto //C语言中一般不推荐使用
eg1:
各种类型的变量:(int,char,float,double)
int main()
{
int number;
int number1 = 1;
char ch,ch1 = 'a';
float f = 3.14f;
double f2 = 3.14;
short h1 = 2;
long h2 = 4;
unsigned int ud = 23;
}
eg2:
输入输出:
int main()
{
int number;
int number1 = 1;
short h1 = 2;
long n2 = 4;
unsigned int ud = 23;
char ch,ch1 = 'a';
float f = 3.14f;
double f2 = 3.14;
number = 5;
ch = 'c';
printf("number = %d\n", number);
printf("short = %hd\n", h1); //n2->ld% ud->%lu
printf("ch = %c,ch = %d\n", ch,ch);
printf("f = %f,f = %.2f\n", f,f);
printf("f2 = %lf\n",f2);
return 0;
}
eg3:
函数: 返回值类型 函数名(参数列表){}
函数调用(形参、实参)
int max(int a,int b)
{
if(a >= b)
return a;
return b;
}
eg4:(一维数组、二维数组)下标
数组:
1)一维数组的初始化:
int a[10] = {1,2,3,4,5,6,7,8,9,0};
int a[10] = {1,2} //后面的默认为0
int a[] = {1,2,3,4,5,6,7,8,9,0};
int a[10] = {0};
2)二维数组(行列,C 语言中依行为主序)初始化
int num[3][4] = {1,2,3,4,5,6,7,8,9,0,11,12};
int num[3][4] = {{1,2,3,4},{5,6,7,8},{9,0,11,12}};
int num[3][4] = {{1},{2,3},{4}};
int num[][4] = {1,2,3,4,5,6,7,8}; //系统会自动计算第一维的长度
3)字符数组
char str[10] = {'h','e','l','l','o'} //后面的默认为'\0'
char str[10] = {"hello"};
char str[] = {"hello"};
补充:
字符串 拷贝(strcpy/strncpy)
连接 (strcat)
计算长度(strlen)
比较 (strcmp)
大小写转换 strlwr(大写转小写)/strupr(小写转大写)
int main()
{
char str[10] = {'h','e','l','l','o'} ;
printf("str = %s\n", str);
scanf("%s", str); //不需要再取地址了,str本身就是一个地址。%s 遇到空白字符就会停止接收
printf("%s\n", str);
gets(str);
puts(str);
}
eg5:
指针:(一级指针、二级指针)
int main()
{
int a = 10;
int *p = &a;
int *q = p;
*p = *p + 1; //等价于a = a+1;
*q = 20; //等价于*p = 20; 也等价于a = 20;
printf("a = %d, *p = %d,*q = %d\n", a, *p, *q);
}
eg6:
结构体:
struct
typedef
1)
struct student{
char name[20];
int age;
};
struct student stu1;
stu1.name...
stu1.age = 20;
2)
struct student{
char name[20];
int age;
}stu1;
struct student *p = &stu1;
p->name...
p->age = 10;
3)
typedef struct student{
char name[20];
int age;
}stu; //stu 是 struct student 的别名
stu stu1;
stu *p = &stu1;
表达式,语句
表达式; <=> 语句
int a;
a = a + 1;
1)空语句
;
2)表达式语句:
a = a + 1;
3) 复合语句
{
}
4)函数调用语句
f1(a);
5)控制语句
if..else..
switch
for()
while()
do..while
continue
break
return
goto //C语言中一般不推荐使用
eg1:
各种类型的变量:(int,char,float,double)
int main()
{
int number;
int number1 = 1;
char ch,ch1 = 'a';
float f = 3.14f;
double f2 = 3.14;
short h1 = 2;
long h2 = 4;
unsigned int ud = 23;
}
eg2:
输入输出:
int main()
{
int number;
int number1 = 1;
short h1 = 2;
long n2 = 4;
unsigned int ud = 23;
char ch,ch1 = 'a';
float f = 3.14f;
double f2 = 3.14;
number = 5;
ch = 'c';
printf("number = %d\n", number);
printf("short = %hd\n", h1); //n2->ld% ud->%lu
printf("ch = %c,ch = %d\n", ch,ch);
printf("f = %f,f = %.2f\n", f,f);
printf("f2 = %lf\n",f2);
return 0;
}
eg3:
函数: 返回值类型 函数名(参数列表){}
函数调用(形参、实参)
int max(int a,int b)
{
if(a >= b)
return a;
return b;
}
eg4:(一维数组、二维数组)下标
数组:
1)一维数组的初始化:
int a[10] = {1,2,3,4,5,6,7,8,9,0};
int a[10] = {1,2} //后面的默认为0
int a[] = {1,2,3,4,5,6,7,8,9,0};
int a[10] = {0};
2)二维数组(行列,C 语言中依行为主序)初始化
int num[3][4] = {1,2,3,4,5,6,7,8,9,0,11,12};
int num[3][4] = {{1,2,3,4},{5,6,7,8},{9,0,11,12}};
int num[3][4] = {{1},{2,3},{4}};
int num[][4] = {1,2,3,4,5,6,7,8}; //系统会自动计算第一维的长度
3)字符数组
char str[10] = {'h','e','l','l','o'} //后面的默认为'\0'
char str[10] = {"hello"};
char str[] = {"hello"};
补充:
字符串 拷贝(strcpy/strncpy)
连接 (strcat)
计算长度(strlen)
比较 (strcmp)
大小写转换 strlwr(大写转小写)/strupr(小写转大写)
int main()
{
char str[10] = {'h','e','l','l','o'} ;
printf("str = %s\n", str);
scanf("%s", str); //不需要再取地址了,str本身就是一个地址。%s 遇到空白字符就会停止接收
printf("%s\n", str);
gets(str);
puts(str);
}
eg5:
指针:(一级指针、二级指针)
int main()
{
int a = 10;
int *p = &a;
int *q = p;
*p = *p + 1; //等价于a = a+1;
*q = 20; //等价于*p = 20; 也等价于a = 20;
printf("a = %d, *p = %d,*q = %d\n", a, *p, *q);
}
eg6:
结构体:
struct
typedef
1)
struct student{
char name[20];
int age;
};
struct student stu1;
stu1.name...
stu1.age = 20;
2)
struct student{
char name[20];
int age;
}stu1;
struct student *p = &stu1;
p->name...
p->age = 10;
3)
typedef struct student{
char name[20];
int age;
}stu; //stu 是 struct student 的别名
stu stu1;
stu *p = &stu1;
相关文章推荐
- 关于for循环的误解(C/JAVA基本几个语言的语法都差不多)
- C语言程序设计-现代方法----示例及练习题----第二章--C语言基本概念
- 黑马程序员——C语言基础语法、基本运算理论
- php 语言参考-基本语法-从html中分离
- 复习PHP-语言参考-基本语法
- 【1】Groovy语言学习:groovy语言简介及基本语法
- Java语言基本语法
- 10001---Groovy语言学习:groovy语言简介及基本语法
- Java篇--Java语言的基本语法3
- tn文本分析语言(二) 基本语法
- 从例子中学习 go 语言 —— 基本语法
- Java语言基本语法(一)
- (转)JavaScript二:JavaScript语言的基本语法要求
- [黑马程序员]12[OC语言]OC基本语法部分学习笔记总结
- 第3篇:swift语言笔记:基本语法/运算符/数据类型/字符串等关键点
- 【转载】Velocity模板引擎的介绍和基本的模板语言语法使用
- 汇编语言 Part 1——简介、基本语法、内存分段与内存地址
- [置顶] Kotlin 语言基本语法的使用
- IOS开发语言OC的基本语法以及结构
- OC语言基本语法