当前位置:文档之家› 201501批次程序设计基础复习大纲(答案)

201501批次程序设计基础复习大纲(答案)

对外经济贸易大学远程教育学院

2014-2015学年第一学期

《程序设计基础》复习大纲

一、单选题

1. 下面描述中不正确的是 ( )

A. 软件不仅仅是程序

B. 程序是指令的集会,计算机语言是编写程序的工具

C. 计算机语言都是形式化语言,它有严格的语法规则和定义

D. 计算机语言只能编写程序而不能表示算法

2. C语言程序的基本单位是 ( )

A. 语句 B. 函数

C. 程序行 D. 字符

3. C语言中字符(char)数据在内存中存储的是 ( )

A. 原码 B. 补码

C. 反码 D. ASCⅡ码

4. 以下错误的转义字符是 ( )

A. ’\\’ B. ’\’’

C. ’\81’ D. ’\0’

5. 已知:char a;int b;float c;double d;执行语句c=a+b+c+d;后,变量c的数据类型是

( )

A. int B. char

C. float D. double

6. 已知:int x=1,y=2,z; 则执行:z=x>y? ++x:++y; 则z的值为 ( )

A. 1 B. 2

C. 3 D. 4

7. 执行下面语句后x的值为 int a=14,b=15,x; char c=’A’; x=((a&&b) && (c<’a’)); ( )

A. TRUE B. FALSE

C. 0 D. 1 8. 下列四个选项中,均是C语言关键字的选项是 ( )

A. auto enum include B. switch typedef continue

C. signed union scanf D. if struct type

9. C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符

( )

A. 必须为字母

B. 必须为下划线

C. 必须为字母或下划线

D. 可以使字母,数字和下划线中任一字符

10. 若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是

( )

A. 2. B. 2. C. 3.

D. 0.

11. 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为

( )

A. int B. float

C. double D. 不确定

12. 表达式(a=3*5,a*5),a+5的值是多少 ( )

A. 20 B. 80

C. 不能确定 D. 15

13. 语句:printf("%d \n",12&&12);的输出结果是 ( )

A. 12 B. 1

C. 24 D. 0

14. 若已定义x和y为double型,则表达式:x=1,y=x+3/2的值是 ( )

A. 1 B. 2

C. 2.0 D. 2.5

15. 若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

printf("%d",(x,y)); 上面程序片段的输出结果是 ( )

A. 200

B. 100

C. 200 100

D. 输出格式符不够,输出不确定的值 16. 表达式:10!=9的值是 ( )

A. true B. 非零值

C. 0 D. 1

17. 若int a,b,c;则为它们输入数据的正确输入语句是 ( )

A. read (a,b,c); B. scanf (“%d%d%d”,a,b,c);

C. scanf (“%D%D%D”,&a,&b,&c); D. scanf

(“%d%d%d’,&a,&b,&c);

