怎么用C语言输入一个数字,然后执行后面的语句

开发文字处理程序、电子表格、编译器、其他产品

    目标:支持国际化编程;调整现有实践致力于解决明显缺陷;提高C的适应性
  • stdio.h是头文件,该文件里包含供编译器使用的输入和输出函数。
  • C 程序一定从main()函数开始执行,()用于识别main为一个函数。
  • int是main()函数的返回类型(整数)。
  • ()中包含传入函数的信息,viod为空白的,所以该例中没传递任何信息
    1. (双斜杠用于开头,只能注释该行内容,到行尾注释结束。)

4.花括号,函数体,块

{}标志标记函数体的开始和结束

int 是C语言的关键字,一种数据类型

num 是一个标识符,也就是变量,函数,其他实体的名称

首次使用变量前要先声明

  • 变量命名标准:可用小写字母、大写字母、数字、下划线(_)来命名。名称的第一个字符必须是 字母或者下划线,不能是数字
  • 避免使用一个或两个下划线开始的变量名,会与C的标识符重复

把一个值(1)赋给变量(num),该语句以分号结尾。

printf函数查看双引号中的内容,并将其打印在屏幕上

%d 相当于一个占位符,%用于提醒程序,在该处打印一个变量;d表明把变量作为十进制整数打印。

转义序列(如\n):用于代表难以表示或无法输入的字符

换行符(Enter键)

有返回值的C函数要有return语句

  • 用空行分隔概念上的多个部分
  • 语法错误:报错位置比真正的错误位置滞后一行。


3.3.数据:数据类型关键字

提供基本整数类型的变式
指定字母和其他字符(也可表示较小的整数)

3.4C语言基本数据类型

  • 1声明之后可通过赋值语句给变量赋值,也可通过函数(scanf())获得值

不同进制在计算机内存储方式相同,都以二进制进行编码

  • 以八进制显示数字 %o
  • 以十六进制显示数字 %x

3.4.2其他整数类型

常用于较小的数值场合以节省空间
占用空间大,适用于较大数值场合
用于非负值的场合,符号位用来表示另一个二进制的数
强调使用有符号类型的意图
  • 2 字符常量和初始化:broiled=‘T’(必须是单引号)
  • float:系统的基本浮点类型,可精确表示至少六位有效数字
  • double:范围更大,有效数字至少10位,能表示更大的指数
  • long double:范围比double更大,更多的有效数字,更大的指数

复数的实部和虚部都基于实浮点数类型来构成

sizeof是C的内置运算符,以字节为单位给出指定类型的大小

第4 章 字符串和格式化输入输出

  • 符串存储在char类型数组,
    数组是一系列同类型的项或元素

该语句声明了一个名为name,有30个char类型的数组。

  • 要确保有足够多的元素来储存整个字符串(包括空字符)
  • C中的字符串一定以空字符(null字符,符号、0)结束,空字符的ASCII码是0

字符串常量是用双引号括起来的字符序列

给出字符串中的字符长度(包括空格和标点符号)

  • 一般用大写表示符号常量(NAME,TAXRATE)
  • 在名称前带c_或k_前缀来表示常量(eg:c_level)
  • 符号常量的命名规则同变量

