C语言数据类型和运算符及表达式复习题教学内容
C语言第3章数据类型、运算符与表达式ppt课件

数据类型、运算符与表达式
1
主要内容
一、C的数据类型 二、常量与变量 三、基本数据类型 四、运算符与表达式
2
一、C的数据类型
(一) 什么是数据类型? (二) C语言的数据类型有哪些?
3
(一) 什么是数据类型?
对数据的描述
对操作的描述
数据结构+算法=程序
C语言中以 “数据类型”形式存在
4
所谓数据类型是按被定义变量的性质,表示形 式,占据存储空间的多少,构造特点来划分的。
int NUM=20; sum=PRICE*NUM;
11
符号常量优点
1、含义清楚。 2、在需要改变一个常量时,能够做到“一
改全改”
12
(二)变量
概念
变量代表内存中具有特定属性的一 个存储单元,它用来存放数据,也 就是变量的值。
13
(1)变量名。每个变量都有一个名字 ──变量名,代表一个地址。 (2)变量值。在程序运行过程中,变 量值存储在内存中。在程序中,通过 变量名来引用变量的值。
#include <stdio.h>
void main() {
int student,age; int if=adrress=1; float score=90;
stadent=2; Age=20; printf("%d %d %d %f",if,student,age,score); }
本程序中有 几处错误?
(5)标识符的有效长度随系统而异,如果超 长,则超长部分被舍弃。VC++6.0中规 定最大长度为247个字符。
23
请选出下列正确的标识符 M.D.John , 12%gf ,1add ,_ce36 ,age& 5thclass, lotus-1-2-3 , cd*ef , float,
第2章_数据类型、运算符和表达式《C语言程序设计(第三版)》-电子教案

2.2 标识符、常量与变量
符号常量
【例2-1】输入圆的半径,计算周长和面积。 #define PI 3.14159 void main() { float r,c,s; scanf("%f",&r); c=2*PI*r; s=PI*r*r; printf("r=%f,c=%f,s=%f\n",r,c,s); }
以下是合法的整型常量:
2.2 标识符、常量与变量
实型常量
实型常量只能用十进制形式表示 表示形式:
小数形式。由数字序列和小数点组成,如 3.1415926、-0.15、.15、2.等都是合法的实型 常量。 指数形式。由十进制数加上阶码标志“e”或 “E”及阶码组成,如3.14e-4或3.14E-4表示 3.14×10-4。
2.2 标识符、常量与变量
2.2.3 变量
在程序运行过程中,其存储的值可以被改变的量称 为变量 变量必须通过标识符进行说明,称为变量名。 变量名和内存单元地址存在映射关系,程序可以通 过变量名寻址,从而访问其存储的数据。
2.2 标识符、常量与变量
变量的定义和说明
数据类型 变量名1[,变量名2,…,变量名n];
long型转换成float型时由原来可达10位整数变成只有7位有效数字精度丢失但由于数的范围扩大了数据类型从较低级提升到较高级随着竞争日益激烈酒店嘴中的肥肉被大肆抢夺各大酒店在这场竞争中几乎溃不成军
21世纪高等学校精品规划教材
第2章 数据类型、运算符 和表达式
掌握C语言的基本数据类型 掌握标识符、关键字、常量和变量的使用 掌握运算符、表达式以及数据类型之间的转换 等 掌握简单数据的输入输出
C语言复习提纲

C语言复习提纲一、基本概念及语法1.C语言的起源和发展历程2.C语言的优点和特点3.C语言的数据类型和变量4.C语言的运算符和表达式5.C语言的程序结构和语句流6.C语言的函数和库函数二、数据类型和变量1.基本数据类型:整型、浮点型、字符型等2.变量的声明和赋值3.变量的作用域和存储类别4.常量的定义和使用5.数据类型转换和类型限定符三、控制流程和循环结构1. 分支结构:if语句、switch语句2. 循环结构:for循环、while循环、do-while循环3. 循环控制语句:break语句、continue语句四、数组和指针2.一维数组和多维数组3.指针的基本概念和运算4.指针和数组的关系5.指针与函数的关系五、函数和递归1.函数的定义和调用2.函数的参数和返回值3.函数的递归调用4.函数的存储类别与作用域5.常见库函数的使用六、字符串和字符处理1.字符串的定义和使用2.字符串的输入输出3.字符串的操作:拼接、复制、比较、查找等4.字符串的处理函数七、结构体和共用体1.结构体的定义和使用2.结构体数组和指针4.结构体与指针的关系八、文件操作1.文件的打开和关闭2.文件的读写操作3.文件的复制、删除和重命名4.文件的定位和截断九、动态内存管理1.动态内存分配和释放2.动态分配数组和结构体3.内存泄露和内存溢出的处理十、预处理器1.预处理器的作用和功能2.宏定义的使用和注意事项3.条件编译和头文件的使用以上为C语言复习提纲,内容涉及C语言的基本概念、语法、数据类型和变量、控制流程和循环结构、数组和指针、函数和递归、字符串和字符处理、结构体和共用体、文件操作、动态内存管理以及预处理器等方面的知识点,帮助学生系统地复习C语言的基础知识。
十分感谢您的提问,希望以上信息对您有所帮助。
第2章_数据类型运算符及表达式--参考答案

