c语言突击2

2023-12-20 03:59:42

如何实现两个变量x,y中的数值交换(背下来)

不可吧x=y,y=x;要用中间变量t=x;x=y;y=t;

#include <stdio.h>
int main(){
    int x=1;
    int y=2;
    int t;
    t=x;
    x=y;
    y=t;
    printf("a=%d,b=%d\n",x,y);
    return 0;
}

表达式和数据结构?

1.表达式:

1)关系表达式:

a:关系表达式的数值只能为1(表示真),或0(表示假);

如:若9>8这个表达式是真的,所以9>8这个表达式的数值为1;反之,则为假;

b:

int x=1,y=0,z=2;
    x<y<z;
//从数学角度出发为假,但c语言中存在优先级则1<0为假;0<2为真,所以结果为1;

c:等号和赋值区别:

? ? ? ? 一定要记住“=”是赋值,而“==”是等号?

2)逻辑表达式

? ? ? ? 核心:表达式的数值只能为1(表示为真),或0(表示为假);?

a:共有&&? ? ? ? ?||? ? ? ? !三种逻辑运算符号;

b:!>&&>||? ? ? ? 符号的优先级;?

c:x大于0小于10的写法:

? ? ? ? ? ? ? ? ? ? ? ? (0<x)&&(x<10)

判断是否是闰年

#include <iostream>
int runnian(int);
int main() {
	int year;
	printf("请输入一个年份:");
	scanf("%d", &year);
	if (runnian(year) == 1)
		printf("%d是闰年\n", year);
	else
		printf("%d不是闰年\n", year);
	system("pause");
	return 0;
}
int runnian(int year) {
	if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0)
		year = 1;
	else
		year = 0;
	return year;
}

2.数据结构

1.if语句

a.else是最接近的if且没有else的语句匹配;

b.交换的程序写法:

t=x;x=y;y=t;
if(a<b){t=a;a=b;b=t}

c.

//单独if语句
if(a<b) t=a;
//标准if语句
if(a<b) min=a;
   else min=b;
//嵌套if语句
if(a<b)
    if(b>c)
    printf("ok!");
//多选一if语句
if(a==t)    printf("a");
else if (b==t)    printf("b");
else if (c==t)    printf("c");
else printf("d");


//例题
int a = 1, b = 0;
if (!a)b++;	//是假不执行
else if (a == 0);	//是假不执行
	if (a)b += 2;	//属于else if 的嵌套if语句,不执行
else b += 3;	//if-else-if语句没有一个正确的,就执行else
//b的值为3

?2.条件表达式

? ? ? ? 表达式1?表达式2:表达式3

a.口诀:前真后假

b.注意是表达式1的数值是非0时,才采用表达式2的数值作为整个运算结果

? ? ? ? ? ? ? 表达式1的数值为0时,就采用表达式3的数值作为整个运算的结果

3.switch语句?

?a.执行的流程要一定要看懂!

b.注意有break和没有break的区别;

? ? ? ? 没有break时候,只要有一个case匹配了,剩下的都要执行;有break则时直接跳出switch语句!

?c.switch语句只可以用break;不能才采用continue;

d.switch(x)? ? ? ? ?x:可为整型常量,字符型常量,枚举型常量

注:x一定不可以是变量!

文章来源:https://blog.csdn.net/nanshenchao/article/details/135091405
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。