您现在的位置: 中国男护士网 >> 考试频道 >> 计算机等级 >> 二级辅导 >> C语言 >> 模拟题 >> 正文    
  全国计算机等级考试二级C语言之字符型数据测试 【注册男护士专用博客】          

全国计算机等级考试二级C语言之字符型数据测试

www.nanhushi.com     佚名   不详 

一、选择题
(1)以下叙述中正确的是
  A)调用printf函数时,必须要有输出项
  B)使用putchar函数时,必须在之前包含头文件stdio.h
  C)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
  D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码

(2)有以下程序
 main()
 { char  a1=’M’, a2=’m’;
   printf("%c\n", (a1, a2) ); }
以下叙述中正确的是
  A)程序输出大写字母M   
  B)程序输出小写字母m
  C)格式说明符不足,编译出错  
  D)程序运行时产生出错信息
(3)有以下程序
 #include    <stdio.h>
 main()
 { char  c1=’1’,c2=’2’;
   c1=getchar();  c2=getchar();    putchar(c1);    putchar(c2);
 }
当运行时输入:a<回车>  后,以下叙述正确的是
  A)变量c1被赋予字符a,c2被赋予回车符
  B)程序将等待用户输入第2个字符
  C)变量c1被赋予字符a,c2中仍是原有字符2
  D)变量c1被赋予字符a,c2中将无确定值

(4)数字字符0的ASCII值为48,若有以下程序
main()
{   char  a=’1’,b=’2’;
    printf("%c,",b++);
    printf("%d\n",b-a);
}
程序运行后的输出结果是      
  A)3,2
  B)50,2
  C)2,2
  D)2,50

(5) 有以下程序
main()
{ char a=’a’,b;
  print("%c,",++a);
  printf("%c\n",b=a++);

程序运行后的输出结果是
  A) b,b    
  B)  b,c   
  C)a,b    
  D) a,c 

(6) 有以下程序
main()
{ char a,b,c,d;
  scanf("%c,%c,%d,%d",&a,&b,&c,&d);
  printf("c,%c,%c,%c\n",a,b,c,d);

若运行时从键盘上输入:6,5,65,66<回车>。则输出结果是
  A) 6,5,A,B   
  B) 6,5,65,66  
  C) 6,5,6,5   
  D) 6,5,6,6 

(7) 有以下程序
main( )
{  char k;   int   I;
   for(i=1;i<3;i++)
     {  scanf(“%c”,&k);
        switch(k)
          {  case ‘0’:  printf(“another\n”);
             case ‘1’:  printf(“number\n”);
           }
      }
}
程序运行时,从键盘输入:01<回车>,程序执行后的输出结果是
  A) another     B) another      C) another      D) number
    number          number          number            number
                                  another           number

(8) 已定义ch为字符型变量,以下赋值语句中错误的是
  A) ch="\";     
  B) ch=62+3;     
  C) ch=NULL;      
  D) ch="\xaa";

(9) 已定义c为字符型变量,则下列语句中正确的是
  A) c=‘97’;    
  B) c="97";    
  C) c=97;        
  D) c="a";

(10)有以下程序段
int m=0,n=0; char  c=‘a’;
 scanf("%d%c%d",&m,&c,&n);
 printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:10A10<回车>,则输出结果是:
  A) 10,A,10   
  B) 10,a,10   
  C) 10,a,0  
  D) 10,A,0


(11) 已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\101’是
  A)  字符A  
  B)字符a  
  C)字符e  
  D)非法的常量

(12) 若变量a是int类型,并执行了语句:a=‘A’+1.6;,则正确的叙述是
  A) a的值是字符C       
  B) a的值是浮点型
  C) 不允许字符型和浮点型相加  
  D) a的值是字符‘A’的ASCII值加上1。

(13) 以下选项中合法的字符常量是
  A)“B”      
  B) ‘\010’  
  C) 68          
  D) D

