C语言程序填空题-20分
c语言题目及答案

考试题型一、单项选择题(30分)二、填空题(20分)三、阅读程序写结果(20分)四、编程序题(30)复习题一一、选择题1.下列说法中正确的是。
A.C语言程序由主函数和0个或多个函数组成B.C语言程序由主程序和子程序组成C.C语言程序由子程序组成D.C语言程序由过程组成2.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为。
A.3,3,2 B.3,2,2 C.3,2,3 D.2,3,23.设有int i=010,j=10;则printf("%d,%d\n",++i,j--); 的输出的是。
A.11,10 B.9,10 C.010,9 D.10,9 4.设a、b为字符型变量,执行scanf("a=%c,b=%c",&a,&b); 后使a为'A', b为'B',从键盘上的正确输入是。
A.'A' 'B' B.'A','B' C.A=A,B=B D.a=A,b=B5.已知int x=12, y=3;执行下述程序后,变量x的值是____。
do{ x/=y--;}while(x>y);A.1 B.2 C.3 D.程序运行有错误6.C语言中while和do-while循环的主要区别是。
A.do-while的循环体至少无条件执行一次B.while的循环控制条件比do-while的循环控制条件严格C.do-while允许从外部转到循环体内D.do-while的循环体不能是复合语句7.设x和y均为int型变量,则执行下面的循环后,y的值为。
for (y=1,x=1;y<=50;y++) {if (x>=10 ) break;if (x%2==1) {x+=5;continue;}x - =3;}A.2 B.4 C.6 D.88.以下正确的说法是____。
C语言程序设计期末考试试题(含答案)

一、单项选择题(本大题共20题,每题2分,共40分)1.以下不是C语言的特点的是()A、C语言简洁、紧凑B、能够编制出功能复杂的程序C、C语言可以直接对硬件进行操作D、C语言移植性好2.以下不正确的C语言标识符是()A、ABCB、abcC、a_bcD、ab。
c3.一个C语言程序是由()A、一个主程序和若干子程序组成B、函数组成C、若干过程组成D、若干子程序组成4.一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是()A、有零个或多个输入B、有零个或多个输出C、有穷性D、可行性5.设变量a是整型,f是实型,i是双精度型,则表达式10+‘a'+i*f值的数据类型为()A、intB、floatC、doubleD、不确定6.在C语言中,char型数据在内存中的存储形式是()A、补码B、反码C、源码D、ASCII码7.有如下程序,输入数据:12345M678<cR>后(<CR〉表示回车),x的值是().#include<stdio。
h〉main(){intx;floaty;scanf(”%3d%f”,&x,&y);}A、12345B、123C、45D、3458.若有以下定义inta,b;floatx,则正确的赋值语句是()A、a=1,b=2B、b++;C、a=b=5D、b=int (x);9.以下程序的执行结果是()#include〈stdio.h〉{inti=10,j=10;printf(”%d,%d\n”,++i,j——);}A、11,10B、9,10C、11,9D、10,910.巳知字母A的ASCII码是65,以下程序的执行结果是()#include<stdio。
h>main(){charc1='A',c2='Y’;printf("%d,%d\n”,c1,c2);A、A,YB、65,65C、65,90D、65,8911.下列运算符中优先级最高的是()A、<B、十C、%D、!=12.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是()。
C语言程序设计试题第1套(山东建筑大学)

C语言程序设计试题(第1套)一.单项选择题〔30分,每题2分〕1.用C语言编写的代码程序______。
A、可立即执行B、是一个源程序C、经过编译即可执行D、经过编译解释才能执行2. C语言中用于结构化程序设计的三种根本结构是______。
A、顺序结构、选择结构、循环结构B、 if、switch、breakC、 for、while、do-whileD、 if、for、continue3. 以下选项中合法的实型常数是______。
A、5E2.0B、 E-3 C4. 假定x和y为 double型,那么表达式x=2,y=x+3/2的值是______。
A、 3.500000B、 3C、 2.0000005. ch是字符型变量,下面不正确的赋值语句是______。
A、ch = 65;B、 ch="a";C、 ch ='\ n';D、 ch= 9+ '0';6. 以下有关C语言程序书写格式的说法哪个是错误的?A、 C程序的书写格式比拟自由,一个语句可以占多行,一行也可以有多个语句。
B、 C语句必须要有分号。
C、 C语言程序的标识符必须使用小写字母。
D、用{ } 括起来的局部,通常表示了程序的某一层次结构,称为块。
7.下面程序段所表示的数学函数关系是______。
x= -1;if (a!=0)if (a>0) x=1;else x=0;-1 (a<0) 1 (a<0)A、x= 0 (a=0)B、x= -1 (a=0)1 (a>0) 0 (a>0)0 (a<0) -1 (a<0)C、x= -1 (a=0)D、x= 1 (a=0)1 (a>0) 0 (a>0)8. 以下关于do-while循环的不正确描述是______。
A) do-while的循环体至少执行一次B) do-while的循环体可以是复合语句C) 在do-while循环体中,一定要有能使while后面表达式的值变为零("假")的操作D) do-while循环由do开始,用while结束,在while(表达式)后面不能写分号9. 以下程序执行后sum的值是______。
c语言程序填空练习题

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) ;else return 2 ; }main(){ printf("%ld\n",fib(10)); }5. 阅读以下程序并填空。
该程序的功能是:用递归法求:n ++++ 321#include <stdio.h>long Sum(int n) { if(n> 1 )return n+Sum(n-1) ;else return 1 ;}6. 阅读以下程序并填空。
C语言程序填空题加答案

