c语言程序设计试题3

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

C语言试题-3

一、选择题(评分标准20 分,每小题2分)

1. 以下选项中可作为C语言合法常量的是________。

(A) -80. ( B) -080 (C) -8e1.0 (D) -80.0e

2. 以下叙述中正确的是________。

(A) 用C程序实现的算法必须要有输入和输出操作

(B) 用C程序实现的算法可以没有输出但必须要输入

(C) 用C程序实现的算法可以没有输入但必须要有输出

(D) 用C程序实现的算法可以既没有输入也没有输出

3. 已有定义:char a[]="xyz",b[]={'x','y','z'};,以下叙述中正确的是________。

(A) 数组a和b的长度相同(B) a数组长度小于b数组长度

(C) a数组长度大于b数组长度(D) 上述说法都不对

4. 以下叙述中错误的是________。

(A) 数组名代表的是数组所占存储区的首地址,其值不可改变。

(B) 当程序执行中,数组元素的下标超出所定义的下标范围时,系统将给出“下标越界”的出错信息。

(C) 对于double类型数组,不可以直接用数组名对数组进行整体输入或输出。

(D) 可以通过赋初值的方式确定数组元素的个数。

5. 以下叙述中正确的是________。

(A) 预处理命令行必须位于源文件的开头

(B) 在源文件的一行上可以有多条预处理命令

(C) 宏名必须用大写字母表示

(D) 宏替换不占用程序的运行时间

6. 表达式strlen(”hello”) 的值是________。

(A)4 (B)5 (C)6 (D)7

7. 设变量定义为“int a, b;”,执行语句scanf(“a=%d, b=%d”,&a, &b);时,输入________,则a和b的值都是10。

(A)10 10 (B)10, 10 (C)a=10 b=10 (D)a=10, b=10

8. 以下与函数fseek(fp,0L,SEEK_SET)有相同作用的是_______。

(A) feof(fp) (B) ftell(fp) (C) fgetc(fp) (D) rewind(fp)

9. 以下语句或语句组中,能正确进行字符串赋值的是________。

(A) char *sp="right!"; (B) char s[10];s="right!";

(C) char s[10];*s="right!"; (D) char *sp;*sp="right!";

10. 设变量定义为“int a[4];”,则表达式________不符合C语言语法。

(A)*a (B)a[0] (C)a (D)a++

二、判断题(评分标准20分,每小题2分)

1. 一个C程序的执行是从本程序文件的第一个函数开始,到main函数结束。

2. 在C程序中,用整数0表示逻辑值“假”。

3. C语言中while 和do-while 循环的主要区别是do-while的循环体至少无条件执行一次。

4. 设变量定义为char s[]=“hello”,则数组s中有6个元素。

5. 对以下语句的正确理解是将5 个初值依次赋给a[6] 到a[10]。

int a[10] = {6, 7, 8, 9, 10};

6. 若变量已正确定义,表达式x=y=1符合C语言语法。

7. 表达式!(x>0‖y>0)等价于!(x>0&&!(y>0)。

8. C语言规定简单变量作实参时,它与对应形参之间的数据传递方式是实参和形参间来回传递。

9. 在C源程序中将语句“if(x==5) y++;”误写成“if(x=5) y++;”,将导致编译错误。

10. fscanf函数的正确调用格式为:fscanf (fp, 格式字符串,输出表列); 。

三、填空题(评分标准10分,每小题2分)

1. 在C语言中,NULL的数值为________。

2. 如果定义结构体

struct student {

int id;

int age;

} * s;

则如果要表示其成员变量id,可以用________。

3. C程序是由函数构成的。其中有并且只能有________个主函数。

4. 在内存中存储“A”要占用________个字节。

5. 若定义:int a=88,*b=&a;,则printf("%d\n",*b);的输出结果为。

四、程序改错题(评分标准20分,每小题5分)

1. 假设该程序输入10个数字:1 2 3 4 5 6 7 8 9 10,则程序运行结果:1--3--5--7--9-- 。

#include

void main()

{ int i;

for(i=0;i<10;i++)

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

for(i=0;i<10;i++)

{ if (a[i]%2=0) /*$*/

continue;

else

printf("%d--",a[i]);

}

}

说明:

该程序中“/*$1*/”行中的语句if (a[i]%2=0) 有错误,请改正(注意:不得加行、减行、加句、减句)。

运行样例1:1 3 2 6 10 20 8 12 5 3 运行结果:1--3--5--3--

答案:if(a[i]%2==0)

2. 以下程序的功能是输入一个正整数,判断是否是素数,若为素数输出1,否则输出0。

#include

void main()

{ int i, x, y=1;

scanf("%d", &x);

for(i=2; i>x/2; i++) /*$1*/

if(x%i==0)

{ y=0;

break;

}

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

}

说明:

该程序中“/*$1*/”行中的语句for(i=2; i>x/2; i++) 有错误,请改正(注意:不得加行、减行、加句、减句)。

运行样例1:7 运行结果:1

答案:for(i=2; i<=x/2; i++)

3. 假设该程序输入两个数据:2 3,程序运行结果为:2。

#include "stdio.h"

int *fun(int *a,int *b)

{ int m;

相关文档
最新文档