c语言题库1(计算机二级)

更新时间:2024-01-14 17:50:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

一、选择题

1. 在C语言中,用户能使用的合法标识符是( ) A. 姓名 B. _xyz C. 5i D. for

2. 设有说明语句 int k,i=5,j=10; ,则表达式k=(++i)*(j--)的值是( ) A. 50 B. 60 C. 45 D.55

3. 设有语句 int x=2,y=3; ,则表达式x=(y==3)的值是( )。 A. 0 B, 1 C 2 D 3

4. 为表示x>=y>=z, 须用的C语言表示为( )

A. (x>=y)&&(y>=z) B. (x>=y)AND(y>=z) C. x>=y>=z D. (x>=y)&(y>=z) 5. 以下程序的运行结果是( ) main()

{ int a,b,c; a=b=c=1;

if(a++||++b) c++;

printf(“%d,%d,%d\\n”,a,b,c); }

A.2,1,2 B.1,2,1 C.2,2,2 D. 2,2,1 6. main()

{ int a=1,b=0; switch(a) { case 1:

switch(b)

{ case 0: printf(“000\\n”);

case 1:printf(“111\\n”); break; }

case 2:printf(“2222\\n”); break; } }

A. 0000 B. 0000 C. 0000 D. 1111 1111 1111 2222 2222 2222 7. main() { int i,j;

i=10; j=20;

for(;j>=0;j-=20)

{ if(i=j) printf(“Good!”); else printf(“Not good!”); } }

A. Good!Good! B. Not good! C. Good! D. Good!Not good! 8. 设E为表达式,以下与do…while(E);不等价的语句是( )。 A. do…while(!E==0) B. do…while(E>0||E<0) C. do…while(E==0) D. do…while(E!=0) 9. 循环语句循环体中执行continue语句,其作用是( )。

A. 立即终止程序运行 B. 继续执行continue语句 C. 结束本次循环 D. 结束本次循环,跳出循环

10. 已定义char x[8]; int i; ,为了给该数组赋值,下列语句正确的是( )。

A.x[8]=”Turbo C”; B. x=”Turbo C”; C. x[]=”Turbo C”; D.for(i=0;i<7;i++) x[i]=getchar(); 11. main()

{ char a[][5]={“ABCD”,”1234”,”abcd”,”5678”,”EFGH”};

int i;

for(i=0;i<3;i++) printf(“%s”,a[i]) }

A. Ala B. ABCD1234abcd C. ABC D. ABCD1234abcd5678EFGH 12. main()

{ char ch[]=”I am student!”,*p;

p=ch;

printf(“%x\\n”,p); printf(“%x\\n”,p+9);

}

其中第一个printf()运行结果是ffd6, 则第二个printf()运行结果是( )。 A. ffdf B. ffe8 C. ffd6 D. ffcf

13. 若有以下定义和语句,且0<=i<4, 0<=j<3,则不能访问a数组中的元素的是( )。 int i,(*p)[3];

int a[][3]={1,2,3,4,5,6,7,8.9.10.11,12}; p=a;

A. *(*(a+i)+j) B. p[i][j] C. (*(p+i))[j] D.p[i]+j 14. 以下程序运行后,输出的结果是( )。 func(int a)

{ static int m=0; m+=a; return(m); }

main()

{ int k=4,p;

p=func(k); printf(“%d”,p); p=func(k); printf(“%d\\n”,p); }

A. 4,4 B. 0,4 C. 4,8 D. 8,8 15. 以下程序的输出结果是( )。 swap(int *p, int *q) { int t;

T=*p; *p=*q; *q=t; }

main()

{ int a=10,b=20; swap(&a,&b);

printf(“%d,%d\\n”,a,b);

}

A. 10,10 B.20,20 C. 10,20 D. 20,10 16. 以下对枚举类型进行定义,不正确的是( )。

A. enum b{1,2,3}; B.enum a{A,B,C}; C. enum c{D=3,E,F}; D.enum d{X=0,Y=5,Z=9}; 17. main()

{ union u_type { int i; double x; float f; }

struct str_type

{ char str[100];

Union u_type u[2]; }

printf(“%d\\n”, sizeof(struct str_type)); }

A. 100 B. 116 C. 120 D. 200 18. main()

{ char ch[7]=”12xy89”; int i,s=0;

for(i=0; ch[i]; i++)

if(ch[i]>=’0’&&ch[i]<’9’) s=10*s+ch[i]=’0’; prinf(“%d\\n”,s); }

A.12 B. xy C. 12xy89 D. 1289 19. #define SUM(y) 1+y main()

{ int x=2;

Printf(“%d\\n”,SUM(5)*x); }

A. 10 B. 11 C. 12 D. 15 20. 标准函数fgets(s,n,f)的功能是( )。

A. 从文件f中读取长度为n的字符串存入指针s所指的内存

B. 从文件f中读取长度不超过n-1的字符串存入指针s所指的内存 C. 从文件f中读取n个字符串存入指针s所指的内存 D. 从文件f中读取长度为n-1的字符串存入指针s所指的内存

二、改错题

1. 程序cmody011.c的功能是:从键盘输入两个大小不同的正整数,由小至大输出其间所包含的偶数。例如: 输入:2,10 输出:4 6 8

2. 程序cmody012.c中,函数fun(int n)的功能是:根据参数n, 计算大于10的最小n个能被3整除的正整数的倒数之和。例如:

fun(8)?11111???????0.396 1215182133

三、填空题

1. 补充程序ccon011.c,该程序的功能是计算阶乘。

2. 补充程序ccon012.c,该程序的功能是对输入的两个整数,按实数相除,输出它们的商和商的第二位小数。

四、程序题

1. 打开考生文件夹中的cprog011.c,完成其中的函数fun1,该函数的数学表达式是:fun1(x)?sinx?tgx?ln101.5?x

2. 打开考生文件夹中的cprog012.c,完成其中的函数fun2(int a[], int n, int b[], int 实现:

1) 将数组a中大于-20的元素,依次存放到数组b中;

2) 将数组b中的元素按照从小到大的顺序存放到数组c中; 3) 函数返回数组b中的元素个数。

c[]),

本文来源:https://www.bwwdw.com/article/samo.html

Top