云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 2013最新c语言复习试题(附答案)

2013最新c语言复习试题(附答案)

  • 62 次阅读
  • 3 次下载
  • 2025/6/4 17:59:42

} }

A) 3,5 B) 5,6 C) 3,6 D) 5,5

25.假定运行以下程序时输入数据是1 2 3 4 5 6 7 8 9, 则程序的运行结果是( ) 。

main()

{ int a[3][3],i,j,s=0; for(j=0;j<3;j++)

for(i=0;i<3;i++) scanf(\ for(i=0;i<3;i++)

for(j=i;j<3;j++) s+=a[i][j]; printf(\ }

A) 45 B) 34 C) 26 D) 19

三、程序填充题 (每空3分,共30分)

选择适当的内容填在以下各程序的下划线处,以使程序完整。

●以下fun函数的功能是在N行M列的基本整型二维数组中,选出一个最大值作为函数的返回值。(设M、N已定义) int fun ( int a[N][M] ) { int i, j, row=0,col=0; for (i=0; i

if (a[i][j] > a[row][col]) { (26) } return ( (27) ); }

(26) A) a[i][j]=a[row][col]; B) i=row; j=col;

C) row=j;col=i; D) row=i; col=j; (27) A) a[i][j] B) row, col

C) a[row][col] D) a

●将给定的数k插入到数列a中,要求插入后仍有序。 void insert(int k )

{ int a[11]={1,3,5,7,9,11,13,15,17,19} , sum=0, i, j ; for (i=0 ; i<10 ; i++) if(a[i]>k) break; for ( (28) ) a[j]=a[j-1]; (29) ; }

(28) A) j=9; j>i;j-- B) j=10;j>i;j-- C) j=i+1;j<10;j++ D) j=i+1;j<=10;j++ (29) A) a[i]=k B) a[0]=k C) a[j]=k D) return k

●用折半查找法查找整数k在数列a中的位置(数列a中的数按从小到大有序),若a中有与k相同的数则返回其位置(下标),否则返回-1。 int search (int a[], int n , int k) { int i=0, j=n–1, m;

while (i<=j) { m= (i+j)/2; if (a[m]

else if ( a[m]>k) (31) ;

第 9 页 共 9 页

else (32) ; }

return (–1); }

(30) A) i=m-1 B) i=m+1 C) j=m-1 D)j= m+1 (31) A) i=m-1 B) i=m+1 C) j=m-1 D)j=m+1 (32) A) return –1 B) return m C) return i D) return j ●求100至1000之间有多少个数其各位数字之和是5。 main()

{ int i,s,k,count=0;

for(i=100; i <=1000; i++) { s=0; k= i;

while ( (33) )

{ s=s+k; k= (34) ; }

if(s==5)

(35) ;

}

printf(“\\n %d”,count); }

(33) A)1 B)k C)k>1 D)k>10

(34) A)k/10 B)k C)k–k D)k–k/10

(35) A)continue B)break C)count++ D)printf (“%d”,count)

2012年春C考试B卷答案

1-5BDCBD 6-10 CDABC 11-15ABCCB 16-20 DAABB 21-25 BDDDB 26-30 DCBAB 31-35 CBBAC

第 10 页 共 10 页

一、单项选择 (每题2分,共30分)

1. 以下C语言标识符中,不合法的是 。 A) _1 B) AaBc C) a_b D) --a

2. 以下选项中可以用作C程序合法浮点型常量的是 。 A) 1.1e0 B) 3.0e0.2 C) e9 D) 9.12e

3. 若有定义语句:int x=12, y=8, z;,在其后执行语句z=0.9+x/y;,则z的值为 。 A) 1.9 B) 1 C) 2 D) 2.4

4. 若有定义语句:int k1=10,k2=20;,执行表达式 (k1=k1>k2) && (k2=k2>k1)后,k1和k2的值分别为 。

A) 0和1 B) 0和20 C) 10和1 D) 10和20

