2015-11-13 C4_数组 --c语言

//
// main.m
// C4_数组
//
// Created by YIem on 15/11/13.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

define SIZE (5)//宏定义

// 宏命名 1.全大写字母 eg: SIZE MAX MIN
// 2.k + 驼峰命名 eg: kSize kMax kMin
int main(int argc, const char * argv[]) {
// 参数宏

define ADD(a, b) ((a) + (b))// ->单个加括号 整体加括号 保证数据安全


// 数组 Array

// 构造类型 用来保存一组 相同数据类型的 数据

// 数字定义
    // 类型 说明符 数组名[元素的个数] 赋值运算符(=) 初值{ 初值};
    // 元素个数为 整型表达式(常量)iOS

if 0

int a[SIZE] ={1, 2, 3, 4, 5};
int a2[5] = {0};// 创建空数组
int a3[5] = {1, 2, 3};
// 数组创建时 元素个数和初值 最少有一个
int a4[] = {1, 2, 3, 4, 5};
    
// 浮点型 数组
float a5[5] = {1.2 , 3.4, 5.6};
// 字符 数组
char a6[5] = {'a', 'p', 'p', 'l', 'e'};

// 访问/ 设置 数组元素

// // 通过 数组名[索引/ 下标]

a4[1] = 100;
printf("%d\n", a4[2]);

endif

//遍历

if 0

int a7[] = {1, 2, 3, 4, 5};
//数组元素个数
// sizeof 获取某个表达式/类型的大小
//  unsigned long > %lu
printf("**%lu\n", sizeof(a7[0]));
// 个数 = 总大小 / 单个大小

int count = sizeof(a7) / sizeof(int)//也可以写成sizeof(a7[0])

;

// i >index 索引
for (int  i = 0; i < count; i++) {
    printf("%d\n", a7[i]);
}

endif

// 练习 1.定义一个具有20个元素的整型数组, 每个元素的取值范围是30-70之间,求数组的和

if 0

int a[20] = {0}, sum = 0;
for (int i = 0; i < 20; i++) {
    a[i] = arc4random() % (70 -30 +1) +30;
    sum += a[i];
    printf("-%d",a[i]);
}
printf("\nsum = %d\n", sum);

// 练习2.复制一个数组,即两个数组 容量一样,把其中一个数组中的元素 复制 到另外一个数组中

int b[20] = {0};
for (int i = 0; i < 20; i++) {
    b[i] = a[i];
     printf("-%d",b[i]);
}

endif


// 练习3.生成 2个数组,每个数组都有 10个元素 ,元素取值范围 20-40之间,数组对应元素相加,放到另外一个数组中

if 0

int a1[10] = {0}, a2[10] = {0}, a3[10] = {0};
for (int i = 0; i < 10; i++) {
    a1[i] = arc4random() % (40 - 20 + 1) + 20;
    a2[i] = arc4random() % (40 - 20 + 1) + 20;
    // 这样子 赋值 值不一样
    a3[i] = a1[i] + a2[i];
}
for (int i = 0; i < 10; i++) {
    printf("%d ", a1[i]);
}
printf("\n");
//
for (int i = 0; i < 10; i++) {
    printf("%d ", a2[i]);
}
printf("\n");
for (int i = 0; i < 10; i++) {
    printf("%d ", a3[i]);
}
printf("\n");

endif

// 区分概念
// int a[5]  -> 定义数组  [5] 代表元素个数
// a[5]  访问 -> 数组使用  [5] 代表下标/索引
// 一个5个元素的数组 下标的变化为0-4 (元素个数-1) 如果访问a[5] 则发生数组越界

/ 数组排序**/


//冒泡排序

if 0

int a[5] = {2, 7, 4 , 9, 6};
// 外层 循环 控制每次找到 一个最大值  放在最后
// -1 如果是5个数 4个数序时 整个数组就会有序
for (int i = 0; i < 5 - 1; i++) {
    // 内层 循环 控制比较和交换
    for (int j = 0; j < 5 - 1 - i; j++) {
      // 比较 和 交换
        // -1 防止越界访问
        // -i 防止重复对有顺序的数进行比较
        if (a[j] > a[j + 1]) {
            int temp = a[j];
            a[j] = a[j + 1];
            a[j + 1] = temp;
            
        }
        
        
    }
    // 打印
    for (int i = 0; i < 5; i++) {
        printf("-%d", a[i]);
    }
    printf("\n");
}

endif

// 练习: 随机产生 10个[20-40]数,幷对10个数从小到大排序 从大到小排序

if 0

int a[10] ={0};
for (int i = 0; i < 10 - 1; i++) {
    a[i] = arc4random() % (40 - 20 + 1) + 20;
}
for (int i = 0; i < 10 - 1; i++) {
    // 内层循环 控制比较和交换
    // -1 防止越界访问
    // -i 防止重复对有序区的数进行比较
    for (int j = 0; j < 10 - 1 - i; j++) {
        // 比较和交换
        if (a[j] > a[j + 1]) {
            int temp = a[j];
            a[j] = a[j + 1];
            a[j + 1] = temp;
        }
        
    }
    
}
for (int i = 0; i < 10; i++) {
    printf("%d ", a[i]);
   
}
printf("\n");

endif

if 0

int a[10] ={0};
for (int i = 0; i < 10 - 1; i++) {
    a[i] = arc4random() % (40 - 20 + 1) + 20;
}
for (int i = 0; i < 10 - 1; i++) {
    // 内层循环 控制比较和交换
    // -1 防止越界访问
    // -i 防止重复对有序区的数进行比较
    for (int j = 0; j < 10 - 1 - i; j++) {
        // 比较和交换
        if (a[j] < a[j + 1]) {
            int temp = a[j];
            a[j] = a[j + 1];
            a[j + 1] = temp;
        }
    }
}
for (int i = 0; i < 10; i++) {
    printf("%d ", a[i]);
}
printf("\n");

endif

if 1

/****** 字符数组/字符串******/

// 字符数组
char c[] = {'a', 'p', 'p', 'l', 'e', };// 可以加'\0' 变成字符串
//字符串 String
char string[] = "apple";// 有\0 时结束打印
//字符串的结尾处有"\0" 总大小 = 字符个数+1
printf("%lu %lu\n", sizeof(c), sizeof(string));

// 打印字符串
int i = 0;
while (string[i]) {
    printf("%c", string[i]);
    i++;
}
printf("\n");
// 打印
// 数组名为数组的 首地址 通过首地址 逐个访问数组元素 直到\0 停止
printf("%s\n", string);

// 字符串操作函数
// <string.h> 库文件
// 字符串长度 string length
// 字符个数不包含结尾的\0
printf("%lu\n", strlen(string));

//**** 字符串考贝 string copy
char newStr[10] = "";
// 参数一: 目标字符串
// 参数二: 原字符串
strcpy(newStr, string);
printf("%s\n", newStr);

//**** 字符串拼接
// 参数一: 目标字符串
// 参数二: 原字符串

strcat(newStr, "TV");// 在appple 后面接TV
printf("%s\n", newStr);

//**** 字符串比较 string compare

char str1[] = "iPhone6s";
char str2[] = "iPhone7";
// 第一个第二个字符串中 从左向右 第一个不相同的字符对应的 ASCII码的差值计算
int result = strcmp(str1, str2);
printf("%d\n", result);

//结果为负 升序 Ascending

//结果位正 降序 Descending

endif


//****** ******//

// 参数宏使用

printf("%d\n", ADD(3, 5) * ADD(3, 5));
//宏的作用 : 完全替换
// 宏在使用时,需要考虑数据安全问题







return 0;

}

