当前位置:首页 > C语言练习材料(2014)及选择题解答
C语言补充材料(2014.6)
选择题
一、基础知识
1. 下列叙述错误的是()
A)一个C语言程序只能有一个有一个main( )函数
B)一个C语言程序可以有多个main( )函数 C)C语言程序一条语句可以分写在多行 D)C语言程序一行内可以有多条语句
2. 结构化程序设计采用的方法不包括
( )。
A) 自顶向下、逐步细化 B) 封装、继承和多态 C) 结构化编码 D) 模块化设计
3. C语言的数据类型不包括( )。 A) 整型 B)泛型
C)结构类型 D) 联合类型
4. 若已定义:int x=2, y=3, z=5; 则表达式值
为2的是( )。 A) z=x, z B) x=y=z C) x+y+z D) z=(x, z)
5. 若已定义; int a=1, b=2; ( )是正确的表
达式 A) a*=b+2 B) a+b=2 C) a+b*=2 D) a+/b=2
6. 若已定义:int i=1; 则表达式i+=10的值
为( )。
A)11 B)2 C)10 D)1
7. 若已定义: int x; 拟从键盘输入一个值
赋予x, 正确的函数调用是( )。 A) scanf(“%d”, &x); B) scanf(“ %d”, x); C) scanf(“%f” , &x); D) scanf(“ %f”, x);
8. 若已定义:int t, a, b; 语句t=(a=5, b=a++);
执行后, 变量t、a、b的值依次为( )。 A)5,6,6 B)6,6,6 C)5,6,5 D)6,6,5
9. 若已定义 ; int a=1 ,b=2 ,c= 3 ; 表达式值为0的是()
A )ab>a B )a+b= =c || b == c
C )a+b && a+c D) ab>a
10.若已定义 ; int a=1 ,b=2,c=3 ; 则表达式 a=b= =c的值为( )。
A) 2 B)1 C)3 D) 0
11. 若已定义:int a=1, b=2, c=3; 语句(++b, a)|| (a++, c++) ; 执行后变量a、b、c的值分别是( )。 A) 2 3 3 B) 1 2 3 C) 1 3 3 D) 2 3 4
12. 若已定义: int a=3, b=2, c=1, t; 语句t=++a||!b&&c++; 执行后a、b、c的值分别是( )。 A) 3 2 1 B) 4 0 2 C) 4 2 2 D) 4 2 1
13. 若已定义:char c; int a; float x; double m; 则表达式0.3+a+c+x+m*a值的数据类型为( )。
A)char B)double C)float D)int
14. 若已定义: int a=3, b=2, c=1; 则表达式a+b&&c+100的值是( )。
A)1 B)0 C)104 D)105
15.若已定义:int a=5, b=6;语句printf(“%d*%d=%d\\n”, a+a, b+b, (a+a)*(b+b)); 执行后的输出结果是( ); A)10,12,120 B)5,6,30
1
C)5*6=30 D)10*12=120
16. 若已定义:int m=3, n=4; 则表达式(m++)+n的值是( )。
A)5 B)4 C)8 D)7
17. 若已定义:int a=3, x=4; 语句x+=a++; 执行后变量x的值为( )。
A)7 B)4 C)8 D)6
18. 若已定义: int a=1, b=2, c=3; 则正确的表达式是( )。
A)c=(a,b) B)a+b=c C)a=b+3=c D)a=b\\c
19. ( ) 为合法用户标识符。 A)_abc B)void C)3c D)_a$bc
20.( )为合法的常量。 A)0x100 B)0783 C)?Cprogram? D)2E3.3
21. C语言程序中的函数是由( )组成。 A) 返回值类型和函数名 B)函数名和函数体
C)函数名和参数 D)函数首部和函数体
22. 若已定义: int a=5; 则表达式a-=a+=a*a的值为( )。
A)-20 B)-25 C)0 D)25
23. 要使语句scanf(“%d,%d”, &m, &n); 能够正确接收从键盘输入的值,正确的数据输入形式是( )。 A)10,20 B)10
20
C)1020 D)10 20
24. 若已定义:char c; 则( )是错误的赋值表达式。
A)c=?a? B)c=097 C)c=?\\n? D)c=32
25. 能正确表示数学关系式“k?0或k?10”
的C语言表达式是( )
A)(k<=0)&&(k>=10) B)(k>=0)||(k<=10) C)(k<=0)||(k>=10) D)(k>=0)&&(k<=10)
26. 以下程序段执行后变量a的值为( )。 int x=6, y=4, z=8, m;
m=(x 27. Turbo C中, 占用内存空间最大的是( )。 A)char B)int C)double D)float 28. Turbo C中, 每个signed short int 型数据占用的内存空间为( )字节。 A)2个 B)4个 C)8 个 D)1个 29.下列关于C语言程序的叙述错误的是( )。 A) 一个C语言程序由一个或多个函数组成 B) 注释内容必须放在/*和*/之间 C) 编译时注释部分的错误会被发现 D) 可以在“{}”内写若干语句,构成复合语 句 30. 若已定义: int x=100; 则正确的赋值表达式是( ) A)x=?A? B)x%=0.3 C)x=x+08 D)x=”abc” 31. 若已定义:int a=3, b=2, c=1; 则表达式(float)(a+b)/(c+a)的值是( ) A)1 B)1.25 C)8 D)3.0 32. 若已定义; char c=?E?;int a=9; float x=5; 则表达式c/x-a的值是( ) [已知?A?的ASCII码值为65] A)13.8 B)4 C)5 D)4.8 33. 以下程序段是运行结果是() int m=65 ,n=66 ; char k= ?c? ; printf (“%c-%c-%d \\n”,m,n,k); (注;字母‘A’的ASCII值为65 ) 2 C语言补充材料(2014.6) A) 6566C B) A-B-67 C) 65-66-C D) AB67 34. 下列叙述错误的是 ( )。 A) 程序中算术表达式的书写形式与数学公式完全相同。 B) 整型与字符型变量混合运算的结果是整型 。 C) 赋值运算符的结合方向为“自右向左”。 D) 自增与自减运算符可以用于float型变量。 二、选择结构、循环结构 35. 结构化程序设计的3种基本结构是顺序结构、( )和循环结构。 A)递归结构 B)嵌套结构 C)选择结构 D)逻辑结构 36. 以下程序的运行结果是( )。 #include { int a=4, b=3, c=2, d=1; if(a>b>c) printf(“%d\\n”, d); else if(c-1>=d) printf(“%d\\n”, d+1); else printf(“%d\\n”, d+2); } A)1 B)3 C)2 D)4 37. 若已定义int k, a,b,c ;则语句()与k=a>b?b:c语句的功能等价。 A) if (a>b) k=b ; B) if (k==a) k=b; else k=c; C) if(a>b) k=b; else k=c ; D) if (a>b) k=a; else k=b; 38. 以下程序段,( )。 int a=0; do {++a; }while(1); A) 循环体执行2次 B) 有语法错误 C) 是无限循环 D) 循环体执行1次 39. 以下程序段执行后变量a的值为( )。 int i, a=0; for(i=1; i<=10; i++) {if(i%2==0) continue; a++; ++a; } A)5 B)10 C)0 D)15 40. 以下程序段中循环体的执行次数是( )。 int i=0, a=0; for(i=i+3; i<10; i++) { if(a%3==0) break; a++; } A)10 B)3 C)1 D)7 41. 以下程序段执行后变量a的值为( )。 int i=0, a=0; for(; i-3; i++) a++; A)1 B)3 C)2 D)0 42.以下程序执行时, 循环体执行了( ) # include { int a=1234 ,b=0 ; while (a) { b=b*10+a; a=a/10 ; } printf ( “b=%d\\n”,b); } A 4次 B 3次 C 2次 D 无限次 43. 执行以下程序,输入99,运行结果是( )。 #include 3 { int score; scanf(“%d”, &score); switch(score/10) { case 10: case 9: printf(“A”); case 8: printf(“B”); case 7: case 6: printf(“C”); break; default: printf(“D”); } printf(“\\n”); } A)ABC B)ABCD C)AB D)A 44、以下程序的运行结果是( )。 #include putchar(c+1); break; case 1: case 2: case 3: putchar(c+2); break; default: putchar(c+32); break; } } [已知?A?的ASCII码值为65,?a?的ACSII码值为97] A)D B)C C)b D)E 三、数组 45. 下列叙述正确的是( )。 A) 在定义数组时, 数组的长度可以使用整 型变量 B) 在定义数组时, 数组的长度不可以使用 整型变量 C) 数组元素的下标不能使用字符常量 D) 数组元素的下标可以使用整型变量 46. 以下程序段执行后,a[4]的值为( )。 int a[8]={15,9,23,32,11}; a[4]=a[3]+a[2]+a[1]*a[6]-a[7]; A)64 B)32 C)55 D)63 47. 若已定义:int a[6]={1,2,3,4,5,6}; char c=?b?;表达式值为3的是( )。 A)a[3] B)a[?d?-?c?] C)a[c] D)a[?d?-c] 48. 若已定义: int s[4][3]={{1,6},{1}, {2,8,4},{7,3,5}}; 则s[3][1]的值是( )。 A)3 B) 7 C)2 D)8 49. 若已定义: int a[4][3]; 假设元素a[0][0]在存储空间中的位置序号为1,。 则元素a[2][2]的位置序号应是( )。 A)10 B)7 C)9 D)8 50. 以下程序段的运行结果是( )。 int a[10]={1,1,1,1,1,1,1,1,1,1,1,1,1}, i; for(i=1; i<=5; i++) a[i-1]=a[i-1]-1; for(i=0; i<10; i++) printf(”=”, a[i]); A) 0 0 0 0 0 0 0 0 0 0 B) 1 1 1 1 1 0 0 0 0 0 C) 1 1 1 1 1 1 1 1 1 1 D) 0 0 0 0 0 1 1 1 1 1 51. 以下程序段执行后s的值是( )。 int a[3][4]={1,2,3,4,1,2,3,4,1,2,3,4}; int i, j, s=1; for(i=0; i<3; i++) for(j=0; j s*=a[i][j]; A)16 B)12 C)288 D)144 52. 以下程序段的运行结果是( )。 char a[5]={65,?B?,67,68,69}, I; for(i=4; i>=0; i-=2) 4
共分享92篇相关文档