5. 若有定义语句int s,i,j,n;,在以下循环语句中,不能正确计算自然数1-100中所有数之和的是 。

A) for(s=0,i=1;i<=100;) s+=++i; B) for(s=100,n=100;--n;) s+=n;

C) for(s=0,i=1,j=100;i<=j;i++,j--) s+=i+j; D) for(s=0,i=0;i<=100;) s+=i++;

6. 以下定义数组的语句中错误的是 。

A) int num[ ]={1,2,3,4,5,6}; B) int num[ ][3]={{1,2},3,4,5,6}; C) int num[2][4]={{1,2},{3,4},{5,6}}; D) int num[ ][4]={1,2,3,4,5,6}; 7. 若i和k都是int类型变量,有以下for语句

for(i=0,k=-1;k=1;k++) printf(“*****\\n”);

下面关于语句执行情况的叙述中正确的是 。 A) 循环体执行两次 B) 循环体执行一次 C) 循环体一次也不执行 D) 构成无限循环

8. 设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其他三个不同的是 。 A) if(a>b) c=a,a=b,b=c; B) if(a>b){c=a,a=b,b=c;} C) if(a>b) c=a;a=b;b=c; D) if(a>b){c=a;a=b;b=c;} 9. 有以下函数(x和y均为指向字符串的指针) int fun(char *x, char *y) { int n=0;

while ((*x==*y) && *x!=?\\0?) {x++; y++; n++; } return n; }

函数的功能是 。

第 11 页 共 11 页

A) 查找x和y所指字符串中是否有?\\0?

B) 统计x和y所指字符串中最前面连续相同的有效字符的个数 C) 将y所指字符串赋给x所指存储空间 D) 统计x和y所指字符串中相同的字符个数

10. 若有定义语句:char *s1=”OK”, *s2=”ok”;,以下选项中,能够输出”OK”的语句

是 。

A) if (strcmp(s1,s2)==0) puts(s1); B) if (strcmp(s1,s2)!=0) puts(s2); C) if (strcmp(s1,s2)==1) puts(s1); D) if (strcmp(s1,s2)!=0) puts(s1);

11. 设有定义:double x[10], *p=x;,以下能给数组x下标为6 的元素从键盘读入数据的正确语句是 。

A) scanf(“%f”, &x[6]); B) scanf(“%lf”, *(x+6)); C) scanf(“%lf”,p+6); D) scanf(“%lf”,p[6]); 12. 下列定义数组的语句中,正确的是 。 A) int N=0;int x[N]; B) int x[0…10]; C) #define N 10 D) int x[]; int x[N];

13. 以下选项中正确的语句组是 。

A) char s[ ]; s=\ \ B) char *s; s={\ \C) char s[10]; s=\ \ D) char *s; s=\ \

14. 有定义语句:double a[10], *s=a;,以下能够代表数组元素a[3]的是 。 A) (*s)[3] B) *s+3 C) *s[3] D) *(s+3) 15. 有以下定义和语句 struct workers

{ int num; char name[20]; char c; struct

{ int day; int month; int year;}s; };

struct workers w, *pw; pw=&w;

下面的语句正确的是 。

A) *pw.year=1980; B) w.year=1980; C) pw->year=1980; D) w.s.year=1980;

二、程序阅读题 (每题3分,共30分)

16. 有以下程序

第 12 页 共 12 页

搜索更多关于: 2013最新c语言复习试题(附答案) 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

} } A) 3,5 B) 5,6 C) 3,6 D) 5,5 25.假定运行以下程序时输入数据是1 2 3 4 5 6 7 8 9, 则程序的运行结果是( ) 。 main() { int a[3][3],i,j,s=0; for(j=0;j<3;j++) for(i=0;i<3;i++) scanf(\ for(i=0;i<3;i++) for(j=i;j<3;j++) s+=a[i][j]; printf(\ } A) 45 B) 34 C) 26

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com