用C语言编程计算下列表达式:s=1! 2...,2012年全国计算机等级二级C语言模拟试题及答案(3)...

一.单项选择题1. 设int x=1,y=1;表达式(!x++ || y--)的值是_________

A.0

B. 1

C. 2

D.-1

2.main( )

{  int n;

( n=6*4,n+6),n*2;

printf(“n=%d\n”,n);

}   此程序的输出结果是______________.

A.30

B.  24

C.  60

D.  48

3.若有如下定义,则__________是对数组元素的正确的引用。

int  a[10] , *p ;

p=a ;   p=a ;   p=a ;   p=a ;

A.  *&a[10]

B.  a[11]

C.  *(p+10)

D. *p

4.设整型变量n的值为2,执行语句“n+=n-=n*n;”后,n的值是__________

A.  0

B.  4

C.  - 4

D.  2

5.以下不能正确定义二维数组的语句是___________

A . int a[2][2]={{1},{2}};

B. int a[][2]={1,2,3,4};

C. int a[2][2]={{1},2,3};

D. int a[2][]={{1,2},{3,4}};

6. 程序段___________的功能是将变量 u 、s中的最大值赋给变量t 。

A.  if(u>s) t=u;t=s;

B.  t=u;   if(t )  t=s;

C.  if(u>s) t=s;else t=u;

D .  t=s; if(u )  t=u;

7.下列程序段的输出结果是___________。

void main()

{   int k;

for (k=1;k<5;k++〉

{  if(k%2!=0)

printf("#");

else

printf(“*”) ;  }

}

A. #*#*

B . *#*#

C.  ##

D. 以上都不对

8.设变量定义为 int a[3]={1,4,7},*p=&a[2], 则*p的值是  (35)    。

A. &a[2]

B. 4

C. 7

D. 1

9.能正确表示a和b同时为正或同时为负的逻辑表达式是_________。

A.a>=0||b>=0)&&(a<0 ||b<0)

B.(a>=0 && b>=0)&&(a<0 && b<0)

C.(a+b>0) &&(a+b<=0)

D. a*b>0来源:-计算机二级考试

10.C语言中,合法的字符型常数是_________。

A.‘A’

B.“A”

C. 65

D. A

11.设有数组定义:char array[]=”China”; 则数组所占的空间是________。

A.4个字节

B.5个字节

C.6个字节

D.7个字节

12.若变量c为char类型,能正确判断出c为小写字母的表达式是_______。

A.’a’<=c<=’z’

B. (c>=’a’) || (c<=’z’)

C.(‘a’<=c) and (‘z’>=c)

D. (c>=’a’) && (c<=’z’)

13.设有定义:long x=-123456L; 则以下能够正确输出变量x值的语句是_______。

A.printf(“x=%d\n”,x)

B.printf(“x=%ld\n”,x)

C.printf(“x=l\n”,x)

D.printf(“x=%LD\n”,x);

14.下列关于指针定义的描述,___________是错误的。

A.指针是一种变量,该变量用来存放某个变量的地址值的。

B.指针变量的类型与它所指向的变量类型一致。

C.指针变量的命名规则与标识符相同。

D.在定义指针时,标识符前的“*”号表示后面的指针变量所指向的内容。

15.已知:int x;  int y[10]; 下列______是合法的。

A.&x

B.&(x+3)

C.&5

D .&y

16.指出下面正确的输入语句__________。

A.  scanf(“a=b=%d”,&a,&b) ;

B. scanf(“%d,%d”,&a,&b) ;

C.  scanf(“%c”,c) ;

D. scanf(“% f%d\n”,&f) ;

17.C语言中以追加方式打开一个文件应选择_______________参数。

A.“r”

B.“w”

C.“rb”

D.“a”

18.Break语句的正确的用法是(    )。

A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。

B. 在多重循环中,只能退出最靠近的那一层循环语句。

C. 跳出多重循环。

D. 只能修改控制变量。

19. 为表示关系x≥y≥z,应使用C语言表达式

A.(x>=y)&&(y>=z)

B. (x>=y) AND (y>=z)

C.(x>=y>=z)

D. (x>=z)&(y>=z)

20.以下可以作为C语言合法整数的是________。

A.1010B

B. 0368

C.0Xffa

D. x2a2

21.在函数中默认存储类型说明符的变量应该是________存储类型。

A.内部静态

B. 外部

C.自动

D. 寄存器来源:-计算机二级考试

二.判断题1.  C 语言源程序文件通过了编译、连接之后 , 生成一个后缀为 .EXE 的文件。 (           )

2. 在 C 程序中 , 函数既可以嵌套定义 , 也可以嵌套调用。(        )

