1、c语言-数据类型与运算符(含答案)详解
第2章 c语言基本数据类型、运算符和表达式
1000000000000101
1111111111111010
1111111111111011
整型数据所分配的字节数及数的表示范围(16位系统)
整型数据类型
[signed ]int unsigned [int] [signed] short [int] unsigned short [int] [signed ]long [int] unsigned long [int]
制和十六进制只是整型数值的三种表现形式而已。 整型常量类型的确定:根据值大小默认类型。 整型常量后面加后缀1或L,则认为是long int型。 无符号数也可以用后缀表示,整型常数的无符号数的后缀为“U”或“u”。 注意:在程序中是根据前缀来区分各种进制数的。因此在书写时不要把前缀弄错造
成结果不正确。
缺省形式的 整型数据类型
int unsigned short int unsigned short int long int unsigned long
字节数
取值范围
2
-32768~32767(-215~215-1)
2
0~65535
2
-32768~32767(-215~215-1)
2
0~65535(0~216-1)
3.字符型常量
字符常量是用单引号括起来的一个字符。它有二种形式:可视字符常量、转义字符常量。 (1)可视字符常量:单引号括起来的单个可视字符。
大多数字符常量都可以通过加单引号的方式表示,但有些特殊字符,如单引号本身和有些不 可见的特殊字符,就无法通过这种方法表示,为了解决这一问题,C语言引入了“转义字符”。
C语言入门试题及答案
C语言入门试题及答案试题一:数据类型和运算符1. 请简要描述C语言中的整型数据类型,并列举相应的关键字。
2. 解释一下算术运算符和逻辑运算符,并给出相应的示例代码。
3. 编写一个程序,要求用户输入两个整数,然后输出它们的和。
答案:1. C语言中的整型数据类型包括:int、short、long和char。
相应的关键字分别为:int、short、long和char。
2. 算术运算符可以进行基本的加减乘除运算,包括:加法(+)、减法(-)、乘法(*)和除法(/)。
逻辑运算符用于进行逻辑判断,包括:与(&&)、或(||)和非(!)。
示例代码如下:算术运算符示例代码:```c#include <stdio.h>int main() {int a = 10;int b = 5;int sum = a + b;int difference = a - b;int product = a * b;int quotient = a / b;printf("Sum: %d\n", sum);printf("Difference: %d\n", difference); printf("Product: %d\n", product);printf("Quotient: %d\n", quotient);return 0;}```逻辑运算符示例代码:```c#include <stdio.h>int main() {int a = 5;int b = 10;int result1 = (a > 0) && (b < 20);int result2 = (a > 0) || (b > 20);int result3 = !(a > 0);printf("Result 1: %d\n", result1);printf("Result 2: %d\n", result2);printf("Result 3: %d\n", result3);return 0;}```3. 编写一个程序,要求用户输入两个整数,然后输出它们的和。
c语言运算符号详解(二)
c语言运算符号详解(二)C语言运算符号详解简介C语言是一种通用的编程语言,广泛应用于系统开发,嵌入式系统和高性能计算等领域。
运算符是C语言中用来进行各种运算操作的符号,本文将详细介绍C语言中常用的运算符。
算术运算符•+:求两个数的和。
•-:求两个数的差。
•*:求两个数的乘积。
•/:求两个数的商。
•%:求两个数的余数。
关系运算符•==:判断两个数是否相等。
•!=:判断两个数是否不等。
•>:判断左边的数是否大于右边的数。
•<:判断左边的数是否小于右边的数。
•>=:判断左边的数是否大于等于右边的数。
•<=:判断左边的数是否小于等于右边的数。
逻辑运算符•&&:逻辑与,判断两个条件是否同时成立。
•||:逻辑或,判断两个条件是否至少有一个成立。
•!:逻辑非,取反操作。
位运算符•&:按位与,对于两个操作数的每一个对应位,当且仅当两个位都为1时为1。
•|:按位或,对于两个操作数的每一个对应位,当且仅当两个位都为0时为0。
•^:按位异或,对于两个操作数的每一个对应位,当且仅当两个位不相同时为1。
•<<:左移运算符,在二进制表示的数值的右边补0。
•>>:右移运算符,在二进制表示的数值的左边补0。
赋值运算符•=:将右边的值赋给左边的变量。
•+=:将右边的值加上左边的变量,并将结果赋给左边的变量。
•-=:将右边的值减去左边的变量,并将结果赋给左边的变量。
•*=:将右边的值乘以左边的变量,并将结果赋给左边的变量。
•/=:将左边的变量除以右边的值,并将结果赋给左边的变量。
其他运算符•sizeof:获取变量或数据类型所占的字节数。
•&:取地址运算符,获取变量的内存地址。
•*:指针运算符,用于声明指针和通过指针访问变量。
以上是C语言中常见的运算符,掌握这些运算符的使用方法对于编写高效、准确的程序非常重要。
希望本文能够对读者理解和学习C 语言运算符有所帮助。
C语言教程课件第二章 数据类型、运算符和表达式
例 整型变量的定义与使用
#include <stdio.h> void main() { int a,b,c,d; /*指定a、b、c、d为整型变量*/ unsigned u; /*指定u为无符号整型变量*/ a=12;b=-24;u=10; c=a+u;d=b+u; printf("a+u=%d,b+u=%d\n",c,d); }
例 向字符变量赋以整数。 • 运行结果: #include <stdio.h> a b void main() 97 98 { char c1,c2; c1=97; c2=98; printf("%c %c\n",c1,c2); printf("%d %d\n",c1,c2); }
• 说明:在第4和第5行中,将整数97和98分别赋给c1和c2,它 的作用相当于以下两个赋值语句: c1='a';c2='b'; 因为'a'和'b'的ASCII码为97和98
• 字符型变量用来存放字符常量,注意只能放一个字符。 • 字符变量的定义形式如下:char c1,c2; • 在本函数中可以用下面语句对c1,c2赋值: c1='a';c2='b'; • 一个字符变量在内存中占一个字节; • 将一个字符常量放到一个字符变量中,是将该字符的 相应的ASCII代码放到存储单元中,这样使字符型数据 和整型数据之间可以通用。一个字符数据既可以以字 符形式输出,也可以以整数形式输出。
运行结果: total=300 例2.1 符号常量的使用 #define PRICE 30 #include <stdio.h> void main ( ) 说明:如再用赋值语句给PRICE赋值是错的 { PRICE=40;/*错误,不能给符号常量赋值*/ int num, total; num=10; total=num * PRICE; printf(″total=%d\n ″,total); } 说明: 程序中用#define命令行定义PRICE代表常量30,此后凡在 本文件中出现的PRICE都代表30,可以和常量一样进行运算
C语言 数据类型与运算规则(2)
1、符号PR代替常量30,称为符号常量 2、符号常量的定义是在编译预处理语句里 进行的,称为宏定义 3、符号常量一般用大写
商学院
C语言的基本数据类型及其表示
什么是变量?
变量是指在程序运行时可以改变的量。在程序里的一个变 量可以看成是一个存储数据的容器或存储单元,在该单元 中存放变量的值.
变量的定义形式:
算术运算符: +、-、*、/、% 自增自减运算符: ++、-赋值与赋值组合运算符: =、+=、-=、*=、/= 关系运算符: <、<=、==、!= 逻辑运算符: &&、||、! 位运算符: |、^、&、<<、>>、~ 条件运算符: ?: 逗号运算符: , *、&、()、[]、->、size的基本数据类型及其表示
实型数据及其表示
实数类型 存储字节数 取值范围(绝对值) 有效位
单精度 4字节 双精度 8字节 长双精度 16字节
10-38~1038 10-308~10308 10-4931~104932
6~7 15~16 18~19
商学院
C语言的基本数据类型及其表示
实型常量
实际输出结果: a=12345.678711; b=123456789123456.79700;
商学院
C语言的基本数据类型及其表示
字符型数据及其表示
什么是字符型数据? 字符型数据包括字符和字符串两种,字符型数据在计算机中存储 的是字符的ASCII码,而不是字符本身,一个字符占一个字节。 (在C语言中字符型数据和整型数据可以通用。即:它可以与整型 数据进行算术运算、相互赋值等,也可采用字符或整型数据两种 输出) 什么是字符型常量? C语言中字符常量是用单引号括起来的一个字符.如 ‘a’,’A’,’?’,’#” 等都是字符常量,但注意‘a’,’A’是不同的两个字符常量。(字符 常量占8位,一个字节。按ASCII码存储。) 什么是转义字符? 转义字符是一种特殊形式的字符常量,其意义是将转义符“\”后的 字符原来的含义进行转变,变成某种另外特殊约定的含义。
(最新整理)C语言-数据类型习题及答案
(完整)C语言-数据类型习题及答案编辑整理:尊敬的读者朋友们:这里是精品文档编辑中心,本文档内容是由我和我的同事精心编辑整理后发布的,发布之前我们对文中内容进行仔细校对,但是难免会有疏漏的地方,但是任然希望((完整)C语言-数据类型习题及答案)的内容能够给您的工作和学习带来便利。
同时也真诚的希望收到您的建议和反馈,这将是我们进步的源泉,前进的动力。
本文可编辑可修改,如果觉得对您有帮助请收藏以便随时查阅,最后祝您生活愉快业绩进步,以下为(完整)C语言-数据类型习题及答案的全部内容。
第二章数据类型,运算符与表达式一.选择题1.不合法的字符常量是(B)。
A)‘\t’B) “A" C)‘a’D)’\x32’2、合法的字符常量是(D) .A)‘\084’ B)‘\84’ C)‘ab’ D)'\x43’2.(B)是C语言提供的合法的数据类型关键字.A) Float B) signed C) integer D)Char3.在以下各组标识符中,合法的标识符是(4).(1)A)B01 B)table_1 C) 0_t D) k%(2)A)Fast_ B) void C)pbl D)〈book>(3)A)xy_ B)longdouble C)*p D)CHAR(4) A) sj B)Int C)_xy D)w_y23 4.属于合法的C语言长整型常量的是(B)。
A)5876273 B)0L C)2E10 D)(long)58762735.下面选项中,不是合法整型常量的是(B)。
A)160 B)-0xcdg C)-01 D)-0x48a6.判断int x = 0xaffbc;x的结果是(B)(turbo c 版本) . A)赋值非法 B)溢出 C)为affb D)为ffbc7.下面选项中,均是合法浮点数的是(B)。
A)+1e+1 B)-。
60 C)123e D)-e3A)5e-9.4 B)12e-4 C)1.2e-.4 D)。
(完整word)1、c语言-数据类型与运算符(含答案)详解,推荐文档
一、选择题1. 可用作C语言用户标识符的一组标识符是( B )。
A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof2. 存储以下数据,占用存储字节最多的是(D )。
A. 0B. ‘0’C. “0”D. 0.03. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。
A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车4. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( C )。
A. 12B. 144C. 156D. 2885. 假设在程序中a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式1/abc的表达式是( A)。
A. 1.0/a*b*cB. 1/(a*b*c)C. 1/a/b/(float)cD. 1.0/a/b/c6. 设”int a=15,b=26;”,则”printf(“%d,%d”,a,b);”的输出结果是(C )。
A. 15B. 26,15C. 15,26D. 267. 设x是一个int型的,y的值为10,则表达式x && y的值为(C )。
A. 1B. 0C. 与x值相同D. 与x值相反8. x>0 && x<=10的相反表达式为( A )。
A. x<=0 || x>10B. x<=0 && x>10C. x<=0 || x<=10D. x>0 && x>109. x>0 || y==5的相反表达式为( B )。
A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==510. 下面的哪个保留字不能作为函数的返回类型?( C ) 。
C语言程序设计 第2章 数据类型
2.2常量和变量 变量名与变量值的关系:
2.2常量和变量
变量的使用:先定义后使用
变量定义的一般形式:
数据类型 变量名1,变量名2,…,变量名n;
2.2常量和变量
➢ 凡未被事先定义的,系统不把它认作变量名,这就 能保证程序中变量名使用的正确
例:varname,在使用的时候误写成vaname
➢ 在定义变量时要指定变量的类型,在编译时就能为 变量分配相应的存储单元
5
2.2常量和变量
甘草 三七 干姜 葛根
枸杞 人参 陈皮 地黄
山药 当归 谷芽 黄连
贴上标签 加以区分
用标识符给变量起名字
2.2常量和变量 变量命名规则
➢ 只能由字母(a~z,A~Z)、数字(0~9)和下划线(_)构 成
➢ 第一个字符不能为数字 ➢ 不能与关键字同名
例:a9,_a, A_num √ 9a, a*num,int ×
控制语句:控制语句用于控制程序的流程。 C语言提供三类控制语句: ➢ 选择语句 ➢ 循环语句 ➢ 转移语句。 控制语句会在第三章和第四章详细介绍。
2.7 表达式与语句
复合语句: 复合语句由一对大括号括起来的一 条或多条语句组成。 例:{
turnOn(0,3); turnOn(0,4); turnOn(0,5); turnOn(1,4); }
2.7 表达式与语句
表达式语句:表达式末尾加上“;”就构成一条 表达式语句。 例:
s = 3.14 * r * r; 就是一条赋值表达式语句。表达式语句最后的 分号是语句中必不可少的一部分。
2.7 表达式与语句
函数调用语句:函数调用语句由函数调用加分 号构成。 例:
turnOn(1,1);
C语言第02章 数据类型、运算符与表达式
回到 首页
运算符和结合性 P325,附录3
2.8 算术运算符和算术表达式
3、自增、自减运算符
自增运算符++和自减运算符--均是单目运算符, 功能是使变量的值增1或减1。其优先级高于所有 双目运算符,结合性为右结合性(自右至左)。
回到 首页
例如:++i或i++ 等价于i=i+1; --i或i-- 等价于i=i-1;
2.7数值型数据之间的混合运算
回到 首页
1、整型、实型、字符型数据之间可以混合运 算
整型(包括int,short,long)和实型(包括float,double)数据可 以混合运算,另外字符型数据和整型数据可以通用,因此,整 型、实型、字符型数据之间可以混合运算。 例如,表达式10+'a'+1.5-8765.1234*'b'是合法的。
2.9赋值运算符和赋值表达式
1、赋值运算符和赋值表达式
赋值运算符:“=”为双目运算符,右结合性。 赋值表达式:由赋值运算符组成的表达式称为赋值表达 式。 赋值表达式一般形式: 变量 赋值符 表达式 如 a=5 类型转换:将高精度的数据类型赋值给低精度的数据类 型,可能出错。
回到 首页
2.9赋值运算符和赋值表达式
2.8 算术运算符和算术表达式
3、自增、自减运算符
回到 首页
y=++x;等价于先计算x=x+1(结果x=6),再执行y=x,结果y=6。 y=x++;等价于先执行y=x,再计算x=x+1,结果y=5,x=6。 y=x++*x++;结果y=25,x=7。x++为后缀形式,先取x的值进行“*” 运算,再进行两次x++。 y=++x*++x;结果y=49,x=7。
C语言程序设计基本数据类型及运算
16
长整型 d long [int] 32
取值范围
-215~215-1 (-32768~32767 )
0 ~216-1 (0~65535 ) -231~231- 1
0 ~232-1
方括号表示可选项 int 分配2 Byte,long分配4 Byte
对整数 5 和小数3.14 ,计算机存放时是否 有区别?
2020/2/25
C语言的数据类型
基本类型
C数据类型
构造类型 指针类型
5
本章讨论 基本类型数据
整型 字符型 实型(浮点型) 空类型
单精度型 双精度型
数组类型 结构体类型 共用体类型 枚举类型
2020/2/25
2.1.1 整型数据
6
1.整型数据的类型 – 基本整型数据 int ,分配 2 Byte – 短整型数据 short int,分配 2 Byte – 长整型数据 long int,分配 4 Byte 整型数据均以二进制补码形式存储
2020/2/25
2.2 常量、变量与标准函数
16
主要内容:
– 常量 – 变量 – 标准库函数
2020/2/25
2.2.1 常量
17
在运行程序的过程中值保持不变的量
1.整型常量
– 十进制:0~9 – 八进制:0~7,以 0开头 – 十六进制:0~9,A~F/a~f,以 0x或 0X 开头
2020/2/25
分析:
4
涉及数据类型
的基本知识 计算机操作处理时,要完成以下工作:
在内存中给半径 r 和运算结果 area 开辟存 储空间,存放它们的值。应该留多大的地 方来存放它们的值?
数据 5 和 3.14 与 r 、area 不同,它们是在 编写程序时就给出确定的值,在运算过程 中不会改变。这样的数计算机怎么处理?
C语言第2章 数据类型及运算符
C/C++程序设计第2 章数据类型及表达式计算机学院C/C++程序设计课程组C/C++程序设计第2章主要内容本章主要介绍:基本数据类型和存储类型的说明方法,以及基本运算符的运算规则和表达式的构成方法,为后续章节的学习奠定一个基础。
C/C++程序设计2.1 C 语言的数据类型使用高级语言编写程序,主要工作有两项:一是描述数据,二是描述数据加工的方法。
数据类型图 2.1C 语言的数据类型基本类型整型实型字符型带符号长整型(简称长整型)带符号整型无符号整型无符号整型无符号短整型无符号长整型单精度型双精度型空类型构造类型指针类型枚举类型数组类型结构体类型共用体类型C/C++程序设计2.2 常量常量是程序运行过程中其值不发生变化的数据。
2.2.1 整型常量表2.1 整型数据的表示方式2.2.2 实型常量3.14、.9999、-3.14159、834.、–0.666 、6.89E-52.2.3 字符常量’x’,’a’,’A’,’b’,’$’,’#’ ,printf("\tab\rcd\n\’ef\\g");2.2.4 符号常量#define 符号常量字符串#define PI 3.14159C/C++程序设计【例2.1】求一个圆柱体体积,用符号常量代替π。
#include <stdio.h>#define PI 3.14159 /*定义PI为符号常量*/void main(){float r,h,v;scanf("%f,%f",&r,&h);v=PI*r*r*h; /* PI相当于3.14159,参与运算*/printf("Volume=%f",v);}运行时输入:3,2↙运行结果为: Volume=56.548618C/C++程序设计2.2.5 字符串常量"\tab\rcd\n\’ef\\g“"I am a student" 、"x"、""注意:’\0’和’0’不同,’\0’是编码为0的字符,而’0’则是数字0,其编码为48。
C语言程序设计第2章-1数据类型、运算符和表达式
2、 C 语言的运算符的优先级与结合性
3、表达式:由操作数和运算符组成的序列。
5
精品文档
⒉ 真值: 带符号位的机器数对应的数值称为机器数的真值。 (10100011)2= -35
⒊ 无符号数:当计算机字长的所有二进位都用来表示(biǎoshì)数值时,称 为无符号数。
2.2.2 原码、反码和补码
⒈ 原码
整数 X 的原码指:其数符位 0 表示正,1 表示负,其数值部分
就是 X 的绝对值的二进制表示。
2.1 常用 的进位制 (chánɡ yònɡ)
2.1.1 二进制、八进制和十六进制(shíliùjìn zhì)数
3
精品文档
2.1.2十、二进制、八进制和十六进制数之间的换算
⒈ 二、八、十六进制数 → 十进制数的换算采用按权展开法。
(2AB.F)16 = 2χ162+10χ161+11χ160+15χ16-1 = 683.93 ⒉ 十进制数 → 二进制数的换算整数部分(bù fen)采用除以二取余直到商
19
精品文档
2.5.1 算术运算符与算术表达式
⒈ 基本的算术运算符:
14
精品文档
3.字符常量
字符常量是用单撇号括起来的单个字符或转义字符,
如: ‘a’, ‘9’, ‘&’, ‘\n’, ‘\’’, ‘\101’。
字符常量的值为该字符的ASCII码值,如 ‘a’值为97, ‘\n’
C语言教程第3章 数据类型、运算符与表达式
注意以下几点:
(4) 一个整常量后面加一个字母u,认为 是unsigned int型,如12345u,在内存 中按unsigned int规定的方式存放(存储 单元中最高位不作为符号位,而用来存 储数据,见图2.4(b)。如果写成-12345u, 则先将-12345转换成其补码53191,然 后按无符号数存储。
int a; unsigned int b;
一个整数(以13为例)在存储单元中 的存储情况
3. 整型变量的定义
int a,b; (指定变量a、b为整型) unsigned short c,d; (指定变量c、d为无符号短整型) long e,f; (指定变量e、f为长整型)
例3.2整型变量的定义与使用。
字符型变量用来存放字符常量,请注 意只能放一个字符,不要以为在一个字符 变量中可以放一个字符串(包括若干字符)。 字符变量的定义形式如下: char c1,c2;
c1='a';c2='b';
3.5.3 字符数据在内存中的存储 形式及其使用方法
字符的相应的ASCII代码放到存储单元中
例3.6向字符变量赋予整数。
单精度 ( float 型 占4B) 双精度 ( double 型 占8B )
C语言(数据类型与运算符)习题与答案
一、单选题1、表达式:(int)((double)9/2)-(9)%2 的值是A.1B.0C.4D.3正确答案:D解析: D、整数除以整数,结果为整数2、若有定义语句:int x=10; ,则表达式 x-=x+x 的值为A.0B.-10C.10D.20正确答案:B3、以下选项中,不能作为合法常量的是A.1.234e+4B.1.234e04C.1.234e0.4D.1.234e0正确答案:C解析: C、指数次数必须为整型4、下列选项中,不能用作标识符的是A.int_2_B.i_nt123C. _1234_D.2_int_正确答案:D5、设有定义:float a=2,b=4,h=3; 以下C语言表达式与代数式(a+b)/2 × h 计算结果不相符的是A.(1/2)*(a+b)*hB.h/2*(a+b)C.(a+b)*h/2D.(a+b)*h*1/2正确答案:A二、填空题1、若有定义语句:int a=5;,则表达式:a++ 的值是________。
正确答案:5解析:相当于 y=a++,求y的值,++在后,先使用a的值赋给y,之后再给a增1 2、若有语句 double x=17; int y; ,当执行 y=(int)(x/5)%2;之后y 的值为 ________。
正确答案:1解析: %运算要求两数为整数,结果为整数3、设有语句char a='\072';则变量a最终获得________个字符?(仅填写具体阿拉伯数字)正确答案:1解析:这是一个转义字符4、一个float型变量占________个字节?(仅填写具体阿拉伯数字)正确答案:45、int a=5,b=6,c=7,f; f=c>b>a ;f的最终结果是________。
正确答案:0解析:关系运算只能两两判断。
数据类型、运算符与表达式 习题三及参考答案
第三章习题参考答案一、单项选择题1、C语言中字符型(char)在内存中的形式存储是()。
A)源码 B)补码 C)反码D)ASCII码2、运算符有优先级,在C语言中关于运算符优先级的正确叙述是()。
A)逻辑运算符高于算术运算符,算术运算符高于关系运算符B)算术运算符高于关系运算符,关系运算符高于赋值运算符C)算术运算符高于逻辑运算符,关系运算符高于关系运算符D)关系运算符高于逻辑运算符,逻辑运算符高于算术运算符3、C语言并不是非常严格的缩放语言,在以下关于C语言的不严格的叙述中,错误的说法是()。
A)任何不同数据类型都不可以通用B)有些不同类型的变量可以在一个表达式中运算C)在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D)同一个运算符号在不同的场合可以有不同的含义4、以下选项中属于C语言的数据类型是()。
A)复数型 B)逻辑型C)双精度型 D)集合型5、在C语言中,int、char和short三种类型数据所占的内存()。
A)均为2个字节 B)由用户自己定义C)由所用机器的字长决定 D)是任意的6、下列常数中不能作为C语言的数据类型是()。
A)0xa5 B)2.5e-2 C)3e2 D)05827、设int类型的数据长度为2字节,则unsigned int类型数据的取值范围是()。
A)0至255 B)0至65535 C)-256至255 D)-32768至327678、在C语言中,数字029是一个()。
A)八进制数 B)十六进制数 C)十进制D)非法数9、下列可以正确表示字符型常数的是()。
A)”a”B)'\t’ C)”\n” D)29710、以下错误的转义字符是()。
A)'\\’ B)'\'’ C)'\81’ D)'\0’11、C语言中整数-8在内存中的存储形式是()。
A)1111 1111 1111 1000 B)1000 0000 0000 0000C)0000 0000 0000 1000 D)1111 1111 1111 011112、已知 int i; float f; 正确的语句是()。
C语言教程第2章数据类型、运算符与表达式
常量只能在定义时赋值,然后不能再改变 其值 常数、 const常量、宏常量和枚举常量, 都可以用来表示一个永远不会改变的数
前者不建议直接使用,而用后三者代替
C语言大学实用教程
2.5 变 量
变量是在程序执行过程中可以改变、可以赋 值的量。
在程序中每一个变量都有一个名子即变量名, 程序对该变量访问(存入、读取)都是通过变 量名进行的。
运行结果: 1234567936.000000
1234567890.000000
}
C语言大学实用教程
2.6 常用运算符及表达式
算术运算符
+,-,*,/,%
加、减、乘、除、求余运算 四则混合运算中,先算乘除,后算加减, 按从左向右的顺序计算,左结合
#include <math.h>
常用的标准数学函数
C语言大学实用教程
#include <stdio.h> /*函数功能:计算两个整数相加之和 入口参数:整型数据a和b 返回值: 整型数a和b之和 */ int Add(int a, int b) { return (a + b); }
2.1 一个简单的C程序例子
/*主函数*/ ) { int x, y, sum = 0;
022、-037 010和10大小不一样 因为八进制并不常用,所以此种表示法比较少见
以“0x”或者“0X”开始的整型常数是十六进 制
A~F和a~f用来表示十进制的10~15
十六进制的形式比较常用,尤其在进行位一级的 控制的时候 0x12、-0x1F, -0x1f
C语言大学实用教程
2.4 常量
字符常量
c语言-数据类型、运算符与表达式
c语⾔-数据类型、运算符与表达式⼀、数据类型1、概念(1)标识符1.定义:⽤来标记常量、变量、函数及⽂件名字的字符序列。
2.构成规则:只能由数字、字母、下划线三部分组成,且不能以数字开头,并且严格区别⼤⼩写,不能定义为系统中存在的关键字。
(2)关键字c语⾔中具有特定含义、专门⽤作语⾔特定成分的⼀类标识符注:在C语⾔中,所有的关键字都有固定的意义,不能⽤作其它,且所有的关键字都必须⼩写(3)c的数据类型数据是操作的对象,数据类型是指数据的内在表现形式(代码、存储、运算)(4)常量和变量1. 常量【1】常量:在程序运⾏过程中,其值不能被改变的量 常量区分为不同类型(表⽰形式),如:12、1.0、‘a’【2】符号常量:⽤⼀个标识符代表的⼀个常量定义⽅法:#define 标识符常量#define PRICE 30#include <stdio.h>void main(){int num,total;num = 10;total = num * PRICE;printf("total = %d",total);}2. 变量【1】变量:其值是可以改变的量,它⽤标识符(变量名)来表⽰,在内存中占据⼀定的存储单元变量的定义⽅法:类型符标识符注意事项:<1>见名知意 <2>先定义后使⽤ <3>习惯上,符号常量名⽤⼤写,变量名⽤⼩写,以⽰区别【2】变量赋初值变量先定义,后使⽤,⼀般放在函数开头变量初始化:可以在定义时赋初值2、整型数据(1)整型常量1. 各种进制的整数表⽰⽅法⼗进制整数:由数字0~9和正负号表⽰. 如 123,-456,0⼋进制整数:由数字0开头,后跟数字0~7表⽰. 如 0123,011⼗六进制整数:由0x开头,后跟0~9,a~f,A~F表⽰. 如 0x123,0xff2. 整型常量的类型【1】整型常量的值在-32768~+32767范围内,编译器认为是int类型【2】整型常量的值超过上述范围,⽽在-2147483648 ~ +2147483647范围内,编译器认为是long类型【3】当系统定义short int与int占内存长度相同,则两种类型常量均可以赋给 int和short int型变量【4】在整型常量后⾯加⼤写L或⼩写l,则告诉编译器,把该整型常量作为long类型处理。
C语言 基本数据类型、运算符和表达式剖析
2018/10/25
第2章 基本数据类型、运算符和表达式
13
《C语言程序设计》
2.2.1 变量
1.变量的定义和赋值 C语言要求程序中使用的每个变量都必须先定义, 然后才能使用。定义变量需要用变量定义语句进 行,其形式为: 类型 变量名[=初值][,变量名[=初值],……];
2018/10/25
第2章 基本数据类型、运算符和表达式
2018/10/25
第2章 基本数据类型、运算符和表达式
18
《C语言程序设计》
2.2.2 常量
3.字符常量 字符型常量是由一对单引号括起来的单个字符构成, 在C语言中,字符常量有以下特点: (1) 字符常量只能用单引号括起来,不能用双引号或其 它括号。 (2) 字符常量只能是单个字符,不能是字符串。 (3) 字符可以是字符集中任意字符。一个字符型常量的 值是该字符集中对应的ASCII编码值。显然'5'和5 是不 同的。
2018/10/25
第2章 基本数据类型、运算符和表达式
17
《C语言程序设计》
2.2.2 常量 2.实型常量 在C语言中,把带小数的数称为实数或浮点数。实型常 量只能用十进制形式表示,不能用八进制和十六进 制形式表示。实型常量有两种表示方法: (1) 小数形式:由数字和小数点组成,如3.1415926、 -0.12、.4、3.等都是实数。 (2) 指数形式:如1.23e5或12.3E4都代表1.23x105。 注意:字母e(或E)之前必须有数字,且e后面指数必须 为整数,如e3、2.1e3.2、e等都不是合法的指数形式。
2018/10/25
第2章 基本数据类型、运算符和表达式
10
《C语言程序设计》
第2章
C语言 数据类型、运算符和表达式
【例2. 3】整型数据的溢出 #include <stdio.h> 运行结果: int main(void) 若用Turbo C2.0编译器,其结果为: { X=32767,y=-32767 int x,y; 若用Visual C++6.0编译器,其结果为: x=32767; X=32767,y=32769 y=x+2; printf("x=%d,y=%d\n",x,y); return 0; } 这是由于Turbo C2.0的整型数据占2个字 Company Logo 节, Visual C++6.0的整型数据占4个字节
第2章 数据类型、运算符和表达式
本章内容
1
2 3
C语言的标识符和关键字
C语言的基本数据类型
运算符和表达式
4
数据的输入输出
Company Logo
学习目标
1
2 3 4 5 5
掌握C语言的标识符和关键字 掌握C语言的基本数据类型 掌握不同数据类型的转换
掌握各种运算符的使用方法及其优先级和结合性
掌握字符数据输入输出函数getchar和putchar的用法 掌握字符数据输入输出函数getchar和putchar的用法
\r \f \\ \' \" \a 回车 走纸换页 反斜杠字符'\' 单撇号字符 双撇号字符 报警,相当于’\007‟ 字符形式 功 能
\ddd
\xhh
1~3位8进制数所代表的字符
1~2位16进制数所代表的字符
演示
Company Logo
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、选择题1. 可用作C语言用户标识符的一组标识符是( B )。
A. void define +WORDB. a3_b3 _123 YNC. for -abc CaseD. 2a DO sizeof2. 存储以下数据,占用存储字节最多的是(D )。
A. 0B. ‘0’C. “0”D. 0.03. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。
A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车4. 设”int a=12;”,则执行完语句”a+=a*a;”后,a的值是( C )。
A. 12B. 144C. 156D. 2885. 假设在程序中a、b、c 均被定义成整型,所赋的值都大于1,则下列能正确表示代数式1/abc的表达式是( A)。
A. 1.0/a*b*cB. 1/(a*b*c)C. 1/a/b/(float)cD. 1.0/a/b/c6. 设”int a=15,b=26;”,则”printf(“%d,%d”,a,b);”的输出结果是(C )。
A. 15B. 26,15C. 15,26D. 267. 设x是一个int型的,y的值为10,则表达式x && y的值为(C )。
A. 1B. 0C. 与x值相同D. 与x值相反8. x>0 && x<=10的相反表达式为( A )。
A. x<=0 || x>10B. x<=0 && x>10C. x<=0 || x<=10D. x>0 && x>109. x>0 || y==5的相反表达式为( B )。
A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 && y==510. 下面的哪个保留字不能作为函数的返回类型?( C ) 。
A. voidB. intC. newD. long11. 假定a为一个整型数组名,则元素a[4]的字节地址为(B) 。
A. a+4B. a+8C. a+16D. a+3212. 字符串”a+b=12\n”的长度为(B )。
A. 6B. 7C. 8D. 913. 假定下列x和y均为int型变量,则不正确的赋值为( B )。
A. x+=y++B. x++=y++C. x=++yD. ++x=++y14. 设有以下定义int a=0;double b=1.25;char c=’A’;#define d 2( D )A.a++;B. b++C. c++;D.d++;15. 设x和y均为bool量,则x&&y为真的条件是( A) 。
A. 它们均为真B. 其中一个为真C. 它们均为假D. 其中一个16.以下叙述中正确的是(A)A. C程序中注释部分可以出现在程序中任意合适的地方B.花括号"{"和"}"只能作为函数体的定界符C.构成C程序的基本单位是函数,所有函数名都可以由用户命名D.分号是C语句之间的分隔符,不是语句的一部分17.以下不能定义为用户标识符的是(D)A scanfB V oidC _3com_D int18. 若有定义:int*p[3];,则以下叙述中正确的是(B)A.定义了一个基类型为int的指针变量p,该变量具有三个指针B.定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针C.定义了一个名为*p的整型数组,该数组含有三个int类型元素D.定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素19.已定义c为字符型变量,则下列语句中正确的是(C)A. c='97';B. c="97";C. c=97;D. c="a";20.以下选项中非法的表达式是( D )A .0<=x<100B .i=j==0C. (char)(65+3) D x+1=x+121. 如有int a=11;则表达式(a/1)的值是(D)A.0B.3C.4 D1122. 以下叙述中正确的是( B )A.C语言的源程序不必通过编译就可以直接运行B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令C.C源程序经编译形成的二进制代码可以直接运行D. C语言中的函数不可以单独进行编译23. 若以下选项中的变量已正确定义,则正确的赋值语句是( C )A. x1=26.8%3B. 1+2=x2C.x3=0x12D.x4=1+2=3;24. 在int a=3,int *p=&a;中,*p的值是( D)A.变量a的地址值B.无意义C.变量p的地址值D.325. 合法的常量是——(A)A.‘program’ B. –e8 C.03x D.0xfl26. C语言中的变量只能由字母。
数字和下划线组成,且第一个字符---(C)A.必须是字母 B.必须是下划线C.必须是下划线和字母 D.可以是字母.数字或下划线中任一一种27.已知A=10,B=20,下类表达式正确的是(C)A.C=(A++)*(——B)=200B. A—=30C.C=(A++)+(B——)=30D.C=(++A)*(——B)=21028.要求当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”,以下不满足要求的表达式是(D)A.A%2==1 B。
!(A%2==0)C. A%2D.!(A%2)29. 下面不正确的字符赋值或赋初值的方式为——(C)A.char s[10]=”hello!”B.char s[10]={‘h’, ‘e’, ‘l’, ‘l’, ‘o’, ‘!’}C.char s[10];s=”hello”D.char[ ]=”hello!”30. 字符组a[20]和b[20],下面正确的输出语句是——(D)A.put(a,b)B.prinf(“%s,%s,a[ ],b[ ]C.putchar(a,b)D.puts(a); puts(b)31. C语言中,要求参加运算的数必须是整数的运算符是(C)A./B.!C.%D.==32. 以下符号中不能作为标识符的是:(D)A_256 Bvoid C.vanf D4Struct33. 按照标识符的要求,(D)符号不能组成标识符。
A.连接符B.下划线C.大小写字母D.数字字符34. C语言中的基本数据类型所占存储空间长度的顺序是( A )A . char<=int<=float<=double<=longB . int<=char<=float<=long<=doubleC . int<=long<=float<=double<=charD. char<=int<=float<=long<=double35. 若x,i,j和k都是int型变量,则执行下面表达式后x的值为( C )x=(i=4,j=16,k=32)A.4B.16C.32D.5236. 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是( B ):A.7B.8C.6D.237. 已知各变量的类型说明如下:int k,a,b;unsigned long w= 5;double x=1.42;则以下不符合C语言语法的表达式是( A ):A. x%(一3)B. w+=-2C.k=(a=2,b=3,a十b)D.a十= a一=(b=4)*(a=3)38. 已知各变量的类型说明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是( A )A. a十=a一=(b= 4)*(a=3)B.a=a*3=2C .x%(一3) D.y=f1oat(i)39. 以下不正确的叙述是( D )A.在C程序中,逗号运算符的优先级最低B.在C程序中,APH和aph是两个不同的变量C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。
D.当从键盘输入数据时,对整型变量只能输入整型数值,对实型变量只能输入实型数值。
40. 以下正确的叙述是:( D )A.在C程序中,每行中只能写一条语句B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数C.在C程序中,无论是整数还是实数,都能被准确无误地表示D.在C程序中,%是只能用于整数运算的运算符41. 以下符合C语言语法的赋值表达式是( B )Ad=9+e+f=d+9 B d=9+e,f=d+9Cd=9十e,e++,d十9 Dd=9十e++=d十742. 在C语言中,要求运算数必须是整型的运算符是。
( B )A./ B .++ C. != D.%43. 若以下变量均是整型,且num=sum=7;则执行表达式sUM=num++,sUM++,++num后sum 的值为( A )A.7 B .8 C. 9 D .1044. 在C语言中,int、char和short种类型数据在内存中所占用的字节数( D )A.由用户自己定义B.均为2个字节C.是任意的D.由所用机器的机器字长决定45. 若有说明语句:char c='\72'则变量c ( A )A.包含1个字符B.包含2个字符C.包含3个字符D.说明不合法,c的值不确定46. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( A )A. 2.500000B.2.7500OOC. 3.500000D. 0.000000。
47. sizeof(float)是: ( B )A.一个双精度型表达式B.一个整型表达式C.一种函数调用D.一个不合法的表达式48. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为( C )A.intB. floatC.doubleD.不确定49. 在C语言中, char型数据在内存中的存储形式是( D )A.补码B.反码C.原码D.ASCII码50. 设变量n为f1oat类型,m为int类型,则以下能实现将n中的数值保留小数点后两位,第三位进行四舍五人运算的表达式是( B )A. n=(n*100+0.5)/100.0B.m=n*100+0.5 ,n= m/100.0C. n=n*100+0.5/100.0D.n=(n/100+0.5)*100.051. 表达式18/4*sqrt(4.0)/8值的数据类型为( C )A. intB.floatC.doubleD.不确定52. 设C语言中,一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为:(C )A.0~255B. 0~32767C. 0~65535D.0~214748364752. 设有说明: char w; int x; f1oat y; double z;则表达式w* x+z一y值的数据类型为( D )A.floatB.charC.intD.double54. 设以下变量均为int类型,则值不等于7的表达式是( C )A.(x= y= 6, x+y,x+1)B.(x= y= 6,x+y,y+1)C.(x= 6,x+1,y= 6,x+y)D.(y=6,y+l,x = y,x+1)55. printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。