18. 若有条件表达式 (exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是

( )

A. (exp==0) B. (exp!=0)

C. (exp==1) D. .(exp!=1)

19. 能正确表示逻辑关系:"a ≥ 10或a ≤ 0"的C语言表达式是 ( )

A. a > =10 or a < =0 B. a > =0

a < =10

C. a > =10 &&a < =0 D. a < =0

a>=10

20. 在下列结论中,只有一个是错误的,它是 ( )

A. C语言允许函数的递归调用

B. C语言中的continue语句,可以通过改变程序的结构而省略

C. 有些递归程序是不能用非递归算法实现的

D. C语言中不允许在函数中再定义函数

21. 已知:int *p,a;则语句“p=&a;”中的运算符“&“的含义是 ( )

A. 位与运算 B. 逻辑与运算

C. 取指针内容 D. 取变量地址

22. 以下能对二维数组a进行正确初始化的语句是 ( )

A. int a[2][]={{1,0,1}{5,2,3}};

B. int a[][3]={{1,2,3},{4,5,6}};

C. int a[2][4]={{1,2,3},{4,5},{6}};

D. int a[][3]={{1,0,1},{},{1,1}};

23. 执行语句for (i=1;i++<4;);后,i的值是 ( ) A. 3 B. 4

C. 5 D. 不定

24. 已知:char **s; 正确的语句是 ( )

A. s=”computer”; B. *s=”computer”;

C. **s=”computer”; D. *s=’A’;

25. 在进行文件操作时,写文件的一般含义是 ( )

A. 将计算机内存中的信息存入磁盘 B. 将磁盘中的信息存入计算机内存

C. 将计算机CPU中的信息存入磁盘 D. 将磁盘中的信息存入计算机CPU

26. 以下对一维整型数组a的正确说明是 ( )

A. int a(10);

B. int n; scanf("%d",&n); int a[n];

C. int n=10,a[n];

D. #define SIZE 10 (换行) int a[SIZE];

27. 以下能正确定义一维数组的选项是 ( )

A. int a[5]={0,1,2,3,4,5}; B. char a[ ]={0,1,2,3,4,5};

C. char a={''A'',''B'',''C''}; D. int a[5]="0123";

28. 程序段:int a=5;printf(“%d\n”,(a=3*5,a*4,a+5)); 的输出结果为 ( )

A. 45 B. 20

C. 15 D. 10

29. 要判断char型变量m是否是数字字符,可以使用下列表达式 ( )

A. 0<=m&&m<=9 B. ’0’<=m && m<=’9’

C. ”0”<=m && m<=”9” D. 前面三个答案均是错误的

30. 以下说法中正确的是( )

A. C语言程序总是从第一个函数开始执行

B. 在C语言程序中, main()函数可有可无

C. C语言程序总是从main()函数开始执行

D. C语言程序中的main()函数必须放在程序的开始部分

31. 表示关系X < =Y < =Z的C语言表达式为( ) A. (X < =Y) && (Y < =Z) B. (X < =Y)AND(Y < =Z)

C. (X < =Y < =Z) D. (X < =Y)&(Y < =Z)

32. 判断字符串a和b是否相等,应当使用( )

A. if(a = = b) B. if(a = b)

C. if( strcpy(a,b) ) D. if (!strcmp(a,b) )

33. 有以下语句:int b;char c[10]; 则正确的输入语句是( )

A. scanf(“%d%s”,&b,&c); B. scanf(“%d%s”,&b,c);

C. scanf(“%d%s”,b,c); D. scanf(“%d%s”,b,&c);

34. C语言中的函数( )

A. 可以嵌套定义 B. 不可以嵌套调用

C. 可以嵌套调用,但不能递归调用 D. 嵌套调用和递归调用均可

35. 程序设计一般包含以下四个步骤,其中首先应该完成的是( )

A. 设计数据结构和算法 B. 建立数学模型

C. 编写程序 D. 调试运行程序

36. 下面描述中,正确的是 ( )

A. 主函数中的花括号必须有,而子函数中的花括号是可有可无的

B. 一个C程序行只能写一个语句

C. 主函数main是C程序启动时唯一的入口

D. 函数体包含了函数说明部分

37. 设int类型的数据长度为2个字节,则unsigned int 类型数据的取值范围是

( )

A. 0~255 B. 0~65535

C. -256~255 D. -32768~32767

38. 已知int i=5;执行语句i+=++i; i的值是 ( )

A. 10 B. 11

C. 12 D. 以上答案都不对

39. 表达式(int)2.1416的值是( )

A. 2 B. 2.1

C. 0 D. 3

40. if语句的控制条件 ( ) A. 只能用关系表达式 B. 只能用关系表达式或逻辑表达式

C. 只能用逻辑表达式 D. 可以用任何表达式

41. 在C语言中,int、char和short三种类型数据所占用的内存 ( )

A. 均为2个字节

B. 由用户自己定义

C. 由所用计算机的机器字长及编译环境决定

D. 是任意的

42. 在C语言中,数字029是一个 ( )

A. 八进制数 B. 十六进制数

C. 十进制数 D. 非法数

43. 若二维数组a有m列,则在a[i][j]前的元素个数为( )

A. . j*m+i B. i*m+j

C. i*m+j-1 D. i*m+j+1

44. 已知:int a,*p=&a;则下列函数调用中错误的是( )

A. scanf(“%d”,&a); B. scanf(“%d”,p);

C. printf(“%d”,a); D. printf(“%d”,p);

45. 下列对字符串的定义中,错误的是 ( )。

A. char str[5]=“QBASIC”

B. char str[ ]=“QBASIC”

C. char *str=“QBASIC”

D. char str[]={‘Q’,‘B’,‘A’,‘S’,‘I’,‘C’}

46. 以下关于运算符优先顺序的描述中正确的是( )

A. 关系运算符 < 算术运算符 < 赋值运算符 < 逻辑运算符

B. 逻辑运算符 < 关系运算符 < 算术运算符 < 赋值运算符

C. 赋值运算符 < 逻辑运算符 < 关系运算符 < 算术运算符

D. 算术运算符 < 关系运算符 < 赋值运算符 < 逻辑运算符

47. 设intx=1,y=1;表达式(!x||y--)的值是( )

A. 0 B. 1

C. 2 D. -1

48. 有定义charch;判断ch的值是否为小写字母的表达式为( )

相关主题