C语言数据类型与表达式习题及答案
C语言程序设计试题及答案解析
18、 已知x=43, ch=’A’,y=0;则表达式 (x>=y&&ch<’B’&&!y)的值是:( ) A、0 B、语法错 C、1 D、“假” 19、 表达式17%4 /8的值为:( ) A、0 B、1 C、2 D、3 20、 语句printf(“%d”,(a=2)&&(b= -2));的输出结果是: ( ) A、无输出 B、结果不确定 C、-1 D、1 21、 一个可执行的C程序的开始执行点是:( ) A. 程序中的第一个语句 B. 包含文件中的第一个函数 C. 名为main的函数 D. 程序中的第一个函数 22、 组成C语句的一个必不可少的符号是:( ) A. 逗号 B. 引号 C. 冒号 D. 分号 23、 若将int、long、float等类型的数据进行混合运算,其结果的 数据类型是:( ) A. int B. long C. float D. double 24、 下述是C语言中有关变量定义的几个说法,正确的是: ( ) A. 变量可以不定义直接使用 B. 一个说明语句只能定义一个变量 C. 几个不同类型的变量可在同一语句中定义 D. 变量可以在定义时进行初绐化 25、 与x * = y + z等价的赋值表达式是:( ) A. x = y + z B. x = x * y + z C. x = x * (y + z) D. x = x + y * z 26、 当代电子计算机能够自动地处理指定的问题是因为:( ) A.计算机是电动的 B.有解决该问题的计算机程序 C.事先存储了解决该问题的程序 D.以上都不是 27、 以下叙述中最准确的是:( ) A.计算机程序是处理某一问题所有指令的集合 B.计算机程序是处理某一问题所用到的所有数据的集合 C.计算机程序是处理某一问题的所有指令及其数据的集合 D.计算机程序是处理某一问题的所有指令及其数据的有序集合 28、 关于计算机程序设计,以下描述最准确的是:( ) A.程序设计就是用语言来编写程序
C语言_分章节练习_带答案_第二章_数据类型
C语言_分章节练习_带答案_第二章_数据类型[单选题]1.C 语言中(以16 位PC 机为例),各数据类型的存储空间长度的排列顺序为。
A)char<int<long<=float<doubleB)char=int<long<=float<doubleC)char<int<long=float=doubleD)char=int=long<=float<double答案:A解析:2.若x、i、j 和k 都是int 型变量,则计算下面表达式后,x 的值为。
x=(i=4,j=16,k=32)A)4B)16C)32D)52答案:C解析:3.假设所有变量均为整型,则表达式(a=2,b=5,a+b++,a+b) 的值是。
A)7B)8C)5D)2答案:B解析:4.语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符。
A)必须为字母B)必须为下划线C)必须为字母或下划线D)可以是字母、数字和下划线中的任一种字符答案:C解析:5.下面正确的字符常量是。
A)"c"B)'\\''C)'W'D)""答案:C解析:6.下面不正确的字符串常量是。
A)'abc'B)"12'12"C)"0"D)" "答案:A解析:7.若有代数式3ae/bc,则不正确的C 语言表达式是。
A)a/b/c*e*3B)3*a*e/b/cC)3*a*e/b*cD)a*e/c/b*3答案:C解析:8.已知各变量的类型说明如下,则不符合C 语言语法规定的表达式是。
int k,a,b;unsigned long w=5;double x=1.42;A)x%(-3)B)w+=-2C)k=(a=2,b=3,a+b)D)a+=a-=(b=4)*(a=3)答案:A解析:9.已知各变量说明如下,则符合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.下列数据中属于“字符串常量”的是(A)。
A.”a” B. {ABC} C. ?abc\0? D. ?a?2.下列数据中属于“字符串常量”的是(B )。
A.ABC B. “ABC” C. ?abc? D. ?a?3. 在PC机中,?\n?在内存占用的字节数是(A)。
A. 1B. 2C. 3D. 44. 在PC机中,”a\xff” 在内存占用的字节数是(C )。
A. 5B. 6C. 3D. 45.字符串”\”ABCD\””在内存占用的字节数是(C )。
A. 4B. 6C. 7D. 86. 在C语言中,合法的长整型常数是(AB )。
A. 0LB. 49627C. 0.054838743D. 2.1869e107.在C语言中,合法的短整型常数是(D )。
A. OLC. 40000D. 0x2a8.下列数据中不属于“字符常量”的是(D )。
A. …a?B. …\n?C. …\t?D. “a”9.char型常量在内存中存放的是(A)。
A. ASCII代码值B. BCD代码值C. 内码值D. 十进制代码值10. int a=4,b=3,c=-2,d=2; 逻辑表达式a>0&&b&&c<0&&d>0的值是(A )。
A. 1B. 0C. -1D. 出错11.在以下一组运算符中,优先级最高的运算符是(C )。
A. <=B. =C. %D. &&12.设整型变量i的值为3,则计算表达式i--表达式的值为(B )。
A. 0B. 3C. 2D. 表达式出错13.设整型变量i,j=3; 则计算表达式i=j++后i,j的值为(A )。
B. 6,6C. 4,6D. 6,415.设整型变量i,j值均为3,执行了“j=i++,j++,++i”后,i,j的值是(B )。
A. 3,3B. 5,4C. 4,5D. 6,616.sizeof(double)的结果值是( A )。
知识点一数据类型运算符及表达式模拟练习(答案版)
知识点一数据类型运算符及表达式模拟练习(答案版)模拟练习一(数据类型、运算符及表达式)基础知识及数据类型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语言程序设计第2章数据类型与运算练习题及解答
C语⾔程序设计第2章数据类型与运算练习题及解答第2章数据类型和运算符习题及解答⼀.选择题。
1.下列是⽤户⾃定义标识符的是A)_w1 B)3_xy C)int D)LINE-3答案:A解析: C语⾔规定⽤户标识符由英⽂字母、数字和下划线组成,且第⼀个字符必须是字母或下划线,由此可见选项B),D)是错的;此外,C语⾔不允许⽤户将关键字作为标识符,⽽选项C)选项项中的int 是C语⾔的关键字。
语⾔中最简单的数据类型包括A)整型、实型、逻辑型 B)整型、实型、字符型C)整型、字符型、逻辑型 D)字符型、实型、逻辑型答案:B解析:本题考查C语⾔的数据类型。
在C语⾔中,没有专门的逻辑型数据类型,可以⽤0和1来表⽰逻辑值。
所以,在本题的选择答案中,不应该包括逻辑型。
3.假定int类型变量占⽤两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占字节数是A)3 B)6 C)10 D)20答案:D解析: x数组共有10个元素,在花括弧内只提供3个初值,这表⽰只给前⾯的3个成员赋值,后7个元素的值为0,所以,⼀共有20个字节。
4.以下选项中不正确的实型常量是A) B) C) D)234e-2答案:B解析:实型常量表⽰时字母E或e前必须有数字,其后数字必需为整数,故B错。
5.若变量已正确定义并赋值,以下符合C语⾔语法的表达式是A)a:=b+1 B)a=b=c+2 C)int %3 D)a=a+7=c+b答案:B解析:选项A)中包含⼀个不合法的运算符“:=”;选项C)应改为(int)%3;选项D)可理解为两个表达式:a+7=c+b和a=a+7,其中第⼀个是错的,因为C语⾔规定赋值号的左边只能是单个变量,不能是表达式或常量等。
因此,正确答案是选项B),它实际上相当于a=(b=c+2),进⽽可分解为两个表达式:b=c+2和a=b。
6.下列可⽤于C语⾔⽤户标识符的⼀组是A)void, define, WORD B)a3_b3, _123,CarC)For, -abc, IF Case D)2a, DO, sizeof答案:B解析: C语⾔规定标识符只能由字母、数字和下划线三种字符组成,且第⼀个字符必须为字母或下划线,排除选项C)和D)。
实验一数据类型和表达式掌握C语言...
实验一数据类型和表达式一.实验目的1.掌握C语言基本数据类型的概念,理解数据类型与运算的关系。
2.熟悉简单变量的定义和赋值方法,掌握不同类型数据之间转换的规律。
3.学习C语言运算符优先级和结合性的概念,掌握算术表达式的计算方法及表达式计算中的类型转换方法。
4.掌握数学式子的表达式表示。
5.进一步熟悉C程序的编辑、编译、连接和运行的过程。
二.实验内容与算法解析1.编程计算下面算术表达式的值,手工计算检测。
(1) x+a%3*(int)(x+y)%2/4 设x=2.5,a=7,y=4.7(2)(float)(a+b)/2+(int)x%(int)y 设a=2,b=3,x=3.5, y=2.52.下面表达式计算中,哪些地方会发生类型转换?各个转换从什么类型转换到什么类型?表达式计算的结果是什么?试编程进行验证。
(1) 2.5+2*7%2/4 (2) 4*(2L+6.5)-12(3) 10/(int)(5.1+3)) (4) 2*10.0/(5*3)3.运行下面程序分析结果:main(){int a,b,c;a=9;b=5;c=24;printf("%d",a%c/b);}4.输入并运行下面程序,对照程序分析运行结果:程序如下:#include <stdio.h>main( ){ int a,b;long d;unsigned e;char c;a=100;c='W';b=-100;d=50000;e=8766;printf("a=%d,b=%d,c=%c,d=%ld,e=%u\n",a,b,c,d,e);}并修改程序测试:1)将a=100;换成a=42569;,会得到什么结果,为什么?2)将b=-100;换成b=c;,会得到什么结果,为什么?3)将e=8766; 换成e=-10;,会得到什么结果,为什么?5.写出程序运行结果,并上机进行验证,并分析原因。
C语言基本数据类型及运算题库有答案
C语言基本数据类型及运算题库有答案第二章基本数据类型及运算一、选择题1. 若以下选项中的变量已正确定义,则正确的赋值语句是。
A) x1=26.8%3; B) 1+2=x2; C) x3=0x12; D) x4=1+2=3;答案:C2. 设变量x为float型且已经赋值,则以下语句中能够将x中的数值保留到小数点后面两位,并将第三位四舍五入的是。
A) x=x*100+0.5/100.0 B) x=(x*100+0.5)/100.0C) x=(int)(x*100+0.5)/100.0 D) x=(x/100+0.5)*100.0答案:C3. 下列C语言中运算对象必须是整型的运算符是。
A) %= B) / C) = D) *=答案:A4. 若有以下程序段:int c1=1,c2=2,c3;c3=1.0/c2*c1;则执行后,c3中的值是。
A) 0 B) 0.5 C) 1 D) 2答案:A5. 设x和y均为int型变量,则以下语句:x+=y; y=x-y; x-=y; 的功能是。
A) 把x和y按从大到小排列 B) 把x和y按从小到大排列C) 无确定结果 D) 交换x和y中的值答案:D6. 下列变量定义中合法的是。
A)short_a=1-.le-1; B)double b=1+5e2.5;C)long do=0xfdaL; D)float 2_and=1-e-3;答案:A7. 以下4个选项中,不能被看作是一条语句的是。
A) {;} B) a=0,b=0,c=0;C) if (a>0); D) if (b==0)m=1;n=2;答案:D8. 设x=1,y=-1,下列表达式中解为8的是。
A)x&y B)~x│x C)x^x D)x<<=3答案:D9. 在C语言中不合法的整数是。
A)20 B)0x4001 C)08 D)0x12ed答案: C10. 以下选项中不正确的实型常量是A)2.607E-1 B)0.8103e0.2 C)-77.77 D)456e –2答案:B)11.若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7 B)a=7+b+c,a++C)int(12.3%4) D)a=a+7=c+b答案:B)12.以下十六进制数中不合法的是A)oxff B)0Xabc C)0x11 D)0x19答案:A)13. 设int i=2,j=3,k=4,a=4,b=5,c=3;,则执行表达式(a=i<j)&&(b=j>k)&&(c=i,j,k)后,c值是。
C语言试题及答案
第1章C语言概述习题1. 单项选择题(1) C 语言是在 B 语言的基础上产生的。
A. 回车符B. 冒号C. 逗号D. 分号(2) 在 C 语言中,每个语句必须以 D 结束。
A. 回车符B. 冒号C. 逗号D. 分号(3) 标识符和关键字间,要用 C 隔开。
A. 回车符B. 冒号C. 空格D. 分号(4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。
A. 生成可执行目标文件B. 生成目标文件C. 输出运行结果D.自动保存源文件(5) 下列说法中正确的是( B )。
A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入C. 由于C 程序是高级语言程序,因此输入后即可执行D. 由于 C 程序是高级语言程序,因此它由命令组成(6) 下列说法中正确的是( A )。
A. C 语言程序由主函数和 0 个或多个函数组成B. C 语言程序由主程序和子程序组成C. C 语言程序由子程序组成D. C 语言程序由过程组成(7) 下列说法中错误的是( D )。
A. 主函数可以分为两个部分:主函数说明部分和主函数体B. 主函数可以调用任何非主函数的其他函数C. 任何非主函数可以调用其他任何非主函数D. 程序可以从任何非主函数开始执行2. 填空题(1) C 语言只有 37 个关键字和 9 种控制语句。
(2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。
(3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。
(4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。
(5) C 语言的程序中有特殊含义的英语单词称为保留字。
(6) C 语言标识符的长度是前 8 位有效。
(7) C 语言中,标识符的定义规则是以字母或下划线为开头。
C语言数据类型和运算符及表达式复习题
数据类型、运算符和表达式复习题一.选择题1. 以下不合法的用户标识符是:()a) f2_G3 b) If c) 4d d) _82. 以下选项中合法的用户标识符是:()a) long b) _2Test c) 3Dmax d) A.dat3. 以下可用作用户标识符的是:()a) 12_a b) signed c) t-o d) _if4. 以下不是关键字的标识符是:()a) continue b) char c) If d) default5. C语言提供的合法的关键字是:()a) swicth b) cher c) Case d) void6. 以下选项中不合法的int整型常数是()a) 32768b) -56 c) 03 d) 0xAF7. 以下合法的长整型常量是()a) 2L b) 49627 c) d) 213&8. 以下正确的实型常量是()a) 1.2E b) . c) 1.2e0.6 d) 89. 以下选项中合法的实型常数是()a) 5E2.0 b) E-3 c) .2E0d) 1.3E10. 以下合法的八进制数是()a) 0135b) 068 c) 013.54 d) o711. 以下合法的十六进制数是()a) 0x b) 0x4de c) 0x1h d) ox7712. 以下选项中非法的数值常量是()a) 019b) 0L c) 0xff d) 1e113. 若变量已正确定义,以下合法的赋值表达式是()a) a=1/b=2 b) ++(a+b)c) a=a/(b=5)d) y=int(a)+b14. 若变量已正确定义,以下非法的表达式是()a) a/=b+c b) a%(4.0)c) a=1/2*(x=y=20,x*3) d) a=b=c15. 设x为int类型,其值为11,则表达式(x++*1/3)的值是:a) 3 b) 4 c) 11 d) 1216.设a,b均为double型,且a=5.5;b=2.5;则表达式(int)a+b/b的值是()a) 6. b) 6 c) 5. d) 6.17.若a为int型,且其值为3,则执行完表达式:a+=a-=a*a后,a的值是()a) -3 b) 9 c) -12 d) 618.设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的值,能正确表示代数式c b a ⋅⋅1的C 语言表达式是( )a) 1/(float)a*b*c b) 1/(a*b*c)c) 1.0/a/b/c d) 1/a/b/(float)c20. 以下变量x,y,z 均为double 型且已正确赋值,不能正确表示代数式z y x⨯的C 语言表达式是( )a) x/y*z b) x*(1/(y*z))c) x/y*1/z d) x/y/z21. 不能正确表示代数式d c b a ⋅⋅的C 语言表达式是( ) a) a/(c*d)*b b) a*b/c/dc) a*b/c*d d) a*b/(c*d)22.若题中变量已正确定义并赋值,下面符合C 语法的表达式是( )a) a%=7.6 b) a++,a=7+b+cc) int(12.3)%4 d) a=c+d=a+723. 若t 已定义为double 型,则表达式:t=1,t++,t+5的值为( ) a) 7 b) 7.0 c) 2.0 d) 1.024. 已有定义: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= 1111c) y=1111 d) y= 1111y= y=+01111 y=+01111 y=111126. 有以下程序: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=* *y=*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.* b) *3.** 3.67* *3.667 ** 4* *4.*c) *3.667* d) *3.**3.* *3.67**3.* *4.*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) 1c) 2.0 d) 235. 有以下程序: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,436. 有以下程序:main(){ int y=3,x=3,z=1;printf(“%d %d\n”,(++x,y++),z+2);}程序运行的结果是:()a) 3 4 b) 4 2c) 4 3 d) 3 337. 有以下程序: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.7c) 6 6 6.0 6.7 d) 6 6 6.7 6.038. 有以下程序:main(){ unsigned a=32768; int b ;b=a ;printf(“b=%d\n”,b);}程序运行的结果是:()a) b=32768 b) b=32767 c) b=-32768d) b=-1 39.有以下语句printf(“%d,%d,%u\n”,016,16,-16);其输出结果是()a) 16,16,65520 b) 14,16,65520c) 16,16,-16 d) 14,16,-1640.若有定义语句:int b=0x17;printf(“%d”,b++);,其正确的输出结果是()a) 23 b) 24 c) 25 d) 2241.有以下程序:main(){ int x=0xffff;printf(“%d\n”,x--);}程序运行的结果是:()a) 32767 b) FFFEc) -1 d) -32768二.填空题1.已有定义:float f=13.8;,则表达式:(int)f%3的值是___1___.2. 已有定义:int x=3;, 则表达式:x=x+1.78的值是___4___.3. 已有定义:double x=3.5; 则表达式:x=(int)x+1的值是_4.__.4. 已有定义:int x=10,y=3,z;, 则表达式:z=(x%y,x/y) 的值是__3___.5. 设a,b,c为整型数,且a的值为2,b的值为3, c的值为4,表达式:a*=16+(b++)-(++c)的值为__28____.6. 已有定义:int x=0,y=0;,则计算表达式:(x+=2,y=x+3/2,y+5)后,表达式的值是_8__,变量x的值是_2__,变量y的值是__3__.7. 已有定义:int x=110,y=017;,则计算表达式:(x++,++y)后,按十进制表示,变量x的值是__111___,变量y的值是__16___。
广技师C语言复习题1. 练习(数据类型和表达式)(有答案)
广技师C语言复习题1. 练习(数据类型和表达式)(有答案)广技师c语言复习题1.练习(数据类型和表达式)(有答案)一、选择题3.若存有代数式3ae/bc,则不恰当的c语言表达式就是。
a.a/b/c*e*3b.3*a*e/b/cc.3*a*e/b*cd.a*e/c/b*34.以下表达式的值3的就是。
a.16-13%3b.2+3/2c.14/3-2d.(2+6)/(12-9)5.建有表明语句:intk=7,x=12则以下能够使值为3的表达式就是.a.x%=(k%=5)b.x%=(k-k%5)c.x%=k-k%5d.(x%=k)-(k%=5)7.在c语言中,要求运算数必须是整型的运算符是。
a./b.++c.!=d.%8.若有说明语句charc=‘\\72’;则变量c。
a.包含1个字符b.包含2个字符c.涵盖3个字符c.表明不合法,c的值不确认9.若存有定义语句:inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值就是。
a.2.500000b.2.750000c.3.500000d.0.00000010.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f的值的数据类型为。
a.intb.floatc.doubled.不确认12.建有表明语句:charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为。
a.floatb.charc.inyd.double答案:1.c2.c3.c4.b5.d6.a7.d8.a9.a10.c11.b12.d二、填空题1.c语言中的标识符就可以存有3种字符共同组成,它们就是、和。
2.在c语言中,用“\\”开头的字符序列称为转义字符。
转义字符“\\n”的功能是;转义字符“\\r”的功能是。
3.在c语言中,用关键字定义单精度实型变量,用关键字定义双精度实型变量,用关键字定义字符型变量。
4.运算符%两侧运算量的数据类型必须都是;运算符++和--的运算量必须是。
c语言第二章课后习题答案
第3章数据类型、运算符与表达式习题答案一、选择题1.以下表示正确常量的是()。
(A) E-5 (B) 1E5.1 (C) 'a12' (D) 32766L【答案】D2.若有定义:int a=1,b=2,c=3,d=4,x=5,y=6; 则表达式(x=a>b)&&(y=c>d) 的值为()。
(A)0 (B) 1 (C) 5 (D) 6【答案】A3.以下()是正确的字符常量。
(A)"c" (B) '\\'' (C) 'W' (D) "\32a"【答案】C4.以下()是不正确的字符串常量。
(A) 'abc' (B) "12'12" (C) "0" (D) " "【答案】A5.以下是正确的浮点数的是()。
(A)e3 (B) .62 (C) 2e4.5 (D) 123【答案】B6.若有定义:int a=2; 则正确的赋值表达式是()。
(A)a-=(a*3) (B) double(-a) (C) a*3 (D) a*4=3【答案】A7.若有定义:int x=1111,y=222,z=33;则语句printf("%4d+%3d+%2d", x, y, z);运行后的输出结果为()。
(A)111122233 (B)1111,222,33(C)1111 222 33 (D)1111+222+33【答案】D8.已有如下定义和输入语句:int a,b;scanf("%d,%d",&a,&b);若要求a、b的值分别为11和22,正确的数据输入是哪一个?()(A)11 22 (B)11,22 (C)a=11,b=22 (D)11;22【答案】B9.已有如下定义和输入语句,int a; char c1,c2;scanf("%d%c%c",&a,&c1,&c2);若要求a、c1、c2的值分别为40、A和A,正确的数据输入是()。
C语言各章节练习题(含答案)
C语言各章节练习题(含答案)一、c语言概述练习题选择1.一个c程序的执行是从。
a)本程序的main函数开始,到main函数结束b)本程序文件的第一个函数已经开始,至本程序文件的最后一个函数完结c)本程序文件的第一个函数已经开始,至本程序main函数完结d)本程序的main函数已经开始,至本程序文件的最后一个函数完结2.以下描述不恰当的就是。
a)一个c源程序必须包含一个main函数b)一个c源程序可由一个或多个函数组成c)c程序的基本组成单位是函数d)在c程序中,注释说明只能位于一条语句的后面3.以下描述恰当的就是。
a)在对一个c程序进行编译的过程中,可发现注释中的拼写错误b)在c程序中,main 函数必须位于程序的最前面c)c语言本身没输入输出语句d)c程序的每行中就可以写下一条语句4.一个c语言程序就是由。
a)一个主程序和若干个子程序组成b)函数组成c)若干过程组成d)若干子程序组成二、数据类型、运算符与表达式选择.1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为。
x=(i=4,j=16,k=32)a)4b)16c)32d)522.下列四组选项中,均不是c语言关键字的选项是。
a)defineiftypeb)getccharprintfc)includecasescanfd)whilegopow3.以下四组选项中,均就是不合法的用户标识符的选项就是。
(c语言标识符由字母,数字,下划线共同组成,结尾无法就是数字)a)wp_0dob)b-agotointc)floatla0_ad)-123abctemp8.未知字母a的ascii码点为十进制数65,且c2为字符型,则继续执行语句c2=‘a’+‘6’-‘3’后,c2中的值。
a)db)68c)不确定的值d)c填空题1.若存有以下定义,则排序表达式y+=y-=m*=y后的y值就是【1】。
-16intm=5,y=2;7.若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为【8】,n的值为【9】。
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解析:关系运算只能两两判断。
C语言习题二数据类型及运算
习题二数据类型及其运算1.已定义c为字符型变量,则下列语句中正确的是______。
A、c='97'B、c="97";C、c=97;D、c="a";解析:本题的考查点是字符型变量。
C语言中,字符型数据和整型数据之间可以通用。
一个字符数据既可以以字符形式输出,也可以以整数形式输出。
所以把整型数据赋给字符型变量,直接用c=97即可,所以选项C正确。
2.以下选项中可作为C语言合法整数的是______。
A、10110BB、0386C、0XffaD、x2a2解析:本题的考查点是C语言中的整型常数。
整型常数可以用十进制、八进制或十六进制表示,并分为有符号数、无符号数和长整数。
由此可知选项A错;选项B,用0386表示八进制错误,因为八进制数为0-7八个数字,含有8是不对的;选项D,数字前加“0x”表示十六进制数,所以D也不对。
故本题答案为C。
3. 以下选项中不能作为合法常量的是______。
A、1.234e04B、1.234e0.4C、1.234e+4D、1.234e0解析:本题考查的是常量表示法。
本题选项中的几个常量都属于指数形式的实型常量。
此种类型的常量要求字母e(或E)之前必需有数字,且e后面的指数必须为整数,所以本题中选项B非法。
故本题答案为B。
4.与十进制数200等值的十六进制数为______。
A、A8B、A4C、C8D、C4解析:本题考查的是进制之间的转换。
用十--十六进制转换法,除16,由下而上取余法。
故本题答案为C。
5. 若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是______。
A、sqrt(abs(n^x+e^x))B、sqrt(fabs(pow(n,x)+pow(x,e)))C、sqrt(fabs(pow(n,x)+exp(x)))D、sqrt(fabs(pow(x,n)+exp(x)))解析:本题考查的是基本函数应用。
实验二数据类型、变量与表达式
C语言程序设计实验指导与习题解答三、注意事项及小结(1)通过本次实验,大家应该初步掌握 Visual C++ 6.0 集成开发环境的使用,包括集成 开发环境的进入、设置、退出,源程序的打开、编辑、保存、编译、运行等内容,能够读懂系 统提示的信息。
这样在今后的学习中,就可以把主要精力放到程序的调试上,提高上机效率。
(2)初学 C 语言程序,容易出错的地方是:①C 语言程序中的标点符号都需是英文输入法下的,如分号、逗号、引号等。
②语句后漏加分号。
如图 219 中编译出错,因为语句 printf("我们一起学习写 C 语言程 序!\n")的最后未加分号。
③使用标识符时,混淆了变量中字母的大小写。
如初学者可能会认为 abc 与 Abc 是同一 个变量,实际 C 编译系统会把它们看作两个不同的变量。
④程序语句中括号不匹配。
C 程序中的括号(如{}和()),引号(如""和''),都必须匹配, 即成对出现,如:例 211 中的源程序,若变为:#include <stdio.h>int main(){printf("我们一起学习写C语言程序!\n";return 0;}则会出现如下错误提示:G:\C例题\例211.c(4) : error C2143: syntax error : missing ')' before ';'即提示在语句“printf("我们一起学习写 C 语言程序!\n";”中分号';'之前少了括号')'。
实验二 数据类型、变量与表达式一、实验目的与要求1.理解数据类型的基本概念。
2.熟练掌握变量的使用方法。
3.熟练掌握运算符与表达式的使用方法。
二、实验内容1.写出下列程序的运行结果,并上机验证。
C语言习题(前五章)参考答案
C 语言习题参考答案第一部分 C 语言基础一、判断题1.对 2.错 3.对 4.对 5.错 6.错第二部分 数据类型、运算符及表达式一、选择题 1.AD 2.B 3.(1)CD (2)BD (3)C (4) B 5.B6.D /*赋值时,若有溢出,则只截取低位*/ 7.(1)AB (2)BD (3)ABCD 8.C 9.D10.C /*A,B 赋值运算符左值只能是变量,不能是表达式或常量,D 是逗号语句*/12.B /*赋值运算符优先级比逗号表达式高*/ 13.A14.D /*八进制数中,合格字符只能是0~7*/ 15.A /*二进制补码*/16.A /*八进制数中,合格字符只能是0~7*/ 17.D 19.B 20.D21.B /*赋值运算符右值的数据类型强制转换为左值的数据类型*/ 22.ABD 23.D 24.C 25.ABD 二、填空题1. 1 , -128~127 ; 2 , -32768~32767 ; 4 ,-2147483648~2147483647 ; 4 ,383810~10 。
3. 单引号, 双引号 。
4. 优先级 , 结合性 。
6. 2.5 。
7. 3.5 。
11. 24 , 10 , 60 , 0 , 12 , 0 12. double 。
14. 9 。
16. 1.5 , 1 。
18. 2 , -2 。
/*余数符号仅由被除数的符号决定*/ 三、判断题1.错 /*如常量*/3.错 /*如float 只能准确表示7位有效数字,多余的位数是近似表示*/4.错5.对6.对 10.错 四、简答题4写出下列各数的二进制补码(写成16为二进制形式):32: 0000 0000 0010 0000 -1: 1111 1111 1111 1111 -32768:1000 0000 0000 0000 2002: 0000 0111 1101 0010 -128: 1111 1111 1000 0000 0: 0000 0000 0000 0000 五、程序阅读 1.aabb[4个空格]cc[6个空格]c A 6 2.9,11,9,10第三部分 顺序结构一、选择题 2.D3.B /*假设int 占2个字节*/4.D5.C 7.C 8.B 9.D 10.B11.C /*D ,scanf 函数的格式符中不能规定小数位数*/ 12.A /*格式控制符:%2d%2d%3d,输入时,前两个空格对应的数字赋给a ,紧挨着的两个空格的位置赋给b*/ 13.C 14.D 15.D 二、填空题 6. %8. -10 12 410.34[回车] 题目补充:scanf 函数的调用形式为:scanf(“%d%d%f ”,&i,&j,&x); 。
第2章 C语言的基本数据类型与表达式习题解答
第2章 C语言的基本数据类型与表达式习题解答1.指出下列常数中哪些是符合C语法规定的?‘\’‘101’“\\” e3 019 0xle “ab\n” 1.e5 (2+3)e(4-2) 5.2e2.5符合C语法规定的常数有:“\\” 019 0xle “ab\n” 1.e5‘\’转义字符不能作字符常量‘101’字符串要双引号,字符要转义字符: ‘\101’e3 浮点常数在e之前应有尾数(2+3)e(4-2) 浮点常数的尾数和指数部分均不能是表达式5.2e2.5 浮点常数的指数部分不能是小数。
2.请找出下列程序中的错误,改正后写出程序运行结果。
⑴#include<stdio.h>void main(){int x,y=z=5,aver; //定义变量时不能连续赋值,aver为正数不能存储带小数的平均数x=7 //以“;”语句结束AVER=(x+y+z)/3 //行末差“;”,AVER为小写, 除数应有小数部分,商才有小数部分printf("AVER=%d\n",aver) //行末差“;”}正确的程序如下:#include<stdio.h>void main(){int x,y=5,z=5;float aver;x=7;aver=(x+y+z)/3.0;printf("AVER=%f\n",aver);}运行结果:AVER=5.666667⑵#include<stdio.h>void main(){char c1='a';c2='b';c3='c';//连续定义变量有“,”分隔int a=3.5;b='A';printf("a=%d b=\'%c\'\"end\"n",a,b); //输出语句无语法错,但格式不清晰printf("a%c b%c\bc%c\tabc\n",c1,c2,c3);}正确的程序如下:#include<stdio.h>void main(){char c1='a',c2='b',c3='c';int a=3.5,b='A';printf("a=%d b=\'%c\' \"end\"\n",a,b);printf("a%c b%c \bc%c \tabc\n",c1,c2,c3);}运行结果:a=3 b='A' "end"aa bbcc abc3.写出下列赋值的结果,表格中写了数值的是要将它赋给其他类型的变量,将所有的空格真上赋值后的数据(实数保留到小数后两位)。
C语言运算符与表达式的练习题答案
C语言运算符与表达式的练习题单项选择题(1)以下选项中,正确的 C 语言整型常量是(D)。
A. 32LB. 510000C. -1.00D. 567(2)以下选项中,(D)是不正确的 C 语言字符型常量。
A. 'a'B. '\x41'C. '\101'D. "a"(3)字符串的结束标志是(C)。
A. 0B. '0'C. '\0'D. "0"(4)算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)。
A. 算术运算、赋值运算、关系运算B. 算术运算、关系运算、赋值运算C. 关系运算、赋值运算、算术运算D. 关系运算、算术运算、赋值运算(5)逻辑运算符中,运算优先级按从高到低依次为(D)。
A. && ! ||B. || && !C. && || !D. ! && ||(6)表达式!x||a==b 等效于(D)。
A. !((x||a)==b)B. !(x||y)==bC. !(x||(a==b))D. (!x)||(a==b)(7)设整型变量 m,n,a,b,c,d 均为1,执行 (m=a>b)&&(n=c>d)后, m,n 的值是(A)。
A. 0,0B. 0,1C. 1,0D. 1,1*(8)设有语句 int a=3;,则执行了语句 a+=a-=a*=a; 后,变量 a 的值是(B)。
A. 3B. 0C. 9D. -12(9)在以下一组运算符中,优先级最低的运算符是(D)。
A. *B. !=C. +D. =(10)设整型变量 i 值为2,表达式(++i)+(++i)+(++i)的结果是(B,上机13)。
A. 6B. 12C. 15D. 表达式出错(11)若已定义 x 和 y为double 类型,则表达式的值是(D)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
表达式运算后 a 的值
a/=a+a a%=(n%=2) a+=a-=a*=a
0 0 0
12.设 int a;float f;double i;则表达式 10+’a’+i*f 值的数据类型是 double 。 13.若 a 为 int 型变量,则表达式(a=4*5,a*2),a+6 的值为 26 。 14.假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为 9 。 15.已知 a,b,c 是一个十进制数的百位,十位,个位,则该数的表达式是 a*100+b*10+c 。 16.定义: double x=3.5,y=3.2;则表达式(int)x*0.5 的值是 1.5 , 表达式 y+=x++ 的值是 6.7 。 17.定义:int m=5,n=3;则表达式 m/=n+4 的值是 0 ,表达式 m=(m=1,n=2,n-m) 的值是 -1 ,表达式 m+=m- = (m=1)*(n=2)的值是 -2 。 19.若 a 是 int 变量,则执行表达式 a=25/3%3 后,a 的值是 2 。 20.数学式子 x 2 x 3x 4 x 5 x 6 x 7 的 C 语言表达式为: x* x* x* x* x* x-2* x* x* x* x* x +3* x* x* x* x +4* x* x* x -5* x* x +6*x+7 三.判断题 1.在 C 程序中对用到的所有变量都必须指定其数据类型。 【 T 】 2.一个变量在内存中占据一定的存储单元。 【 T 】 3.一个实型变量的值肯定是精确的。 【 F 】 4.对几个变量在定义时赋初值可以写成:int a=b=c=3;【 F 】 5.自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。 【 T 】 6.在 C 程序的表达式中,为了明确表达式的运算次序,常使用括号“ () ” 。 【 7.%运算符要求运算数必须是整数。 【 T 】 8.若 a 是实型变量,C 程序中允许赋值 a=10,因此实型变量中允许存放整型数。 【 F 】 9.在 C 程序中,逗号运算符的优先级最低。 【 T 】 10.C 语言不允许混合类型数据间进行运算。 【 F 】 四.简答题 1.为什么 C 语言的字符型可以进行数值运算? 2.简述‘a’和“a”的区别。 3.程序:int m=12; m=15;为什么整型变量 m 的值在运算后不是当初的 12,而是 15? 6.华氏温度 F 与摄氏温度 c 的转换公式为: c 。
6 5 4 3 2
T
】
5 ( F 32) ,则 float c,F;c=5/9*(F-32)是 9
其对应的 C 语言表达式吗?如果不是,为什么?(因为 5ห้องสมุดไป่ตู้9 的值为 0) 五.程序阅读题
1.写出以下程序运行的结果。 aa bb cc A N abc
main ( ) { char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’116’; printf(“a%c b%c\tc%c\tabc\n”,c1,c2,c3); printf(“\t\b%c %c”,c4,c5); } 2.写出以下程序运行的结果。9,11,9,10 main ( ) { int i,j,m,n; i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 六.编程题 1.假设 m 是一个三位数,则写出将 m 的个位,十位,百位反序而成的三位数(例如:123 反 序为 321)的 C 语言表达式。 2.已知 int x=10,y=12;写出将 x 和 y 的值互相交换的表达式。
1 a x ax 的 C 语言表达式为 2 4a 3ae 的 C 语言表达式为 bc
(1.0/2)*( a*x+(a+x)/(4*a) ) 3*a*e/(b*c)
。
9.数学式子
。 38(溢
10.已知:char a=’a’,b=’b’,c=’c’,i;则表达式 i=a+b+c 的值为 出) 。 11.已知 int a=12,n=5;则: 表达式 a+=a a-=2 a*=2+3 24 10 60
x y 不等价的 C 语言表达式是 uv
A
。 D)x/(u*v)*y D)非法数
A)x*y/u*v B)x*y/u/v 14.在 C 语言中,数字 029 是一个 D A)八进制数 B)十六进制数
C)x*y/(u*v) 。 C)十进制数
16.对于 char cx=’ \039’;语句,正确的是 A 。 A)不合法 B)cx 的值是’\03’ C)cx 的值为四个字符 D)cx 的值为三个字符 17.若 int k=7,x=12;则能使值为 3 的表达式是 D 。 A)x%=(k%=5) B)x%=(k-k%5) C)x%=k-k%5 D)(x%=k)-(k%=5) 18.为了计算 s=10!(即 10 的阶乘) ,则 s 变量应定义为 C 。 A)int B)unsigned C)long D)以上三种类型均可
第一章 数据类型,运算符与表达式 一.选择题 1.不合法的常量是 A 。 A) ‘/2’ B) “” C) ‘’ D) “483” 2. B 是 C 语言提供的合法的数据类型关键字。 A) Float B) signed C) integer D)Char 3.在以下各组标识符中,合法的标识符是(1) A , ( 2) C , (3) D 。 (1)A)B01 B) table_1 C) 0_t D) k% Int t*.1 W10 point (2)A)Fast_ B) void C)pbl D)<book> Fast+Big abs fabs beep (3)A)xy_ B)longdouble C)*p D)CHAR 变量 1 signed history Flaut 4. 不属于合法的 C 语言长整型常量的是 C 。 A)5876273 B)0L C)2E10 D)(long)5876273 7.下面选项中,均是合法浮点数的是 B 。 A)+1e+1 B)-0.60 C)123e D)-e3 5e-9.4 12e-4 1.2e-.4 .8e-4 03e2 -8e5 +2e-1 5.e-0 8.在 C 语言中,要求参加运算的数必须是整数的运算符是 C 。 A)/ B)* C) % D) = 9.在 C 语言中,字符型数据在内存中以 D 形式存放。 A)原码 B)BCD 码 C)反码 D)ASCII 码 10.下列语句中,符合语法的赋值语句是 C 。 A)a=7+b+c=a+7; B)a=7+b++=a+7; C)a=7+b,b++,a+7; D)a=7+b = c=a+7; 11. B 是非法的 C 语言转义字符。 A) ‘\b’ B) ‘\0xf’ C) ‘\037’ D) ‘\’ ’ 12.对于语句:f=(3.0,4.0,5.0),(2.0,1.0,0.0);的判断中, B 是正确的。 A)语法错误 B)f 为 5.0 C)f 为 0.0 D)f 为 2.0 13.与代数式
19.以下所列的 C 语言常量中,错误的是 B 。 A)0xFF B)1.2e0.5 C)2L D)’\72’ 20.假定 x 和 y 为 double 型,则表达式 x=2,y=x+3/2 的值是 D 。 A)3.500000 B) 3 C)2.000000 D)3.000000 21.设变量 n 为 float 型,m 为 int 类型,则以下能实现将 n 中的数值保留小数点后两位,第 三位进行四舍五入运算的表达式是 B 。 A)n=(n*100+0.5)/100.0 B)m=n*100+0.5,n=m/100.0 C)n=n*100+0.5/100.0 D)n=(n/100+0.5)*100.0 22.以下合法的赋值语句是 A 。 A)x=y=100 ; B)d―― ; C)x+y ; D)c=int(a+b) ; 23.以下选项中不属于 C 语言的类型是 D 。 A)signed short int B)unsigned long int B)unsigned int D)long short 24.设以下变量均为 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+1,x=y,x+1) 25. 在 16 位 C 编译系统上, 若定义 long a;, 则能给 a 赋 40000 的正确语句是 D 。 A)a=20000+20000; B)a=4000*10; C)30000+10000; D)a=4000L*10L; 二.填空题 1.在 C 语言中 (以 16 位 PC 机为例) , 一个 char 数据在内存中所占字节数为 1 , 其数值范围为 -128~127 ; 2.C 语言的标识符只能由大小写字母,数字和下划线三种字符组成,而且第一个字符必须为 字母或下划线 。 3.字符常量使用一对 ‘ 界定单个字符, 而字符串常量使用一对 “ 来 界定若干个字符的序列。 4.在 C 语言中, 不同运算符之间运算次序存在 优先顺序 的区别, 同一运算符之 间运算次序存在 结合性 的规则。 5.设 x,i,j,k 都是 int 型变量, 表达式 x=(i=4,j=16,k=32)计算后, x 的值为 32 。 6.设 x=2.5,a=7,y=4.7, 则 x+a%3*(int)(x+y)%2/4 为 2.5 。 7.设 a=2,b=3,x=3.5,y=2.5,则(float)(a+b)/2+(int)x%(int)y 为 3.5 。 8.数学式子