C理论自测题及参考答案(第1次)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A.(*pc)++ B.ch+=-‘a’+’A’ C.toupper(ch)=ch D.ch++ 13.已知有声明 int a;float f; double i;则表达式 10+'a'+i*f 值的数据类型是______。 A.int B.float C.double D.char 14.表达式 18/4*(int)sqrt(4)/8 值的数据类型为______。 A.int B.float C.double D.char 15.sizeof(float)是一个______。 A.双精度型表达式 B.整型表达式 C.函数调用 D.不合法的表达式 16.以下表达式中正确的是______。 A.d=9+e+f=d+9 B.d=9+e,f=d+9
C 理论自测题及参考答案(第 1 次)
教材第三章习题 3.3, 3.4, 3.5, 3.6, 3.7, 3.8, 3.9, 3.10, 3.11, 3.12 补充题 一、单选题 1.下列四组选项中每项有两个标识符,其中两个均能用作变量 名的选项是______。 A. p_o, do B. 123, _A C.b-a,Int D._123,scanf 2.以下整型常量表示中错误的是。 A.1UL B.0xff00 C.078 D.0x12a 3.以下实型常量表示中正确的是。 A.2.5U B. 2.5L C. 2.5e2.5 D.1E6+2 4.以下字符型常量表示中正确的是。
J.0xffgg K.-0x11 L.0x16 M.-0x123 N.oabc O.0a12 P.7ff Q.-0xa R.0xabcd S.0. T.0f U.8.9e V.3.9E-2.0 W.2e2 2.已知有声明:int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2;则以下表达式中有语法错误的是______。 A. x%(-3) B.w+=-2 C.k=(a=2,b=3,a+b) D.a+=a-=(b=4)*(a=3) E.a=a*3=2 F. y=float(i)
B. FOR C. &a D. _00 28. 已知有声明“int a=3,b=4,c=5; ”,以下表达式中值为 0 的是。 A. a&&b B. a<=b C. a||b&&c D. !(!c||1) 29. 已知有声明“long x,y;”且 x 中整数的十进制表示有 n 位 数字(4<n<10),若要求去掉整数 x 十进 制表示中的最高位,用剩下的数字组成一个新的整数并保存到 y 中,则以下表达式中能正确实现这一功能的是。 A. y=x/(10*(n-1)) B. y=x%(10*(n-1)) C. y=x%(long)pow(10,n-1) D. yห้องสมุดไป่ตู้x%(10 (n-1)) } 30. 设有定义和声明如下: #define d 2 int x=5; float y=3.83; char c='d'; 以下表达式中有语法错误的是 (22) 。
A. x++ B. y++ C. c++ D. d++ 31. 以下语句中有语法错误的是 。 A. printf("%d",0e); B. printf("%f",0e2); C. printf("%d",0x2); D. printf("%s","0x2"); 单选题答案:1-5: DCBCA 6-10:BAADD 11-15: DCCAB 16-20:BBDAB 21-25: DDADB 26-30:CCDCD 31-35: A 二、多选题 1.以下常量表示中,不正确的是______。 A.10u B.–123 C.016 D.018 E.0010 F.-011 G.0a H.0xa I.0x8f
A.一个字符的编码 B.两个字符的编码 C.3 个字符的编码 D.语法错误 9.在 C 语言中,要求操作数必须为整型的运算符是______。 A./ B.++ C.= D.% 10.代数式|x3+log10x|的 C 语言表达式为______。 A.fabs(x*3+log(x))) B.abs(pow(x,3)+log(x)) C.abs(pow(x,3.0)+log(x)) D.fabs(pow(x,3.0)+log10(x)) 11.若有声明“char c2;”, 则执行语句 c2='A'+'6'-'3'后, c2 中的值为______。 A.C B.D C.E D.68 12.若有声明“char ch='a',*pc=&ch;”,则以下表达式中有语 法错误的是。
C. 变量声明 D. 注释 24.已知有声明:“char c=’1’; int x=300; float t=35000; double d=3.1234567e10;”,则以下表达式求值时除外其结果都 可能是不准确的。 A. x=t/c B. t=d/x C. t=d/1e5f D. t=x+c 25.已知某编译系统中表达式 sizeof(int)的值是2,若要求将 数据-70000 正确地保存在变量a中,则应当将变量a声明为。 A.int a; B.long a; C.unsigned int a; D.unsigned long a; 26. 以下叙述中正确的是。 A. C 语言系统以函数为单位编译源程序 B. main 函数必须放在程序开始 C. 用户定义的函数可以被一个或多个函数调用任意多次 D. 在一个函数体内可以定义另外一个函数 27.以下选项中,不能用作标识符的是。 A. print
3.4 答: 对于 long 和 unsigned long 型数据,第一行为高 16 位,第二行 为低 16 位
A.’0xff’ B.’\0xff’ C.’\xff’ D.’ab\n’ 5.以下四组选项中的每项有三个字符型常量表示,其中三个字 符型常量表示均正确的选项是____。 A.'\'','\\','\n' B.'\','\017','\"' C.'\018','\t','xab' D.'\\0','\101','x1f' 6.以下四组选项中每项有三个字符型常量表示,其中三个字符 型常量表示均不正确的选项是____。 A.'\"','\\','\xf' B.'\1011' '\','\\a' C.'\011','\b','\}' D.'\abc','\101','x1f' 7.下面不正确的字符串常量表示是______。 A.'abc' B."12'12" C."0" D."." 8.若有声明 char c='\72',则变量 c 中存储______。
B.char c=32; C.int d=d+1; D.float e=1.23e2.0 21. 以下叙述中正确的叙述是______。 A.在 C 程序中,每行只能写一条语句 B.若 a 是实型变量,C 程序允许赋值 a=10,因此实型变量中允许 存放整型数 C.在 C 程序中,无论是整数还是实数,都能够准确无误地表示 D.在 C 程序中,%是只能用于整数运算的运算符 22.已知某程序如下: float p=1.5; #define p 2.5 main() { printf("%f",p); } 则 main 函数中标识符 p 代表的操作数是。 A. float 型变量 B. double 型变量 C. float 型常量 D. double 型常量 23.一个用 C 语言编写的源程序中,是必不可少的。 A. 取名为 main 的函数定义 B. #include
G. ++a=++b 3.以下能正确计算代数式)2 1(sin 3 12 的 c 语言表达式有 。 A.1/3*sin(1.0/2.0)*sin(1.0/2.0) B.sin(0.5)*sin(0.5)/3 C. pow(sin(0.5),2)/3 D. 1/3.*pow(sin(1/2),2) 4. 已知有声明”int x=1;”则下列表达式中值为 0 的是 。 A.x+=x-=x B.x%(x=x-2) C.x/=x+x D.(x/=4)/2*x 5.设以下表达式中引用的变量均为 int 型,则值等于 7 的表达 式是______。 A.x=y=6,x+y,x+1 B.x=6,x+1,y=6,x+y C.x=y=6,y+=x,++x D.x=(y=6,y++),++x 多选题答案:1. DGJNOPTUV 2. AEFG 3. BC 4. ABCD 5. ACD 三、填空题
C. d=9+e++=d+7 D. (d=9+e)++,d+9 17.设变量 n 为 float 型,m 为 int 类型, 则以下能实现将 n 中的值保留小数点后两位,第三位进行 4 舍 5 入的表达式是______。 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 18.若有声明 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 . 若 有 声 明 int a=7;float x=2.5,y=4.7; 则 表 达 式 x+a%3*(int)(x+y)%2/4 的值是______。 A.2.500000 B.2.750000 C.3.500000 D.0.000000 20.以下声明中正确的是。 A.int a=b=1;
9. sqrt(fabs(x))!=4*a/(b*c) 或 sqrt(fabs(x))!=4*a/b/c10. main 函数定义 11. 32767 12.3.15 四、阅读程序 1.以下程序程序运行后的输出结果是. main() { int m=12,n=34; printf("%d%d",m++,++n); printf("%d%d\n",n++,++m); } 阅读程序答案: 1. 12353514 教材第三章习题参考答案 3.3 答: (1)10: 012,0xA (2)32: 040,0x20 (3)75: 0113,0x4B (4)-617: 0176627,0xFD97 (5)-111: 0177621,0xFF91 (6)2483: 04663,0x9B3 (7)-28654: 0110022,0x9012 (8)21003: 051013,0x520B
1.在声明变量时,类型修饰符 unsigned 一般用于修饰基本类型 中的 int 和 。 2.表达式 25/10%9 的值是______。 3.已知有声明:int a,b; 则表达式(a=2,b=5,b+1,a+b)的值是 ______。 4 . 已 知 有 声 明 : int x,i,j,k; 则 计 算 表 达 式 ” x=(i=4,j=16,k=32)”后,x 的值为______。 5.已知有声明: int a,b;则计算表达式 a+=a-=(b=4)*(a=3)后,变量 a 的值是 。 6.已知有 int a=5;计算表达式 a+=++a 后,a 中的值是 。 7.字符串“\\\22a,0\n ”的长度(即:串中包含的字符个数) 是 。 8 . 若 有 声 明 “ int r=2; ” , 则 执 行 语 句 “printf("%d",sizeof(2*3.14*r));”时输出 。 9.数学表达 式 bc a x4 所对应的 C 语言表达式为 。 10.在一个 C 语言源程序中,必不可少的是。 11.若有声明“int x;”且 sizeof(x)的值为 2,则当 x 值为时 “x+1>x”为假。12.若有声明“float y=3.14619;int x;”, 则计算表达式“x=y*100+0.5,y=x/100.0”后 y 的值是。 填空题答案: 1.char 2. 2 3. 7 4. 32 5. -18 6. 127. 68. 8
相关文档
最新文档