2015-11-12 第三节作业

//
// main.m
// 第三节作业
//
// Created by YIem on 15/11/12.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {


//第一题

if 0

int max = 0;
for (int i = 0; i < 20; i++) {
    int a = arc4random() % (100 - 10 + 1) + 10;
    printf("%d\n", a);
    max = max > a ? max : a;//最大值
}
printf("max = %d\n", max);

endif


//第二题

if 0

int i, j, k, n, m = 0;
for(n=100;n<1000;n++)
{
    i=n/100;
    j=n/10%10;
    k=n%10;
    if(i*100+j*10+k==i*i*i+j*j*j+k*k*k){
        printf("%d ",i*100+j*10+k);
        m++;
    }
}
printf("\n");
printf("%d\n", m);

endif

//第三题

if 0

int a, b, c;
for( a = 0; a < 10; a++){//百位0-9
    for( b = 0; b < 10; b++){//十位0-9
        for( c = 0; c < 10; c++){//个位0-9
            if((a * 100 + b * 10 + c) + (c * 100 + b * 10 + a) == 1333){
                printf("%d %d %d\n", a, b, c);
            }
        }
    }
}

endif




//第四题

    //第一种/ 不会啊 数学老师早爆炸了

if 0

int num1 = 0, num2 =0;
printf("请输入两个数:");
scanf("%d%d", &num1, &num2);
for (int gcd = num1 < num2 ? num1 : num2; gcd >= 1; gcd--) {
    if (num1 % gcd == 0 && num2 % gcd == 0) {
        printf("最大公约数是:%d\n最小公倍数是:%d\n", gcd, (num1 * num2) / gcd );
        break;
    }
}

endif


    //第二种

//第五题

if 0

double m, h, sum;//定义类型
int k ; //开始时 h , m 一样
for (h = m = 100, sum = 0, k = 1;k <= 10; k++) {
    printf("%d-%.2f-%.2f\n", k, h, m);//k=次数,h=弹起高度,m=落下高度
    sum += m;// 计算落下 的总高度
    m = h;//第二次落下高度对应第一次弹起高度
    h = m / 2.0;//跳回原来高度的一半
    if ( k == 10 ) {// 当K 等于10时输出以下
        printf("%.2f\n", h);//第十次高
        printf("%.2f\n", sum);//落下的总 多少米
    }
}

endif



//第六题





















return 0;

}
第三节作业.key.zip

2015-11-12 -C3_循环结构

//
// main.m
// C3_循环结构
//
// Created by YIem on 15/11/12.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

/* // 限时代码 4min

char a = 0;
scanf("%c", &a);
if (a > '0' && a < '9') {
    printf("数字\n");
}   else if (a > 'a' && a < 'z'){
    printf("小写字母\n");
}   else if (a >'A' && a < 'Z'){
    printf("大写字母\n");
    
}   else{
    printf("其他\n");
}
*/

/****** 程序的三种结构******/
//  顺序 分支 循环


// 循环
    //满足条件时 重复做某事
    // 循环条件 下重复执行  一段代码


/****** for 循环 ******/
// 循环增量初始化    条件        增量变化

// for (int i = 0; i < 5; i++) {
// printf("Yiem n");
// // system("say YIem");// 系统函数 发出声音
// }
// // 死循环
// for (; YES; ) {
// printf("死循环n");
// }


    //练习: 正序打印1-5的数
    //