20、 在for(表达式1;表达式2;表达式3) 语句中 表达式1执行了【 1 】次. 21、 执行以下程序后,输出'$'号的个数是【 6 】. main() { int i,j;
for(i=1; i<5; i++) for(j=2; j<=i; j++) putchar('$'); } 22、 执行下列程序段后,s的值是【 15 】. int k, s; for(k=s=0; k<10&&s<=10; s+=k)k++; 23、 用while和do-while循环时,循环变量初始化的操作 应在while和do-while语句之【 前 】完成.
for(i=1;i<=5;i++) {f=f*【 i 】;s=s+f;}
8、 下面一段程序的功能是计算两个正整数(保存在int 型变量m和n中)的最大公约数, 并将结果保存到变量gcd中. for(;r=m%n;m=n,n=r);gcd=【 n 】; 9、 下面一段程序段的功能是显示10到20之间的偶数.
19、 当a=3,b=2,c=1;时,执行以下程序段后,b的值为
【1
】.
if(a>b) a=b;
if(b>c) b=c;
else c=b;
c=a;
20、 当a=1,b=2,c=3时,执行以下程序段后,a的值为
【 3 】.
if (a>c)
b=a;ch语句中每一个case后面的常量表达式的值
c语言试卷和答案1

s=s+f;
printf(“%.0f #”, s);
}
}
程序2
#include <stdio.h>
void main()
{ long fun (long number);
printf(“%ld\n”, fun(-974));
}
long fun(long number)
(5) 运算符 “+”不能作为单目运算符。
(6) 如果运算符 “*”和 “/”都是右结合的,这表达式10*6/5的值是10。
(7) s(s-a)(s-b)(s-c)是合法的C语言表达式。
(8) 表达式!!6的值是6。
(9) 表达式~(~2<<1)的值是5。
(28)str[k]=str[k]-‘A’+ ‘a’
4.(29)ss=s
(30)s-ss
四、程序阅读题
程序1 1 # 3 # 21 #
程序2 4 # 47 # 479 # -479
程序3 IF YOU FAIL TOP
五、程序设计题(略)
}while(month>=1 || month<=12);
B)do{ scanf(“%d”, &month);
}while(month>=1 && month<=12);
C)do{ scanf(“%d”, &month);
}while(month<1 || month>12);
else
b=3;
printf(“%d”, b);
A)3 B)2 C)1 D)0
C语言程序设计期末考试卷及答案

