一、選擇題
(1)以下敘述中正確的是
A)調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)
B)使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio.h
C)在C語(yǔ)言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出
D)調(diào)用getchar函數(shù)讀入字符時(shí),可以從鍵盤(pán)上輸入字符所對(duì)應(yīng)的ASCII碼
(2)有以下程序
main()
{ char a1='M', a2='m';
printf("%c\n", (a1, a2) ); }
以下敘述中正確的是
A)程序輸出大寫(xiě)字母M B)程序輸出小寫(xiě)字母m
C)格式說(shuō)明符不足,編譯出錯(cuò) D)程序運(yùn)行時(shí)產(chǎn)生出錯(cuò)信息
(3)有以下程序
#include
main() { char c1='1',c2='2'; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); }
當(dāng)運(yùn)行時(shí)輸入:a<回車(chē)> 后,以下敘述正確的是
A)變量c1被賦予字符a,c2被賦予回車(chē)符
B)程序?qū)⒌却脩糨斎氲?個(gè)字符
C)變量c1被賦予字符a,c2中仍是原有字符2
D)變量c1被賦予字符a,c2中將無(wú)確定值
(4)數(shù)字字符0的ASCII值為48,若有以下程序
main()
{ char a='1',b='2';
printf("%c,",b++);
printf("%d\n",b-a);
}
程序運(yùn)行后的輸出結(jié)果是
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++);
}
程序運(yùn)行后的輸出結(jié)果是
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);
}
若運(yùn)行時(shí)從鍵盤(pán)上輸入:6,5,65,66<回車(chē)>。則輸出結(jié)果是
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”);
}
}
}
程序運(yùn)行時(shí),從鍵盤(pán)輸入:01<回車(chē)>,程序執(zhí)行后的輸出結(jié)果是
A) another B) another C) another D) number
number number number number
another number
(8) 已定義ch為字符型變量,以下賦值語(yǔ)句中錯(cuò)誤的是
A) ch="\"; B) ch=62+3; C) ch=NULL; D) ch="\xaa";
(9) 已定義c為字符型變量,則下列語(yǔ)句中正確的是
A) c=‘97’; B) c="97"; C) c=97; D) c="a";
(10)有以下程序段
int m=0,n=0; char c=‘a(chǎn)’;
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若從鍵盤(pán)上輸入:10A10<回車(chē)>,則輸出結(jié)果是:
A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,0
(11) 已知大寫(xiě)字母A的ASCII碼值是65,小寫(xiě)字母a的ASCII碼是97,則用八進(jìn)制表示的字符常量‘\101’是
A) 字符A B)字符a C)字符e D)非法的常量
(12) 若變量a是int類型,并執(zhí)行了語(yǔ)句:a=‘A'+1.6;,則正確的敘述是
A) a的值是字符C B) a的值是浮點(diǎn)型
C) 不允許字符型和浮點(diǎn)型相加 D) a的值是字符‘A’的ASCII值加上1。
(13) 以下選項(xiàng)中合法的字符常量是
A)“B” B) ‘\010’ C) 68 D) D
(14) 以下程序的輸出結(jié)果是
main()
{ char c=’z’;
printf(“%c”,c-25);
}
A) a B) Z C) z-25 D) y
(15) 以下選項(xiàng)中,非法的字符常量是
A) ‘\t’ B) ‘\17’ C)“n” D) ‘\xaa’
(16) 若變量c為char類型,能正確判斷出c為小寫(xiě)字母的表達(dá)式是
A) ‘a(chǎn)’<=c<= ‘z’ B) (c>= ‘a(chǎn)’)||(c<= ‘z’)
C) (‘a(chǎn)’<=c)and (‘z’>=c) D) (c>= ‘a(chǎn)’)&&(c<= ‘z’)
(17) 有如下程序段
int a=14,b=15,x;
char c=’A’;
x=(a&&b)&&(c<’B’);
執(zhí)行該程序段后,x的值為
A) ture B) false C) 0 D) 1
(18) 下列程序執(zhí)行后的輸出結(jié)果是
A) G B) H C) I D) J
main()
{ int x='f'; printf("%c \n",'A'+(x-'a'+1)); }
(19) 以下程序的輸出結(jié)果是
A) 編譯不通過(guò),無(wú)輸出 B) aceg
C) acegi D) abcdefghi
main( )
{ int i;
for(i='A';i<'I';i++,i++) printf("%c",i+32);
printf(" \n");
}
(20) 在執(zhí)行以下程序時(shí),如果從鍵盤(pán)上輸入,ABCdef<回車(chē)>,則輸出為
A) ABCdef B) abcDEF C) abc D) DEF
#include
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) 運(yùn)行以下程序后,如果從鍵盤(pán)上輸入 china#<回車(chē)>,則輸出結(jié)果為
A) 2,0 B) 5,0 C) 5,5 D) 2,5
#include
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) 下列不正確的轉(zhuǎn)義字符是
A) '\\' B) '\" C) '074' D) '\0'
(23) 在C語(yǔ)言中,合法的字符常量是
A) ‘\084' B) ‘\x43' C) ‘a(chǎn)b' D) “\0”
(24) 若有以下定義和語(yǔ)句
char c1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+"A");
則輸出結(jié)果是:
A)2,M B)3,E
C)2,E D)輸出項(xiàng)與對(duì)應(yīng)的格式控制不一致,輸出結(jié)果不確定
(25) 已知字母A的ASCII碼為十進(jìn)制的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) 設(shè)ch是char型變量,其值為A,且有下面的表達(dá)式:
ch=(ch>='A'&&ch<='Z')?(ch+32):ch
上面表達(dá)式的值是
A) A B) a C) Z D) z
(27) 已知在ASCII代碼中,字母A的序號(hào)為65,以下程序的輸出的結(jié)果是 【27】 。
# include
main()
{ char c1='A', c2='Y';
printf("%d,%d\n",c1,c2); }
A) 因輸出格式不合法,輸出錯(cuò)誤信息 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"); }
從第一列開(kāi)始輸入以下數(shù)據(jù),代表一個(gè)回車(chē)符。
2743
程序的輸出結(jié)果是 【28】 。
A) 668977 B) 668966 C) 6677877 D) 6688766二、填空題:
(1)已知字母A的ASCII碼為65。以下程序運(yùn)行后的輸出結(jié)果是 【1】 。
main()
{ char a, b;
a='A'+'5'-'3'; b=a+'6'-'2' ;
printf("%d %c\n", a, b);
}
(2)以下程序運(yùn)行后的輸出結(jié)果是
main()
{
char c1,c2;
for(c1='0',c2='9';c1 printf("%c%c",c1,c2);
printf("\n");
}
(3)已知字符A的ASCII代碼值為65,以下程序運(yùn)行時(shí)若從鍵盤(pán)輸入:B33<回車(chē)>.輸出結(jié)果是
#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,以下語(yǔ)句的輸出結(jié)果是【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);
}
程序運(yùn)行時(shí)輸入:12<回車(chē)>,執(zhí)行后輸出結(jié)果是【5】 。
(6) 以下程序運(yùn)行后的輸出結(jié)果是 【6】 。
main()
{ char m;
m=‘B’+32; printf("%c\n",m);
}
(7) 執(zhí)行以下程序后,輸出‘#’號(hào)的個(gè)數(shù)是 【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);
}
執(zhí)行后的輸出結(jié)果是 【8】 。
(9) 有以下程序:
#include
main()
{ char c;
while((c=getchar( ))!=’?’) putchar(--c);
}
程序運(yùn)行時(shí),如果從鍵盤(pán)輸入:Y?N?<回車(chē)>,則輸出結(jié)果為 [9] 。
(10) 下列程序段的輸出結(jié)果是 【10】 。
int n=’c’;
switch(n++)
{ default: printf(“error”);break;
case ‘a(chǎn)’:case ‘A’:case ‘b’:case ‘B’:printf(“good”);break;
case ‘c’:case ‘C’:printf(“pass”);
case ‘d’:case ‘D’:printf(“warn”);
}
(11) 若輸入字符串:abcde<回車(chē)>,則以下while循環(huán)體將執(zhí)行 [11] 次。
While((ch=getchar())==’e’) printf(“*”);
答案:
一、選擇題
1) B 2) B 3) A 4) C 5) A 6) A 7) C 8) A 9) 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 29) 30)
二、填空題
(1) 67 G
(2) 0918273645
(3) 1B
(4) B 66
(5) 12
(6) b
(7) 6
(8) 7
(9) X
(10) passwarm
(11) 0
(1)以下敘述中正確的是
A)調(diào)用printf函數(shù)時(shí),必須要有輸出項(xiàng)
B)使用putchar函數(shù)時(shí),必須在之前包含頭文件stdio.h
C)在C語(yǔ)言中,整數(shù)可以以十二進(jìn)制、八進(jìn)制或十六進(jìn)制的形式輸出
D)調(diào)用getchar函數(shù)讀入字符時(shí),可以從鍵盤(pán)上輸入字符所對(duì)應(yīng)的ASCII碼
(2)有以下程序
main()
{ char a1='M', a2='m';
printf("%c\n", (a1, a2) ); }
以下敘述中正確的是
A)程序輸出大寫(xiě)字母M B)程序輸出小寫(xiě)字母m
C)格式說(shuō)明符不足,編譯出錯(cuò) D)程序運(yùn)行時(shí)產(chǎn)生出錯(cuò)信息
(3)有以下程序
#include
main() { char c1='1',c2='2'; c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); }
當(dāng)運(yùn)行時(shí)輸入:a<回車(chē)> 后,以下敘述正確的是
A)變量c1被賦予字符a,c2被賦予回車(chē)符
B)程序?qū)⒌却脩糨斎氲?個(gè)字符
C)變量c1被賦予字符a,c2中仍是原有字符2
D)變量c1被賦予字符a,c2中將無(wú)確定值
(4)數(shù)字字符0的ASCII值為48,若有以下程序
main()
{ char a='1',b='2';
printf("%c,",b++);
printf("%d\n",b-a);
}
程序運(yùn)行后的輸出結(jié)果是
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++);
}
程序運(yùn)行后的輸出結(jié)果是
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);
}
若運(yùn)行時(shí)從鍵盤(pán)上輸入:6,5,65,66<回車(chē)>。則輸出結(jié)果是
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”);
}
}
}
程序運(yùn)行時(shí),從鍵盤(pán)輸入:01<回車(chē)>,程序執(zhí)行后的輸出結(jié)果是
A) another B) another C) another D) number
number number number number
another number
(8) 已定義ch為字符型變量,以下賦值語(yǔ)句中錯(cuò)誤的是
A) ch="\"; B) ch=62+3; C) ch=NULL; D) ch="\xaa";
(9) 已定義c為字符型變量,則下列語(yǔ)句中正確的是
A) c=‘97’; B) c="97"; C) c=97; D) c="a";
(10)有以下程序段
int m=0,n=0; char c=‘a(chǎn)’;
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若從鍵盤(pán)上輸入:10A10<回車(chē)>,則輸出結(jié)果是:
A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,0
(11) 已知大寫(xiě)字母A的ASCII碼值是65,小寫(xiě)字母a的ASCII碼是97,則用八進(jìn)制表示的字符常量‘\101’是
A) 字符A B)字符a C)字符e D)非法的常量
(12) 若變量a是int類型,并執(zhí)行了語(yǔ)句:a=‘A'+1.6;,則正確的敘述是
A) a的值是字符C B) a的值是浮點(diǎn)型
C) 不允許字符型和浮點(diǎn)型相加 D) a的值是字符‘A’的ASCII值加上1。
(13) 以下選項(xiàng)中合法的字符常量是
A)“B” B) ‘\010’ C) 68 D) D
(14) 以下程序的輸出結(jié)果是
main()
{ char c=’z’;
printf(“%c”,c-25);
}
A) a B) Z C) z-25 D) y
(15) 以下選項(xiàng)中,非法的字符常量是
A) ‘\t’ B) ‘\17’ C)“n” D) ‘\xaa’
(16) 若變量c為char類型,能正確判斷出c為小寫(xiě)字母的表達(dá)式是
A) ‘a(chǎn)’<=c<= ‘z’ B) (c>= ‘a(chǎn)’)||(c<= ‘z’)
C) (‘a(chǎn)’<=c)and (‘z’>=c) D) (c>= ‘a(chǎn)’)&&(c<= ‘z’)
(17) 有如下程序段
int a=14,b=15,x;
char c=’A’;
x=(a&&b)&&(c<’B’);
執(zhí)行該程序段后,x的值為
A) ture B) false C) 0 D) 1
(18) 下列程序執(zhí)行后的輸出結(jié)果是
A) G B) H C) I D) J
main()
{ int x='f'; printf("%c \n",'A'+(x-'a'+1)); }
(19) 以下程序的輸出結(jié)果是
A) 編譯不通過(guò),無(wú)輸出 B) aceg
C) acegi D) abcdefghi
main( )
{ int i;
for(i='A';i<'I';i++,i++) printf("%c",i+32);
printf(" \n");
}
(20) 在執(zhí)行以下程序時(shí),如果從鍵盤(pán)上輸入,ABCdef<回車(chē)>,則輸出為
A) ABCdef B) abcDEF C) abc D) DEF
#include
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) 運(yùn)行以下程序后,如果從鍵盤(pán)上輸入 china#<回車(chē)>,則輸出結(jié)果為
A) 2,0 B) 5,0 C) 5,5 D) 2,5
#include
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) 下列不正確的轉(zhuǎn)義字符是
A) '\\' B) '\" C) '074' D) '\0'
(23) 在C語(yǔ)言中,合法的字符常量是
A) ‘\084' B) ‘\x43' C) ‘a(chǎn)b' D) “\0”
(24) 若有以下定義和語(yǔ)句
char c1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+"A");
則輸出結(jié)果是:
A)2,M B)3,E
C)2,E D)輸出項(xiàng)與對(duì)應(yīng)的格式控制不一致,輸出結(jié)果不確定
(25) 已知字母A的ASCII碼為十進(jìn)制的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) 設(shè)ch是char型變量,其值為A,且有下面的表達(dá)式:
ch=(ch>='A'&&ch<='Z')?(ch+32):ch
上面表達(dá)式的值是
A) A B) a C) Z D) z
(27) 已知在ASCII代碼中,字母A的序號(hào)為65,以下程序的輸出的結(jié)果是 【27】 。
# include
main()
{ char c1='A', c2='Y';
printf("%d,%d\n",c1,c2); }
A) 因輸出格式不合法,輸出錯(cuò)誤信息 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"); }
從第一列開(kāi)始輸入以下數(shù)據(jù),
2743
程序的輸出結(jié)果是 【28】 。
A) 668977 B) 668966 C) 6677877 D) 6688766二、填空題:
(1)已知字母A的ASCII碼為65。以下程序運(yùn)行后的輸出結(jié)果是 【1】 。
main()
{ char a, b;
a='A'+'5'-'3'; b=a+'6'-'2' ;
printf("%d %c\n", a, b);
}
(2)以下程序運(yùn)行后的輸出結(jié)果是
main()
{
char c1,c2;
for(c1='0',c2='9';c1
printf("\n");
}
(3)已知字符A的ASCII代碼值為65,以下程序運(yùn)行時(shí)若從鍵盤(pán)輸入:B33<回車(chē)>.輸出結(jié)果是
#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,以下語(yǔ)句的輸出結(jié)果是【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);
}
程序運(yùn)行時(shí)輸入:12<回車(chē)>,執(zhí)行后輸出結(jié)果是【5】 。
(6) 以下程序運(yùn)行后的輸出結(jié)果是 【6】 。
main()
{ char m;
m=‘B’+32; printf("%c\n",m);
}
(7) 執(zhí)行以下程序后,輸出‘#’號(hào)的個(gè)數(shù)是 【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);
}
執(zhí)行后的輸出結(jié)果是 【8】 。
(9) 有以下程序:
#include
main()
{ char c;
while((c=getchar( ))!=’?’) putchar(--c);
}
程序運(yùn)行時(shí),如果從鍵盤(pán)輸入:Y?N?<回車(chē)>,則輸出結(jié)果為 [9] 。
(10) 下列程序段的輸出結(jié)果是 【10】 。
int n=’c’;
switch(n++)
{ default: printf(“error”);break;
case ‘a(chǎn)’:case ‘A’:case ‘b’:case ‘B’:printf(“good”);break;
case ‘c’:case ‘C’:printf(“pass”);
case ‘d’:case ‘D’:printf(“warn”);
}
(11) 若輸入字符串:abcde<回車(chē)>,則以下while循環(huán)體將執(zhí)行 [11] 次。
While((ch=getchar())==’e’) printf(“*”);
答案:
一、選擇題
1) B 2) B 3) A 4) C 5) A 6) A 7) C 8) A 9) 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 29) 30)
二、填空題
(1) 67 G
(2) 0918273645
(3) 1B
(4) B 66
(5) 12
(6) b
(7) 6
(8) 7
(9) X
(10) passwarm
(11) 0