C复习参考题
- 格式:doc
- 大小:159.41 KB
- 文档页数:21
一选择题(共 45题)1.对类的构造函数和析构函数描述正确的是()。
A.构造函数可以重载,析构函数不能重载√B.构造函数不能重载,析构函数可以重载C.构造函数可以重载,析构函数也可以重载D.构造函数不能重载,析构函数也不能重载2.继承具有(),即当基类本身也是某一个类派生类时,底层的派生类也会自动继承间接基类的成员。
A)规律性 B.传递性√ C.重复性 D.多样性3.假设OneClass为一个类,则该类的复制初始化构造函数的声明语句为()。
(OneClass p); B. OneClass& (OneClass p );C. OneClass(OneClass & p);√D. OneClass (OneClass * p);4.对于结构中定义的成员,其默认的访问权限为()。
B. protected D. static5.下面对静态数据成员的描述中,不正确的是()。
A.静态数据成员可以在类体内进行初始化√B.静态数据成员不可以在类体内进行初始化C.静态数据成员能受private控制符的作用D.静态数据成员调用前必须初始6. C++中的类有两种用法:一种是类的实例化,即生成类对象,并参与系统的运行;另一种是通过()派生了新的类。
A.复用B.继承√C.封装D.引用7. 假定AA为一个类,a为该类公有的数据成员,x为该类的一个对象,则访问x对象中数据成员a 的格式为()。
A. x(a)B. x[a]C. x->aD. √9. 对于一个类的构造函数,其函数名与类名( )。
A. 完全相同√B. 基本相同C. 不相同D. 无关系10. 一个类的构造函数通常被定义为该类的( )成员。
A. 公有√B. 保护C. 私有D. 友元11. 一个类的析构函数通常被定义为该类的( )成员。
A. 私有B. 保护C. 公有√D. 友元12. 一个类的静态数据成员所表示属性 ( )。
A. 是类的或对象的属性B. 只是对象的属性C. 只是类的属性√D. 类和友元的属性13.类的析构函数的作用是()。
01计算机本身最擅长的能力是?A、推理B、想像C、重复D、分析正确答案: C、重复。
02 计算机(CPU)能够直截了当运行人类编写的程序A、√B、×正确答案: B、×、03编程语言是与计算机交谈的语言A、√B、×正确答案: B、×。
04 关于C语言,以下讲法错误的有:A、C语言是与Unix操作系统一同发展起来的B、C语言不能写图形界面的软件C、C语言一般是编译执行的D、C语言诞生于1970年代正确答案: B、C语言不能写图形界面的软件、06 IDE的中文翻译是什么?正确答案是:集成开发环境、07 给定:int a,b; 以下哪些scanf的使用是正确的?A、scanf("%d”,&a); scanf(”%d",&b);B、scanf(”%d %d”, &a, &b);C、scanf("%d, %d", &a,&b);D、scanf("%d%d”, a, b);正确答案: A、scanf("%d”,&a); scanf(”%d", &b);。
B、scanf(”%d%d", &a, &b);、C、scanf(”%d,%d”,&a,&b);、08 以下哪些是有效的变量名?A、mainB、4everC、monkey—kingD、__int正确答案:A、main。
D、__int。
09给定:inta,b; scanf("%d %d", &a, &b);则以下哪些输入方式是正确的?A、1 2B、1,2C、1(回车)2D、1、2正确答案:A、1 2。
C、1(回车)2、10给定以下代码段:inta,b=0;则a的初始值是0A、√B、×正确答案: B、×、11写出下式的运算结果:10/3、0*3 正确答案是:10、0。
12写出下式的运算结果:10/3*3、0正确答案是:9、0。
综合练习一、判断题1.在Trubo_C中运行一个C程序时,实际上是运行后缀为.EXE的可执行文件。
2.在C语言中整数可用十进制数、八进制数和二进制数三种数制表示。
3.在程序的运行过程中,整型常量的值是可以改变的。
4. C程序中,用/* 和 */界定的部分称之为注释,注释部分对程序的运行不起作用。
5.大括弧 { } 只能用来括复合语句。
6. do_while语句构成的循环不能用其它循环语句来代替。
7.不能用scanf 函数输入字符。
8.在 C 程序中,函数的定义不可以嵌套,但函数的调用可以嵌套。
9. 一个变量的作用域取决于变量定义语句在程序中出现的位置。
10.C 语言的一个编译预处理命令用 # 开始,最后加分号。
11. C语言源程序文件经过编译、连接之后生成一个后缀为.EXE的文件。
12. C语言中以 %o开头的数是八进制整数。
13.在程序的运行过程中,符号常量的值是可以改变的。
14.在 C 程序中,APH 和 aph 代表不同的变量。
15.一个复合语句在语法上被认为是一条语句。
16. 只能用while语句构成循环。
17.不能用printf函数输出字符。
18. C程序中各函数之间既允许直接递归调用也允许间接递归调用。
19. 在函数外部定义的变量称为全局变量。
20.宏定义的命令行可以看作是一条C 语句。
21. C语言源程序是可以用来直接运行的程序。
22. C语言中以 %x 开头的数是十六进制整数。
23. C程序中定义的变量,代表内存中的一个存储单元。
24.在 C 程序中,9ab是非法的用户标识符。
25. C语句必须用一个分号作为结束。
26. do_while语句构成的循环不能用break语句退出。
27. scanf 函数是 c 语言的标准输入函数。
28. C程序的main函数不能有参数。
29. 在函数内部定义的变量称为局部变量。
30.用#include包含的头文件的后缀必须是.h。
31. C 语言程序的三种基本结构是顺序结构、选择结构和循环结构。
第一单元程序设计和C语言一、选择题1.C语言的基本构成单位是: A 。
A. 函数B. 函数和过程C. 超文本过程D. 子程序2.一个C语言程序总是从 B 开始执行。
A. 主过程B. 主函数C. 子程序D.主程序3.C语言的程序一行写不下时,可以 D 。
A. 用逗号换行B. 用分号换行C. 在任意一空格处换行D. 用回车符换行4.以下叙述不正确的是: C 。
A. 在C程序中,语句之间必须要用分号";"分隔B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数C. 在C程序中,无论是整数还是实数都能正确无误地表示D. 在C程序中,%是只能用于整数运算的运算符5.以下不正确的C语言标识符是 D 。
A. ABCB. abcC. a_bcD. ab.c6.下列字符串是标识符的是:。
?A. _HJB. 9_studentC. longD. LINE 17.以下说法中正确的是: C 。
A. C语言程序总是从第一个定义的函数开始执行B. 在C语言程序中,要调用的函数必须放在main()函数中定义C. C语言程序总是从main()函数开始执行D. C语言程序中的main()函数必须放在程序的开始部分8.不合法的常量是: B 。
A. ...\2‟ B. "" C. ...3‟ D. (483)9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。
int k,a,b;unsigned long w=5;double x=1.422;A. x%(-3)B. W += -2C. k=(a=2,b=3,a+b)D. a+=a=+(b=4)*(a=3)10.在C语言中,字符型数据在内存中以 D 形式存放。
A. 原码B. BCD码C. 反码D. ASCII码11.若有定义:int a=7; float x=2.5; y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是: A 。
选择题复习1.表达式“(a=4*5, b=a*2), b-a, a+=2”的值是(C)。
A.2 B.20 C.22 D.422.以下是一个自定义函数的头部,其中正确的是(C )。
A.int fun(int a[ ], b) B.int fun(int a[ ], int a)C.int fun(int*a, int b) D.int fun(char a[ ][ ], int b)3.以下数组声明语句中正确的是(D )。
A.int n, a[n]; B.int a[ ];C.int a[2][3]={{l},{2},{3}}; D.int a[ ][3]={{l},{2},{3}};4.已知在某C语言编译系统中表达式sizeof(int)的值是2,如果希望将常量-70 000正确地保存在一个变量a中,该变量声明语句应当是(B )。
A.int a; B.long int a; C.unsigned int a; D.unsigned int a;5.以下声明语句中,用于声明一个行指针变量的是(C )。
A.int *p(int); B.int *p; C.int (*p)[3]; D.int (*p)(int);6.在以下程序中,需要在fun函数中声明一个int型的变量,以下选项中(A )不能用做该变量的名字。
#include <math.h>int y;main( ){ int a=1;fun(a);}int fun(int x){_______; /*int型变量声明语句位置*/… /*若干执行语句*/}A.x B.y C.fabs D.fun7.如有语句“int x,y=0,z,*p[3]; p[0]=&x; p[1]=&y; p[2]=&z;”,以下表达式中有语法错误的是(B )。
A.y++ B.p++ C.*++p[0] D.(*p[0])++8.设有声明语句“int a[3][3]={1,2,3,4,5,6,7,8,9};”,以下语句中除(D )外均能输出a[1][2]的值。
第二部分选择题1.假设整型变量a为2,使b的值为0的表达式是( )。
A)b=a/2 B)b=6-(--a) C)b=a%2 D)b=a>3?0:1提示正确答案为C2. 假设x=2.5,a=7,y=4.7,则表达式:x+a%3*(int)(x+y)%2/4的值为()。
A)2.5 B)2.75 C)3 D)9.5 提示正确答案为A3. 假设a=3,b=4,c=5,则逻辑表达式: !(a+b)+c-1&&b+c/2的值是( )。
A)true B)false C)0 D) 1 提示正确答案为D4. 假设所有变量均为整型,则表达式:(a=2,b=5,b++,a+b)的值为()。
A)7 B)8 C)6 D)2 提示正确答案为B5. 设整型变量x的值为5,y的值为2,则值为1的表达式是( )。
A)!(y==x/2) B)y!=x%3 C)x>0&&y<0 D)x!=y||x>=y6.已知a=12,表达式a+=a-=a*=a的值为()。
A)144 B)-12 C)0 D)24 提示正确答案为C6. 在下面C语言的函数说明语句中,正确的是()。
A) int fun(int x, int y);B) int fun(int x,y);C) int fun(x,y);D) int fun(int x; int y); 提示正确答案为A7. 设有整型变量a, 实型变量f,双精度型变量x,则表达式10+'b'+x*f值的类型为( )。
A) int B) float C) double D) 不能确定提示正确答案为C8. 若有int k=5; float x=1.2;则表达式(int)(x+k)的值是()。
A)5 B)6.2 C)7 D)6 提示正确答案为D9. 表达式k=(12<10)?4:1?2:3的值为()。
A) 1 B) 2 C) 3 D) 4 提示正确答案为B10. 下列哪组运算符的优先级相同且运算次序从左到右()。
数据类型、运算符和表达式复习题一.选择题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) 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) o711。
以下合法的十六进制数是( )a) 0x b) 0x4de c) 0x1h d) ox7712. 以下选项中非法的数值常量是( )a) 019 b) 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。
一、选择题1. 以下程序的运行结果是。
#include <stdio.h>int main( ){ int m=5, n=10;printf(“%d, %d\n〞,m++, --n);return 0;}A.5,9 B.6,9 C.5,10 D.6,102. 有定义语句int a,b; ,假设要通过语句scanf(“%d, %d〞, &a, &b); 使变量a得到数值6,变量b得到数值5,下面形式中错误的选项是。
〔注:□代表空格〕A.6,5<回车> B.6,□□5<回车>C.6 5<回车> D.6,<回车>5<回车>3. 以下程序的输出结果是。
〔注:□代表空格〕#include <stdio.h>int main( ){ printf(“\n*s1=%15s*〞, “chinabeijing〞);pirntf(“\n*s2=%-5s*〞, “chi〞);return 0;}A.*s1=chinabeijing□□□*B.*s1=chinabeijing□□□* *s2=**chi* *s2=chi□□*C.*s1=*□□chinabeijing* D.*s1=□□□chinabeijing* *s2=□□chi* *s2=chi□□*4. 已有如下定义语句和输入语句,假设要求a1, a2, c1, c2的值分别为10、20、A 和B,当从第一列开始输入数据时,正确的数据输入方法是。
〔注:□代表空格〕int a1,a2; char c1, c2;scanf(“%d%c%d%c〞,&a1,&c1,&a2,&c2);A.10A□20B<回车> B.10□A□20□B<回车>C.10□A□20B<回车>D.10A20□B<回车>5. 已有定义int x; float y; 且执行scanf(“%3d%f〞, &x,&y); 语句,假设从第一列开始输入数据12345□678<回车>,则x的值为〔1〕,y的值为〔2〕。
《C语言程序设计》复习参考资料一.选择题1.以下关于运算符优先顺序的描述中正确的是(C )。
A.关系运算符< 算术运算符< 赋值运算符< 逻辑与运算符B.逻辑运算符< 关系运算符< 算术运算符< 赋值运算符C.赋值运算符< 逻辑与运算符< 关系运算符< 算术运算符D.算术运算符< 关系运算符< 赋值运算符< 逻辑与运算符2.下列选项中合法的变量名是__C______A.#define B.int C.a594_3D. abs(x)3.以下正确的描述是( A )。
A.break语句的作用是结束整个循环的执行B.在C程序中,注释说明只能位于一条语句的后面C.在循环体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出时, 只能使用goto语句4.以下说法正确的是( C )A.#define 和printf 都是C 语句。
B.#define 是C语句,而printf不是。
C.若程序中要调用数学函数,必须在文件开头输入语句 #include “math.h”D.#define 和printf 都不是C 语句。
5.下面的函数定义正确的是_____D_________A)float fun (float x ; float y) {return x*y;}B)float fun (float x,y) {return x*y;}C)float fun (x,y) {int x,y;return x*y;}D)int fun (int x, int y) {re turn x*y;}6.执行下面语句后的输出为( D )int i=-1;if (i<=0) printf(“****\n”)else printf(“%%%%\n”)A). **** B). %%%%C). %%%%c D). 有语法错误,不能正确执行7.以下程序的输出结果是( A )void main( ){int k=17;printf("%d, %o, %x \n ", k, k, k );}A). 17, 21, 11 B). 17, 17, 17C). 17, 0x11, 021 D). 17, 21, 18.以下不正确的叙述是( C )A)#define是宏定义命令B)宏定义只是做简单的置换,不做正确性检查C)宏定义是C语句,必须在行末加分号D)printf是C语句,但#define不是。
9.一个C语言程序是由( D )A) 一个主程序和若干子程序组成 B)若干子程序组成C) 若干过程组成 D) 函数组成10.C语言规定,在一个源程序中,main()函数的位置( C )。
A.必须在最开始B.必须在最后C.可以任意D.必须在系统调用的库函数的后面11.以下对二维数组a的正确说明是( C )。
A) int a[3][]; B) floatf a(3,4);C) char a[1][3]; D) float a(3)(5);12.若有说明:int a[3][2]={10};则下面正确的叙述是( A )A)只有元素a[0][0]可得到初值10 。
B)此说明语句不正确:。
C)数组a中各元素都可得到初值,但其值不一定为0。
D)数组a中每个元素均可得到初值1013.以下叙述不正确的是(C )。
A) 一个C源程序可由一个或多个函数组成B) 一个C源程序必须包含一个main函数C) C程序的基本组成单位是语句D) 只能在循环体内和switch语句体内使用break语句14.为了避免在嵌套的条件语句If一else中产生二义性,C语言规定else子句总是与( B )配对。
A) 缩排位置相同的if B) 其之前最近的未配对的ifC) 之后最近的if D) 同一行上的if15.能正确表示a和b同时为正或同时为负的逻辑表达式是( B )A)(a>=0||b>=0)&&(a<0||b<0)B)(a>0&&b>0)||(a<0&&b<0)C)(a+b>0)&&(a+b<=0)D) (a-b>0)&&(a-b<=0)16.已知x =5,ch='A',y=0,则表达式(x > = y && ch<'a'&&!y) 的值是( C )A) 0 B) 语法错C) 1D) "假"17.下列关于单目运算符++、--的叙述中正确的是( D )A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量D) 它们的运算对象可以是char型变量、int型变量和float型变量18.下面的程序( B )void main(){ int x=3;do {printf(“%d\n”,x-=2);} while(!(--x));}A). 输出的是1 B). 输出的是1和-2C). 输出的是3和0 D). 是死循环19.如下程序:void main( ){ int a=6; printf(“%d\n”,(a+=3,2*a)); }执行后,输出结果是( D )A) 9 B) 6 C) 2 D) 1820.若有以下说明和语句,请选出哪个是对C数组元素的正确引用( D ) int c[4][5], (*cp)[5]; cp=c;A). cp+1 B). *(cp+3) C). *(cp+1)+3 D). *(*cp+2) 21.下面程序的输出是( B )main(){ int x=023;printf("%d\n", --x); }A). 17 B). 18 C). 23 D). 2422.执行下列程序的结果是( B )main(){ float x=1,y; y=++x*++x; printf(“%f\n”,y); }A). 9.000000 B). 6.000000C). 1.000000 D). 程序有错误23.下面程序的输出是( A )main(){ int a[10]={1,2,3,4,5,6,7,8,9,10}, *p=a;printf("%d\n", *(p+2) ); }A). 3 B). 4 C). 1 D). 224.执行下面程序中的输出语句后,a的值是( B )main(){ int a;printf("%d\n", (a=3*5,a*4,a+5) ); }A). 65 B). 20 C). 15 D). 1025.下面程序的输出是( C )main(){ int a=-1, b=4, k;k=(a++<=0)&&(!(b--<=0));printf("%d %d %d \n", k, a, b ); }A). 0 0 3 B). 0 1 2 C). 1 0 3 D). 1 1 2 26.设有如下的程序段:char str[]="Hello"; char *ptr; ptr=str;执行完上面的程序段后,*(ptr+5)的值为( B )A). '0' B). '\0' C). 不确定的值 D). '0'的地址27.在宏定义# define PI 3.14159中,用宏名PI代替一个( C )A).单精度数 B).双精度数C).常量 D).字符串28.若i是整型变量,pb是基本型为整型的指针变量,则正确的赋值表达式是( A )A). pb=&i B). pb=i C). *pb=&i D). *pb=*i29.有以下程序段int m=0,n=0; c har c=’d’;scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:6D6<回车>,则输出结果是(C )A) 0,d,6 B) 6,d,6 C) 6,D,6 D) 6,D,030.printf()函数中用到格式符%-7s ,其中数字7表示输出的字符串占用7列。
如果字符串长度小于7,则输出按方式( A )A) 从左起输出该字串,右补空格B) 按原字符长从左向右全部输出C) 右对齐输出该字串,左补空格D) 输出错误信息31.以下能正确地定义整型变量a,b和c 并为其赋初值3的语句是( A )A) int a=3,b=3, c= 3;B) int a,b, c= 3;C) a= 3,b=3,c=3; D) a= b= c=3;32.以下程序的输出结果是( D )void main( ){int x=6,y=6,i;for(i=2;x>4;y=++i)printf("%d,%d ",x--,y);}A) 5,5 5,3 B) 6,6 2,3 C) 6,5 5,2 D) 6,6 5,333.以下程序的输出结果是( B )void main( ){int w=4;int fun(int k);fun(w);printf("\n");}fun(int k){if(k>0) fun(k-1);printf("%d ",k); }A) 4 3 2 1 B) 0 1 2 3 4C) 1 23 4 D) 4 3 2 1 034.下面程序的输出是( B )main(){ int x=023;printf("%d\n", --x); }A). 17 B). 18 C). 23 D). 2435.以下程序的输出结果是( C )main(){ char ch[3][4]={ "123","456","78"},*p[3]; int i;for(i=0;i<3;i++) p[i]=ch[i];for(i=0;i<3;i++) printf("%s",p[i]);}A). 123456780 B). 123 456 780C). 12345678 D). 147*36.下面程序的输出结果为( B )char *alpha[6]={"ABCD","EFGH","IJKL","MNOP","QRST","UVWX"};char **p;void main( ){int i; p=alpha;for(i=0;i<4;i++)printf("%c",(*p)[i]);printf("\n");}A). EIMC B). ABCD C). EFGH D). AEIM37.定义如下变量:float i=9.0 ;int j=3 ;则i%j的值是( D )A.0 B.3.0C. 3 D.语法有错38.有以下程序void main( ){ int p[7]={11,13,14,15,16,17,18},i=0,k=0;while(i<7&&p[i]%2) {k=k+p[i]; i++;}printf("%d\n",k);}执行后输出结果是( D )A) 58 B) 56 C) 45 D) 2439.以下程序的输出结果是( A )void main( ){ int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p;p=&x[1][1];for(i=0;i<6;i+=3)printf("%d ",p[i]);}A) 5 2 B) 5 1 C) 5 3 D) 9 7 40.以下程序的输出结果是( A )# include <string.h>int main( ){ char *a=”abcdefghi”;void fun( char *s );fun(a);puts(a); return 0;}void fun(char *s ){ int x,y;char c;for(x=0,y=strlen(s)-1;x<y;x++,y--){ c=s[y];s[y]=s[x];s[x]=c; }}A). ihgfedcba B). abcdefghiC). abcdedcba D).ihgfefghi41.int main( ){int i,a[]={5,6,9,11};for (i=0;i<4;i++){ if (a[i]%2==0) continue;printf("%d ",a[i]);}}执行后输出结果是( C )A) 编译出错 B 6 C) 5 9 11 D) 5 6 9 1142.以下对数组的定义正确的是( D )A)int x(10); B)int x[5]={0,1,2,3,4,5};C)int n=10; x[n]; D)int x[ ]= {0,1,2,3,4};43.以下叙述中不正确的是( B )A)switch是多分支结构语句B) continue语句的作用是使程序的执行流程跳出包含它的所有循环C) break 语句只能用在循环体内和switch语句体内D)在循环体内使用break语句和continue语句的作用不相同44.如下程序:void main( ){ int i=1,j=2,k=3;if((j++|| k++)&&i++)printf("%d,%d,%d\n",i,j,k);}执行后输出结果是( D )A) 1,2,3 B) 2,2,4 C) 2,3,4 D) 2,3,3 45.以下叙述中,不正确的是( C )A)算法应该具有有穷性、确定性以及有效性等特点B) 算法可以用传统流程图、N-S流程图以及伪代码等形式来描述C) 基本结构只有顺序、选择、循环3种结构D)结构化程序设计的思想是自顶向下、逐步细化、模块化设计以及结构化编码46.在C语言中,函数返回值的类型最终取决于( D )A) 函数定义时形参的类型 B)return语句中表达式值的类型C) 调用函数时主函数所传递的实参类型 D)函数定义时在函数首部所说明的函数类型47.以下程序的输出结果是( C )void main(){int i;for(i='a';i<'i';i++,i++)printf("%c",i-32);printf("\n");}A) 编译不通过,无输出 B) aceg C) ACEG D) ABCDEFGI*48.若有以下的说明:struct person{char name[20];int age;char sex;}a={"li ning",20,'m'},*p=&a;则对字符串li ning的引用方式不可以是( B )A). (*p).name B). p.nam e C). D). p->name49.下面的程序输出是( B )int m=13;int fun2(int x,int y){int m=3;return(x*y-m);}main(){int a=7,b=5;printf("%d\n",fun2(a,b)/m);}A). 1 B). 2 C). 7 D). 1050.下面的程序输出是( A )main(){ int x=100,a=10,b=20,ok1=5,ok2=0;if(a<b)if(b!=15)if(!ok1)x=1;elseif(ok2) x=10;x=-1;printf("%d \n", x ); }A). -1 B). 0 C). 1 D). 不确定的值51.若有以下定义:int a[ ]={1,2,3,4,5,6,7,8,9,10}, *p=a;则值为3的表达式是(A )A). p+=2,*(p++) B). p+=2,*++pC). p+=3,*p++ D). p+=2, ++*p52.下面程序的输出是( A )int aa[3][3]={ {2},{4},{6} };void main(){int i, *p=&aa[0][0];for(i=0;i<2;i++){ if(i==0)aa[i][i+1]= *p+1;else++p;printf("%d", *p ); }}A). 23 B). 26 C). 33 D). 3653.下面程序的输出是( D )void prtv(int *x){ printf("%d\n", ++*x ); }void main(){ int a=25; prtv(&a); }A. 23B. 24C. 25D. 2654.以下程序的运行结果是( B )void main( ){char a[10]={'1','2','3','4','5','6','7','8','9','\0'};char *p;int i=8;p=a+i;printf("%s\n",p-2);}A) 6 B) 789 C) '6' D) 67855.执行以下3条语句之后,则k的值是__C____int x=4,y=7 ; x++ ;y+=2 ;k=y%x;A)1 B) 2 C)4 D)356.以下程序段for ( k = 0, m = 4; m ; m - = 2 )for( n = 1; n< 4 ; n++) k++;循环体语句” k ++;”执行的次数是_______C_______A)16 B)12 C)6 D)857.在C语言中(以16位PC机为例),5种基本数据类型的存储空间长度的排列顺序为(C )A) char=int<1ong int<=float<doubleB) char< int <1ong int=float=doubleC) char<int <1ong int<=float<doubleD) char=int =1ong int<=float<double58.已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='d'十'1'一'3';后,c2中的值为( A )A)b B) 68 C) 不确定的值D) f59.表达式18/4*sqrt(4.0)/8值的数据类型为: ( C )A) int B)float C)double D)不确定60.能正确表示"当x 的取值在[1,10]和[50,60]范围内为真,否则为假"的表达式是(C )。