上海理工大学 c语言复习卷以及答案

合集下载

哈理工C 考试题库之5(可直接的打印的).

哈理工C  考试题库之5(可直接的打印的).

若有以下数组a,数组元素:a[0]~a[9],其值为9 4 12 8 2 10 7 5 1 3该数组中下标最小的元素名字是【1】.答案:1. a[0]〖第2题〗『填空』(1分字符串的结束标志是【1】.答案:1. \0 或 '\0' 或 0〖第3题〗『填空』(1分设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b+c-1&&b+c/2后,t的值是【1】.答案:1. 1〖第4题〗『填空』(1分在面向对象程序设计中,基类的构造函数和【1】函数不能被继承.答案:1. 析构〖第5题〗『填空』(1分写出表达式 1.234&&5.982 的值是【1】.答案:1. 1〖第6题〗『填空』(1分【1】称为文件包含命令,其意义是把指定的文件包含到本程序中,成为程序的一部分. 答案:1. #include〖第7题〗『填空』(1分C++中,流对象【1】称为标准输出设备.答案:1. coutC++程序在执行中,不检查数组下标是否【1】.答案:1. 越界〖第9题〗『填空』(1分C++语言中,数组名是一个不可变的【1】常量,不能对它进行自加自减和赋值运算. 答案:1. 地址〖第10题〗『填空』(1分若所用变量均已正确定义,则执行下面程序段后的值是【1】.for(i=0 ; i<2 ; i++ cout<<"YES";cout<答案:1. YESYES〖第11题〗『填空』(1分已知 i=5,写出语句 i-=18; 执行后整型变量 i 的值是【1】.答案:1. -13〖第12题〗『填空』(1分#define A(n 2*n+1,则表达式A(2+3的值是【1】答案:1. 8〖第13题〗『填空』(1分关键字【1】用于进行动态内存分配,关键字delete用于释放所分配的内存.答案:1. new〖第14题〗『填空』(1分C++语言表达式!(3<6||(4<9的值是【1】.答案:1. 1〖第15题〗『填空』(1分设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句:a*=16+(b++-(++c;后,a的值是【1】.答案:1. 28〖第16题〗『填空』(1分若输入字符串:abcde<回车>,则以下while循环体将执行【1】次.while((ch=cin.get(=='e' cout<<"*"<答案:1. 0〖第17题〗『填空』(1分在C++中,类及由类所定义的对象二者中,【1】占内存空间.答案:1. 对象〖第18题〗『填空』(1分有下列程序段,执行后的输出结果是【1】.int a=3, b=5;int max(int a, int b{ int c;c=a>b? a:b;return c;}void main({ int a=8;cout<}答案:1. 8〖第19题〗『填空』(1分一个C源程序中至少应包括一个【1】函数,它是C程序中唯一可以直接执行的函数,其他函数都是直... 答案:1. main 或 main( 或主〖第20题〗『填空』(1分已知a=13,b=6, a&&b的十进制数值为【1】.答案:1. 1〖第1题〗『判断』(1分单重继承是指派生类只有一个基类的情况.答案:Y〖第2题〗『判断』(1分break语句只能用在循环语句中.答案:N〖第3题〗『判断』(1分定义在类体内的成员函数是内联函数,定义在类体外的成员函数不能是内联函数. 答案:N〖第4题〗『判断』(1分x*=y+8 等价于 x=x*(y+8.答案:Y〖第5题〗『判断』(1分指针函数是指函数的返回值为指针的函数.答案:Y〖第6题〗『判断』(1分类型标识符函数名(参数表列{函数体}此函数是内联函数.答案:N〖第7题〗『判断』(1分char *p ="PCGAME";是定义初始化指针变量,指针变量的值是一个字符串.答案:N〖第8题〗『判断』(1分int i=20;switch(i/10{case 2:cout<<"A";case 1:cout<<"B";}的输出结果为A.答案:N〖第9题〗『判断』(1分数组只有一个下标,称为一维数组.答案:Y〖第10题〗『判断』(1分char ch[8]= "student";cout << strlen (ch; 结果为8.答案:N〖第11题〗『判断』(1分若有宏定义:#define S(a,b a+b 此宏定义是错误的.答案:N〖第12题〗『判断』(1分int *p=null;是正确的定义.答案:N〖第13题〗『判断』(1分一维字符数组的输入:char str[22] ;cin>> str;答案:Y〖第14题〗『判断』(1分char ch1[ ]={"student"}; 字符数组ch1长度为8,存储的是字符串答案:Y〖第15题〗『判断』(1分int i表示取变量i的整数部分.答案:N〖第16题〗『判断』(1分不能对字符数组整体进行赋值,只能给各个元素赋值,而字符指针变量可以直接赋值.答案:Y〖第17题〗『判断』(1分struct是声明结构体类型时所必须使用的关键字,可以省略;答案:N〖第18题〗『判断』(1分char ch2[ ]={'s ', 't ' , 'u ', 'd ', 'e ', 'n ', ' t' }; 字符数组ch2长度为7,存储... 答案:Y〖第19题〗『判断』(1分对二维数组正确定义的形式是:int a(2(3;答案:N求字符串长度函数strlen (答案:Y〖第1题〗『单项选择』(1分两个指针变量不可以(.A:相加B:比较C:相减D:指向同一地址答案:A〖第2题〗『单项选择』(1分C++语言中,char类型数据占(.A:1个字节B:2个字节C:4个字节D:8个字节答案:A〖第3题〗『单项选择』(1分以下能正确定义数组并正确赋初值的语句是(. A:int N=5,b[N][N];B:int a[1][2]={{1},{3}};C:int c[2][]={{1,2},{3,4}};D:int d[3][2]={{1,2},{3,4}};答案:D〖第4题〗『单项选择』(1分求平方根函数的函数名为(.A:cosB:absC:powD:sqrt答案:D下列程序段的输出结果为(.#include void main({ int x=3,y=2; cout<<(x-=y,x*=y+8/5;}A:1B:7C:3D:5答案:C〖第6题〗『单项选择』(1分以下不是无限循环的语句为(.A:for(y=0,x=1;x>++y;x=i++ i=x;B:for(;;x++=i;C:while(1{x++;}D:for(i=10;;i-- sum+=i;答案:A〖第7题〗『单项选择』(1分若以下变量均是整型,且num=sum=7;则计算表达式sum=num++,sum++,++num后sum的值为(. A:7B:8C:9D:10答案:B〖第8题〗『单项选择』(1分以下语句中,循环次数不为10次的语句是(.A:for(i=1;i<10;i++;B:i=1;do{i++;}while(i<=10;C:i=10;while(i>0{--i;}D:for(i=10;i>0;i--;答案:A〖第9题〗『单项选择』(1分函数返回值的类型是由(决定的.A:return语句中表达式的类型B:函数定义时的类型C:调用函数时的调用语句D:系统根据结果答案:B〖第10题〗『单项选择』(1分下面说明不正确的是(.A:char a[10]="china";B:char a[10],*p=a;p="china"C:char *a;a="china";D:char a[10],*p;p=a="china"答案:D〖第11题〗『单项选择』(1分下列字符序列中,是C++语言关键字的是(.A:sizeofB:printfC:cinD:sqrt答案:A〖第12题〗『单项选择』(1分double x;cin>>x;不可以赋值给x变量的常量是(.A:123B:100000C:3.14D:"abc"答案:D〖第13题〗『单项选择』(1分int a[10];给数组a的所有元素分别赋值为1、2、3、……的语句是(. A:for(i=1;i<11;i++a[i]=i;B:for(i=1;i<11;i++a[i-1]=i;C:for(i=1;i<11;i++a[i+1]=i;D:for(i=1;i<11;i++a[0]=1;答案:B〖第14题〗『单项选择』(1分设char ch1='A',ch2='a'; 表达式ch2==ch1+32?ch1:ch1+32的值是(. A:0B:1C:a'D:A'答案:D〖第15题〗『单项选择』(1分具有相同类型的指针变量p与数组a,不能进行的操作是(.A:p=a;B:*p=a[0];C:p=&a[0];D:p=&a;答案:D〖第16题〗『单项选择』(1分在以下给出的表达式中,与 do--while(E语句中的(E不等价的表达式是(.A:(!E==0B:(E>0||E<0C:(E==0D:(E!=0答案:C〖第17题〗『单项选择』(1分以下程序的输出结果是(.#include void main({ char s[]="123",*p; p=s; cout<<*p++<A:123B:1C:3D:321答案:B〖第18题〗『单项选择』(1分下列字符序列中,不可用作C++语言标识符的是(.A:b70B:#abC:symbolD:a_1答案:B〖第19题〗『单项选择』(1分下列的调用方式(是引用调用.A:形参和对应的实参都是变量名B:形参是指针,对应的实参是地址值C:形参是引用,对应的实参是变量名D:形参是变量名,对应的实参是地址值答案:C〖第20题〗『单项选择』(1分以下标识符中,不能作为合法的C用户定义标识符的是(. A:a3_b3B:voidC:_123D:IF答案:B〖第21题〗『单项选择』(1分系统的标准输入文件是指(.A:键盘B:显示器C:软盘D:硬盘答案:A〖第22题〗『单项选择』(1分设有定义: char str[100]; 当执行 cin>>str; 后,从键盘输入:″C++ programming windows″... A:C++B:C++ programmingC:windowsD:C++ programming windows答案:A〖第23题〗『单项选择』(1分下列表达式中,可作为C++合法表达式的是(.A:[3,2,1,0]B:(3,2,1,0C:3=2=1=0D:3/2/1/0答案:B〖第24题〗『单项选择』(1分若有说明:int n=2,*p=&n,*q=p;,则以下非法的赋值语句是(.A:p=q;B:*p=*q;C:n=*q;D:p=n;答案:D〖第25题〗『单项选择』(1分对以下说明语句 int a[10]={6,7,8,9,10}; 的正确理解是(.A:将5个初值依次赋给a[1]至a[5]B:将5个初值依次赋给a[0]至a[4]C:将5个初值依次赋给a[6]至a[10]D:因为数组长度与初值的个数不相同,所以此语句不正确答案:B〖第26题〗『单项选择』(1分以下正确的说法是(.A:用户若需调用标准库函数,调用前必须重新定义B:用户可以重新定义标准库函数,若如此,该函数将失去原有含义C:系统根本不允许用户重新定义标准库函数D:用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系.. 答案:B〖第27题〗『单项选择』(1分以下描述中正确的是(.A:由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B:do-while 循环由do开始,用while结束,在 while(表达式后面不能写分号C:在 do-while 循环体中,一定要有能使 while 后面表达式的值变为零("假"的操作D:do-while 循环中,根据情况可以省略 while答案:C〖第28题〗『单项选择』(1分以下对C++语言函数的描述中,正确的是(.A:C++程序必须由一个或一个以上的函数组成B:C函数既可以嵌套定义又可以递归调用C:函数必须有返回值,否则不能使用函数D:C++程序中有调用关系的所有函数必须放在同一个程序文件中答案:A〖第29题〗『单项选择』(1分下列语句的结果是(.#include void main({ int j; j=3; cout<<++j; cout<<","<A:3,3B:3,4C:4,3D:4,4答案:D〖第30题〗『单项选择』(1分关于return语句,下列正确的说法是(.A:在主函数和其他函数中均可出现B:必须在每个函数中出现C:可以在同一个函数中出现多次D:只能在除主函数之外的函数中出现一次答案:C〖第1题〗『程序填空』(8分/*------------------------------------------------------- 【程序填空】--------------------------------------------------------- 题目:输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。

最新哈理工C++考试题库之3(可直接的打印的)

最新哈理工C++考试题库之3(可直接的打印的)

〖第1题〗『填空』(1分)C++语言表达式5>2>7>8的值是【1】.答案:1). 0〖第2题〗『填空』(1分)【1】是标准C++指定的一个名字空间.答案:1). std〖第3题〗『填空』(1分)已知 a=10,b=15,c=1,d=2,e=0,则表达式c==b>e的值为【1】. 答案:1). 1〖第4题〗『填空』(1分)若有以下数组a,数组元素:a[0]~a[9],其值为9 4 12 8 2 10 7 5 1 3该数组可用的最小下标值是【1】.答案:1). 0〖第5题〗『填空』(1分)C++提供了内联函数,在定义函数时冠以关键字【1】答案:1). inline〖第6题〗『填空』(1分)已知 a=10,b=15,c=1,d=2,e=0,则表达式!a<e的值为【1】. 答案:1). 0〖第7题〗『填空』(1分)设(k=a=5,b=3,a*b),则表达式的值为【1】.答案:1). 15〖第8题〗『填空』(1分)已知x=2,y=2 则表达式x*=y+8的值为【1】.答案:1). 20〖第9题〗『填空』(1分)C++中,预定义算子dec表示【1】进制的输出.答案:1). 十或 10〖第10题〗『填空』(1分)写出表达式 1.234&&5.982 的值是【1】.答案:1). 1〖第11题〗『填空』(1分)设x=4<4-!0,x的值为【1】.答案:1). 0〖第12题〗『填空』(1分)函数的【1】调用是一个函数直接或间接地调用它自身.答案:1). 递归〖第13题〗『填空』(1分)函数的定义不可以嵌套,但函数的调用【1】嵌套.答案:1). 可以〖第14题〗『填空』(1分)定义指向整型变量的指针变量p的语句【1】.答案:1). int *p;〖第15题〗『填空』(1分)有下列程序段,执行后的输出结果是【1】.int a=3, b=5;int max(int a, int b){ int c;c=a>b? a:b;return c;}void main(){ int a=8;cout<<max(a,b)<<endl;}答案:1). 8〖第16题〗『填空』(1分)int a[3][3]={{1,2,3},{4,5,6},{7,8,9}};其中a[1][2]的值为【1】.答案:1). 6〖第17题〗『填空』(1分)执行下列语句后,z 的值是【1】.int x=4,y=25,z=5; z=y/x*z;答案:1). 30〖第18题〗『填空』(1分)int x=2,y=3,z=4; 则表达式x+y&&z的值为【1】.答案:1). 1〖第19题〗『填空』(1分)在c++中,标准输入操作是由输入流对象【1】完成的,标准输出操作是由输出流对象【2】完成的(.. 答案:1). cin2). cout〖第20题〗『填空』(1分)int x=4,y=z=2;z=x==(y=z);则z的值为【1】.答案:1). 0〖第1题〗『判断』(1分)字符数组中每一个元素可存放一个字符,而字符指针变量存放字符串首地址.答案:Y〖第2题〗『判断』(1分)设int a[][4]={1,2,3,4,5,6,7,8,9};则数组a的第一维的大小是4答案:N〖第3题〗『判断』(1分)不能对字符数组整体进行赋值,只能给各个元素赋值,而字符指针变量可以直接赋值.答案:Y〖第4题〗『判断』(1分)字符串连接函数是strcat( )答案:Y〖第5题〗『判断』(1分)int a [10]={0, 1, 2, 3, 4, 5};a[6]~ a[9]均为0.答案:Y〖第6题〗『判断』(1分)若有 int ⅰ=6,j=10; 则执行完语句switch(i){case 4: j++;case 5: j-- ;case 6: j++;case.. 答案:N〖第7题〗『判断』(1分)C++语言中只能逐个引用数组元素而不能一次引用整个数组.答案:Y〖第8题〗『判断』(1分)保护继承方式下基类的保护成员在派生类中仍是保护成员.答案:Y〖第9题〗『判断』(1分)若有int i,*p;则语句*p=1000;是合法的.答案:N〖第10题〗『判断』(1分)对于函数原型:int fun(int a, int b=300,int c=200,int d=100);可以使用如下方式调用:fun(1. 答案:N〖第11题〗『判断』(1分)C++语言提供的文件操作包含文本文件和十进制文件.答案:N〖第12题〗『判断』(1分)定义一个对象时,系统只为该对象的数据成员开辟内存空间,而成员函数是同类对象共享的.答案:Y〖第13题〗『判断』(1分)从用户的使用角度,函数可以分为以下两种:即系统库函数和用户自定义函数.答案:Y〖第14题〗『判断』(1分)同一程序中局部变量和全局变量不可以同名.答案:N〖第15题〗『判断』(1分)在说明一个结构变量后,不能整体引用结构体变量,需要逐一引用.答案:Y〖第16题〗『判断』(1分)没用参数的两个函数是不能重载的.答案:Y〖第17题〗『判断』(1分)析构函数是一个函数体为空的成员函数.答案:N〖第18题〗『判断』(1分)在for语句中,循环次数是由变量来控制的.答案:Y〖第19题〗『判断』(1分)若有 #define S(a,b) a*b 则语句 area=S(3,2); area的值为6.答案:Y〖第20题〗『判断』(1分)C++语言允许嵌套定义函数,也允许嵌套调用函数.答案:N〖第1题〗『单项选择』(1分)下列程序的输出为().#include <iostream.h>void main(){ int y=10; while(y--); cout<<"y="<<y<<"\n";} A:y=0B:while构成无限循环C:y=1D:y=-1答案:D〖第2题〗『单项选择』(1分)若给定条件表达式(M)?(a++):(a--),则其中表达式M().A:和(M==0)等价B:和(M==1)等价C:和(M!=0)等价D:和(M!=1)等价答案:C〖第3题〗『单项选择』(1分)设有定义: char str[100]; 当执行 cin>>str; 后,从键盘输入:″C++ programming windows″. A:C++B:C++ programmingC:windowsD:C++ programming windows答案:A〖第4题〗『单项选择』(1分)在以下new和delete运算符使用中,错误的是().A:char *p=new char[10]; delete[]p;B:char *p=new char[5]; delete []p; p=new char[10]; delete []p; C:char *p=new char; delete p;D:char *p=new int[10]; delete p;答案:D〖第5题〗『单项选择』(1分)执行下列语句后的输出为().int j=-1;if(j<=1) cout<<"****"<<endl;else cout<<"%%%%"<<endl;A:****B:%%%%C:%%%%cD:有错,执行不正确答案:A〖第6题〗『单项选择』(1分)全局变量的定义不可能在().A:函数内部B:函数外面C:文件外面D:最后一行答案:A〖第7题〗『单项选择』(1分)以下程序段的输出结果是().char *alp[]={"ABC","DEF","GHI"}; int j; cout<<alp[1];A:AB:BC:DD:DEF答案:D〖第8题〗『单项选择』(1分)若有int i=3,*p;p=&i;下列语句中输出结果为3的是().A:cout<<&p;B:cout<<*i;C:cout<<*p;D:cout<<p;答案:C〖第9题〗『单项选择』(1分)以下正确的说法是().A:定义函数时,形参的类型说明可以放在函数体内B:return后边的值不能为表达式C:如果函数值的类型与返回值类型不一致,以函数值类型为准D:如果形参与实参类型不一致,以实参类型为准答案:C〖第10题〗『单项选择』(1分)以下只有在使用时才为该类型变量分配内存的存储类说明是().A:auto和 staticB:auto和 registerC:register和 staticD:extern和 register答案:B〖第11题〗『单项选择』(1分)以下叙述中正确的是().A:全局变量的作用域一定比局部变量的作用域范围大B:静态(static)类别变量的生存期贯穿于整个程序的运行期间C:函数的形参都属于全局变量D:未在定义语句中赋初值的auto变量和static变量的初值都是随机值答案:B〖第12题〗『单项选择』(1分)下列语句的结果是().#include <iostream.h>void main(){ int j; j=3; cout<<++j; cout<<","<<j++<<endl;} A:3,3B:3,4C:4,3D:4,4答案:D〖第13题〗『单项选择』(1分)设int a=0,b=5; 执行表达式++a||++b,a+b后,a,b和表达式的值分别是A:1,5,7B:1,6,7C:1,5,6D:0,5,7答案:C〖第14题〗『单项选择』(1分)对于void类型函数,调用时不可作为().A:自定义函数体中的语句B:循环体里的语句C:if语句的成分语句D:表达式答案:D〖第15题〗『单项选择』(1分)设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为().A:intB:floatC:double答案:C〖第16题〗『单项选择』(1分)以下程序的输出结果是().#include <iostream.h>void main(){int i,j,k,a=3,b=2;i=(--a==b++)?--a:++b;j=a++;k=b;c.. A:i=2,j=1,k=3B:i=1,j=1,k=2C:i=4,j=2,k=4D:i=1,j=1,k=3答案:D〖第17题〗『单项选择』(1分)以下能对二维数组a进行正确初始化的语句是().A:int a[2][]={{1,0,1},{5,2,3}};B:int a[][3]={{1,2,3},{4,5,6}};C:int a[2][4]={{1,2,3},{4,5},{6}};D:int a[][3]={{1,0,1}{},{1,1}};答案:B〖第18题〗『单项选择』(1分)int a=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为().A:1B:2C:3D:不一定答案:A〖第19题〗『单项选择』(1分)以下程序段的输出结果为().#include <iostream.h>void main(){ int i,j; for(i=4;i>1;i--) for(j=1;j<i;j++) cou.. A:无B:######C:#D:###答案:B〖第20题〗『单项选择』(1分)以下选项中合法的用户标识符是().A:longB:_2TestC:3DmaxD:A.dat答案:B〖第21题〗『单项选择』(1分)若定义函数double *function(),则函数function()的返回值为().B:实数的地址C:指向函数的指针D:函数的地址答案:B〖第22题〗『单项选择』(1分)已定义ch为字符型变量,以下赋值语句中错误的是(). A:ch='\';B:ch=62+3;C:ch=NULL;D:ch='\xaa';答案:A〖第23题〗『单项选择』(1分)以下不符合C++语言语法的赋值语句是().A:a=1,b=2B:++j;C:a=b=5;D:y=(a=3,6*5);答案:A〖第24题〗『单项选择』(1分)以下程序段的输出结果为().char c[]="abc";int i=0;do ;while(c[i++]!='\0');cout<<i-1;A:abcB:abC:2D:3答案:D〖第25题〗『单项选择』(1分)以下运算符中,优先级最高的运算符是().A:?:B:++C:&&D:,答案:B〖第26题〗『单项选择』(1分)以下关于类和对象叙述正确的是().A:一个类只能有一个对象B:一个对象可以属于几个不同的类C:对象是类的一个具体实例D:一个类中可以有本类的对象答案:C〖第27题〗『单项选择』(1分)设有定义int n; 执行n='f'-'a'后,n的值是().A:fB:aC:5D:6答案:C〖第28题〗『单项选择』(1分)以下不能正确进行字符串赋初值的语句是().A:char str[5]="good!";B:char str[]="good!";C:char *str="good!";D:char str[5]={'g','o','o','d'};答案:A〖第29题〗『单项选择』(1分)两个指针变量不可以().A:相加B:比较C:相减D:指向同一地址答案:A〖第30题〗『单项选择』(1分)下列程序的输出结果是().#include <iostream.h>void main(){ int a=9; cout<<++a;} A:12B:11C:10D:9答案:C〖第1题〗『程序填空』(8分)/*------------------------------------------------------- 【程序填空】---------------------------------------------------------题目:计算平均成绩并统计90分以上人数。

上海理工大学c语言复习卷以及答案

上海理工大学c语言复习卷以及答案

上海理工大学c语言复习卷以及答案参考解答一、单选题1. 以下C程序中预处理命令写法正确的是: D 。

[知识点:编译预处理命令]A. #include “studio.h”B. #include [stdio.h]C. #include {stdio.h}D. #include “stdio.h”2.执行下列语句序列后,不可能出现的运行结果是___ C ____。

[知识点:开关语句]int n;scanf( "%d", &n);switch ( n ){case 1:case 2: putchar('X');case 3:case 4: putchar('Y'); break; default: putchar('Z'); A. 显示:zB. 显示:xyC. 显示:xD. 显示:y3.设a,b为整型变量, 且二者均不为0, 以下关系表达式中恒成立的是___ C ___。

[知识点:运算与数据类型]A. a/b*b/a==1B. a/b*b==aC. a*b/a==bD. a*b/ a*b ==14.设有定义:int x=10,y=20,z=30; 则执行下列语句后的结果是___ B ____。

[知识点:if语句]if ( x>y ) z=x;x=y; y=z;printf("%d,%d,%d",x, y, z ); A. 20,30,20B. 20,30,30C. 20,30,10D. 10,20,305.下列程序的输出结果是__ B ____。

[知识点:整型常量的表示和自增运算] main(){int a = 011;printf( "%d\n", ++a ); }A. 9B. 10C. 11D. 126.设 x, y 和 z 是 int 型变量,且 x=3, y=4, z= 5,则下面表达式中值为0的是__ B ___。

上海市计算机二级考试(C语言)复习资料题目答案

上海市计算机二级考试(C语言)复习资料题目答案

上海理工大学上海市计算机二级考试(C语言)复习资料题目解答第一部份:基础知识1. B2. C3. C4. B5. D6. A7. A8. C9. C 10. A 11. C 12. A 13. B 14. B 15. C 16. B 17. D 18.B 19. A 20. C 21. C 22. B 23. B 24. C 25. D 26. B 27. B 28. D 29. C 30. C 31. D 32. C 33. C 34. B 35. C 36. D 37. C 38. B 39. C 40. B 41. C 42. B 43. C 44. B 45. B 46. A 47. D 48. D 49. D 50. D 51. A 52. C53. (Sqrt( x)+ sqrt( y))/2/( x+ y) or similar54. The "234" is namely the string234 55. B 56.D 57.D 58. B 59.C 60.D61.B 62. D 63.A 64.D 65.C 66.B 67.C 68. D 69. C 70.C 71.A 72.A 73.B 74.B 75.C 76. C 77.C 78.A 79.D 80.B 81.D 82.D 83.C 84.D 85.B 86.D 87.B 88.D 89.B 90.C 91.C 92.B 93.B 94.B 95. N+'0'96.0The x1400 moves is ex-, binary system 00010100 Bs or eight enter the 024 Qs of system97. The first answer 65 ds or 41 hses or a the second answer 1 or not098. 85 99. 14 100. x=-60第二部分读程序,写结果1. 0,2,4,32. 3.1423.84.m/10%10*100+m/100*10+m%105.?uoy_era_woHHwaeyu6.7,37.546568. A the = biggest number, b= is most the fraction9. 110.5,511.1012.1 3 5 7 913. j=0 m=4The first k : 4j=1 m=414.The second k : 515.Count=0, position=0( did not find out)16.0-3017.输出12 14 22 24 32 34,函数s是用插入法对数组a的前n个元素从小到大排序18.输出 2 3 5 7 11 13 函数p的功能是求k(包括k )以内的质数19.输出n=91, a[]=0, 10, 21, 3120.输出Feith21.输出72 56 38 4922.k=523. 124.925.用递归函数实现10->2进制转换第三部分程序改错1.#4 scanf(“%d”,&x);#10 low=m+1#11 high=m-12.#7 scanf(“%c”,&str[i]);#8 break3. #7 x , n#13 n==0#15 x*xn(x,n-1)4. #5 t=t*x/i#15 e=ex(x)5. #4 scanf(%d”,&x);#10 low=m+1#11 high=m-16. #3 fun(str[])#5 while (*(str+num)!=’\0’) num++;#9 char str[10],*p=str;7. #14 flag=0 ;#19 flag=1; i++;8. #3 func(str[])#5 while (*(str+num)!=’\0’) num++;#9 {char str[10],*p=str;9. #5 n=n/10;#6 while (!n);#12 scanf(“%ld”,&n);10. #10 else if (x>a[m]) low=m+1;#11 else high=m-1;11. #6 a=1.0;#8 a/=i;#9 e+=a;12. #6 char *temp;#10 if(strcmp(temp,name[i])>0)#12 printf(“%s \n”, temp );13. #3 str[i]!=’\0’#4 str[i]>= ’0’ && str[i]<=’9’#10 data = data*16 + n;14. #3 int n1=0,n2=0, i;#6 if (str[i]==’#’)#8 if (str[i]>=’0’&&str[i]<=’9’)#9 n2++; }15. #5 i<N#7 sum=max=min=a[0]#12 aver=(float)(sum-max-min)/(N-2)16. #7 scanf(“%c”,&str[i]);#8 break17. #7 x , n#13 n==0#15 x*xn(x,n-1)18. #4 double fun(double eps)#8 while (t>=eps)#13 return (2*s);19. #3 long fun(char *p)#17 num+=p[i]-48;或 num+=p[i]-‘0’;#29 printf(“%ld\n”,n); /* 必须有%ld */20. #9 a[j]<a[i]#15 b[k]>a[j]&&a[j]#18 a[j]=b[k]21. #2 void printcol(int (*p)[N], int row, int col)#6 printf(“\t\t%d\n”,*(*(p+i)+col));#14 } while (col<0||col>N-1);22. #2 …(char *s)#4 (*p) 或…(*p!=0) 或…(*p!='\0’)#9 gets(x);23. #6 t=n%10;#10 n/=10;#11 } while(n); 或 } while (n!=0);24. #4 { for (j=0;j<=20-i;j++)#5 printf(" ");#8 printf("\n");25. #2 char *fun(char *s,char *t)#4 a=0;(或a=NULL;)#8 if (*r ==*p) {r++; p++;}第四部分编程序1. 设有链表结点的结构及变量如下:)struct st{ int num ;struct st *next;};struct st *head, *p1 ,* p2;编写函数create(),是个无参数函数,创建链表,num=0结束,返回指针值,指向首结点head。

上海 上理 c语言期中A

上海 上理 c语言期中A

20 17 /20 18 学年第 1 学期《程序设计及实践C》期中试卷试卷: A B□教师名学号姓名 __________ 得分_____________1 ○A○B○C○D2 ○A○B○C○D3 ○A○B○C○D4 ○A○B○C○D5 ○A○B○C○D6 ○A○B○C○D7 ○A○B○C○D8 ○A○B○C○D9 ○A○B○C○D10○A○B○C○D11○A○B○C○D12○A○B○C○D13○A○B○C○D14○A○B○C○D15○A○B○C○D16○A○B○C○D17○A○B○C○D18○A○B○C○D19○A○B○C○D20○A○B○C○D21○A○B○C○D22○A○B○C○D23○A○B○C○D24○A○B○C○D25○A○B○C○D1.下列属于C语言中关键字的是(D )A. swithB. printC. DefaultD. typedef2. 设要定义n为整型变量,定义x为浮点型变量,正确的语句是:(D)。

A. int n, int x;B. int n, float x;C. int n; char x;D. int n; float x;3. 下面四个选项中,均为合法的常量的选项是(A)。

A. 160、 -0xffff、 011B. -0xcdf、 01A、 0xeC. -01、 986,012、 0668D. -0x48A、 2e5、 0x4. 执行代码:int k;k=8567;printf("|%-06d|\n",k);后显示(C)。

A.无法显示 B.|008567| C.|8567 | D.|-08567|5. 以下程序的输出结果是( B )。

#include <stdio.h>void main(){int num=0xF;int money=010;int total = num * money;printf("%d,%d,%d\n",num,money, total);}A. 10,10,100B. 15,8,120C.15,10,150D.6,10,606.如果有double a,b,c;正确输出3个数之和的语句是( C )。

哈理工C++考试题库之6(可直接的打印的)

哈理工C++考试题库之6(可直接的打印的)

已知 i=5;写出语句 a=--i; 执行后整型变量 a 的值是【1】.答案:1). 4〖第2题〗『填空』(1分)为了避免嵌套条件语句的二义性,C++语言规定else与其前面最近的【1】语句配对. 答案:1). if〖第3题〗『填空』(1分)若所用变量都已正确定义,请填写以下程序段的输出结果【1】.for(i=1;i<=5;i++);cout<<"OK"<<endl;答案:1). OK〖第4题〗『填空』(1分)有下列程序段,执行后的输出结果是【1】.int a=3, b=5;int max(int a, int b){ int c;c=a>b? a:b;return c;}void main(){ int a=8;cout<<max(a,b)<<endl;}答案:1). 8〖第5题〗『填空』(1分)int x=2,y=3,z=4; 则表达式x+y>z的值为【1】.答案:1). 1〖第6题〗『填空』(1分)int x=2;z=++x+1; 则z的值为【1】.答案:1). 4〖第7题〗『填空』(1分)int x=2,y=3,z=4; 则表达式x+(y>!z)的值为【1】.答案:1). 3〖第8题〗『填空』(1分)表达式18 && 53 的值是【1】.答案:1). 1在C++程序中使用文件结束后要关闭文件,关闭文件的函数名是【1】.答案:1). close〖第10题〗『填空』(1分)当一个函数无返回值时,函数的类型应定义为【1】答案:1). void〖第11题〗『填空』(1分)在C++程序中使用文件前打开文件,打开文件的函数名是【1】.答案:1). open〖第12题〗『填空』(1分)设x=2.5,a=7,y=4.7,算术表达式x+a%3*(int)(x+y)%2/4的值为【1】.答案:1). 2.5〖第13题〗『填空』(1分)执行语句char str[81]="abcdef";后,字符串str结束标志存储在str[【1】] (在括号内填写下标值)中.答案:1). 6〖第14题〗『填空』(1分)执行下列语句后,b 的十进制值是【1】.int x=240,y=15,b;char z='A';b=(( x && y ) && ( z < 'a' ));答案:1). 1〖第15题〗『填空』(1分)cin.get()函数只能接收一个【1】.答案:1). 字符〖第16题〗『填空』(1分)int x=2,y=3,z=4; 则表达式x+y>!z的值为【1】.答案:1). 1〖第17题〗『填空』(1分)int x=y=z=2;x=y==z; 则x的值为【1】.答案:1). 1〖第18题〗『填空』(1分)C++语言程序的三种基本结构是:顺序结构,选择结构,【1】结构.答案:1). 循环设x=2,表达式x>=60==1的值为【1】.答案:1). 0〖第20题〗『填空』(1分)#define A(n) 2*n+1,则表达式A(2+3)的值是【1】答案:1). 8〖第1题〗『判断』(1分)a=(b=4)+(c=6) 是一个合法的赋值表达式.答案:Y〖第2题〗『判断』(1分)数组在使用之前必须先定义.数组定义包括数组的类型、名称、维数及数组中元素的个数.答案:Y〖第3题〗『判断』(1分)对于函数原型:int fun(int a, int b=300,int c=200,int d=100);可以使用如下方式调用:fun(1... 答案:N〖第4题〗『判断』(1分)对象成员的表示方法与结构体变量成员的表示方法相同.答案:Y〖第5题〗『判断』(1分)一次性输入、输出字符数组时,只写字符数组名.答案:Y〖第6题〗『判断』(1分)对于函数原型:int fun(int a, int b=300,int c=200,int d=100);可以使用如下方式调用:fun(4... 答案:Y〖第7题〗『判断』(1分)类的作用域范围指的是类体内.答案:N〖第8题〗『判断』(1分)数组只有一个下标,称为一维数组.答案:Y〖第9题〗『判断』(1分)在c++中实参和形参有3种结合方式,分别为:值传递、引用传递和地址传递答案:Y〖第10题〗『判断』(1分)定义输入文件流对象fin方法是:ofstream fin;答案:N〖第11题〗『判断』(1分)int a(5),b(3);a || b结果为1.答案:Y〖第12题〗『判断』(1分)定义一个输出文件流对象,并打开d盘du文件夹下的abc.dat文件方法是:ofstream fout;fout.open... 答案:Y〖第13题〗『判断』(1分)若有 #define S(a,b) a*b 则语句 area=S(3,2); area的值为6.答案:Y〖第14题〗『判断』(1分)else语句可以单独作为语句使用,它不一定要if配对使用.答案:N〖第15题〗『判断』(1分)若i=3,则cout<<-i++;输出的值为 -4.答案:N〖第16题〗『判断』(1分)若有宏定义:#define S(a,b) a+b 此宏定义是错误的.答案:N〖第17题〗『判断』(1分)C++中,变量使用时遵循"先定义,后使用"的原则.答案:Y〖第18题〗『判断』(1分)若函数fc定义如下:void fc(char *a,char *b){while(*a++=*b++);}函数fc的功能是串复制. 答案:Y〖第19题〗『判断』(1分)在程序中,常量是可以不经说明而直接引用,而变量则必须先定义后使用.答案:Y〖第20题〗『判断』(1分)auto是C++语言中的关键字.答案:Y〖第1题〗『单项选择』(1分)函数重载是指().A:两个以上的函数取相同的函数名,但形参的个数或类型不同B:两个以上的函数取相同的名字和相同的参数个数,但形参的类型可以不同C:两个以上的函数名字不同,但形参的个数或类型相同D:两个以上的函数名字、参数的个数和类型都相同答案:A〖第2题〗『单项选择』(1分)能将高级语言编写的源程序转换为目标程序的是().A:链接程序B:解释程序C:编译程序D:编辑程序答案:C〖第3题〗『单项选择』(1分)编译预处理工作是在()完成的.A:编译前B:编译时C:编译后D:连接时答案:A〖第4题〗『单项选择』(1分)执行下列语句后的结果为().int x=3,y;int *px=&x;y=*px++;A:x=3,y=4B:x=3,y=3C:x=4,y=4D:x=3,y不知答案:B〖第5题〗『单项选择』(1分)假定所有变量均已正确定义,下列程序段运行后x的值是().k1=1;k2=2;k3=3;x=15;if(!k1) x--;else if(k2) x=4;else x=3;A:14B:4C:15D:3答案:B〖第6题〗『单项选择』(1分)不仅可将C++源程序存在磁盘上,还可将数据按数据类型以什么的形式存在磁盘上().A:内存B:缓冲区C:文件D:寄存器答案:C〖第7题〗『单项选择』(1分)在C++语言中,要求运算数必须是整型的运算符是().A:&&B:%C:!D:>答案:B〖第8题〗『单项选择』(1分)语句cout<<"a\bre\'hi\'y\\\bou\n";的输出结果是(说明:'\b'是退格符)().A:a\bre\'hi\'y\\\bouB:a\bre\'hi\'y\bouC:re'hi'youD:abre'hi'y\bou答案:C〖第9题〗『单项选择』(1分)设j和k都是int类型,则for循环语句for(j=0,k=0;j<=9&&k!=876;j++) cin>>k;A:最多执行10次B:最多执行9次C:是无限循环D:循环体一次也不执行答案:A〖第10题〗『单项选择』(1分)以下能正确定义数组并正确赋初值的语句是().A:int N=5,b[N][N];B:int a[1][2]={{1},{3}};C:int c[2][]={{1,2},{3,4}};D:int d[3][2]={{1,2},{3,4}};答案:D〖第11题〗『单项选择』(1分)若有说明:int i, j=2,*p=&i;,则能完成i=j赋值功能的语句是().A:i=*p;B:*p=*&j;C:i=&j;D:i=**p;答案:B〖第12题〗『单项选择』(1分)判断char型变量cl是否为小写字母的正确表达式是().A:a'<=cl<='z'B:(cl>=a)&&(cl<=z)C:('a'>=cl)||('z'<=cl)D:(cl>='a')&&(cl<='z')答案:D〖第13题〗『单项选择』(1分)以下能对一维数组a进行正确初始化的语句是().A:int a[10]=(0,0,0,0,0)B:int a[10]={};C:int a[]={0};D:int a[10]={10*1};答案:C〖第14题〗『单项选择』(1分)设有说明:ofstream outfile;则执行语句:outfile.open("data1.txt");后,文件:data1.txt是一个.. A:用于输入的文本文件B:用于输出的文本文件C:用于输入的二进制文件D:用于输出的二进制文件答案:B〖第15题〗『单项选择』(1分)以下运算符中,优先级最高的运算符是().A:=B:!=C:*(乘号)D:()答案:D〖第16题〗『单项选择』(1分)以下对一维整型数组a的正确说明是().A:int a(10);B:int n=10,a[n];C:int n; cin>>n; int a[n];D:#define SIZE 10 (换行) int a[SIZE];答案:D〖第17题〗『单项选择』(1分)若i为整型变量,则以下循环执行次数是().for(i=2;i==0;) cout<<i--;A:无限次B:0次C:1次D:2次答案:B〖第18题〗『单项选择』(1分)已定义ch为字符型变量,以下赋值语句中错误的是().A:ch='\';B:ch=62+3;C:ch=NULL;D:ch='\xaa';答案:A〖第19题〗『单项选择』(1分)下列定义不正确的是().A:#define PI 3.141592B:#define S345C:int max(x,y); int x,y; { }D:static char c;答案:C〖第20题〗『单项选择』(1分)如果某类是从另一个类继承来的,对象释放时析构函数的调用顺序是(). A:不调用基类的析构函数B:先调用基类的析构函数,再调用派生类的析构函数C:先调用派生类的析构函数,再调用基类的析构函数D:不调用派生类的析构函数答案:C〖第21题〗『单项选择』(1分)设有 int x=11; 则表达式 (x++ * 1/3) 的值是().A:3B:4C:11D:12答案:A〖第22题〗『单项选择』(1分)下列选项中正确的语句组是().A:char s[8]; s={"Beijing"};B:char *s; s={"Beijing"};C:char s[8]; s="Beijing";D:char *s; s="Beijing";答案:D〖第23题〗『单项选择』(1分)下列字符序列中,可用作C标识符的一组字符序列是().A:S.b,sum,average,_aboveB:class,day,lotus_1,2dayC:#md,&12x,month,student_n!D:D56,r_1_2,name,_st_1答案:D〖第24题〗『单项选择』(1分)下面判断正确的是().A:char *a="china";等价于 char *a;*a="china";B:char str[10]={"china"};等价于char str[10];str[]={"china"};C:char *s="china";等价于 char *s;s="china";D:char c[4]="abc",d[4]="abc";等价于 char c[4]=d[4]="abc";答案:C〖第25题〗『单项选择』(1分)以下叙述中不正确的是().A:预处理命令行都必须以#号开始B:在程序中凡是以#号开始的语句行都是预处理命令行C:C++程序在执行过程中对预处理命令行进行处理D:以下是正确的宏定义 #define IBM_PC答案:C〖第26题〗『单项选择』(1分)下列程序的输出结果是().#include <iostream.h>void main(){ int a=7,b=5; cout<<b/a<<"\n";} A:0B:5C:1D:不确定值答案:A〖第27题〗『单项选择』(1分)以下不正确的if语句形式是().A:if(x>y&&x!=y);B:if(x==y) x+=y;C:if(x!=y) cin>>x else cin>>y;D:if(x<y) {x++;y++;}答案:C〖第28题〗『单项选择』(1分)以下叙述中不正确的是().A:一个好的程序应该有详尽的注释B:在C++程序中,赋值运算符的优先级最低C:在C++程序中,j++;是一条赋值语句D:C++程序中的#include和#define均不是C语句答案:B〖第29题〗『单项选择』(1分)结构体类型的定义允许嵌套是指().A:成员是已经或正在定义的结构体型B:成员可以重名C:结构体型可以派生D:定义多个结构体型答案:A〖第30题〗『单项选择』(1分)全局变量的定义不可能在().A:函数内部B:函数外面C:文件外面D:最后一行答案:A〖第1题〗『程序填空』(8分)/*------------------------------------------------------- 【程序填空】---------------------------------------------------------题目:以下程序的功能:将s所指字符串的正序和反序进行连接,形成一个新串放在t所指的数组中。

