ios--c DAY_2
来源:互联网 发布:mac的照片怎么删除 编辑:程序博客网 时间:2024/06/06 05:27
1、BOOL oc语言 bool c语言的
#define YES 1 TRUE
#define NO 0 FALSE
BOOL类型的:非0则输出本身
bool类型的:非0则输出1
2、关系运算符 >= <= ==
3、逻辑运算符 && || !
4、赋值运算符 = 左侧必须是变量
5、!>算术>关系>逻辑>赋值
6、下午:遇到键盘缓冲区的问题-----
char ch1,ch2; char ch1,ch2;
scanf("%c",&ch1); ch1=getchar();
scanf("%c",&ch2); ch2=getchar();
printf("%c %c\n",ch1,ch2); printf("%c %c\n",ch1,ch2);
scanf()和getchar()的区别:就是一个键盘缓冲区(输入缓冲区)之类的问题。就是在输入的时候,第一次键入一个数,敲一次回车,此时的回车就会停留在键盘缓冲区中,当下次再遇到输入的命令时,系统会先读取缓冲区内的回车符,以至于使用scanf()就会读取不到用户输入的数据。但是getchar()函数就不一样,getchar()函数是以回车符结束,也就是只有遇到回车符时,getchar()才会停止读取这个命令。
7、闰年:400年一润或者4年一润&&100年不润。
今天上课敲的代码:
//
// main.m
// LessonTwo
//
// Created by lanou3g on 15/7/29.
// Copyright (c) 2015年 lanou3g. All rights reserved.
//
#import <Foundation/Foundation.h>
/*
//枚举
//1、属于构造类型;
//2、具有名称的整形常量;
//3、目的:为了提高代码的可读性;
//4、语法:
enum 枚举变量名{
标识符1, //默认从0开始,也可以自定义
标识符2,
标识符3,
... //最后一个标识符后面没有逗号
};(注意这里的分号)
//5、定义枚举,必须写在函数的外面;
//6、枚举类型的变量,每次只能赋一个数值。
*/
enum colorType{
red,
green,
blue=100,
yellow
};
enum fruitType{
apple,
orienge,
pear,
banana
};
int main(int argc, const char * argv[]) {
//接着下午课程,写在这是为了写枚举方便
enum colorType color=red; //color叫枚举变量,
printf("color=%d\n",color);
enum colorType color1=yellow;
enum colorType color2=green;
printf("color1=%d\n",color1);
printf("color2=%d\n",color2);
//枚举变量每次只能赋一个值,下面的情况只认准第一个
enum colorType color3=yellow,red;
printf("color3=%d\n",color3);
//定义一个枚举类型,使用switch case 输出对应的水果名。
enum fruitType fruit=banana;
switch (fruit) {
case 0:
printf("苹果��\n");
break;
case 1:{
printf("橘子��\n");
break;
}
case 2:{
printf("梨子��\n");
break;
}
case 3:{
printf("香蕉��\n");
break;
}
default:
break;
}
/*上午课程
//BOOL类型 OC语言
//YES 真
//NO 假
//bool c语言
//true flase
//1、布尔类型只有两种结果
//2、%d 转换符输出
//3、作用:用于分支和循环的判断
BOOL a1=YES;
BOOL a2=NO;
printf("%d\t",a1);
printf("%d\n",a2);
//思考一下,和c语言不一样
BOOL a3=4; //非0即输出本身,只要不是零,就输出原样
printf("a3=%d\t",a3);
BOOL a33='r';
printf("a33=%c\t",a33);
bool a4=3; //非0即输出1
printf("a4=%d\n",a4);
//关系运算符
//1、进行两个数的比较,
//2、结果只有两种情况:真或假;用布尔类型来接收
//关系表达式
// 组成:常量、变量、关系运算符;
//大于 小于
BOOL r1=5>3;
printf("r1=%d\t",r1);
BOOL r11=10>20;
printf("r11=%d\t",r11);
BOOL r2=5<3;
printf("r2=%d\t",r2);
//练习:定义两个变量,分别存储c语言成绩和oc成绩,再定义一个变量,接收两个分数的比较结果。
int c_score=0;
int oc_score=0;
printf("请输入c和oc的考试成绩:\n");
scanf("%d,%d",&c_score,&oc_score);
if (c_score>oc_score) {
BOOL B1=c_score>oc_score;
printf("c语言成绩大于oc成绩(语句为:%d).\n",B1);
}else if(c_score==oc_score){
printf("c和oc的成绩一样(语句为:%d).\n",c_score==oc_score);
}else{
printf("c语言成绩低于oc成绩(语句为:%d).\n",c_score<oc_score);
}
//大于等于 小于等于
int aa=4;
BOOL bb=3<aa<6;//一般不建议这么写
printf("\nbb=%d",bb);
BOOL bb1 = 5>=8;//先运行右边的,赋值运算符的优先级比较低
printf("bb1=%d\t",bb1);
BOOL bb2 = 5<=8;
printf("bb2=%d\t",bb2);
//== 左右两边可以是常量或者变量
//= 赋值符,左侧只能是变量
BOOL bb3 = 5==8;
printf("bb3=%d\t",bb3);
BOOL bb4 = 3.5225==3.5225;
printf("bb4=%d\t",bb4);
//浮点数不能用==比较,因为四舍五入有误差
BOOL bb5 = 6!=9;
printf("bb5=%d\n",bb5);
//逻辑运算符
//逻辑与(&&)、逻辑或(||)、逻辑非(!)
//结果只有两种:真、假(BOOL接收)
//逻辑表达式:变量,常量,逻辑运算符
//1、逻辑与 &&
//逻辑与表达式: 表达式1 && 表达式2 ;
//运算规则:
//1)、先执行表达式1,再执行表达式2;
//2)、1假则假,全真才真
//3)、短路现象:表达式1为假,就不用执行表达式2
BOOL bbb1 = (8==9) && (9!=8);
printf("bbb1=%d\n",bbb1);
//短路现象---一定要注意的是表2有没有被执行的问题,以至于变量值是否会改变
int aaaa=9;
BOOL bbb2 = (2+3!=5) && (++aaaa);//表1假,表2不执行
printf("bbb2=%d \t a=%d\n",bbb2,aaaa);
aaaa=9;
BOOL bbb3 = (2+3==5) && (++aaaa);//表1真,表2执行
printf("bbb3=%d \t a=%d\n",bbb3,aaaa);
//2、逻辑或 ||
//逻辑或表达式:表达式1 || 表达式2
//运算规则:
//1)、先执行表1,再执行表2;
//2)、1真则真,全假才假
//3)、短路现象:表1为真,就不用执行表2
BOOL bbb4 = (8==9) || (9!=8);
printf("bbb4=%d\n",bbb4);
int aaaa1=20;
BOOL bbb5 = (8==9) || ++aaaa1;//表1假,表2执行
printf("bbb5=%d \t aaaa1=%d\n",bbb5,aaaa1);
aaaa1=20;
BOOL bbb7 = (8==9) || (aaaa1+1);//要注意陷阱,自身不加1
printf("bbb7=%d \t aaaa1=%d\n",bbb7,aaaa1);
aaaa1=20;
BOOL bbb6 = (8==8) || ++aaaa1;//表1真,表2不执行
printf("bbb6=%d \t aaaa1=%d\n",bbb6,aaaa1);
//小插曲:顺序结构、分支结构、循环结构
int cc=0;
int cc1=0;
BOOL s=cc>cc1;
printf("请输入cc和cc1:\n");//输入23,22,s输出为0;why?因为是顺序执行,之前的s的结果已经在0>0这个表达式中了
scanf("%d,%d",&cc,&cc1);
printf("s=%d\n",s);
//逻辑非
//就是一个取反运算
//运算规则:
//对结果的取反
BOOL y=YES;
BOOL n=!y;
printf("n=%d\n",n);
BOOL y1=5;//当y1为真时,输出本身
BOOL y2=!5;
printf("y1=%d \t y2=%d\n",y1,y2);
*/
/*
//下午课程
//分支结构
//if 控制语句的作用:通过条件判断,选择性的执行某个分支语句
//三种形式
//1)、if(条件表达式){ 语法;}
//2)、if(){ ;}else{ ;}
//3)、if(){ ;}else if(){ ;}else{ ;}
//条件表达式:算术运算符、逻辑运算符...结果只有真或者假两种情况。
//运行逻辑:条件表达式为YES,执行,为NO,跳过执行后面的语句。
int xiawuA=4;
int xiawuB=5;
if (xiawuA>xiawuB) {//可以用断点查看执行顺序
printf("我是分支结构里的语句。\n");//分支结构
}
printf("我是分支结构后面的语句。\n");//跟if为顺序结构
if (5>3) {
printf("条件表达式为真.\n");
}
//从控制台输入一个整数,判断这个整数是否大于100
//if第二种形式
int xiawuNumber=0;
printf("请输入一个整数:\n");
scanf("%d",&xiawuNumber);
//如果只用scanf,会遇到键盘缓冲区的问题,可以用getchar()来解决这个问题
//如果这里不加getchar()以及下面不加getchar()的话,下一次的scanf()会读取到这次输入的回车符。
getchar();
if(xiawuNumber>100){
printf("这个数大于‘毛爷爷’.\n");
}else{
printf("这个数小于100");
}
//从控制台输入一个数,如果输入的是m,则输出靓仔,否则什么都不输出.
char xiawuChar=0;
printf("请输入一个字符:\n");
scanf("%c",&xiawuChar);
getchar();//解决键盘缓冲区的问题
if (xiawuChar=='m') {
printf("靓仔\n");
}else{
printf("美女\n");
}
//输入一个年份,判断该年份是否闰年
int year=0;
printf("请输入一个年份,例如2008:\n");
scanf("%d",&year);
getchar();
//闰年:4年一润,400年一润,但是100年是不润的。
if(year%400==0||(year%4==0&&year%100!=0)){
printf("%d是闰年.\n",year);
}else{
printf("%d不是闰年.\n",year);
}
//if第三种形式
//从键盘输入一个字符,若是小写字母,则显示this is digital;若是大写字母,则显示this is capital letter;若是其他字符,则显示other.
char letter=0;
printf("请输入一个字符:\n");
scanf("%c",&letter);
getchar();
if (letter>='a'&&letter<='z') {
printf("This is digital.\n");
}else if (letter>='A'&&letter<='Z'){
printf("This is capital letter.\n");
}else{
printf("Ohter.\n");
}
//条件运算符 三目运算符
//条件表达式?表达式1:表达式2;
//运算规则:谁真,值就取谁。
int numberA = 5<3 ? 5 : 3;
//相当于if(){ ;}else{ ;}
printf("numberA=%d\n",numberA);
//练习:比较两个数,定义一个变量接收两个数中的最小值,并输出
//用if做
int numberB=10;
int numberC=20;
int min=0;
if (numberB>numberC) {
min=numberC;
}else{
min=numberB;
}
printf("min=%d\n",min);
//用?:做
int min1=numberB<numberC ? numberB : numberC;
printf("min1=%d\n",min1);
//switch(整型或字符型表达式){case 整型或字符型常量: ;break; default: ;break;}
//多分支
//作用:提供多个判断条件,同if else,但是代码来说,可读性更佳
//语法:同case,defalut,break使用。
//case 后面 多条语句一定要用{}
//break 结束某个case或者default,执行switch后面的语句。
//运行逻辑:跟case后面的值相对应,找不到就是default。
char gender=0;
printf("请输入性别(m或f):");
scanf("%c",&gender);
getchar();
switch (gender) {
case 'm':
printf("男性\n");
break;
case 'f':
printf("女性\n");
break;
default:
printf("性别未知\n");
break;
}
//若是忘记break,会继续执行下面的case语句。
//从控制台输入一个数,会输出对应的水果:1、苹果;2、香蕉;3、梨子;4、西瓜;5、橘子
int chooseFruit=0;
printf("请输入你选择的水果编号(1、苹果;2、香蕉;3、梨子;4、西瓜;5、橘子):\n");
scanf("%d",&chooseFruit);
switch (chooseFruit) {
case 1:{
printf("��苹果\n");
break;
}
case 2:{
printf("��香蕉\n");
break;
}
case 3:{
printf("��梨子\n");
break;
}
case 4:{
printf("��西瓜\n");
break;
}
case 5:{
printf("��1橘子\n");
break;
}
default:{
printf("你选择的编号没有对应的水果.\n");
break;
}
}
//switch case 注意事项:
//1、default可以省略
//2、多个case可以共同运行一个代码块
char week=0;
printf("请输入星期的代号:\n");
scanf("%c",&week);
getchar();
switch (week) {
case '1':
case '2':
case '3':
case '4':
case '5':{
printf("好好学习,天天向上。\n");
break;
}
case '6':
case '7':{
printf("终于可以玩了。\n");
}
default:
printf("输入有错!\n");
break;
}
*/
return 0;
}
- ios--c DAY_2
- Day_2
- DAY_2
- Day_2.
- day_2 TOMCAT
- Practice Every Day_2
- java笔记day_2
- java学习—day_2
- day_2-acm 小技巧
- day_2-acm 公倍数公约数
- Linux命令day_2 ls
- [30天自制操作系统]day_2
- Processing从零学Day_2
- 初学者的学习复习day_2
- day_2 servlet 三种开发方法
- Shell Script 学习 day_2 指令sed
- iOS-学习 Objective-C
- iOS Obj-C
- DevExpress v15.1:WinForms控件功能升级(二)
- fopen、fwrite使用
- HDU 1950 Bridging signals 桥接信号
- UVA 375 Inscribed Circles and Isosceles Triangles
- Windows IOCP 完成端口(CompletionPort)详解
- ios--c DAY_2
- hdu 5326
- Java,XML,Android 删除各种注释内容
- Yii CModel中rules验证+自定义规则
- Wumpus ZOJ月赛-3890
- 黑马程序员--IO流
- iframe与frame的区别
- Foundation Framework 数组 NSArray、NSMutableArray
- $.ajax相关用法