C语言笔试练习题1.docx
- 文档编号:23947256
- 上传时间:2023-05-22
- 格式:DOCX
- 页数:34
- 大小:26.94KB
C语言笔试练习题1.docx
《C语言笔试练习题1.docx》由会员分享,可在线阅读,更多相关《C语言笔试练习题1.docx(34页珍藏版)》请在冰豆网上搜索。
C语言笔试练习题1
第一章C语言程序概述
一、选择题。
1、C语言程序的基本单位是(A)
A)函数 B)过程 C)子程序 D)子例程
2、以下选项中正确的整型常量是(B)
A)34.1B)-80C)2,000D)123
3、在C程序中,可以作为用户标识符的一组标识符是(B)
A)voiddefineWORDB)as_b3_224Else
C)Switch-wercaseD)4bDOSIG
4、在TURBOC中,int类型变量所占的字节数是(B)
A)1B)2C)3D)4
5、以下选项中不正确的实型常量是(A)
A)123E+1.5B)1e4C)3.640E-1D)0.35
6、以下选项中合法的C语言赋值语句是(D)
A)a=b=34B)a=34,b=34C)--i;D)m=(int)(x+y);
7、以下(C)是不正确的转义字符。
A)'\\'B)'\''C)'020'D)'\0'
8、以下所列的C语言常量中,错误的是(B)
A)0xFFB)1.2e0.5C)2LD)‘\72’
二、填空题。
1、用字符串的形式表示China____”china”________。
2、C程序执行过程生成的3种文件及扩展名为___源文件.C____,___目标文件.OBJ_____,____可执行文件.EXE____。
3、C语言中的标识符只能由3种字符组成,他们是___字母____,____数字___和____下划线____。
第二章C语言基本数据类型与表达式
一、选择题。
1、在C语言中,要求参加运算的数必须是整数的运算符是(A)
A)%B)/C)!
D)*
2、若已定义x和y为double类型,则表达式“x=1.0,y=x+3/2”的值是(C)
A)1B)2C)2.0D)2.5
3、若变量已正确定义并赋值,符合C语言语法的表达式是(B)
A)a=a+7;B)a=7+b+c,a++C)int(12.3/4)D)a=a+7=c+b
4、若有定义:
intx=3,y=2;floata=2.5,b=3.5;则下面表达式的值为(B)
(x+y)%2+(int)a/(int)b
A)1.0B)1C)2.0D)2
5、若x和n均是int型变量,且x的初值为12,n的初值为5,则执行下面表达式后x的值为(A)
x%=(n%=2)
A)0B)1C)2D)3
6、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为(C)
A)7B)8C)9D)10
7、指出下列哪一个选项的程序是错误的(D)
A)#include
main()main()
{intx,y,z;{intx,y,z;
x=0;y=x+1;x=0,y=x+1;
z=x+y;z=x+y;
}}
C)#include
main()main()
{intx,y,z;{intx,y,z;
x=0;y=x+1,x=0,y=x+1;
z=x+y;z=x+y,
}}
8、若a为整型变量,则以下语句(B)
a=-2L;
printf(“%d\n”,a);
A)赋值不合法B)输出值为-2C)输出为不确定值D)输出值为2
9、若变量a,i已经正确定义,且i已正确赋值,则合法的语句是(B)
A)i=int(a)B)++i;C)a=a++=5;D)a=int(i);
10、若执行以下程序段后,c3的值为(A)
intc1=1,c2=2,c3;
c3=1.0/c2*c1;
A)0B)0.5C)1D)2
11、如下程序的运行结果是(D)
#include
main()
{inty=3,x=3,z=1;
printf(“%d%d\n”,(++x,y++),z+2);}
A)34B)42C)43D)33
12、以下程序的输入结果为(C)
main()
{inti=4,a;
a=i++;
printf(“a=%d,i=%d’,a,i);}
A)a=4,i=4B)a=5,i=4
C)a=4,i=5D)a=5,i=5
13、以下程序的输出结果是(C)
#include
main()
{inta=5,b=4,c=6,d;
printf(“%d\n”,d=a>b?
(a>c?
a:
c):
(b));
}
A)5B)4C)6D)不确定
14、在C语言中,如果下面的变量都是int类型,则输出的结果是(A)
sum=pad=5;
pad=sum++,pad++,++pad;
printf(“%d\n”,pad);
A)7B)6C)5D)4
15、已知inti;floatf;,正确的语句是(D)
A)(intf)%i;B)int(f)%i;C)int(f%i);D)(int)f%i;
16、已知intj,i=1;执行语句j=-i++;后,j的值是(C)
A)1B)2C)-1D)-2
17、已知各变量的类型说明如下:
intk,a,b;
unsignedlongw=5;
doublex=1.42;
则以下不符合C语言语法的表达式是(A)
A)x%(-3)B)w+=-2C)k=(a=2,b=3,a+b)D)a+=a-=a*(a=3)
18、C语言中运算对象必须是整型的运算符是(A)
A)%=B)/C)=D)〈=
19、有以下程序
main()
{intm=12,n=34;
printf("%d%d",m++,++n);
printf("%d%d\n",n++,++m);
}
程序运行后的输出结果是(A)
A)12353514B)12353513C)12343514D)12343513
20、有以下程序
main()
{intm=0256,n=256;
printf("%o%o\n",m,n);
}
程序运行后的输出结果是(C)
A)02560400B)0256256C)256400D)400400
二、填空题
1、若i为int整型变量且赋值为6,则运算i++后的表达式的值是___6___,变量i的值是____7___。
2、若a是int型变量,则执行表达式a=25/3%3后a的值为___2_____。
3、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为__10___,n的值为_____6___。
4、若a是int型变量,则表达式(a=4*5,a*2),a+6的值为____26_____。
5、若有定义intm=5,y=2;,则执行表达式y+=y-=m*=y后y的值是___-16________。
6、表达式8.0*(1/2)的值为____0.0_____。
7、x为整型变量,则执行x=6;x+=x-=x*x;后,x的值为-60。
8、执行以下程序后的输出结果是14。
main()
{inta=10;
a=(3*5,a+4);
printf(“a=%d\n”,a);
}
第三章顺序结构程序设计
一、选择题
1、若有说明:
doublea;则正确的输入语句为(C)
A)scanf(“%lf”,a);B)scanf(“%f”,&a);
C)scanf(“%lf”,&a);D)scanf(“%le”,&a);
2、若有以下程序段:
inta=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(“%d,%d,%d\n”,a,b,c);
其输出结果是(B)
A)3,0,-10B)0,0,5C)-10,3,-10D)3,0,3
3、有以下程序
main()
{intm=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("%d\n",x);}
程序运行后的输出结果是(D)
A)3B)5C)-1D)-2
4、以下程序段的输出结果是(C)
floata=57.666;
printf(“*%010.2f*\n”,a);
A)*0000057.66*B)*57.66*C)*0000057.67*D)*57.57*
思考:
若是printf(“*%10.2f*\n”,a);结果是怎样呢?
5、若变量C定义为float型,当从终端输入283.1900后按回车键,能给变量c赋以283.19的输入语句是(D)
A)scanf(“%f”,c);B)scanf(“%8.4f”,&c);
C)scanf(“%6.2f”,&c);D)scanf(“%8f”,&c);
6、设intx=1,y=1;表达式(!
x||y--)的值是(B)
A)0B)1C)2D)-1
7、下面程序的输出结果是(B)
#include
main()
{intx=5,y=3;
printf(“%d\n”,y=x/y);}
A)0B)1C)3D)不确定的值
8、执行下列程序中的输出语句后,a的值是(B)
#include
main()
{inta;
printf(“%d\n”,(a=3*5,a*4,a+5));}
A)65B)20C)15D)10
9、执行下列程序时输入1234567,程序的运行结果为(B)
#include
main()
{intx,y;
scanf(“%2d%2ld”,&x,&y);
printf(“%d\n”,x+y);}
A)17B)46C)15D)9
10、已知chara;intb;floatc;doubled;则表达式a*b+c-d结果为(A)型
A)doubleB)intC)floatD)char
11、已知inta,b;,用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是(A)
A),B)空格C)回车D)【Tab】键
12、下列程序的输出结果是(A)
#include
main()
{printf(“%f”,2.5+1*7%2/4);}
A)2.500000B)2.750000C)3.375000D)3.000000
13、能正确表示逻辑关系”a≥10或a≤0”的C语言表达式是(D)
A)a>=10ora<=0B)a>=10|a<=0C)a>=10&&a<=0D)a>=10||a<=0
14、已知inta=4,b=5;,则执行表达式a=a>b后,变量a的值为(A)
A)0B)1C)4D)5
二、填空题
1、C语言句尾用_____分号______结束。
2、以下程序的输出是___________。
#include
main()
{inti=-200,j=25;
printf(“%d,%d”,i,j);-200,25
printf(“i=%d,j=%d\n”,i,j);i=-200,j=25
printf(“i=%d\n,j=%d\n”,i,j);}i=-200
j=25
第四章选择结构程序设计
一、选择题
1、下列错误的语句是(B)
A)if(a>b)printf(“%d”,a);B)if(&&);a=m;
C)if
(1)a=m;elsea=n;D)if(a>0);{elsea=n;}
2、阅读下列程序:
#include
main()
{floata,b,t;
scanf(“%f,%f”,&a,&b);
if(a>b)
{t=a;a=b;b=t;}
printf(“%5.2f,%5.2f”,a,b);}
运行时从键盘输入3.8和-3.4,则正确的输出结果是(B)
A)-3.40,-3.80B)-3.40,3.80C)-3.4,3.8D)3.80,-3.40
3、对下列程序,(A)是正确的判断。
#include
main()
{intx,y;
scanf(“%f,%f:
”,&x,&y);
if(x>y)x=y;y=x;
elsex++;y++;
printf(“%d,%d”,x,y);}
A)有语法错误,不能通过编译B)若输入数据3和4,则输出4和5
C)若输入数据4和3,则输出3和4D)若输入数据4和3,则输出4和4
4、以下程序的输出结果是(B)
#include
main()
{intx=1,y=0,a=0,b=0;
switch(x)
{case1:
switch(y)
{case0:
a++;break;
case1:
b++;break;
}
case2:
a++;b++;break;
case3:
a++;b++;
}
printf(“\na=%d,b=%d”,a,b);
}
A)a=1,b=0B)a=2,b=1C)a=1,b=1D)a=2,b=2
5、以下程序的输出结果是(C)
#include
main()
{
inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
elsec+=1;
printf(“%d\n”,c);
}
A)0B)1C)2D)3
6、以下程序的运行结果是(B)
#include
main()
{
intk=2;
switch(k)
{case1:
printf(“%d\n”,k++);break;
case2:
printf(“%d”,k++);
case3:
printf(“%d\n”,k++);break;
case4:
printf(“%d\n”,k++);
default:
printf(“Full!
\n”);
}
}
A)13B)23C)22D)32
7、有以下程序
main()
{inti=1,j=2,k=3;
if(i++==1&&(++j==3||k++==3))
printf("%d%d%d\n",i,j,k);
}
程序运行后的输出结果是(D)
A)123B)234C)223D)233
8、以下关于运算符的优先顺序的描述中正确的是(C)
A)关系运算符<算术运算符<赋值运算符<逻辑运算符
B)逻辑运算符<关系运算符<算术运算符<赋值运算符
C)赋值运算符<逻辑运算符<关系运算符<算术运算符
D)算术运算符<关系运算符<赋值运算符<逻辑运算符
9、设有定义:
inta=2,b=3,c=4;,则以下选项中值为0的表达式是(A)
A)(!
a==1)&&(!
b==0)B)aC)a&&bD)a||(b+b)&&(c-a)
10、设x,y,t均为int型变量,则执行语句x=y=3;t=++x||++y;后,y的值为(C)
A)不定值B)4C)3D)1
11、下列程序的输出结果是(C)
#include
main()
{
inta=0,b=0,c=0;
if(++a>0||++b>0)
++c;
printf(“\na=%d,b=%d,c=%d”,a,b,c);
}
A)a=0,b=0,c=0B)a=1,b=1,c=1C)a=1,b=0,c=1D)a=0,b=1,c=1
二、填空题
1、当a=1,b=2,c=3时,以下语句执行后,a、b、c中的值分别是___3_____、_____2___和___2_____。
if(a>c)
b=a;a=c;c=b;
2、若变量已经正确定义,以下语句段的输出结果是____*#____。
x=0;y=2;z=3;
swithch(x)
{
case0:
switch(y==2)
{
case1:
printf(“*”);break;
case2:
printf(“%”);break;
}
case1:
swith(z)
{
case1:
printf(“$”);
case2:
printf(“*”);break;
default:
printf(“#”);
}
}
3、若有定义:
inta=10,b=9,c=8;,接着顺序执行下列语句后,变量b中的值是____-3____。
c=(a-=(b-1));
c=(a%11)+(b=3);
4、以下程序运行后的输出结果是___20,0_____。
#include
main()
{
intx=10,y=20,t=0;
if(x==y)t=x;x=y;y=t;
printf(“%d,%d\n”,x,y);
}
5、若运行时输入12,则下列程序的运行结果是___0_____。
#include
main()
{intx,y;
scanf(“%d”,&x);
y=x>12?
x+10:
x-12;
printf(“%d\n”,y);
}
6、以下两个程序运行后的输出结果分别是__1__和__2__。
main()main()
{inta=1,b=2,c=3;{inta=1,b=2,c=3;
if(c=a)printf("%d\n",c);if(c==a)printf("%d\n",c);
elseprintf("%d\n",b);elseprintf("%d\n",b);
}}
7、以下程序运行后的输出结果是__2,20.000000__。
main()
{charc;
intn=100;
floatf=10;
doublex;
x=f*=n/=(c=50);
printf("%d,%f\n",n,x);
}
8、表达式3&4的值为__0___。
表达式3|4的值为___7__。
表达式3&&4的值是__1___。
第五章循环结构程序设计
一、选择题
1、以下程序的输出结果是(A)
#include
main()
{
inti;
for(i=0;i<=5;i++)
{if(i%2)
putchar('<');
else
continue;
putchar('>');
}
putchar('#');
}
A)<><><>#B)><><><#C)<><>#D)><><#
2、以下程序的输出结果是(C)
inti,j,m=0;
for(i=1;i<=15;i+=4)
for(j=3;j<=19;j+=4)
m++;
printf(“%d\n”,m);
A)12B)15C)20D)25
3、以下程序的输出结果是(C)
#include
main()
{
inti,sum;
for(i=1;i<6;i++)
sum+=sum;
printf(“%d\n”,sum);
}
A)15B)14C)不确定D)0
4、有如下程序
main()
{
inti,sum;
for(i=1;i<=3;sum++)
sum+=i;
printf(“%d\n”,sum);}
该程序的执行结果是(C)
A)6B)3C)死循环D)0
5、有如下程序
#defineN2
#defineMN+1
#defineNUM2*M+1
main()
{inti;
for(i=1;i<=NUM;i++)printf(“%d\n”,i);
}
该程序中的for循环执行的次数是(C)
A)5B)6C)7D)8
6、以下程序段的输出结果是(C)
intx=3;
do
{printf(“%d”,x-=2);
}while(!
(--x));
A)1B)30C)1-2D)死循
7、以下循环体的执行次数是(C)
#include
main()
{inti,h;
for(1=0,j=1;i<=j+1;i+=2,j--)
printf(“%d\n”,i);
}
8、有如下程序:
#include
main()
{intn=9;
while(n>6)
{n--;
printf(“%d”,n);
}
该程序段的输出结果是(B)
A)987B)876C)8765D)9876
9、以下的for循环(C)
for(x=0,y=0;(y!
=123)&&(x<4);x++);
A)是无限循环B)循环次数不定C)循环执行4次D)循环执行3次
二、填空题
1、以下程序的输出结果是____-1____。
#include
main()
{intx=2;
while(x--);
printf(“%d\n”,x);
}
2、以下程序段的输出结果是____11____。
inti=0,sum=1;
do
{sum+=i++;
}while(i<5)
printf(“%d\n”,sum);
3、以下程序段的功能是;从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入,请填空。
#include
main()
{floatx,amax,amin;
scanf(“%f”,&x);
amax=x;amin=x;
while(___x>=0_____)
{if(x>amax)amax=x;
if(____x scanf{“%f”,&x};} printf(“\nmax=%f\namin=%f\n”,amax,amin);} 4、以下程序段的输出结果是___程序段无限循环,没有输出结果____ intk,n,m; n=10;m=1;k=1; while(k<=n) m*=2; printf(“%d\n”,m); 5、下述程序的输出结果是___8___ #include main() {inta,b; for(a=1,b=1;a<=100: a++) {if(b>=20)break; if(b%3==1) {b+=3; continue;} b-=5;} printf(“%d”,a);} 6、下面程序输出结果是___%@%
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 笔试 练习题