(14) 以下程序的输出结果是
main()
{ char  c=’z’;
printf(“%c”,c-25);
}
  A) a    
  B) Z      
  C) z-25     
  D) y

(15) 以下选项中,非法的字符常量是
  A) ‘\t’     
  B) ‘\17’       
  C)“n”       
  D) ‘\xaa’

(16) 若变量c为char类型,能正确判断出c为小写字母的表达式是
  A) ‘a’<=c<= ‘z’         
  B) (c>= ‘a’)||(c<= ‘z’)
  C) (‘a’<=c)and (‘z’>=c)     
  D) (c>= ‘a’)&&(c<= ‘z’)

(17) 有如下程序段
int   a=14,b=15,x;
char  c=’A’;
x=(a&&b)&&(c<’B’);
执行该程序段后,x的值为
  A) ture            
  B) false           
  C) 0              
  D) 1

(18) 下列程序执行后的输出结果是
  A) G          B) H                C) I             D) J
      main()
     { int x=’f’; printf("%c \n",’A’+(x-’a’+1)); }

(19) 以下程序的输出结果是
  A) 编译不通过,无输出         
  B) aceg
  C) acegi                     
  D) abcdefghi
    main(  )
     {     int    i;
           for(i=’A’;i<’I’;i++,i++)  printf("%c",i+32);
           printf(" \n");
     }

(20) 在执行以下程序时,如果从键盘上输入,ABCdef<回车>,则输出为
  A) ABCdef        
  B) abcDEF         
  C) abc           
  D) DEF
         #include<stdio,h>
         main()
         {  char    ch;
            while((ch=getchar())!=’\n’)
            {  if(ch>=’A’ && ch<=’Z’) ch=ch+32;
               else if(ch>=’a’ && ch<=’z’) ch=ch-32;
               printf("%c",ch);
         }
         printf("\n");
         }



(21) 运行以下程序后,如果从键盘上输入 china#<回车>,则输出结果为
  A) 2,0           
  B) 5,0            
  C) 5,5            
  D) 2,5
       #include<stdio,h>
       mair()
       { int v1=0,v2=0;
         char ch;
         while((ch=getchar())!=’#’)
             switch(ch)
             { case  ’a’;
               case  ’h’;
               default;    v1++;
               case   ’0’; v2++;
             }
       printf("%d,%d\n",v1,v2);
       }

(22) 下列不正确的转义字符是
  A) ’\\’    
  B) ’\"    
  C) ’074’    
  D) ’\0’

(23) 在C语言中,合法的字符常量是
  A) ‘\084’        
  B) ‘\x43’   
  C) ‘ab’           
  D) “\0”

(24) 若有以下定义和语句
     char c1=’b’,c2=’e’; 
     printf("%d,%c\n",c2-c1,c2-’a’+"A"); 
     则输出结果是:
  A)2,M                        
  B)3,E
  C)2,E                        
  D)输出项与对应的格式控制不一致,输出结果不确定

(25) 已知字母A的ASCII码为十进制的65,下面程序的输出是
  A) 67,D          
  B) B,C          
  C) C,D           
  D) 不确定的值
main()
{ char ch1,ch2;
ch1=’A’+’5’-’3’;
ch2=’A’+’6’-’3’;
printf("%d,%c\n",ch1,ch2);}

(26) 设ch是char型变量,其值为A,且有下面的表达式:
ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch
上面表达式的值是
  A) A    
  B) a              
  C) Z              
  D) z

(27) 已知在ASCII代码中,字母A的序号为65,以下程序的输出的结果是 【27】 。
# include <stdio.h>
main()
{      char  c1=’A’,  c2=’Y’;
       printf("%d,%d\n",c1,c2);    }
  A) 因输出格式不合法,输出错误信息   
  B)65,90   
  C)A,Y   
  D)65,89

