参考书:《C Primer Plus》第六版


  1. while循环,程序清单1
  2. 基本运算符有:赋值运算符=、加法运算符+、减法运算符-、乘法运算符*、除法运算符/,每个运算符都有自己的优先级。其它的运算符,比较常见的有:sizeof运算符、求模运算符%、递增运算符++、递减运算符--
  3. 一些基本概念:副作用:对数据对象或文件的修改;序列点:程序执行的点,在该点上,所有的副作用都在进入下一步之前发生。复合语句:用花括号括起来的一条或多条语句,也称为块。
  4. 基本的类型转化规则:1)当类型转换出现在表达式时,无论是unsigned还是signed的char和short都会被自动转换为int,如有必要会被转换为unsigned int。从较小类型转换为较大类型的这种转换称为升级;2)设计两种类型的运算,两个值会被分别转换成两种类型的更高级别;3)类型的级别从高到低依次是:long double、double、float、unsigned long long、long long、unsigned long、long、unsigned int、int;4)赋值表达式语句中,计算的结果会被转换成被赋值变量的类型;5)当作为函数参数传递时,char和short被转换成int,float被转换成double。
  5. 待赋值的值和目标类型不匹配时,规则如下:1)目标类型是无符号整型而待赋的值是整数时,额外的位将被忽略;2)如果目标类型是一个有符号整型而待赋的值是整数,结果因实现而异;3)如果目标类型是一个整型而待赋的值是浮点数,该行为是未定义的。
  6. 有些时候我们需要强制类型转换,此时在某个量的前面放置用圆括号括起来的类型名,圆括号和它括起来的类型名构成了强制类型转换运算符。

程序清单1

#include<stdio.h>
#define ADJUST 7.31int main(void) {const double SCALE = 0.333;double shoe, foot;printf("shoe size (men's)   foot length\n");shoe = 3.0;while (shoe<18.5){foot = SCALE * shoe + ADJUST;printf("%10.1f %15.2f inches\n", shoe, foot);shoe = shoe + 1.0;}return 0;
}

输出

shoe size (men's)   foot length3.0            8.31 inches4.0            8.64 inches5.0            8.97 inches6.0            9.31 inches7.0            9.64 inches8.0            9.97 inches9.0           10.31 inches10.0           10.64 inches11.0           10.97 inches12.0           11.31 inches13.0           11.64 inches14.0           11.97 inches15.0           12.30 inches16.0           12.64 inches17.0           12.97 inches18.0           13.30 inchesC:\Users\xhh\Source\Repos\c_study_1\Debug\c_study_1.exe (进程 6756)已退出,代码为 0。
按任意键关闭此窗口. . .

练习

  1. 编写一个程序,把用分钟表示的时间转换成用小时和分钟表示的时间。使用#define 或const 创建一个表示60的符号常量或const常量。通过while循环让用户重复输入值,直到用户输入小于或等于0的值才停止循环。
  2. 编写一个程序,提示用户输入一个整数,然后打印从该数到比该数大10的所有整数。
  3. 编写一个程序,提示用户输入天数,然后将其转换为周数和天数。
  4. 编写一个程序,提示用户输入一个double类型的数,并打印该数的立方值。自己设计一个函数计算并打印立方值,main()函数将用户输入的值传递给该函数。
  5. 编写一个程序,显示求模运算符的结果。用户输入的第一个数是求模运算的第2个运算对象,第2个数是求模运算的第1个运算对象,输入非正数时程序结束。
  6. 编写一个程序,读取一个华氏温度,double类型的。将该值传递给一个用户自定义的函数Temperatures(),该函数计算摄氏温度和开氏温度,并以小数点后面两位数字的精度显示3种温度。使用不同的温标来表示3个温度值。

第一题:

#include<stdio.h>
#define unit 60int main(void) {int minutes;printf("Enter a value: ");scanf_s("%d", &minutes);while (minutes>0){printf("=>%d hours %d minutes\n", minutes / unit, minutes % unit);printf("Enter a value: ");scanf_s("%d", &minutes);}return 0;
}

输出

Enter a value: 123
=>2 hours 3 minutes
Enter a value: 234
=>3 hours 54 minutes
Enter a value: 342
=>5 hours 42 minutes
Enter a value: 0C:\Users\xhh\Source\Repos\c_study_1\Debug\c_study_1.exe (进程 37584)已退出,代码为 0。
按任意键关闭此窗口. . .

第二题:

