#include<stdio.h>
int main()
{
printf("老师,你好!\n");/*输出老师,你好*/
return 0;
}
main是主函数,c语言程序里面有且只有1个main函数,程序从main()函数的第一行语句执行,到最后一条语句结束
printf()函数是C语言提供的按指定格式进行标准输出的函数,功能是输出由双引号括起来的字符序列。
"\n"是换行控制符,表示该符号之前的内容输出完毕后换行显示后续内容。
//单行注释,/**/块注释
#include<stdio.h>
int max(int x,int y); //max()函数声明
int main()
{
int a,b,m;
printf("请输入两个值:");
scanf("%d,%d",&a,&b);
m=max(a,b);//用户自定义函数的调用
printf("a=%d,b=%d,m=%d,",a,b,m);//m是最大值
}
int max(int x,int y)//用户自定义函数,求两个数中的较大值
{
int m;
if(x>y)
m=x;
else
m=y;
return m;
}
scanf()用来读取用户从键盘输入的值
源程序最基本组成单位是函数
在C语言中,大小写字母是有区别的
C语言的变量在使用前必须先定义其数据类型,未定义的变量不能使用,且定义变量的语句必须放在可执行语句前面
C语言中,变量,函数都有一个名称即标识符,由字母,下划线,数字组成,必须以字母,下划线开头,标识符不能使用C语言的关键字
#include<stdio.h>
#include<math.h>
int main()
{
float a=3.0f,b=4.0f,c=5.0f,s,area;
s=1.0f/2.0f*(a+b+c);
area=(float)(sqrt(s*(s-a)*(s-b)*(s-c)));
printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s);
printf("area=%7.2f\n",area);
return 0;
}
%7.2f指共占7位,小数后2位
#include<stdio.h>
int main()
{
printf("%c\n",'\a');// \a是响铃符
printf("%c\n",'\141');//ASCII码为97,'\141'为8进制 ,这里的\是转义字符,将前面的8进制转换为10进制
printf("%c",98);//ASCII码是98,输出为b
return 0;
}
字符型常量是用单引号引起来的一个字符
#include<stdio.h>
int main()
{
char c1,c2;//定义字符类型
c1=97,c2=98;//赋整型值
printf("%c,%c\n",c1,c2);//字符类型输出
printf("%d,%d\n",c1,c2);//整数类型输出
return 0;
}
一个字符型常量的值只能是一个单字符
[signed] char的取值范围是-127~127,而unsigned char的取值范围是0~255
字符串常量和字符常量在存储单元中有不同的存储形式
数据类型转换
自动转换:当运算对象数据类型不相同时,字节短的数据类型自动转化成字节长的数据类型。char字符型数据转换成int整数,short int 型数据转换成int型,float 型数据转换成double 型
强制转换:把变量从一种类型转换为另一种数据类型,如将float转换成int等
#include<stdio.h>
int main()
{
char a='x';
int b=3,f=2;
float c=2.5678f;
double d=5.2345;
long e=32L;
printf("%f\n",a-b+d/c-e*f);
return 0;
}
运算符和运算表达式
用运算符将运算对象连接起来的式子称为运算表达式
运算符包括:单目运算符(符号运算符-,地址运算符&),只允许有一个运算对象;双目运算符,运算时有两个运算对象参加运算(+,-,*,/);三目运算符(条件运算符)
表达式中运算符被处理的先后次序称为运算的优先级
单目运算符的优先级高于双目运算符
算术运算符和算术表达式
算术运算符包括基本算术运算符(+,-,*,/,%)和自增运算符(++)、自减运算符(--)两类。基本算术运算符中除了取正负值运算符+(取正值)和-(取负值)外,其他都是双目运算符。取正负值运算符以及自增运算符、自减运算符都只对一个操作数进行运算,因此都是单目运算符。
用算术运算符和括号将运算对象连接起来的符合C语言语法规则的式子称为算术表达式。
#include<stdio.h>
int main()
{
int x,y,z1,z2;
x=7;
y=8;
z1=y-(x++);
z2=y-(++x);
printf("x=%d\ty=%d\ny-(x++)=%d\ny-(++x)=%d",x,y,z1,z2);
return 0;
}
自增运算符:如"x++"表示在使用x之后,使x的值加1,即"x=x+1"。“++x”表示在使用x之前,先使x的值加1,即“x=x+1”。
自减运算符:如"x--"表示在使用x之后,使x的值减1,即"x=x-1"。“--x”表示在使用x之前,先使x的值减1,即“x=x-1”。
“++x”和“-x”都把运算符用在了操作数之前,称为前缀运算;前缀运算是变量首先加1或减1,然后再使用变量的值。"x++"和"x--",则为后缀运算。而后缀运算则是使用变量的值后,再执行变量加1或减1。
赋值运算符和赋值表达式
赋值运算符有基本赋值运算符(=)以及复合赋值运算符,也称扩展赋值运算符(*=,+=等)两类。赋值运算符“=”,可将一个表达式或数据的值赋值给一个变量。由赋值运算符将一个变量与一个表达式连接起来的式子称为赋值表达式。
关系运算符和关系表达式
关系运算符的优先级低于算术运算符,高于赋值运算符
逻辑运算符和逻辑表达式
C语言有三种逻辑运算符,分别是逻辑与(&&)、逻辑或(|)、逻辑非(!)
逻辑运算符比关系运算符优先级低,比赋值运算符优先级高。
C语言规定,当运算对象为0时,即判定其为假,当运算对象为非0的任何值(包括负值),即判定其为真。
逗号运算符和逗号表达式
","为逗号运算符,又称为顺序求值运算符。用逗号运算符可以将若干个表达式连接起来构成一个逗号表达式。逗号表达式的一般形式为:
表达式1,表达式2,…,表达式n
逗号运算符在所有的运算符中的优先级别最低,其结合性为左结合性,即从左到右顺序求值。先求解表达式1,再求解表达式2,…,最后求解表达式n,而表达式n的值即为整个逗号表达式的值。
条件运算符和条件表达式
C语言中的条件运算符由问号(?)和冒号(:)组成。它是C语言中唯一的一个三目运算符。要求3个运算对象同时参加运算。由条件运算符构成的条件表达式的一般形式如下:
表达式1?表达式2:表达式3
运算规则:如果表达式1为"真",则求解表达式2的值,并将其作为整个条件表达式的值;否则就求解表达式3的值,并将其作为整个条件表达式的值。
练习:
输出Hello,teacher!I am a teacher!
#include<stdio.h>
int main()
{
printf("Hello,teacher!\n");//输出Hello,teacher!
printf("I am a teacher!");//输出I am a teacher!
return 0;
}
实现两个整数相加,并显示结果
#include<stdio.h>
int main()
{
int a=12,b=45,sum;
sum=a+b;
printf("sum=%d",sum);
return 0;
}
利用ASCII码值实现大写转小写
#include<stdio.h>
int main()
{
char char1,char2,char3,char4;//定义字符类型
char1='B';//以字符型常量赋值
char2=67;//数值型常量赋值
char3=char1+32,char4=char2+32;//整型数值运算
printf("%c的小写是%c,%c的小写是%c\n",char1,char3,char2,char4);//字符类型输出
printf("%c的ASCII是%d,%c的ASCII是%d\n",char1,char1,char3,char3);//整数类型输出
printf("%c的ASCII是%d,%c的ASCII是%d\n",char2,char2,char4,char4);//整数类型输出
return 0;
}
程序运行结果与分析结果对照
#include<stdio.h>
int main()
{
int y=6;
printf("%d ",++y);//先进行自增运算,在输出y
printf("%d ",--y);//先进行自减运算,在输出y
printf("%d ",y++);//先输出y,再进行自增运算
printf("%d ",y--);//先输出y,再进行自减运算
printf("%d ",-y++);//-运算符的优先级高于自增自减运算符
printf("%d ",-y--);//-运算符的优先级高于自增自减运算符
return 0;
}
求圆周长,圆柱体积
#include<stdio.h>
#define PI 3.14
int main()
{
double r=2.0,h=5.0,s,v;//
s=2.0*PI*r;
v=PI*r*r*h;
printf("圆周长为%7.2f\n",s);
printf("圆柱体积为%7.2f\n",v);
return 0;
}
键入两个字符数据,交换他们的值
#include<stdio.h>
int main()
{
char ch1,ch2,m;//定义字符类型
printf("请输入两个字符:");
scanf("%c,%c",&ch1,&ch2);
m=ch1;
ch1=ch2;
ch2=m;
printf("ch1=%c\n",ch1);//输出交换值
printf("ch2=%c\n",ch2);
return 0;
}
三角形 勾股定理
#include<stdio.h>
#include<math.h>
int main()
{
float a=3,b=4,c;
c=sqrt(a*a+b*b);
printf("a=%7.2f,b=%7.2f,c=%7.2f",a,b,c);
}
源程序以及运行代码:链接:https://pan.baidu.com/s/1G3modI6TVSC5lFArPyl7eA?pwd=ezj7
提取码:ezj7