第一范文网 - 专业文章范例文档资料分享平台

C语言程序设计A课程教学模拟卷4及答案

来源:用户分享 时间:2025/5/26 4:28:22 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

页眉内容

中央广播电视大学2008秋季

C语言程序设计A课程试卷(5)

题 号 得 分 一 二 三 四 五 总 分 2012年1月考

一、单选题(每小题2分,共20分)

1. 程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用( )符号作为分隔符。

A. 空格或逗号 B. 逗号或回车 C. 逗号或分号 D. 空格或回车 2. 逻辑表达式(x>0 && x<=10)的相反表达式为( )。

A. x<=0 || x>10 B. x<=0 && x>10 C. x<=0 || x<=10 D. x>0 && x>10

3. 当处理一个问题时的循环次数已知时,最好采用( )循环来解决。 A. for B. while C. do-while D. switch

4. 假定i的初值为0,则在循环语句“while(i

A. n-1 B. n C. n+1 D. n/2 5. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为( )。

A. 2 B. 4 C. 6 D. 8

6. 在下列选项中,不正确的函数原型格式为( )。

A. int Function(int a); B.void Function (char); C. int Function(a); D.void int(double* a);

7. 假定p是一个指向float类型的数据指针,则p+1所指向的数据的地址比p所指向的数据的地址大( )个字节。

A. 1 B. 2 C. 4 D. 8

8. 假定有一条定义语句为“int m=7, *p;”,则给p赋值的正确表达式为( )。 A. p=m B. p=&m C. *p=&m D. p=*m 9. 假定指针变量p定义为“int *p=malloc(sizeof(int));”,要释放p所指向的动态存储空间,应调用的函数为( )。

A. free(p) B. delete(p) C. free(*p) D. free(&p) 10. C语言中的系统函数fopen()是( )一个数据文件的函数。 A. 读取 B. 写入 C. 关闭 D. 打开 二、填空题(每小题2分,共26分)

1. 用于输出表达式值的标准输出函数的函数名是________。 2.每个C语言程序文件在编译时可能出现有致命性错误,其对应的标识符为________。 3. 已知'A'?'Z'的ASCII码为65?90,当执行“int x='C'+3;”语句后x的值为________。 4. 表达式(int)14.6的值为________。

5. 假定不允许使用逻辑非操作符,则关系表达式x+y>5的相反表达式为___________。 6. 假定x=5,则执行“a=(x?10:20);”语句后a的值为________。 7. 假定一维数组的定义为“char* a[M];”,则该数组所占存储空间的字节数为________。

页眉内容

8. 存储字符串\需要至少占用存储空间中的________个字节。 9. strlen()函数用于计算一个字符串的________。

10. 在C语言中,一个函数定义由函数头和__________这两个部分组成。

11.假定p所指对象的值为25,p+1所指对象的值为46,则执行表达式*(p++)后,p所指对象的值为________。

12. 假定p是一个变量,则用________表示该变量的地址。

13. 把间接访问表达式p->name改写成对应的直接访问表达式为____________。 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1. #include void main() { int n=6, y=1; while(n--) y+=3; printf(\ }

2. #include void main() {

int i,s=0;

for(i=1;i<8;i++)

if(i%2==0 || i%3==0) s+=i; printf(\ }

3. #include void main() {

char a[]=\ int i1=0, i2=0, i=0; while(a[i]) {

if(a[i]<'e') i1++; else i2++; i++; }

printf(\ }

4. #include void main() {

int a[8]={4,8,12,16,20,24,28,32}; int *p=a; do {

printf(\ p+=3;

} while(p

5. #include

struct Worker { char name[15]; int age; double pay;};

页眉内容

void main() {

struct Worker a[4]={{\ {\ int i, s=0;

for(i=0; i<4; i++) s+=a[i].age; printf(\ }

四、写出下列每个函数的功能(每小题6分,共12分) 1. int SC(int a, int b, int c) { if(a>=b && a>=c) return a; if(b>=a && b>=c) return b; return c; }

函数功能:

2. int* LI(int n) {

int* a=malloc(n*sizeof(int)); int i;

for(i=0;i

函数功能:

五、按题目要求编写函数(每小题6分,共12分) 1. 编写一个函数,函数原型为“int fun4(char* a)”,请采用while循环求出由字符指针a所指向的字符串中包含的十进制数字的个数,并把这个值作为函数值返回。

222

2. 编写一个主函数,计算并输出表达式1+2+3+...+n的值,假定正整数n的值由键盘输入。

页眉内容

中央广播电视大学2008秋季

C语言程序设计A课程试卷答案及评分标准(5)

(供参考)

一、单选题(每小题2分,共20分)

1. D 2. A 3. A 4. B 5. C 6. C 7. C 8. B 9. A 10. D 二、填空题(每小题2分,共26分)

1. printf 2. error 3. 70 4. 14 5. x+y<=5 6. 10 7. 4*M 8. 2

9. 长度 10. 函数体 11. 46 12. &p 13. (*p).name 三、写出下列每个程序运行后的输出结果(每小题6分,共30分)

评分标准:根据答案正确程度酌情给分。 1. y=19 2. s=15 3. 7 4 4. 4 16 28 5. s=36.50

四、写出下列每个函数的功能(每小题6分,共12分)

评分标准:根据叙述的正确与完整程度酌情给分。 1. 求出a,b,c三个数中的最大值并返回。

2. 首先建立一个动态整型数组a[n],接着从键盘上输入n个整数到a[n]中,最后返回数组a[n]的首地址。

五、按题目要求编写函数(每小题6分,共12分)

评分标准:根据编写函数的正确与完整程度酌情给分。 1. int fun4(char* a) {

int n=0; //1分 while(*a) { //2分 if(*a>='0' && *a<='9') n++; //4分 a++; //5分 }

return n; //6分 }

2. #include void main() {

int n,i, s=0; //1分 scanf(\分 for(i=1; i<=n; i++) s+=i*i; //5分 printf(\分 }

注:若s的初值为1,则循环变量i的初值应修改为2。

C语言程序设计A课程教学模拟卷4及答案.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c76rea7ett11jxus0hkxz44s0w0d4pn00w6t_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top