C) double型D)不确定
C
13. C语言中的变量名只能由字母,数字和下划线三种字符组成,且第一个字符:
A)必须为字母B)必须为下划线
C)必须为字母或下划线D)可以是字母,数字或下划线中的任意一种
C
14.若有定义int x=3,y=2和float a=2.5,b=3.5,则表达式:
1、一个C语言的执行是从:()
A)本程序的主函数开始,到本程序的主函数结束
B)本程序的第一个函数开始,到本程序的最后一个函数结束
C)本程序的主函数开始,到本程序的最后一个函数结束
D)本程序的第一个函数开始,到本程序的主函数结束
A
2.以下叙述正确的是:
A)在C程序中,主函数必须位于程序的最前面
B)在C程序中,一行只能写一条语句
C) 3*a*e/b*c D) a*e/c/b*3
C
28.已知x=43,ch='A',y=0,则表达式(x>=y&&ch<'B'&&!y)的值是:
A) 0 B)语法错
C) 1 D) "假"
C
29.若已定义x和y是整型变量,x=2;,则表达式y=2.75+x/2的值是:
A) 5.5 B) 5
C) 3 D) 4.0
A
37.下面程序的输出的是
main()
{int x=10,y=3;
printf("%d\n",y=x/y);
}
A) 0 B)1 C) 3 D)不确定的值
C
38.若有说明和语句
int a=5;
a++;
数据类型、运算符与表达式

一、选择题1. 本题序号:39在C语言中运算对象必须是整型的运算符是()A %B !C /D *参考答案A2. 本题序号:65下列关于C语言的叙述错误的是()A 大写字母和小写字母的意义相同B 不同类型的变量可以在一个表达式中C 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D 同一个运算符号在不同的场合可以有不同的含义参考答案A3. 本题序号:66在C语言中,错误的int类型的常数是()。
A 32768B 0C 037D 0xAF参考答案A4. 本题序号:330如果有整型变量x,浮点型变量y,双精度型变量z,则表达式y*z+x+y执行后的类型为()A 双精度B 浮点型C 整型D 逻辑型参考答案A5. 本题序号:374设C语言中,一个int 型数据在内存中占2个字节,则unsigned int 型数据的取值范围是()A 0—255B 0—32767C 0—65535D 0--2147483647参考答案C6. 本题序号:380以下正确的叙述是()A 在C程序中,每行只能写一条语句;B 若a是实型数据,C程序中允许赋值a=10,因此实型变量中允许存放整型数;C 在C程序中,无论是整数还是实数,都能被正确无误的表示;D 在C程序中,%是只能用于整数的运算符;参考答案B7. 本题序号:406若有int q,p;以下不正确的语句是()A p*=3;B p/=q;C p+=3;D p&&=q;参考答案D8. 本题序号:429设有float x;则x是____变量。
A 整型B 实型C 字符型D 长型参考答案B9. 本题序号:460C语言中运算对象必须是整型的运算符是()A %=B /C =D <=参考答案A10. 本题序号:503不合法的十六进制数是()A oxffB 0xabcC 0x11D 0xbeef参考答案A11. 本题序号:507以下叙述中正确的是()A a是实型变量,C语言允许进行以下赋值a=10,因此可以这样说:实型变量中允许存放整型数值;B 在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式;C 执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已经由原值改变为b的值,b的值由原值变为0;D 已有a=3,b=5;当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3;参考答案A12. 本题序号:576turbo c中int类型变量所占字节数是()A 1B 2C 3D 4参考答案B13. 本题序号:580正确的合法的定义变量的语句是A int ab_=086;B int _ab=0xE8C char a-b=…1‟;D float a3.b;参考答案B14. 本题序号:607以下选项中不属于C语言的类型的是A signed short intB unsigned long intC unsigned intD long short参考答案D15. 本题序号:690正确的字符串常量是A “ABCD”B {ABCD}C …ABCD‟D ABCD参考答案A16. 本题序号:694以下选项中属于C语言的数据类型是A 复数型B 逻辑型C 双精度型D 集合型参考答案17. 本题序号:695以下运算符中优先级最低的运算符是A &&B &C ||D =参考答案D18. 本题序号:769以下叙述中错误的是A 用户所定义的标识符允许使用关键字B 用户所定义的标识符应尽量做到“见名知意”C 用户所定义的标识符必须以字母或下划线开头D 用户定义的标识符中,大、小写字母代表不同标识参考答案A19. 本题序号:928以下不能定义为用户标识符的是A scanfB V oidC _3com_D int参考答案D20. 本题序号:945已定义c为字符型变量,则下列语句中正确的是()。
数据类型、运算符与表达式