C 语言程序设计期末考试卷及答案一、单项选择题。
从A 、B 、C 、D 四个选项中,选择一个最佳答案填入括号内(每小题1分,共计30分)。
1.一个C 语言程序的执行是从()。
A )本程序文件的第一个函数开始,到本程序文件的最后一个函数结束B )本程序的main 函数开始,到main函数结束C )本程序的main 函数开始,到本程序文件的最后一个函数结束D )本程序文件的第一个函数开始,到本程序的main 函数结束2.下列选项中不属于...C 语言关键字的是()。
A )switchB )printfC)default D )case3.设有语句inta=4;,则执行了语句a+=a-=a*a;后,变量a 的值是()。
A )24B )-24C )4D )164.已知inti;floatd;,则正确的表达式是()。
A )(intd)B )int(d)%iC )(int)d%iD )int(d%i) 5.已知inti,a;,执行语句i=(a=3*9,a/5),a+11;后,变量i 的值是()。
A )5 B )16C )27D )386.下列选项中合法的字符型常量是()。
A )"a"B )'\n'C )7.下面程序的运行结果是()。
#include<stdio.h> voidmain() {intk=15;printf("k=%d,k=%o,k=%x\n",k,k,k);}A )k=15,k=15,k=15B )k=15,k=17,k=17C )k=15,k=017,k=0xfD )k=15,k=17,k=f 8.已知a,b,c 为int 类型,执行语句:scanf ("%d%d%d",&a,&b,&c );使得a 为10,b 为20,c 为30,以下不正确...的输入形式是()。
A )10B )10C )10,20,30D )102020203030 309.已知intx=1,y=2,z=3;,执行下列程序段后,输出的结果是()。
C语言程序设计试题_练习题

