c复习题目.docx
- 文档编号:13050902
- 上传时间:2023-06-10
- 格式:DOCX
- 页数:12
- 大小:20.78KB
c复习题目.docx
《c复习题目.docx》由会员分享,可在线阅读,更多相关《c复习题目.docx(12页珍藏版)》请在冰点文库上搜索。
c复习题目
C复习资料
1)能正确表示“当x的取值在[5,10]和[150,200]范围内为真,否则为假”的表达式是()
A.(x>=5)||(x<=10)&&(x>=150)||(x<=200)
B.(x>=5)&&(x<=10)||(x>=150)&&(x<=200)
C.(x>=5)||(x<=10)||(x>=150)||(x<=200)
D.(x>=5)&&(x<=10)&&(x>=150)&&(x<=200)
2)inta;if(a)printf(“%d”,a);表示的是()
A.a非零,输出aC.a>0,输出a
B.a==0,输出aDa<0,输出a
3)逻辑运算符两侧运算对象的数据类型()
A.只能是0或1B.只能是0或非0整数
C.可以是任何类型的数据D.只能是整数或字符型
4)下面程序段运行的结果是()
charc1,c2;
c1=’D’;
c2=c1+32+3;
printf(“%c,%c\n”,c1,c2);
A)d,FB)D,F
C)D,fD)d,f
5)下面程序段输出结果是()
intx,y,z;
x=5;y=6,z=7;
if(x>y)
x=y;y=z;z=x;
printf(“x=%d,y=%d,z=%d\n”,x,y,z);
A)x=5,y=6,z=5B)x=5,y=7,z=5
C)x=6,y=7,z=5D)x=6,y=7,z=6
1、以下不能正确进行赋初值的语句是()
A)charstr[8]=”welcome!
”;B)charstr[]=”welcome!
”;
C)charstr[20]=”welcome!
”;
D)charstr[8]={‘w’,’e’,’l’,’c’,’o’,’m’,’e’,’!
’};
2、若有定义:
intb[10]={4,2,9};则以下表达式中数组元素b[7]的值是()
A)9B)2C)4D)0
3、structstudent
{intm1;charm2[2];floatm3;}aa;
则m1的表示方法是()
A)m1B)struct.m1C)aa->m1D)aa.m1
4、以下非法的赋值语句是()
A)m=(i=2,++i);B)k++;
C)++(s+1);D)b=j>0;
5、设有定义:
longintx=-1256789;则以下能够正确输出变量x值的语句是()
A)printf(“x=%d\n”,x);B)printf(“x=%ld\n”,x);
C)printf(“x=%8d\n”,x);D)printf(“x=%s\n”,x);
6、以下选项中与k=++n完全等价的表达式是()
A)k=n,n=n+1B)n=n+1,k=n
C)k=n++D)k+=n+1
7、在定义自定义函数时,函数值的类型为int,此时return语句后面表达式的值的类型是()
A)voidB)intC)floatD)double
9、Structma{charc[2];
intd;
};
structsk
{inta;floatb;
Structmaya;
}myb;
要为d变量赋值,如何表示myb.ya.d
10、从键盘输入一个字符型变量c,则正确的输入语句是()
A)scanf(“%d”,c);B)scanf(“%3c”,&c);
C)scanf(“%c”,c);D)scanf(“%s”,c);
11、将算术表达式12.3*(6+sin450)/22表示成C表达式,正确的
a.12.3*(6+sin45)/22b.12.3*(6+sin450)/22
c.12.3*(6+sin45*3.1415/180)/22
d.12.3*(6+sin(45*3.1415/180))/22
12、表达式5>3&&2>3||0<2的结果是
a.1b.0c.falsed.true
13、如果有如下函数定义语句:
intMyFunction(inta,intb),则错误的是
a.intx=MyFunction(5,7)b.MyFunction(5,7)
c.intx=MyFunction(5,7)+x
d.intx=MyFunction(‘5’,’7’)
14、以下语句中有语法错误的是
a.for(intI=0;I<10;I++)┅┅;b.while(n!
=0)++n;
c.if(a>0)a--;d.breakl11;
15、以下对一维数组赋初值,正确的是
a.chara[50]=”thisisastring”;
b.chara[]=”thisisastring”;
c.inta[2]={0,1,2}
d.a[]={‘0’,’1’,’2’,’3’}
写出符合下列要求的C语言语句
1)定义整型变量n、m,双精度浮点数变量wf1、wf2,并且wf1在定义时初始化为19.5。
intn,m;doublewf1=19.5,wf2;
2)要求输入int型变量k、l,并且二个变量间用“,”分隔,写出对应的输入语句
Scanf(“%d,%d”,&k,&l);
3)要求输出整型变量x,左对齐,域宽为5个字符,单浮点数变量fj,域宽为8个字符,5位小数,字符变量cb,各变量间用‘,’分隔,最后为换行,写出对应的输出语句。
Printf(“%5d,%8.5f,%c\n”,x,fj,cb);
4)初始a为11,循环要求初始时i为4,每次循环变量i加1,要求循环12次,循环体中为a每次循环增加i,写出对应的for语句。
For(i=4;i<=16;i++)
{a=a+i;}
定义一个学生情况的结构体,名为Student。
Structstudent
{};
1、为该结构体添加三个域:
学号(7位整型)、姓名(20位字符串)、成绩(实型,单精度)。
Structstudent
{longintxh;
Charxm[20];
Floatcj;
}
2、为该结构体定义一个变量,能对三个域作初始化。
学号:
1234567;姓名:
杨蓉,成绩:
88.5
Structstudent
{longintxh;
Charxm[20];
Floatcj;
}a={1234567,”杨蓉”,88.5};
3、用打印语句,输出“学号”、“姓名”,“成绩”及其对应的值。
Printf(“学号=%d,姓名=%s,成绩=%f”,a.xh,a.nam,a.cj);
5)下面程序功能是打印出如下的三角形,请填空
①
3
44
555
6666
77777
main()
{inti,j;inti,j,k=3;
for(i=3;i<=7;i++)for(i=1,i<=5;i++)
{for(j=0;j<=i-3;j++)for(j=1;j<=i;j++)
printf(“%d”,i);{printf(“%d”,k);
printf(“\n”);}printf(“\n”);k++;}
}
②@③*
$$***
@@@@*****
$$$$*******
指出下列哪几个变量名是非法的?
非法的原因是什么?
use-ip,double,Float,5green,#temiop,boom_Amg,_memg,thereh711o$a#b
写出下列算式的C语言表达式
1)x*s+y2)sin2x*(a+b)
c*(a+b)(x2+y2)
(x*s+y)/(c*(a+b))
(Sin(x)*Sin(x)*(a+b))/(x*x+y*y)
写出下列表达式的值。
1)a%5*(int)(x+y)%7/5+x
设a=2,x=15.4,y=25.7
2)(float)(a+b)/2+(int)++x%(int)y
设a=2,b=3,x=13.8,y=7.4
3)写出下面程序运行的结果
#include“stdio.h”
main()
{intn=15,a=0;
while(n--)a=a+n;
printf(“N=%d\n”,n);
}
4)读如下程序段,写出当输入x为27时的输出结果
if(x>30)y=x*12;
elseif(x>25)y=x+12;
elsey=x%15;
printf(“result=%d\n”,y);
5)写出循环语句while(){}和do{}while();在功能上主要的不同是什么?
6)下面二段程序执行结果分别是什么?
①j=6;k=5;
while(j<=4)
{k=k+12+j;}
printf(k=%d\n”,k);
②j=6;k=5;
do{k=k+12+j;
}while(j<=4);
printf(k=%d\n”,k);
7)以下程序运行后输出什么图形?
①main()
{inti,j;
for(i=1;i<=5;i++)
{for(j=1;j<=6-i;j++)
printf(“&”);
printf(“\n”);}
}
②main()
{ints,i;
s=0;
for(i=1;i<10;i=i+2)
s+=i;//1+3+7+9
printf(“%d\n”,s);
}
结果:
____________________________
③main()
{chars[]=”abcdef”;
strcpy(s,”hello!
”);\;
s[5]=’Y’
printf(“%s\n”,s);
}
结果:
_____helloY_______________________
④main()
{charcf[3][3]={“AAA”,”BBB”,”CCC”};inti,j;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
cf[i][j]=cf[i][j]+1;
printf(“%c\n”,cf[2][1]);
}
结果:
____________________________
f(3,5);
⑤intf(intm,intn)
{if(m>n)return(n);
elseif(m elsereturn(0); } main() {inta=3,b=5,x; x=f(a,b); printf(“%d\n”,x); } 结果: ____________________________ ⑦main() {inta=15,b=21,m=0; switch(b%a) {case0: m++;break; case6: m++; case5: m++;break; default: m++; } printf(“%d\n”,m); } 结果: ____2________________________ ⑧structSTU {charnum[10];floatscore[3];}; main() {structSTUs[3]={{“张红”,95,68,77}, {“李萌”,80,90,92}, {“黄炳”,100,95,90}} inti;floatsum=0; for(i=0;i<3;++i) {sum=sum+s[i].score[0]+s[i].score[1]+s[i].score[2]; printf(“%s的总成绩=%6.2f”,s[i].num,sum); sum=0; } } 结果: ____________________________ ⑨voidfun(intx,inty) {x=x+y;y=x-y;x=x-y; printf(“%d,%d”,x,y); } main() {intx=5,y=7; fun(x,y); printf(“%d,%d”,x,y); } 结果: _7,55,7___________________________ 1、sin(28。 )+√6写成C的表达式是。 2、│(x2+y2)/2ab│写成C的表达式是。 已知a=5,b=2,x=6,y=5.8 3、求a%b+x/(int)y的值。 4、求a>b&&x>y的值。 5、求a&&b&&x的值。 6、判断chara是否字母的表达式是。 If(a)>=’A’&&a<=’Z’大写 If(a)>=’a’&&a<=’z’小写 7、设s1,s2为二个字符串,则判断s1与s2相等的语句是 If(Strcmp(s1,s2)==0)。 8、求字符串charstr[];长度的语句是strlen(str)。 9、Long,int,float,char型数据在内存中占几个字节。 10、函数参数的传递方式分为值和地址两种。 编写完整程序: 1.要求输入一个x的值,输出对应的函数值y。 (x,y均为单精度浮点数) x/2.0+54x<-5 y=100-x*x-5<=x<5 x*x+20*x+105<=x<10 120-1/x10<=x 2.编程实现输入一个正整数的课程成绩,判断如大于100报告InputError! ,否则输出对应的A、B、C、D、E等级,(0∽59为E,60∽69为D,70∽79为C,80∽89为B,90∽100为A) 3.编程计算12+22+32+42…….1502 For(i=1;i<=150;i++) s=s+i*i printf(); 5.求s=2+4+6+8+……16的值 6.求s=1! +2! +3! +4! \\\ Ints=0,t=1; for(i=1;i<=4;i++) {t=t*i; s=s+t } ┈┈┈┈ s=5! +6! +7! Ints=0,t=24; for(i=5;i<=7;i++) {t=t*i; s=s+t }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 复习 题目