对外经济贸易大学远程教育学院
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的值是否为小写字母的表达式为( )