// for (int i = 1; i <= 5; i++) {
// printf("%dn", i);
// }
// for (int i = 5; i >= 1; i--) {
// printf("%dn", i);
// }

// // 练习 打印1-100之间的偶数
// for (int i = 1; i <= 100;i++) {
// //判断偶数
// if (i % 2 ==0){
// printf("%dn", i);
// }
//
// }

// 练习  1用for打印出1-100之间7的倍数
//      2用for打印1-100个位为7的数
//      3用for打印出1-100之间十位为7的数
//      4用for打印出1-100之间不是7的倍数并且不包含7的数

// for (int i = 1; i <= 100; i++) {
// if (i % 7 ==0) {
// printf("%dn", i);
// }
//
// }
// for (int i = 1; i <= 100; i++) {
// if (i % 10 == 7) {
// printf("%dn", i);
// }
// }
// for (int i = 1; i <= 100; i++) {
// if (i / 10 ==7) {
// printf("%dn", i);
// }
// }

// 第一种

// for (int i = 1; i <= 100; i++) {
// if (i % 7 != 0 && i % 10 != 7 && i / 10 !=7) {
// printf("%dn", i);
// }
//
// }

//第二种

// for (int i = 1; i <= 100; i++) {
// if (! (i % 7 == 0 || i / 10 == 7 || i % 10 ==7)) {
// printf("%dn", i);
// }
//
// }
/*
// 敲7 游戏

for (int i = 1; i <= 100; i++) {
    if (60 == i) {
        printf("Game Over\n");
        break;// 打断/终止 本层循环
    }
    if (i % 7 ==0 || i / 10 ==7 || i % 10 == 7) {
        printf("啪\n");
        continue;// 继续循环 跳过后续的代码
    }
    printf("%d\n",i);
    
}


*/

/ 随机数**/
// printf("%dn",arc4random() % 11);

// 范围随机数的公式  最大值  最小值     最小值
// arc4random() % (max - min + 1) + min

// printf("%dn", arc4random() % (98 - 46 + 1) + 46);


// 练习 用for打印10个随机数(范围10-30),求最大值和最小值

//  第一种
/*
for (int i = 0; i < 10 ; i++) {
    printf("%d\n", arc4random() % (30 - 10 + 1) + 10);
}
 */
//  第二种
/*
int max = 0, min = 30;// 解决方案1
for (int i = 0; i < 10 ; i++) {
   int a =  arc4random() % (30 - 10 + 1) + 10;
    printf("%d ", a);
    max = max > a ? max : a;
    // 第一次进入循环时 直接赋值
    if (0 == i){
        min = a;// 解决方案2
    }
    min = min < a ? min : a;
 */
    /* 第二种 最大值最小值 解决方案
    if (max < a){//最大值
        max = a;
    }
    if (0 == i || min > a){//最小值
        min = a;
    }
     */

// }

// 最小值 有两种解决方案

// printf("n");
// printf("max = %dn", max);
// printf("min = %dn", min);
//

/ 循环嵌套**/

// 外层循环控制 行数

// for (int j = 0; j < 3; j++){
// //内层循环控制 一行中的内容长度
// // 打印5个*
// for (int i = 0; i < 5; i++){
// printf(" * ");
// }
// // 回车
// printf("n");
// }

/*
int w = 0 , l = 0;// 自定义 打印几行
printf("请输入\n");
scanf("%d", &w );
printf("请输入\n");
scanf("%d", &l );

for (int i = 0; i < w; i++){
    for (int j = 0; j < l; j++) {
        printf("*");
    }
    printf("\n");
}
 */

/*

for (int i = 0; i < 4; i++){
    
            // 打印空心
    if (i != 0 && i != 4 - 1) {// 是否是第二行和第三行是第二行或者是第三行的时候进行打印*
        //
        printf("*");
        // 打印空格
        for (int j = 0; j < 6 - 2; j++) {
            printf(" ");
        }
        printf("*");
        printf("\n");
        continue;
    }
            for (int j = 0; j < 6; j++){
                printf("*");
            }
            // 回车
            printf("\n");
        }

*/
/*

// 练习: 打印9*9乘法口诀
for (int i = 1; i <= 9; i++) {
    for (int j = 1; j <= i; j++) {
        printf(" [ %d * %d = %d ] ", j, i, j * i);
    }
    printf("\n");
}

*/

if 0

// 练习: 000-999
// 百位
for (int i = 0; i < 10; i++) {
    // 十位
    for (int j = 0; j < 10; j++) {
       // 个位
        for (int k = 0; k < 10; k++) {
            printf("%d %d %d\n", i, j, k);
        }
    }
}

endif

if 0

/****** while******/
int i = 1;
while (i <= 100) {
    printf("%d\n", i);
    // while 中一定不要忘记写循环变量的增加
    i++;
}

// for 模拟while
int j = 1;
for (; j <= 100;) {
    printf("%d\n", j);
    j++;
}

endif

if 0

// 练习 : 10亿 每天花一半  能花多少天

int money = 1000000000, days = 0;
//当有钱时 循环继续
while (money) {
    //每天 花一半
    money /= 2;
    days++;
}
printf("%d\n", days);

endif

/ do...while 循环**/
/* int i = 1;

do {
    printf("%d\n", i);
    i++;
} while (i <= 100);

//while死循环
//  1/YES
while (1) {
    
}
//for死循环
for (; 1; ){
    
}

*/

