`

C语言基础三

    博客分类:
  • c
c 
阅读更多
逻辑操作符(==, !=, >, <, >=, <=, &&, ||)
逻辑操作符优先级低于算术操作符
单目逻辑操作符!表示求反

双目位操作符(|,&和^)
|用来把某个字节中的某个位置设置成1
&用来把某个字节中的某个位置设置成0
^用来把某个字节中的某个位置设置成相反数

单目位操作符(~)

移位操作符(<<,>>)
负数右移后左面空出来的位置补充1,其他情况下补充的是0

三目操作符可以根据一个逻辑表达式在两个数字中选择一个,使用方法如下
0 != 3 ? 1 : 0
这条语句表示0不等于3的情况下计算结果是1,否则计算结果是0。

C语言中可以使用强制类型转换把任何一个数字或变量当成另外一种类型来使用,使用方法如下
(char)shu_zi
其中shu_zi是整数变量名称。
强制类型转换会生成一个新变量而不会修改原变量的内容。

如果一个公式中有多个数据,它们的类型全不一样,则计算机会首先把他们的类型转换成一样的然后再计算。这叫隐式类型转换。计算机会保证转换过程中没有有效数据的丢失。

流程控制语句可以改变程序中语句的执行顺序。
分支是一种流程控制语句,它可以根据逻辑表达式决定某些语句要不要执行。使用方法如下
if (逻辑表达式1) {    //必须有而且只能有一个
    语句块1
}
else if (逻辑表达式2) {  //可以没有也可以有多个
    语句块2
}
else {                 //可以没有,最多一个
    语句块3
}
如果逻辑表达式1结果为真则执行语句块1,否则如果逻辑表达式2结果为真则执行语句块2。如果所有逻辑表达式结果都是假则执行语句块3.

如果每个分支都可以用一个数字来表示则可以使用switch...case语法编写分支语句。


/*
    逻辑操作符练习
*/
#include <stdio.h>
int main() {
    int shu_zi = 0;
    printf("3 == 6是%d\n", 3 == 6);
    printf("3 != 6是%d\n", 3 != 6);
    printf("3 > 6是%d\n", 3 > 6);
    printf("3 < 6是%d\n", 3 < 6);
    printf("3 >= 6是%d\n", 3 >= 6);
    printf("3 <= 6是%d\n", 3 <= 6);
    printf("3 < 6 < 5是%d\n", 3 < 6 < 5);
    printf("3 < 6 && 6 < 5是%d\n", 3 < 6 && 6 < 5);
    printf("3 < 6 || 6 < 5是%d\n", 3 < 6 || 6 < 5);
    1||++shu_zi;   //||操作符有短路特性
    printf("shu_zi是%d\n", shu_zi);
    0&&++shu_zi;   //&&操作符也有短路特征
    printf("shu_zi是%d\n", shu_zi);
    printf("!1是%d\n", !1);
    printf("!5 + 3是%d\n", !5 + 3);  //先计算求反,然后计算加法
    return 0;
}

/*
    位操作符练习
*/
#include <stdio.h>
int main() {
    printf("0x5 | 0x9是0x%x\n", 0x5 | 0x9);
    printf("0x5 & 0x9是0x%x\n", 0x5 & 0x9);
    printf("0x5 ^ 0x9是0x%x\n", 0x5 ^ 0x9);
    printf("~0xd9是0x%x\n", ~0xd9);
    return 0;
}

/*
    奇偶数练习
*/
#include <stdio.h>
int main() {
    char ch;
    printf("结果是%d\n", ch & 1);
    return 0;
}

/*
    移位操作练习
*/
#include <stdio.h>
int main() {
    printf("0x24 << 2是0x%x\n", 0x24 << 2);
    printf("0x24 >> 2是0x%x\n", 0x24 >> 2);
    printf("0xffffffc9 << 2是0x%x\n", 0xffffffc9 << 2);
    printf("0xffffffc9 >> 2是0x%x\n", 0xffffffc9 >> 2);
    return 0;
}

/*
    取地址符号
*/
#include <stdio.h>
int main() {
    int shu_zi = 0;
    printf("&shu_zi是%p\n", &shu_zi);
    return 0;
}



/*
    三目操作符练习
*/
#include <stdio.h>
int main() {
    char ch = 0;
    printf("请输入一个字母:");
    scanf("%c", &ch);
    ch = (ch >= 'a' && ch <= 'z' ? ch - 'a' + 'A' : ch - 'A' + 'a');
    printf("ch是%c\n", ch);
    return 0;
}


/*
    三目操作符练习
*/
#include <stdio.h>
int main() {
    int shu_zi = 0;
    printf("请输入一个数字:");
    scanf("%d", &shu_zi);
    //shu_zi = (0 == shu_zi ? 0 : 1);
    shu_zi = (0 != shu_zi ? 1 : 0);
    printf("转换结果是%d\n", shu_zi);
    return 0;
}


/*
    类型转换练习
*/
#include <stdio.h>
int main() {
    int shu_zi = 400;
    printf("%d %d\n", shu_zi, (char)shu_zi);
    printf("sizeof(1 ? 1 : 0.9)是%d\n", sizeof(1 ? 1 : 0.9));
    return 0;
}



/*
    if练习
*/
#include <stdio.h>
int main() {
    int shu_zi = 0;
    printf("请输入一个数字:");
    scanf("%d", &shu_zi);
    if (0 < shu_zi) {
        printf("你好\n");
    }
    else if (0 > shu_zi) {
        printf("你好坏\n");
    }
    else {
        printf("你\n");
    }
    return 0;
}



/*
    if练习
*/
#include <stdio.h>
int main() {
    int shu_zi = 0;
    printf("请输入一个数字:");
    scanf("%d", &shu_zi);
    if (shu_zi > 0) {
        printf("数字为正\n");
    }
    else if (shu_zi < 0) {
        printf("数字为负\n");
    }
    else {
        printf("数字为0\n");
    }
    return 0;
}

/*
    闰年练习
*/
#include <stdio.h>
int main() {
    int nian = 0;
    printf("请输入一个年份数字:");
    scanf("%d", &nian);
    if (((0 == nian % 4) && (0 != nian % 100)) 
        || (0 == nian % 400)) {
        printf("是闰年\n");
    }
    else {
        printf("不是闰年\n");
    }
    return 0;
}



/*
    switch...case练习
*/
#include <stdio.h>
int main() {
    int shu_zi = 0;
    printf("请输入一个数字:");
    scanf("%d", &shu_zi);
    /*if (1 == shu_zi) {
        printf("男\n");
    }
    else {
        printf("女\n");
    }*/
    switch (shu_zi % 2) {
    case 0:
        printf("女\n");
        break;
    case 1:
        printf("男\n");
        break;
    default:
        printf("你有病吧\n");
        break;
    }
    return 0;
}






分享到:
评论

相关推荐

    C语言基础(全).pdf

    C语言基础 C语言是一种工业语言,广泛应用于操作系统、嵌入式系统、驱动程序、图形引擎、图像处理、声音效果等领域。学习C语言可以提高开发效率和开发乐趣,但是在日常应用中很少直接使用C语言,学习C语言主要是...

    C语言基础大全.pdf

    ### C语言基础大全 #### 一、基本语法 1. **语句**:C语言的程序是由一系列的语句组成的,这些语句以分号(`;`)作为结束标记。虽然C语言允许将多个语句写在同一行内,或者将一个语句拆分成多行书写,但为了提高...

    C语言基础知识题库(判断、选择题)

    C语言基础知识题库详解 C语言是一种结构化程序设计语言,具有强大的功能和灵活性。作为一门基础语言,C语言广泛应用于操作系统、嵌入式系统、数据库、网络通信等领域。 本题库旨在帮助学习者巩固C语言基础知识,...

    C语言基础,详细讲解C语言的基础知识

    【C语言基础】 C语言,诞生于20世纪70年代初,由美国AT&T贝尔实验室的B.W.Kernighan和D.M.Ritchie共同编写了经典的《C Programming Language》,简称《K&R》。然而,《K&R》并未定义完整的标准C语言,直到1983年,...

    C语言基础教程(全)

    本教程“C语言基础教程(全)”旨在为初学者提供全面且深入的C语言学习指导。 教程内容可能包括以下几个方面: 1. **C语言概述**:介绍C语言的历史、特点和应用领域,让学习者对C语言有一个初步的认识。 2. **基本...

    C语言基础教程 吕凤翥

    《C语言基础教程》是吕凤翥先生撰写的一本经典C语言教材,尤其适合初学者入门。这本书以其清晰的语言和实例解析,深受广大编程爱好者的喜爱。在学习C语言的过程中,掌握其基础知识至关重要,因为C语言是许多现代编程...

    C语言基础课件 ppt

    《C语言基础课件》是针对初学者及计算机考级者设计的一套全面而详细的教程,旨在帮助读者从零开始掌握C语言的基础知识。这套课件由清华大学出版社出版,其内容涵盖C语言的核心概念和常见编程技巧。通过PPT的形式,...

    C语言基础学习包

    【标题】"C语言基础学习包"所涵盖的知识点主要围绕C语言的基础概念、语法结构、数据类型、控制结构、函数、数组、指针等方面展开。C语言是一种强大的、低级的编程语言,广泛用于系统编程、嵌入式开发、软件工程等多...

    c语言基础教材 零基础学习c语言

    "C语言基础教材"是一份专为初学者设计的学习资源,旨在帮助零基础的学习者逐步掌握C语言的核心概念和技术。 这份教材以HTML格式提供,方便在网页浏览器中阅读和学习,同时也便于检索和打印。HTML文档通常包含丰富的...

    C语言基础教程---电子教案

    C语言基础教程是一门针对初学者的编程课程,旨在教授如何使用C语言进行程序设计。C语言是一种广泛应用的计算机编程语言,因其高效、灵活和强大的功能而被广泛应用于系统编程、软件开发、嵌入式系统等多个领域。本...

    C语言基础.ppt

    **C语言基础** C语言是一种强大的、通用的编程语言,起源于1972年,由丹尼斯·里奇在贝尔实验室开发。它是许多现代编程语言的基石,因其高效、灵活和可移植性而广受程序员喜爱。"C语言基础.ppt"这份教程将引导初学...

    c语言基础教程电子书

    以下是对"c语言基础教程电子书"中各章节内容的详细解释: 第一章:C语言概论 在这一章中,你会了解到C语言的历史背景,它由Dennis Ritchie在贝尔实验室为UNIX操作系统开发。C语言的特点包括直接对硬件的访问能力、...

    c语言基础100例

    下面将详细介绍给定文件中提到的四个C语言基础实例所涉及的知识点。 首先是第一个程序,该程序通过编程实现了一个简单的数学问题:使用1、2、3、4这四个数字,可以组成多少个互不相同且无重复数字的三位数,以及...

    C语言基础 C语言基础 C语言基础 C语言基础.zip

    C语言的基础知识涵盖了语法、数据类型、控制结构、函数、指针等多个方面。 1. **语法基础**:C语言的语法结构清晰,主要包括声明、定义、表达式和语句。例如,声明变量(如`int a;`)、定义变量(如`int a = 10;`)...

    C语言课件(C语言基础)

    3. **数据类型与顺序结构**:第4章涉及C语言的数据类型,如整型、浮点型、字符型等,以及声明变量、初始化和赋值的操作。顺序结构是程序中最基础的流程控制,按照语句的顺序逐行执行。 4. **选择结构程序设计**:第...

    C语言基础程序代码合集

    本资源“C语言基础程序代码合集”旨在为初学者提供一系列基础的C语言程序示例,帮助他们理解和掌握C语言的核心概念。 在C语言中,基础知识点主要包括以下几个方面: 1. **基本数据类型**:C语言有几种基本的数据...

    c语言基础知识.pdf

    ### C语言基础知识详解 #### 一、C语言概论及发展历程 C语言作为一种重要的编程语言,在计算机科学领域占据着举足轻重的地位。它最早出现于20世纪70年代初期,由美国电话电报公司(AT&T)的贝尔实验室开发。1978年...

    C语言基础知识复习资料

    "C语言基础知识复习资料" 本资源摘要信息涵盖了C语言的基础知识,包括变量、数据类型、运算符、控制结构、函数、数组、指针等方面。通过学习和掌握这些知识点,可以帮助读者更好地理解和应用C语言。 变量和数据...

    超实用的C语言基础知识总结

    "C语言基础知识总结" 本资源摘要信息将对C语言的基础知识进行总结,涵盖了计算机基础知识、C语言基础知识、标识符、整数与实数、算术表达式、赋值表达式、复合赋值表达式、自加表达式、逗号表达式、强制类型转换、...

Global site tag (gtag.js) - Google Analytics