无忧首页企业系统我的无忧
无忧服务:
兼职活动培训
娱乐交友:
交友社区资讯
全职实习:
实习暑假寒假
微信号:school51
扫一下,立即关注
加关注
在线支付,立省10元
下载新版APP
===大学生成长生活平台===

2011年全国计算机等级二级C语言模拟试题及答案(5)

2012-12-26来源/作者:卫凯点击次数:458

一、填空
1.实型变量的类型说明符有:__________、____________。
2.表达式7+8>2 && 25 %5的结果是_______________________。
3.下列程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。
   Int  n=0, ch;
   Ch=getchar( );
   While( __________________ ) ) ) )
{  if ( ________________ )  n++;
4.putchar(c ) 函数的功能是是是_____________________________________。
5int *p 的含义是是是是___________________________________________。
6.C语言中数组的下标下限为___________________________。
7.定义fp为文件型指针变量的定义方法为_______________________。
8.数组 int  a[3][4];共定义了____________个数组元素。

二、单项选择题
1、下列属于整型常量的是________。
A、12         
B、12.0        
C、-12.0       
D、10E10

2、不属于字符型常量的是_________。
A.‘A’  
B、'a'  
C、“A”     
D、'b'

3、下列表达式为关系表达式的为_________。(其中a为一整型变量)
A.3+4*5       
B、a==10        
C、a>0?a:-a     
D、a=1

4、下面不正确的赋值语句是_____________。
A.a=a+1      
B、a= =b    
C、a+=b        
D、a=1

5、下列对数组定义不正确的语句是______________。
A.int m[5];              
B、char b[]={‘h’,’e’};  
C、int a[10]={1,6,8,4};    
D、char  p[];

6、若有以下定义,则______和______是对数组元素的正确引用。
       int  a[5],*p=a
A. *&a[6]  
B、*p+8   
C、*(a+2)  
D、*p

7、执行下列语句后,a的值是______。
int  a=8;
a+=a-=a*a;
A.-240    
B、64     
C、112      
D、-112

8. 指出下面正确的输入语句(      )。
A.  scanf(“a=b=%d”,&a,&b) ;     
B. scanf(“%d,%d”,&a,&b) ;
C.  scanf(“%c”,c) ;              
D. scanf(“%f\n”,&f) ;

9.下面的变量说明中正确的是____________。
A.int:a, b, c;          
B.int  a; b; c;
C.int  a, b, c            
D.int  a, b, c;

10. C语言用(     )表示逻辑“真”值。
A.True    
B.  t 或  y    
C.  非零整型值   
D.  整型值0

11.若x=5,y=4 则y*=x+5; y的值为(   ).
A.  40     
B.  20      
C.  15        
D.  30

13.C语言中以追加方式打开一个文件应选择_______________参数。
A.“r”
B.“w”
C.“rb”
D.“a”

14.Break语句的正确的用法是(    )。
A. 无论在任何情况下,都中断程序的执行,退出到系统下一层。
B. 在多重循环中,只能退出最靠近的那一层循环语句。
C. 跳出多重循环。
D. 只能修改控制变量。

15.两个指针变量的值相等时,表明两个指针变量是________________。
A. 占据同一内存单元。             
B. 指向同一内存单元地址或者都为空。
C. 是两个空指针。                 
D. 都没有指向。

16.字符串指针变量中存入的是________________。
A.字符串的首地址。        
B.  字符串
C.第一个字符              
D.  字符串变量。

17.以_______________个是不正确的描述。
A. 不论在主函数还是自定义函数中,只要说明了变量,就可为其分配存贮单元。
B. 在定义函数时,必须指定形参的类型。
C. 形参和实参之间可以是值传递。
D. 数组名可以作为参数进行传递。

18  表达式“1?(0?3:2):(10?1:0)”的值为_____________________。
A.3       
B.  2         
C.  1         
D.  0

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. 以下说法中正确的是_______________。
A.   C语言程序总是从第一个定义的函数开始执行。
B.     在C语言程序中,要调用的函数必须有main( ) 函数中定义。
C.    C语言程序总是从main( ) 函数开始执行。
D.   C语言程序中的main( ) 函数必须放在程序的开始部分。

21.设有数组定义:char array[]=”China”;则数组所占的存贮空间为__________。
A.4个字节 
B. 5个字节    
C. 6个字节   
D. 7个字节

22.根据C语言的语法规则,下列________个是不合法标识符。
A.While   
B. Name    
C. Rern5   
D. _exam

三、读出下列程序,写出程序的运行结果。
1. main()
  { int a=8 , b=1;
a=a+b;
b=a*b;
printf("a=%d,b=%d",a,b);    }
该程序的运行结果是___________________________________。

2. main()
   { int i,num[5];
for(i=0;i<5;i++)
      num[i]=i*10 - 2;
printf("%d",num[3]);   }
该程序的运行结果是___________________________________。

3. main()
  { float c,f;
c=30.0;
f=(6*c)/5+32;
printf("f=%f",f);   }
该程序的运行结果是___________________________________。

4. main()
  { int a=6095 , b ;
b=a00 ;
printf("%d", b) ;     }
该程序的运行结果是___________________________________。

5. # include  “stdio.h”
 main( )
 { int a[]={8,2,9,4,1}, *p;
   p=a;
   *(p+2)+=2;
   printf(“%d, %d ”, *p, *(p+2));}
该程序的运行结果是___________________________________。

四、将下列程序中不正确的语句改正。
 1.   main( )
         {  int k ;
            k=35555 ;
                printf ( “%d “, k) ;      }

2.  main ( )
            {  int  a , b ;
                scanf ( “input a ,b:”,a , b );
                printf (“a=%d, b=%d”,a,b);          }

3.    main( )
            { int sum , k ;
               sum=0 ;
               k= 1 ;
              while (k < =100 )
              sum = sum+k ;
               k + + ; 
              p  rintf (“ sum=%d\n”, sum) ;          }

4.    main( )
          {  int  k , a( 8 ) ; 
              for( k=0; k<10 ; k++)
              scanf(“%d”, &a(k));
               ......   }

5.        main( )
             scanf(“%d”, a);
            if (a = 1)
            printf(“One\n”) ;                    }

