《C程序设计》模拟试题二及参考答案

  • 格式:doc
  • 大小:71.00 KB
  • 文档页数:10

下载文档原格式

  / 10
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

《 C 程序设计》考试试题

( 120 分钟)

一、单项选择题(每小题 2 分,共 60 分)

1 .自定义标识符中,符合 C语言规定的是 _______ 。

A)for B)3a C)*a D)_123

2 . C语言程序的基本单位是 _______ 。

A)程序行 B)语句 C)函数 D)字符

3 . g etche( )函数的功能是 _______ 。

A)从键盘读入一字符串 B)从键盘读入一字符

C)从键盘输出一字符串 D)从键盘输出一字符

4 .下面有关 for 循环的正确描述是 _______ 。

A)for循环只能用于循环次数已经确定的情况

B) for循环是先执行循环语句,后判定表达式

C) 在for循环中,不能用break语句跳出循环体

D) for循环体语句中,可以包含多条语句,但要用花括号括起来

5. 为表示关系100≥x≥10,应使用C语言表达式 _______ 。

A)(100>=x)&&(x>=10) B)(100>=x) AND (x>=10)

C)(100>=x>=10) D)(100>=x)&(x>=10);

6.定义int a; float f; double i; 表达式 15+i*f+ˊAˊ的值是 _______ 。

A) float B) int C) char D)double

7.下列有关字符数组与字符串的说法中,正确的是 _______ 。

A)字符数组中存放的一定是一个字符串

B)所有的字符数组都可以被当作字符串处理

C)对存放字符串的字符数组可像一般数组一样对数组中单个元素操作

D)一个字符数组可以认为就是一个字符串

8 .下面程序要求从键盘上输入值并打印,请选择正确的输入方法 _______ 。main( )

{ int a,b;

scanf("x=%d,y=%d",&x,&y);

printf("x=%d,y=%d\n",x,y);

}

A)5,6 B) x=5, y=6 C)5↙6 D)5 6

9.为避免在嵌套的条件语句 if-else中产生二义性,C语言规定:else子句总是与 _______ 配对。( A)缩排位置相同的if (B)其之前最近的if

( C)其之后最近的if (D)同一行上的if

10 .定义如下变量和数组:

int i; int x[3][3]={1,2,3,4,5,6,7,8,9};

则下面语句的输出结果是 _______ 。

for(i=0;i<3;i++) printf("%d",x[i][2-i]);

A)1 5 9 B)1 4 7 C)3 5 7 D)3 6 9

11 .在定义了 int a[3][2];之后,对a的引用正确的是 _______ 。

A)a[3][2] B)a[3][0] C)a[0][0] D)a[0,0]

12 .若要求在 if后一对圆括号中表示a不等于0的关系,则能正确表示这

一关系的表达式为 _______ 。

A)a< >0 B)! a C)a=0 D)a

13.执行以下程序段后,m的值为 _______ 。

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

int m,*p; p=&a[0][0];

m=(*p)+(*(p+2))+(*(p+4));

A)9 B)8 C)7

D)6

14.下列对字符串的说法中,错误的是 _______ 。

A)字符串就是一个字符数组

B)字符串可以整体输入输出

C)字符串可以比较大小

D)存储字符串所需的内存空间等于字符串的长度

15.若有以下定义和语句,则输出结果是 _______ 。

char s1= " 12345 " , s2=" 1234 "

printf("%d\n",strlen(strcpy(s1,s2)));

A)4 B)5 C)9 D)10

16.有一函数关系见下表:

x y=

x<0 x-1

x=0 x

x>0 x+1

下面程序中能正确表示上面关系的是 _______ 。

( A)y=x+1; (B)y=x-1;

if(x>=0) if(x!=0)

if(x==0) y=x; if(x>0) y=x+1;

else y=x-1; else y=x;

( C)if(x<=0) (D)y=x;

if(x<0) y=x-1; if(x<=0)

else y=x; if(x<0) y=x-1;

else y=x+1; else y=x+1;

17.以下正确的程序段是 _______ 。

A)char str[2]; B)char *p;

scanf("%s",&str); scanf("%s",p);

C)char str[20]; D)char str[20],*p=str;

scnaf("%s",&str[2]); scanf("%s",p[2]);

18.以下正确的函数定义形式是 _______ 。

A)double fun(int x,int y)

B)double fun(int x;int y)

C)double fun(int x,int y);

D)double fun(int x,y);

19.以下有关宏替换不正确的是 _______ 。

A)宏替换不占用运行时间 B)宏名无类型

C)宏替换只是字符替换 D)宏名必须用大写字母表示

20.

有如下语句 int a=10,b=20,*p1,*p2;p1=&a;p2=&b;如图1所示。若要实现图2所示的存储结构,可选用的赋值语句是 _______ 。