3. 在 C 程序中,  APH 和 aph 代表不同的变量。(        )

4. 表达式 0195 是一个八进制整数。(        )

5. 表达式 _ya是不合法的C语言标识符。(        )

6. C程序总是从main( ) 函数的第一条语句开始执行的。 (      )

7. A-=7等价于a=a-7。  (        )

8. 利用fclose函数关闭已打开的文件。(        )

9. 数组名可以作为参数进行传递。(        )

10. 执行printf("%x",12345);, 输出 12345 。(        )

三、填空

1.C语言的预处理语句以__________开头。

2.表达式7+8>2 && 25 %5的结果是_______________________。

3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。

int  n=0, ch;

ch=getchar( );

while( __________________ )

{  if ( ________________ )  n++;

c=getchar( );                  }

4.C语言中putchar(c ) 函数的功能是_________________________________。

5.int *p 的含义是___________________________________________。

6.定义fp为文件型指针变量的定义方法为_______________________。

7.数组 int  a[3][4];共定义了____________个数组元素。

四、读出程序。1. 改正下列程序中不正确的语句。

main()

{ int a=8 , b=1;

a=a+b;

b=a*b;

printf("%d, %d",a,b);    }

2.写出下列程序的运行结果。

fun(int a, int b)

{ if(a>b) return (a);

Else  return (b);  }

main()

{ int x=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

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

3. 改正下列程序中不正确的语句。

main()

{ int n ;

float s=1.0;

for(n=10;n>1;n- -)

s=s+1/n;

printf(“%6.1f\n”,s);  }

4. 写出下列程序的运行结果。

main()

{ int n;

For(n=3; n<=10; n++)

{ if(n%5= =0) break;

Printf(“%d”,n); }            }

5.写出下列程序的运行结果。

#include “stdio.h”

main()

{ int a[]={1,2,3,-4,5};

int m,n,*p;

p=&a[0]; p=&a[0];

m=*(p+2);

n=*(p+4);

printf(“%d  %d  %d  ”,*p,m,n);  }

五.编程序1.    编程计算下列表达式:s=1!+2!+3!+4!+……+10!

2.从键盘上输入a与n的值,计算sum=a+aa+aaa+aaaa+……(共n项)的和。例a=2, n=4, 则sum=2+22+222+2222。

3.求3X3矩阵的主对角线元素之和。

4.从键盘上输入10个数存入一维数组中,求这10数中的最大值与最小值并输出。

5.从键盘上输入若干个字符存入文件write.txt中,遇到回车键输入结束。(用“\n”表示回车键)来源:-计算机二级考试

参考答案

一.单项选择题1 B 2B 3D 4C 5D

6C 7A 8C 9D 10A

11C 12D 13B 14D 15A

16B 17D 18B 19A 20C 21C

二.判断题1√ 2Ⅹ 3√ 4Ⅹ 5Ⅹ 6√ 7√ 8√ 9√ 10Ⅹ

三、填空1 #号

2 0

3 ch!=’\n’ ch>=’0’ && ch<=’9’

4 将变量c中的字符显示到屏幕上。

5 指针变量p为整型

6 FILE *fp

7 12

四、读出程序。

1 printf("%d, %d",&a,&b); 2 12

3 s=s+1.0/n

4. 3 4

5 1 3 5

五.编程序1.

#include "stdio.h"

main()

{ long s=0,t=1;

int i;

for(i=1;i<=10;i++)

{ t=t*i;

s=s+t;

}

printf("%ld",s); }

2

#include "stdio.h"

main()

{ int a,n count=1,sn=0,tn=0;

scanf("%d %d",&a,&n);

while(count<=n)

{ tn=tn+a;

sn=sn+tn;

a=a*10;

++count; }

printf("%d",sn); }

3.

#include "stdio.h"

main()

{ int a[3][3],i,j,s=0;

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

for(j=0;j<3;j++)

scanf("%d",&a[i][j]);

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

for(j=0;j<3;j++)

if(i==j)

s=s+a[i][j];

printf("%d",s); }

4.

#include "stdio.h"

main()

{ int a[10],max,min;

for(i=0;i<10;i++)

scanf("%d",&a[i]);

max=a[0];

for(i=1;i<10;i++)

if(a[i]>max)

max=a[i];

min=a[0];

for(i=1;i<10;i++)

if(a[i]

min=a[i];

printf("%d %d",max,min); }

5.

#include "stdio.h"

main()

{ int c;

FILE *fp;

fp=open("write.txt","w");

c=getchar();

while(c!=’\n’)

{ fputc(c,fp);

c=getchar();

}

fclose(); }来源:-计算机二级考试

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值