C语言编程入门之--第五章C语言基本运算和表达式-part1

  导读:程序要完成高级功能,首先要能够做到基本的加减乘除。本章从程序中变量的概念开始,结合之前学的输出函数和新介绍的输入函数制作简单人机交互程序,然后讲解最基础的加减法运算,自制简单计算器程序练手。

  

5.1 变量

5.1.1 变量声明定义与赋值表达式

  上一章讲了数据类型,数据类型要和变量结合在一起才能够在C语言程序中体现出它们的作用,一般的变量是这样定义的:

数据类型 变量名;

  变量名可以是26个字母中的任意一个,也可以是非C语言关键词的单词或自定义字母组合,也可以加下划线等等,我们就先用简单字母来命名吧,比如声明一个整型的变量a,如下:

int a;

  也可以定义多个变量,变量名之间用逗号隔开,最后加分号表示结束,如下:

int a,b,c,d;

  也可以在定义变量的时候,直接赋值,这就要用上赋值表达式,如下:

int a = 3; 

  赋值的意思就是赋予数值,也可以多个一起,如下:

int a = 3, b = 4, c = 5;

  当然也可以定义完变量后,再给变量赋值,如下:

int a;
a = 3;

  请注意,C语言中,规定变量定义必须是代码的最开始部分,比如以下在C语言不建议这么做,虽然刚才的方式用Dev-C++不会报错,但是不代表别的编译器不会报错,如下:

#include <stdio.h> 
void main()
{
    printf("hello world");

    int a = 10;
}

  因为C语言的编译规则有多种,所以建议变量声明定义放在代码开始部分,以下比较规范,

  注意:C语言编译标准随着时代的变迁做几次改变,如最开始的C89然后有C99以及最新的C11,后续文章讲解到编译规则的时候再剖析这部分。

#include <stdio.h> 
void main()
{
    int a = 10;

    printf("hello world");
}

  

5.1.2 初识格式化输出

  如何查看变量的值,可以用debug的办法(后续再讲解用Dev-C++上断点调试办法),也可以通过printf这个C库函数查看,代码如下,运行结果如图5.1,

#include <stdio.h> 
void main()
{
    int a = 10;    

    printf("a = %d", a);
}

图5.1  printf输出情况

  可以看出输出为“a = 10”,在printf语句中,printf(“a = %d”, a);,其中“a = ”是要输出的字符串,就像之前输出“hello world”一样,写什么就输出什么,%d表示这段字符串后面输出的变量值,按照十进制整型输出,下面来点复杂的,然后再解释啥是格式控制符,代码如下,运行结果如图5.2,

#include <stdio.h> 
void main()
{
    int a = 10;
    int b = ‘c‘;

    printf("a = %d, a = %x, b = %d, b = %c", a, a, b, b);
}

图5.2  稍微复杂的printf输出

  按照一个萝卜一个坑的原则,第一个“%d”对应一个输出“a”,第二个“%x”对应下一个输出选“a”,第三个“%d”对应“b”,最后一个“%c”对应“b”。请记住,一定要一一对应,否则会有意想不到的错误哦。

   C语言有规定格式控制符,在输出函数printf(“”)的冒号“”里面,如果有百分号%号出现,下一个字母会有它独特的意义:

  比如d,表示按照十进制格式输出,

  比如x,表示按照十六进制格式输出,

  比如c,表示按照单个字符格式输出。。。。。。当然还有很多,现在先介绍这些。

  注意:字符一般会涉及ASCII码表,这部分知识怕初学者负担太重,放后面再介绍。

  

5.1.3 再来一个C库函数scanf以及格式化输入

  屏幕显示的程序中的数据,叫做输出,敲键盘传入程序中的数据,叫做输入。输出函数一般用printf,输入函数一般用scanf。下面来写一段程序,程序大体思路是,先定义一个变量a,然后用输入函数scanf给a赋值(通过键盘敲的数值),最后通过输出函数printf在屏幕显示a的数值,代码如下:

