中央电大秋C语言程序设计A试题
国家开放大学C语言程序设计A第二次形考任务及答案

int a[3][4]={{1,2,7,8},{5,6,10,6},{9,12,3,4}};
int m=a[0][0];
int i,j;
for(i=0; i<3; i++)
for(j=0; j<4; j++)
if(a[i][j]>m) m=a[i][j];
printf("%d\n",m);
printf("%d %d\n",i1,i2);
}
4 4
题目38
#include<stdio.h>
int a[10]={4,5,6,15,20,13,12,7,8,9};
void main()
{
int i,s[4]=0;
for(i=0; i<10; i++) {
switch(a[i]%4) {
case 0: s[0]+=a[i];break;
为了结束本层循环类语句或switch语句的执行过程,在语句体中需要使用break语句。对
题目14
在程序中执行到break语句时,将结束所在函数的执行过程,返回到调用该函数的位置。错
题目15
在程序执行完成任一个函数调用后,将结束整个程序的执行过程,返回到操作系统或C语言集成开发环境界面窗口。错
题目16
a. int a[]={1,2,3};
b. int a[10]={0};
c. int a[];
d. int a[5];
题目8
在下面的二维数组定义中,语法正确的选项是()。
a. int a[5][];
b. int a[][5];
国家开放大学C语言程序设计A第二次形考任务及问题详解

一、选择题〔共20分,每一小题2分〕当处理特定问题时的循环次数时,通常采用的语句是〔〕。
a. forb. whilec. do-whiled. switch题目2在switch语句的每个case块中,假定都是以break语句完毕的,如此此switch语句容易被改写成的语句是〔〕。
a. forb. ifc. dod. while题目3for语句能够被改写成的语句是〔〕。
a. 复合b. ifc. switchd. while题目4下面循环语句执行完毕后输出的i值为〔〕。
for(int i=0; i<n; i++) if(i>n/2) {cout<<i<<endl; break;}a. n/2b. n/2+1c. n/2-1d. n-1题目5在下面循环语句中,内层循环体S语句的执行总次数为〔〕。
for(int i=0; i<n; i++)for(int j=i; j<n; j++) S;a. n2b. (n+1)/2c. n(n-1)/2d. n(n+1)/2题目6在下面的do循环语句中,其循环体被执行的次数为〔〕。
int i=0; do i++; while(i*i<10);a. 4b. 3c. 5d. 2题目7在下面的一维数组定义中,有语法错误的选项是〔〕。
a. int a[]={1,2,3};b. int a[10]={0};c. int a[];d. int a[5];在下面的二维数组定义中,语法正确的选项是〔〕。
a. int a[5][];b. int a[][5];c. int a[][3]={{1,3,5},{2}};d. int a[](10);题目9假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};〞,如此元素a[1][1]的值为〔〕。
a. 2b. 4c. 6d. 8题目10假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};〞,如此元素a[2][1]的值为〔〕。
国家开放大学C语言程序的设计A第二次形考任务与答案

一、选择题(共20分,每小题2分)当处理特定问题时的循环次数已知时,通常采用的语句是()。
a. forb. whilec. do-whiled. switch题目2在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写成的语句是()。
a. forb. ifc. dod. while题目3for语句能够被改写成的语句是()。
a. 复合b. ifc. switchd. while题目4下面循环语句执行结束后输出的i值为()。
for(int i=0; i<n; i++) if(i>n/2) {cout<<i<<endl; break;}a. n/2b. n/2+1c. n/2-1d. n-1题目5在下面循环语句中,内层循环体S语句的执行总次数为()。
for(int i=0; i<n; i++)for(int j=i; j<n; j++) S;a. n2b. (n+1)/2c. n(n-1)/2d. n(n+1)/2题目6在下面的do循环语句中,其循环体被执行的次数为()。
int i=0; do i++; while(i*i<10);a. 4b. 3c. 5d. 2题目7在下面的一维数组定义中,有语法错误的选项是()。
a. int a[]={1,2,3};b. int a[10]={0};c. int a[];d. int a[5];题目8在下面的二维数组定义中,语法正确的选项是()。
a. int a[5][];b. int a[][5];c. int a[][3]={{1,3,5},{2}};d. int a[](10);题目9假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][1]的值为()。
a. 2b. 4c. 6d. 8题目10假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为()。
年国家开放大学电大《C语言程序设计》期末考试及答案参考

