C语言程序填空题-20分
- 格式:doc
- 大小:63.50 KB
- 文档页数:7
考试题型一、单项选择题(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.以下正确的说法是____。
一、单项选择题(本大题共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套)一.单项选择题〔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 语言程序填空题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 语言程序设计期末考试卷及答案一、单项选择题。
从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语言程序设计试题_练习题一、选择题:(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”,某);}运行结果:三、阅读程序,在标有下划线的空白处填入适当的表达式或语句,使程序完整并符合题目要求。
“程序设计基础--C”试卷试题一、单项选择题(每小题 2 分,共20 分)1.C 语言程序的三种基本结构是顺序结构、选择结构和______结构。
A、循环B、递归C、转移D、嵌套2.若x是单精度实型变量,表达式(x = 10/4) 的值是_____ 。
A、2.5B、2.0C、3D、 23. 表达式!x 等价于_____。
A、x==0B、x==1C、x != 0D、x != 14.若变量已正确定义且k 的值是4,计算表达式( j = k--) 后,_____。
A、j=3, k=3B、j=3, k=4C、j=4, k=4D、j=4, k=35. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为_____。
A、算术运算、赋值运算、关系运算B、关系运算、赋值运算、算术运算C、算术运算、关系运算、赋值运算D、关系运算、算术运算、赋值运算6.C语言中,形参的缺省的存储类说明是______。
A、autoB、staticC、registerD、extern7.下列语句定义pf为指向float类型变量f的指针,_____是正确的。
A、float f, *pf = f;B、float f, *pf = &f;C、float *pf = &f, f;D、float f, pf = f; 8.表达式sizeof(“key”) 的值是______。
A、1B、2C、3D、49.将程序prog.c编译后运行:prog –nla hello world 则*(*(argv+2)) 是______。
A、’p’B、‘-‘C、‘h’D、‘w’10.若a是整型变量,表达式~(a ^ ~a ) 等价于______。
A、~aB、1C、0D、2试题二、填空题(每小题 3 分,共24 分)1.写出语句printf ("%d, %o, %x", 0x12, 12, 012); 的输出结果。
2.写出下列程序段的输出结果。
一、选择题(每题1分,共20分)1.C语言程序从main()函数开始执行,所以这个函数要写在( D )。
A.程序文件的开始 B.程序文件的最后C.它所调用的函数的前面 D.程序文件的任何位置2.下列方法中错误的是( D )。
A.主函数可以分为两个部分:主函数说明部分和主函数体。
B.主函数可以调用任何非主函数的其它函数。
C.任何非主函数可以调用其它任何非主函数。
D.程序可以从任何非主函数开始执行。
3.下列正确的标识符是( C )。
A.-a1 B.a[i] C.a2_i D.int t4.C语言中的简单数据类型包括( D )。
A.整型、实型、逻辑型 B.整型、实型、逻辑型、字符型C.整型、字符型、逻辑型 D.整型、实型、字符型5.下列可以正确表示字符型常量的是( A )。
A.’\t’ B.”a” C.”\n” D.2976.在C语言中,字符型数据所占的内存空间是( C )。
A.2个字节 B.4字节 C.1字节 D.由用户自定义7.若int类型数据占2个字节,则unsigned int类型数据的取值范围是( B )。
A.0~255 B.0~65535 C.-32768~32767 D.-256~2558.若有以下类型说明语句:char a;int b; float c; double d; 则表达式a*b+d-c的结果类型为( D )。
A.float B.char C.int D.double9.下列正确的预编译命令是( D )。
A.define PI 3.14159B.#define P(a,b)=strcpy(a,b)C.#define stdio.hD.#define PI 3.1415910.为表示逻辑表达式79<X<90,应使用的C语言表达式是( A )。
A.( X>79 )&&( X<90 ) B.( X>79 )!=( X<90 )C.79<X<90 D.(X>79 )||( X<90 )11.设有语句“int a=2,b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的值是( A )。
二、程序填空题(每空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()。