#include <stdio.h>

void main()
{
    int a;

    scanf("%d", &a);

    printf("a = %d", a);
}

  注意:scanf语句中,a前面有个字符是&,读者可以看看键盘上那一排数字键,对了就在数字7这里,键盘要输入&,可以通过按住键盘Shift键+数字键7,如图5.4,

  

图5.3  键盘

  写好代码后,编译运行,发现控制台一片黑,如图5.3,

图5.4  控制台一片黑

  可以看到有个光标在闪烁,请用键盘输入123试试看,然后再按下回车按键,结果如图5.4,

图5.5  运行结果

  从结果上可以看出,输出的“a = ”加上刚才键盘输入的123一起在屏幕上显示出来,这就是最基本的输入输出函数的使用了。下面讲解这段程序:

scanf中,变量前面有个符号“&”想必让人产生了困扰,“&”符号叫做取地址符号,之前讲过内存存放数据的,每个数据都有它的地址,希望后续讲解指针的时候读者会有更清晰的了解。希望读者不用困扰,为什么不直接这么写:scanf(“%d”, a),而要这么写:scanf(“%d”, &a),差别在于是否有“&”,请先这么用着吧!

  为了更加人性化,在scanf前添加一段printf提示即将输入的字符格式,再添加char型格式输入,下面一段代码会比之前稍微复杂那么一点点,

#include <stdio.h>

void main()
{
    int b;
    char f;    

    printf("please input int and char data with , to separate : ");
    scanf("%d, %c", &b, &f);

    printf("b = %d, f = %c", b, f);
}

  编译运行后,在提示语出现后,在冒号:后面输入400,k,运行结果如图5.5,

  注意:在代码的scanf中,有用逗号,来隔开b和f的取值,所以在屏幕输入的时候,也要用逗号隔开整型和字符型,最后回车键显示结果。

图5.6  运行结果

  这样整型类型的b就被赋值400,字符f就被赋值‘k’了。当然读者可以赋值不同的数值大小,请记住这些类型的取值是有上下限制的,如果超过可能会有意想不到的后果,可以在第四章查看表4.1找到基本数据类型的取值限制,至于字符可以输入26个字母中的一个,或者一些标点符号等等。

  

  

原文地址:https://www.cnblogs.com/songsongman/p/11274972.html

时间: 2024-11-08 23:58:45

C语言编程入门之--第五章C语言基本运算和表达式-part1的相关文章

《数据结构与算法分析:C语言描述》复习——第五章“堆”——二叉堆

2014.06.15 22:14 简介: 堆是一种非常实用的数据结构,其中以二叉堆最为常用.二叉堆可以看作一棵完全二叉树,每个节点的键值都大于(小于)其子节点,但左右孩子之间不需要有序.我们关心的通常只有堆顶的元素,而整个堆则被封装起来,保存在一个数组中. 图示: 下图是一个最大堆: 实现: 优先队列是STL中最常用的工具之一,许多算法的优化都要利用堆,使用的工具就是优先队列.STL中的优先队列通过仿函数来定义比较算法,此处我偷懒用了“<”运算符.关于使用仿函数的好处,我之后如果有时间深入学习S

《Go语言编程入门》视频课程开课了

作为拥有多年工作经验的运维老鸟,我没有选择运维常用的Python作为我今后的主要使用语言.Python编写运维程序的开发效率虽然很高,但随着代码量的增大,以及Python的缩进式语法结构,可读性和维护性并不很高.加之Python本身的设计,并不原生支持多线程多核,我考虑到当程序代码达到一定规模时,必然会考虑它的执行效率和维护成本.最终放弃了Python,选择语言的过程中被Google新出的Go语言吸引了.Go本身脱胎于C,语法和C比较像,我本身就一直学习和编写C和PHP程序,习惯了大括号的语法结

C语言编程入门——动态内存分配