(28) 有以下程序:
# include<stdio.h>
main()
{  int c;
   while((c=getchar())!=’\n’)
   {  switch(c-’2’)
      {   case 0:
          case 1: putchar(c+4);
          case 2: putchar(c+4);break;
          case 3: putchar(c+3);
          case 4: putchar(c+2);break; }  }
  printf("\n");   }
从第一列开始输入以下数据,<CR>代表一个回车符。
2743<CR>
 程序的输出结果是 【28】 。
  A) 668977      
  B) 668966     
  C) 6677877      
  D) 6688766



二、填空题:
(1)已知字母A的ASCII码为65。以下程序运行后的输出结果是  【1】  。
 main()
 { char  a, b;
   a=’A’+’5’-’3’;    b=a+’6’-’2’ ;
   printf("%d  %c\n", a, b);
 }

(2)以下程序运行后的输出结果是
main()
{
   char c1,c2;
   for(c1=’0’,c2=’9’;c1<c2;c1++,c2--)
      printf("%c%c",c1,c2);
   printf("\n");
}

(3)已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>.输出结果是   
#include "stdio.h"
main()
{
   char a,b;
   a=getchar(); scanf("%d",&b);
   a=a-’A’+’0’;
   b=b*2;
   printf("%c  %c\n",a,b);
}

(4) 已知字符A的ACSII码值为65,以下语句的输出结果是【4】 
char ch=’B’;
printf(“%c %d\n”,ch,ch);

(5)有以下程序
#include <stdio.h>
main( )
{  char ch1,ch2;  int n1,n2;
   ch1=getchar();  ch2=getchar();
   n1=ch1-‘0’;  n2=n1*10+(ch2-‘0’);
   printf(“%d\n”,n2);
}
程序运行时输入:12<回车>,执行后输出结果是【5】 。

(6) 以下程序运行后的输出结果是 【6】  。
main()
{ char  m; 
m=‘B’+32;   printf("%c\n",m);
}

(7) 执行以下程序后,输出‘#’号的个数是 【7】 。
#include  <stdio.h>
main()
{ int  i,j;
for(i=1; i<5; i++)
for(j=2; j<=i; j++)  putchar(’#’);
}

(8)若有以下程序
main()
{ char a;
 a=’H’-’A’+’0’;
 print("%c\n",a);
}
执行后的输出结果是 【8】 。

(9) 有以下程序:
#include <stdio.h>
main()
{ char c;
while((c=getchar( ))!=’?’)  putchar(--c);
}
程序运行时,如果从键盘输入:Y?N?<回车>,则输出结果为   [9]   。

(10) 下列程序段的输出结果是 【10】 。
int  n=’c’;
switch(n++)
{  default: printf(“error”);break;
   case ‘a’:case ‘A’:case ‘b’:case ‘B’:printf(“good”);break;
   case ‘c’:case ‘C’:printf(“pass”);
   case ‘d’:case ‘D’:printf(“warn”);
}

(11) 若输入字符串:abcde<回车>,则以下while循环体将执行 [11] 次。
While((ch=getchar())==’e’) printf(“*”);


答案:
一、选择题
01) B   02) B   03) A   04) C   05) A 
06) A   07) C   08) A   09) C   10) A

11) A   12) D   13) B   14) A   15) C 
16) D   17) D   18) A   19) B   20) B

21) C   22) C   23) B   24) B   25) A 
26) B   27) D   28) A   
二、填空题

(1) 67 G

(2) 0918273645

(3)  1B

(4) B 66

(5) 12

(6) b

(7) 6

(8) 7

(9) X

(10) passwarm

(11) 0

 

文章录入:杜斌    责任编辑:杜斌 
  • 上一篇文章:

  • 下一篇文章:
  • 【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
     

    联 系 信 息
    QQ:88236621
    电话:15853773350
    E-Mail:malenurse@163.com
    免费发布招聘信息
    做中国最专业男护士门户网站
    最 新 热 门
    最 新 推 荐
    相 关 文 章
    没有相关文章
    专 题 栏 目