admin 管理员组文章数量: 1086019
2024年12月31日发(作者:hadoop使用)
文档来源为 :从网络收集整理 .word 版本可编辑 .欢迎下载支持
.
一、选择题(共
20 分,每小题 2 分)
当处理特定问题时的循环次数已知时,通常采用的语句是(
)。
a. for
b. while
c. do-while
d. switch
题目 2
在 switch 语句的每个 case 块中,假定都是以 break 语句结束的,则此
写成的语句是(
)。
a. for
b. if
c. do
d. while
题目
3
for
语句能够被改写成的语句是(
)。
a. 复合
b. if
c. switch
d. while
题目 4
下面循环语句执行结束后输出的
i 值为(
)。
for(int i=0; i a. n/2 b. n/2+1 c. n/2 -1 d. n-1 题目 5 在下面循环语句中,内层循环体 S语句的执行总次数为( )。 语句容易被改 switch 文档来源为 :从网络收集整理 .word 版本可编辑 .欢迎下载支持 . for(int i=0; i for(int j=i; j a. n2 b. (n+1)/2 c. n(n-1)/2 d. n(n+1)/2 题目 6 在下面的 do 循环语句中,其循环体被执行的次数为( )。 int i=0; do i++; while(i*i<10); a. 4 b. 3 c. 5 d. 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] )。 文档来源为 :从网络收集整理 .word 版本可编辑 .欢迎下载支持 . a. 2 b. 4 c. 6 d. 8 题目 10 假定一个二维数组的定义语句为 a. 0 b. 4 c. 8 d. 6 二、判断题(共 20 分,每小题 1 分。叙述正确则回答 题目 11 在执行 “typedef int DataType; 语句”后,标识符 DataType 与保留字 int 具有完全相同的含义和 作用。 题目 12 在 switch 语句中,每个 case 和冒号之间的表达式只能是常量。 题目 13 为了结束本层循环类语句或 题目 14 在程序中执行到 break 语句时,将结束所在函数的执行过程,返回到调用该函数的位置。错 题目 15 “是 ”,否则回答 “否”) “int a[3][4]={{3,4},{2,8,6}}; ,则元素” a[2][1] 的值为( )。 对 对 break 语句。 对 switch 语句的执行过程,在语句体中需要使用 在程序执行完成任一个函数调用后, 集成开发环境界面窗口。 题目 16 假定一维数组的定义为 题目 17 假定二维数组的定义为 题目 18 假定二维数组的定义为 题目 19 假定二维数组的定义为 对 题目 20 假定二维数组的定义为 错 题目 21 将结束整个程序的执行过程, 返回到操作系统或 C 语言 错 “char* a[8]; ,则”该数组所含元素的个数大于 8。 错 “int a[3][5]; ,则”该数组所占存储空间的字节数为 60。 对 “char a[M][N]; ,”则该数组所含元素的个数为 M+N。错 “double a[M][N]; ,则”每个数组元素的行下标取值范围在 0~M -1 之间。 “double a[M][N]; ,”则每个数组元素的列下标取值范围在 0~N 之间。 文档来源为 :从网络收集整理 .word 版本可编辑 .欢迎下载支持 . 存储一个空字符串需要占用 题目 22 对 0 个字节的存储空间。 错 使用 “typedef char BB[10][50]; 语句”定义标识符 BB 为含有 10 行 50 列的二维字符数组类型。 题目 23 存储字符 'a'需要占用 1 个字节的存储空间。 题目 24 空字符串的长度为 题目 25 对 1。 错 字符串 数据 "的长度为 13。 错 题目 26 为了存储一个长度为 n 的字符串,所使用的字符数组的长度至少为 题目 27 strcmp 函数用于进行两个字符串之间的比较。 对 题目 28 strcpy 函数用于把一个字符串拷贝到另一个字符数组空间中。 题目 29 一个二维字符数组 a[10][20] 能够最多存储 9 个字符串。 错 题目 30 一个二维字符数组 a[10][20] 能够存储的每个字符串的长度不超过 三、填空题:写出下列每个程序运行后的输出结果(共 40 分,每小题 题目 31 #include void main() { int x=5; switch(2*x -3) { case 4: printf("%d ",x); case 7: printf("%d ",2*x+1); case 10: printf("%d ",3*x -1); break; default: printf("%s","defaultn"); } } 11 14 题目 32 #include void main() { int i,s=0; for(i=1;i<=5;i++) s+=i*i; printf("s=%dn",s); } s=55 题目 33 #include n+1。 对 对 20。 错 4 分) 文档来源为 :从网络收集整理 .word 版本可编辑 .欢迎下载支持 . void main() { int i, s1=0, s2=0; for(i=0;i<10;i++) if(i%2) s1+=i; else s2+=i; printf("%d %dn",s1,s2); } 25 20 题目 34 #include void main() { int n=6,y=1; while(n) y*=n --; printf("y=%dn",y); } y=720 题目 35 #include const int M=20; void main() { int i,c2,c3,c5; c2=c3=c5=0; for(i=1; i<=M; i++) { if(i%2==0) c2++; if(i%3==0) c3++; if(i%5==0) c5++; } printf("%d %d %dn",c2,c3,c5); } 1064 题目 36 #include void main() { int i,s; for(i=1,s=0;i<10;i++) { if(i%3==0) continue; s+=i; } printf("%dn",s); } 27 题目 37 #include 文档来源为 :从网络收集整理 .word 版本可编辑 .欢迎下载支持 . void main() { int a[8]={12,39,26,41,55,63,72,40}; int i, i1=0, i2=0; for(i=0;i<8;i++) if(a[i]%2==1) i1++; else i2++; printf("%d %dn",i1,i2); } 4 4 题目 38 #include 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; 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]); } 4427622 题目 39 #include void main() { char a[]="abcdbfbgacd"; int i1=0, i2=0, i=0; while(a[i]) { if(a[i]=='a') i1++; if(a[i]=='b') i2++; i++; } printf("%d %d %dn",i1,i2,i); } 2311 题目 40 #include 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; 文档来源 :从网 收集整理 .word 版本可 . 迎下 支持 . for(i=0; i<3; i++) for(j=0; j<4; j++) if(a[i][j]>m) m=a[i][j]; printf("%dn",m); } 12 四、 答 :根据下列每个 目要求 写程序(共 目 41 写一个函数,函数 格式 “double Mean(double a[M][N],int m,int n) 20 分,每小 4 分) ,要求”返回二 数 a[m][n] 中所有元素的平均 ,假定在 算 程中采用 量 v 存放平均 。 double Mean(double a[M][N],int m,int n) { int i,j; double v=0.0; for(i=0; i for(j=0; j v/=m*n; return v; 1 } 目 42 写一个 函数 “int FF(int a[], int n) ,求出数” a 中所有 n 个元素之 并返回。 #include int FF(int a[] , int n){ int mul=1; if(n==1)mul*=a[0]; else mul=a[n -1]*FF(a,n-1); return mul; } /*void main() { int a[6]={1,2,3,4,5,6}; printf("%dn",FF(a,6)); }*/ 目 43 写一个主函数,利用 while 循 ,求出并 示 足不等式 1+1/2+1/3+ ⋯⋯ +1/n>5 。 #include void main() { int i=0; double s=0; //或 int i=1; double s=1; while(s<5) s+=(double)1/++i; printf("n=%dn",i); } 的最小 n 文档来源为 :从网络收集整理 .word 版本可编辑 .欢迎下载支持 . 题目 44 编写一个主函数, 求出满足不等式 22+42+...+n2<1000 的最大 n 值,假定分别用 i 和 s作为取 偶数值和累加值的变量,并限定使用 do 循环编程。 #include void main() { int i=0; 作为依次取值偶数的变量 // 用 i int s=0; // 用 do { s 作为累加变量 i+=2; s+=i*i; }while(s<1000); printf("n=%dn",i -2); } 题目 45 编写一个主函数,计算并输出 1 2 +2 2 +...+n 2 值,其中 #include void main() { int i; // 用 i int s=0; 作为计数(循环)变量 // 用 int n; s 作为累加变量 printf(" 输入一个自然数 : "); scanf("%d",&n); for(i=1; i<=n; i++) s+=i*i; printf("s=%dn",s); } n 值由键盘输入。
版权声明:本文标题:国家开放大学C语言程序设计A第二次形考任务及答案x 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735700746a1682885.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论