C考试系统题库含答案程序题.docx
- 文档编号:2963848
- 上传时间:2022-11-16
- 格式:DOCX
- 页数:36
- 大小:31.12KB
C考试系统题库含答案程序题.docx
《C考试系统题库含答案程序题.docx》由会员分享,可在线阅读,更多相关《C考试系统题库含答案程序题.docx(36页珍藏版)》请在冰豆网上搜索。
C考试系统题库含答案程序题
三、程序填空题
第一章C语言基础知识
(C语言概述、算法、数据类型运算符表达式、位运算)
1以下程序不用第三个变量实现两个数对调的操作。
#includ“stdio.h”
main()
{
inta,b;
scanf("%d,%d",&a,&b);
a=;(三个字符)
b=
a=a-b;
printf("%d,%d",a,b);
}
2、选择程序的运行结果。
main()
{intx=1,y=2,z,a,b,c,d;
z=++x||++y;
printf("x=%d\n",x);
printf("y=%d\n",y);/*输出结果
a=-1;b=-2;c=++a&&b++;
printf("b=%d\n",b);/*输出结果(三个字符)*/}
3以下程序的结果为_______
main()
{
unsignedinta=3,b=10;
printf("%d\n",a<<2|b>>1);/*输出结果<14>*/
printf("%d\n",a<<2&b>>1);/*输出结果<0>*/
}
4若x=3,y=z=4,则下列表达式的值是。
(1) (z>=y>=x)?
1:
0
/*值为<0>*/
(2) z>=y&&y>=x
/*值为<1>*/
5已知floatx=4.3,inty;执行语句y=(int)x后,x为
6表达式’c’&&’d’的值为<1>(填写阿拉伯数字),’c’&&’d’||!
(3+4)的值为<1>(填写阿拉伯数字)。
7若x为int类型,则与逻辑表达式“x”等价的表达式是 =0>,与逻辑表达式“! x”等价的表达式是 8表示“整数x的值大于5”时逻辑值为“真”的表达式是 9已知字母A的ASCII码为十进制数65,且设ch为字符型变量,则表达式ch=‘A’-‘4’+‘9’的值为<’F’>(一个字符常量);若定义: charc=‘\72’;则变量c中包含的字符个数为<1>(数字)。 10、C语言所提供的基本数据类型的整型类型包括: <短整型>、整型、<长整型>。 (按每种类型所占字节数,从小到大排列) 第二章C语言程序结构 (顺序程序设计、选择结构程序设计、循环控制) 程序填空题 F1.以下程序可判断输入的一个整数是否能被3或7整除,若能整除,输出“yes”,否则输出“no”。 请填空。 #include“stdio.h” voidmain() { intk; printf(“Enteraintnumber: ”); scanf(“%d”,<&k>); if( printf(“yes\n”); else printf(“no\n”); } N2.下面程序的功能是计算1-3+5-7+ …… -99+101的值。 main() { int i,t=1,s=0; for(i=1;i<=101;i+=2) { t= s=s+t; t=<-t>; } printf("%d\n",s); } F3.下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。 main() { float x,amax,amin; scanf("%f",&x); amax=x; amin=x; while( { if(x>amax) amax=x; if( scanf("%f",&x); } printf("\namax=%f\namin=%f\n",amax,amin); } F4.下面程序的功能是计算100至1000之间有多少个数其各位数字之和是5。 #include“stdio.h” voidmain() { inti,s,k,count=0; for(i=100;i<=1000;i++) { s=0; k=i; while(k) { s=s+k%10; k= } if( } printf(“%d”,count); } F5下列程序功能是求数组中主对角线元素之和,请补充完成 main() {inta[3][3],i,j,s=0; for(i=0;i<3;i++) for(j=0;j<3;j++) scanf("%d",<&a[i][j]>); for(i=0;i<3;i++) for(j=0;j<3;j++) if() s+=a[i][j]; printf("s=%d\n",s); } R6.下面程序的功能是: 输入一个字符,如果它是一个大写字母,则把它变成小写字母,如果它是一个小写字母,则把它变成大写字母,其它字符不变,请将程序补充完整: main() {charch; scanf(“%c”,&ch); if(ch>=’A’&&ch<=’Z’)ch=ch+32; elseif( printf(“%c”,ch); } R7.请将用户输入的x,y,z三个整数按照从小到大的顺序排列 main() { intx,y,z,t; scanf("%d,%d,%d",&x,&y,&z); if(x>y) {t=y;y=x;x=t;} if( {t=z;z=x;x=t;} if( {t=y;y=z;z=t;} printf("smalltobig: %d,%d,%d\n",x,y,z); } F8.以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。 用输入零来结束输入,程序中用i统计大于零的个数,用变量j统计小于零的整数。 请填空。 voidmain() {intn,i,j; i=0;j=0; printf(“EnterINTnumbers,with0toend\n”); scanf(“%d”,&n); while( =0>) {if(n>0)i=i++; if(n<0)j=j++; } printf(“i=%4dj=%4d\n”,i,j); } F9.以下程序用“辗转相除法”来求出两个正整数的最大公约数。 请填空。 若两个数分别放在m和n中,求最大公约数的算法如下: (1)将两数中最大的那个放在m中,小的放在n中。 (2)求出m被n除后的余数r。 (3)若余数为0则执行步骤(7);否则执行步骤(4)。 (4)把除数作为新的被除数;把余数作为新的除数。 (5)求出新的余数r。 (6)重复步骤(3)到(5)。 (7)输出n,n即为最大公约数。 voidmain() {intr,m,n; printf(“Enterm,n: ”); scanf(“%d%d”,<&m,&n>); printf(“m=%dn=%d\n”,m,n); if(m {r=m;m=n;n=r;} r= while(r! =0) {m=n,n=r,r=m;} printf(“H.C.F=%d\n,n); } R10.以下程序可判断输入的一个字符是否为小写字母,如果是,则转换为对应的大写字母并输出;否则,就原样输出。 请填空。 #include“stdio.h” voidmain() {chark; printf(“Enteracharacterhere: ”); scanf(“%c”,<&k>); if( printf(“%c\n”,k-32); else printf(“%c\n”,k); } 1.程序打印如下形式的图形 * ** *** **** main() {for(inti=1;i<=4;i++) {for(intj=1;①j<=i;j++) printf(②”*”); printf(③“\n”); } } 2.充下列程序,找出100—200之间的全部素数 #include“math.h” main() {intm,k,i,n=0; for(m=101;m<=200;m=m+2) { k=sqrt(m); for(i=2;(6)_i<=k___;i++) if((7)__m%i==0_____)break; if((8)__i>k________) {printf(“%d”,m); n=n+1;} if(n%10==0)printf(“\n”); } printf(“\n”); } 3. 第三章数组(正确的填A,错误的填B) 程序填空题 F1整型数组求和 inta[10]={0,1,2,3,4,5,6,7,8,9},sum=0,*pa; pa=a; for(pa=a;(<(pa-a)<10>);( sum=sum+*pa; F2.下面函数的功能是将一个字符串逆序存放,请填空。 #include"stdio.h" #include“string.h” voidfun(charstr[]) { inti,j; for(i=0,j=strlen(str);i { m=str[i]; str[i]= str[j-1]=m; } printf("%s\n",str); } R3.下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。 请填空。 main() {inti,a[20],sum,count; sum=count=0; for(i=0;i<20;i++)scanf("%d",<&a[i]>); {if(a[i]>0) {count++; sum+=; } } printf("sum=%d,count=%d\n",sum,count); } F4.函数YangHui的功能是把杨辉三角形的数据赋给二维数组的下半三角,形式如下 1 11 121 1331 14641 其构成规律是: 第0列元素和主对角线无素均为1 其余元素为其左上方和正上方元素之和 数据的个数每行递增1 请将程序补充完整。 #defintN6 voidYangHui(int*[N][N]) {inti,j; x[0][0]=1 for(i=1;i {x[i][0]= for(j=1;j
)count++;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 考试 系统 题库 答案 程序