一.学习内容
1.运算符
- 算数运算符
+,-,/,%(取余),*. 对于/的运算,如果被除数与除数都为整数则商为整数,如果有一个为浮点数则商的输出为浮点数;而%运算,商的符号只与被除数有关
- 关系运算符
,<,<=,>=;!=(不等于);==;
- 逻辑运算符
!非;&&且;||或;注意:当&&左为假,则右不会执行;当||的左为真,则右不会执行。
- 赋值运算符
=;+=;-=;即a+=3为a=a+3.
- 自增自减
**自增:**后自增:a++,即a不断地加1下去;**自减:**a--即a不断的减1下去。 前自增:++a。 不同之处:前自增整体表达式的值是a加1之后的值 后自增整体表达式的值是a加1之前的值
- 三目运算符
格式: A?B;C 等价于 if(A) B; else C;
- 运算符的优先级
算数>关系>逻辑>赋值。当区别运算的先后是我们可以采用()来方便判断运算顺序。
2.流程控制
定义:
程序代码执行的顺序
分类
顺序:按由上到下,由左到右。
选择:有选择的执行代码
1.if else
- if的简单用法 1.格式: if(表达式) 语句 功能: 如果表达式为真,则执行语句,否则不执行。注意:如果if后面接有两个以上的语句,则只执行第一个语句;如果控制多个语句,则需要用{}将其括起来。
2.if 。。。。 else if 。。。else用法
格式: if(1) A else if(2) B else if(3) C else D
循环:重复某一个或多个环节
- for语句
for(语句A;语句B;语句C) | for | 语句A| 语句B | 语句C | |---|---|---|---| | | 初始条件 | 循环条件 | 循环动作 | eg(框架):for(int i=1;i<=n;i++){ fact*=i; }
- while语句
格式:while(循环语句){内为循环体} eg:while(x>0){ x/=10; n++; }
- switch
格式:switch(控制表达式){ case常量(也可为常数计算表达式): 语句 break case常量: 语句 break 。。。。。(类推) break(表示结束) default: 语句 break }
- do while语句
格式: do { <循环体> }while(循环条件); 注意:得先执行一遍后再以循环条件判断
- break与continue区别
首先break用于循环是用来终止循环,且在多层switch镶套中只能终止它最近的switch;而contunue用于跳过本次循环余下的语句,转去判断是否血药执行下次循环
二.学习任务(超过100行代码要用分享)
1.笔记(代码和手写笔记)
while一元二次方程
int main ()
{
double a,b,c;
double delta;
double x1,x2;
do
{
printf("请输入一元二次方程的三个系数:\n");
printf("a=");
scanf("%lf",&a);
printf("b=");
scanf("%lf",&b);
printf("c=");
scanf("%lf",&c);
delta=b*b-4*a*c;
if(delta>0)
{
x1=(-b+sqrt(delta))/(2*a);
x2=(-b+sqrt(delta))/(2*a);
printf("有两个解,x1=%f,x2=%f\n",x1,x2);
}
else if(0==delta)
{
x1=x2 =(-b)/(2*a);
printf("有唯一解,x1=x2=%f\n",x1,x2);
}
else
{
printf("无实数解!\n");
}
}while(1);
return 0;
}
对任意三个数排序
{
int a,b,c,t;
scanf("%d%d%d",&a,&b,&c);
if(a<b)
{
t=a;
a=b;
b=t;
}
if(a<c)
{
t=a;
a=c;
c=t;
- }
if(b<c)
{
t=b;
b=c;
c=t;
}
printf("%d%d%d",a,b,c);
return 0;
}
成绩分析
#include<stdio.h> int main (void) { float score;
printf("请输入您的考试成绩:");
scanf("%f", &score);
if (score > 100)
printf("这是做梦!\n");
else if (score>=90 && score<=100)
printf("优秀!\n"); else if (score >= 80 && score < 90 )
printf("良好!\n");
else if (score >= 60 && score <80)
printf("及格!\n");
else if (score>=0 && score < 60)
printf("不及格,继续努力!\n");
else printf("输入的分数过低,请不要自卑!\n");
return 0 ;
}
数值交换
int main(void)
{
int i = 3;
int j= 5 ;
int t;
t=i;
i=j;
j=t;
printf("i=%d,j=%d\n",i,j);
return 0;
求回文数
int main()
{
int val;//存放判断数字
int m;
int sum;
printf("请输入你要判断的数字") ;
scanf("%d,&val") ;
m=val;
while(m)
{
sum=sum*10+m%10;
m/=10;
}
if(sum==val)
printf("Yes!\n");
else
printf("No!\n");
eturn 0;
}
手写笔记
2.课后习题
5.10
第七题
第十三题
a:12 b;101,102,103,104 c:stuvw
5.11
第三题
第八题不会(。。。)
6.16
第五题(不会)
第十二题(不会)
第十八题
7.11
第二题
a:number>=90&&number<100 b:ch!='q'&&ch!='k' c:(number>=1&&number<=9)&&number!=5 d:number<1||number>9
第十题