五.编程题
1.    用程序计算下列表达式:s=1!+2!+3!+4!
2、从键盘上输入三个数,求出其中最大的一个数。
3.     输入两个整数,调用函数stu( )求两个数差的平方,返回主函数显示结果。。
4.从键盘上输入10个评委的分数,去掉一个最高分,去掉一个最低分,求出其余8个人的平均分,输出平均分,最高分,最低分。
5.write.txt中,遇到回车键输入结束。。(用“\n”表示回车键)

参考答案

一、填空
1.float double 
2. 0 
3.ch!=‘\0’ (ch>=‘a’ && ch<=‘z’) || (ch>=‘A’ && ch<=‘Z’)
4.将字符c所包含的值输出到标准的输出设备上。
5.定义一个整型的指针变量p
6.0 
7.FILE *fp 
8. 12

二、单项选择题
1、 A 2、 C 3、 B 4、 B 5、 D 6、C D 7、 D
8、 B 9、 D 10、 C 11、 A. 13、 D 14、B 
15、 A. 16、 A 17、 A. 18、 B 19、 A 20、 C 21、C 22、A

三、读出下列程序,写出程序的运行结果。
1. a=9,b=9 2. 28 3. f=68 4. 95 5. 8,11

四、将下列程序中不正确的语句改正。
1. long int k ; printf ( “%ld “, k) ; }
2. scanf ( “%d,%d”,a , b );
3. while (k < =100 )
{ sum = sum+k ;
k + + ; }
4. int k , a[8] ;
scanf(“%d”, &a[k]);
5. if (a = = 1)

五.编程题
1. main()
{ long int a,b,sum=0,p;
for(a=1;a<=4;a++)
{ p=1;
for(b=1;b<=a;b++)
p*=b;
sum+=p; }
printf(“%ld”,sum); }

2、main()
{ int a,b,c,max;
scanf(“%d,%d,%d”,&a,&b,&c);
if (a>b)
max=a;
else
max=b;
if (maxmax=c;
printf(“max=%d”,max); }

3. int stu(int a,int b)
{ int c;
c=a*a+b*b;
return c; }
main()
{ int x,y,z;
scanf(“%d,%d”,&x,&y);
z=stu(x,y);
printf(“%d”,z); }

4.main()
{ float a[10],b,max,min,sum=0,aver;
for(b=0;b<10;b++)
scanf(“%f”,&a[b]);
max=min=a[0];
for(b=1;b<10;b++)
{ if(a[b]>max)
max=a[b];
if(a[b]min=a[b];
sum+=a[b]; }
sum=sum-max-min;
aver=sum/8;
printf(“%f,%f,%f”,aver,max,min); }

5. main()
{ FILE *fp;
Char ch;
fp=fopen(“write.txt”,“w”);
ch=getchar();
while(ch!= ‘\n’)
{ fputc(ch,fp);
ch=getchar(); }
fclose(fp);
}

编辑特别推荐:

2011年计算机等级二级C语言课后练习题及答案解析汇总

2011年全国计算机等级二级C笔试考前练习习题汇总

2011年计算机等级考试二级C语言基础教程汇总

2011年计算机等级考试二级C语言辅导笔记汇总

2011年计算机等级考试二级C语言入门教程汇总





相关阅读



关于我们 | 联系我们 | 用户指南 | 网站地图 | 意见建议 | 会员注册 | 用户协议 | 隐私政策