基础C语言 学习总结<2>

【第二章】

表达式

//*******运算符*********

/*

[算术运算符]

1, + - * / %(模拟运算符,取余)

2 /(除号),

**  [关系运算符]

1,==,!=,>,<,>=,<=

2,所有关系运算符,运算之后的结果只有真或者假两种情况。

3在c语言中,0表示为假,一切非0数字表示真。

4 如果要便是两个变量处于两个数字之间(即1<n<10),那么必须用&&来链接,即n>1&&n<10;

**  [位运算符,逻辑运算符]

1,(1)&&逻辑与(两个都为真才是真),

(2)||逻辑或(一个是真就是真),两个条件符合一个就是真。

(3)!逻辑非

(4)按位与&  按位或|  左移<<   右移>>

2,逻辑运算符的两边,只能是真或假

//   printf("%d\n",1&&2);   真

**  [赋值运算符]

1 =,+=,-=,*=,/=,%=

2赋值号“=”,把等号右边的数值赋值给左边。

【注释】两个==才表示判断是否相等,一个=表示赋值运算

3n+=5;相当于n=n+5,n-=5,两个式子具有相同的作用,但是n+=5的写法具有更好的性能,推荐使用这个方式;

** [单目运算符]

1,++,--,sizeof,*(指针),&  取地址

2,++  自增运算符,将变量值+1; --自减运算符,将变量值-1;

》》》i++和++i的异同

1)相同点 ,不管是i++还是++i,在执行完代码以后,都会把变量+1

2)不同点:i++是先用i的值去运算,再把i+1

++i是先把i+1,再用i+1以后的值去运算

》》》eg;

int  i=5,j,k;

j=i++ +2;//j=7,i=6

k=++i +2;//i=7,k=9

printf("%d,%d,%d",i,j,k);

结果:7,7,9

int i=5,j,k;

j=i++ +2;

k=++j +2;

printf("%d %d %d",i,j,k);

结果为  6 8 10

3,sizeof:计算长度,返回值类型为long ,单位为字节。

printf("%ld\n",sizeof(int));

结果:4字节

**  [多目运算符]

1,a>b?true:false,//  当?前面为真的时候执行:前面的代码,当?前面的为假的时候,执行:后面的代码。

2,功能与if——else类似;

printf("%d\n",1>2?1:0);

T:int a,b,c,d,e,f;

printf("请输入四位数字:");

scanf("%d",&e);

a=e/1000;

b=e%1000/100;

c=e%1000%100/10;

d=e%1000%100%10/1;

f=a+b+c+d;

printf("%d\n",f);

printf("%d的个位数字之和为:%d\n",e,f);

printf("%d",f>20?50:0);

(让你输入一个四位数,先对各位分解,然后求和,和 大于20  则有返利50,否则显示0)。

**   [if-else]

if(判断条件){

//如果条件为真,执行的代码

}

else{

//如果条件为假,执行的代码

}

》》》》》

if(f>20){

printf("返利50\n");

}

else{

printf("返利0元\n");

}

//T: 输入两个数判断大小

int x,y,z,w;

printf("输入两个数:");

scanf("%d %d",&x,&y);

z=4*x;

w=4*y;

if(x>y)

{

printf("%d",z);

}

else

{

printf("%d",w);

}

判断IP地址是否合法

//    int x,y,z,w;

//    printf("输入一个ip地址:\n");

//    scanf("%d.%d.%d.%d",&x,&y,&z,&w);

//

//    if(x>0&&x<=255,y>=0&&y<=255,z>=0&&z<=255,w>=0&&w<=255)

//    {printf("是合法的");}

//    else{

//        printf("不合法");}

输入一个字符是大写  就转化成小写,是小写就转化成大写,非字母不转换

char zimu;

printf("请输入一个字符:");

scanf("%c",&zimu);

if (zimu>=97&&zimu<=122)

{

printf("输出的字符为:%c",zimu-32);

}

else if (zimu>=65&&zimu<=90)

{

printf("输出的字符为:%c",zimu+32);

}

else

{

printf("输入的字符不转换");

}

运算符实例  输入三种商品的价格,若有一个大于50,或者总额大于100,打折15%,否则折扣率0

float shangpin1,shangpin2,shangpin3,zonge,fukuan;

printf("请输入三种商品的价格:");

scanf("%f %f %f",&shangpin1,&shangpin2,&shangpin3);

zonge=shangpin1+shangpin2+shangpin3;

if(shangpin1>50||shangpin2>50||shangpin3>50||zonge>100){

fukuan=zonge*85/100;

printf("用户应支付:%.2f",fukuan);

}else

{

fukuan=zonge;

printf("用户应支付:%.2f",fukuan);

}

十进制  二进制  八进制

十进制  10   转换成2进制   除以2   取余数  10/2=0  5/2=1  2/2=0  1

15>>  1111

【8421 码】

0000

二进制    转换成十进制

【运算符的优先级】()》》!,++,--,sizeof(单目运算符) 》》*,%,/ 》》 +,- 》》 <,<=,>=,> 》》 ==,!=》》&&》》 || 》》 = ,+=(n+=m  n=n+m),-=,/+,%=

判断是否为闰年:条件   能被4整除但不能被100整除,除非能被400整除

int nianfen;

printf("输入一个年份:");

scanf("%d",&nianfen);

if(((nianfen/4==0)&&(nianfen/100!=0))&&(nianfen/400==0))

{

printf("输入的年份为闰年");}

else{printf("输入的年份不是闰年");}

第一种方法

//int shi,fen,miao;

//printf("输入一个时间:");

//scanf("%d:%d:%d",&shi,&fen,&miao);

//    if(shi==23&&fen==59&&miao==59){

//        printf("下一秒的时间为%02d:%02d:%02d",00,00,00);

//    }else if(fen==59&&miao==59){

//        printf("下一秒的时间为%d:%02d:%02d",shi+1,00,00);

//    }else if(  miao==59  ){

//        printf("下一秒的时间为%d:%d:%02d",shi,fen+1,00);

//    }else{

//        printf("下一秒的时间为%d:%d:%d",shi,fen,miao+1);

//    }

第二种方法

int shi,fen,miao;

printf("输入一个时间:");

scanf("%d:%d:%d",&shi,&fen,&miao);

if(  miao==59&&fen!=59&&shi!=23){

printf("下一秒的时间为%d:%d:%02d",shi,fen+1,00); }

else if(miao==59&&fen==59&&shi!=23){

printf("下一秒的时间为%d:%02d:%02d",shi+1,00,00);}

else if(miao==59&&fen==59&&shi==23){

printf("下一秒的时间为%02d:%02d:%02d",00,00,00);}

else{

printf("下一秒的时间为%d:%d:%d",shi,fen,miao+1);

}

int shi,fen,miao;

print("输入一个时间(xx:xx:xx):");

scanf("%d:%d:%d",&shi,&fen,&miao);

if(shi<0||shi>23||fen>59||fen<0||miao<0||miao>59){

printf("请您输入正确的时间");

}else if(miao<59){

printf("下一秒输出的时间为%d:%d:%d",shi,fen,miao+1);

}else if(fen<59){

printf("下一秒输出的时间为%d:%d:%d",shi,fen+1.0);

}else if(shi<23){

printf("下一秒输出的时间为%d:%d:%d",shi+1,0,0);

else{

printf("下一秒输出的时间为00:00:00");

}

时间: 2024-10-13 22:10:04

基础C语言 学习总结<2>的相关文章

基础C语言 学习总结&lt;1&gt;

[第一章] // //  main.c //  HelloWorld // //  Created by 姜浩 on 16/3/28. //  Copyright (c) 2016年 jredu. All rights reserved. // // 单行注释 // command+/ 批量注释 /* 多行注释 option+command+?? 可以折叠多行注释 */ #include <stdio.h> /* 1??#include 预处理语句,意思是包含.写在文件的最上面,main方法之