#include<stdio.h>int main(void) {int value;printf("Enter a value:");scanf_s("%d", &value);int i = 0;while (i < 11) {printf("%d ", value + i);++i;}return 0;
}

输出

Enter a value:23
23 24 25 26 27 28 29 30 31 32 33
C:\Users\xhh\Source\Repos\c_study_1\Debug\c_study_1.exe (进程 46136)已退出,代码为 0。
按任意键关闭此窗口. . .

第三题:

#include<stdio.h>int main(void) {int days;printf("Enter the number of day:");scanf_s("%d", &days);while (days > 0) {printf("%d days are %d weeks, %d days.", days, days / 7, days % 7);printf("Enter the number of day:");scanf_s("%d", &days);}return 0;
}

输出

Enter the number of day:18
18 days are 2 weeks, 4 days.Enter the number of day:22
22 days are 3 weeks, 1 days.Enter the number of day:0C:\Users\xhh\Source\Repos\c_study_1\Debug\c_study_1.exe (进程 44228)已退出,代码为 0。
按任意键关闭此窗口. . .

第四题:

#include<stdio.h>void cube(double in);
int main(void) {double dv;printf("Enter a value:");scanf_s("%lf", &dv);cube(dv);return 0;
}void cube(double in) {printf("%f", in*in*in);
}

输出

Enter a value:0.44
0.085184
C:\Users\xhh\Source\Repos\c_study_1\Debug\c_study_1.exe (进程 46468)已退出,代码为 0。
按任意键关闭此窗口. . .

第五题:

#include<stdio.h>int main(void) {int f1, f2;printf("This program computes moduli.\n");printf("Enter  an integer to serve as the second operand: ");scanf_s("%d", &f1);printf("Now enter the first operand: ");scanf_s("%d", &f2);printf("%d %% %d is %d\n", f2, f1, f2 % f1);f1 = f2;printf("Enter the next number for first operand (<= 0 to quit): ");scanf_s("%d", &f2);while (f2>0){printf("%d %% %d is %d\n", f2, f1, f2 % f1);f1 = f2;printf("Enter the next number for first operand (<= 0 to quit): ");scanf_s("%d", &f2);}return 0;
}

输出

This program computes moduli.
Enter  an integer to serve as the second operand: 234
Now enter the first operand: 345
345 % 234 is 111
Enter the next number for first operand (<= 0 to quit): 233
233 % 345 is 233
Enter the next number for first operand (<= 0 to quit): 3222
3222 % 233 is 193
Enter the next number for first operand (<= 0 to quit): 0C:\Users\xhh\Source\Repos\c_study_1\Debug\c_study_1.exe (进程 44828)已退出,代码为 0。
按任意键关闭此窗口. . .

第六题:

#include<stdio.h>void Temperatures(double fahrenheit);
int main(void) {double feh;printf("Enter a temperature in Fahrenheit: ");while (scanf_s("%lf", &feh) != 0) {Temperatures(feh);printf("Enter a temperature in Fahrenheit: ");}return 0;
}
void Temperatures(double fehrenheit) {double const v1 = 5.0, v2 = 9.0, v3 = 32.0, v4 = 273.16;double celsius = v1 / v2 * (fehrenheit - v3);double kelvin = celsius - v4;printf("feherheit : %.2f, celsius: %.2f, kelvin: %.2f\n", fehrenheit, celsius, kelvin);
}

输出

Enter a temperature in Fahrenheit: 122
feherheit : 122.00, celsius: 50.00, kelvin: -223.16
Enter a temperature in Fahrenheit: 111
feherheit : 111.00, celsius: 43.89, kelvin: -229.27
Enter a temperature in Fahrenheit: 321
feherheit : 321.00, celsius: 160.56, kelvin: -112.60
Enter a temperature in Fahrenheit: 123.213
feherheit : 123.21, celsius: 50.67, kelvin: -222.49
Enter a temperature in Fahrenheit: pC:\Users\xhh\Source\Repos\c_study_1\Debug\c_study_1.exe (进程 32584)已退出,代码为 0。
按任意键关闭此窗口. . .