if 0 // int的最大值 + -21亿之间

//  练习" 输入一个整数 求这个整数的位数
int num = 0, b = 0;
printf("输入:\n");
scanf("%d", &num);

while (num) {
    num /= 10;
  
    b++;
}
printf("%d\n", b);

endif


return 0;

}

2015-11-11-蓝鸥 第二次作业

//
// main.m
// 第二节作业
//
// Created by YIem on 15/11/11.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
/*第一题

int a;
printf("请输入一个整数");
scanf("%d", &a);
if(a%2 == 0)//a除以2,是否有余数,判断余数是否等于0.
    printf("%d是偶数\n", a);
else printf("%d是奇数\n", a);
*/
/*第二题
int a2 = 0;
printf("输入一个数\n");
scanf("%d", &a2);
if (a2 > 0) {
    printf("正数\n");
}   else if (a2 < 0){
    printf("负数\n");
}   else if (a2 == 0){
    printf("0\n");
}
*/
/*第三题
int a3_1 = 0, a3_2 = 0, a3_3 = 0;
printf("输入第一个年龄\n");
scanf("%d", &a3_1);
printf("输入第二个年龄\n");
scanf("%d", &a3_2);
printf("输入第三个年龄\n");
scanf("%d", &a3_3);
if (a3_1 > a3_2 && a3_1 > a3_3) {
    printf("最大者的年龄:%d", a3_1);
}   else if (a3_2 > a3_3 && a3_2 > a3_1){
    printf("最大者的年龄:%d", a3_2);
}   else if (a3_3 > a3_1 && a3_3 > a3_2){
    printf("最大者的年龄:%d", a3_3);
}

*/

/*第四题

float a4 = 0;
printf("输入行李重量\n");
scanf("%f", &a4);
if (a4 <= 50 ) {
    printf("价格为:%.2f",a4 * 0.15);
} else if (a4 >50){
    printf("价格为:%.2f",(50 * 0.15) +((a4 - 50) * 0.25));
}
*/
/*第五题
float x = 0, y = 0;

printf("输入X\n");
scanf("%f", &x);
if (x < 1) {
    y = x;
}else if (x >= 1 && x < 10){
    y = 2 * x - 1;
}else if (x >= 10){
    y = 3 * x - 11;
}
printf("y的值为:%.2f",y);
*/

/*第六题
float a6_1 = 0, a6_2 = 0;

char a6_4 ;


printf("输入如34+56:\n");
scanf("%f%c%f", &a6_1,&a6_4,&a6_2);

if (a6_4 == '+') {
    printf("运算结果为:%.2f\n", a6_1 + a6_2);
}   else if (a6_4 == '-'){
    printf("运算结果为:%.2f\n", a6_1 - a6_2);
}   else if (a6_4 == '/'){
    printf("运算结果为:%.2f\n", a6_1 / a6_2);
}   else if (a6_4 == '*'){
    printf("运算结果为:%.2f\n", a6_1 * a6_2);
}
*/
/*第七题
int a7_1 = 0, a7_2 = 0, a7_3;
printf("输入第一个数据\n");
scanf("%d", &a7_1);
printf("输入第二个数据\n");
scanf("%d", &a7_2);
printf("输入第三个数据\n");
scanf("%d", &a7_3);
BOOL c1 = a7_1 + a7_2 > a7_3;
BOOL c2 = a7_1 - a7_2 < a7_3 && a7_3 > a7_2 - a7_1;
if (c1 && c2) {
    printf("为三角形");
}
  else{
    printf("不为三角形");
}
*/
/*第八题
 //第一种

int a8_1 = 0, a8_2 = 0, a8_3 = 0;

printf("请输入三个数:");
scanf("%d%d%d", &a8_1, &a8_2, &a8_3);

if ((a8_1 > a8_2 && a8_1 < a8_3) || (a8_1 < a8_2 && a8_1 > a8_3)) {
    printf("%d为中间数\n", a8_1);
} else if ((a8_2 > a8_1 && a8_2 < a8_3) || (a8_2 < a8_1 && a8_2 > a8_3 )){
    printf("%d为中间数\n", a8_2);
} else if ((a8_3 > a8_2 && a8_3 < a8_1) || (a8_3 < a8_1 && a8_3 > a8_2)){
    printf("%d为中间数\n", a8_3);
}
*/
/*第二种 蒙蔽了
float a8_1 = 0, a8_2 = 0, a8_3 = 0;
int b8_1 = 0, b8_2 = 0, b8_3 = 0, b8_4 = 0;
printf("请输入三个数:");
scanf("%f%f%f", &a8_1, &a8_2, &a8_3);
b8_1 = a8_1 >= a8_2 ? a8_1 : a8_2;
b8_1 = b8_1 >= a8_3 ? b8_1 : a8_3;
b8_2 = a8_1 <= a8_2 ? a8_1 : a8_2;
b8_2 = b8_2 <= a8_3 ? b8_2 : a8_3;
b8_3 = a8_1 + a8_2 + a8_3;
b8_4 = b8_3 - b8_1 - b8_2;
printf("b8_4 = %d\n", b8_4);
*/


return 0;

}

2015-11-11 C语言 C2_分支结构

//
// main.m
// C2_分支结构
//
// Created by YIem on 15/11/11.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

//枚举

enum seasons{

    //将一些字符串和数字对应
    //枚举值默认从0开始 向下逐行加1
    //提高可读性
Spring = 1,
summer,
autumn,
winter,

};