黑马程序员——C语言基础---C语言学习中容易疏漏的地方总结(下)

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- 知识点24:静态变量.全局变量声明但是没有初始化是有初值的(int0 char \0) 但是局部变量声明没有初始化是没有初值的 知识点25:结构体整体初始化必须在声明时进行 [cpp] view plaincopy struct Person p1 = {"zhangsan", 18,'F'};//这是正确的 //下面的时错误的 [cpp] view plaincopy struct

基础C语言 学习总结&lt;3&gt;

第三章 [条件结构] [多重if结构] [嵌套if结构] if(A>20&&B>20){ if(A>B){ printf("%c>%c\n",A,B); }if(A<B){ printf("%c<%c\n",A,B); }if(A==B){ printf("%c=%c\n",A,B); } }else{ printf("无结果"); } 简易计算器: float a,b; c

跨语言学习的基本思路及python的基础学习

笔者是C#出身,大学四年主修C#,工作三年也是C#语言开发.但在学校里其他的语言也有相应的课程,eg:Java,Php,C++都学过,当然只是学了皮毛(大学嘛,你懂得),严格来说未必入门,但这些语言的代码阅读倒是不成问题,毕竟触类旁通嘛,有道是“一法通,万法明”,多学学其他的也没坏处. 近期被临时借调到其他项目组,由于新项目用的是Python,本人呢又没有python开发经验(之前只是知道有这门语言),工期呢两周多吧,简单来说就是时间紧,任务重,而且开发环境完全陌生,于是就得快速学会使用一门新语

