c语言学习两个月心得

 c语言学习两个月心得       

第2章 c数据类型
本章内容有常量和变量, 整型、实型和字符型,变量的定义和赋值,赋值运算符=,计算字节数运算符sizeof,运算符的优先级,运算符的结合性,圆括号,标识符命名。
c程序处理的数据由常量和变量两种形式。变量和常量的区别在于:在程序执行的过程中,常量的值保持不变,变量的值是可以改变。c语言的基本数据类型有整型、实型、字符型和枚举型等。变量必须先定义,后使用。标注c规定所有变量必须在第一条可执行语句之前定义。赋值运算符的左值只能是变量,不是常量或表达式。sizeof()是c的关键字不是函数名。圆括号,将表达式括起来,可避免因误用和混淆运算符的优先级和结合性而导致的程序错误。不允许使用C标识符命名。
本章常见错误小结
a:变量未定义就使用
b:忽视了变量区分大小写,使得定义的变量和使用的变量不同名
int sum;
SUM=0;
c:可执行语句之后定义变量
printf(“INPUT n”);
int n;
d:在定义变量时,用于变量初始化的常量类型与定义的变量类型不一致
int n=3.9;
e:在定义变量时,对于多个变量进行连续赋值
int n=m=0;

 第三章简单的算数运算和表达式
 主要内容:
1.算数运算符
 算术运算符算数运算符的优先级高于赋值运算符。算数运算符的结合性是左结合,赋值运算符的结合性是右结和。
2.增一和减一运算符
 增一和减1运算符后缀形式与前缀形式的区别:前者是使用变量的值然后再增一(减一),后者是先增一(减一),然后再使用变量的值。
 3.强制类型转换运算符
 将表达式的值强制转化为目标类型
 4.自动类型转换
 在不同类型数据之间会发生自动类型转换。将取值范围小的转换为取值范围大的类型是安全的,而反之则是不安全的。
 5.整数除法
 两个整数相除的商仍为整数。
 6.浮点数除法
若要得到浮点数商,必须使用浮点数除法,或者将其中一个操作数强制转为浮点数。
7.宏常量
 宏替换是简单的字符串替换,不进行语法检查。
 8.const常量
 可以用于声明具有某种类型的常量。
 常见错误

  a:使用了非法的标识符
  b:将乘法运算符省略或写成x
  4ac 或者 4xaxc
 c: 表达式为一线性形式写出,即分子、分母、指数下标等未写在同一行上
 d:使用方括号[]和以及花括号{}限制表达式
 1.0/2.0+[a-b]/{a/b}
 e:数学函数运算时未将参数用圆括号括起来,且且未注意定义域要求和参数的单位
 sinx
 f:对浮点数进行求余运算
 3.5%5
 g:  强制转换表达式中类型名为用圆括号括起来
 float(m)/2
 h:误以为(float)这种强制运算可以改变变量m的类型和数值
 i:误以为用双引号括起来字符串中与宏名相同的字符也被宏替换,误以为宏替换时可以做语法检查
 k:将宏定义当做算数运算符使用
 #define pi=3.14159
 l:对一个算数算数表达式使用增一或者减一运算
 (a+b)++
 典型例题
 1.强制转换
 #include<stdio.h>
 int main()
 {int    n=256;
 float  f=3.6;
 double d=2.5;
 n=f;
 f=n;
 d=f;
 printf("n=%d\n",n);
 printf("f=%f\n",f);
 printf("d=%f\n",d);
 }

程序的运行结果为
n=3
f=3.000000;
d=3.000000;
#include<stdio.h>
#define pi 3.14159
int main()
{
double r;
printf(“INPUT r:”);
scanf("%1f",&r);
printf(“circumstance=%f\n”,2pir);
printf(“area=%f\n”,pirr);
}

第四章 键盘输入和屏幕输出
主要内容

  1. 字符常量
    用单引号括起来的一个字符
    2.转义字符
    以反斜线()开头、有特定含义的字符序列
    3.字符输出函数 putchar()
    向屏幕输出字符
    4.字符输入函数 getchar()
    从键盘输入字符
    5.数据的格式化输出函数printf()
    以各种格式进行任意类型的数据的屏幕输出操作
    6.数据的格式化输入函数scanf()
    以各种格式进行任意类型数据的键盘输入操作

错误实例
1.忘记给scanf()中的变量加上取地址运算符&
scanf("%d",a);
2.用户从键盘输入的数据格式与scanf()中格式控制字符串要求的格式不一致。例如,相邻数据项之间应该用逗号分隔,但是用户没有输入逗号,或者不应该用逗号,分隔用户输入了逗号
scanf("%d%d",&a,&b);
用户输入2,3
3.将printf()误写为print()或者Printf()。由于c编译器只是在目标程序中为库函数调用留出空间,并不能识别函数名中拼写错误,更不知道库函数里在哪里,寻找库函数并将其插入到目标程序中是链接程序负责的工作,函数名拼写错误只能在链接时发现
print(“INPUT a:”);
printf(INPUT a:");


#include<stdio.h>
int main()
{
char ch;
printf(“press a key and then press Enter:”);
ch=getchar();
ch=ch+32;
printf("%c,.%d\n",ch,ch);}

第五章 选择控制结构
主要内容
用于单分支控制的条件语句
#include<stdio.h>
int main()
{ int a,b,max;
printf(“Input a,b:”);
scanf("%d,%d",&a,&b);
if(a>b) max = a;
if(a<=b) max = b;
printf(“max = %d\n”,max); }

用于双分支控制的条件语句
#include <stdio.h>
int main ()
{ int a,b,max;
printf(“Input a,b:”); scanf("%d,%d",&a,&b);
if(a.b) max = a;
else max = b;
printf(“max = %d\n”,max);
}
用于多分支控制的条件语句
if (表达式) 语句1
else if(表达式2) 语句2
…else if (表达式m) 语句m
else 语句m+1

用于多路选择的switch语句
switch (表达式)
{ case 常量1:
可执行语句序列1
case 常量2:
可执行语句序列2
. . . case 常量n:
可执行语句序列n
default: 可执行语句序列n+1}

 我的感悟:一定要先明白c语言的表达方式,遵守c语言的规则,不乱写,有理有据,多加练习。
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值