c语言复习资料1.docx
- 文档编号:24674728
- 上传时间:2023-05-31
- 格式:DOCX
- 页数:29
- 大小:25.98KB
c语言复习资料1.docx
《c语言复习资料1.docx》由会员分享,可在线阅读,更多相关《c语言复习资料1.docx(29页珍藏版)》请在冰豆网上搜索。
c语言复习资料1
1、C语言源程序文件名的后缀是(.c),经过编译后,生成文件的后缀是(.obj),经过连接后,生成文件的后缀是(.exe)
2、以下选项中正确的整形常量是(b)
A)12.b)-20c)1,000d)456
3.以下选项中正确的实型常量是(bd)
a)0b)3.1415c)0.329X102d).871
4.以下选项中不正确的实型常量是(b)
a)2.607E-1b)0.8103e2c)-77.77d)456e-2
5.以下选项中不合法的用户标识符是(A)
a)abc.cb)filed)Maind)PRINTF
6.若变量已正确定义并赋值,符合C语言语法的表达式是(b)
a)a=a+7;b)a=7+b+c,a++
c)int(12.3%4)d)a=a+7=c+b
7.不合法的八进制是(b)
a)0b)028c)077d)01
8.不合法的十六进制是(a)
a)oxffb)0xabcc)0x11d)0x19
9.若有定义:
longk;则能使k得到32800的赋值表达式是(c)
a)k=328*100b)k=32700+200
c)k=328,k*=100d)k=30000+2800
10.若k为int整形变量且赋值11,请写出运算k++后表达式的值(11),和变量k的值(12)
11.若x为double型变量,请写出运算x=3.2,++x后,表达式的值(4.2)和变量x的值(4.2)
12.函数体由符号({}开始,用符号()结束。
函数体的前面是(定义变量)部分,其后是(语句执行)部分
13.在c语言程序中,用关键字(int)定义基本整形变量,用关键字(float)定义单精度实型变量,用关键字(double)定义双精度实型变量。
14.把a1、a2定义成单精度实型变量,并赋初值1的定义语句是(inta1=1,a2=1;)
15.C语言定义的变量代表内存中的一个(内存单元)
16.表达式:
3.5+1/2的计算结果是(3.5)
17.表达式s=10应当读作(把10赋值给s)
18.在c语言中,十进制数30的八进制表示形式是(036),十六进制表示形式是(0x1E)
在内存中它的二进制表示形式是(00011110
19。
合法的c语言赋值语句是(d)
a)a=b=58b)k=int(a+b)c)a=58,b=58d)--i;
20.若变量已正确说明为int类型,要从键盘给a,b,c输入数据,正确的输入语句是(d)
a)read(a,b,c)b)scanf("%d%d%d",a,b,c);
c)scanf("%D%D%D",&a,&b,&c);d)scanf("%d%d%d",&a,&b,&c);
21.若变量已正确说明为float类型,要通过输入语句:
scanf("%f%f%f",&a,&b,&c);
给a赋予10.0、b赋予22.0、c赋予33.0,以下不正确的输入形式是(b)
a)10b)10.0,22.0,33.0c)10.0d)1022
2222.033.033
33
22.若变量已正确定义,要将a和b中的数进行交换,下面选项中不正确的语句组是(c)
a)a=a+b,b=a-b,a=a-b;b)t=a,a=b,b=t;
c)a=t;t=b;b=a;d)t=b;b=a;a=t;
23.若有以下程序段:
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
24.设a、b和c都是int型变量,且a=3,b=4,c=5;则以下的表达式中,值为0的表达式是(d)
a)a&&bb)a<=bc)a||b+c&&b-cd)!
((a
c||1)
25.以下程序:
main()
{inta=2,b=-1,c=2;
if(a
if(b<0)c=0;
elsec+=1;
printf("%d\n",c);
}
其输出结果是c
a)0b)1c)2d)3
26.以下程序:
main()
{inta,b,s;
scanf("%d%d",&a,&b);
s=a;
if(a
s*=s;
printf("%d\n",s);
}
从键盘上输入3和4,则输出结果是(b)
a)14b)16c)18d)20
27.若a和b均是正整形变量,正确的switch语句是(d)
a)switch(pow(a,2)+pow(b,2))(注:
调用求幂的数学函数)
{case1:
case3:
y=a+b;break;
case0:
case5:
y=a-b;
}
b)switch(a*a+b*b);
{case3:
case1:
y=a+b;break;
case0:
y=b-a;break;
}
c)switcha
{default:
x=a+b;
case10:
y=a-b;break;
case11:
x=a*d;break;
}
d)switch(a+b)
{case10:
x=a+b;break;
case11:
y=a-b;break;
}
28.c语言中用
(1)表示逻辑值“真”,用(0)表示逻辑值“假”
29.请写出以下程序的输出结果
(1)
main()
{inta=100;
if(a>100)printf("%d\n",a>100);
elseprintf("%d\n",a<=100);
30.当a=1,b=2,c=3时,以下语句执行后,a、b、c中的值分别为(3),
(2),
(2)
if(a>c)
b=a;a=c;c=b;
31.若变量已正确定义,以下语句段的输出结果是(*#)
x=0;y=2;z=3;
switch(x)
{case0:
switch(y==2)
{case1:
printf("*");break;
case2:
printf("%");break;
}
case1:
switch(z)
{case1:
printf("$");
case2:
printf("*");break;
default:
printf("#");
}
}
32.以上程序段:
(d)
intk,j,s;
for(k=2;k<6;k++,k++)
{s=1;
for(j=k;j<6;j++)s+=j;
}
printf(“%d\n”,s);
其输出结果是
a)9b)1c)11d)10
33.以下程序段:
©
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
34.以下程序段:
intn=10;
while(n>7)
{n--;
printf(“%d\n”,n);
}
其输出结果是(b)
a)10b)9c)10d)9
9898
8787
76
35.以下程序段:
intx=3;
do
{printf(“%3d”,x-=2;)
while(!
(--x));
其输出结果是(c)
a)1b)30c)1-2d)死循环
36以下程序:
main()
{inty=10;
for(;y>0;y--)
if(y%3==0)
{printf(“%d”,--y);continue;}
}
其输出结果是(b)
a)741b)852c)963d)875421
37若x是int型变量,以下程序段:
for(x=3;x<6;x++)
printf((x%2)?
(“**%d”):
(“##%d\n”),x);
其输出结果是(d)
a)**3b)##3c)##3d)**3##4
##4**4**4##5**5
**5##5
38.以下程序:
main()
{intI;
for(I=1;I<=5;I++)
{if(I%2)printf(“*”);
elsecontinue;
printf(“#”);
}
printf(“$);
}
其输出结果是(a)
a)*#*#*#$b)#*#*#*$c)*#*#$d)#*#*$
39.以下程序:
main()
{intx,I;
for(I=1;I<=100;I++)
{x=I;
if(++x%2==0)
if(++x%3==0)
if(++x%7==0)
printf(“%d”,x);
}
printf(“\n”);
}
其输出结果是(d)
a)3981b)4284c)2668d)2870
40.当执行以下程序段后,I的值是(5),j的值是(4),k的值是(6)
inta,b,c,d,I,j,k;
a=10;b=c=d=5;I=j=k=0;
for(;a>b;++b)I++;
while(a>++c)j++;
dok++;while(a>d++);
41.以下程序段的输出结果是(死循环)
intk,n,m;
n=10;m=1;k=1;
while(k<=n)m*=2;
printf(“%d\n”,m);
42.以下程序的输出结果是(-1)
main()
{intx=2;
while(x--);
printf(“%d\n”,x);
}
43.以下程序段的输出结果是(11)
intI=0,sun=1;
do{sun+=I++;}while(I<5);
printf(“%d\n”,sum);
44.以下程序的功能是:
从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。
请填空。
Main()
{floatx,amax,amin;
scanf(“%f”,&x);
amax=x;amin=x;
while(【1】)/*x>0*/
{if(x>amax)amax=x;
if(【2】)amin=x;/*x scanf(“%f”,&x); } printf(“\namax=%f\naming=%f\n”,amax,amin); 45.编写程序,打印以下图形: * *** ***** ******* ***** *** * C语言概述练习题 选择题 1.一个C程序的执行是从A。 A)本程序的main函数开始,到main函数结束 B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C)本程序文件的第一个函数开始,到本程序main函数结束 D)本程序的main函数开始,到本程序文件的最后一个函数结束 2.以下叙述不正确的是D。 A)一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成 C)C程序的基本组成单位是函数 D)在C程序中,注释说明只能位于一条语句的后面 3.以下叙述正确的是C。 A)在对一个C程序进行编译的过程中,可发现注释中的拼写错误 B)在C程序中,main函数必须位于程序的最前面 C)C语言本身没有输入输出语句 D)C程序的每行中只能写一条语句 4.一个C语言程序是由B。 A)一个主程序和若干个子程序组成 B)函数组成 C)若干过程组成 D)若干子程序组成 数据类型、运算符与表达式 (一)选择题 1.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为C。 x=(i=4,j=16,k=32) A)4B)16C)32D)52 2.下列四组选项中,均不是C语言关键字的选项是A。 A)defineIFtype B)getccharprintf C)includecasescanf D)whilegopow 3.下列四组选项中,均是不合法的用户标识符的选项是B。 A)WP_0do B)b-agotoint C)floatla0_A D)-123abcTEMP 5.下面正确的字符常量是D。 A)“c”B)‘\\’’C)‘’D)‘K’ 6.以下叙述不正确的是D。 A)在C程序中,逗号运算符的优先级最低 B)在C程序中,MAX和max是两个不同的变量 C)若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,二b中的值不变 D)当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值 (二)填空题 1.若有以下定义,则计算表达式y+=y-=m*=y后的y值是【-16】。 intm=5,y=2; 2.在C语言中,一个int型数据在内存中占2个字节,则int型数据的取值范围为【-32768-+32767】。 3.若s是int型变量,且s=6,则下面表达式的值为【3】。 s%2+(s+1)%2 4.若a是int型变量,则下面表达式的值为【4】。 (a=4*5,a*2),a+6 5.若x和a均是int型变量,则计算表达式 (1)后的x值为【5】,计算表达式 (2)后的x值为【6】。 (1)x=(a=4,6*2) (2)x=a=4,6*2 6.若a是int型变量,则计算下面表达式后a的值为【7】。 A=25/3%3 7.若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为【8】,n的值为【9】。 x+=n++ 8.若有定义: charc=‘\010’;则变量c中包含的字符个数为【10】。 9.若有定义: intx=3,y=2;floata=2.5,b=3.5;则下面表达式的值为【11】 (x+y)%2+(int)a/(int)b 10.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=‘a’+‘8’-‘3’的值为【12】。 简单的C程序设计 (一)选择题 1.putchar函数可以向终端输出一个D。 A)整型变量表达式B)实型变量值 C)字符串D)字符或字符型变量值 2.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。 如果字符串长度大于5,则输出按方式B;如果字符串长度小于5,则输出按方式C。 A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出 C)右对齐输出该字符串,左补空格D)输出错误信息 3.阅读以下程序,当输入数据的形式为: 25,13,10 main() {intx,y,z; scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\n”,x+y+z); } A)x+y+z=48B)x+y+z=35C)x+z=35D)不确定值 (二)填空题 1.有一输入语句scanf(“%d”,k);则不能使float类型变量k得到正确数值的原因是【8】和【9】。 逻辑运算与判断选取控制 (一)选择题 1.逻辑运算符两侧运算对象三数据类型D。 A)只能是0和1B)只能是0或非0正数 C)只能是整型或字符型数据D)可以是任何类型的数据 2.判断char型变量ch是否为大写字母的正确表达式是C。 A)‘A’<=ch<=‘Z’B)(ch>=‘A’)&(ch<=‘Z’) C)(ch>=‘A’)&&(ch<=‘Z’)D)(‘A’<=ch)AND(‘Z’>=ch) 4.设有: inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为B。 A)1B)2C)3D)4 5.以下程序的运行结果是B。 main() {inta,b,d=241; a=d/100%9; b=(-1)&&(-1); printf(“%d,%d”,a,b); } A)6,1B)2,1C)6,0D)2,0 6.已知intx=10,y=20,z=30;以下语句执行后x,y,z的值是B。 if(x>y)z=x;x=y;y=z; A)x=10,y=20,z=30B)x=20,y=30,z=30 C)x=20,y=30,z=10D)x=20,y=30,z=20
1.编程实现:
输入整数a和b,若a2+b2大于100,则输出a2+b2百位以上的数字,否则输出两数之和。
2.编程判断输入的正整数是是否既是5又是7的整倍数。
若是,则输出yes;否则输出no。
2.编程求出园的面积和周长
3.编程实现:
{-1 (x<0)
y= { 0 (x=0)
{1(X>0)
4.用switch语句编一程序,对于给定的一个百分制成绩,输出相应的五分制成绩,设:
90分以上为‘A’,80~89分为‘B’,70~79分为‘C’,60~69分为‘D’,60分以下为‘E’
循环控制
(一)选择题
1.设有程序段
intk=10;
while(k=0)k=k-1;
这下面描述中正确的是___C______.
a)while循环执行10次b)循环是无限循环
c)循环体语句一次也不执行d)循环体语句执行一次
3.下面程序段的运行结果是______C____.
intn=0;
while(n++<=2);printf("%d",n);
a)2b)3c)4d)有语法错
4.下面程序的运行结果是__C__.
#include
main()
{
intnum=0;
while(num<=2)
{
num++;
printf("%d\n",num);
}
}
a)1b)1c)1d)1
222
33
4
(二)、填空题
1.下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束
循环。
请填空。
intn=0,c;
c=getchar();
while(_(c!
=’\n’___)
{
if(_(c>=’0’)&&(c<=’9’____)n++;
c=getchar();
}
3.下面程序的运行结果是__s=254_______.
#include
main()
{inta,s,n,count;
a=2;s=0;n=1;count=1;
while(count<=7){n=n*a;s=s+n;++count;}
printf("s=%d",s);
}
5.下面程序段的运行结果是_______.
i=1;s=3;
do{s+=i++;
if(s%7==0)continue;
else++i;
}while(s<15);
printf("%d",i);
3.当从键盘输入20并回车后,下面程序的运行结果是10010
main()
{intx,y,a[8],j,u,v;
scanf(“%d”,&x);
y=x;i=0;
do
{u=y/2;
a[i]=y%2;
i++;y=u;
}while(y>=1);
for(j=i-1;j>=0;j--)
prinf(“%d”,a[j]);
}
}
5.以下程序的功能是:
从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。
请填空。
Main()
{floatx,amax,amin;
scanf(“%f”,&x);
amax=x;amin=x;
while(【1】)【1】x>0
{if(x>amax)amax=x;
if(【2】)amin=x;【1】x scanf(“%f”,&x); } printf(“\namax=%f\naming=%f\n”,amax,amin); 以下程序的运行结果是5109 #include f(inta[]) {intI=0; while(a[I]<=10) {printf(“%d”,a[I]); I++;} } main() {inta[]={1,5,10,9,11,7}; f(a+1); } 以下程序的功能是: 通过指针操作,找出三个整数中的最小值并输出。 请填空。 #include“stdlib.h” main() {int*a,*b,*c,num,x,y,x; a=&x;b=&y;c=&z; scanf(“%d%d%d”,a,b,c); printf(“%d,%d,%d\n”,*a,*b,*c); num=*a; if(*a>*b)num=*b; if(num>*c)num=*c; printf(“theminnumberis: %d\n”,num); } 以下程序将数组a中的数据按逆序存放.请填空. #defineM8 main() {inta[M],I,j,t; for(I=0;I I=0;j=M-1; while(I {t=*(a+I);*(a+I)=*(a+j);*(a+j)=t; I++;j--; } for(I=0;I } 2.下面程序以每行4个数据的形式输出a数组,请填空。 #defineN20 main() {inta[N],i; for(i=0;i for(i=0;i {if(_i%4==0____________)__printf(“\n”);___________ p
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习资料
