《编程基础》复习题.docx
- 文档编号:29964444
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:14
- 大小:42.88KB
《编程基础》复习题.docx
《《编程基础》复习题.docx》由会员分享,可在线阅读,更多相关《《编程基础》复习题.docx(14页珍藏版)》请在冰豆网上搜索。
《编程基础》复习题
一、填空
1、表达式3*7%2+7%2*5的值为6。
2、若定义了intx;则将x强制转化成双精度类型应该写成(double)x。
3、设y是int型变量,请写出判断y为奇数的关系表达式[(y%2)==1或y%2或(y%2)!
=0]
5、在C语言中,实现循环的语句有:
if-goto语句、while语句、do-while语句和for语句。
6、设有定义:
intn,*k=&n;以下语句将利用指针变量k读写变量n中的内容,请将语句补充完整。
scanf(“%d”,k);
printf(“%d\n”,*k);
7、一个C语言程序总是从主函数开始执行。
8、若输入字符串:
abcde<回车>,则以下while循环体将执行1次。
do{printf(“Hello!
”);}
while((ch=getchar())==‘y’);
9、已知:
int*p,a;则语句“p=&a;”中的运算符“&”的含义是取变量地址。
11、函数直接或者间接地自己调用自己,被称为函数的递归调用。
12、若已定义:
inta[10],i;,以下fun函数的功能是:
在循环中给前10个数组元素依次赋1、2、3、4、5、6、7、8、9、10。
请填空。
fun(inta[])
{inti;
for(i=1;i<=10;i++)a[i-1]=i;
}
14、’x’(字符)在内存中占1个字节,”x”在内存中占2个字节(字符串本身就包含了\0)。
15、数组在内存中占连续一片的存储区,用数组名代表其首地址。
16、C语言是一种结构化程序设计语言,而结构化程序设计的基本结构有3种,分别是顺序结构、选择结构和循环结构。
22、表达式8.0*(1/2)的值为0.0。
33、用指针变量作为实参、形参,实现两个数的值互换,请填空。
voidswap(int*p1,int*p2)
{intp;
p=*p1;
*p1=*p2;
*p2=p;}
main()
{inta=10,b=25;
swap(&a,&b);
printf(“\na=%d,b=%d”,a,b);}
38、C语言规定,标识符只能由数字、字母、下划线3种字符组成,而且第一个字符必须是字母或下划线组成。
42.已知intx=5,y=5,z=5;执行语句x%=y+z;后,x的值是__5__。
43、假设a是字符型变量,写出从键盘上输入一个字符并且赋值给a的语句:
a=getchar()或scanf(“%c”,&a);
48、C语言认为零为逻辑"假",非零为逻辑"真"。
51、定义了数组inta[3],若想使指针p指向数组a,则定义语句为
__int*p=a;______。
52、C语言的数据类型中,构造类型共有三种,其中__数组_____是同一类型的数据项占连续存储空间,_结构体_____是若干不同类型的数据项占连续存储空间。
53、从编写好一个C程序到完全运行,一般要经历四步,分别为编辑、
__编译______、连接和执行。
57、设有以下变量定义,并已赋确定的值
charw;intx;floaty;doublez;
则表达式:
w*x+z-y所求得的数据类型为double。
64、一个C程序由若干个函数组成,其中必须有一个___main()___函数。
65、TC2.0中inta=-1,a在内存中的存储形式是16个1
66、已知大写字母C的ASCII码是67,则chara=’C';语句执行后内存中存储的二进制码是01000011。
67、整型常量和实型常量也称为数值常量,它们有正负值之分。
68、C语言基本数据类型包括整型、字符型、枚举类型和实型。
69、在C语言中,将字符串作为字符数组处理。
71、由一次函数调用加一个分号构成一个函数调用语句语句。
72、如果想输出字符“%”,则应该在”格式控制”字符串中用%表示。
三、读程序,写出其结果
1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。
main()
{charch;
ch=getchar();
if(ch>=’a’&&ch<=’z’||ch>=’A’&&ch<=’Z’)
printf("ItisanEnglishcharacter\n");
elseif(ch>=’0’&&ch<=’9’)
printf("Itisadigitcharacter\n");
elseif(ch==‘’)
printf("Itisaspacecharacter\n");
else
printf("Itisothercharacter\n");}
2.10个学生成绩按选择法排序
main()
{floata[10],t;
inti,j,k;
printf("Pleaseenterscore:
\n");
for(i=0;i<10;i++)
scanf(“%f”,&a[i]);
for(i=0;i<9;i++)
{k=i;
for(j=i+1;j<10;j++)
if(a[j]>a[k])
k=j;
if(i!
=k)
{t=a[i];
a[i]=a[k];
a[k]=t;
}
}
printf("Sortedresults:
\n");
for(i=0;i<10;i++)
printf("%4.1f\n",a[i]);
}
3.3自定义一函数求n!
编写程序输入n,输出n!
.
longjc(intn)
{inti
longp=1;
while(i<=n)
{p=p*i;
i++;}
returnp;}
voidmain()
{intn;
printf("Pleaseentern:
");
scanf("%d",&n);
printf("%d!
=%ld\n",n,jc(n));}
4.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。
用输入0来结束输入,用i,j来放统计数,请填空完成程序。
voidmain()
{intn,i=0,j=0;
printf(“inputainteger,0forend\n”);
scanf(“%d”,&n);
while(n或n!
=0)
{if(n>0)i=i+1;
elsej=j+1;
}
printf(“i=%4d,j=%4d\n”,i,j);
}
5.下面程序的功能是在a数组中查找与x值相同的元素所在位置,请填空。
#include
voidmain()
{inta[10],i,x;
printf(“input10integers:
”);
for(i=0;i<10;i++)
scanf(“%d”,&a[i]);
printf(“inputthenumberyouwanttofindx:
”);
scanf(“%d”,&x);
for(i=0;i<10;i++)
if(x==a[i])
break;
if(i<10)
printf(“theposofxis:
%d\n”,i);
elseprintf(“cannotfindx!
\n”);
}
8.下面是判断一个数是否为素数的函数
/*函数功能:
判断参数是否是素数
函数入口参数:
整型数,要求为正整数
函数返回值:
非0值表示是素数,否则不是素数*/
#include
intIsPrime(intnumber)
{inti;
if(number<=1)/*负数、0和1都不是素数*/
return0;
for(i=2;i if(number%i==0)/*被整除,不是素数*/ return0; return1; } 9.编程计算1+3+5+……+101的值 #include voidmain() {inti,sum=0; for(i=1;i<=101;i+=2) sum=sum+i; printf("sum=%d\n",sum); } 10.输入一个学生的成绩(在0~100分之间),进行五级评分并显示。 #include voidmain() { intscore; scanf("%d",&score); if(score>=0&&score<=100) switch(___score/10___) { case10: case9: printf("Excellent\n");break; case8: printf("Good\n");break; case7: printf("Middle\n");break; case6: printf("Pass\n");__break____; default: printf("Nopass\n");} } 11.排序函数: 用交换法按成绩由高到低对学生成绩重新排序 函数参数: 实型数组score,存储学生成绩 整型变量n,代表数组元素个数 函数返回值: 无 voidSort(floatscore[],intn) {inti,j; floattemp1; for(i=0;i {for(j=i+1;j if(score[j]>score[i]) {temp1=score[j]; score[j]=score[i]; score[i]=temp1; } } } 12.编程计算1+3+5…+99的值 main() {inti,sum=0; i=1; while(i<100) {sum=sum+i; i+=2;} printf("sum=%d\n",sum); } 15.从键盘输入一个字符,判断它是否是英文字母。 #include voidmain() {charc; printf("inputacharacter: "); c=getchar(); if(c>=‘A’&&c<=‘Z’||c>=‘a’&&c<=‘z’) printf("Yes\n"); else printf("No"); } 16.以下使用数组来处理打印斐波那契数列的前20项的程序。 打印时,每行打印10个数字。 斐波那契数列的格式为: 当n=0时,f[0]=0,当n=1时,f[1]=1,当n>1时,f[n]=f[n-1]+f[n-2] #include“stdio.h” voidmain() {intfbn[20]; intline=0,j; fbnq[0]=0; fbnq[1]=1; for(j=2;j<20;j++) fbnq[j]=fbnq[j-1]+fbnq[j-2]; for(j=0;j<20;j++) {printf(“%d”,fbnq[j]); line++; if(line==10) {line=0; printf(“\n”); } } 19.程序读入20个整数,统计非负数个数,并计算非负数之和。 #include main() {inti,a[20],s,count; s=count=0; for(i=0;i<20;i++) scanf(“%d”,&a[i]); for(i=0;i<20;i++) {if(a[i]<0)continue; s+=a[i]; count++; } printf(“s=%d\tcount=%d\n”,s,count”); } 四、程序编写 1.题目: 输入三个整数x,y,z,请把这三个数由大到小输出。 2.题目: 打印出如下图案(菱形) * *** ****** ******** 3.题目: 有一分数序列: 2/1,3/2,5/3,8/5,13/8,21/13...求出这个数列的前10项之和。 4.题目: 编写不使用strcat命令实现两个字符串连接程序 5、题目: 输出杨辉三角形(要求输出15行)。 1 11 121 1331 14641 15101051 …… 6、题目: 用二分法求一元方程的近似解。 7、题目: 有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数? 都是多少? 8、题目: 一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? 9、题目: 输入某年某月某日,判断这一天是这一年的第几天? 10、题目: 打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。 例如: 153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 11、题目: 从键盘输入一个字符串,将小写字母全部转换成大写字母,然后输出到一个磁盘文件“test”中保存。 输入的字符串以! 结束。 12、题目: 有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列),输出到一个新文件C中。 13、题目: 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据(包括学生号,姓名,三门课成绩),计算出平均成绩,况原有的数据和计算出的平均分数存放在磁盘文件"stud"中。 14、题目: 求0—7所能组成的奇数个数。 15、题目: 输入三个整数x,y,z,请把这三个数由大到小输出。 16、题目: 打印出如下图案(菱形) * *** ****** ******** ****** *** * 17、题目: 给一个不多于5位的正整数,要求: 一、求它是几位数,二、逆序打印出各位数字。 18、题目: 利用递归方法求5! 。 五、算法和程序 看NS图编写C程序 如: 题目: 既是完全平方数,又有两位数字相同的三位正整数,如144 #include inttemp_int[100]; intmain() { inti; intk; intj=-1; intgewei; intshiwei; intbaiwei; for(i=10;i<32;i++) { temp_int[++j]=i*i; } for(k=0;k<=j;k++) { baiwei=(int)(temp_int[k]/100); shiwei=(int)((temp_int[k]-100*baiwei)/10); gewei=temp_int[k]-100*baiwei-10*shiwei; if(baiwei==shiwei||baiwei==gewei||shiwei==gewei) { printf("%d\n",temp_int[k]); } } }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 编程基础 编程 基础 复习题