int main(int argc, const char * argv[]) {


/******BOOL类型******/
    //表示真假
    //值:YES/NO
    //计算时 系统会自动替换为1/0
    //非0即为真
BOOL b1 = YES;
BOOL b2 = NO;
printf("b1:%d b2:%d\n", b1, b2);

/关系运算符**/


    // > >= < <= == !=
BOOL b3 = 5 > 3;
printf("b3: %d\n", b3);
BOOL b4 = 3 < 4 < 5;//不能连续判断
printf("b4: %d\n",b4);

/******逻辑运算符******/
    //  与(&&) 运算符左右两侧的表达式都为真 逻辑表达式为真
    //  或(||) 运算符左右两侧的表达式都为假 逻辑表达式为假
    //  非(!) 对当前的结果取反
BOOL b5 = 3 < 4 && 4 < 5;
printf("b5: %d\n",b5);

// BOOL b5 = 3 < 4 && 4 < 5;
// printf("b5: %dn",b5);
// BOOL b5 = 3 < 4 || 4 < 5;
// printf("b5: %dn",b5);

BOOL b6 = !(3 < 4);
printf("b6: %d\n",b6);
    //短路
    // e1 && e2  表达式
    //短路与   一假即假 e1为假时 e2的结果对整体没有影响 不会被执行
    //短路或   一真为真 e1为真时 e2的结果对整体没有影响 不会被执行

/******if 语句******/
    // 1.如果...就...

// if (如果看到卖西瓜的) {
// 买一个包子
// }

// if (5 > 3) {
// printf("你真聪明n");
// }

//练习:输入m 打印男

// char c = 0;
// scanf("%c",&c);
// if ('m' == c) {
// printf("男n");
//
// }

    // 2.如果...就...否则...

// char b7 = 0;
// scanf("%c",&b7);
// if ('m' == b7) {
// printf("男");
// } else {
// printf("女");
// }


//整行移动代码 command + Alt []
/*
int b8 = 0;
scanf("%d", &b8);
BOOL cond1 = b8 % 400 == 0;
BOOL cond2 = b8 % 4 ==0;
if (cond1 || cond2) {
    printf("闰年");
} else {
    printf("平年");
}

if(b8 % 400 == 0 || (b8 % 4 == 0 && b8 % 100 != 0))
{
    printf("润年");
}
*/
/*    // 3.如果...就...否则如果...就...
char key = 0;
printf("input:");
//getchar();//   从键盘缓冲区获取\n 相当于消除\n
scanf("%c", &key);
if (key > '0' && key <= '9') {
    printf("数字\n");
} else if (key >= 'a' && key <= 'z'){
    printf("小写字母\n");
} else if (key >= 'A' && key <= 'Z'){
    printf("大写字母\n");
} else {
    printf("其他字符\n");
}
*/

/ Switch...case...**/
// int telephone = 0;
// scanf("%d", &telephone);
// // switch的条件中 必须填写整型表达式
// switch (telephone) {
// case 110:
// printf("职业规划部1n");
// break;// break 停止当前case 如果没有break 则会顺序向下执行下一个case
// case 119:
// printf("职业规划部2n");
// break;
// case 120:
// printf("职业规划部3n");
// break;
// case 130:
// printf("职业规划部4n");
// break;
// case 140:
// {
// int a = 0;
// // case 中定义变量时 必须加括号约束
// printf("职业规划部5n");
// break;
// }
// default:
// printf("其他n");
// break;
// }
//

    // 枚举和switch 配合使用
// 练习: 从控制台输入1~4, 对应打出 春夏秋冬 的英文单词

// int season = 0;
// scanf("%d",&season);
// switch (season) {
// case 1:
// printf("春n");
// break;
// case 2:
// printf("夏n");
// break;
// case 3:
// printf("秋n");
// break;
// case 4:
// printf("冬n");
// break;
//
// default:
// break;
// }

int x = 0;
scanf("%d",&x);
switch (x) {
    case 1:
        printf("星期一\n");
        break;
    case 2:
        printf("星期二\n");
        break;
    case 3:
        printf("星期三\n");
        break;
    case 4:
        printf("星期四\n");
               
    default:
        break;
}




    return 0;

}
C2_分支结构.zip

2015-11-10每日一考,题和答案.

C第一节:

1、以下4组用户定义标识符中,全部合法的一组是______。
A、_main enclude sin
B、If -max turbo
C、txt REAL 3COM
D、int k_2 _001

2.下列变量名合法的一组是__________.
A、3max TEXT pointer
B、_main maxLe va3ue
C、_001 -maxValue boob
D、if continue break

3.下列变量声明正确的是___________.
A、int a = 0 , b = 5;
B、float i = j = 3.0;
C、char a = ‘A’ b = ‘B’
D、int a = 3 , b = &a;

4、表达式3.6-5/2+1.2+5%2的值是______。
A、4.3 B、4.8 C、3.3 D、3.8

5.若已定义X和Y为double型,则表达式:x=1,y=x+3/2的值是____ .
A.1 B.2 C.2.0 D.2.5

6、设int a=12,则执行完语句a+=a-=a*a后,a的值是______。
A、552 B、264 C、144 D、-264

7、定义一个4个字节的整型变量,使用___int___数据类型。
8、定义变量三部分___数据类型___、_变量名_____和____初值__。
9、int a = 5, b = 0. b = a++. b的值为____5__。
10、有两个整数,编写程序,实现两个数的交换.
int a = 5, b = 10, temp = 0;
temp = a;
a = b;
b = temp;
printf(“a = %d, b = %dn”, a, b);

