(含答案)程序设计基础与语言 - 复习提纲2014-2015-2 下载本文

A. 4,4 B. 0,1 C. 1,4 D. 0,4

41. 以下叙述中正确的是 C ___ 。 A) break语句只能用于switch 语句中

B) continue语句的作用是:使程序的执行流程跳出包含它的所有循环 C) break语句只能用在循环体内和switch语句体内 D) 在循环体内使用break语句和continue 语句的作用相同

42. 若有说明int a[][3]={1,2,3,4,5,6,7}; 则a数组第一维的大小是 B ___ 。 A) 2 B) 3 C) 4

D) 无确定值

43. 有如下程序, 该程序段的输出结果是 B ___ 。 void main(void) { int n=5; while(n>2)

{

n--;

printf(“%d”,n); }

} A) 543 B)432 C)4321 D)5432

44.下列四种数组定义,合法的数组定义是 A ___ 。 A) char a[ ]=\

C) char a=\

45.若已定义x和y为实型变量,则表达式x=1, y=x+3/2的值是( D )。

A) 1

B) 2

C) 2.0 D) 2.5

46.下列语句中,正确的是 D ___ 。

A) #define PI=3.14159 B) include “stdio.h” C) define M 3 D) #define PI 3.14159 47.判断字符型变量 ch是否为大写英文字母的表达式为 B ___ 。

A) ‘A’<=ch<=‘Z’

B) ch>=‘A’&& ch<=‘Z’

C) ch>‘a’&& ch<=‘z’ D) ch>=‘A’|| ch<=‘Z’

48.设x为整型变量, p是指向整型的指针变量, 则下列赋值表达式正确的是 A ___。

A) p=&x B) p=x C) *p=&x D) *p=*x

49.设有定义:int k=3,*p=&k; 则表达式 *p的值是 ____D____。

A)1 B) 0 C) 2 D) 3

50. 要将字符串str2复制到字符串str1中,应使用的函数是 A ___ 。

A) strcpy(str1,str2); C) strcat(str1,str2); 51. 以下叙述错误的是 B D ___ 。

A) 一个C源程序可由一个或多个函数组成 B) 一个C源程序必须包含一个main函数 C) C程序的基本组成单位是函数

D) 在C程序中,注释说明只能位于一条语句的后面

52.函数调用语句func ((exp1,exp2),(exp3,exp4,exp5));中,实参的个数为 B___ 。

A) 1

B) 2

C) 4

D) 5

B) strcpy(str2,str1); D) strcmp(str2,str1);

53.下面字符数组初始化语句正确且与语句char c[]=\;等价的是 B_ ___ 。

A) char c[]={'s','t','r’,'i’,'n','g'}; B) char c[]={'s','t','r’,'i’,'n','g','\\0'}; C) char c[]={'string'}; D) char c[]='string';

54.运行下面程序段后,i的值是 C___ 。

int i=10; while(i--); printf(\,i); A) 0

B) 1

C) -1

D) 10

55.设 int i=4;则表达式(i= =2)?i:i-1的值为 C ___ 。

A) 1

B) 2

C) 3

D) 4

56.下面不正确的字符串常量是 A ___ 。

A) 'ABC'

B) \

C) \

D) \

57.若定义int d, c=1;则执行下面的语句后,d的值为 A ___ 。

switch(--c)

{ case 0:d=0;break; case 1: case 2:d=1; case 3:

case 4:d=2;break; default:d=3;}

A) 0 B) 1 C) 2 D) 3

58.以下能正确定义变量a,b和c并为它们赋值的语句是 D ___ 。

A) int a=5; b=5; c=5; C) a=5,b=5,c=5;

B) int a,b,c=5;

D) int a=5, b=5, c=5;

59.当定义一个结构体变量时,系统为它分配的内存空间是 D ___ 。

A) 结构中一个成员所需的内存容量 B) 结构中第一个成员所需的内存容量 C) 结构体中占内存容量最大者所需的容量 D) 结构中各成员所需内存容量之和 60.有下列程序段落:

int i,a[5]; for(i=0;i<5;i++)

scanf(“%d”,&a[i]);

若要使数组元素的值分别为1,2,3,4,5,应从键盘输入 _____B____。 A) 1,2,3,4,5↙ B) 1 2 3 4 5↙ C) 12345↙ D) 1;2;3;4;5↙

二、填空题

1.算法是 为解决一个问题而采取的方法和步骤 。

2.C语言的数据类型分为 基本数据类型 和构造类型两大类。 3.程序的三种控制结构是:顺序结构、 选择结构 和循环结构。

4.在循环语句中,break语句的作用是 提前结束循环语句的执行 。 5.C语言规定,函数返回值的类型是由 所定义函数的类型决定的。 6.若用数组名作为函数调用的实参,则传递给形参的是数组的 首地址。 7.按照作用范围可以把变量分为局部变量和 全局变量 。

8.在C语言中,实参和与其对应的形参 各占独立的存储单元 9. 某函数直接或间接调用自身称为该函数的 递归调用 。

10.表达式(int)((double)9/2)-9%2的值是____3____________。//后有详解

11.C语言规定,二维数组元素在内存中是按 行优先 的顺序存储的。

12.设x为int型变量,请写出一个关系表达式 x%7==0&&x%3==0 ,用以判断x同时为3和7的倍数时,关系表达式的值为真。

13.设y为int型变量,请写出描述”y是奇数”的表达式y%2!=0。

14.若定义 int b[7],*p=b; 则p+3表示 &b[3] 。 15.计算机能直接执行的程序是 机器语言程序 。 16.C语言主要是借助 函数 来实现程序模块化

17.C语言的函数由两部分构成,分别是 函数首部 和函数体。

18.C语言本身不提供输入输出语句,输入和输出操作是由 库函数 来完成的。

19.按照C语言规定的用户标识符命名规则,构成C标识符的字符只能是 字母,数字,下划线 三类字符。

20.C语言规定,标识符的第一个字符只能 字母开头 。

21.按照作用范围,可以把C语言的变量分为 全局变量 和局部变量。

22.编译时分配存储单元,作用范围结束后还占据原来存储单元的变量,是用关F键字 static 定义的。

23.C语言规定,二维数组元素在内存中是按照__ 先行后列 (或称为行优先)的顺序存储的。

24.若有定义int a[2][3]={{2},{3}};则值为3的数组元素是 a[1][0] 。 25.若有定义语句:int x=5;,则表达式x+=x-=x*x的值为 -40 。//后有详解

?b?b2?4ac26.将数学表达式写成C语言表达式,为 (-b+sqrt(b*b-4*a*c))/(2*a) 。

2a27.存放其他变量地址的变量称为 指针变量 。

28.若有说明int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[2];,则*(p+4)的值是 7 。//后有详解

29.如果函数先被调用,后被定义,应该在调用之前进行 原型声明 。 30.C语言中,按变量地址访问变量的方式称为 直接访问 。

31.C语言中,按照指针变量访问其他变量的方式称为 间接访问 。

32.函数调用语句:fun( ( exp1, exp2 ), ( exp1, exp2, exp3) ); 含有的实参个数是 2 。 //后有详解

33.若定义函数时未指定返回值的数据类型,则C语言规定:函数返回值的类型为 int 。

34.若要求从键盘读入含有空格字符的字符串,应使用函数 gets() 。 35.C语言允许用户自己建立由不同类型数据组成的组合型的数据结构,称为 结构体类型 ,在其他一些高级语言中称为“记录”。

36.使几个不同的变量共享同一段内存的结构称为 共用体 结构。 37.若有联合数据类型定义如下: union { int a;