c语言程序填空题
- 格式:docx
- 大小:16.30 KB
- 文档页数:9
【程序填空】-——-—----——--—————--—-—-——-—-——----—--—-—-——------———-——- 功能:下面的程序是求1!+3!+5!+……+n!的和。
--——------—-—--——-—----—---——----————-—-———-—-—-—-----—*/#include <stdio.h〉main(){long int f,s;int i,j,n;/***********SPACE***********/【?】;scanf("%d”,&n);/***********SPACE***********/for(i=1;i<=n;【?】){f=1;/***********SPACE***********/for(j=1; 【?】;j++)/***********SPACE***********/【?】;s=s+f;}printf(”n=%d,s=%ld\n",n,s);}/*-—--——-——-—-——---—-----—--——--—-—--—----—---—-—-—--——-—【程序填空】----—---—---—--—-—————-—————-——---—--—----————-—--—--——-—功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出其和。
--———-—--——-—--——-——--—--———--—————-——--—--—-———--—--——*/ #include <stdio.h〉#include <conio.h〉main(){int i,n,sum;sum=0;/***********SPACE***********/【?】;/***********SPACE***********/for(i=1; 【?】;i++)/***********SPACE***********/if(【?】)if(i%2==0){sum=sum+i;n++;printf("%6d",i);/***********SPACE***********/if(【?】)printf(”\n");}printf(”\ntotal=%d”,sum);}/*———-—----———----—----—---———————--—-————----——----—---—【程序填空】——---—————-———-—————---—-—----—--——-—--—--——-—--——————-——功能:求100-999之间的水仙花数说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。
二、程序填空题(每空2分,共20分)1.下列程序是求100之内的能被7整除的自然数之和。
请在横线处填入适当的语句,将程序补充完整。
#include <iostream.h>void main( ){int sum;_(1) _;for(int i=1;__(2) _; i++)if(_(3) _)sum+=i;cout<<sum<<endl;}答案:_sum=0_ i<=100_ i%7==0__2 下面程序的功能是计算x n。
请在横线处填入适当的语句,将程序补充完整。
#include <iostream.h>void main( ){int n,x;cin>>x>>n;double y=1;for(int i=1;__(1) _; i++)_(2) _;cout<<y<<endl;}答案:i<n_ y=x*i3 下面程序是输出100内能被3整除且个位数是6的所有整数。
请在横线处填入适当的语句,将程序补充完整。
#include <iostream.h>void main(){int i,j;for(i=0; (1) ;i++){j=i*10+6;if( (2) )continue;elsecout<<j<<endl;}}答案:i<10 j%3!=04.下面程序运行后输出的结果为:** * ** * * * ** * * * * * *请在横线处填入适当的语句,将程序补充完整。
#include <iostream.h>#include<iomanip.h>void main(){int i,j,k ;for(i=1 ;i<=4 ;i++){for(j=1;j<20-3*i; (1) ) cout<<”“;for(k=1; (2) ; k++)cout<<setw(3)<<”*”;(3) ;} }答案:j++ k<2*i-1 cout<<endl5.下面程序运行后输出的结果为:1121123211234321请在横线处填入适当的语句,将程序补充完整。
二, 填空题( 10 道小题,共20 分)1、一个C 源程序中至少应包含一个[main] 函数。
2、a是整型变量,则执行表达式a=25/3%3后a的值为。
[2]3、i nt m=5,y=2; 则表达式y+=y- =m*=y 的值为。
[-16]4、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d , %d \n", a,b ); 的输出结果分别是[2,1]5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型6、当运行以下程序时,从键盘键入right?<CR>(<CR> 代表回车),则下面程序的运行结果是。
#include<stdio.h>main( ){ char c;while((c=getchar())! ='?') putchar(++c)}[sjhiu?]7、C语言中的数组必须先[定义],然后使用。
8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return 】语句。
9、已知:float f1=3.2,f2,*pf仁&f1;f2=f1 ,则*f2 的值为。
[3.2]10 、以下程序void fun(char *a, char *b){ a=b; (*a)++; } main (){ char c1="A", c2="a", *p1, *p2;p1=&c1; p2=&c2; fun(p1,p2);printf( “ &cn&”c ,c1,c2);}运行后的输出结果是。
[&c&c]11、字符串常量“ 123 ”在内存中的字节数是。
[8 字节]12、已有定义:int x=3 ; 则表达式:x=x+1.78 的值是。
程序填空一、程序填空共129题(共计1290分)第1题(10.0分)题号:473/*------------------------------------------------------- 【程序填空】---------------------------------------------------------功能:输出1到100之间每位数的乘积大于每位数的和的数。
例如:数字26,数位上数字的乘积12大于数字之和8。
-------------------------------------------------------*/ #include <stdio.h>main(){int n,k=1,s=0,m;for(n=1;n<=100;n++){k=1;s=0;/***********SPACE***********/【?】 ;/***********SPACE***********/while( 【?】 ){k*=m%10;s+=m%10;/***********SPACE***********/【?】;}if(k>s)printf("%d ",n);}}答案:=======(答案1)=======m=n=======(答案2)=======m>00<m=======(答案3)=======m=m/10=========或=========m/=10第2题(10.0分)题号:447/*------------------------------------------------------- 【程序填空】---------------------------------------------------------功能:已知一个数列,它的头两项分别是0和1,从第三项开始以后的每项都是其前两项之和。
编程打印此数,直到某项的值超过200为止。
习题一一、选择题1.C程序的基本单位是(A)。
A.函数B.文件C.语句D.字符2.C程序中的变量(B)。
A.不用说明B.先说明后引用C.先引用后说明D.引用和说明顺序无关3.变量的说明在(B)。
A.执行语句之后B.执行语句之前C.执行语句当中D.位置无关4.C语言是一种(C)。
A.机器语言B.符号语言C.高级语言D.面向对象的语言二、填空题1.一个C程序总是从主函数开始执行。
2.结构化程序由顺序、选择、循环三种基本结构构成。
3.一个C程序只有一个名为main的主函数。
4.C程序中的每个语句以分号结束。
5.C程序中,函数由函数首部和函数体组成。
6.每个基本结构有一个入口和一个出口,没有死循环和死语句。
7.算法是计算机解决问题所依据的步骤。
习题二一、选择题1.下列数据中属于字符串常量的是( B)。
A.ABC B."ABC" C.'abc' D.'A'2.在计算机内存中,'\n'占用的字节数是( C)。
A.4 B.3 C.1 D.23.字符串"ABC"在内存中占用的字节数是( D)。
A.6 B.8 C.3 D.44.在C语言中,合法的长整型常数是( B)。
A.568701400 B.0L C.0.03546287 D.2.654e115.char型常量在内存中存放的是( A)。
A.ASCII代码值B.BCD代码值C.十进制代码值D.内码值6.下列各项中正确的标识符是( D)。
A.?bb B.a=8 C. b.βD.b_47.下列不正确的转义字符是( D)。
A.\\ B.\ 0 C.\" D.0x48.设整型变量a、b的值均为5,则表达式(m=n=a++)/(n=b-2)的值为( B)。
A.0 B.1 C.2 D.39.设a的值为5,执行下列语句后,b的值不为2的是( C)。
A.b=a/2 B.b=6-(--a) C.b=a%2 D.b=(float)a/210.执行语句x=(a=3,b=a--)后,x、a、b的值依次是( C)。
c语言程序设计填空题15条
1、以下程序的功能是利用函数求100-200间素数(质数)的个数,请在下划线处填上正确的语句,使程序能正确运行。
2、C中的转义符“\r”表示:。
3、表达式 3 | 2 的值是。
4、第i天的桃等于(第i+1天的剩的桃+
5、*2,因此有:f(i)=(f(i+
6、∗2,完毕条件是f(n)=1。
7、定义一个构造变量,共三个成员分别是字符型、整形和浮点型,则该构造体变量所占内存长度为个字节。
8、71828的宏命令是。
9、C中按位与运算符是、按位异或运算符是、按位或运算符是。
10、若a=5,经a-=3;后a=。
11、小数局部按指定位数输出,编译器会进展四舍五入处理,假如和的结果是-0.04,输出会是-0.0,而假如肯定值结果是0.05及以上,四舍五入是0.1,有了上面的条件就可以保证结果不会消失-0.0的状况了。
12、函数形参和调用的实参是数组名时,参数按方式进展传递。
13、C语言规定标识符只能由字母、和3种字符组成,且第一个字符必需为字母或。
14、输出格式:在一行中根据(x, y)的格式输出和向量,坐标输出小数点后一位(留意不能输出−0.0)。
15、已知ch=”a”,则表达式【(ch>=”A ” && ch<=”Z”)? (ch+
16、以下程序的功能是输出杨辉三角形前10行,请在下划线处填上
正确的内容,使程序能正确运行。
17、表达式21 / 4 的值为。
将下面的程序补充完整,以完成指定的功能。
1.输入10个整数,找出最大数。
#include <iostream>using namespace std;int main(){int k,x,max;cin>>x;max=______; // (1)for(k=2; k<=___ ; k++) { // (2)cin>>x;if (_______) max=x; // (3)}cout<<“Max=“<<max<<endl;return 0;}1.(1)x (2)10 (3)x>max2.猴子吃桃问题:猴子摘下若干个桃子,第一天吃了桃子的一半多一个,以后每天吃了前一天剩下的一半多一个,到第十天吃以前发现只剩下一个桃子,问猴子共摘了几个桃子?#include <iostream>using namespace std;int main(){int day,x1,x2;day=9;x2=1;while(day>0){x1=2*(x2+1);_____________ ; // (1)_____________ ; // (2)}cout<<"Total="<<x1<<endl;return 0;}2.(1)x2=x1 (2)day—(或day=day-1)3.求符合下列条件的四位数中最大的一个数。
条件为:它的千位数字与十位数字之和等于百位数字与个位数字之积,例如,3136,3+3=1*6 ,故3136是符合条件的一个四位数。
#include <iostream>using namespace std;int main(){int i,a,b,c,d;for( i=9999; i>=1000; i--){a= _____________; // (1)b=(i-a*1000)/100;c=(i-a*1000-b*100)/10;d=i%10;if ( _____________ ) // (2){cout<<i<<endl;_____________; // (3)}}}3.(1)i/1000 (2)a+c==b*d (3)break4.求所有的水仙花数。
C语言程序填空题1.阅读以下程序并填空。
以下程序的功能是:输出三位正整数中能被13整除的数#include <stdio.h>main(){ int n;for( n=100 ; n<=999 ;n++) if(n%13!=0) continue ; else printf("%d\n",n);} 2.阅读以下程序并填空。
以下程序的功能是:输出100以内能被3整除且个位数为6的所有整数 #include <stdio.h>main(){ int i,j;for(i=0; i<=9 ;i++){ j= i*10+6 ;if(j%3!=0) continue;else printf("%d\n",j);} }3.阅读以下程序并填空。
以下的程序功能是:求101至999之间所有能被13整除的整数之和和个数 #include <stdio.h>main(){ int i,cnt;float sum=0;i=101; cnt=0;while( i<=999 ){ if( i%13==0 ){ sum+=i; cnt++; } i++ ; )printf("sum=%f,cnt=%d\n”,sum,cnt);}4.阅读以下程序并填空。
该程序的功能是:用递归的方法求菲波那契数列2,2,4,6,10,16, 26,42,68,110,……的第10项 #include <stdio.h>long fib(int n){ if(n>= 3 )return fib(n-1)+fib(n-2);elsereturn 2 ; }main(){ printf("%ld\n”,fib(10)); }5.阅读以下程序并填空。
该程序的功能是:用递归法求:1 + 2 + 3 + + n#include <stdio.h> long Sum(int n) { if(n> 1 )return n+Sum(n-1); else return 1 ;)6.阅读以下程序并填空。
程序填空题
1.下述程序是一个选择排序程序,请填完整空缺部分。
Void select _sort (int p [ ], int n )
{ int i, j, k, temp;
for ( i =0 ;i<n-1; i ++ )
{ k = i;
for ( j=i+1; j<n ; j++)
if ( p[j]<p[k]) k=j;
if (k!=i) { temp= p[k]; p[k]=p[i];p[i]=temp;}
}
}
main()
{ int i,a[20];
for (i =0; i<20; i++) scanf (“%d”,&a[i]);
select_sort(a,20);
for ( i = 0;i<20; i++)
printf (“%d\t”,a[i];printf (“\n”);
}
2.下面程序的功能是:计算1到10之间的奇数之和及偶数之和,请填空。
# include <stdio.h>
main()
{ int a, b, c , i;
a = c = 0 ;
for(i=0;i<=10;i+=2)
{ a + = i ;
b=i+1;
c += b ;
}
printf ( “偶数之和= %d \n “, a ) ;
printf ( “奇数之和= %d \n “, c –11 );
}
3.下面程序的功能是:输出100 以内能被3 整除且个位数为6 的所有整数,请填空:
main()
{ int i , j ;
for ( i = 0 ;i<10; i + + )
{ j = i * 10 + 6 ;
if ( j%3!=0 ) continue ;
printf ( “ %d” , j ) ;
}
}
4.程序读入20个整数,统计非负数的个数,并计算非负数之和。
#include “stdio.h”
main()
{ int I,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\t count=%d\n”,s,count);
}
5.下面的程序用以分别求出数组两条对角线上的各元素之和。
#include “stdio.h”
main()
{ int a[3][3]={1,2,3,4,5,6,7,8,9};
int sum1,sum2,k,j;
sum1=sum2=0;
for(k=0;k<3;k++)
sum1+=a[i][i];
for(k=0;k<3;k++)
for(j=2;j>=0;j--)
if(_(i+j)==2________)
sum2+=a[k][j];
printf(“sum1=%d\tsum2=%d\n”,sum1,sum2);
}
6.已知整型数组w中的元素已经由小到大排序,函数fun用以将整数x插入到数组w中,要求插入后的数组元素依然有序。
其中n所指的存储单元中存放着数组元素的个数。
void fun(int *w, int x, int *n)
{
int k,p=0;
w[*n]=x;
while(x>w[p])
__p++____;
for(k=*n;k>p;k--)
w[k]=__w[k-1]__;
___w[p]=x____________;
++*n;
}
7.函数strlen用于确定一个给定字符串str的长度(不包括‘\0’)。
strlen(char *str)
{
int num=0;
while(*str++!=’\0’)
++num;
return(_num___);
}
8.已知第一个学生的年龄为10岁,,第二个学生年比第一个学生的年龄大2岁,……以此类推,以下程序用于计算学生年龄,请补充完整。
#include “stdio.h”
age(int n)
{
int c;
if(n= =1) c=10;
else c=__age(n-1)+2____;
return( c ) ;
}
main()
{
int n=5;
printf(“age:%d\n”,age(n));
}
9.以下是一个求字符串长度的函数的递归算法,请补充完整(不包括‘\0’)
int strlen(char * str)
{
if(*str==’\0’)
return(0);
else
return(__1+strlen(str+1)___);
10. 以下程序将用户从键盘上随机输入的30个学生的学号、姓名、数学成绩、计算机成绩及总分写入数据文件score.txt中,假设30个学生的学号从1~30连续。
输入时不必按学号顺序进行,程序自动按学号顺序将输入的数据写入文件。
请在程序中的空白处填入一条语句或一个表达式。
# include <stdio.h>
FILE *fp;
Main( )
{
struct st
{ int number;
char name[20];
float math;
float computer;
float total;
} student;
int i,j;
if( (fp=fopen(“score.txt”,”w”))==null )
{
printf(“file open error\n”);
exit(1);
}
for(i=0;i<30;i++)
{
scanf(“%d,%20s,%f,%f”,&student.number, ,&student.math,&puter);
student.total=student.math+puter;
j=student.number-1;
fseek(fp,j* sizeof(student),0);
if(fwrite(&student, sizeof(student), 1, fp)!=1)
printf(“write file error\n”);
}
fclose(fp);
}
11.下面的程序用来统计文件中字符的个数,请填空。
#include <stdio.h>
main()
{ FILE *fp;
long num=0;
if(( fp=fopen("fname.dat","r"))==NULL)
{ printf( "Can"t open file! \n"); exit(0);}
while(!feof(fp))
{ fgetc(fp); num++;}
printf("num=%d\n", num);
fclose(fp);
}
12. 【程序说明】将从键盘输入的三个整数,按从小到大的顺序输出。
【程序】
#include <stdio.h>
int main()
{
int a,b,c,*pa=&a,*pb=&b,*pc=&c,*p;
scanf("%d%d%d", pa,pb,pc);
if(*pa>*pb)
{p=pa; pa=pb; pb=p;}
if(*pa>*pc)
{p=pa; pa=pc; pc=p;}
if(*pb>*pc)
{p=pb; pb=pc; pc=p;}
printf("%d <= %d <= %d\n", *pa,*pb,*pc); return 0;
}。