答案:

  1. A
  2. B
  3. B
  4. D
  5. C
  6. D
  7. int
  8. 数据类型 变量名 初值
  9. 5
  10. int a = 5, b = 10, temp = 0;

temp = a;
a = b;
b = temp;
printf(“a = %d, b = %dn”, a, b);

2015-11-10-IOS作业

//
// main.m
// 第一节作业
//
// Created by dllo on 15/11/10.
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved.
//

import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {

//第一题
    //  二进制 101010
    //  八进制 052
    //  十六进制    0x2A
//第二题
    //214

//第三题
    //61
//第四题
    //  168
//第五题
    printf("   *\n  * *\n * * *\n");
//第六题

/* int us = 0;

printf("Enter an amount:");
scanf("%d.2\n", &us);
double  as = us;
printf("Enter an amount: %.2f\n", as);
double sc = us * 1.05;
printf("With tax added: %.2f\n", sc);
*/
//第七题

/*

int a = 0, b = 0;
printf("请输入一个实数:");
scanf("%d",&a);
printf("请再输入一个实数:");
scanf("%d",&b);


double e = a * 1.0 /b * 100;
printf("输出:%.2f%%",e);
*/
//第八题
/*
 // 不会,网上查的,但还是不明白!
int a8 = 0;

printf("Enter a dollar amout:");

scanf("%d", &a8);

printf("$20  bills:%d\n", a8 / 20);

printf("$10  bills:%d\n", a8 % 20 / 10);

printf("$5   bills:%d\n", a8 % 10 / 5);

printf("$1   bills:%d\n", a8 % 5);
 */
//第九题
/*
 int a9 = 0, b9 = 0;
printf("请输入一个整数:");
scanf("%d",&a9);
printf("请输入一个整数:");
scanf("%d",&b9);
int c9 = a9 + b9;
int d9 = a9 - b9;
int e9 = a9 * b9;
int f9 = a9 / b9;
printf("和%d\n差%d\n积%d\n余数%d\n", c9, d9, e9, f9);
*/
//第十题
/*
//也不太明白
int a10 = 0;

printf("输入ASCII-A或者65");
scanf("%d",&a10);
printf("ASCII值为%d对应的字符为:%c\n",a10,a10);
char  b10 = '0';
scanf("%c", &b10);
printf("字符为%c对应的字符为%d\n",b10,b10);

*/

return 0;

}
第一节作业.key.zip

Yiem的博客-iOS

2015-11-10-在蓝鸥的第二天也是学习C语言的第一天

看看我们上的内容吧!
最开始上的是C语言,慢慢来吧!

IOS
// YIem

// main.m 文件名
// C1_C基础 工程名
//
// Created by dllo on 15/11/10. 作者/时间
// Copyright (c) 2015年 www.yiem.net YIem博客. All rights reserved. 版权所有,翻版必究,如有雷同,还是我的。
//
/*
多行注释
*/
// command + R 运行
// command + B 编译
// command + / 注释
// command + shift + N 创建新工程

import <Foundation/Foundation.h>

//  mian函数/主函数
//  程序运行的开始 从主函数开始运行 到主函数最后的括号停止
//  一般应用程序 只有一个主函数

