C--注意事项及需掌握的内容

目录

1.C程序的组成

2.标识符的命名规则

3.常量

4.变量

5.运算符与表达式

6.scanf、printf的用法

7.选择结构

8.循环结构

9.一维数组的定义及使用

10.二维数组

12.指针的定义、初始化及运算

13.指向数组的指针

14.指针与字符串 

15.指针数组

16.函数的定义及函数原型声明

17.函数的调用

18.指针与函数


1.C程序的组成

C程序的组成(一个main函数和若干其它函数),程序的执行从main函数开始,到main函数结束;main函数的位置

2.标识符的命名规则

只能是字母或下划线开头,后面可跟字母、数字、下划线

2a, D&7,name 1,f3.5, 平均分

3.常量

整型常量

实型常量(0.0,.234,120.,1.2E4,要求E的前后必须有数字,后面的指数必须是整数)

字符常量:用单引号引起来,一般字符、转义字符

字符串常量:用双引号引起来的若干字符,以\0作为结束标志

4.变量

符合标识符命名规则,不能重复定义

5.运算符与表达式

运算符与表达式(算术、关系、逻辑、条件表达式、赋值、逗号)a>b?1:2

注意:*/

(1)除法运算符的运算规则 7/3  1./3

  • 被除数和除数都是整型,则商也是整型
  • 被除数和除数中只要有一个是浮点数,则商也是浮点型

(2)取余运算符的运算规则5%2  -5%2  5%-2

  • “%”要求两边操作数必须为整数
  • 结果的符号和被除数的符号相同

(3)运算符的优先级

算术运算>关系运算>逻辑运算>条件运算>赋值运算>逗号运算

(4)++ --的使用


int x=1,y=2;  int a=1,b=2,c=0;

 x++、++x、y--、--y的值  (注意 同时执行的关联)

 1≤x≤2的表示、a=1 && x<=2

xy?x:y的值

(x=1,y=2,y+=2,x+y)的值  5

(5)赋值运算符= 与关系运算符==的区别
      

  int x=1;

        if(x=0)//区分x==0

           printf(“0\n”);

        else

           printf(“1\n”);

6.scanf、printf的用法

(1)注意格式控制符的使用scanf(“%d”,&i)  scanf(“%d”,&a[i])

(2)换行的方法

  • 使用转义字符“\n”
  for(int i=1;i<=20;i++)
    {
       printf(“%d\t”,i);
       if(i%5==0) printf(“\n”);
    }

7.选择结构

单分支:if(表达式)

if(c>=’0’ && c<=’9’)…

if(c>=’a’ && c<=’z’)…

if(c>=’A’ && c<=’Z’)…

判断变量是否为大/小写字母(注意其ASCII码值)、数字字符的方法

双分支:if(表达式) else …

区别以下条件

if(n) else

if(n!=0) else

if(!n) else

if(n==0) } else

if(n=0) … else

复合语句要加{}

嵌套结构:if…else if

多分支:switch…case(注意break的使用)

(1)注意if ~ else 配对原则:缺省{ }时,else总是和它上面离它最近的未配对的if配对

(2)if 结构中()后不要加 ,否则当条件成立时执行空语句 if(a>b); max=a;

(3)注意复合语句的使用

8.循环结构

(1)while、do…while的区别

while(x)
//x 非0时执行循环体

while(!x)
//x等于0时执行循环体

while(x=0)//循环体执行的情况分析
 {
//循环条件表达式的值为0,即假,因此不执行循环体
}

(2)for(表达式1;表达式2;表达式3)循环的执行过程,三个表达式均可省,但分号不能省;

(3)注意循环体为复合语句时需加花括号

(4)continue与break的区别

(5)break的适合场合

斐波那契数列

九九乘法表

判断素数

输出图形

N!

阶乘和

9.一维数组的定义及使用

一维数组定义、初始化、使用、输入与输出

int n=10,a[n];(X)

冒泡排序、Fibonacci数列、逆序(数值型数组、字符串)

找最值

求平均值

统计某字符串中各类字符的个数

10.二维数组

定义、使用、输入与输出

打印杨辉三角

二维数组每行最值

多个字符串排序

11.字符数组(*)

字符数组的定义及内存分配情况

字符数组的初始化char s[]=”12345\t”;

char s[10];s=”123”;(X)

字符数组的输入和输出方法

gets(s)

puts(s)

字符串处理函数的使用  strlen(s)

  1. 编写程序求字符串的长度
  2. 编写程序将字符数组S2复制到字符数组S1中
  3. 编写程序比较两个字符串的大小
  4. 统计字符串中单词个数
  5. 统计字符串中各类字符个数

12.指针的定义、初始化及运算

p++  p--  *p++  *++p  ++*p 

13.指向数组的指针

(1)   int a[11],*p;

   p=a;  与p=&a[0];等价。

(2) 通过指针变量访问数组元素

下标法:a[i] p[i]

指针法:*(a+i)  *(p+i)

数组元素a[i]的地址:&a[i],p+i,a+i

int a[5]={1,2,3,4,5};
*p=a+2;

//p->a[2]

p[2]=?    *(p+2)=? //printf("%d",*(p+2));

使用指针,输出数组内的奇数、偶数、平均值等

14.指针与字符串  

char *s1=abc;//字符串的首地址赋给s1

可以把一个字符串常量赋给指针变量,但是不能用一个字符串常量直接给字符数组名赋值。

char *p;p=Hello;

char a[100];a=Hello;    ×

15.指针数组

        1.定义及意义

数据类型 *指针数组名[元素个数];

指针数组名表示指针数组的存储首地址。

        2.初始化和赋值

用指针数组处理二维数组(找各行最值、多个字符串排序

16.函数的定义及函数原型声明

17.函数的调用

函数调用形式

函数调用过程

参数传递机制

18.指针与函数

(1)指针变量作函数参数(实参为变量的地址)

(2)函数调用中数组的传递

数组名作实参(形参可为指针变量,或为数组)

输出Fibonacci数列第i项

求阶乘、阶乘和、累加和

判断某整数是否为素数

字符串逆序

字符串连接

你可能感兴趣的:(C,c语言,数学建模,开发语言)