//复习
sizeof() 运算符 求变量或数据类型所占内存空间的大小 以字节为单位
C语言中的基本数据类型
char 1 %c
short 2 %hd
int 4 %d
long 4 / 8 %ld
float 4 %f
double 8 %lf
字符 ---> 字符就是特殊的整数
man ascii //查询ascii值
char ch = 'A';
scanf("%c",&ch);
printf("ch is %c\n",ch);
int a = '0';
printf("a is %d\n",a);//a is 48
'a' -----> 97
'A' -----> 65
'0' -----> 48
'\0'-----> 0
++问题
a++;
++a;
无论++在前还是++在后,只要语句被执行了,自身必然+1
int x = a++;// 先 x = a; 后 a = a + 1
int x = ++a;//先 a = a + 1,后 x = a;
a = a + 2; // a += 2
//三目运算符 ? :
条件 ? 表达式1 : 表达式2 ====== if ---- else
if()
{
}
else if()
{
}
else if()
{
}
else
{
}
//考点:刹车问题 break省略不写的问题
switch(day)
{
case 1:
break;
case 2:
break;
case 3:
break;
default://以上的所有条件都不成立,执行default
}
//#考点: &&和||实现短路问题
&& ---> 一假即假
|| ---> 一真即真
类型转换:
(1) 隐式转换
char --> short --> int ---> float ---> long ---> double
int a = 3;
doubel b = 2.2;
a + b ---> double
(2) 强制转换
int a = 3;
int b = 5;
float c = a / (float)b;
(3) 赋值转换
int a = 5;
int b = 2;
int c = a / (float)b; // int c = 5 / 2.0 int c = 2.5 int c = 2
int a = 5;
int b = 2;
float c = a / b; //float c = 5 / 2 float c = 2 float c = 2.0
新课
1. 输入输出
scanf输入
printf输出
1.1 输入输出需要包含头文件
#include <stdio.h>
1.2 字符输出函数: 字符函数和输出字符串函数 缺点:不能格式化输出 putchar()
1.3 字符输入函数 getchar()
两个函数,针对于 字符的输入输出函数
scanf("%c",&a);
printf("a is %c\n",a);
#include <stdio.h>
//针对于字符的输入和输出函数 getchar 和 putchar函数
int main(int argc, const char *argv[])
{
char ch;//定义一个字符变量
printf("Please input char:\n");
ch = getchar();//getchar函数获取键盘输入的字符,保存到变量ch中 类似于scanf("%c",&ch);
putchar(ch);//将ch里面保存的字符,打印输出到屏幕上 类似于printf("%c",ch);
putchar('\n');
putchar('M');
putchar('\n');
return 0;
}
C程序的三大结构
顺序结构
选择结构(条件分支结构)
循环结构
(1) while
(2) for
(3) do-while
2 循环结构
2.1 while 循环
(1)while循环举例
#include <stdio.h>
int main(int argc, const char *argv[])
{
//1.定义循环变量 初始化
int i = 0;
//2.循环是否结束的条件判断,只要条件为真,就进入循环体
while(i < 4)//注意此处不要加;
{ //i = 0 0 < 4 hello world!!
//i = 1 1 < 4 hello world!!
//i = 2 2 < 4 hello world!!
//i = 3 3 < 4 hello world!!
//i = 4 4 < 4 条件为假,不进入循环体,循环结束
printf("hello world!! ---- %d\n",i); //打印4遍
i++;//3.循环变量自加自减
}
printf("i is %d\n",i);// i is 4
return 0;
}
##练习1: 问题: 求出 1+2+3+4+5+6+....+100的和
a += 2;
方法: int a = 1 + 2 + 3 + 4 + 5 + 6.... //麻烦,如何用循环来解决呢?
int i = 1;
int sum = 0;//用来保存和
while(i <= 100)
{
printf("i is %d\n",i);
i++;
}