C预处理器为预处理指令(#开头)查找源代码程序,并在编译开始前处理它们。
处理器根据#include指令把另一个文件的内容添加到该指令所在位置
#define指令可以创建代表常量的符号
const限定符:创建不能修改的变量

printf()函数打印数据的指令要与待打印数据类型相匹配

  • 转换说明和对应输出类型
    printf(格式化字符串,待打印项1,待打印项2,…);


一种输入函数,可读取不同格式的数据

  • 如果用scanf读取基本变量类型的值,在变量名前加&
  • 如果用scanf把字符串读入字符数组中,不要用&

第5章运算符,表达式和语句

递增递减运算符有很高的结合优先级,只有()的优先级比它们高

C语言每条语句以都英文输入状态下的“;”结束一条语句,不同的版编权程语言有不同的结束标志,Java,C也是以“;”作为一行语句的结束的标志,但也有不需要用“;”作为一行语句结束的语言。

一、C语言的语句以什么结束

C语言源程序的每一条语句都英文输入状态下的“;”结束一条语句。

不同的版编权程语言有不同的结束标志,Java,C++也是以“;”作为一行语句的结束的标志,也有不需要用“;”作为一行语句结束的编程语言,例如Python。Python是以空格去判断语句与语句之间的关系,一行语句结束后直接换行继续书写,即可。

C语言在输入头文件或写宏的时候不需要分号,直接换行结束。

二、C语言中字符串的结束标志是什么

'\0'就是8位的,因为字符类型中并没有对应的这个字符,所以这么写。'\0'就是 字符串结束标志。

'\0'是转译字符,意思是告诉编译器,这不是字符0,而是空字符。空字符\0对应的二进制为,而数字0为。

原来,在C语言中没有专门的字符串变量,通常用一个字符数组来存放一个字符串。字符串总是以'\0'作为串的结束符。

因此当把一个字符串存入一个数组时,也把结束符 '\0'存入数组,并以此作为该字符串是否结束的标志。有了'\0'标志后,就不必再用字符数组的长度来判断字符串的长度了。

所以在用字符串赋初值时一般无须指定数组的长度, 而由系统自行处理。把字符数组str1中的字符串拷贝到字符数组str2中。串结束标志'\0'也一同拷贝。

三、C语言标识符有哪三类

C语言中的标识符可分为关键字、用户标识符、预定义标识符三类。

C语言规定,标识符只能由字母(A~Z, a~z)、数字(0~9)和下划线(_)组成,并且第一个字符必须是字母或下划线,不能是数字。

在使用标识符时还必须注意以下几点:

1、C语言虽然不限制标识符的长度,但是它受到不同编译器的限制,同时也受到操作系统的限制。例如在某个编译器中规定标识符前128位有效,当两个标识符前128位相同时,则被认为是同一个标识符。

2、在标识符中,大小写是有区别的,例如 BOOK 和 book 是两个不同的标识符。

3、标识符虽然可由程序员随意定义,但标识符是用于标识某个量的符号,因此,命名应尽量有相应的意义,以便于阅读和理解,作到“顾名思义”。

  C语言程序设计 课程是高等院校计算机专业基础课程之一,其教学效果直接影响学生在计算机方面的应用。下面来个大家介绍c语言char的用法。

  C语言基本类型:字符型(char)用法介绍

美国信息交换标准编码)。例如:ASCII 使用 65 来代表大写字母 A,因此存储字母 A 实际上存储的是整数65。注意:许多IBM大型机使用另一种编码——EBCDIC(Extended Binary-Coded Decimal Interchange Code 扩充的二进制编码的十进制交换码);不同国家的计算机使用的编码可能完全不同。

  ASCII 的范围是 0 到 127,故而 7 位(bit)就足以表示全部 ASCII。char 一般占用 8 位内存单元,表示ASCII绰绰有余。许多系统都提供扩展ASCII(Extended ASCII),并且所需空间仍然在 8 位以内。注意,不同的系统提供的扩展 ASCII 的编码方式可能有所不同!

  许多字符集超出了 8 位所能表示的范围(例如汉字字符集),使用这种字符集作为基本字符集的系统中,char 可能是 16 位的,甚至可能是 32 位的。总之,C 保证 char 占用空间的大小足以储存系统所用的基本字符集的编码。C 语言定义一个字节(byte)的位数为 char 的位数,所以一个字节可能是 16 位,也可能是 32 位,而不仅仅限于 8 位。

  2. 声明字符型变量

  字符型变量的声明方式和其它类型变量的声明方式一样:

  以上代码声明了三个字符型变量:good、better,和 best。

  3. 字符常量与初始化

  我们可以使用以下语句来初始化字符型变量:

  这个语句把 ch 的值初始化为 A 的编码值。在这个语句中,'A' 是字符常量。C 语言中,使用单引号把字符引起来就构成字符常量。我们来看另外一个例子:

  把字符用双引号引起来构成字符串字面量,所以第三个语句是错误的。我们会在后续的教程中讨论字符串,现在暂且把它放下。

  因为字符实质上是以数字的形式存储的,所以我们可以直接使用数字来初始化字符变量,或者给字符变量赋值:

  在 ASCII 中,A 的编码是 65,所以对于使用 ASCII 的系统来说,这个语句等同于 char ch = 'A';。使用非 ASCII 的系统中,65 代表的不一定是 A,而有可能是其它任何字符,所以使用数字来初始化字符变量,或者给字符变量赋值是一种不好的风格,因为移植性太差了!但是,使用字符常量(例如 'A')来初始化字符变量,或者给字符变量赋值,字符变量得到的一定是我们所期待的字符的编码值。例如:

  无论在使用任何编码的系统中,ch 都能够得到字符 A 所对应的编码值。这是因为编译器会自动把 'A' 转化成 A 所对应的编码值。因此,我们应该使用字符常量来初始化字符变量,或者给字符变量赋值;而不要用数字。

  有趣的是,C 使用 int 类型来处理字符常量,而不是 char 类型。例如,在使用32位 int 的ASCII 系统中,以下代码

  'C' 的编码值 67 被存储于 32 位的内存单元中;不过 ch 仍然存储于 8 位的内存单元中,只是它的值变成了 67。因此,我们可以定义形如 'good' 的古怪字符常量。因为每个字符的编码值占用 8 位的内存单元,所以这个常量刚好可以存储于 32 位的内存单元。然而,用这种字符常量初始化字符变量,或者给字符变量赋值的话,导致的结果是,字符变量只能得到字符常量的最后 8 位。也就是说,以下代码

  ch 得到的是 'd' 的值。

  以后,在没有特殊说明的情况下,我们讨论的都是 ASCII。

  SOH 标题开始 FF 走纸控制 ETB 信息组传送结束

  HT 横向制表 DC4 设备控制4 US 单元分隔符

  有些 ASCII 字符是不可打印的。例如退格、另起一行、警报等。C 语言提供了两种方法来表示这种不可打印字符。

  第一种方法是使用 ASCII 编码。例如,ASCII 编码中,7 用于表示警报:

  第二种方法是使用特殊符号序列,也就是所谓的转义字符escape sequences)。参见下表:(

  给变量赋值的时候,转义字符必须使用单引号引住。例如:

  下面我们详细学习每个转移字符的含义。

  \a(警报)是 ANSI C89 添加的,用于产生可听或者可视的警报。\a 产生的效果取决于硬件。一般来说,输出 \a 会产生鸣响。但是在某些系统,输出 \a 不会产生任何效果,或者仅仅显示一个特殊字符。标准明确指出,\a 不应该改变当前活跃位置(active position)。所谓活跃位置,是指显示设备(显示器、打字机、打印机等等)显示下一个字符的位置。以显示器为例,活跃位置就是指光标所处的位置,输出 \a 不会导致光标移动位置。

  \b、\f、 、 、\t,以及 \v 都是输出设备控制符。退格符(\b)使当前行的活跃位置后退一个位置。换页符(\f)使活跃位置跳到下一页的开端。注:换页符可用于控制打印机换页,但不会导致 PC 机的显示屏换页。换行符( )使活跃位置跳到下一行的开端。回车符 ( ) 使活跃位置返回当前行的开端。水平制表符(\t)使活跃位置移动若干个位置(通常是8个)。垂直制表符(\v)使活跃位置换若干行。注:\v可用于控制打印机换若干行,但是不会导致PC机的显示屏换行。

  \\、\',以及 \" 使我们可以把 \,' 和 " 用作字符常量。如果要打印以下句子:

  我们需要使用如下语句:

  \0oo 和 \xhh 是ASCII码的两种特殊表示形式。如果想用八进制ASCII码表示字符,可以在八进制数前面加上 \ ,然后用单引号引起来。例如:

  打头的那些0可以省略,也就是说,写成 '\07' 或者 '\7' 都一样。无论有没有打头的0 ,7 都会被当成八进制数处理。

  从 C89 开始,C提供了用十六进制表示字符常量的方法:在反斜杆后面写一个 x ,然后再写 1 到 3 个十六进制数字。例如:

  注意:使用ASCII码时,要注意区分数字4的ASCII码是52 ,'4' 代表字符 4 ,而不是数字4。此外,尽管 ' ' 和 '\xa' ,'\a' 和 '\007' 是等价的,但是我们应该尽可能使用 ' ' 和 '\a' ,而不要用 '\xa' 和 '\007' 。这是因为前者易懂、便于记忆,而且移植性更高。而后者只对使用ASCII码的系统有效。和数字字符。例如:字符

  printf 函数使用 %c 表示输出字符。因为字符是以 1 字节整数的形式存取的,所以,如果使用 %d 的话,输出的会是整数。例如:

  /* 这个程序输出字符以及字符的整数编码 */

  请各位自行编译执行此程序,查看其执行结果。输入字符后记得要按回车键。

  printf 函数输出 ch 的值两次,第一次以字符的形式输出(因为格式限定符为 %c),第二次以十进制整数的形式输出(因为格式限定符是 %d)。注意:格式限定符只是用于指定数据的输出形式,而不是用来指定数据怎么存储。

  6.字符类型的符号

  某些编译器中,char 默认是有符号的(signed)。对于这类型的编译器来说,char 的表示范围通常是 -128 到 127 。而另外一些编译器中,char 默认是无符号的(unsigned)。对于这类型的编译器来说,char 的表示范围通常是 0 到 255 。一般来说,编译器的使用说明会注明它默认把 char 当作有符号的还是无符号的。

我要回帖

更多关于 c语言中数字字符怎么表示 的文章

 

随机推荐