int main(int argc, const char * argv[]) {

//  代码开始的地方

/******数据类型******/
    //  字符型 char    符号          1字节
    //  整型  int 整数              2字节
    //  浮点型 float   小数          4字节 7位小数位
    //  短整型 short               2字节
    //  长整型 long                4/8字节
    //  双精度浮点型  double      8字节     15位小数位
/******常量******/
    //程序运行期间不能被改变的量
    //字符:   '+','1','a'    只能有一个内容
    //整型:   100,-100    没有小数点是整型
    //浮点型:  3.14    有小数点是浮点型
/******变量******/
    //是一个容器 是一段存储空间
    //程序运行期间 变量的值(容器中的内容)可以发生变化
    //为了方便使用 给变量起名 方便使用
    //变量的命名规范:
        //  1.命名只能有数字、字母、下划线组成,并且不能以数字开头
            //  eg: room8,_class,class_room
        //  2.不能和系统关键字/保留字重名
        //  3.不能重复命名
        //  4.见名知意()
            //  eg: classRoomName
    //变量的定义
        //从内存中开辟一段存储空间 设置变量名 给定初始内容
        //类型说明符 变量名 赋值运算符   初值
        int         age     =        10;
  char sex1 = 'f';
//赋值运算
//把=右侧的内容 复制一份 放置在=左侧的变量中
int a = 100;
int b = 0;
b = a;  //把100(a)赋值(复制)给b
printf("a = %d, b = %d\n~~~", a, b);// "%d 占位符" "\n 回车符"

    //练习:定义俩个变量  交换值
int var1 = 3 ,var2 = 5;
int temp = 0;
temp = var1;
var1 = var2;
var2 = temp;
printf("var1 = %d, var2 = %d\n", var1, var2);
//第一种方法

/*

int var1 = 3 , var2 = 5, var3;
var3=var1;
var1=var2;
var2=var3;
printf("var1 = %d, var2 = %d\n",var1 , var2);
//第二种方法

int c = var1;
int d = var2;
c = d;
int e = var1;
int f = var2;
f = e;
printf(" %d, %d\n", f, c);
//第三种方法
*/

/运算符**/

//算术运算符
// + - * / %
int num1 = 3, num2 = 5;
float result = num1 * 1.0 / num2;//先从右侧开始运算
printf("result = %f\n", result);

//自增/自减运算符

//  ++/--
    // a++  先用再加
    // ++a  先加再用
        /*eg:   int a=3;
                int b=a++;
                int b=++a;
         */
//复合运算符
    //  += -= *= /= %=
        //如 a= a + 1;可以写a+=1;
        //如 a= a - 1;   a-=1;
        //如 a= a * 1;   a*=1;
        //如 a= a / 1;   a/=1;
        //如 a= a % 1;   a%=1

//代码规范

/*  1.运算符左右两侧 加空格
    2.逗号后 加空格
*/
/*
 int v;//必须定义不然输出值是"乱码"
 printf("v = %d", v);
 */

/表达式**/

//表达式是变量/常量/运算符组合而成
//每一个表达式是都有返回结果的
printf("%d\n", a);
printf("%d\n", a =1);
//语句
//以;结尾的内容都称之为语句 是C语言执行时的最小单位
int new = 10, new1 = 10;
;;;;;;;;//这种形式是空语句

/格式化输入/输出函数**/

// 格式构成:普通字符&转义字符
// %d 整型
// %f 浮点型
// %c 字符型
// %ld 长整型
// %lf 双精度浮点型
// %hd 表示输出短整型
printf("a = %d %% \\ \n", 100); //'%d' 打印整型 '%%'百分号 '//' 打印出一个'/'
printf("hello,word\n");
printf("%9d\n", 100);//'%9d' 输出时占9个占位符
printf("%04d\n", 100);//不足的输出位 补0
printf("%2d\n", 100);//对数据无法修改,只有美化意义
printf("%-4d~~\n", 100);//输出左对齐
printf("%f\n", 3.14);
printf("%.2f\n", 3.14);//'.2'保留小数点后两位
printf("%f5.2\n", 3.14);//'5.2' 5 代表小数整体占5个输出位(小数点占一位) .2 代表小数点后保留两位小数

/* //输入函数

int inputNumber = 0;
printf("请输入'100':");
scanf("%d",&inputNumber);
//输入函数中 格式串中一般只写占位符
//&取地址符 获取变量空间的位置
printf("num = %d\n", inputNumber);
*/
//练习:输入长方形的长宽 输出长方形面积
    /* int c1 = 0, k2 = 0;//第一种
     printf("请输入长:");
     scanf("%d", &c1);
    printf("请输入宽:");
     scanf("%d", &k2);
     int mj=c1*k2;
     printf("面积等于:%d\n", mj);
     */
//练习:输入长方形的长宽 输出长方形面积
/*
int length = 0, width = 0, area = 0;//第二种
scanf("%d%d", &length, &width);
area = length * width;
printf("%d\n", length * width);
*/




return 0;

}

C1_C基础.zip

时间:2015-11-10-12-49

2015-11-09,进入蓝欧学习iOS的第一天,入学报道!

2015-11-09,进入蓝欧学习iOS的第一天,入学报道!

去蓝欧的第一天,也是第一次去蓝欧,意味我这学生生涯结束了,一去不复返。 当然,这也是一个新的开始,也是一段新的旅途。更加希望我在新的路上能够走的更好、更远。 写博客的时间、上网的时间、维护网站、更新网站、越来越少了。博主也有好几个网站的,但是这并没有什么卵用。 做网站也只是兴趣和爱好!希望我能坚持下去吧。 然后再 晒一晒我的从今天的作息表吧,每天7:00之前起床,洗漱、吃早餐、走半个小时的路。8:10到蓝欧, 然后一直到晚上11:00上完自习,到家快12点了,洗洗早点休息。 反正今天我是累的够惨,晚上8:00时候已经困的不行了,刚刚洗完澡,强撑着在这里写博客。只是我不想让我的博客太监。

WM.png

刚才 网站管理系统WDCP抽风了,3个小时才弄好!记录下来以后会用!

今天网站管理系统WDCP抽风了,记录我的解决过程!
出现的状况是

网站FTP无法上传东西

,说是权限不足。
然后

就是WDCP的后台一片空白


我在网上找了好多方法,宿是服务器空间满了,可是我用的是30G的,用了才8%,所以说不可能。

然后我就在网上找各种教程,然后**用SHH链接重启WDCP后台**,但是还是不管用,我还重启了httpd、pureftpd、mysqld。
然后在重启mysqld的时候,出现错误。
mlsql报错 ERROR! MySQL manager or server PID file could not be found,我又重新启动好几遍,但是还是错误(下图)

001.png
而且在这个时候网站也无法打开,说是无法连接到数据库。

然后我就在网上找教程,各种实验,然后就发现了。
    **各种教程**(下)
    **1)**
    service wdapache start|stop|restart wdcp后台  启动|停止|重起
    service nginxd start|stop|restart   nginx服务 启动|停止|重起
    service httpd start|stop|restart    httpd服务 启动|停止|重起
    service pureftpd start|stop|restart ftp服务   启动|停止|重起
    service mysqld start|stop|restart   mysql服务 启动|停止|重起
    **2)**
    出现访问空白的可能原因:

1、根分区满了,ssh登陆后用df -lh命令查看,如果显示根分区已满,请        删除根分区里面多余的数据,一般是日志,wdcp系统网站的日志路径    是:/www/wdlinux/httpd-2.2.22/logs/ 进入查看,删除多余的数据,然后        重启服务器。

