目录
1.使用程序做一些简单计算
2.使用程序解决找零问题
3. 使用程序输出两个整数中的较大值
4.在编写程序时因为容易忽略的细节造成的错误
5.关于数据类型的一些知识点
6.关于标识符与关键字
7.关于常量
8.关于变量
9.关于字符串常量
#include
int main()
{
int a=5;
int b=11;
int c=a+b;
printf("a+b=%d",c);
return 0;
}
注释:利用变量c代表a+b这一表达式的值,再用printf函数将结果进行输出
#include
int main()
{
int price=0;
printf("请输入金额(元):");
scanf("%d",&price);
int change=100-price;
printf("找您%d元\n",change);
return 0;
}
注释:使用printf函数和scanf函数,
scanf("%d",&price);
表示输入一个整数值并把这个值给变量price;之后再定义一个变量change并用其表示找零的金额
#include
int main()
{
int max(int x,int y);
int a,b,c;
scanf("%d,%d",&a,&b);
c=max(a,b);
printf("max=%d\n",c);
return 0;
}
int max(int x,int y)
{
int z;
if(x>y),z=x;
else z=y;
return(z);
}
注释:该程序除了使用主函数main外,还使用了一个自定义函数max;配合函数printf和scanf以及if else语句构成程序主体
scanf("%d",&price);
scanf("%d",&price);
以上两个程序段是我在编写程序解决找零问题时所写,乍一看两者貌似一样,但是;当我在写出第一个程序段时,点击运行后却显示错误,我反复观察录播课上的正确程序之后依然没有找出原因,然后我重新写了一次程序,这次我写出了第二个程序段,点击运行后显示成功,我反复观察并编写两次所写下的程序得出结论;第一个程序段中的逗号(,)是使用的中文输入法,第二个编程段中的逗号(,)用的是英文输入法。两个逗号在编写程序时很像,但是像归像,两者一定不能等同,在编写程序时要使用英文输入法的半角!
(1).所谓类型,就是对数据类型分配储存单元的安排,包括储蓄单元的长度(所占的字节)以及数据的存储形式。
数据类型包括 基本类型、构造类型、空类型、指针类型。
其中基本类型又包括:
整型类型(eg:整型int、无符号整型unsigned int、短整型short int、无符号短整型unsigned short、长整型long int、无符号长整型unsigned long);
字符类型(eg:字符型char);
浮点类型(eg:单精度浮点型float、双精度浮点型double)
目前学习只使用过整型 int。
(2).对整型数据用“%d”格式输出。%d表示用十进制的格式输出。
对无符号整型数据用"%u"格式输出。%u表示用无符号十进制数的格式输出。
(3).浮点型变量的定义方法(与定义整型变量相同):[类型定义符] 标识符;
float的格式说明项为“%f”,double的格式说明项为“%lf”。
(1).标识符是有效字符序列,是一个对象的名字。用于标识用户自己定义的变量、符号常量、函数名、类型名等等。
标识符的命名规则:
*不能是关键字
*只能由字母、数字和下划线组成,且区分大小写
*名称的第一个字符必须是字母或下划线,不能是数字
*名称中间不能有空格
*标识符可以为任意长度,但最好不要超过31个字符
*不要与C语言库函数名称相同
(2).关键字(保留字)是C语言预先定义好的字符序列,具有特殊的含义和用法,在标准C语言中共有32个关键字。
关键字主要有存储类声明、程序语句、数据类型声明、运算符等四种作用
常量是在程序运行过程中不变的量,程序员可以在程序中直接书写常量。
常量包括整数常量、浮点数常量、字符常量。
(1).整数常量分为:
*十进制整数 直接写出。eg:101、999、-58
*八进制整数 以零开头,由0~7组成。eg:0225、0124、-058
*十六进制整数 以0x开头,由0~9、A~F组成。eg:0x321、-0x99
*长整数 后面加大写L或小写l。eg:398L、0x99L
*无符号类型整数 后面加大写U或小写u。eg:65U、0x43U、067u
(2).浮点数常量必须以十进制的形式出现,浮点数常量分为:
*小数形式 小数点必须写出来,如果其前或其后有零则可省略。eg:1.0可以写成1. 、 0.12可以写成.12
*指数形式 十进制数+E(或e)+十进制整数。eg:1.97e5、3.65E9
(3).字符常量分为:
*普通字符常量 英文单引号引起来的字符。eg:'A'、'#'
*转义字符常量 英文单引号引起来,反斜杠开头。eg:'\#'、'\66'
变量是在程序运行过程中其值可以改变的量,其名称必须使用标识符来标识。
变量根据数据类型可以分为整数变量、浮点数变量、字符变量等三种不同的变量类型;不同类型变量的存储空间。
变量的三要素:变量名、存储空间、初始值。
变量代表一个有名字的、具有特定属性的一个存储单元且变量必须先定义,后使用。
(1).变量的定义。定义变量的本质是按照变量的数据类型给变量分配一定的存储空间;其格式为:
[存储类别][类型说明符] [变量1],[变量2],[变量3],...[变量n]; (注:存储类别在大多数使用情况下是不指明的,默认为auto类别。)
(2).变量的赋值。变量只有通过赋值的方式才能使得变量的值有意义;赋值时必须使用赋值运算“=”;赋值的方式有两种,分别是先定义后赋值和在定义的同时赋值。
(3).常变量(一种特殊的变量)。变量在定义时,在类型说明符前加const说明符,表示改变量是一个常变量;与变量的相同点是都具有三要素即:变量名、存储空间、初始值;不同点是常变量必须在定义的同时赋值。并且在程序运行过程中其值不能改变,即体现出常量的性质。
常变量这种特殊的性质适用于某些经常使用的常数数值,例如圆周率Π。
(4).符号常量(#define)与常变量(const)之间的区别。
a.在使用上,
#include
#define PI 3.14
void main()
{
const double r=10;
double s;
s=PI*r*r;
printf("s=%lf",s);
retuen 0;
}
两者的使用位置不同且使用方法不同。
b.在内存分配上,define是宏定义,程序在预处理阶段将用define定义的内容进行了替换。系统不为它分配内存。而const定义的常量在程序运行时在常数表中,系统为它分配内存。
c.在编译时类型检查上,define定义的常量在预处理时只是直接进行了替换,所以在编译时不能进行数据类型检验。而const定义的常变量在编译时进行严格的类型检验,可以避免出错。
字符串常量是用双引号括起来的字符序列,字符串常量是不可被修改的。
字符串常量在内存中的存放形式是连续存放字符的ASCII码值,并且在最末尾加一个结束标志'\0'字符。'\0'在ASCII码表也是一个字符,其值为0。注:字符串"a"和字符'a'是不一样的。
C中有大量操作字符串的函数。(需要包含头文件
eg: strlen(s1); 返回字符串s1的长度(不含'\0').
strcmp(s1,s2); 如果s1和s2是相同的,则返回;如果s1