《C程序设计》期中测验试卷

合集下载

C期中测验答案

C期中测验答案

《程序设计语言C》期中测验学号:姓名:(考试时间:45分钟)一、单项选择题(每小题 3 分,共30 分)1. C 语言程序中可以对程序进行注释,注释部分必须用符号_C_括起来。

A、…{… 和‟}‟B、…[…和‟]‟C、“/*”和”*/”D、“*/”和”/*”2. 下列运算符中,优先级最低的是_D____。

A、*B、!=C、+D、=3. 若变量已正确定义,表达式(j=3, j++) 的值是_A__ 。

A、3B、4C、5D、04. 已知字符…a‟ 的ASCII码为97 ,执行下列语句的输出是_D____。

printf ("%d, %c", ‟b‟, ‟b‟+1 ) ;A、98, bB、语句不合法C、98, 99D、98, c5. 要调用数学函数时,在#include命令行中应包含_C____。

A、<stdio.h>B、<string.h>C、<math.h>D、<ctype.h>6. 判断i和j至少有一个值为非0的表达式是_A____。

A、i!=0 || j!=0B、i*j!=0C、!(i==0 || j==0)D、i&&j7. 若a是基本整型变量,c是单精度实型变量,输入语句___D___是错误的。

A、scanf(”%d,%f”, &a, &c);B、scanf(”d=%d, c=%f”, &a, &c);C、scanf(”%d%f”, &a, &c);D、scanf(”%d%f”, a, c);8. 有输入语句:scanf(“a=%d:b=%d:c=%d”,&a,&b,&c);为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是 B 。

A、132<回车>B、a=l:b=3:c=2<回车>C、1,3,2<回车>D、a=1,b=3,c=2<回车>9. 设x,y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0的是 D .A、…x‟&&‟y‟B、x<=yC、x||y+z&&y-zD、!((x<y)&&!z||1)10. 设有程序段int k=10;while (k=0) k=k-1;则下面描述中正确的是 CA) while循环执行10次B) 循环是无限循环C) 循环体语句一次也不执行D) 循环体语句执行一次二、填空题(每小题 3 分,共15 分)1. 写出下列程序段的输出结果。

《C语言程序设计》试卷4

《C语言程序设计》试卷4

《C语言程序设计》试卷四一、单项选择题(每小题1分,共35分)1、一个C程序的执行是从()。

A)本程序的main函数开始,到main函数结束B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束C)本程序的main函数开始,到本程序文件的最后一个函数结束D)本程序文件的第一个函数开始,到本程序main函数结束2、下面四个选项中,合法的用户标识符是()A)P_#$ B)2ha C)goto D)_ab3、要把整数67523赋与整型变量I,则应说明I的类型是()A)int B)long C)short D)unsigned4、已知int I; float f; 正确的表达式是()A) (int f)%I B) int(f)%I C) int (f%I) D) (int)f%I5、判断char型变量c1是否为小写字母的正确表达式是()A)'a'<=c1<='z'B)(c1>=a) && (c1<=z)C)98<=c1&&123>=c1 D)c1>='a'&& c1<='z'6、在C语言中,字符型数据在内存中以何种形式存放?()A)原码 B)BCD码 C)ASCII码D)补码7、执行以下语句后b的值为()。

int a = 5 , b = 6 , w = 1 , x =2 , y = 3 , z = 4 ;( a = w > x ) && ( b = y > z ) ;A)6 B)0 C)1 D)48、以下能正确地定义整型变量a,b和c并为其赋初值5的语句是()。

A)int a=b=c=5; B)int a,b,c=5; C)int a=5,b=5,c=5; D)a=b=c=5;9、已知:char a; int b; float c; double d; 执行语句c=a+b+c+d;后,变量c的数据类型是()A) int B) char C) float D) double10、已知字母A的ASCII码为65,以下程序段的输出结果是()char c1=‟A‟,c2=‟Y‟;printf(″%d,%d″,c1,c2);A)65,90 B)A,Y C)65,89 D)输出格式不合法11、阅读以下程序,当输入数据的形式为:25,13,10<CR>,正确的输出结果为()。

《C语言程序设计》期中试卷标准答案

《C语言程序设计》期中试卷标准答案

信息与通信工程学院2010-11-1学期《C语言程序设计》期中试卷班级:学号:姓名:得分:参考答案一、判断题(每题1分,共10分)1、”printf”是C语言的关键字之一。

错2、一个完整的C语言程序中可以没有输入语句。

对3、字符串”abcd\123”中含有5个字符。

错,6个4、一个float类型的数据,占用8个字节的存储空间。

错,45、1234/100%10的值是2。

对6、程序中调用函数gets(a)时,其中的实参a必须为一个地址。

对7、C语言程序的运行是从程序内的第一个函数开始、运行到最后一个函数结束。

错8、表达式y=0,2+5||y=3运算后y的值是3。

错,是09、for(i=0;i=1;i++);是一个死循环。

对10、j=3;printf(”%d”,++j); 输出的值是4。

对二、单项选择题(每题1分,共20分)1、编辑好的C程序,必须先经过____,然后才可以运行。

A 编译B 编译、连接C 预处理(预编译)、编译、连接D 转变成二进制文件2、C程序的基本结构类型是____。

A 顺序结构、分支结构、循环结构三种B 单分支结构、双分支结构、多分支结构三种C 当型循环结构、直到型循环结构两种D 有参函数、无参函数两种3、关于C源程序的格式要求,错误的叙述是____。

A 一行可以写多句,一句可以写多行B 每行须以分号结束C 顺序结构的上下行语句左侧应对齐D 语句的内部(小语句)另起一行书写时,起始位置一般应比上一行向右缩进4小格4、用scanf、printf函数输入、输出数据时,错误的格式是____。

A 输入long int型数据时使用%ld格式B 输入double型数据时使用%lf格式C 输出long int型数据时使用%ld格式D 输出double型数据时使用%lf格式5、关于整型数据的取值范围,错误的是____。

A VC++中int型数据是-231~+231-1B WinTC、TurboC中int型数据是-215~+215-1C long int型数据是-231~+231-1D char型数据是0~+28-16、C程序运行时,如果数据溢出,计算机会____。

C语言程序设计期中模拟考试

C语言程序设计期中模拟考试

一、单选题1.以下叙述中正确的是(1) 。

A.若e1、e2为变量,e为表达式,则e1=e2=e使得e1、e2都具有表达式e的值。

B.程序中不能定义与库函数名同名的变量。

C.一个C源程序可放在多个文件中,但一个函数不能跨放在两个不同的文件中。

D.C语言编译系统以函数为单位编译源程序。

2.若a,b,c都是实型变量,则下列语句中除(2) 之外,都可能得不到正确的计算结果。

A.if(b*b-4*a*c==0) x1=x2=-b/(2*a);else x1=(-b+sqrt(b*b-4*a*c))/(2*a), x2=(-b-sqrt(b*b-4*a*c))/(2*a);B.b=2.0e38+1.0-2.0e38;C.a=456*768/2;D.double define=1.0;3.以下正确的常量是(3 )。

A....077‟ B....\0x89‟ C.3.14u D. (012)4.若已有声明“float x= -1234.5678; int m,n=4;”则执行“m=printf(“\n%8.3f\n”,x)/n;”语句后,变量m的值是(4) 。

A. 2 B. 3 C. 4 D. 55.若已有声明“int x1; float x2; long x3; char x4;”,且以下选项均出现在switch语句中,其中正确的是(5) 。

A.case 1.1: scanf("%d",&x1);break;B.case 1+2: scanf("%f",&x2); break;C.case 'x':case 'y'-1: scanf("%ld",&x3); break;D.case x4: scanf("%c",&x4); break;6.以下表达式中,能够作为“if(e) 语句”中判断条件表达式e 的是(6) 。

《C++程序设计》期中考试答案

《C++程序设计》期中考试答案

《C++程序设计》期中考试答案⼤连东软信息学院08~09学年第⼆学期期中试题C++程序设计学⽣层次:嵌⼊式系统⼯程系 08级嵌⼊式系统⼯程专科说明:本试卷共五⼤题,试卷满分100分,考试时间120分钟。

⼀、单选题(每⼩题1分,满分20分)⼆、填空题(每空1分,满分20分)1.当执⾏cin语句时,从键盘上输⼊每个数据后必须接着输⼊⼀个___空格__符,然后才能继续输⼊下⼀个数据。

2.重载⼀个函数的条件是:该函数必须在参数的个数或参数的__类型__上与其它同名函数有所不同。

3.函数调⽤时,实参向形参的传送分为两种传送⽅式。

4.如果⼀个函数中有多个默认参数,则默认参数必须全部处在形参表的__右边__部分。

5.假定对⼆维数组a[3][4]进⾏初始化的数据为{{3,5,6},{2,8},{7}},则a[1][1]和a[2][3]分别被初始化为___8__和__0__。

6.假定p所指对象的值为25,p+1所指对象的值为42,则*p++的值为__25__。

7.若y是x的引⽤,则&y和&x的值_相等___,即为变量___x___的地址。

8.类中的数据成员的访问属性通常被指明为_私有的_。

9.,对于结10.若在类的定义体中只给出了⼀个成员函数的原型,则在类外给出完整定义时,其函数名前必须加上__类名_和两个冒号分隔符。

11.若要把类外定义的成员函数规定为内联函数,则必须把__inline__关键字放到函数原型或函数头的前⾯。

12.假定class A为⼀个类,a为该类的公有数据成员,f()为该类公有函数成员,x为该类的⼀个对象,则访问x对象中数据成员a 的格式为__x.a__,访问x对象中函数成员f()的格式为_x.f()_。

13.⼀个类的_构造函数_实现对该类对象的初始化功能。

14.⼀个类可以有__多_个构造函数,__⼀个析构函数。

三、写出程序的运⾏结果(每⼩题4分,满分20分)1.运⾏结果:i=1011,*pi=1011,ri=1011i=2022,*pi=2022,ri=2022i=3033,*pi=3033,ri=30332.#includevoid main(){int a,b;for(a=1,b=2; b<50;) {cout<a=a+b;b=a+b;}cout<cout<}运⾏结果:1 2 3 5 8 13 21 3455 893.#include#includeusing namespace std;class Student{public:Student(int n,string nam,char s) {num=n;name=nam;sex=s;cout<<"Constructor called."<}~Student(){cout<<"Destructor called."<{cout<<"num:"<cout<<"name:"<cout<<"sex:"<}private:int num;string name;char sex;};int main(){Student stud1(1001,"Wang",'g'); stud1.display();Student stud2(1002,"Fan",'b'); stud2.display();return 0;}运⾏结果:Constructor called.num: 1001name: Wangsex: gConstructor called.num: 1002name: Fansex: bDestructor called.1001 Destructor called.10024.class A{float x,y;public:A(float a, float b=8) { x=a; y=b; } A() { x=0; y=0;}void Print(void) { cout<void main(void){ A a1, a2(10), a3(3.0, 7.0);a1.Print();a3.Print();}运⾏结果:0 020 83.0 7.05.运⾏结果:Initializing 10Initializing 12Initializing 3Initializing 4Destructing 4Destructing 3Destructing 12Destructing 10四、补充程序(每空2分,满分30分,请将答案写在答题纸上)1、#includevoid main(){int *p;int i=10;p=&i //使p指向icout << “Output int i=”<< i << endl; //输出i的值cout << “Output int p=”<< *p << endl; //输出int 指针p所指对象的值2、求2个正整数或3个正整数中的最⼤数,⽤带有默认参数的函数实现#includeusing namespace std;int main(){int max(int a,int b,int c=0); //声明函数maxint a,b,c;cin>>a>>b>>c;cout<<"max(a,b,c)="<cout<<"max(a,b)="<}int max(int a,int b,int c){if(b>a) a=b;if(c>a) a=c;return a; //补充函数体}3、下⾯为⼀个类的不完整定义,请补充完整。

C语言程序设计期中测试

C语言程序设计期中测试

C语言程序设计期中测试(lxy )班级 ______ 姓名 _______ 学号____________ 专业——————一、选择题( 4*14=56)各题目只有唯一的正确答案。

请认真做答。

以下符合 C语言语法的实型常量是CA) 1.2E0.5B) 3.14.159E C) .5E-3D) E15以下 4 组用户定义标识符中,全部合法的一组是AA) _main B) If C) txt D) intenclude-max REAL k_2sin turbo3COM_001若以下选项中的变量已正确定义,则正确的赋值语句是CA) x1=26.8%3B) 1+2=x2C) x3=0x12D)x4=1+2=3;设有以下定义Dint a=0; double b=1.25; char c= ’A’; #define d 2则下面语句中错误的是A) a++;B) b++C) c++;D) d++;设有定义: float a=2,b=4,h=3;,以下 C 语言表达式与代数式(a b ) * h2计算结果不相符的是 BA) (a+b) *h/2B) (1/2)*(a+b) *hC) (a+b) *h*1/2D) h/2*(a+b)有以下程序main( ){ int x=102,y=012;printf( “%2d,%2d\n” ,x,y);}执行后输出结果是 CA) 10,01B) 02,12C) 102,10D)02,10以下 4 个选项中,不能看作一条语句的是DA) {;}B) a=0,b=0,c=0; C) if(a>0); D) if(b==0) m=1;n=2;有以下程序main(){ char a='a',b;print("%c,",++a);printf("%c\n",b=a++);}程序运行后的输出结果是A) b,b B) b,c C)a,b D) a,c 若 x 和 y 代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是A) abs(x-y)<10B) x-y>-10&& x-y<10C)(x-y)<-10||!(y-x)>10D) (x-y)*(x-y)<100有以下程序main( ){ char k; int i;for(i=1;i<3;i++){ scanf(“ %c”,&k);switch(k){ case‘0’ : printf(“another\n” );case‘1’ : printf(“number\n”);}}}程序运行时,从键盘输入:01<回车 >,程序执行后的输出结果是A) another B) another C) another D) numbernumber number number numberanother number有以下程序main( ){ int x=0,y=5,z=3;while(z-->0&&++x<5) y=y-1;printf(“ %d,%d,%d\n”,x,y,z);}程序执行后的输出结果是A) 3,2,0B) 3,2,-1 C) 4,3,-1 D) 5,-2,-5有以下程序main( ){ int i,s=0; for(i=1;i<10;i+=2)s+=i+1;printf(“ %d\n”,s);}程序执行后的输出结果是A) 自然数 1~ 9 的累加和B) 自然数 1~ 10 的累加和C) 自然数 1~ 9 中的奇数之和D) 自然数 1~ 10 中的偶数之和有以下程序main( ){ int i,n=0;for(i=2;i<5;i++){ do{ if(i%3) continue;n++;} while(!i);n++;}printf(“n=%d\n” ,n);}程序执行后的输出结果是A) n=5B) n=2C) n=3D) n=4下面程序的功能是输出以下形式的金字塔图案是:****************main( ){ int i,j;for(i=1;i<=4;i++){ for(j=1;j<=4-i;j++)printf(“ “);for(j=1;j<=_______;j++)printf(“*”);printf(“ \n ”);}在下划线处应填入的是A) i B) 2*i-1C) 2*i+1D) i+2二、填空题( 4*5=20)已知字符 A 的 ACSII 码值为 65,以下语句的输出结果是char ch= ’B’;printf( “ %c %d\n”,ch,ch);有以下语句段int n1=10,n2=20;printf(“”,n1,n2);要求按以下格式输出n1 和n2 的值,每个输出行从第一列开始,请填空。

c语言程序设计期中试卷2

期中试卷班级:_______学号:__________姓名:____________________________________________一、选择题(每题1分,共20题,20分):1. 若有定义:int a=8,b=5,c; 执行语句c=a/b+0.4;后,c的值为:a)1.4 b)1 c)2.0 d)22. 设a为整型变量,不能确定表达数学关系10<a<15的为C语言表达式是:a)10<a<15 b)a==11|| a==12|| a==13|| a==14c)a>10&&a<15 d)!(a<=10)&&!(a>=15)3. 若i、j已定义为int型,则以下程序段中语句printf(“%6d”,i*j);的执行次数是:for(i=5;i>0;i--)for(j=0;j<4;j++)printf(“%6d”,i*j);a)20 b)24 c)25 d)304. 下面程序的输出结果是(按16位机计算):main(){ unsigned a=32768 ;printf(“a=%d\n”,a);}a)a=0 b)a=32767 c)a=-32768 d)a=-15. 下面程序的输出结果是:main(){ int x , y , z;x=0; y=z=-1;x+=-z- - -y;printf(“x=%d\n”,x); }a)x=4 b)x=0 c)x=2 d)x=36. 下面程序的输出结果是:main(){ int a=5 , b=4 , c=6,d;printf(“%d\n”,d=a>b?(a>c?a:c) : (b));}a)5 b)4 c)6 d)不确定7. 用语句scanf(“%c%c%c” , &c1, &c2, &c3); 输入a,b,c后,变量c1、c2、c3的值分别为:a)‘a’,‘b’,‘c’b)‘a’,‘b’,”c)‘a’,‘,’,‘b’d)‘a’,”,‘c’8. 设x的值为5,则表达式(++x)+(++x)+(++x)的值为:a)24 b)21 c)15 d)229. 已知x=3、y=2则表达式x*=y+8的值为a)3 b)2 c)30 d)1010. 哪一个是构成C语言程序的基本单位:a)过程b)函数c)子程序d)子例程11. 若x是int型变量,且有下面的程序段:for(x=3;x<6;x++) printf((x%2)?("**%d"):("##%d\n"),x);该程序片段的输出结果:a)* * 3 b)# # 3 c)# # 3 d)* * 3 # # 4 # # 4 * * 4 * * 4 # # 5 * * 5* * 5 # # 512. 下面程序的输出结果是:main(){ float x , y;scanf(“%f”, &x) ;if(x<0.0) y=0.0;else if ((x<5.0)&&(x!=2.0)) y=1.0/(x+2.0);else if(x<10.0) y=1.0/x;else y=10.0;printf(“%f\n”,y); }若运行时从键盘上输入2.0<enter> ,则该程序的输出结果是:a)0.000000 b)0.250000c)0.500000 d)1.00000013. 若所有变量均已正确说明,下面程序段运行后x的值为:a=b=c=0; x=35;if(!a) x--;else if(b);if(c) x=3;else x=4;a)34 b)4 c)35 d)314. 以下一组运算符中,优先级最高的运算符是:a)<= b)= c)% d)&& 15. 下面程序的输出结果是:main(){ int x=023;printf(“%d\n”, --x);}a)17 b)18 c)23 d)24 16. 以下合法的赋值语句是:a)x=y=100 b)d-- c)x+y d)c=int(a+B) 17. 执行下面程序后,a的值是:__________main(){ int a;printf(“%d\n”,(a=3*5,a*4,a+5));}a)65 b)20 c)15 d)10 18. 执行下面程序后,输出结果是:_________main(){ int a=-1, b=4, k;k=(a++<=0)&&(!(b--<=0));printf(“% d% d % d \n”, k, a, b);}a)0 0 3 b)0 1 2 c)1 0 3 d)1 1 2 19. 以下程序的输出结果是:main(){ int i=, f1, f2; f1=f2=1;for(i=0;i<4;i++){ printf(“ % d% d \n”, f1,f2);f1+=f2;f2+=f1;}}a)1 2 3 4 5 6 7 8 b)1 1 2 3 5 8 13 21c)1 1 3 5 7 9 11 13 d)1 3 5 7 9 11 13 1520.有以下程序main(){ char ch;int s1=0,s2=0;while( (ch=getchar())!=’\n’){switch(ch){ case ‘a’:case ‘d’:s1+=1;break;default:s1+=1;s2+=1;}}printf(“s1=%d,s2=%d\n”,s1,s2); }程序运行后输入bad<回车>,输出结果是a)s1=2,s2=2 b)s1=4,s2=3c)s1=3,s2=1 d)s1=3,s2=2二、填空题(每空2分,共10空,20分):1. 下面程序计算1到100的整数的累乘积。

大一计算机专业C语言期中测试试题

《程序设计基础》期中考试试卷班级姓名学号一、填空题(每题1分,共5分)1.上机运行C程序大致分四个步骤,分别是编辑、编译、和运行。

2.结构化程序设计方法的基本思想是自顶向下,逐步细化,和结构化编码。

3.C语言的控制结构有:顺序结构、和循环结构。

4.算法特点包括确定性、可行性、输入、输出和5. 77的2字节补码是,-77的2字节补码表示为(用十六进制表示)二、选择题(每题1分,共15分)1.判断下面标识符中哪个是C语言中合法的用户定义标识符()A. 2a1bB. a%bdC. _123D. char2.设有以下定义int a=0; double b=1.25; char c=‟A‟; #define M 2则下面语句中错误的是( )A. a--;B. b--;C. c--;D. M--;3.有两条语句:static char x[]=”abcde”;static char y[]={…a‟,‟b‟,‟c‟,‟d‟,‟e‟};则下列说法中正确的是( )A. 数组x和数组y长度相同B.数组x长度大于数组y长度C. 数组x长度小于数组y长度D. 以上三种说法均错误;4.设整型变量a=13,则经运算a+= a/=a%=5后,a的值为()A. 17.333B. 17C. 0D. 25. 已知:int n,i=1,j=2;执行语句n=i<j?i++:++j;后,i和j的值是( ).A. 1,2B. 1,3C. 2,2D. 2,36.有函数定义如下:当自变量x<0时y=-1;当x=0时y=0;当x>0时y=1;以下程序片段能实现该函数功能的是( ):A. if(x>=0)B. y=-1;C. if(x>=0)D. y=0;if(x>0) y=1; if(x!=0) if(x>0) y=1; if(x>=0) else y=-1; if(x>0) y=1 ; else y=0; if(x>0) y=1;else y= 0; else y=0; else y= -1; else y=-1;7.当a=2,b=1,c=3,d=4,m和n值为1时,(m=a>b)||(n=c>d)的值是( )A. TRUEB. FALSEC. 1D.08.在C语言程序中,以下说法正确的是( )A. main函数内部可嵌套定义子函数B. main函数必须出现在所有函数之前C. main函数必须出现在所有函数之后D. main函数是程序执行的入口9.关于局部变量和全局变量说法正确的是():A. 在main函数中定义的变量都为全局变量B. 当全局变量与局部变量同名时,全局变量起作用C. 当全局变量与局部变量同名时,局部变量起作用D. 以上说法都不正确10.下列关于switch和break语句的讨论中,只有()是正确的。

《C++程序设计》期中考试复习题+答案


3.设计一个圆类Circle。数据成员包括radius(圆 半径)。成员函数包括: (1) 构造函数(要求对构造函数进行重载); (2) 求圆的周长的函数; (周长:Perimeter) (3) 求圆的面积的函数;(面积:Area) (4) 输出圆信息的函数(包括圆的半径、周长、面 积)。
4.设计一个圆柱体类Cylinder。数据成员包括 radius(底面半径)、height(圆柱体的高)。成 员函数包括: (1) 构造函数(要求对构造函数进行重载); (2) 求圆柱体的表面积; (表面积:surface area) (3) 求圆柱体的体积;(体积:Volume) (4) 输出圆柱体信息(包括圆柱体的底面半径、高、 表面积、体积)。
7.设计一个学生类Student。数据成员包括No (学号)、Name(姓名)、Department(系 别)、Chinese(语文成绩)、Math(数学成 绩)、English(英语成绩)。成员函数包括: (1) 定义构造函数以便在创建学生对象时,可以指 定一个学生的具体信息; (2)设置学生信息的函数; (3)修改学生信息的函数; (4)求三门课的总成绩的函数; (5) 输出学生信息的函数(包括学号、姓名、系别、 语文成绩、数学成绩、英语成绩和总成绩)
8.设计一个员工类Employee。数据成员包括职 工号No、职工姓名Name、部门Partment、薪水 Salary。成员函数包括: (1) 定义构造函数以便在创建员工对象时,可以指 定一个员工的具体信息; (2)设置员工信息的函数; (3)修改员工信息的函数; (4) 输出员工信息的函数(包括职工号、姓名、部 门、薪水)
二、设计类并在main()中进行测试。 1.设计一个长方形类Rectangle。数据成员包括 length(长)、width(宽)。成员函数包括: (1) 构造函数(要求对构造函数进行重载); (2) 求长方形的周长的函数(周长:Perimeter) (3) 求长方形的面积的函数;(面积:Area) (4) 输出长方形信息的函数(包括长、宽、周长、 面积)。

C语言期中试卷

《C语言程序设计》期中考试卷一、选择题1.下面程序段的运行结果是。

for(x=3;x<6;x++)printf((x%2)?(“**%d”):(“##%d\n”),x); A.**3B.##3C.##3D.**3##4 ##4**4**4##5**5**5##52.下面程序的运行结果是。

#include<stdio.h>int main(){int i;for(i=1;i<=5;i++)switch(i%5){case0:printf("*");break;case1:printf("#");break;default:printf("\n");case2:printf("&");}return0;}A.#&&&*&B.#&& &C.#*&*&D.#&下中的的值(其N中和分别表示一个三位数),请选择填空。

.. . ....以下正确的描述是。

句的作用是结束整个循环的执行只能在循环体内句体内使句C.在循坏体内使用break语句或continue语句的作用相同D.从多层循环嵌套中退出,只能使用goto语句5.在下面的程序中,。

#include<stdio.h>int main(){int t,x;for(t=1;t<=100;t++){scanf("%d",&x);if(x<0)continue;printf("%3d",t);}return0;}A.当x<0时整个循环结束B.x>=0时什么也不输出C.printf函数永远也不执行D.最多允许输出100个非负整数6.与下面程序段等价的是。

for(n=100;n<=200;n++){if(n%3==0)continue;printf(“%4d”,n);}A.for(n=100;(n%3)&&n<=200;n++)printf(“%4d”,n); B.for(n=100;(n%3)||n<=200;n++)printf(“%4d”,n); C.for(n=100;n<=200;n++)if(n%3!=0)printf(“%4d”,n); D.for(n=100;n<=200;n++){if(n%3)printf(“%4d”,n);else continue;break;}7.下面程序的运行结果是。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

中国计量学院现代科技学院《 C程序设计 》课程期中试卷第 1页共 7 页 《 C程序设计 》课程期中考试试卷 考生姓名: 学号: 专业: 班级: 试题一:阅读程序填空(3题,共12个单项选择填空,每空2分,共24分) 1.【程序说明】输入一个整数,将它逆序输出。要求定义并调用函数reverse(long number),它的功能是返回number的逆序数。例如reverse(12345)的返回值是54321。 运行示例: Enter an integer: -123 After reversed: -321 【程序】 #include void main( ) { long in; long reverse(long number); printf("Enter an integer:"); scanf("%ld", &in); printf("After reversed:%ld\n", (1) ); } long reverse(long number) { int flag; (2) ; flag = number < 0 ? -1 : 1; if( (3) ) number = - number; while(number != 0){ res = (4) ; number /= 10; } return flag*res; } 【供选择的答案】 (1)A、reverse() B、in C、reverse(in) D、reverse (2)A、res = 0 B、long res C、long res = 0 D、res (3)A、number>0 B、number<0 C、number!=0 D、number==0 (4)A、number%10 B、res*10 + number%10 C、number/10 D、res*10 + number/10

2.【程序说明】输入2个正整数m和n(1<=m数以及这些素数的和。要求定义和调用函数prime(m)判断m是否为素数,当m为素数时返回1,否则返回0。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。 运行示例: 中国计量学院现代科技学院《 C程序设计 》课程期中试卷第 2页共 7 页

Enter m, n: 1 10 count = 4, sum = 17 【程序】 #include #include int prime(int m) { int i, n; if (m == 1) return (5) ; n = sqrt(m); for(i = 2; i <= n; i++) if (m%i == 0) return (6) ; return (7) ; } main( ) { int count = 0, i, m, n, sum = 0; printf("Enter m, n:"); scanf("%d%d", &m, &n); for(i = m; i <= n; i++) if( (8) ){ sum += i; count++; } printf("count=%d, sum=%d\n", count, sum); } 【供选择的答案】 (5) A、1 B、m C、m == 1 D、0 (6) A、m B、1 C、0 D、n (7) A、m B、1 C、0 D、i==n (8) A、prime(i)!=0 B、prime(i)==0 C、i==prime(i) D、!prime(i)

3.【程序说明】输入一个正整数n(n>=2),输出菲波那契(Fibonacci)序列的前n项,每行输出6个数。菲波那契(Fibonacci)序列:1,1,2,3,5,8,13,……,数列的前两个数都是1,从第三个数开始,每个数是前两个数之和。 运行示例: Enter n :10 1 1 2 3 5 8 13 21 34 55 【程序】 #include main( ) { int count, i, n, x1, x2, x; 中国计量学院现代科技学院《 C程序设计 》课程期中试卷第 3页共 7 页

printf("Enter n:"); scanf("%d", &n); x1 = x2 = 1; printf("%6d%6d", x1, x2); (9) for ( i = 1; i <= n-2; i++ ) { (10) ; printf("%6d" , x); count++ ; if ( (11) ) printf("\n"); x1 = x2 ; (12) ; } } 【供选择的答案】 (9) A、count = 2 B、count = 0 C、count = 1 D、count = -1 (10) A、x1=x1–x2 B、x=x1+x2 C、x=x1 D、x = 2 (11) A、count/6==0 B、count%6!=0 C、count%6==0 D、count/6!=0 (12) A、x=x1+x2 B、x2 = x1; C、x = x2; D、x2 = x;

试题二:阅读程序,选择运行结果(3题,共12个单项选择,每空2分,共24分)。

1.【程序】 #include void main( ) { int k; for(k = 5; k > 0; k--){ if(k==3) continue; /* 第6行 */ printf("%d ", k); } } (1) 程序的输出是 (1) 。 A、5 4 3 2 1 B、5 4 2 1 C、5 4 D、3 (2) 将第6行中的continue改为break后,程序的输出是 (2) 。 A、5 4 3 2 1 B、5 4 2 1 C、5 4 D、3 (3) 将第6行中的continue删除(保留分号)后,程序的输出是 (3) 。 A、5 4 3 2 1 B、5 4 2 1 C、5 4 D、3 (4) 将第6行全部删除后,程序的输出是 (4) 。 A、5 4 3 2 1 B、5 4 2 1 C、5 4 D、3