6.1 一维数组
例6.4程序中第一个for语句逐个输入10个数到数组a中,然后把a[0]送 入max中。在第一个for语句中,a[1]到a[9]逐个与max中的内容比 较,若比max的值大,则把该下标变量送入max中,因此max在己 比较过的下标变量中总是为最大者。比较结束,输出的max值即 为10个整数的最大值。
2.5 字符型数据
2.5.1 字符常量
1.字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。例如,'
A','6','+'等。 2.转义字符
C语言还允许使用一种特殊形式的字符常量,就是以反斜杠 “\”开头的转义字符,该形式将反斜杠后面的字符转变成另外的 意义,因而称为转义字符。
下一页 返回
第2章 数据类型、运算符与表达式
2.1 C语言的数据类型 2.2 标识符、常量和变量 2.3 整型数据 2.4 实型数据 2.5 字符型数据 2.6 算术运算与算术表达式 2.7 赋值运算与赋值表达式 2.8 自增、自减与逗号运算
2.1 C语言的数据类型
C语言提供有丰富的数据类型。其数据类型及其分类关系如 图2-1所示。
int i,max,a【10」; printf(”input 10 numbers:\n");
上一页 下一页 返回
6.1 一维数组
for(1=0;1<10;1++) scanf(”%d”,&a[i]);
max=a[0]; for(i=1;i<10;i++)
if(a[i]>max) max=a[i]; printf("maxnum=%d\n",max);
形பைடு நூலகம்输出。
知识点一数据类型运算符及表达式模拟练习(答案版)
知识点一数据类型运算符及表达式模拟练习(答案版)模拟练习一(数据类型、运算符及表达式)基础知识及数据类型1.一个C语言程序是由()组成。
(☆基础知识☆)A.主程序B.子程序C.函数D.过程2.一个C程序总是从()开始执行。
(☆基础知识☆)A.程序的第一条执行语句B.主函数C.子程序D.主程序3.一个C语言程序()(☆基础知识☆)A.应当只包含一到多个主函数B.应当由两个主函数C.只能有一个主函数D.可以没有主函数4.C语言规定:在一个源程序中,main函数的位置()(☆基础知识☆)A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后5.C语言程序中,main()函数的特征是()(☆基础知识☆)A.可独立运行的程序B.必不可少的函数C.最先执行的函数D.具有前述三特征的函数6.以下叙述中正确的是()(☆基础知识☆)A.C语言的源程序不必通过编译就可以直接运行B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令C.C源程序经编译形成的二进制代码可以直接运行D.C语言中的函数不可以单独进行编辑7.下面4组常量,合法的一组C语言常量是()(◆常量◆)A.O0某102E+9‘a’‘’’B.1010LE1‘a’‘\\0’C.0.01“\\””“\\””‘t’‘\\t’D.0.13E+0“\\””‘tt’0128.下面不正确的字符串常量是()(◆常量◆)A.‘abc’B.“12’12”C.“w”D.““9.以下选项中不正确的实型常量是()(◆常量◆)A.2.6E-1B.0.8324eC.-78.8745D.456e-210.以下正确的实型常量是()(◆常量◆)A.2B.3.12e0.8C.e8D.5.6E-211.以下所列的C语言常量中,错误的是()(◆常量◆)A.0某FFB.1.2e0.5C.2LD.’\\72’12.下列字符序列中,可用作C语言用户标识符的是()(◆标识符◆)A.enumB._123C.%aD.#age13.对下列标识符或表达形式,正确的是()(◆标识符◆)A.M.johnB.charC.3.2e0.8D.e814.下面标识符中,不合法的用户标识符是()(◆标识符◆)A._charB.charC.abD.a_b15.下面标识符中,合法的用户标识符是()(◆标识符◆)A.P_aB.U-3C.2aD.tatic16.下面标识符中,合法的用户标识符为()(◆标识符◆)A.p#AdB.12aC.charD._int17.下列语句中正确的是()(◆数据类型◆)A.int_1[]=”012345”;B.char[3]={‘1’,’2’,’3’,’4’};C.c har某tring=”hello!”;D.ch=”howareyou”;18.设int类型的数据长度为2个字节,unignedint类型数据的取值范围是()(◆数据类型◆)A.-32768~32767B.0~255C.0~65535D.13019.在C语言中,int,char和hortint三种类型变量所占用的内存大小是()(◆数据类型◆)A.均为2个字节B.由用户自己定义C.由所用机器的字长决定D.是任意的20.若有以下类型说明语句:(◆数据类型◆)chara;intb;floatc;hortintd;则表达式(c某b+a)某d的结果类型是()A.charB.intC.doubleD.float21.若已定义某和y为float类型,则表达式:某=2,y=某+3/2的值是()(◆数据类型◆)A.4B.3C.3.0D.3.522.若变量a是int类型,并执行了语句:a=’A’+1.6;,则正确的叙述是()(◆数据类型◆)A.a的值是字符CB.a的值是浮点型C.不允许字符型和浮点型相加D.a的值是字符’A’的ASCII值加上123.以下选择中不属于C语言的类型的是()(◆数据类型◆)A.ignedhortintB.unignedlongintC.unignedintD.longhort24.下列程序(◆转义字符◆)voidmain(){printf(“_ab_c\\t_de\\rf\\tg\\n”);printf(“h\\ti\\b\\bj_k\\n”);}执行后的结果是()A.fab_c___gdeB.fab_c___gdeC.fa__c___gdeD.fa__c___gdeh_______jikh_______ji_h_______jikh_______ji_25.下列字符中,不正确的转义字符是()(◆转义字符◆)A.’\\2’B.’\\r’C.’\\\\’D.’\\108’26.在C语言中,下列选项说法错误的是()(☆基础知识☆)A.main函数是程序的入口B.严格区分大小写C.可以进行位运算D.一个字符占两个字节27.以下不是C语言规定的保留字的是()(◆关键字(保留字)◆)A.typedefB.enumC.FloatD.tatic28.以下是C语言规定的保留字的是()(◆关键字(保留字)◆)A.typeefB.outC.cloeD.tatic29.下列选项中,不合法的C语言关键字是()(◆关键字(保留字)◆)A.voidB.charC.defaultD.Do30.对于C语言程序中的变量,()是正确的。
C语言复习资料,有答案
一、填空题1.C语言所提供的基本数据类型包括:单精度、双精度、整型、字符型。
2.若定义int m=8,y=3;则执行y*=y+=m-=y;后y的值是64。
3.Ox10相当于八进制数20 。
4.%m.n表示数据输出的总宽度占M列,其中小数部分占N 列。
5.C语言提供的3种逻辑运算符是非、或者、与。
6.当m=3,n=4,a=5,b=1,c=2时,执行完d=(m=a!=b)&&(n=b>c)后,n的值为1,m 的值为1,d的值为0。
7. 在数组定义格式中,放括号中的元素个数是量。
8. 判断字符串a和b是否相等,应当使用strcmp函数。
9. 在C语言中不能被调用的函数是函数。
10、目前,有两种重要的程序设计方法,分别是面向对象和面向过程。
12、面向对象程序设计的三个特征:多态、继承和封装。
13、在一个C源程序中,注释部分两侧的分界符为___ * */ __ 。
14、do----while 语句至少执行____1____次循环体。
15、在C语言中,一个double型数据在内存中所占的字节数为__8___。
16、若s是unsigned int型变量且已赋初值,则表达式s%2+(s+1)%2的值是__1_______17、表达式3>4的值是___0________18、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后,x的值为11,n的值为6。
19、若x=0,y=0,z=0,则计算表达式x++||y++&&z++后,x的值为1,y的值为1,z的值为1。
二、单项选择题1、下列各高级语言中,(B)是面向对象的程序语言。
A)Basic B)C C)C++ D)Pascal2、一个C程序的执行是从( A )。
A) 本程序的main函数开始,到main函数结束B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C) 本程序的main函数开始,到本程序文件的最后一个函数结束D) 本程序文件的第一个函数开始,到本程序main函数结束3、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语言第03章--数据类型和表达式
char int
ch = 'a'; i = 1;
17
变量的属性
例:
int sum=10; 类型
内存存放说明: 内存存放说明: 存放说明 变量名 1001 sum 10 变量值
存储单元的地址
二、 变量
命名规则 在C中变量名 函数名 文件名 数组名 等均称标识符 变量名, 函数名, 文件名, 数组名, 变量名 标识符 (identifier), 可由字母 数字 下划线 字母,数字 下划线组成,且第一个必 字母 数字和下划线 须为字母或下划线 字母或 字母 下划线,前8或32个有效。 注意: 字母大小写敏感; 注意 字母大小写敏感 不可用关键字; 不可用关键字 不可出现空格; 不可出现空格 见名知意; 见名知意 如: a1与A1为不同的变量名 如: int, for, if 等 如: stu 1, a 1等 如: sum, sort 等
e前必须有数 前必须有数 字,e后必须 后必须 有整数
合法:0.123、.123、123.0、123.、0.0 合法: 、 、 、 、 错误: 错误 - 2.0e2.5 e8
(3)字符常量 字符常量 —— 用单引号括起来的一个字符或转义字符 括起来的一个字符或转义字符 一个字符或转义字符. 例: ‘A’, ‘o’ , ‘1’, ‘#’, ‘a’ 等
float
必转
char, short long unsigned int 低
double 高
自动类型转换
34
例:
若:i 为 int , f为float ,d 为 double e 为long
字节数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言数据类型和运算符及表达式复习题 数据类型、运算符和表达式复习题 一.选择题 1. 以下不合法的用户标识符是:( ) a) f2_G3 b) If c) 4d d) _8 2. 以下选项中合法的用户标识符是:( ) a) long b) _2Test c) 3Dmax d) A.dat 3. 以下可用作用户标识符的是:( ) a) 12_a b) signed c) t-o d) _if 4. 以下不是关键字的标识符是:( ) a) continue b) char c) If d) default 5. C语言提供的合法的关键字是:( ) a) swicth b) cher c) Case d) void 6. 以下选项中不合法的int整型常数是( ) a) 32768 b) -56 c) 03 d) 0xAF 7. 以下合法的长整型常量是( ) a) 2L b) 49627 c) 34566666 d) 213& 8. 以下正确的实型常量是( ) a) 1.2E b) .579899 c) 1.2e0.6 d) 8 9. 以下选项中合法的实型常数是( ) a) 5E2.0 b) E-3 c) .2E0 d) 1.3E 10. 以下合法的八进制数是( ) a) 0135 b) 068 c) 013.54 d) o7 11. 以下合法的十六进制数是( ) a) 0x b) 0x4de c) 0x1h d) ox77 12. 以下选项中非法的数值常量是( ) a) 019 b) 0L c) 0xff d) 1e1 13. 若变量已正确定义,以下合法的赋值表达式是( ) a) a=1/b=2 b) ++(a+b) c) a=a/(b=5) d) y=int(a)+b 14. 若变量已正确定义,以下非法的表达式是( ) a) a/=b+c b) a%(4.0) c) a=1/2*(x=y=20,x*3) d) a=b=c 15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是: a) 3 b) 4 c) 11 d) 12 16.设a,b均为double型,且a=5.5;b=2.5;则表达式 (int)a+b/b的值是( ) a) 6.500000 b) 6 c) 5.500000 d) 6.000000 17.若a为int型,且其值为3,则执行完表达式: a+=a-=a*a后,a的值是( ) a) -3 b) 9 c) -12 d) 6 18.设k和x均为int型变量,且 k=7; x=12;则能使 值为3的表达式是( ) a) x%=(k%=5) b) x%=(k-k%5) c) x%=k-k%5 d) (x%=k)-(k%=5) 19. 若a,b,c均被定义成整型并已赋大于1的值,能正确表示代数式cba1的C语言表达式是( ) a) 1/(float)a*b*c b) 1/(a*b*c) c) 1.0/a/b/c d) 1/a/b/(float)c 20. 以下变量x,y,z均为double型且已正确赋值,不能正确表示
代数式zyx的C语言表达式是( ) a) x/y*z b) x*(1/(y*z)) c) x/y*1/z d) x/y/z
21. 不能正确表示代数式dcba
的C语言表达式是( )
a) a/(c*d)*b b) a*b/c/d c) a*b/c*d d) a*b/(c*d) 22.若题中变量已正确定义并赋值,下面符合C语法的表达式是( ) a) a%=7.6 b) a++,a=7+b+c c) int(12.3)%4 d) a=c+d=a+7 23. 若t已定义为double型,则表达式:t=1,t++,t+5的值为( ) a) 7 b) 7.0 c) 2.0 d) 1.0 24. 已有定义:int a,b; float x,y;,以下正确的赋值语句是:( ) a) a=1,b=2, b) y=(x%2)/10; c) x*=y+8; d) a+b=x; 25. 有以下程序: main() { int y=1111; printf(“y=%6d\n”,y); printf(“y=%+06d\n”,y); } 程序运行的结果是:( ) a) y= 1111 b) y= 1111 c) y=1111 d) y= 1111 y=001111 y=+01111 y=+01111 y=1111 26. 有以下程序: main() { int y=456; printf(“*y=%7o*\n”,y); printf(“*y=%-7o*\n”,y); printf(“*y=%07o*\n”,y); } 程序运行的结果是:( ) a) *y= 710* b) *y= 456* *y=710 * *y=456 * *y=0000710* *y=0000456* c) *y=710* d) *y=456* *y=-710* *y=-456* *y=0710* *y=0456* 27. 有以下程序: main() { float y=3.667; printf(“*%f*\n”,y); printf(“*%7.2f*\n”,y); printf(“*%8.0f*\n”,y); } 程序运行的结果是:( ) a) *3.667000* b) *3.667000* * 3.67* *3.667 * * 4* *4.000000* c) *3.667* d) *3.667000* *3.667000* *3.67* *3.667000* *4.000000* 28. 已有定义:double a,b;,若要求按输入方式(此处*代表一个空格) **1.0**2.0 分别给a,b输入1,2,则能正确进行输入的语句是( ) a) scanf(“%f%f”,&a,&b); b) scanf(“%5.1lf%5.1lf”,&a,&b); c) scanf(“%lf%lf”,&a,&b); d) scanf(“%5e%5e”,&a,&b); 29. 以下合法的定义语句是( ) a) short _auto_=100-1; b) double b=1+5e2.5; c) long do=1l; d) float 2_and=1e-3; 30. 以下选项中不是C语句的是( ) a) ++t b) ; c) k=i=j; d) {a/=b=1;b=a%2;} 31. 有定义语句:int a=5,b;,不能给b赋2的赋值语句是( ) a) b=a/2; b) b=b+2; c) b=2%a; d) b=5;b=2; 32. 设x和y均为int型变量,语句组x+=y;y=x-y;x-=y;的功能是( ) a) 把x和y从小到大排列 b) 把x和y从大到小排列 c) 无确定结果 d) 交换x和y中的值 33. 有定义语句:long int a; int k;,能给a赋40000的正确语句是( ) a) a=20000+20000; b) a=4000*10; c) k=400;a=k*100; d) a=4000;a=a*10; 34. 若有定义:int a=8,b=5,c;,执行语句:c=a/b+0.4;后,c的值是( ) a) 1.4 b) 1 c) 2.0 d) 2 35. 有以下程序: main() { int k=2,i=2,m; m=(k+=i*=k++); printf(“y=%d,%d\n”,m,i); } 程序运行的结果是:( ) a) 8,6 b) 8,3 c) 6,4 d) 7,4 36. 有以下程序: main() { int y=3,x=3,z=1; printf(“%d %d\n”,(++x,y++),z+2); } 程序运行的结果是:( ) a) 3 4 b) 4 2 c) 4 3 d) 3 3 37. 有以下程序: main() { int i; long l ; float f ; double d ; i=f=l=d=20/3; printf(“%d %ld %3.1f %3.1f\n”,i,l,f,d); } 程序运行的结果是:( ) a) 6 6 6.0 6.0 b) 6 6 6.7 6.7 c) 6 6 6.0 6.7 d) 6 6 6.7 6.0 38. 有以下程序: main() { unsigned a=32768; int b ; b=a ; printf(“b=%d\n”,b); } 程序运行的结果是:( ) a) b=32768 b) b=32767 c) b=-32768 d) b=-1 39.有以下语句printf(“%d,%d,%u\n”,016,16,-16);其输出结果是( ) a) 16,16,65520 b) 14,16,65520 c) 16,16,-16 d) 14,16,-16 40.若有定义语句:int b=0x17;printf(“%d”,b++);,其正确的输出结果是( ) a) 23 b) 24 c) 25 d) 22 41.有以下程序: main() { int x=0xffff; printf(“%d\n”,x--); } 程序运行的结果是:( )