C语言学习(三)运算符、表达式和语句相关推荐

  1. 《C Primer Plus》第五章-运算符 表达式和语句(笔记、复习题、编程题,副作用和序列点,升降级)

    文章目录 运算符 表达式和语句 本章内容 循环简介 基本运算符 赋值运算符:= 几个术语:数据对象.左值.右值和运算符 加法运算符:+ 减法运算符:- 5.2.4 符号运算符:-和+ 乘法运算符:* ...

  2. C++学习笔记2[表达式与语句]

    C++学习目录链接: C++学习笔记目录链接(持续更新中) 文章目录 一.表达式与语句 1.运算符 2.表达式 3.表达式中的类型转换 4.语句 总结 一.表达式与语句 1.运算符 算术运算符: – ...

  3. 第五章运算符表达式和语句

    title: 第五章 运算符.表达式和语句 author: HardyDragon tags: C Notes 第五章 运算符.表达式和语句 5.1 循环简介 5.2 基本运算符 5.2.1 赋值运算 ...

  4. python关系运算符中表示不等于的关系运算符_Python学习之------运算符表达式(关系运算符,逻辑运算符,三元表达式,成员关系)...

    @详细看Python学习手册第121页. 1,算术运算符(加减乘除) 2,关系运算符(又叫比较运算符 > < == != >= <=) xy,x>=y    大小比较,返 ...

  5. C语言基础之运算符、分支语句、循环语句、函数

    这几天家里实在是太多客人了,环境太嘈杂. 一.运算符 使用整数除以整数只能得到整数 学习比较运算符号才知道,c99之后才增加的布尔类型,而且布尔类型的本质是整型数字0与1(0假,1真) 自增与自减运算 ...

  6. 【C语言学习笔记】:for语句

    C语言for语句介绍 除了可以用while语句和do...while语句实现循环外,C语言还提供for语句实现循环,而且for语句更为灵活,不仅可以用于循环次数已经确定的情况,还可以用于循环次数不确定 ...

  7. R语言学习之正则化表达式

    文章目录 1.grep()与grepl()函数 2.替换函数sub()与gsub()函数 3.regexpr()函数 4.gregexpr()函数 5.regexec()函数 6.字符串拼接 7.字符 ...

  8. 独上高楼消得憔悴蓦然回首——语言学习三境界

    引子 王国维在<人间词话>中说:古今之成大事业.大学问者,必经过三种之境界:"昨夜西风凋碧树.独上高楼,望尽天涯路."此第一境."衣带渐宽终不悔,为伊消得人憔 ...

  9. SQL语言之DQL语言学习(三)排序查询

    语法: select 查询列表 from表where筛选条件order by 排序列表[asc / desc] 其中降序为 DESC 升序为 ASC 如果两者都不写的话系统默认是升序 案例一 查询员工 ...

  10. 【三万粉丝终极福利】Python、C、Java三大语言学习路线和资源整理

    大家好,我是辣条. 今天给大家带来三万粉丝三大语言学习路线和资源整理,收藏就对了. 目录 C语言 学习路线 学习书籍 学习视频 资源推荐 Java语言 学习路线 学习书籍 学习视频 资源推荐 Pyth ...

最新文章

  1. Replication Controller、Replica Set
  2. lua C++ wrapper
  3. mysql日期格式化季度_mysql 按年度、季度、月度、周、日SQL统计查询
  4. Hive的数据模型-管理表
  5. Linux容器能否弥补IoT的安全短板?
  6. js 多个定时器_Node.js系列深入浅出Node模块化开发——CommonJS规范
  7. Linux学习笔记:REHL AS4的上网配置,Http服务安装及配置,ftp服务的安装及配置
  8. 问题-关于 in []使用过程中报错 Constant expression violates subrange bounds
  9. 撰写项目的解决方案要点解析
  10. 调试工具message_noconfirm与messa…
  11. R语言:用R语言填补缺失的数据
  12. 修改ubuntu桌面路径
  13. 解决choice金融终端Excel/Wps插件修复visual basic异常
  14. v-model的基本使用
  15. MQ-2烟雾传感器检测
  16. Penetration experience summary | Network security
  17. WatchOS开发教程之一: Watch App架构及生命周期
  18. 考研数学一些不人知的知识
  19. spring组件之gateway高级
  20. c语言中voild和int,C++的new和malloc

热门文章

  1. jacob操作API
  2. 多态的实现机制是什么?
  3. NaiveBayes
  4. 香农采样定理和奈奎斯特采样定理
  5. python3 pymysql库介绍
  6. 华为鸿蒙系统操作教程_华为鸿蒙系统2.0怎么安装 鸿蒙系统2.0安装教程[多图]
  7. 【网络安全培训】无线局域网的安全威胁都有哪些?
  8. 如何用妙记多 Mojidoc 设置子弹笔记
  9. idea新建maven工程没有artifacts
  10. JS中正则表达式常用语法总结