c语言程序填空题完整
- 格式:doc
- 大小:50.50 KB
- 文档页数:54
全真c语言程序填空题考试题库Company number:【0089WT-8898YT-W8CCB-BUUT-202108】c语言程序填空!!!这就是考试题库!!!共计131道试题一、程序填空(共131题)Turbo C(共131试题)3)./*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:已定义一个含有30个元素的数组s,函数fun1的功能是按顺序分别赋予各元素从2开始的偶数,函数fun2则按顺序每五个元素求一个平均值, 并将该值存放在数组w中。
-------------------------------------------------------*/float s[30],w[6];fun1(float s[]){int k,i;for(k=2,i=0;i<30;i++){/***********SPACE***********/________________ ;k+=2;}}fun2(float s[],float w[]){float sum=;int k,i;for(k=0,i=0;i<30;i++){sum+=s[i];/***********SPACE***********/________________;{w[k]=sum/5;/***********SPACE***********/________________ ; k++;}}}main(){int i;fun1(s);/***********SPACE***********/________________;for(i=0;i<30;i++){if(i%5==0) printf("\n");printf("%",s[i]);}printf("\n");for(i=0;i<6;i++)printf("%",w[i]);}答案:【1】 s[i]=k 或 s[i]=(i+1)*2【2】 if( ( i + 1 )%5 == 0 ) 或if( ( i + 1 )/5*5 ==i+1)【3】 sum=0 或 sum=【4】 fun2(s,w)4)./*-------------------------------------------------------【程序填空】---------------------------------------------------------功能:下面的程序是求1!+3!+5!+……+n!的和。
一.(25)116、以下程序运行后的输出结果是__3____。
main(){ int p=30;printf("%d\n",(p/3>0 ? p/10 :p%3));}66、若想通过以下输入语句使a=5.0,b=4,c=3,则输入数据的形式应该是__5.0,4,c=3____。
int b,c; float a;scanf("%f,%d,c=%d",&a,&b,&c)27、请在以下程序第一行的下划线处填写适当内容,使程序能正常运行。
_double max或extern double max_____( double,double);main(){ double x,y;scanf("%1f%1f",&x,&y);printf(%1f\n",max(x,y));}double max(double a,double b){ return(a>b ? a:b);}57、以下程序的输出结果是__246____。
void fun(){static int a = 0;a += 2;printf("%d",a);}main(){int cc;for(cc = 1;cc < 4; cc++) fun();printf("\n");}43、以下程序运行后的输出结果是_81_____。
#define S(x) 4*x*x+1main(){ int i=6,j=8;printf("%d\n",S(i+j));}73、以下函数inverse的功能是使一个字符串按逆序存放。
inverse(str)char str[];{char m;int i,j;for(i=0,j=strlen(str);i<strlen(str)/2;_i++_____,j--) {m=str[i];str[i]=_str[j-1]_____;_str[j-1]=m_____;}}144、以下程序的输出结果_efgh_____。
二、程序填空题(每空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请在横线处填入适当的语句,将程序补充完整。
计算机程序设计基础(C语言)程序填空练习题程序填空:阅读程序。
在划线处填写适当的表达式或语句,使程序完整并符合题目要求1.输入一个字符,判断该字符是数字、字母、空格还是其他字符。
main( ) 参考答案:{ char ch;ch=getchar();if( ) ch>='a'&&ch<='z'|| ch>='A'&&ch<='Z' printf("It is an English character\n");else if( ) ch>='0'&&ch<='9'printf("It is a digit character\n");else if( ) ch==' 'printf("It is a space character\n");elseprintf("It is other character\n"); }2.10个学生成绩按交换法排序。
main(){ float score[10], temp1;int i, j;printf("Please enter score:\n");for (i=0; i<10; i++)scanf("%f",&score[i]);for (i=0; i<9; i++)for (j=i+1; j<10; j++)if (score[j] > score[i]){ temp1=score[j];score[j]=score[i];score[i]=temp1;}printf("Sorted results:\n");for (i=0; i<10; i++)printf("%4.0f\n", score[i]); }11.排序函数:用交换法按成绩由高到低对学生成绩重新排序void Sort(float score[ ],int n){ int i, j;float temp1;for (i=0; i<n-1; i++){ for (j=i+1; j<n; j++)if ( ) score[j] > score[i]{ temp1 = score[j];; score[j]=score[i];score[i] = temp1;}}}自定义一函数求n!, 编写程序输入n,输出n!.#include<stdio.h>long jc(int n){ int i=1;long p=1;while (i <= n){ p=p*i;i++; }} return p;main(){ int n;printf("Please enter n:");scanf("%d", &n);printf("%d! = %ld\n", n, ); jc(n)}4.下列程序的功能是从输入的整数中,统计大于零的整数个数和小于零的整数个数。
二, 填空题( 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 的值是。
C 语言考试填空题1.一个C 语言程序中至少应该包含一个【】函数。
答案:main 有且只有一个2.a 是整型变量,则执行表达式a=25/3%3后a 的值为【】答案:23.int m=5,y=2;则表达式y+=y-=m*=y 的值为。
【】答案:-164.结构化程序由【】、【】、【】三种基本结构组成.答案:顺序、选择、循环5.已知a=10,b=15,c=1,d=2,e=0,则表达式c==(b>e )的值为【】。
答案:16.C 语言中,二维数组在内存中的存放方式为按【】优先存放.答案:答案:行行7.设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【】答案:18.C 源程序的基本单位是【】。
答案:源程序的基本单位是【】。
答案:函数函数9.设C 语言中,int 类型数据占2个字节,则long 类型数据占【】个字节,short 类型数据占【】个字节.答案:4,210.按内存排列顺序,数组char a[2]中的所有元素是a[1]和【】.答案:a[0]11.int x;x=-3+4*5-6,则x 的值为【】.答案:1112.执行以下程序段后,s 的值是【】int a[]={5,3,7,2,1,5,3,10},s=0,k;for(k=0;k<8;k+=2)s+=*(a+k);答案:1613.在C语言中的实型变量分为两种类型,它们是float型和【】型.答案:double14.若已知a=10,b=20,则表达式!a<b的值为【】。
答案:115.为条件表达式z=x>y?a:b释义:【】答案:当x>y时,z=a;【】答案:当否则z=b;16.若要调用函数fabs(),必须包含头文件【】答案:math.h17.请写出数学式a/bc的C语言表达式【】。
答案:(a/b)*c或(a*c)/b18.已知a=10,b=15,c=1,d=2,e=0,则表达式(c==b)>e的值为【】.答案:019.条件“20<x<30或x<-100”的C语言表达式是【】。
程序填空一、程序填空共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 的值为。
三、程序填空题导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。
这类习题的设计就是要引导读者逐步掌握编程的方法。
本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。
在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。
【3.1】下面程序的功能是不用第三个变量,实现两个数的对调操作。
#include <stdio.h>main(){ int a,b;scanf("%d%d",&a,&b);printf("a=%d,b=%d\n",a,b);a= ① ;b= ② ;a= ③ ;printf("a=%d,b=%d\n",a,b);}【3.2】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。
#include <math.h>double pi(long n){ double s=0.0;long i;for(i=1;i<=n;i++)s=s+ ① ;return( ② );}【3.3】下面的程序的功能是求一维数组中的最小元素。
findmin(int *s,int t,int *k){ int p;for(p=0,*k=p;p<t;p++)if(s[p]<s[*k])① ;}main(){ int a[10],i,*k=&i;for(i=0;i<10;i++)scanf("%d",&a[i]);findmin(a,10,k);printf("%d,%d\n",*k,a[*k]);}【3.4】下面程序的功能是计算1-3+5-7+ …… -99+101的值。
main(){ int i,t=1,s=0;for(i=1;i<=101;i+=2){ ① ;s=s+t;② ;}printf("%d\n",s);}【3.5】有以下程序段:s=1.0;for(k=1;k<=n;k++)s=s+1.0/(k*(k+1));printf("%f\n",s);填空完成下述程序,使之与上述程序的功能完全相同。
s=0.0;① ;k=0;do{ s=s+d;② ;d=1.0/(k*(k+1));}while( ③ );printf("%f\n",s);【3.6】下面程序的功能是从键盘上输入若干学生的学习成绩,统计并输出最高成绩和最低成绩,当输入为负数时结束输入。
main(){ float x,amax,amin;scanf("%f",&x);amax=x;amin=x;while( ① ){ if(x>amax) amax=x;if( ② ) amin=x;scanf("%f",&x);}printf("\namax=%f\namin=%f\n",amax,amin);}【3.7】下面程序的功能是将形参x的值转换为二进制数,所得的二进制数放在一个一维数组中返回,二进制数的最低位放在下标为0的元素中。
fun(int x,int b[]){ int k=0,r;do{ r=x% ① ;b[k++]=r;x/= ② ;}while(x);}【3.8】下面程序的功能是输出1到100之间每位数的乘积大于每位数的和的数。
例如数字26,数位上数字的乘积12大于数字之和8。
main(){ int n,k=1,s=0,m;for(n=1;n<=100;n++){ k=1;s=0;① ;while( ② ){ k*=m%10;s+=m%10;③ ;}if(k>s)printf("%d",n);}}【3.9】下面程序的功能是统计用0至9之间的不同的数字组成的三位数的个数。
main(){ int i,j,k,count=0;for(i=1;i<=9;i++)for(j=0;j<=9;j++)if( ① ) continue;else for(k=0;k<=9;k++)if( ② ) count++;printf("%d",count);}【3.10】下面程序的功能是输出100以内的个位数为6、且能被3整除的所有数。
main(){ int i,j;for(i=0;① ;i++){ j=i*10+6;if( ② ) countinue;printf("%d",j);}}【3.11】下面程序的功能是用辗转相除法求两个正整数m和n的最大公约数。
hcf(int m,int n){ int r;if(m<n){ r=m;① ;n=r;}r=m%n;while( ② ){ m=n;n=r;r=m%n;}③ ;}【3.12】下面程序的功能是使用冒泡法对输入的10个浮点数从小到大进行排序。
排好序的10个数分两行输出。
程序如下:#include <stdio.h>main(){ ① ;int i,j;printf("Input 10 numbers please\n");for(i=0;② ;i++ )scanf("%f", &a[i]);printf("\n");for(i=2;③ ;i++ )for(j=0;④ ;j++ )if( ⑤ ){ x=a[j];⑥ ;a[j+1]=x;printf("The sorted 10 numbers;\n");for(i=0;⑦ ;i++ ){ if( ⑧ )printf("\n");printf("%f\t",a[i]);}printf("\n");}【3.13】下面程序的功能是读入20个整数,统计非负数个数,并计算非负数之和。
#include "stdio.h"main(){ int i,a[20],s,count;s=count=0;for(i=0;i<20;i++ )scanf("%d", ① );for(i=0;i<20;i++){ if(a[i]<0)② ;s+=a[i];count++;printf("s=%d\t count=%d\n",s,count);}【3.14】下面程序的功能是删除字符串s中的空格。
#include <stdio.h>main(){ char *s="Beijing ligong daxue";int i,j;for(i=j=0;s[i]!='\0';i++)if(s[i]!= ' ') ① ;else ② ;s[j]= '\0';printf("%s",s);}【3.15】下面程序的功能是将字符串s中所有的字符'c'删除。
请选择填空。
#include<stdio.h>main( ){ char s[80];int i,j;gets(s);for(i=j=0;s[i]!= '\0';i++ )if(s[i]!= 'c') ① ;s[j]= '\0';puts(s);}【3.16】下面程序的功能是输出两个字符串中对应相等的字符。
请选择填空。
#include <stdio.h>char x[]="programming";char y[]="Fortran";main(){ int i=0;while(x[i]!= '\0' && y[i]!= '\0')if(x[i]==y[i])printf("%c", ① );elsei++;}【3.17】下面程序的功能是将字符串s中的每个字符按升序的规则插到数组a中, 字符串a已排好序。
#include <string.h>main(){ char a[20]="cehiknqtw";char s[]="fbla";int i,k,j;for(k=0;s[k]!= '\0';k++ ){ j=0;while(s[k]>=a[j] && a[j]!= '\0' )j++;for( ① )② ;a[j]=s[k];}puts(a);}【3.18】下面程序的功能是对键盘输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。
例如:输入的两个字符串分别为"abcdefg"和"abceef",则输出为-1。
#include <stdio.h>main(){ char str1[100],str2[100],c;int i,s;printf("Enter string 1: ");gets(str1);printf("Enter string 2: ");gets(str2);i=0;while((str1[i] == str2[i] && str1[i]!= ① ))i++;s= ② ;printf("%d\n", s);}【3.19】下面的函数expand在将字符串s复制到字符串t时,将其中的换行符和制表符转换为可见的转义字符表示,即用'\n'表示换行符,用'\t'表示制表符。
expand(char s[],char t[]){ int i,j;for(i=j=0;s[i]!= '\0';i++ )switch (s[i]){ case '\n': t[ ① ] = ② ;t[j++] = 'n';break;case '\t': t[ ③ ] = ④ ;t[j++] = 't';break;default: t[ ⑤ ] = s[i];break;}t[j] = ⑥ ;}【3.20】下面的函数index(char s[], char t[])检查字符串s中是否包含字符串t,若包含,则返回t在s中的开始位置(下标值),否则送回-1。