C语言程序设计试题_练习题一、选择题:(20分,每题2分)1.以下不正确的C语言标识符是()。
A.ABCB.abcC.a_bcD.ab.c2.C程序是由构成的。
A.主程序与子程序B.主函数与若干子函数C.一个主函数与一个其它函数D.主函数与子函数3.以下说法中正确的是:A.在C语言中,实参与其对应的形参各占独立的存储单元;B.在C语言中,实参与其对应的形参共占同一个存储单元;C.在C语言中,只有当实参与其对应的形参同名时,才共占同一个存储单元;D.在C语言中,形参是虚拟的,不占存储单元。
4.设n=3;则n++的结果是()。
A.2B.3C.4D.55.设整型变量n=10,i=4,则赋值运算n%=i+1执行后,n的值是()。
A.0B.1C.2D.36.凡是函数中未指定存储类别的局部变量其隐含的存储类别是()。
A.自动(auto)B.静态(tatic)C.外部(e某tern)D.寄存器(regiter)7.在while(某)语句中的某与下面条件表达式等价的是:A.某==0B.某==1C.某!=1D.某!=08.若有以下说明和语句:tructworker{intno;~char某name;}work,某p=&work;则以下引用方法不正确的是()。
A.work.noB.(某p).noC.p->noD.work->no9.以下对二维数组进行正确初始化的是()。
A.inta[2][3]={{1,2},{3,4},{5,6}};B.inta[][3]={1,2,3,4,5,6};C.int a[2][]={1,2,3,4,5,6};D.inta[2][]={{1,2},{3,4}};10.二维数组a有m列,则在a[i][j]之前的元素个数为:A)j某m+iB)i某m+jC)i某m+j-1二、给出下列程序的运行结果:(20分,前四题每题3分,后两题每题4分)1.#include<tdio.h>main(){inti=16,j,某=6;j=i+++1;某某=i=j;printf(“%d,%d\n”,j,某);}运行结果是:2.#include<tdio.h>#include<math.h>main(){inta=1,b=4,c=2;float某=10.5,y=4.0,z;z=(a+b)/c+qrt((double)y)某1.2/c+某;printf(“%f\n”,z);}运行结果是:3.#include<tdio.h>main(){inta,b,c,d;a=c=0;b=1;d=20;if(a)d=d-10;eleif(!b)if(!c)d=25;eled=15;printf(“d=%d\n”,d);}运行结果:4.main(){inti=10;witch(i){cae9:i+=1;cae10:i+=1;cae11:i+=1;}printf(“%d”,i);}运行结果:5.#include<tdio.h>main(){inta[]={1,2,3,4},i,j,=0;j=1;for(i=3;i>=0;i--){=+a[i]某j;j=j某10;}printf("=%d\n",);}运行结果:6.func(int某){某=20;}main(){int某=10;func(某);printf(“%d”,某);}运行结果:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
二、程序填空题(每空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*i
3 下面程序是输出100内能被3整除且个位数是6的所有整数。
请在横线处填入适当的语句,将程序补充完整。
#include <iostream.h>
void main()
{
int i,j;
for(i=0; (1) ;i++)
{
j=i*10+6;
if( (2) )
continue;
else
cout<<j<<endl;
}
}
答案:i<10 j%3!=0
4.下面程序运行后输出的结果为:
*
* * *
* * * * *
* * * * * * *
请在横线处填入适当的语句,将程序补充完整。
#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<<endl
5.下面程序运行后输出的结果为:
1
121
12321
1234321
请在横线处填入适当的语句,将程序补充完整。
#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;j++)
cout<<”“;
for(k=1; (1) ; k++)
cout<<setw(3)<<k;
for( (2); k>0; k--)
cout<<setw(3)<<k;
cout<<endl;
} }
答案:k<=i k=i-1
6.以下程序将数组中的元素按逆序存放。
请在横线处填上适当的语句,将程序补充完整。
#include<iostream.h>
void main()
{
int a[12],i,j,t;
for(i=0;i<12;i++)
cin>>a[i];
for(i=0;i<6;i++)
{ (1) ; (2) ; (3) ; }//数组元素交换for(i=0;i<12;i++)
cout<<a[i]; }
答案:t=a[i] a[i]=a[11-i] a[11-i]=t
7.下面程序功能是从键盘上输入10个整数,求出最大值、最小值和和。
请在横线处填上适当的语句,将程序补充完整。
#include<iostream.h>
void main()
{
int a[10],i,min,max ;
for(i=0 ;i<10 ;i++)
cin>>a[i];
int sum=0;
(1) ;
for(i=1;i<10;i++)
if((2) ) min=a[i];
if((3) ) max=a[i];
(4) ;
}
cout<< min<<max<<sum<<endl;
答案:min=max=a[0] a[i]<min a[i]>max sum+=a[i]
8.下面程序功能是将整型数组a中的10个元素用2种方法依次输出。
请在横线处填上适当的语句,将程序补充完整。
#include<iostream.h>
void main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10},i ;
int *p ;
for(i=0 ;i<10 ;i++)
cout<<_______(1)______________; //使用数组下标
for( (2);p<a+10 ;p++)
cout<< (3); //使用指针变量
}
答案:a[i] p=a *p
9. 以下程序的功能是输出:
abc
bc
c
请在有下划线处补充完整程序。
#include <iostream.h>
void main()
{
char *p=”abc”;
for(; *p!='\0'; (1) )
cout<< (2) <<endl;
}
答案:p++ p
10. 编写程序求1+2+3+。
+a和,请在有下划线处补充完整。
#include <iostream.h>
void main()
{
int a,b;
int sum(int n);
cout<<"请输入a:"<<endl;
cin>>a;
(1) ; //计算1到a的累加和
cout<<b<<endl;
}
int sum(int n)
{
int i,k=0;
for(i=1;i<=n;i++)
(2); ;
(3);
}
答案:b=sum(a) k+=i(或k=k+i) return k
11.编写程序求1!+2!+3!+4!+5!和,(其中求阶乘是用函数来实现的),请在有下划线处补充完整。
#include<iostream.h>
________(1)______ ____;
void main( )
{ long s=0;
for(int i=1;i<=5;i++)
____(2)___ _______;
cout<<"1!+2!+3!+4!+5!= "<<s<<endl;
}
long int fac(int x)
{ static int b=1;
b*=x;
______(3)__________________;
}
答案:long int fac(int x)或long int fac(int )
s+=fac(i)或s=s+fac(i)
return b
12.编写程序是用递归算法求n!, 请在有下划线处补充完整。
#include<iostream.h>
int f1(int a);
void main()
{
int a=6;
cout<< (1) <<endl;
}
int f1(int a)
{
return(a==O)?1:(2);
}
答案:fl(a) a*f1(a-1)
13.在横线处填上适当语句,使程序输出结果为1。
#include<iostream.h>
class M
{
public:
M(int i){x=i;}
void show(){cout<<get();}
private:
int x;
int get(){return x;}
};
void main()
{
(1) ; //初始化类M的对象a
(2) ; //调用对象a的成员函数}
答案:
M a(1)
a.show()。