年国家开放大学电大《C语言程序设计》期末考试及答案参考[试题分类]:C语言程序设计1.下列关于 C语言中 main 函数位置的叙述中,正确的是 A.必须在程序的最后 B.必须在程序的开始处 C.可以在程序中的任意位置 D.必须在系统调用的库函数后面答案:C 题型:单选题知识点:第 2章C 语言概述难度:12.下列选项中,不能作为 C语言标识符是 A.__ B.int C.a_1 D.ab1e_e 答案:B 题型:单选题知识点:第 2章C 语言概述难度:13.若有定义“int i; float f; double d;”,则表达式“10+d+i_f”的数据类型为 A.int B.float C.double D.不确定答案:C 题型:单选题知识点:第 3章数据类型与运算规则难度:14.判断 char型变量 c 是否为小写字母的正确表达式为 A."a"<=c<="z" B.(c>=a)&;&;(c<=z) C.("a">=c)("z"<=c) D.(c>="a")&;&;(c<="z") 答案:D 题型:单选题知识点:第3章数据类型与运算规则难度:15.若有定义“int _=11;”,则表达式“(_++_1/3) ”的值是 A.12 B.11 C.4 D.3 答案:D 题型:单选题知识点:第 3章数据类型与运算规则难度:26.若有定义“int a=1,b=2,c=3,d=4;”,则表达式“a<b?a:c<d?c:d”的值是 A.1 B.2 C.3 D.4 答案:A 题型:单选题知识点:第 3章数据类型与运算规则难度:27.若有定义“int a=1, b=0, c=0, _=35;”,则执行下列程序段后,变量 _的值是if(!a) _--;else if(b);if(c) _=3;else _=4; A.3 B.4 C.34 D.35 答案:B 题型:单选题知识点:第 5章选择结构的程序设计难度:28.{ 若有定义“int _=1,y=1,m=1,n=1;”,则执行下列语句后,变量 _和 y的值分别是switch (m) \{case 0: _=__2;case 1:switch (n) \{case 1: _=__2;case 2: y=y_2; break;case 3: _++;\}case 2: _++; y++;case 3: __=2; y_=2; break;default: _++;y++;\} } A._=2,y=1 B._=2,y=2 C._=6,y=6 D._=7,y=7 答案:C题型:单选题知识点:第 5章选择结构的程序设计难度:29.若有定义“int i,j;”,执行语句“for (i=0,j=1; i<=j+1; i+=2,j--) printf (“%d”,i);”时的循环次数是 A.3 B.2 C.1 D.0 答案:C 题型:单选题知识点:第 6章循环结构的程序设计难度:210.若有定义“int n=4;”,则执行语句“while(n--)printf(“%d”,n--);”后的输出结果是 A.20 B.31 C.210 D.321 答案:B 题型:单选题知识点:第 6章循环结构的程序设计难度:211.{ 若有定义“int _=3;”,则执行下列语句后的输出结果是do \{printf(“%d ”,_+=1);\} while(--_); }A.4 B.4 4 4 D.死循环答案:D 题型:单选题知识点:第 6章循环结构的程序设计难度:212.若有定义“char a[]=“_yz”,b[]={"_","y","z"};”,则下列叙述中正确的是 A.数组 a 的长度大于数组 b 的长度 B.数组 a 的长度小于数组 b 的长度 C.数组 a 和数组 b 的长度相同 D.数组 a 和数组 b 等价答案:A 题型:单选题知识点:第7章数组难度:113.{ 若有定义“intaa[4][4]=\{\{1,2,3,4\},\{5,6,7,8\},\{3,9,10,2\},\{4,2,9,6 \}\}, i,s=0;”,则执行下列语句后,变量 s 的值是for(i=0;i<4;i++)s+=aa[i][0];} A.20 B.19 C.11 答案:C 题型:单选题知识点:第 7章数组难度:214.调用函数时,若实参是一个数组名,则向函数传送的是 A.数组的长度 B.数组的首地址 C.数组每一个元素的地址 D.数组每个元素中的值答案:B 题型:单选题知识点:第 8章函数难度:115.下列各函数首部中,正确的是 A.void play(var :Integer,var b:Integer) B.void play(int a,b) C.Sub play(a as integer,b as integer) D.void play(int a,int b) 答案:D 题型:单选题知识点:第 8章函数难度:116.若有定义“int n=2,_p=&;n,_q=p; ”,则下列选项中,非法的赋值语句是 A.p=n; B.p=q; C.n=_q; D._p=_q; 答案:A 题型:单选题知识点:第 9章指针难度:217.若有定义“int _p[3]; ”,则下列叙述中正确的是 A.定义了一个类型为 int 的指针变量 p,该变量具有三个指针B.定义了一个名为_p的整型数组,该数组含有三个 int 类型元素 C.定义了一个指向一维数组的指针变量 p,该一维数组应具有三个 int 类型元素 D.定义了一个指针数组 p,该数组含有三个元素,各元素都是基类型为 int 的指针答案:D 题型:单选题知识点:第 9章指针难度:218.下列对枚举类型名的定义中正确的是 A.enum a={one,two,three}; B.enum a {one=9,two=-1,three}; C.enum a={“one”, “two”, “three”}; D.enum a{“one”, “two”, “three”}; 答案:B 题型:单选题知识点:第 10章结构、联合与枚举类型难度:219.{ 若有如下定义:struct student\{int num;int age;\}stu[3]=\{\{1001,20\} , \{1002,19\} , \{1003,21\}\} , _p=stu; 则下列表达式中,值为 1002的是 } A.p++->num B.(p++)->age C.(_++p).numD.(_p).num 答案:C 题型:单选题知识点:第 10章结构、联合与枚举类型难度:220.下列选项中,可以作为函数 fopen中第一个参数的是 A.“c:\\user\\te_t.t_t” B.c:\user\te_t.t_t C.“c:\user\te_t.t_t”D.c:user\te_t.t_t 答案:A 题型:单选题知识点:第 11章文件难度:121.若 y是 int型变量,则判断 y 为偶数的关系表达式为__________。
电大本科C语言程序设计A期末重点复习考试试题资料小抄