上海理工大学c语言程序调试题复习.docx

上海理工大学c语言程序调试题复习.docx

5月17日程序调试题复习1.程序调试题1调试要求:下列程序包含3个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。

将结果(包括C_2_1.C文件和C_2_1.EXE文件)保存到实验结果文件夹屮。

功能说明:程序从键盘输入5个字符串(每个字符串长度不超过80,且字符串屮不含有空格),程序找出其中最大的字符串放到max中,最后输出该最大的字符串。

如输入:BASICJavaC++PascalPHP则输出:Pascal带错误原程序(见素材\C_2_1.C):#include <stdio.h>#include <string.h>int main(){int i;char s[81], max[81]={'\0'};for (i=0; i<5; i++){ gets(s);if (strcmp(s,max))strcpy(max,s);}puts(max);getchar(); /*木句无错;暂停程序,按任意键继续*/}2.程序调试题2调试要求:下列程序包含3个错误,请按题屮的功能要求,调试并修改该程序(在所修改语句后加/****♦**/字样的注释),使其运行能得到正确的结果。

将结果(包括C_2_2.C文件和C_2_2.EXE文件)保存到实验结果文件夹中。

功能说明:函数aver的功能是计算n个整数去掉一个最大值和一个最小值后的平均值,程序从键盘输入8个整数,通过调用函数aver计算这8个整数去掉一个最大值和一个最小值后的平均值,然后输出(保留一位小数)。

