全国计算机等级考试二级全国计算机等级考试二级 C C 语言之字符型数据测试语言之字符型数据测试一、选择题 (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() { 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“, 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,程序执行后的输出结果是 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“, 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’= ‘a’)||(c=c) D) (c>= ‘a’) while((ch=getchar())!=’\n’) { if(ch>=’A’ 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’ printf(“%d,%d\n“,c1,c2); } A) 因输出格式不合法,输出错误信息 B)65,90 C)A,Y D)65,89 (28) 有以下程序: # include 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“); } 从第一列开始输入以下数据,代表一个回车符。
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() { char c1,c2; for(c1=’0’,c2=’9’;c1.输出结果 是 #include “stdio.h“ main() { char a,b; a=getchar(); scanf(“%d“, 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 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 main() { int i,j; for(i=1; i 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。