06 字符型数据.docx
- 文档编号:13118741
- 上传时间:2023-06-11
- 格式:DOCX
- 页数:14
- 大小:18.48KB
06 字符型数据.docx
《06 字符型数据.docx》由会员分享,可在线阅读,更多相关《06 字符型数据.docx(14页珍藏版)》请在冰点文库上搜索。
06字符型数据
第六部分:
字符型数据
一、选择题
(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
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()
{chara='a',b;
print("%c,",++a);
printf("%c\n",b=a++);
}
程序运行后的输出结果是
A)b,b
B) b,c
C)a,b
D)a,c
(6)有以下程序
main()
{chara,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()
{ chark; 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)有以下程序段
intm=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()
{intx='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
main()
{ char ch;
while((ch=getchar())!
='\n')
{ if(ch>='A'&&ch<='Z')ch=ch+32;
elseif(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
mair()
{intv1=0,v2=0;
charch;
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)若有以下定义和语句
charc1='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()
{charch1,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
main()
{ char c1='A', c2='Y';
printf("%d,%d\n",c1,c2); }
A)因输出格式不合法,输出错误信息
B)65,90
C)A,Y
D)65,89
(28)有以下程序:
#include
main()
{ intc;
while((c=getchar())!
='\n')
{ switch(c-'2')
{ case0:
case1:
putchar(c+4);
case2:
putchar(c+4);break;
case3:
putchar(c+3);
case4:
putchar(c+2);break;} }
printf("\n"); }
从第一列开始输入以下数据,
2743
程序的输出结果是 【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()
{
charc1,c2;
for(c1='0',c2='9';c1 printf("%c%c",c1,c2); printf("\n"); } (3)已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入: B33<回车>.输出结果是 #include"stdio.h" main() { chara,b; a=getchar();scanf("%d",&b); a=a-'A'+'0'; b=b*2; printf("%c %c\n",a,b); } (4)已知字符A的ACSII码值为65,以下语句的输出结果是【4】 charch=’B’; printf(“%c%d\n”,ch,ch); (5)有以下程序 #include main() { charch1,ch2; intn1,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 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 main() {charc; 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)67G (2)0918273645 (3) 1B (4)B66 (5)12 (6)b (7)6 (8)7 (9)X (10)passwarm (11)0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 06 字符型数据 字符 数据