内存管理,是指软件运行时对计算机内存资源的分配和使用的技术.其最主要的目的是如何高效,快速的分配,并且在适当的时候释放和回收内存资源.内存管理是C语言编程中重要的组成部分,C语言中的内存需要手动分配,手动释放,一般遵循分配多少,释放多少,以免造成内存泄漏.内存管理是一项重要且复杂的事情,理解内存管理,对后面课程及项目的学习会有很大的作用. 之前创建变量,是系统自动分配的内存,放在栈内存中,销毁后被系统自动回收,手动分配的内存,放在堆内存中,需要手动释放.千万不要忘记销毁对象手动将内存释放并将指针

linux 操作系统下c语言编程入门

2)Linux程序设计入门--进程介绍 3)Linux程序设计入门--文件操作 4)Linux程序设计入门--时间概念 5)Linux程序设计入门--信号处理 6)Linux程序设计入门--消息管理 7)Linux程序设计入门--线程操作 8)Linux程序设计入门--网络编程 9)Linux下C开发工具介绍 1)Linux程序设计入门--基础知识 Linux下C语言编程基础知识 前言: 这篇文章介绍在LINUX下进行C语言编程所需要的基础知识.在这篇文章当中,我们将 会学到以下内容: 源程序编

《C++编程艺术》第五章 下载工具源码

今天看了书上的第五章代码,看了后想编译起来结果报了好些错,修改完后已经可以正确的编译起来,供大家下载研究 // Header file for downloader. Call this file dl.h. #include <iostream> #include <string> #include <windows.h> #include <wininet.h> #include <fstream> using namespace std;

2018-06-21 中文代码示例视频演示Python入门教程第五章 数据结构

知乎原链 续前作: 中文代码示例视频演示Python入门教程第四章 控制流 对应在线文档: 5. Data Structures 这一章起初还是采取了尽量与原例程相近的汉化方式, 但有些语义较偏(如Trondheim的hammer dance). 鉴于这一教程的目的在于使人尽量快速入门Python, 而任何不熟悉的词汇都会加上不必要的负担. 于是最终决定不拘泥于与原例程的"形似", 而采取在例程中使用更为国人熟知的词汇了. 中文代码示例Python入门教程 5.1 列表详述_哔哩哔哩

C语言编程入门——枚举与宏定义

枚举是编程人员自己定义的一种基本数据类型,这种类型的变量只能取枚举中的值,好处就是能够防止变量的错误赋值.用法:enum 类型名{变量1,变量2,变量3,...} C语言中宏定义是定义在程序头部,作预处理用,有无参和有参两种,可以看作是一个过程的调用,与函数调用不一样,不涉及入栈出栈问题,调用速度快.用法:#define 替换名 原名 宏定义示例1: # include <stdio.h> #define DD "%d" //宏定义,在以下书写中可用DD代替"%d

C语言编程入门——综合练习(一)

至此,C语言的基础知识已经基本学完了,然而你会发现学完C语言,却什么也做不了,当时我学到这里时也是这样,学习编程是一个漫长的过程,前面只是编程语言的基础,后面还会有很长的路要走,希望能够坚持下去. 这里,我们做一些小程序练习,再大的程序也是由小程序组装起来的,正如:不不积跬步,无以至千里. 求菲波拉契亚数列: # include <stdio.h> int main(void) { int n; long f1, f2, f3; int i; f1 = 1; f2 = 2; printf(&q

C语言编程入门——HelloWorld!

 将我的C语言学习过程记录下来,供大家学习交流,适合C语言入门者学习,希望能对大家有帮助. 推荐学习教程:<C语言程序设计> 作者:谭浩强 推荐学习视频:C语言教程 作者:郝斌(链接) 我在学完之后,记下了自己的学习心得,大家可在我的博客中查看(链接) Hello World ,中文意思:你好,世界.世界上的第一个程序就是Hello World,由Brian Kernighan创作. 大多数程序员去学一门语言,写的第一个程序都是HelloWorld! C语言版 Hello World #