2.【程序】 #include 中国计量学院现代科技学院《 C程序设计 》课程期中试卷第 4页共 7 页

int k = 1; void fun(); void main() { int j; for(j = 0; j < 2; j++) fun(); printf("k=%d", k); } void fun() { int k = 1; /* 第11行 */ printf("k=%d,", k); k++; }

(5)程序的输出是 (5) 。 A、k=1,k=2,k=3 B、k=1,k=2,k=1 C、k=1,k=1,k=2 D、k=1,k=1,k=1 (6)将第11行改为“static int k=1;”后,程序的输出是 (6) 。 A、k=1,k=1,k=1 B、k=1,k=1,k=2 C、k=1,k=2,k=1 D、k=1,k=2,k=3 (7) 将第11行改为“k=1;”后,程序的输出是 (7) 。 A、k=1,k=2,k=1 B、k=1,k=1,k=1 C、k=1,k=1,k=2 D、k=1,k=2,k=3 (8) 将第11行改为“;”后,程序的输出是 (8) 。。 A、k=1,k=1,k=2 B、k=1,k=2,k=3 C、k=1,k=1,k=1 D、k=1,k=2,k=1

3.【程序】 程序1 #include main( ) { int j, k, s1, s2; s1 = s2 = 0; for (j = 1; j <= 5; j++) { s1++; for (k = 1; k <= j; k++) s2++; } printf("%d %d", s1, s2); } 程序2 #include main( ) { int j, k, s1, s2; s1 = 0; for (j = 1; j <= 5; j++) { s1++; for (k = 1, s2 = 0; k <= j; k++) s2++; } 中国计量学院现代科技学院《 C程序设计 》课程期中试卷第 5页共 7 页

