B) a==11||a==12||a==13||a==14
C) a>10&&a<15
D) !(a<=10)&&!(a>=15)
25、假如 c 为字符型变量,判断
c 能否为空格不可以使
用________.( 假定已知空格 ASCII码为 32)
A) if(c=='32')
B) if(c==32)
C) if(c=='40')
D) if(c==' ')
26、履行下边程序时 ,若从键盘输入 "2",则程序
的运转结果是 ________.
#include <>
void main( )
{ int k; char cp;
cp=getchar( );
if (cp>='0' && cp<='9')
k=cp-'0';
else if (cp>='a' && cp<='f')
k=cp-'a'+10;
else k=cp-'A'+10;
printf("%dn",k);
}
A) 2 B) 4 C) 1 D) 10
27、履行下边程序后 ,运转结果是 ________.
#include <>
void main( )
{ int x=41,y=1;
if (x%3==0 && x%7==0)
2 / 12
C语言基础练习100题
{ y+=x;printf("y=%dn",y);} else
3 / 12
C语言基础练习100题
{y=x;printf("y=%d",y);}
}
A) y=41
B) y=43
C) y=42
D) y=1
28、运转下边程序时,从键盘输入
"12,34,9",则
输出结果是 ______.
#include <>
void main( )
{ int x,y,z;
scanf("%d,%d,%d",&x,&y,&z);
if (x
if (y
else printf("%dn",y);
else if (x
else printf("%dn",x);
}
A)34
B)12
C)9
D) 不确立的值
29、运转下边程序时,从键盘输入字母H,则输出结
果是 ________.
#include <>
void main( )
{ char ch;
ch=getchar( );
switch(ch)
{ case 'H':printf("Hello!n");
case 'G':printf("Good morning!n");
default:printf("Bye_Bye!n");
}
}
A) Hello!
B) Hello!
Good Morning!
C) Hello!
D) Hello!
Good morning!
Bye_Bye!
Bye_Bye!
30、履行以下程序段后的输出结果是
_________.
int x=1,y=1,z=1;
x+=y+=z;
printf("%dn",xA)3
B)2
C)1
D)4
31、设 ch 是 char 型变量 ,值为 'A',则表达式 ch=(ch>='A'
&& ch<='Z')ch+32:ch 的值是 _____.
A) Z
B) a
C) z
D) A
32、下边程序的输出结果是 ________.
void main( )
{ int x=8,y=-7,z=9;
if (x
if (y<0) z=0;
else z-=1;
printf("%dn",z);
}
A) 8 B) 1
C) 9 D) 0
33、运转下边程序时,若从键盘输入 "3, 4 ",
则
程序的输出结果是
_______.
#include <>
void main( )
{ int a,b,s;
scanf("%d,%d",&a,&b);
s=a;
if (s
s=s*s;
printf("%dn",s) ;
}
A) 14 B) 16 C) 18 D) 20
34、以下程序的履行结果是
_________.
#include <>
void main( )
{ int x=0,y=1,z=0;
if (x=z=y)
x=3;
printf("%d,%dn",x,z);
}
A) 3,0
B) 0,0
C) 0,1
D) 3,1
35、可以达成以下函数计算的程序段是
______.
┌ -1
x<0
y= ┤ 0
x=0
└
1
x>0
A) y=1;
B) if (x>=0)
if(x!=0)
if(x>0) y=1;
if(x>0) y=1;
else y=0;
else y=0;
else y=-1;
C) y=0;
D) y=-1;
if (x>=0)
if (x>0) y=1;
if (x>0) y=1;
else y=-1;
else y=0;
36、以下程序的履行结果是
________.
#include <>
void main( )
switch (x)
4 / 12
C语言基础练习100题
{
case 1:
switch (y)
{
case 0:printf("firstn");break;
case 1:printf("secondn");break;
}
case 2:printf("thirdn");
}
}
A) first
B) first
second
third
C) first
D) second
third
37
、以下程序的履行结果是 ________.
#include <>
void main( )
{ int a,b,c,d,x;
a=c=0;
b=1; d=20;
if (a) d=d-10;
else if(!b)
if (!c) x=15;
else x=25;
printf("d=%dn",d);
}
A) d=20 B) d=10 C) d=15 D) 25
38、以下程序履行后的输出结果是________.
#include <>
void main( )
{ int x,y=1,z;
if ((z=y)<0) x=4;
else if (y==0) x=5;
else x=6;
printf("%d,%dn",x,y);
}
A) 4,1 B) 6,1 C) 5,0
D) 犯错信息
39、有以下程序
#include <>
void main( )
{ int x=1,a=0,b=0;
switch(x)
{
case 0: b++;
case 1: a++;
case 2: a++;b++;
}
printf("a=%d,b=%dn",a,b);
}
该程序的输出结果是
__________.
A) a=2,b=1
B) a=1,b=1
C) a=1,b=0
D) a=2,b=2
40、下边程序的输出结果是
_________.
#include <>
void main( )
{ int a=-1,b=1,k;
if ((++a<0) && (b--<=0))
printf("%d %dn",a,b);
else
printf("%d %dn",b,a);
}
A)-11 B)01 C)10 D)00
41、假定 w、 x、 y、 z、 m 均为 int 型变量,有以下程序段:
w=1;x=2;y=3;z=4;
m=(wm=(m则该程序段履行后,
m 的值是 _________.
A)4
B)3
C)2
D)1
42、以下程序的输出结果是
_________.
main( )
{ int a=100;
if (a>100) printf("%dn",a>100);
else printf("%dn",a<=100);
}
A) a<=100B) 100 C) 0 D) 1
43、若履行下边的程序从键盘上输入 9,则输出结果是.______________
#include <>
void main( )
{int n;
scanf("%d",&n);
if (n++<10) printf("%dn",n);
else printf("%dn",n--);}
A) 11 B) 10 C) 9
D) 8
44、以下程序段运转结果是
________.
int x=1,y=1,z=-1;
x+=y+=z;
printf("%dn",x
A) 1 B) 2 C) 4 D)
不确立的值
45、有以下程序
5 / 12
C语言基础练习100题
#include <>
void main( )
{ int a,b,c=246;
a=c/100%9;
b=(-1)&&(-1);
}
A) 2,1
是______.
#include <>
void main( )
{ int a,b;
scanf("%d",&a);
b=a>15a+10:a-10;
printf("%dn",b) ;
}
printf("%d,%dn",a,b);
输出结果是 ________.
B) 3,2 C) 4,3 D) 2,-1
"123" ,
A) 5 B) 25
C) 15D) 10
________.
46、运转下边程序时,若从键盘输入数据为 50、履行下边程序的输出结果是
则输出结果是 _______.
#include ""
void main()
{ int num,i,j,k,place;
scanf("%d",&num);
if (num>99)
place=3;
else if(num>9)
place=2;
else
place=1;
i=num/100;
j=(num-i*100)/10;
k=(num-i*100-j*10);
switch (place)
{ case 3: printf("%d%d%dn",k,j,i);
break;
case 2: printf("%d%dn",k,j);
break;
case 1: printf("%dn",k);
}
}
A) 123 B) 1,2,3 C) 321 D) 3,2,1
47、履行以下程序后的输出结果是_______.
#include <>
void main( )
{ int k=4,a=3,b=2,c=1;
printf("%dn",k
}
A) 4 B) 3 C) 2 D) 1
48、以下条件表达式中能完整等价于条件表达式
if(x)
中的 x 的是 ____.
A) (x==0)
B) (x!=0) C) (x==1)D) (x!=1)
49、若运转下边程序时 ,给变量 a 输入 15,则输出结果
#include <>
void main( )
{ int a=5,b=0,c=0;
if (a=a+b) printf("****n");
else printf("####n");
}
A)
有语法错误不可以编译
能经过编译,但不可以经过连B)
结
C) 输出 ****
D) 输出 ####
51、为了防止嵌套的 if-else 语句的二义性,定 else 老是与 ______构成配对关系 .
A)
缩排地点同样的
if
B)
在其以前未配对的
if
C) 在其以前还没有配对的近来的
if
D)
同一行上的 if
52、以下程序段 __________.
x=-1;
do
{
x=x*x;
} while (!x);
A)是死循环 B)循环履行两次
C)循环履行一次 D)有语法错误
53、对下边程序段描绘正确的选项是
_______.
int x=0,s=0;
while (!x!=0) s+=++x;
printf("%d",s);
A)
运转程序段后输出
0
B)
运转程序段后输出
1
C) 程序段中的控制表达式是非法的
D)
程序段循环无数次
54、下边程序段的输出结果是
_______.
6 / 12
语言规 C
C语言基础练习100题
x=3;
do { y=x--;
if (!y) {printf("*");continue;}
printf("#");
} while(x=2);
A) ##
B) ##*C) 死循环 D)输犯错误信息
55、下边程序的运转结果是
_______.
#include<>
void main( )
{ int a=1,b=10;
do
{ b-=a;a++;
} while(b--<0);
printf("%d,%dn",a,b);
}
A) 3,11 B) 2,8 C) 1,-1
D) 4,9
56、下边程序段的运转结果是
__________.
int n=0;
while (n++<=2)
printf("%d",n);
A) 012 B) 123 C) 234 D)
错误信息
57、下边程序段的运转结果是
________.
int x=0,y=0;
while (x<15) y++,x+=++y;
printf("%d,%d",y,x);
A) 20,7 B) 6,12 C) 20,8 D)8,20
58、下边程序的运转结果是
________.
#include<>
void main()
{ int s=0,i=1;
while (s<=10)
{ s=s+i*i;
i++;
}
printf("%d",--i);
}
A) 4 B) 3 C) 5 D) 6
59、下边程序段的运转结果是
________.
for(x=10;x>3;x--)
{ if(x%3) x--;
--x; --x;
printf("%d ",x);
}
A)63 B)74 C)62
D)73
60、下边程序的运转结果是
________.
#include<>
void main( )
{ int a,b;
a=-1;
b=0;
do {
++a;
++a;
b+=a;
} while(a<9);
printf("%dn",b);
}
A) 34 B) 24 C) 26 D) 25
61、下边程序段的运转结果是
___________.
for(i=1;i<=5;)
printf("%d",i);
i++;
A) 12345 B) 1234 C) 15
D) 无穷循环
62、下边程序的输出结果是
__________.
#include<>
void main( )
{ int n=4;
while (n--) printf("%d ",n--);
}
A)20 B)31 C)321 D)210
63、以下程序运转后的输出结果是 ________.
#include<>
void main()
{ int i=10,j=0;
do
{ j=j+1; i--;
}while(i>2);
printf("%dn",j);
}
A) 50 B) 52 C) 51 D) 8
64、有以下程序
#include<>
void main()
{ int x=23;
do
{ printf("%d",x--);
}while(!x);
}
该程序的履行结果是 _______
7 / 12
C语言基础练习100题
A) 321
B) 23
C) 不输出任何内容 D) 堕入死循环
65、以下程序段的履行结果是
_______.
int i,j,m=0;
for(i=1;i<=15;i+=4)
for(j=3;j<=19;j+=4)
m++;
printf("%dn",m);
A) 12 B) 15 C) 20 D) 25
66、下边程序的输出结果是
___________.
#include<>
void main( )
{ int i;
for(i=1;i<6;i++)
{ if (i%2!=0) {printf("#");continue;}
printf("*");
}
printf("n");
}
A) #*#*# B) ##### C) ***** D) *#*#*
67、下边程序的输出结果是
__________.
#include<>
void main( )
{ int x=10,y=10,i;
for(i=0;x>8;y=++i)
printf("%d %d ",x--,y);
}
A)10192 B)9876
C)10990 D)101091
68、履行以下程序后,输出的结果是
__________.
#include<>
void main( )
{ int y=10;
do {y--;}
while (--y);
printf("%dn",y--);
}
A) -1 B) 1 C) 8 D) 0
69、有以下程序
#include<>
void main( )
{ int n=9;
while(n>6) {n--;printf("%d",n);}
}
该程序段的输出结果是
__________.
A) 987 B) 876
C) 8765 D) 9876
70、有以下程序
#include<>
void main( )
{ int i,sum=0;
for(i=1;i<=3;sum++) sum+=i;
printf("%dn",sum);
}
该程序的履行结果是 ___________.
A) 6 B) 3
C) 死循环
D) 0
71、以下循环体的履行次数是
_______
#include<>
void main( )
{ int i,j;
for(i=0,j=1; i<=j+1; i+=2, j--)
printf("%d n",i);
}
A) 3 B) 2
C) 1 D) 0
72、在履行以下程序时, 假如从键盘上输入: ABCdef<
回车 >,则输出为 ________.
#include <>
void 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");
}
A) ABCdef B) abcDEF C) abc D) DEF
73、下边程序的输出结果是
__________.
main( )
{
int i,k=0, a=0, b=0;
for(i=1;i<=4;i++)
{
k++;
if (k%2==0) {a=a+k; continue;}
b=b+k;
a=a+k;
}
printf("k=%d a=%d b=%dn",k,a,b);
}
8 / 12
C语言基础练习100题
A) k=5 a=10 b=4
B) k=3 a=6 b=4
C) k=4 a=10 b=3
D) k=4 a=10 b=4
74、履行下边程序段后 ,k 的值是 _________.
int i,j,k;
for(i=0,j=10;i
k=i+j;
A)9
B)11
C)8
D)10
75、以下程序的功能是 :从键盘上输入若干个学生的成
绩 , 统计并输出最高成绩和最低成绩 ,当输入负数时结束输入。请填空。 ________
#include<>
void main( )
{ float x,amax,amin;
scanf("%f",&x);
amax=x;
amin=x;
while (________ )
{ if (x>amax) amax=x;
if (______) amin=x;
scanf("%f",&x);
}
printf("namax=%fnamin=%fn",amax,amin);
}
A) x<=0
B) x>0
C) x>0
D) x>=0
x>amin
x<=amin
x>amin
x
76、阅读以下程序,程序运转后的输出结果是
______.
#include<>
void main( )
{ int x;
for(x=5;x>0;x--)
if (x--<5) printf("%d,",x);
else printf("%d,",x++);
}
A) 4,3,2
B) 4,3,1,
C) 5,4,2
D) 5,3,1,
77、以下程序段的输出结果是
_______.
int k,n,m;
n=10;m=1;k=1;
while (k<=n) {m*=2;k+=4;}
printf("%dn",m);
A)4
B)16
C)8
D)32
78、语句 while(!e); 中的条件 !e 等价于 ________.
A) e==0B) e!=1
C) e!=0
D) ~e
79、以下表达正确的选项是
_________.
A)
continue 语句的作用是结束整个循环的履行
B) 只好在循环体内和 switch 语句体内使用 break 语句
C) 在循环体内使用 break 语句或 continue 语句的作用同
样
D)
从多层循环嵌套中退出时 ,只好使用 goto 语句
80、在以下选项中,没有构成死循环的程序段是
____.
A) int i=100;
B) for( ; ; );
while (1)
{ i=i%100+1;
if (i>100) break;
}
C) int k=1000;
D) int s=36;
do {++k;} while (k>=1000);
while (s) --s;
81、下边程序的输出结果是 ________.
#include<>
void main( )
{ int i;
for(i=1;i<=5;i++)
{ if (i%2) printf("*");
else continue;
printf("#");
}
printf("$n");
}
A) *#*#*#$
B) #*#*#*$
C) #*#*$
D) *#*#$
82、下边程序段中 ,循环体的履行次数是
_________.
int a=10,b=0;
do {b+=2;a-=2+b;} while(a>=0);
A)4
B)5
C)3
D)2
83、若 i 为整型变量 ,则以下循环语句的循环次数是
__.
for(i=2;i= =0;)
printf("%d",i--);
A) 无穷次
B)0次
C)1次
D)2次
84、关于 for( 表达式 1;;表达式 3)可理解为 _________.
A)
for(表达式 1;0; 表达式 3)
B)
for(表达式 1;1;表达式 3)
C)
for(表达式 1;表达式 1;表达式 3)
D)
for(表达式 1;表达式 3;表达式 3)
85、合法的数组定义是 ________.
A) int a[6]={"string"};
B) int a[5]={0,1,2,3,4,5};
C) char a={"string"};
D) char a[]={0,1,2,3,4,5};
86、给出以下定义
:
char x[ ]="abcdefg";
char y[ ]={'a','b','c','d','e','f','g'};
则正确的表达为
________.
9 / 12
C语言基础练习100题
A)
数组 x 和数组 y 等价
B)
数组 x 和数组 y 的长度同样
C)
数组 x 的长度大于数组 y 的长度
D) 数组 x 的长度小于数组 y 的长度
87、定义以下变量和数组
:
int i;
int x[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16};
则下边语句的输出结果是
_______.
for(i=0;i<4;i++) printf("%3d",x[i][3-i]);
A)1
5 913
B)1 61116
C)4 71013
D)4 81216
88、下边程序输出的结果是 ________.
#include <>
void main( )
{ int i,j,x=0;
static int a[6]={1,2,3,4,5,6};
for(i=0,j=1;i<5;++i,j++)
x+=a[i]*a[j];
printf("%dn",x);
}
A)
数组 a 中首尾的对应元素的乘积
B)
数组 a 中首尾的对应元素的乘积之和
C)
数组 a 中相邻各元素的乘积
D)
数组 a 中相邻各元素的乘积之和
89、若有以下说明:
char s1[ ]={"tree"},s2[]={"flower"}; ,
则以下对数组元素或数组的输出语句中,正确的选项是
_____.
A)
printf("%s%s",s1[5],s2[7]);
B)
printf("%c%c",s1,s2);
C) puts(s1);puts(s2);
D) puts(s1,s2);
90、运转下边程序段的输出结果是
_______.
char s1[10]={'S','e','t','0','u','p','0'};
printf("%s",s1);
A) Set B) Setup C) Set up D) 'S''e''t'
91、以下程序段的输出结果是
________.
char s[ ]="an apple";
printf("%dn",strlen(s));
A) 7 B) 8
C) 9 D) 10
92、若有说明 :char
c[10]={'E','a','s','t','0'};
,则下陈述法中正确的选项是
__________.
A) c[7] 不行引用 B) c[6]可引用,但值不确立
C) c[4]不行引用 D) c[4]可引用,其值为空字符
93
、若有说明 char
c[7]={'s','t','r','i','n','g'};
则对元素的
非法引用是 ________.
A) c[0]
B) c[9-6]
C) c[4*2]
D) c[2*3]
94、若有说明: char s1[5],s2[7]; ,要给数组 s1 和 s2 整
体赋值,以下语句中正确的选项是
________.
A)
s1=getchar(); s2=getchar();
B)
scanf("%s%s",s1,s2);
C)
scanf("%c%c",s1,s2);
D)
gets(s1,s2);
95、以下程序输出的结果是
_________.
#include <>
void main( )
{ char str[ ]="1a2b3c";
int i;
for(i=0;str[i]!='0';i++)
if(str[i]>='0'&&str[i]<='9')
printf("%c",str[i]);
printf("n");
}
A) 9
B) 1a2b3c
C) abc
D) 123
96、以下程序输出的结果是 ________.
#include <>
void main( )
{ int a[ ]={5,4,3,2,1},i,j;
long s=0;
for(i=0;i<5;i++)s=s*10+a[i];
printf("s=%ldn",s);
}
A) s=12345
B) s=5 4 3 2 1
C) s=54321
D) 以上都不对
97、在定义 int a[5][6]; 后,数组 a 中的第 10 个元素
是.________(设 a[0][0] 为第一个元素)
A) a[2][5]
B) a[2][4]
C) a[1][3]
D) a[1][5]
98、当接受用户输入的含有空格的字符串时,应使用
________函数 .
A) gets( )
B) getchar( )
C) scanf( )
D) printf( )
99、以下一维数组 a 的正确立义是 ________ .
A) int
a(10);
B) int n=10,a[n];
C) int n;
D) #define SIZE 10
scanf("%d",&n);
int a[SIZE];
int a[n];
100、以下对二维数组 a 进行正确初始化的是 _______.
A) int
a[2][3]={ {1,2},{3,4},{5,6} };
B) int a[ ][3]={1,2,3,4,5,6 };
C) int
a[2][ ]={1,2,3,4,5,6};
D) int a[2][ ]={ { 1,2},{3,4}};
10 / 12
C语言基础练习100题
答题卡
班级 ______姓名 __________得分 _________
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
11 / 12
C语言基础练习100题
参照答案:
1~5 DDADD 6~10 BBADA
11-15 DCDDD 15-20 ABBAD
21-25 ADAAA 26-30 AAACA
31-35 BCBDB 36-40 BABAC
41-45 DDBAA 46-50 CDBAC
51-55 CCBCB 56-60 BCBBD
61-65 DBDBC 66-70 ADDBC
71-75 CBDDD 76-80 BCABD
81-85 ACBBD 86-90 CCDCA
91-95 BDCBD 96-100CCADB
12 / 12
发表评论