C语言复习.docx
- 文档编号:5171086
- 上传时间:2022-12-13
- 格式:DOCX
- 页数:19
- 大小:34.50KB
C语言复习.docx
《C语言复习.docx》由会员分享,可在线阅读,更多相关《C语言复习.docx(19页珍藏版)》请在冰豆网上搜索。
C语言复习
1、各种运算符和表达式、优先级问题。
2、各种输入输出函数。
3、排序是数据处理中最常见的问题,它是将一组数据按递增或者递减的次序排列。
排列的算法很多。
常用的算法什么。
4、合法的字符常量、字符串常量、标识符的命名规则。
5、一维数组和二维数组定义、引用、书写是否正确。
6、if与else的配对原则。
7、continue语句与break语句的应用。
8、各种进制数的表示形式。
9、三种循环过程。
10、程序改错:
基本程序的要求:
先定义后使用,分大小写,是否有逗号或者分号,什么情况下是逗号,什么情况下是分号等问题。
11、读程序填空:
m.n%f等形式要会。
12、字母大小写转换。
13、从键盘上输入两个变量的值,交换两个变量的值,并输出。
14、数组、函数均考
练习题举例:
1.以下数组定义中错误的是:
(A)intx[][3]={0};
(B)intx[2][3]={{1,2},{3,4},{5,6}};
(C)intx[][3]={{1,2,3},{4,5,6}};
(D)intx[2][3]={1,2,3,4,5,6};
2.设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为:
(A)EOF(B)NULL(C)0(D)非0值
3.有以下程序:
main()
{inty=10;
while(y--);
printf(“y=%d\n”,y);
}
程序执行后的输出结果是:
(A)y=0;(B)y=-1;
(C)y=1(D)while构成无限循环
4.若有以下宏定义:
#defineN2
#defineY(n)(N+1)*n
则执行语句intz;z=2*N+Y(5);后的值是
(A)50(B)34(C)19(D)无定值
5.以下叙述中错误的是:
(A)c程序必须由一个或者一个以上的函数组成。
(B)函数调用可以作为一个独立的语句存在。
(C)若函数有返回值,必须通过return语句返回。
(D)函数形参的值也可以传回给对应的实参。
6.设有如下定义的变量
uniondata
{inti;
charch;
floatf;
}b;
则变量b占用内存的字节数是(假设int类型占2个字节,char类型占1个字节,float类型占4个字节):
(A)4(B)5(C)6(D)7
7.以下叙述中错误的是:
(A)c程序中的#include和#define行均不是c语句
(B)除逗号运算符外,赋值运算符的优先级最低
(C)c程序中,“j++;”是赋值语句
(D)c程序经过编译、连接步骤之后,才能形成一个真正可执行的二进制机器指令文件。
8.能正确表示a和b同时为正或同时为负的逻辑表达式是:
(A)(a>=0||b>=0)&&(a<0||b<0)
(B)(a>=0&&b>=0)&&(a<0&&b<0)
(C)(a+b>0)&&(a+b<=0)
(D)a*b>0
9.对于一个正常运行的c程序,以下叙述中正确的是:
(A)程序的执行总是从main函数开始,在main函数结束。
(B)程序的执行总是从程序的第一个函数开始,在main函数结束。
(C)程序的执行总是从main函数开始,在程序的最后一个函数中结束。
(D)程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束。
10.设变量x和y均已经正确定义并赋值。
以下if语句中,在编译时将产生错误信息的是:
(A)if(x++);(B)if(x>y&&y!
=0)
(C)if(x>0)x--(D)if(y<0){;}
elsey++;elsex++;
11.设已有定义:
floatx;则以下对指针变量p进行定义且赋初值的语句中正确的是:
(A)float*p=1024;(B)int*p=(float)x;
(C)floatp=&x;(D)float*p=&x;
12.有以下程序:
main()
{inti,j;
for(i=1;i<4;i++)
{for(j=i;j<4;j++)printf("%d*%d=%d",i,j,i*j);
printf("\n");
}
}
程序运行后的输出结果是:
(A)1*1=11*2=21*3=3(B)1*1=11*2=21*3=3
2*1=22*2=42*2=42*3=6
3*1=33*3=9
(C)1*1=1(D)1*1=1
1*2=22*2=42*1=22*2=4
1*3=32*3=63*3=93*1=33*2=63*3=9
13.按照c语言规定的用户标识符命名规则,不能出现在标识符中的是:
(A)大写字母(B)连接符
(C)数字字符(D)下划线
14.设有定义:
intk=0;以下选项的四个表达式中与其他三个表达式的值不相同的是:
(A)k++(B)k+=1(C)++k(D)k+1
15.有以下程序
main()
{charch[]="uvwxyz",*pc;
pc=ch;printf("%c\n",*(pc+5));
}
程序运行后的输出结果是:
(A)z(B)0
(C)元素ch[5]的地址(D)字符y的地址
16.有以下函数:
intfun(char*s)
{char*t=s;
while(*t++);
return(t-s);
}
该函数的功能是:
(A)比较两个字符串的大小(B)计算s所指向字符串占用内存字节的个数
(C)计算s所指字符串的长度(D)将s所指字符串复制倒字符串t中
16.有以下函数:
intfun(char*s)
{char*t=s;
while(*t++);
return(t-s);
}
该函数的功能是:
(A)比较两个字符串的大小(B)计算s所指向字符串占用内存字节的个数
(C)计算s所指字符串的长度(D)将s所指字符串复制倒字符串t中
答案:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
B
D
B
C
D
A
C
D
A
B或C
D
B
B
A
A
C
执行以下程序后的输出结果是a=14
main()
{inta=10;
a=(3*5,a+4);printf("a=%d\n",a);
}
以下程序的输出结果是__109_____.
#include
voidmain()
{intx=10,y=10;
printf("%d%d\n",x--,--y);
}
执行下面程序中的输出语句后,输出结果是____20__.
#include
voidmain()
{inta;
printf("%d\n",(a=3*5,a*4,a+5));
}
要求下面的程序运行后,显示如下结果:
21046
1523
2478
5132
则程序中的划线处应填入__{2,10,4,6},{1,5,2,3},{2,4,7,8},{5,1,3,2}___.
#include
voidmain()
{inta[4][4]={________};
inti,j;
for(i=0;i<4;i++)
{for(j=0;j<4;j++)printf("%4d",a[i][j]);
printf("\n");}
}
下面程序的输出结果是____10__.
#include
voidmain()
{
inta=5,b=3;
floatx=3.14,y=6.5;
printf("%d,%d\n",a+b!
=a-b,x<=(y-=6.1));
}
以下程序段运行结果是____1___.
intx=1,y=1,z=-1;
x+=y+=z;
printf("%d\n",x y: x); 执行下面程序后,运行结果是___y=41____. #include voidmain() {intx=41,y=1; if(x%3==0&&x%7==0) {y+=x;printf("y=%d\n",y);} else {y=x;printf("y=%d",y);} } 若执行下面的程序从键盘上输入9,则输出结果是.___10_______ #include voidmain() {intn; scanf("%d",&n); if(n++<10)printf("%d\n",n); elseprintf("%d\n",n--);} 下面程序的输出是__k=11,k=13,k=b_____ #include voidmain() {intk=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } 运行下面程序时,从键盘输入"12,34,9 #include voidmain() {intx,y,z; scanf("%d,%d,%d",&x,&y,&z); if(x if(y elseprintf("%d\n",y); elseif(x elseprintf("%d\n",x); } 阅读下面的程序 #include voidmain() { inti,j; scanf("%3d%2d",&i,&j); printf("i=%d,j=%d\n",i,j); } 下面程序的输出结果是____9____. #include voidmain() {intx=8,y=-7,z=9; if(x if(y<0)z=0; elsez-=1; printf("%d\n",z); } 如果从键盘上输入1234567<回车>,则程序的运行结果是__i=123,j=45___. 、阅读下面的程序 #include voidmain() { inti,j,m,n; i=8;j=10; m=++i; n=j++; printf("%d,%d,%d,%d",i,j,m,n); } 程序的运行结果是____9,11,9,10__. 以下程序的输出结果是_____31____. #include fun(intx,inty,intz) {z=x*x+y*y;} voidmain() {inta=31; fun(5,2,a); printf("%d",a);} 输入一个百分制成绩,打印出五级记分成绩。 考试成绩在90分或90分以上为优秀,80~89分为良好,70~79为中等,60~69为及格,低于60分为不及格。 #include #include #include #include voidmain() { intscore,t; printf("Pleaseenterascore: "); do {scanf("%d",&score);} while(score<0||score>100); t=score/10; /*************found**************/ switch(score)switch(t) { case10: case9: printf("优秀! \n");break; case8: printf("良好! \n");break; case7: printf("中等! \n");break; case6: printf("及格! \n");break; /*************found**************/ else: printf("不及格! \n");default: printf("不及格! \n"); } } 求二维数组a中的最大值和最小值。 例如,当二维数组a中的元素为: 4434 37312 565 程序的输出应为: Themaxis: 37 Theminis: 3。 #include #include voidmain() { inta[3][3]={4,4,34,37,3,12,5,6,5},i,j,max,min; max=min=a[0][0]; for(i=0;i<3;i++) /************found************/ for(j=1;j<3;j++) {if(max max=a[i][j]; /************found************/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 复习