printf("%d %d", s1, s2); } 程序3 #include void main( ) { char k ; int i ; for( i=1; i<3; i++) { scanf(“%c”,&k) ; switch( k ) { case ’1’: printf(”A#”); case ’2’: printf(”B#”); } } } 程序4 #include void f(int n) { if( n<8 ) printf(“%d”, n); else { f3(n/8); printf(“%d”, n%8); } } main( ) { f(125); } (9) 程序1运行时,输出 (9) 。 A、0 15 B、5 0 C、5 5 D、5 15 (10) 程序2运行时,输出 (10) 。 A、0 15 B、5 0 C、5 5 D、5 15 (11) 程序3运行时从键盘输入:12,输出 (11) 。 A、B#A# B、A#B# C、A#B#A# D、A#B#B# (12)程序4运行时,输出 (12) 。 A、175 B、1 C、571 D、5

试题三:简答题(试题三共12小题,每小题2分,共24分)

1.写出相应的语句,完成以下功能:定义双精度实数x,调用scanf函数给变量x赋值。

2.说明以下程序段中while循环体的执行次数。 int k=1; while( k = 3 ) k++;

3.说明以下程序段中是否有语法错误。若有语法错误,请指出错误的原因;若没有语法错误,请写出运行结果。

相关文档
最新文档