如输入:1 2345678 则输出:average=4.5带错误原程序(见素材\C_2_2.C):#inelude <stdio.h>float aver(int *a, int n){ int i, max, min;float s;s=max=min=a[O];for (i=0; i<n; i++){ s+=a[i];if (a[i]>max) max=a[i];if (a[i]>min) min二a[i];}return (s-max-min)/(n-2);}int main(){int b[8], i;for (i=0; i<8; i++)scanf(”%d”, b+i);printf("average=%.lf\n"z aver(*b,8));getchar();严本句无错;暂停程序,按任意键继续*/}3.程序调试题3调试要求:下列程序包含2个错误,请按题中的功能要求,调试并修改该程序(在所修改语句后加/**♦****/字样的注释),使其运行能得到正确的结果。

上海理工大学 C语言 实验7答案

上海理工大学 C语言 实验7答案
printf("%d\n",c);
}
6、下面程序的功能是将输入字符串的内容颠倒过来。请在空白处填空。
#include<string.h>
void main( )
}
参考答案:
if(s[i]>='0'&&s[i]<='9')
3.编程
[3.1]最多从键盘输入80个字符,遇到回车键就结束,将输入的字符串按奇偶位置拆分,奇数位字符在前偶数位字符在后重新组成新的字符串输出,例如输入: ab12cd3456fg,则经过程序处理后输出: a1c35fb2d46g。
#include "stdio.h"
gets(str);
for(i=0; str[i]!='\0';i++)
{
if (str[i]=='#')
n1++;
if (str[i]>='0' && str[i]<='9')
n2++; }
printf( "#=%d, digit=%d\n", n1, n2 );
}
[1.2]有n个国家参加运动会,开幕式上,各国的出场顺序以国名在英文字典中的位置先后为序,输出一份各国出场顺序表。
k=strlen(str);j=0;
for(i=0;i<k;i++,j++)
{ if(str[i]!=' ')
s[j]=str[i];
else if(str[i]==' '&&str[i+1]!=' ')
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
答案:
#include "stdio.h"
#include <stdlib.h>
void SelectSort( int v[ ], int n )
{ int i,j,k,temp;
for( i=0; i<n-1; i++ )
{int k = i;//k存放最小记录位置
for( j=i+1; j<n; j++) //找最小记录位置
}
2.编程题2(B_4_2.C)
编程要求:请按题中的功能要求,编写程序并能得到正确的结果。将结果(包括B_4_2.C文件和B_4_2.exe文件)保存到“\实验结果”文件夹中。
功能说明:键盘输入正整数n,计算并输出 的值,输出结l则输出:0.645635
答案:
#include <.stdio.h>
Mian()
Float s;
For(i=1;i<=n,i++)
{If(i/2==0)
S+= -1.0/n;
Else
S+=1.0/n
}
Printf("%1f",s);
}
#include <stdio.h>
#include <stdlib.h>
void main()
{
int i=1,n;
double f=1.0,s=0;
;
return j-i;
}
void main()
{
char str[81];
int n;
gets( str[0] );
n = length( str );
printf( "Length=%d\n", n );
system("pause");
}
答案:
#include <stdio.h>
#include <stdlib.h>
}
答案:
#include <stdio.h>
#include <stdlib.h>
int sumx( int a0, int d, int n )
{
int i, k, s=0;
k = a0;
for ( i=0; i<n; i++ )
{s += k;
k += d;}
return s;
}
void main()
int n;
scanf( "%d", &n);
switch ( n )
{
case 1:
case 2: putchar('X');
case 3:
case 4: putchar('Y'); break;
default: putchar('Z');
A. 显示:z
B. 显示:xy
C. 显示:x
D. 显示:y
}
scanf( "%d", &n );
for ( i=0; i<n; i++ )
{
ct=0;
scanf( "%d", &a );
for( j=2; j<a; j++ )
if ( a%j==0 )
ct++;
if ( ct==0 )
printf( "%d ", a );
}
printf( "\n" );
system("pause");
printf( "%X ", a[i] );
}
答案:
#include <stdio.h>
#include <stdlib.h>
void main()
{
int a[10], i, n;
scanf( "%d", &n );
for ( i=0; n>0; i++ )
{
a[i]=n%16;
n /= 16;
}
printf("input item number : \n");
scanf("%d",&n);
do
{
s+=f/i++;//或:s=s+f/i; i++;
f=-f;
}while (i<=n);
printf("1-1/2+1/3-...+1/%d=%lf\n",n,s);
system("pause");
for ( i--; i>=0; i-- )
printf( "%X ", a[i] );
system("pause");
}
2.以下程序输入n和n个大于1的正整数,输出其中素数。
如输入:5 19 93 11 37 15
则输出:19 11 37
例示说明:先输入n为5,再输入5个正整数,输出5个整数中的素数
源程序(见素材\T_3_2.C):
#include <stdio.h>
#include <stdlib.h>
void main()
{
int n, a, i, j, ct;
scanf( "%d", &n );
for ( i=0; ____1____; i++ )
{
______2______;
scanf( "%d", &a );
#include <stdio.h>
#include <stdlib.h>
int length( char p[] )
{
char q[100], r[100];
int i,j,k;
for ( i=0;p[i]='A'; i++ )
;
for ( j=i+1; p[j]!='\0' && p[j]!='Z'; j++ )
for( j=2; j<a; j++ )
if ( ____3____ )
ct++;
if ( ct==0 )
printf( "%d ", a );
}
printf( "\n" );
}
答案:
#include <stdio.h>
#include <stdlib.h>
void main()
{
int n, a, i, j, ct;
printf( "%d\n", ++a );
}
A. 9
B. 10
C. 11
D. 12
6.设x, y和z是int型变量,且x=3, y=4, z= 5,则下面表达式中值为0的是__B___。[知识点:关系、逻辑运算]
A. !(x<y)&&!z||1
B. x==y&&y!=z
C.x||y+z&&y-z
D. y&&’y’
int length( char p[] )
{
int i,j;
for ( i=0;p[i]!='A'; i++ );
for ( j=i+1; p[j]!='\0' && p[j]!='Z'; j++ );
return j-i-1;
}
void main()
{
char str[81];
int n;
gets( str );
源程序(见素材\T_3_1.C):
#include <stdio.h>
#include <stdlib.h>
void main()
{
int a[10], i, n;
scanf( "%d", &n );
for ( i=0; n>0; i++ )
{
a[i] = ____1____;
n /= 16;
}
for ( i--; ____2____; ____3____ )
A. a[3][2]
B. a[2][3]
C. a[2]
D. a[2][1]
二、程序调试题
1.程序调试题1(D_2_1.C)
调试要求:下列程序不能得到正确的结果,请按题中的功能要求,调试并修改该程序(在所修改语句后加/*******/字样的注释),使其运行能得到正确的结果。将结果(包括D_2_1.c文件和D_2_1.exe文件)保存到指定目录中。
{if( v[j]<v[k] ) k = j; }
if( k!=i ) //交换第i和第k个位置记录
{temp=v[i]; v[i]=v[k]; v[k]=temp;
}
}
}
voidmain()
{
int a[10],i,n;
printf("input number of data\n");
scanf("%d",&n);
相关文档
最新文档