2、wdcp系统设置错误,设置了限制IP登陆也会出现这种情况,vi /www/wdlinux/wdcp/data/sys_conf.php  查看$manager_ip=""; 是否设置了IP,按字母a键后可进入编辑模式。

3、有可能是服务卡死,输入service wdapache restart 重启服务试下。
**3)**  这个靠谱点,最后一步没有实验。你们懂的
解决办法:
这样的情况很多情况下是权限不正确导致的
一、检查wdcp管理后台web目录权限
chown -R wdcpu:wdcpg  /www/wdlinux/wdcp
chmod -R 777 /www/wdlinux/tmp
service wdapache restart  
再次打开页面尝试

使用方法一不能解决的话,执行下面的脚本检查wdcp管理后台web目录的权        限,看看是否有异常的地方
然后根据检查的结果做相关的修改 
sh /www/wdlinux/tools/wdcp_perm_check.sh

如果上面的方法都无法解决,那最终的解决办法就是,
假如异常服务器是A,先备份A服务器的/www/wdlinux/wdcp目录,假如备    份为wdcp_backup
再从另外一台正常的wdcp服务器B上拷贝一份/www/wdlinux/wdcp到A服务    器上并进行覆盖,
从A的wdcp的备份目录中,拷贝wdcp_backup/data/db.inc.php 到新的         /www/wdlinux/wdcp/data目录下
最后重启service wdapache restart  服务,
**4)**这个非常靠谱,我一直在这里学习
[root@centos var]# service mysqld stop

MySQL manager or server PID file could not be found!           [FAILED]
解决办法:
首先查看一下进程
[root@centos mysql]# ps aux |grep mysq*
root      2643  0.0  0.2   4536  1224 ?        S    01:09       0:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --    datadir=/usr/local/mysql/var --pid-    file=/usr/local/mysql/var/centos.pid
mysql     2757  0.0  1.2  36976  6608 ?        Sl   01:09       0:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql     --datadir=/usr/local/mysql/var --user=mysql --log-    error=/usr/local/mysql/var/centos.err --pid-    file=/usr/local/mysql/var/centos.pid --socket=/tmp/mysql.sock --    port=3306
root      4788  0.0  0.1   3920   684 pts/2    R+   11:11   0:00 grep mysq*
如果看到上面的内容,那说明,Mysql的进程卡死了,这时用就要把这些卡死的进程都关闭
[root@centos mysql]# kill 2643
[root@centos mysql]# kill 2757
启动Mysql 就ok了
[root@centos mysql]# service mysqld start
Starting MySQL.

我就是按照上面这个一步一步弄好的,其他的几个也是非常有用的
002.png

003.png

2015年11-05博主搬家,从渤海边搬到了黄海边,横跨大连。

2015年11-05博主搬家,从渤海边搬到了黄海边,横跨大连。

2013年住进里夏家河子的大海边,过着每天一睁眼就能看见大海的生活,每天看着潮起潮落、日出日落,也是一件满是美好的事情。

1033891251.jpg

2015年末,我就要离开这里,这个我生活两年多的学校,也会随之结束最后的学生生涯。
很是感慨,但是不知道怎么表达,说一下什么。
给你们说说今天的路程吧!
早上11点在学校门口打车,如果要到住的地方的话最起码要120RMB,然后我们就找了出租车,去了最近的一个交通扭曲口。然后就打到了顺风车,到了我住的地方,40RMB (理工大学东门),但是下车之后,才想起来居然没有带钥匙。悲剧了,然后在楼下放了东西,做快一个小时的公交车到了市中心,然后吃饭。吃完饭陪同学去面试(还有一个室友从宿舍给我们带了钥匙过来),面试网做顺风车又去了理工大学(我就住理工大学附近),到了已经是下午17点了!

然后收拾屋子待了一会,18点出发去学校,做公交车加出租车花了3个小时到学校,这一天也是够了。。。

房子地下有火车主题餐厅,挺浪漫的,但是太贵了(下图)

1033891288.jpg
1033891289.jpg
1033891293.jpg
1033891294.jpg
1033891295.jpg

虽然说以后不能每天一睁眼就能看见大海,但是可以不行五六分钟去星海,黑石礁看大海。。

先这样子吧!

怎么在熊猫TV给自己喜欢的主播,送竹子、提高关注、增加房间人数。

怎么在熊猫TV给自己喜欢的主播,送竹子、提高关注、增加房间人数。

在么在淘宝购买熊猫TV的竹子、关注、人气

购买地址 淘宝哦! 点击这里 博主亲自尝试,还不错哦!这个不是广告,店都不是我的!
2元=5000竹子
6元=10000=一万
**500关注=8元
1000关注15元**
购买教程(下图)
001.png
002.png

003.png
004.png

博主很蛋疼,然后去熊猫TV开了直播-以后有时间会打打直播什么的

**博主很蛋疼,然后去熊猫TV开了直播-以后有时间会打打直播什么的
当然,想博主这么伟大的人,在其他直播平台 也有直播间的,比如
斗鱼TV-战旗TV-龙珠TV-QT语音-YY语音等等 都有直播的啦!**
熊猫TV直播地址:http://www.panda.tv/58107
斗鱼TV直播地址:http://www.douyutv.com/221834基本不去斗鱼了,广告太多了!
战旗TV直播地址:http://www.zhanqi.tv/1140872
龙珠TV直播地址:http://star.longzhu.com/509972
屏未命名.png