中央电大秋C语言程序设计A试题
国家开放大学C语言程序设计A第二次形考任务及答案
![国家开放大学C语言程序设计A第二次形考任务及答案](https://img.taocdn.com/s3/m/2341066a2b160b4e767fcf43.png)
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第二次形考任务及问题详解
![国家开放大学C语言程序设计A第二次形考任务及问题详解](https://img.taocdn.com/s3/m/8049dcfa59eef8c75ebfb314.png)
一、选择题〔共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第二次形考任务与答案
![国家开放大学C语言程序的设计A第二次形考任务与答案](https://img.taocdn.com/s3/m/5af91f8d0508763231121294.png)
一、选择题(共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语言程序设计》期末考试及答案参考](https://img.taocdn.com/s3/m/ac37e637240c844768eaee32.png)
年国家开放大学电大《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期末重点复习考试试题资料小抄](https://img.taocdn.com/s3/m/81d921f06aec0975f46527d3240c844768eaa050.png)
电大本科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
![电大本科C语言程序设计A](https://img.taocdn.com/s3/m/8e063068af1ffc4ffe47ac44.png)
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语言程序设计》期末考试及答案参考](https://img.taocdn.com/s3/m/ce5ead5c915f804d2a16c114.png)
[试题分类]: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试题
![中央电大秋C语言程序设计A试题](https://img.taocdn.com/s3/m/7fca9226f12d2af90242e659.png)
中央广播电视大学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语言中的每条简单语句以________作为结束符。
电大 C语言程序设计A期末考试答案
![电大 C语言程序设计A期末考试答案](https://img.taocdn.com/s3/m/9c13f477312b3169a451a4eb.png)
【C 语言程序设计 A】复习资料二、填空题(每小题 2 分,共 26 分) int i s0 1.执行“printfquotcquotA2”语句后得 fori0 ilt8 i第一套(2010 年 7 月试题)到的输出结果为_C_。
ifaigt70 ampamp ailt90 一、单选题(每小题 2 分,共 20 分)2.short int 类型的长度为_2_。
sai 1.在每个 C 语言程序中都必须包含有这样 3.用类型关键字表示十进制常数 3.26f 的 printfquotsdnquots一个函数,该函数的函数名为A。
类型为 float 。
运行结果:s235 A. main B. MAIN C. name 4. 假定 y10,则表达式y3 的值为_33_。
4. includeltstdio.hgtD. function 5.逻辑表达式x0 ampamp ygt5的相反表达式 int WFint x int y 每 2.个 C语言程序文件的编译错误分为(B)为x!0 ylt5 或:x ylt5。
xxy类。
若则(真, 6. x5y10, xy 的逻辑值为_1 yx A. 1 B. 2 C. 3 true)_。
return xy D. 4 7. 假定二维数组的定义为 “ int void main 3. 字符串quotab12nquot的长度为(B)。
a35”,则该数组所占存储空间的字节数为 int x3 y5 A. 6 B. 7 C. 8 D. 9 _60_。
printfquotdnquotWFxy 4. 在 switch 语句的每个 case 块中,假定 8. 使用“typedef char BB1050”语运行结果: 21都是以 break 语句结束的,则此 switch 语句容句定义_BB_为含有 10 行50 列的二维字符数组类 5.includeltstdio.hgt易被改写为(D)语句。
中央电大秋C语言程序设计A试题6
![中央电大秋C语言程序设计A试题6](https://img.taocdn.com/s3/m/c0e5e96a65ce05087732137c.png)
中央电大秋C语言程序设计A试题6个人收集整理资料,仅供交流学习,勿作商业用途中央广播电视大学2021秋季 C语言程序设计A课程试卷(6)题号一二三四五总分得分 2021年7月考一、单选题(每小题2分,共20分) 1. C语言程序中的基本功能模块为()。
A. 表达式B. 标识符C. 语句D. 函数2. 逻辑表达式(x>0 || y==5)的相反表达式为()。
A. x<=0 || y!=5B. x<=0 && y!=5C. x>0 || y!=5D. x>0 &&y==53. 循环体至少被执行一次的循环语句为()。
A. forB. whileC. do-whileD. 任一种循环4. 假定n的值为5,则表达式n++的值为()。
A. 6 B. 5 C. 4D. 75. 假定一个二维数组的定义为“inta[3][4]={{3,4},{2,8,6}}。
”,则元素a[2][0]的值为( A. 0 B. 2 C. 4 D. 61 / 11)。
个人收集整理资料,仅供交流学习,勿作商业用途6. 假定一个函数原型为“char* func(int n)”,则该函数的返回类型为( )。
A. intB. int*C. charD. char*7. 假定a为一个字符数组名,则元素a[i]的指针访问方式为( )。
A. a+iB. *(a+i)C. &a+iD. *a+i8. 假定有语句为“int *p=calloc(10+20,sizeof(int))。
”,则p所指向的动态数组中所包含的元素个数为()。
A. 10 B. 20 C. 30 D. 409.十进制数50表示成符合C语言规定的八进制数为________。
A. 20B. 32C. 62D. 06210. 若要以读和写两种操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为()。
试卷代号 国家开 放大学 秋季学期“开 放本科”期末考试 C语言程序设计A试题及答案
![试卷代号 国家开 放大学 秋季学期“开 放本科”期末考试 C语言程序设计A试题及答案](https://img.taocdn.com/s3/m/0ad85b83de80d4d8d05a4f0f.png)
分,共 30 分)
30. 执行下面程序的输出结果为 C
)。
** include<stdio. h二〉
void main C) {
int x=5 , y=0;
switch(2 铃 x-3) {
case 4: y 十 =x; break;
case 7: y+=2 兴 x 十 1; break; 729
case 10: y 十 =3 祷 x; break;
D. N-l
10. 假定 a 为一个数组名,则下面表达式中错误的是(
)。
A. a[iJ
B. 长 a 十+
c.长 a
D. 兴 (a+ l)
1 1.假定一个函数的原型语句为 "int ff(int x) 户,一个整型变量为 a ,则下面函数调用表
达式不正确的是(
)。
A. ff( 兴 a)
B. ff(a)
)。
A. 0
C. +
B. =
D. <
5. 已知 x 的初值为 15 ,则下列各表达式中的最大值为(
)。
A. x++
B. ++x
C. x 一一
D. 一 -x
727
6. for 循环语句能够被改写为(
A. 复合语句
c. switch 语句
B. if 语句 D. while 语句
7. 在-个数组中,数组元素 a[iJ 前面的元素个数为(
printf("y= %d\n" ,y);
3 1.执行下面程序的输出结果为(
)。
# include<stdio. h>
void mainO {
国家开放大学C语言程序设计A第三次形考任务及答案
![国家开放大学C语言程序设计A第三次形考任务及答案](https://img.taocdn.com/s3/m/78df63ca988fcc22bcd126fff705cc1754275f4c.png)
一、选择题共30分,每小题2分在下面的函数声明语句中,存在着语法错误的是;a. AAint a, int bb. AAint, intc. AAint a; int bd. AAint a, int题目2在下面的保留字中,不能作为函数的返回值类型的是;a. voidb. intc. enumd. long题目3假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为;a. 1b. 2c. 4d. 8题目4假定a为一个数组名,在下面的表达式中,存在语法错误的是;a. aib. a++c. ad. a+1题目5用calloc函数创建具有10个整型元素的一维数组的正确语句是;a. int p=calloc10,2;b. int p=calloc10;c. int p=calloc10,4;d. int p=malloc10题目6假定变量m定义为“int m=7;”,则下面正确的语句为 ;a. int p=&m;b. int p=&m;c. int &p=m;d. int p=m;题目7假定k是一个double类型的变量,则定义变量p的正确语句为 ;a. double p=&k;b. int p=&k;c. double &p=k;d. char p="Thank you";题目8若有语句为“int a10, x, pa=a;”,要把数组a中下标为3的元素值赋给x,则不正确的语句为 ;a. x=pa3;b. x=a+3;c. x=a3;d. x=pa+3;题目9假定有语句为“int b10; int pb;”,则下面不正确的赋值语句为 ;a. pb=b;b. pb=&b0;c. pb=b+2;d. pb=b5;题目10已知“int p=malloc100;”,要释放p所指向的动态内存,正确的语句为;a. freep;b. free p;c. freep;d. freep;题目11在程序的一个文件中定义的函数,若要在另一个文件中调用,则必须在这另一个文件中给出该函数的;a. 原型语句b. 参数表c. 函数名d. 返回类型题目12假定一个函数定义为“static int f1int x,int y{return x+y;}”,该函数名称为;a. staticb. intc. f1d. return题目13假定一个函数的原型语句为“int ffint x;”,一个整型数组为a10,则下面函数调用表达式不正确的是;a. ffab. ffa0c. ffa+3d. ff&a0题目14假定一个函数的数组参数说明为char a,与之等价的指针参数说明为;a. char ab. char ac. char& ad. chara题目15假定一个函数的二维数组参数说明为char wN,与之等价的指针参数说明为;a. char wNb. char wNc. char wNd. chara二、判断题共30分,每小题2分;叙述正确则回答“是”,否则回答“否”题目16在C语言中,一个函数由函数头和函数体组成;对错题目17在函数模块之外定义的变量称为全局变量,若没有被初始化则系统隐含对它赋初值0;错题目18如果一个函数只允许同一程序文件中的函数调用,则不应在该函数定义的开始前加上保留字static;对错题目19如果在一个函数体中又出现对自身函数的调用,此种函数调用被称为递归调用;对错题目20调用系统函数时,要先使用include命令包含该系统函数的原型语句所在的系统头文件;对题目21函数形参变量不属于局部变量;对错题目22假定p所指对象的值为25,p+1所指对象的值为46,则p++的值为46;对错题目23假定p所指对象的值为25,p+1所指对象的值为46,则++p的值为25;对题目24假定p所指对象的值为25,p+1所指对象的值为46,则执行p++运算后,p所指对象的值为46;对错题目25假定a是一个指针数组,则a+i所指对象的地址比a地址大4i字节;对错题目26若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为charp;对错题目27假定一个数据对象为int类型,则指向该对象的指针类型仍为int类型; 错题目28假定x为一个简单变量,则&x表示x的地址; 对题目29若p指向x,则p与x的值不同; 错题目30NULL是一个符号常量,通常作为空指针值,它代表的值为0;对三、写出下列每个程序运行后的输出结果共20分,每小题4分题目31include<stdio.h>int WFint x, int y {x=x+y;y=x+y;return x+y;}void main {int x=5, y=7;int z=WFx,y;printf"z=%d\n",z;}z=31题目32include<stdio.h>include<string.h>void funchar ss;void main {char s15="0123456789";funs;printf"%s\n",s;}void funchar ss {int i, n=strlenss ;fori=0; i<n/2; i++ {char c=ssi;ssi=ssn-1-i;ssn-1-i=c;}}9876543210题目33include<stdio.h>int Countint a, int n, int x{int i,c=0;fori=0;i<n;i++ifai>x c++;return c;}void main {int a8={20,15,32,47,24,36,28,70};int b=Counta,8,30;printf"b=%d\n",b;b=4题目34include<stdio.h>void main {int a8={3,5,7,9,2,3,4,8};int s=0,p;forp=a;p<a+8; s+=p++;printf"s=%d\n",s;}s=41题目35include<stdio.h>int LAint a, int n, int x {int i,s=0;fori=0;i<n;i++ifai<x s+=ai;return s;}void main {int a8={5,10,15,8,12,3,9,20};int b=LAa,5,10;int c=LAa+2,6,10;printf"%d %d\n",b,c;}13 20四、写出下列每个函数的功能共20分,每小题4分题目36double SFdouble x, int n { //n为正整数double p=1,s=1;int i;fori=1;i<=n;i++ {p=x;s+=p;return s;}函数功能为:计算x+x2+x3+……+x n的值并返回;题目37int SGint x { //x为大于等于2的整数int i=2;whileii<=x {ifx%i==0 break;i++;}ifii<=x return 0; else return 1;}函数功能为:判断一个整数是否是质数素数,若是则返回1,否则返回0;题目38int WBint a, int n, int x {forint i=0;i<n;i++ifai==x return 1;return 0;}从数组an中顺序查找值为x的元素,若查找成功则返回1,否则返回0; 题目39int funint m, int n {int c=0;static int b=2;ifm<b || n<b return mn;else ifm%b==0 && n%b==0 {c=b; return cfunm/b,n/b;} else {b++; return funm,n;}}函数功能为:一个递归函数过程,求出两个自然数m和n的最小公倍数;题目40int LKdouble a, int n {double s=0;int i,m=0;fori=0;i<n;i++ s+=ai;s/=n;fori=0;i<n;i++ifai>=s m++;return m;}函数功能为:求出并返回数组a的n个元素中大于等于平均值的元素个数;。
中央电大2008年秋C语言程序设计A试题5
![中央电大2008年秋C语言程序设计A试题5](https://img.taocdn.com/s3/m/8b1f924cf5335a8102d2205f.png)
中央广播电视大学2008秋季C语言程序设计A课程试卷(5)题号一二三四五总分得分2012年1月考一、单选题(每小题2分,共20分)1. 程序运行中需要从键盘上输入多于一个数据时,各数据之间默认使用( )符号作为分隔符。
A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车2. 逻辑表达式(x>0 && x<=10)的相反表达式为()。
A. x<=0 || x>10B. x<=0 && x>10C. x<=0 || x<=10D. x>0 && x>103. 当处理一个问题时的循环次数已知时,最好采用()循环来解决。
A. forB. whileC. do-whileD. switch4. 假定i的初值为0,则在循环语句“while(i<n) {s+=i*i; i++;}”中循环体被执行的总次数为()。
A. n-1B. nC. n+1D. n/25. 假定一个二维数组的定义语句为“int a[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为()。
A. 2B. 4C. 6D. 86. 在下列选项中,不正确的函数原型格式为()。
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. 1B. 2C. 4D. 88. 假定有一条定义语句为“int m=7, *p;”,则给p赋值的正确表达式为()。
A. p=mB. p=&mC. *p=&mD. p=*m9. 假定指针变量p定义为“int *p=malloc(sizeof(int));”,要释放p所指向的动态存储空间,应调用的函数为()。
国家开放大学C语言程序设计A第二次形考任务及答案
![国家开放大学C语言程序设计A第二次形考任务及答案](https://img.taocdn.com/s3/m/2341066a2b160b4e767fcf43.png)
一个二维字符数组a[10][20]能够存储的每个字符串的长度不超过20。错
三、填空题:写出下列每个程序运行后的输出结果(共40分,每小题4分)
题目31
#include<stdio.h>
void main()
{
int x=5;
switch(2*x-3) {
case 4: printf("%d ",x);
case 1: s[1]+=a[i];break;
case 2: s[2]+=a[i];break;
default: s[3]+=a[i];break;
}
}
for(i=0; i<4; i++) printf("%d ",s[i]);
}
44 27 6 22
题目39
#include<stdio.h>
void main() {
int n;
printf("输入一个自然数: ");
scanf("%d",&n);
for(i=1; i<=n; i++) s+=i*i;
printf("s=%d\n",s);
}
void main() {
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];
- 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分 }。