C++1-2章习题(01-06)
单项选择题
01下面叙述正确的是( )。
A. 程序中必须包含有输入语句 B. 变量按所定义的类型存放数据 C.main函数必须位于文件的开头 D.每行只能写一条语句
02错误的叙述是( )。
A. 一个C语言源程序可由一个或多个函数组成 B. 若一条语句较长,也可分写在下一行上
C.C程序必须包含一个main()函数 D.构成C语言源程序的基本单元是算术表达式 03()是关于C语言数据类型的正确叙述。
A. 变量必须先定义后使用 B. 不允许使用空类型 C.枚举类型不是基本类型 D.数组并不是构造类型 04 main( )函数的位置( )。
A. 必须在自定义函数前面 B. 可以在自定义函数后面 C.必须位于程序的最前面 D.必须在自定义函数后面 05 C语言函数体由()括起来。 A. < > B. ( ) C.{ } D.[ ]
06()是不正确的叙述。
A. 注释说明只能位于一条语句的后面 B. C源程序的基本组成单元是函数 C.C源程序可由一个或多个函数组成 D.每条语句最后必须有一个分号 07一个C语言源程序是由( )。
A. 一个主程序和若干子程序组成 B. 函数组成 C.若干过程组成 D.若干子程序组成
08结构化程序设计的三种基本结构是( )。
A. 函数结构、判断结构、选择结构 B. 平行结构、嵌套结构、函数结构 C.顺序结构、选择结构、循环结构 D.判断结构、嵌套结构、循环结构 09C源程序的调试是指对源程序进行( )。 A. 录入与编辑 B. 查错与编译 C.查错与排错 D.连接与运行
10C语言中,可将一系列语句置于()从而构成复合语句。 A. 一对尖括号\"< >\"之间 B. 一对圆括号\"( )\"之间 C.一对花括号\"{}\"之间 D.一对方框号\"[ ]\"之间 11构成C源程序的基本单位是( )。 A. 语句 B. 变量 C.运算符 D.函数
12以下叙述中正确的是( )。
A. C源程序中注释部分可以出现在程序中任意合适的地方 B. 一对花括号\"{}\"只能作
.
精品文档
为函数体的定界符
C.C源程序编译时注释部分的错误将被发现 D.构成C源程序的基本单位是函数,所有函数名都可以由用户命名
13下面叙述正确的是( )。
A. 每行最多只能写两条语句 B. 程序中必需含有自定义函数
C.main()函数必须位于源程序文件的开头 D.所有语句都必须以分号\";\"结束
14下面叙述错误的是( )。
A. 若一条语句较长,可分写在下一行或多行上 B. 构成C语言源程序的基本单位是语句
C.C源程序中大、小写字母是有区别的 D.一个C源程序可由一个或多个函数组成 15( )是关于C语言数据类型的正确叙述。
A. 枚举类型不是基本类型 B. 数组不是构造类型
C.变量使用前应定义相应的数据类型 D.不允许使用空类型 16 C源程序中main()函数的位置( )。
A. 必须位于程序的最前面 B. 必须在系统库函数后面 C.可以在自定义函数后面 D.必须在自定义函数前面 17 C语言的函数体由( )括起来。 A. ( ) B. { } C.< > D.[ ]
18下面叙述错误的是( )。
A. C源程序可由一个或多个函数组成 B. C源程序必须包含一个main()函数
C.一个C源程序的执行是从main()函数开始,直到main()函数结束 D.注释说明部分只能位于C源程序的最前面
19在C语言中,合法的字符常量是( )。 A. '字' B. \"A\" C.\"ABC\" D.'\\x41'
20C语言的下列运算符中,优先级最高的运算符是( )。 A. ++ B. += C.|| D.!=
21( )为正确的用户标识符。 A. struct B. 5f C._f 0.6 D._for
22C语言基本数据类型包括( )。
A. 整型、实型、逻辑型 B. 整型、实型、字符型 C.整型、字符型、逻辑型 D.整型、实型、字符串型 23( )为合法的常量。 A. 52686L B. E-7 C.1.2E-2.1 D.'E12'
.
精品文档
24( )为正确的变量名。 A. -k15 B. int C.k_5 D.k.jeep
25( )为正确的字符常量。 A. ''\\\\'' B. \"\\24m\" C.\"c\" D.'M'
26( )为非法的字符串常量。 A. \" \" B. \"s\" C.'efg' D.\"26'62\"
27 C语言整型数据在内存中的代码是用( )表示的。 A. 原码 B. 反码 C.补码 D.BCD码
28以下选项中,合法的实型常数是( )。 A. E-3 B. .2E1 C.1E.5 D.1.5E
29下列C语言合法的数据类型关键字是( )。 A. Double B. unsigned C.integer D.Char
30Turbo C中,int型数据占用的字节数( )。 A. 由用户自己定义 B. 为2个字节 C.是任意的 D.等于所用计算机的字长
31 Turbo C中,基本数据类型存储空间长度的排列顺序是( )。
A. char A. 字符常量用一对单撇号' '作为单个字符的定界符 B. 字符常量和字符串常量一样,都是用双引号括起来 C.字符常量存储时,自动在字符后加一个字符结束符号'\\0' D.字符常量和字符串常量所分配的内存空间大小是一样的 33()为正确的用户标识符。 A. 3_row B. max_at C.union D.min-5 34C语言的基本数据类型包括( )。 A. 整型、实型、字符型 B. 整型、实型、空类型 C.整型、字符型、指针型 D.整型、实型、逻辑型 35( )为合法的常量。 A. 5,326 B. 3.21E-6.5 C.'b_k' D.1.23E+8 . 精品文档 36( )为正确的变量名。 A. 5_pro B. case C.else D.pro_5 37( )为正确的字符常量。 A. 'bcd' B. '\\084' C.'@' D.'165' 38( )为非法的字符串常量。 A. '123' B. \"case\" C.\"056\" D.\" \" 39若有定义 int x=1,y=2,n=3; 则( )为正确的表达式。 A. x=y*3,y=(x+n)/y B. x=ny C.float(y/n) D.(x+y)(y+n) 40已知'A'的ASCII码的十进制值为65,'0'的ASCII码的十进制值为48,则以下程序运行结果是( )。 main() { char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf(\"%d,%c\\n\ } A. 67,D B. C,D C.C,68 D.67,68 41若有定义 int m=6; 则正确的赋值表达式是( )。 A. m*7 B. m*5=8 C.m-=m*6 D.double(-m) 42语句 k=(m=5,n=++m); 运行之后,变量k、m、n的值依次为( )。 A. 5,5,6 B. 5,6,5 C.6,6,5 D.6,6,6 43语句 x=5%4+(4/5); 运行之后,整型变量x的值为( )。 A. 1 B. 2 C.3 D.0 44()语句符合C语言语法。 A. float z=28,int x,y=18; B. int x=25,y=25,z=25; C.int x=25:y=25:z=25; D.int x+y=z; 45若有定义 int a,x; 则语句 a=(x=8,x+8); 运行后,变量a、x的值依次为( )。 A. 16, 8 B. 8, 8 C.16, 16 D.8, 16 46若变量 m, n, t已定义且赋予初值,则正确的表达式是()。 A. m=m+1=t-n B. m=6+n+t,m++ C.m=m\\2 D.m=int(5.6%4) . 精品文档 47若有定义:int a,b; float x,则以下不符合C语言语法的表达式是( )。 A. x%7 B. x/=a-b C.a=b=2 D.x=(float)a/b 48若有定义:int m=4,n=5;float k;,则以下符合C语言语法的表达式是( )。 A. (m+n)*=k B. m=(n==5) C.k=float(n)/m D.n%2.5 49若有定义:int a=6; 则语句 a*=a-=a/=3; 运行后,a的值是( )。 A. 10 B. 0 C.34 D.24 50下面关于C语言变量的叙述中,错误的是( )。 A. 可以用define关键字定义变量 B. 变量名用大小写字母是有区别的 C.C语言允许不同基本类型的变量之间进行混合运算 D.C语言中要求对变量作强制定义的主要理由是:便于确定类型和分配空间 51若有定义:int a=5,b=2; 则表达式b= (a!=5)的值为( )。 A. 5 B. 0 C.3 D.2 52逗号表达式 (a=15,a*4),a+15 的值为( )。 A. 15 B. 30 C.75 D.60 53若有定义:int b=-15; 则( )为正确的赋值表达式。 A. b+=b*3 B. b=*5 C.*b=6 D.b+10=-5 54若有定义:int x,a,b; 语句x=(a=2,b=3,a+b); 运行后,x、a、b的值依次为()。 A. 2 3 5 B. 3 2 5 C.5 2 3 D.5 3 2 55若有定义:int a,b=5; 语句a=(b/2)+b%2; 运行后,a的值为( )。 A. 0 B. 3 C.4 D.2 56()语句符合C语言语法。 A. int a=2,b+=a; B. int a=b=2,c=5; C.float x=2.3,b,c; D.float x=3.2,int i,j=6; 57若有定义:int a=3; 语句a+=a-=a*a; 运行后,a的值为( )。 A. 0 B. -3 C.-12 D.-6 58若有定义:int a,b=6; 语句a=--b; 运行后,a、b的值分别是( )。 A. 5 6 B. 6 5 C.5 5 D.6 6 . 精品文档 59若有定义:int x,y,z; 语句 x=(y=z=3,++y,z+=y); 运行后,x的值为( )。 A. 6 B. 8 C.7 D.3 60下列语句中,符合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; 61()是正确的叙述。 A. (int)5.0/6 与 5/6 等价 B. 'G' 与\"G\" 等价 C.5/6 与 5.0/6.0 等价 D.++3与4 等价 62下面叙述中,错误的是( )。 A. C语言中的表达式求值,是按其运算符的优先级先高后低的次序进行 B. 自增与自减运算符的结合方向为“自右至左” C.关系运算符的优先级低于算术运算符 D.C语言算术运算符不包含模运算符“%” 63( )是正确的叙述。 A. 表达式 \"m\"+\"M\" 是合法的 B. 若变量x, y为整型,则 (a+b)++是合法的 C.强制类型转换运算的优先级高于算术运算 D.表达式 'm' * 'n' 是不合法的 64若有定义 int i=1,j=9; 则表达式 (++j)*(i--) 的值为( )。 A. 0 B. 10 C.9 D.8 65设整型变量x为7,使整型变量y不为2的表达式是( )。 A. y=x%3 B. y = x/3 C.y =(++x)/3 D.y=8-(--x) 66若已定义 int a=3,b=2,c=1; 则语句 ++a||++b&&++c; 运行后b的值为( )。 A. 0 B. 3 C.1 D.2 67若有定义:int i=5,j=4;则语句 i/=++j; 运行后i的值为( )。 A. 10 B. 1 C.1.25 D.0 68若已定义:int a=2,b=2; 则表达式 (a+(b++), b) 的值是( )。 A. 2 B. 3 C.4 D.6 69若有定义:int r,x=245; 则语句 r=x/100%9; 运行后r的值为( )。 A. 2 B. 5 C.0 D.27 70若已定义:int i=6,t; 则语句 t=3+(--i); 运行后t的值为( )。 A. 9 B. 7 C.8 D.5 . 精品文档 71C语言的 % 运算符按运算对象的个数属( )。 A. 单目运算符 B. 四目运算符 C.双目运算符 D.三目运算符 72若已定义:int a=5,b=9,c=6; 则语句 b++; ++c; a=b-c; 运行后a的值为( )。 A. 5 B. 3 C.2 D.4 73下面叙述正确的是( )。 A. 2/3 与 2%3 等价 B. 5/(int)4.0 与 5/4 等价 C.++2 与 3 等价 D.++2与--3 等价 74下面叙述错误的是( )。 A. 算术运算符中只有\"*\"、\"/\"优先级高于关系运算符 B. 模运算符\"%\"是C语言基本的算术运算符 C.自加和自减运算符只能用于变量,而不能用于常量或表达式 D.算术运算符中不包含\"=\"运算符 75下面叙述正确的是( )。 A. C语言中整型与字符型变量的混合运算表达式的结果是整型 B. (3+9)++ 是正确表达式 C.模运算符\"%\"两边运算数的数据类型是任意的 D.\"abc\"+\"xxx\"是正确表达式 76若有定义:int i=3,j=6; 则表达式(--i)*(j++)的值为( )。 A. 18 B. 15 C.12 D.10 77 getchar()函数的功能是获取终端输入的( )。 A. 多个字符 B. 一个字符 C.一个实型变量值 D.一个整型变量表达式 78 若有定义 int a=8,b=5; 要实现输出形式为: 8*5=40 ,正确的printf()函数调用语句是( )。 A. printf(\"a*b=%d\\n\ B. printf(\"a*b=a*b\\n\"); C.printf(\"%d*%d=a*b\\n\ D.printf(\"%d*%d=%d\\n\ 79若有定义:char c1='A',c2='B'; 语句printf(\"%d+%d=%d\运行后的结果为( )。(说明:'A'的ASCII码的十进制值为65) A. A+B=131 B. 65+66=AB C.A+B=AB D.65+66=131 80以下程序运行时,若从键盘输入5,则输出结果是( )。 main() { int a; scanf(\"%d\ if(a++>5) printf(\"%d\\n\ else printf(\"%d\\n\ } A. 7 B. 4 . 精品文档 C.5 D.6 81若已定义 float x; 要从键盘输入数据36.582给变量x,则应选用()语句。 A. scanf(\"%2.3f\ B. scanf(\"%6f\C.scanf(\"%6.3f\ D.scanf(\"%5.3f\ 82若已定义 double y; 拟从键盘输入一个值赋给变量y,则正确的函数调用是( )。 A. scanf(\"%d\ B. scanf(\"%7.2f\C.scanf(\"%lf\ D.scanf(\"%ld\ 83已有定义 char s; 使用scanf( )函数输入一个字符给变量s,不正确的函数调用是( )。 A. scanf(\"%c\ B. scanf(\"%d\C.scanf(\"%u\ D.scanf(\"%lf\84函数putchar( ) 的功能是向终端输出( )。 A. 一个字符 B. 多个字符 C.一个关系表达式 D.一个实型变量值 85若已定义 int a=11; 执行以下语句后的输出结果是( )。 printf(\"a=%d,a=%o,a=%x\\n\ A. a=11, a=11, a=b B. a=11, a=13, a=b C.a=11, a=13, a=c D.a=11, a=12, a=13 86若有定义 int m=4321,n=123,k=21; 语句printf(\"%4d+%3d+%2d\执行后的输出结果是( )。 A. 4321432143211231231232121 B. 43211232 C.4321+123+21 D.432+123+02 87已有如下定义和输入语句, char c1,c2;int x; scanf(\"%c%d%c\ 若要求x、c1、c2的值分别为9、'K'和'H',正确的数据输入是( )。 A. K9H B. K 9 H C.K9 H D.9KH 88以下程序段的运行结果是( )。 int a=1; printf(\"%d, %d, %d\\n\ A. 3,3,1 B. 2, 2, 1 C.1, 2, 3 D.3, 2, 1 89以下程序的运行结果是( )。 void main() { int a=65; char c='A'; printf(\"%d+%c=%d\\n\ } A. A+A=AA B. 65+A=65A C.65+65=130 D.65+A=130 90若已定义:int x=7;float y=7.0; 以下语句中能输出正确值的是( )。 A. printf(\"%d %d\ B. printf(\"%d %.3f\C.printf(\"%.3f %.3f\ D.printf(\"%.3f %d\ . 精品文档 91putchar函数可以向终端输出一个( )。 A. 字符或字符型变量值 B. 整型变量表达式值 C.实型变量值 D.字符串 92若已定义:int a=6;float b=1.5; 要求输出形式为: 6 * 1.50=9.00 ,应选用的正确输出语句是( )。 A. printf(\"%d * %f=%f\ B. printf(\"%d * %.2f=%.2f\C.printf(\"%d * %d=%.2f\ D.printf(\"%.2f * %.2f=%.2f\93若有定义 float x; 要从键盘输入数据6.02赋给x,则应选用( )语句。 A. scanf(\"%8.2f\ B. scanf(\"%1.2f\C.scanf(\"%4.2f\ D.scanf(\"%f\94 只能向终端输出一个字符的是()。 A. printf()函数 B. scanf()函数 C.getchar()函数 D.putchar()函数 95 若有语句 int a; char c; scanf(\"%3d%c\为将整数135赋给a,字符'6'赋给c,正确的数据输入方式是( )。(说明: 96若有定义:int a=1,b=2,c=3,d=4,t=2,k=2; 语句(t=a97若有定义:int x=1,y=2,z=3; 则表达式( )的值为0。 A. !((x 99若有定义: int a; 且表达式 !a的值为0,则表达式( )的值为1。 A. a!=0 B. a==0 C.a=0 D.!(a<0 || a>0) 100有以下程序: main() { int c; while((c=getchar())!= '\\n') { switch(c-'2') { case 0 : case 1 : putchar(c+4); case 2 : putchar(c+4); break; case 3 : putchar(c+3); default: putchar(c+2); break; } } . 精品文档 printf(\"\\n\"); } 当输入:247<回车>,程序的输出结果是()。 A. 689 B. 6689 C.66778 D.66887 101若已定义 int x=5,y=9,z; 语句 z=x>=y; 运行后z的值为( )。 A. 1 B. .t. C.0 D..f. 102判定逻辑值为“真”的最准确叙述是( )。 A. 1 B. 大于0的数 C.非0的整数 D.非0的数 103若已定义 int x=-16,y=-12,z; 语句z=x<=y; 运行后z的值为()。 A. .t. B. 1 C..f. D.0 104能正确表示数学关系式 100≤s<300的表达式为( )。 A. (s>=100) & (s<300) B. 100<= s<300 C.(s>=100) && (s<300) D.(s>=100) and (s<300) 105若定义 int a=2,b=3; 则表达式 !a||b 的值为( )。 A. 0 B. 1 C.2 D.3 106若定义 int a=-5,b=-8,c=-12; 则表达式 a>=b||b 108若有定义:int a=3,b=2,c=3; 则值为0的表达式是( )。 A. (a-b)==(c/b) B. a>=c C.c-b||a+b&&(b*c-a-c) D.(b*c-a-c)&&(b*c-a-b) 109若已定义:int x=4,y=2,z=0; 则表达式 (x-y<=y)|| (y=z)的值是( )。 A. 1 B. 0 C.2 D.4 110若有定义:int a=3,b=2,c=1,k; 则表达式k=a>b>c的值是( )。 A. 0 B. C.2 D.3 111以下运算符中优先级最高的是( )。 A. <= B. && C.|| D.! 112执行以下语句后,b的值是( )。 int a=5,b=6,c=1,x=2,y=3,z=4; . 精品文档 (a=c>x) || (b=y>z); A. 0 B. 1 C.-1 D.6 113 x的值在-20至-5之间为“真”,否则为“假”的正确逻辑表达式为( )。 A. -20 . D.!(a%2==0) 因篇幅问题不能全部显示,请点此查看更多更全内容