电大本科C语言程序设计A期末重点复习考试试题资料小抄本科《C语言程序设计A》复习资料小抄一、单选题1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为(A)。
A. mainB. MAINC. nameD. function 2.每个C语言程序文件的编译错误分为(B)类。
A. 1B. 2C. 3D. 4 3. 字符串“a+b=12\n“的长度为(B)。
A. 6B. 7C. 8D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为(D)语句。
A. forB. whileC. doD. if 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为(C)。
int i=0; do i++; while(i A. 8 B. 9 C. 10 D. 11 6. 将两个字符串连接起来组成一个字符串时,选用的字符串函数为(C)。
A. strlen()B. strcpy()C. strcat()D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是(A)。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a的地址比a数组的首地址大(C)个字节。
A. 4B. 8C. 16D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为“Hello world!“,若要使变量p指向s所指向的字符串,则p应定义为(A)。
A. char *p=s;B. char *p=C. char *p;p=*s;D. char *p; p= 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。
A. gets()B. fgets()C. getc()D. fgetc() 11.程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用(D)符号作为分隔符。
电大本科C语言程序设计A

3 26
15
5
8
13
21
四、写出下列每个函颤的功能{每小题 6分,共 1 2分} 评分标准:根据答案叙述的正确与完整程度酌情给分。
1.判断 x 是 否 为 一 个 素 数 , 若 是则 返 回 1 , 否则 返 回 0 0 2. 求 出 由 f 所 指 向 的 单 链 表 中 所 有 结 点 的 最 大 值 。
2. 编 写 一 个递 归 函 数飞1 t FF (int a口 , int n)" , 求 出 数 组a 中 所 有n 个元 素 之积 并 返 回 。
l31..a
试卷代号 : 1 2 5 3
中央广播电视大学 2 00 9 -2 0 1 0学年度第一学期"开放本科"期末考试
C 语 言 程 序 设计A
3. # include<stdio. h>
# include<string. h>
void mainO {
n unsigned int len;
char 祷af51=V'student" ,"workerFFJcadrJJFSoldier" "zzeasan123 ; , 门
len=strlen(a[oJ) ;
A. inta[]= {l ,2 ,3}
B. int a[10]={O} D. int a[5]
)。
C. int a[]
6. 下 面 的 函 数 原 型 声 明 中 存 在 语 法 错 误 的 是 (
A. AA(int a , int b) C. AA(int a; int b;) 1374
112 分
113 分
国家开放大学电大《C语言程序设计》期末考试及答案参考

[试题分类]:C语言程序设计1.下列关于C语言中main函数位置的叙述中,正确的是A. 必须在程序的最后B. 必须在程序的开始处C. 可以在程序中的任意位置D. 必须在系统调用的库函数后面答案:C题型:单选题知识点:第2章 C语言概述难度:12.下列选项中,不能作为C语言标识符是A. _xB. intC. a_1D. ab1exe答案:B题型:单选题知识点:第2章 C语言概述难度:13.若有定义“int i; float f; double d;”,则表达式“10+d+i*f”的数据类型为A. intB. floatC. doubleD. 不确定答案:C题型:单选题知识点:第3章数据类型与运算规则难度:14.判断char型变量c是否为小写字母的正确表达式为A. 'a'<=c<='z'B. (c>=a)&&(c<=z)C. ('a'>=c)('z'<=c)D. (c>='a')&&(c<='z')答案:D题型:单选题知识点:第3章数据类型与运算规则难度:15.若有定义“int x=11;”,则表达式“(x++*1/3) ”的值是A. 12B. 11C. 4D. 3答案:D题型:单选题知识点:第3章数据类型与运算规则难度:26.若有定义“int a=1,b=2,c=3,d=4;”,则表达式“a<b?a:c<d?c:d”的值是A. 1B. 2C. 3D. 4答案:A题型:单选题知识点:第3章数据类型与运算规则难度:27.若有定义“int a=1, b=0, c=0, x=35;”,则执行下列程序段后,变量x的值是if(!a) x--; else if(b);if(c) x=3; else x=4;A. 3B. 4C. 34D. 35答案:B题型:单选题知识点:第5章选择结构的程序设计难度:28.{若有定义“int x=1,y=1,m=1,n=1;”,则执行下列语句后,变量x和y的值分别是 switch (m) \{case 0: x=x*2;case 1:switch (n) \{case 1: x=x*2;case 2: y=y*2; break;case 3: x++;\}case 2: x++; y++;case 3: x*=2; y*=2; break;default: x++;y++;\}}A. x=2,y=1B. x=2,y=2C. x=6,y=6D. x=7,y=7答案:C题型:单选题知识点:第5章选择结构的程序设计难度:29.若有定义“int i,j;”,执行语句“for (i=0,j=1; i<=j+1; i+=2,j--) printf ("%d",i);”时的循环次数是A. 3B. 2C. 1D. 0答案:C题型:单选题知识点:第6章循环结构的程序设计难度:210.若有定义“int n=4;”,则执行语句“while(n--) printf("%d",n--);”后的输出结果是A. 20B. 31C. 210D. 321答案:B题型:单选题知识点:第6章循环结构的程序设计难度:211.{若有定义“int x=3;”,则执行下列语句后的输出结果是do \{printf("%d ",x+=1);\} while(--x);}A. 4B. 4 4C. 4 4 4D. 死循环答案:D题型:单选题知识点:第6章循环结构的程序设计难度:212.若有定义“char a[]="xyz",b[]={'x','y','z'};”,则下列叙述中正确的是A. 数组a的长度大于数组b的长度B. 数组a的长度小于数组b的长度C. 数组a和数组b的长度相同D. 数组a和数组b等价答案:A题型:单选题知识点:第7章数组难度:113.{若有定义“int aa[4][4]=\{\{1,2,3,4\},\{5,6,7,8\},\{3,9,10,2\},\{4,2,9,6\}\}, i,s=0;”,则执行下列语句后,变量s的值是for(i=0;i<4;i++) s+=aa[i][0];}A. 20B. 19C. 13D. 11答案:C题型:单选题知识点:第7章数组难度:214.调用函数时,若实参是一个数组名,则向函数传送的是A. 数组的长度B. 数组的首地址C. 数组每一个元素的地址D. 数组每个元素中的值答案:B题型:单选题知识点:第8章函数难度:115.下列各函数首部中,正确的是A. void play(var :Integer,var b:Integer)B. void play(int a,b)C. Sub play(a as integer,b as integer)D. void play(int a,int b)答案:D题型:单选题知识点:第8章函数难度:116.若有定义“int n=2,*p=&n,*q=p; ”,则下列选项中,非法的赋值语句是A. p=n;B. p=q;C. n=*q;D. *p=*q;答案:A题型:单选题知识点:第9章指针难度:217.若有定义“int *p[3]; ”,则下列叙述中正确的是A. 定义了一个类型为int的指针变量p,该变量具有三个指针B. 定义了一个名为*p的整型数组,该数组含有三个int类型元素C. 定义了一个指向一维数组的指针变量p,该一维数组应具有三个int类型元素D. 定义了一个指针数组p,该数组含有三个元素,各元素都是基类型为int的指针答案:D题型:单选题知识点:第9章指针难度:218.下列对枚举类型名的定义中正确的是A. enum a={one,two,three};B. enum a {one=9,two=-1,three};C. enum a={"one", "two", "three"};D. enum a{"one", "two", "three"};答案:B题型:单选题知识点:第10章结构、联合与枚举类型难度:219.{若有如下定义:struct student\{int num; int age;\} stu[3]=\{\{1001,20\} , \{1002,19\} , \{1003,21\}\} , *p=stu;则下列表达式中,值为1002的是}A. p++->numB. (p++)->ageC. (*++p).numD. (*p).num答案:C题型:单选题知识点:第10章结构、联合与枚举类型难度:220.下列选项中,可以作为函数fopen中第一个参数的是A. "c:\\user\\text.txt"B. c:\user\text.txtC. "c:\user\text.txt"D. c:user\text.txt答案:A题型:单选题知识点:第11章文件难度:121.若y是int型变量,则判断y为偶数的关系表达式为__________。
中央电大秋C语言程序设计A试题

中央广播电视大学2008秋季C语言程序设计A课程试卷(1)2009年10月部队考一、单选题(每小题2分,共20分)1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。
A. mainB. MAINC. nameD. function2.每个C语言程序文件的编译错误分为()类。
A. 1B. 2C. 3D. 43. 字符串"a+b=12\n"的长度为()。
A. 6B. 7C. 8D. 94. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。
A. forB. ifC. doD. while5. 在下面的do-while循环语句中,其循环体语句被执行的次数为()。
int i=0。
do i++。
while(i<10)。
A. 4B. 3C. 5D. 106. 将两个字符串连接起来组成一个字符串时,选用的函数为()。
A. strlen()B. strcap()C. strcat()D. strcmp()7. 若用数组名作为函数调用的实参,传递给形参的是()。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。
A. 4B. 8C. 16D. 329. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。
A. char *p=s。
B. char *p=&s。
C. char *p。
p=*s。
D. char *p。
p=&s。
10. 从一个数据文件中读入以换行符结束的一行字符串的函数为()。
A. gets()B. fgets()C. getc()D. fgetc()二、填空题(每小题2分,共26分)1.C语言中的每条简单语句以________作为结束符。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
中央广播电视大学2008秋季C语言程序设计A课程试卷(1)2009年10月部队考一、单选题(每小题2分,共20分)1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。
A. mainB. MAINC. nameD. function2.每个C语言程序文件的编译错误分为()类。
A. 1B. 2C. 3D. 43. 字符串"a+b=12\n"的长度为()。
A. 6B. 7C. 8D. 94. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。
A. forB. ifC. doD. while5. 在下面的do-while循环语句中,其循环体语句被执行的次数为()。
int i=0。
do i++。
while(i<10)。
A. 4B. 3C. 5D. 106. 将两个字符串连接起来组成一个字符串时,选用的函数为()。
A. strlen()B. strcap()C. strcat()D. strcmp()7. 若用数组名作为函数调用的实参,传递给形参的是()。
A. 数组的首地址B. 数组中第一个元素的值C. 数组中全部元素的值D. 数组元素的个数8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。
A. 4B. 8C. 16D. 329. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。
A. char *p=s。
B. char *p=&s。
C. char *p。
p=*s。
D. char *p。
p=&s。
10. 从一个数据文件中读入以换行符结束的一行字符串的函数为()。
A. gets()B. fgets()C. getc()D. fgetc()二、填空题(每小题2分,共26分)1.C语言中的每条简单语句以________作为结束符。
2. C程序中的所有预处理命令均以______字符开头。
3. 当不需要函数返回任何值时,则应使用________标识符来定义函数类型。
4.十进制数25表示成符合C语言规则的十六进制数为________。
5. 假定不允许使用逻辑非操作符,则逻辑表达式a>b|| b==5的相反表达式为________________。
6. 执行“typedef int DataType。
”语句后,在使用int定义整型变量的地方也可以使用__________来定义整型变量。
7. 假定一维数组的定义为“char* a[8]。
”,则该数组所占存储空间的字节数为________。
8. 假定二维数组的定义为“double a[M][N]。
”,则该数组的列下标的取值范围在_________之间。
9. 存储一个空字符串需要占用________个字节。
10. strcpy函数用于把一个字符串________到另一个字符数组空间中。
11. 程序的编译单位是一个__________。
12. 假定a是一个一维数组,则a[i]的指针访问方式为________。
13. 执行int *p=malloc(sizeof(int))操作得到的一个动态分配的整型对象为________。
三、写出下列每个程序运行后的输出结果(每小题6分,共30分)1. #include<stdio.h>void main(){int x=5。
switch(2*x-1) {case 4: printf("%d ",x)。
break。
case 7: printf("%d ",2*x)。
break。
case 10: printf("%d ",3*x)。
break。
default: printf("%s","default")。
}printf("%s\n","switch end.")。
}2. #include<stdio.h>void main() {int f1,f2,i。
f1=1。
printf("%d ",f1)。
for(i=2。
i<=5。
i++) {f2=3*f1+1。
printf("%d ",f2)。
f1=f2。
}printf("\n")。
}3. #include<stdio.h>void main() {int a[10]={12,39,26,41,55,63,72,40,83,95}。
int i, i1=0, i2=0。
for(i=0。
i<10。
i++)if(a[i]%2==1) i1++。
else i2++。
printf("%d %d\n",i1,i2)。
}4.#include<stdio.h>#include<string.h>void main( ) {char s[15]="567891234"。
int i, n=strlen(s) 。
for(i=0。
i<n/2。
i++) {char c=s[i]。
s[i]=s[n-1-i]。
s[n-1-i]=c。
}printf("%s\n",s)。
}5. #include<stdio.h>int LB(int *a, int n) {int i,s=1。
for(i=0。
i<n。
i++) s*=*a++。
return s。
}void main() {int a[]={1,2,3,4,2,4,5,2}。
int b=LB(a,4)+LB(a+3,3)。
printf("b=%d\n",b)。
}四、根据下列每个函数回答相应问题(每小题6分,共12分)1. void SF(int x) { //n为大于等于0的整数int i=2。
while(x>i) {if(x%i==0) printf("%d ",i)。
i++。
}printf("\n")。
}假定使用SF(70)调用该函数,则输出的所有整数依次为__________________。
2. void QC(struct IntNode* f) { //f为一个单链表的表头指针while(f) {printf("%d ",f->data)。
f=f->next。
}}假定结构类型IntNode的定义为:struct IntNode {int data。
struct IntNode *next。
}。
该函数的功能为:五、按题目要求编写程序(每小题6分,共12分)1. 编写一个程序,首先从键盘上输入10个整数到一维数组a[10]中,然后按照下标从大到小的次序输出数组a[10]中的所有元素值。
假定数组a[10]和循环变量i均在主函数中定义。
2. 编写一个程序,已知6≤a≤50,10≤b≤30,求出满足不定方程3a+2b=120的全部整数组解。
如(20,30)就是其中的一组解。
中央广播电视大学2008秋季C语言程序设计A课程试卷答案及评分标准(1)(供参考)一、单选题(每小题2分,共20分)1.A2.B3.B4.B5.D6.C7. A8. C9. A10. B二、填空题(每小题2分,共26分)1. 。
(或分号)2. #3. void4. 0x195. a<=b && b!=56. DataType7.328.0~N-19.1 10. 拷贝(复制) 11.程序文件 12. *(a+i)13. *p三、写出下列每个程序运行后的输出结果(每小题6分,共30分)评分标准:根据答案正确程度酌情给分。
1.default switch end.2.1 4 13 40 1213. 6 44.4321987655. b=56四、根据下列每个函数回答相应问题(每小题6分,共12分)评分标准:根据答题的正确与完整程度酌情给分。
1.2 5 7 10 14 352.遍历并输出由表头指针f所指向的单链表中每个结点的data域的值。
五、按题目要求编写程序(每小题6分,共12分)评分标准:按编写程序的正确与完整程度酌情给分。
1. #include<stdio.h> //1分void main(){int a[10],i。
//2分printf("从键盘输入10个整数: \n")。
for(i=0。
i<10。
i++) scanf("%d",&a[i])。
//4分for(i=9。
i>=0。
i--) printf("%d ",a[i])。
//6分printf("\n")。
}注:&a[i]也可改写为a+i2.#include<stdio.h> //1分void main(){int a,b。
//2分 for(a=6。
a<=50。
a++) //3分 for(b=10。
b<=30。
b++) //4分 if(3*a+2*b==120) printf("(%d, %d)\n",a,b)。
//6分 }。