C语言学习second--C语言基础学习

1.标准C语言 C语言诞生于20世纪70年代,年龄比我们自己还要大,期间产生了很多标准,但是各种编译器对标准的支持不尽相同. ANSI C是使用的最广泛的一个标准,也是第一个正式标准,被称为“标准C语言”.ANSI C于1980年由美国国家标准局(American National Standards Institute,简称ANSI)对外发布,各种编译器几乎都完整支持ANSI C,市面上的书籍.大学里的教材.网上的教程大都以ANSI C为基础进行讲解,C语言中文网也不例外,也以ANSI C为基

c语言学习基础:[1]开发工具介绍

标签:c语言 1 2 3 4 分步阅读 学习编程语言的童鞋们一开始接触到的最多的估计就是C语言了,其次才是什么java.c++等,可以说学习c语言是我们走向编程世界的一座桥梁,学好它,对于我们学习和研究计算机有着至关重要的作用,同时也是我们开发各类计算机应用软件.开发游戏等必要的前提条件.本小节主要向大家介绍一下开发C语言的工具,让大家如何从基础开始学习. 工具/原料 计算机 开发工具 方法/步骤 开发C语言,有很多开发工具,其中比较老一点的就是VC6.0,现在的大学计算机二级等级考试依然用的是

20165334 学习基础与c语言学习心得

学习基础和c语言学习心得 一.技能学习 ??我觉得在男生中,我做饭应该算不错的.我是小学四年级开始学做饭,从刚开始的学煮饭,到后来的蒸馒头,到最后的炒家常菜真的很有成就感.首先,我觉得做任何事情兴趣很重要,因为小时候喜欢美食,所以特别喜欢做东西给别人吃:其次我觉得别人的鼓励也非常重要,它会是你坚持下去的动力.因为受到爸爸对我做饭的鼓励,做晚饭从一开始的西红柿鸡蛋面到后来的三菜一汤,虽然做饭花的时间越来越多,但自己的成就感也越来越强.看着别人吃自己做的东西,自己感到很开心.所以这和娄老师下面这段话

C++语言学习(二)——C++对C语言基础语法的扩展

C++语言学习(二)--C++对C语言基础语法的扩展 C++是基于C语言扩展发展而来的面向对象的程序设计语言,本文将主要讨论C++语言基于C语言扩展的方面. 一.实用性增强 C语言中变量的定义必须在作用域开始的位置进行定义. #include <stdio.h> int main(int argc, char *argv[]) { int i;//定义变量 int j; //使用变量 for(i = 0; i < 10; i++) { for(j = 0; j < 10; j++)

Groovy语言学习--语法基础(5)

至此groovy语言学习-语法基础就结束了,新的工作已经安排下来,要干活了. 对groovy了解到一定程度之后就可以在java项目中对其进行引入了.为此新建了一个微型的项目,个人觉得千言万语不如代码实现来得实在.程序员应该用代码来沟通,文字只是解释. 到此,感觉算是对groovy完成了入门练习.内部涉及的实现复杂和性能优化,超出目前学习能力范围,后续随着技能的提升可能还会去进一步研究.先到此为止了. 相关代码见项目:https://github.com/islowcity/groovy 项目中有