1.字符串常量
表示
字符数组
所占字节数
字符串字符数+1
关于1的说明:存放字符'\0'(其ASCII码值为0),是字符串结束的标志
2. 字符变量的应用
表示
char c,singleCharacter
初始化
char c='\n',Character='a'
备注
字符变量的输出格式为‘\c’
3. 实型
实型常量
十进制小数形式必须有小数点
指数形式:十进制小数+阶码标志(e/E)+阶码(带符号整数)
2.3E6=2.3^10^6
实型变量
单精度(float)
数的范围(1E-37,1E38)
双精度(double)
数的范围(1E-307,1E308)
长精度(long double)
数的范围(1E-4931,1E4932)
4. 枚举类型
\
说明
枚举变量的取值是有限的
例
星期几
#include <stdio.h>
int main()
{
enum weekday {mon = 1,tue,wed,thu,fri,sat,sun} work; //weekday work
work = wed;
printf("Wednesday is the %drd day",work);
}
延伸:
#include <stdio.h>
int main()
{
enum weekday {sun,mon = 1,tue,wed,thu,fri,sat};
enum weekday wkd; //声明wkd
wkd = sun; // 申明的时候,进行初始化,否则不规范
printf("sunday is the %drd day",wkd);
}
水果类型
#include <stdio.h>
void main()
{
enum fruit {apple = 1,orange,banana} fr;//或enum fruit {apple = ,orange=2,banana=3} fr;
fr = orange;
printf("the fruit number is : %d\n",fr);
}
5. 标准输入与输出函数
标准
输入函数
格式
scanf(格式控制字符串,地址列表)
取地址运算符
&
格式字符串
%d(int)、%ld(long)、%f(float)、%lf(double)
标准
输出函数
格式
printf(格式控制字符串,输出列表)
格式字符串
%d(int);%ld(long);%c(一个字符);
%s(字符串);%f(double默认精度到6位小数)
6. 表达式和运算符
表达式
操作数与运算符
8 x 3+6 2*a+10
#include <stdio.h>
void main()
{
printf("%d",sizeof(float));
}
运算符
赋值运算符
=
height = 198.6; gender = 'f'; x=a+b; a=b=c=8;
算术运算符
双目运算符+、*
单目运算符-
除法运算符
若两者皆为整数,则结果也为整数(取整方向为0);
若有一个是实型,则结果为双精度
模运算符
%
双目运算符,即取余
若两者皆为整数,则结果为整数(取整方向为0)
关系运算符
> < >= <= == !=
真代表1,假代表0
#include <stdio.h>
void main()
{
int a=1;
int b=2;
printf("%d\n",a==b);
}
逻辑运算符
逻辑与 &&
逻辑或 ||
逻辑非 !
位运算符
按位与 & //对每位二进制数做与运算(&)
按位或 | //对每位二进制数做或运算(|)
按位异或 ^
按位取反 ~
左移<<
右移>>
条件运算符
表达式1?表达式2:表达式3
max = a>b? a:b;\\若a>b为真,则返回a,否则返回b
#include <stdio.h>
void main()
{
int a=1;
a+=1;//a=a+1
printf("%d\n",a);
}
7. c语言的三种基本控制结构
顺序结构(从上之下,依次执行);
选择结构(用条件表达式,来描述条件);
循环结构
三要素:循环变量、循环体、循环终止条件;
7.1 选择:
7.1.1 if语句
if语句
嵌套if语句
#include <stdio.h>
void main()
{
int score = 0;
char level = '\0';
printf("请输入成绩:");
scanf("%d",&score);
if (score>=60 && score<70)
{
level = 'D';
}
else if(score>=70 && score<80)
{
level = 'C';
}else if (score>=80 && score<90)
{
level = 'B';
}else if (score>=90 && score<100)
{
level = 'A';
}else if (score>=100)
{
level = 'S';
}else
{
level = 'E';
}
printf("your level is %c\n",level);
}
if(表达式)
if(表达式)
语句
7.1.2 switch语句
多路判定语句
#include <stdio.h>
void main()
{
int n=0;
printf("请输入第几季度:\n");
scanf("%d",&n);
switch (n) //括号后,无符号
{
case 1: //1后面的冒号
printf ("您输入的是第一季度\n");
break;
case 2:
printf("您输入的是第二季度\n");
break;
case 3:
printf("您输入的是第三季度\n");
break;
case 4:
printf("您输入的是第四季度\n");
break;
default:
printf("您输入的季度有误:%d\n",n);
}
}
7.1.3 goto语句
无条件转移语句
复合语句//用{}
空语句//没有任何内容的语句,用;
7.2 循环结构
while语句
do-while语句
for语句
判断框+循环体(主循环为真)
循环体+判断框
表达式1+判断语句(含表达式2)+循环体+表达式3
#include <stdio.h>
void main()
{
int a = 8;
int sum = 0;
while (++a <= 99)
{
sum=sum+a;//sum+=a
}
printf("sum=%d\n",sum);
}
#include <stdio.h>
void main()
{
int a = 8;
int sum = 0;
do
{
sum=sum+a;//sum+=a
}
while (++a <= 99);//注意分号
printf("sum=%d\n",sum);
}
#include <stdio.h>
void main()
{
int a = 9;
int sum = 0;
for(a=9;a<=99;a++)
{
sum=sum+a;
}
printf("sum=%d\n",sum);
}
7.3 其他
break语句: 使程序终止循环,而执行循环后面的语句,但只能跳出一层
continue语句: 跳过本次循环后面的语句,强制执行下一次循环
结束死循环:ctrl+pause/break
转载于:https://www.cnblogs.com/JonySen/p/6094904.html