一.变量 为什么要它?
保存一些数据:密码 金额
int 4-%d %0nd(n为整数)
long 4-%ld
float 4-%f %.nf(n为整数)
double 8-%f %.nf(n为整数)
char 1-%c
bool 1-%d(要加stdbool.h头文件)
定义一个变量并且初始化,系统一看整型要四个字节内存空间(如int) ,到内存条申请空间(字节) 如果满了,还有二级缓存
#include<stdio.h>
#include<stdbool.h>
int main()
{
int count=0;//4字节*8位=32位 定义一个变量并且初始化,系统一看整型要四个内存空间 ,到内存条申请空间(字节)
count=3;
//%d
//%02d 不足两位的用0补齐
printf("I have %02d dogs\n",count); //格式(整数)和需要输入的值
long size=230;
printf("%ld\n",size);
float score=3.1415926535;
printf("%.2f\n",score); //用点2f可以显示小数点后两位
char choose='y';//注:一个中文占两个字符,而char只有一个字符
printf("%c\n",choose);
printf("%d\n",choose);//用d产生字符对应的ASCII码值,c产生字符
bool status=-3;//非零即真1 零即假0 status是状态
printf("%d\n",status);
scanf格式化输入
/*int a='123'
int b=''
int c=456
缓冲区:"'\n'"
终端:
jack123 用户输入的格式,一般不要在scanf乱加格式 ,写的内容就是用户输入的格式
pwd=123
*/
int pwd=0;//定义一个变量且需要用户输入
scanf("%d\n",&pwd) ;//
printf("pwd=%d\n",pwd);
int num1,num2 ;//若要输入两个值
scanf("%d %d",&num1,&num2);
printf("%d %d\n",num1,num2);
return 0;
}
二.判断:当某种条件成立才干什么;有多个条件,每个该怎么办
if(条件-true非0-false=0)
{
成立要做的事情
}
运算符+-*
/:除 取整数部分7/3=2....1
% :取余数部分7%3=1
&&且:两个同时成立 1>2&&2>1 错
||或:只要一个成立就可以 1<2||2<1 对
++:自增 a++先用a再加,++a先加再用
int a=20;
if(a++==20)
{
printf("a=20\n");
printf("a=%d\n",a);
}
else
{
printf("a!=20\n");
printf("a=%d\n",a);
}
+=:a+=2(更简单)==a=a+2
!=:不等于
==:判断
=赋:值
三.表达式
问号表达式
char c;
if(3>1)
{c='y';
printf
} else{
c='n';
}
c=3>1?'y':'n';//更简洁
逗号表达式
result=表达式1,表达式2,表达式3 ,吧表达式的最后一个是为赋值结果
int temp=20;
int t2=(temp--,temp--,temp--);
if(t2){
printf("temp=%d\n",temp);
}
if 函数应用计算工资
#include <stdio.h>
#include <stdlib.h>
int main() {
int m;
float p;
printf("please enter your salary:");
scanf("%d",&m);
if(m<5000) {
p=m;
}else if(m>=5000&&m<8000){
p=m-0.1 * (m-5000);
}else if(m>=8000&&m<10000){
p=m-(m-8000)*0.15-300;
}else{
p=m-(m-10000)*0.2-600;
}
printf("your last money is:%f\n",p);
return 0;
}
数字年龄转化成英文(数组和if的运用)
#include<stdio.h>
int main(){
int age=0;
char* gewei [] ={"","one","two","three","four","five","six","seven","eight","nine"};//保存个位数
char* temp[] = {"ten","eleven","twelve","thirteen","fourteen","fifteen","sixteen","seventeen","eighteen","nineteen"};//10-19
char* shiwei[] = {"twenty","thirty","forty","fifty","sixty","seventy","eighty","ninety"};//保留十位
char *name;//让数字和单词一一对应
printf("please enter an age:");
scanf("%d",&age);
if(age<10) {
name=gewei[age];
}else if(age>=10&&age<=19){
int index=age%10;//h=获取个位数
name=temp[index];
}else{
//获取个位数
int g=age%10;
//获取十位数
int s=age/10;
//取出对应的单词
char* sString = shiwei[s-2];
char* gString=gewei[g];
printf("your age is %s-%s\n",sString,gString);
return 0;//提前结束
}
printf("your age is %s\n",name);
return 0;
}