上海理工大学 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]!=' ')

上海理工大学C语言题库

上海理工大学C语言题库

医疗保险、公积金的数据作为一个记录。

•该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。

功能 2. 显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。

功能 3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。

功能4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。

功能5. 删除记录:可删除数据文件中的任一记录。

功能6. 统计:(A)计算各项工资平均工资及总工资,(B)•统计符合指定条件(如职工工资前三项之和在3000元以上、3000~2000元、2000~1000元) 以内的工资职工人数及占总职工人数的百分比。

(C)按字符表格形式打印全部职工工资信息表及平均工资(•包括各项总的平均工资)。

7功能7.保存数据文件功能。

例如:职工工资信息表ID号姓名基本工资职务工资津贴医疗保险-公积金-总工资01 张望1286 794 198 109 135 203402 李明1185 628 135 94 114 174003 王小民895 438 98 64 73 129404 张效章1350 868 210 116 150 216205 彭山745 398 84 61 68 1098各项平均工资1092.2 625.2 145 88.8 10817、纳税系统设计要求:(1)只能使用C语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)写出课程设计报告,具体要求见相关说明文档功能要求:个人所得税每月交一次,底线是1600元/月,也就是超过了1600元的月薪才开始计收个人所得税。

个人所得税税率表一(工资、薪金所得适用)级数----------全月应纳税所得额----------税率(%)1--------------不超过500元的--------------------------52----------超过500元至2000元的部分------------103----------超过2000元至5000元的部分----------154----------超过5000元至20000元的部分---------205----------超过20000元至40000元的部分-------256----------超过40000元至60000元的部分-------307----------超过60000元至80000元的部分-------358----------超过80000元至100000元的部分------409----------超过100000元的部分---------------------45表中的应纳税所得额是指以每月收入额减除1600元后的余额。

上海理工大学C语言题库

上海理工大学C语言题库

上海理工大学C语言题库医疗保险、公积金的数据作为一个记录。

?该软件能建立一个新的数据文件或给已建立好的数据文件增加记录。

功能 2. 显示记录:根据用户提供的记录或者根据职工姓名显示一个或几个职工的各项工资和平均工资。

功能 3. 修改记录:可以对数据文件的任意记录的数据进行修改并在修改前后对记录内容进行显示。

功能4.查找记录:可以对数据文件的任意记录的数据进行查找并在查找前后对记录内容进行显示。

功能5. 删除记录:可删除数据文件中的任一记录。

功能6. 统计:(A)计算各项工资平均工资及总工资,(B)?统计符合指定条件(如职工工资前三项之和在3000元以上、3000~2000元、2000~1000元) 以内的工资职工人数及占总职工人数的百分比。

(C)按字符表格形式打印全部职工工资信息表及平均工资(?包括各项总的平均工资)。

7功能7.保存数据文件功能。

例如:职工工资信息表ID号姓名基本工资职务工资津贴医疗保险-公积金-总工资01 张望1286 794 198 109 135 203402 李明1185 628 135 94 114 174003 王小民895 438 98 64 73 129404 张效章1350 868 210 116 150 216205 彭山745 398 84 61 68 1098各项平均工资1092.2 625.2 145 88.8 10817、纳税系统设计要求:(1)只能使用C语言,源程序要有适当的注释,使程序容易阅读(2)至少采用文本菜单界面(如果能采用图形菜单界面更好)(3)写出课程设计报告,具体要求见相关说明文档功能要求:个人所得税每月交一次,底线是1600元/月,也就是超过了1600元的月薪才开始计收个人所得税。

个人所得税税率表一(工资、薪金所得适用)级数----------全月应纳税所得额----------税率(%)1--------------不超过500元的--------------------------52----------超过500元至2000元的部分------------103----------超过2000元至5000元的部分----------154----------超过5000元至20000元的部分---------205----------超过20000元至40000元的部分-------256----------超过40000元至60000元的部分-------307----------超过60000元至80000元的部分-------358----------超过80000元至100000元的部分------409----------超过100000元的部分---------------------45表中的应纳税所得额是指以每月收入额减除1600元后的余额。

C语言程序设计试题及答案完整版

C语言程序设计试题及答案完整版

C语言复习资料5元必须清楚的:1)程序结构是三种: 顺序结构, 循环结构(三个循环结构), 选择结构(if 和switch)2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。

3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址.4)bit是位是指为0 或者1。

byte 是指字节, 一个字节= 八个位.5)一定要记住二进制如何划成十进制。

概念常考到的:1、编译预处理不是C语言的一部分,不再运行时间。

C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。

2、每个C语言程序中main函数是有且只有一个。

3、在函数中不可以再定义函数。

4、算法的是一定要有输出的,他可以没有输入。

5、break可用于循环结构和switch语句。

6、逗号运算符的级别最低。

第一章1)合法的用户标识符考查:合法的要求是由字母,数字,下划线组成。

有其它元素就错了。

并且第一个必须为字母或则是下划线。

第一个为数字就错了。

关键字不可以作为用户标识符号。

main define scanf printf 都不是关键字。

迷惑你的地方If是可以做为用户标识符。

因为If中的第一个字母大写了,所以不是关键字。

2)实型数据的合法形式:2.333e-1 就是合法的,且数据是2.333×10-1。

考试口诀:e前e后必有数,e后必为整数。

.3)字符数据的合法形式::'1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。

'0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。

4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节:考试时候一般会说,在16位编译系统,或者是32位系统。

碰到这种情况,不要去管,一样做题。

掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。

长理C语言练习册答案

长理C语言练习册答案

长理C语言练习册答案第1章C语言程序设计概述一、选择题题号 1 2 3 4 5 6 7 8 9 10答案 A A B D C C D C D C题号11 12 13 14 15 16 17 18 19 20答案 A D C B A C B A C C二、填空题1、一_、主、主2、.C 、.OBJ 、.EXE3、“{”、“}”、变量说明、执行语句4、主函数5、/* 、*/、运行三、编程题1、(1) 解:#include “stdio.h”void main(){printf(“ProgrammingLanguage\n”);}(2) 解:#include “stdio.h”void main(){printf("***************\n");printf("\n");printf(" Welcome \n");printf("\n");printf("***************\n");}2、解main(){ int a,b,x,y,m,n;a=25;b=5;x=a+b; y=a-b; m=a*b; n=a/b;printf(“x=%d,y=%d,m=%d,n=%d\n”,x,y,m,n);}第2章C语言的基本数据类型与表达式一、选择题题号 1 2 3 4 5 6 7 8 9 10答案 D C A D C B C B C A题号11 12 13 14 15 16 17 18 19 20答案 D B D C C B C B D A题号21 22 23 24 25 26 27 28 29 30答案 C C A A C C B D C C题号31 32 33 34 35 36 37 38 39 40答案 C B B C A C A C A A题号41 42 43 44 45答案 C B C D C二、填空题1、_ 十、八、十六2、int 、float、double3、34、-165、16、 27、10、 68、99、‘f’10、(m/10%10)*100+m/100*10+m%1011、3.500000 12、 113、 414、1.500000 、 6.70000015、1 、-2 、1 、4三、程序分析题1、1112、4,33、14、11,19,30,15、65,896、a=%d,b=%d第3章C语言程序的控制结构第1节顺序结构程序设计一、选择题题号 1 2 3 4 5 6 7 8 9 10答案 B C C C C B C D C D题号11 12 13 14 15 16 17 18 19 20答案 B C B D A B D B C C题号21 22 23 24 25 26 27 28 29答案 D B B D A C D B C二、填空题1、_a=5.0,4,c=32、03、b、b、 b4、-145、未指明变量k的地址、格式控制符与变量类型不匹配6、scanf(“%d%f%f%c%c”,&a,&b,&x,&c1,&c2);3?6.5?12.6aA7、A???B???<CR>8、10 15 109、123 、45.000000 10、不确定值11、261 12、1613、2,1三、程序分析题1、 4 、52、203、无正确值4、x=98 y=765.000000 z=4321.0000005、8796、10 , A , 10四、编程题1、解#include “stdio.h”main(){float c,f;printf("请输入一个华氏温度\n");scanf("%f",&f);c=5.0/9.0*(f-32);printf("摄氏温度为:%6.2f\n",c);}2、解#include “stdio.h”main(){int a,b,c,x;printf("请输入一个三位整数:");scanf("%d",&x);a=x/100;b=x/10%10;c=x%10;printf("输出结果:%d%d%d\n",c,b,a);}3、#include <stdio.h>main(){int hour,min,tran;printf("Enter time:");scanf("%d%d",&hour,&min);printf("before:%dh%dmm\n",hour,min);tran=hour*60+min;printf("after:%dmin\n",tran);}4、#include <stdio.h>main(){int a,n,i;float p,result=1;printf("Input a,n,p:");scanf("%d,%d,%f",&a,&n,&p);for(i=1;i<=n;i++)result=result*(1+p); //求(1+p)的n次方result=a*result-a;printf("\n到期利息为:%f\n",result);}5、#include <stdio.h>#define PI 3.14159main(){float r,h,l,s,v;printf("Input r,h:");scanf("%f,%f",&r,&h);l=2*PI*r;s=PI*r*r;v=PI*r*r*h;printf("r=%f,h=%f\nl=%f,s=%f,v=%f\n",r,h,l,s,v);}6、#include<stdio.h>void main(){ int a,b;long c;scanf("%d%d",&a,&b);c=(b%10)*1000+(b/10)*100+(a%10)*10+a/10; /*将a数的十位和个位数依次在c数个位和十位上, b数的十位和个位数依次放在c数的百位和千位*/printf("The result is:%ld\n",c);}第2节选择结构程序设计一、选择题题号 1 2 3 4 5 6 7 8 9 10答案 D B D C C B C D B C A题号11 12 13 14 15 16 17 18 19 20答案 B A B C B B C B B C A题号21 22 23 24 25 26 27 28答案 D B B C C C A A二、填空题1、&& || !2、x>2&&x<3||x<-103、y%2==14、x<z||y<z5、((x<0&&(y<0))||((x<0)&&(z<0))||((y<0)&&(z<0))6、17、08、19、0 10、0 11、0 12、1 13、0 14、[1] __ y<z ___ [2] ___ x<z ___[3]x<y 15.[1] __ c=c+5____[2] ____ c=c-21_16、[1] __ u,v ____[2] __ x>y _____[3]u>z17、[1] ____ y%4==0&&y%100!=0 _[2] __ f=0____18、[1] gz<850 [2] (gz>=850)&&(gz<1500)[3] (gz>=1500)&&(gz<2000) [4] rfgz=gz-gz*0.015 [5] rfgz=gz-gz*0.020019、[1] __10_____[2] ____9 ___[3]11三、程序分析题1、1,12、1,03、5858584、your¥3.0yuan/xiaoshi5、2nd class postage is 14p6、 F7、4:05 PM8、b=29、0.60000010、a=2,b=1 11、passwarm四、编程题1、#include “stdio.h”void main(){int n;printf(“Input a number:\n”);scanf(“%d”,&n);if((n%5==0)&&( n%7==0)) printf(“yes\n”);else printf(“no\n”);}2、#include “stdio.h”void main(){int a,b;printf(“Input two number:\n”);scanf(“%d%d”,&a,&b);if(a*a+b*b>100) printf(“%d\n”,(a*a+b*b)/100);else printf(“%d\n”,a+b);}3、main(){float x;int y;printf("\n input x:");scanf("%f",&x);switch(x<0){case 1:y=-1;break;case 0:switch(x==0){case 1:y=0;break;default:y=1;}}printf("\n y=%d",y);}4、#include <stdio.h>#include <math.h>main(){float x,y;printf("Input x:");scanf("%f",&x);if(x<0)y=x*x*x;else if(x==0)y=0;elsey=sqrt(x);printf("x=%f,y=%f\n",x,y);}5、#include <stdio.h>main(){int n,n1,n2,n3,n4,n5,nn;printf("Enter n(n>=0 && n<99999):");scanf("%d",&n);if(n>=10000&&n<=99999){printf("n是5位数\n");n1=n%10;n2=(n/10)%10;n3=(n/100)%10;n4=(n/1000)%10;n5=n/10000;printf("n每一位上的数字是(从高到低)%d,%d,%d,%d,%d\n",n5,n4,n3,n2,n1);nn=n1*10000+n2*1000+n3*100+n4*10+n5;printf("n的逆序数为%d\n",nn);}if(n>=1000&&n<=9999){printf("n是4位数\n");n1=n%10;n2=(n/10)%10;n3=(n/100)%10;n4=n/1000;printf("n每一位上的数字是(从高到低)%d,%d,%d,%d\n",n4,n3,n2,n1);nn=n1*1000+n2*100+n3*10+n4;printf("n的逆序数为%d\n",nn);}if(n>=100&&n<=999){printf("n是3位数\n");n1=n%10;n2=(n/10)%10;n3=n/100;printf("n每一位上的数字是(从高到低)%d,%d,%d\n",n3,n2,n1);nn=n1*100+n2*10+n3;printf("n的逆序数为%d\n",nn);}if(n>=10&&n<=99){printf("n是2位数\n");n1=n%10;n2=n/10;printf("n每一位上的数字是(从高到低)%d,%d\n",n2,n1);nn=n1*10+n2;printf("n的逆序数为%d\n",nn);}if(n>=0&&n<=9){printf("n是1位数\n");printf("n每一位上的数字是(从高到低)%d\n",n);nn=n;printf("n的逆序数为%d\n",nn);}}6、#include <stdio.h>main(){float i,r;printf("Input i(万元):");scanf("%f",&i);if(i<=10)r=i*0.1;else if(i<=20)r=10*0.1+(i-10)*0.075;else if(i<=40)r=10*0.1+10*0.075+(i-20)*0.05;else if(i<=60)r=10*0.1+10*0.075+20*0.05+(i-40)*0.03;else if(i<=100)r=10*0.1+10*0.075+20*0.05+20*0.03+(i-60)*0.015;elser=10*0.1+10*0.075+20*0.05+20*0.03+40*0.015+(i-100)*0.01;printf("i=%f,r=%f\n",i,r);}7、#include <stdio.h>#include <math.h>void main(){ double s=0.0;int i,n;scanf("%d",&n);for(i=0; i<n;i++)if(i%5==0 && i%11==0)s=s+i;s=sqrt(s);printf("s=%f\n",s); }8、#include <stdio.h>main(){ int n,g,sh;printf("Enter a two-digit number:");scanf("%d",&n);printf("Y ou entered the number ");if(n>=10 && n<=19)switch(n){ case 10:printf("ten\n");break;case 11: printf(" eleven\n");break;case 12:printf("twelve\n");break;case 13:printf("thirteen\n");break;case 14:printf("fourteen\n");break;case 15:printf("fifteen\n");break;case 16:printf("sixteen\n");break;case 17:printf("seventeen\n");break;case 18:printf("eighteen\n");break;case 19:printf("nineteen\n");break;}else{g=n%10;sh=n/10;switch(sh){case 2: printf("twenty");break;case 3:printf("thirty");break;case 4:printf("fourty");break;case 5:printf("fifty");break;case 6:printf("sixty");break;case 7:printf("seventy");break;case 8:printf("eighty");break;case 9:printf("ninety");break;}switch(g){case 0:printf("\n");break;case 1:printf("-one\n");break;case 2:printf("-two\n");break;case 3:printf("-three\n");break;case 4:printf("-four\n");break;case 5:printf("-five\n");break;case 6:printf("-six\n");break;case 7:printf("-seven\n");break;case 8:printf("-eight\n");break;case 9:printf("-nine\n");break;}}}第3节循环结构程序设计一、选择题题号 1 2 3 4 5 6 7 8 9 10 答案 B A B B A B C D B B 题号11 12 13 14 15 16 17 18 19 20 答案 A B A A C C C D C A 题号21 22 23 24 25 26 27 28 29 30答案 A B C D B D B C A D题号31 32 33 34答案 B B B B二、填空题1.[1] ____ x>=0_______ [2] ____ x<amin ___________ 2.[1] _____ c!=`\n`__ [2] c>=`0`&&c<=`9`__3.[1] ______ x1 ______ [2] ______ x1/2-2_______4.[1] __ r=m;m=n;n=r;[2] ____ m%n ________ _____ 5.[1] __ i%3==2&&i%5==3&&i%7==2 _[2] ____ j%5==0____ 6.[1] _____ n%10 ______ [2] _____ max=t ____7.[1] _______ i<x ______8.[1] ________2*x+y*4==90____9.[1] ___ t=t*i _________ [2] ______ t=-t/i _______ 10.[1] ____ m=n __ [2] _____ m ___ [3] ____ m=m/10______ 11.[1] ____ m=0,i=1_____ [2] ___ m=m+i _________ 12.[1] _____ k ____ [2] ___ k/10_____13.[1] _____ break ___ [2] ____ i= =11或i>=11__________ 14.[1] _____ i<=9 ____ [2] ______ j%3!=0____15、[1]b=i+1 16、[1]t>eps [2] 2.0*s17、[1] (ch=getchar()) [2] front!=' ' [3] ch三、程序分析题1、172、6689773、0111224、s=35、3,1,-1,3,1,-1,3,1,-1四、编程题1、#include “stdio.h”void main(){ int k,s=0;scanf("%d",&k);while(k>0){ if(k%3==0&&k%7!=0)s++ ;scanf("%d",&k);}printf("s=%d\n",s);}2、#include “stdio.h”void main( ){ int sum,n,i,s=0;for(n=200;n<=500;n++){ sum=0;for(i=1;i<=n/2;i++)if(n%i==0) sum+=i;if(sum= =n)s=s+n; }printf(“s=%d\n”,s); }3、#include "stdio.h"void main(){ int n,x=1;for(n=9;n>=1;n--)x=2*(x+1);printf("n=%d",x);}4、#include "stdio.h"void main(){ int x,y,z;for(x=1;x<=19;x++)for(y=1;y<=33;y++)for(z=1;z<=99;z++)if((x+y+z==100)&&(5*x+3*y+z/3==100))printf("X=%d,Y=%d,Z=%d\n",x,y,z);}5. main(){int i,n=0;for(i=100;i<=600;i++){a=i/100;b=i%100/10;c=i%10;if((b+c)%10==a)n++; }printf(“n=%d\n”,n);}6、#include <stdio.h>void main(){int i,sum=0,a,b,c;for(i=123;i<433;i++){a=i/100;b=i/10%10;c=i%10;if(a!=b&&a!=c&&b!=c&&(a>0)&&(a<5)&&b>0&&b<5&&c>0&&c<5) {sum++;printf("%d ",i);}}printf("\n%d\n",sum);}7、输出9*9口诀表。

上海理工大学C语言2011期中试题和答案

上海理工大学C语言2011期中试题和答案
3)超过20公里的,超过部分每公里加0.50元,编一程序完成自动计费工作。
#include<stdio.h>
void main()
{float m,n,s;
while(1)
{ printf("输入0,则结束输入\n");
printf("输入重量"); scanf("%f",&m);
if (m==0) break;
#include "stdio.h"
void main()
{int men,women,child;
for(men=0;men<=15;men++)
for(women=0;women<=22;women++)
{child=45-men-women;
if(men*3+women*2+child*0.5==45)
{ inti,count;
float score,sum=0,average;
p(“%d”,&count);
for (i=0;i<count;i++)
{ printf(“请输入第%d个学生的成绩:”,i+1);
scanf(“%f”,&score);
sum+=score;
float n=1.0,t=1.0,sum-0.0;
while (fabs(t)>1e-6)
{ sum=sum+t;
n=n+2;
sign=-sign;
t=1/n*sign;
}
printf(“pi=%f\n”,sum*4);

上海理工大学《C 语言程序设计》2021-2022学年第一学期期末试卷A卷

上海理工大学《C 语言程序设计》2021-2022学年第一学期期末试卷A卷

装订线switch(a+1){case 10:a++;case 11:++a;break;default:a=a+1;}运行该段程序后a 的值是__A)10B)11C)12D)137.有定义:float a[10],*p1,*p2;则下列运算中____是错误的.A)p2=p1=aB)p2=a+1C)p1=&a[9]D)p1=a[0]+18.若有程序段:int a[2][3]={{1,2,3},{4,5,6}};int *p =&a[0][0];则下列哪个表达式的值是3A)a B)*(a+2)C)*(p+2)D)(*(a+1))[2]9.以下说法正确的是A)一个函数的返回值的类型由调用该函数的主调函数的类型决定B)C 语言程序总是从main 函数开始执行C)C 语言程序中main 函数必须放在程序的开始部分D)C 语言程序总是从编写在最前面的函数开始执行。

10.数组名作为参数传递给函数,作为实际参数的数组名被处理为___A)该数组的首地址B)该数组的长度C)该函数中各元素的值D)该数组的第一个元素的值void disp(int a[]){int j;for(j=0;j<10;j++){printf(”%6d”,a[j]);if((j+1)%5==0)puts(“\n”);};}#define MAXSIZE100void rev(int array[],int size){int j,x[MAXSIZE];for(j=0;j<size;++)x[j]=array[j];for(j=0;j<size;j++)array[j]=x[size-1-j];}写出程序注释处,即第2次调用disp()时,输出结果。

2.#include<stdio.h>main(){int a[10],s,p,j=0,k=0;scanf("%d",&s);while(s>-1){a[++k]=s;scanf("%d",&s);};for(p=1;p<=k;p++)if(a[p]%2==0)a[j++]=a[p];for(p=0;p<j;p++)printf("%4d",a[p]);}上面的程序运行时输入数据如下:7↙8↙3↙18↙-1↙(1)写出程序运行的输出结果(2)第一个for循环结束后变量j的值是多少,表示什么含义?3.写出程序运行结果。

哈理工C语言试题

哈理工C语言试题

哈尔滨理工大学Array 2007-2008学年第一学期考试试题A卷考试科目:结构化程序设计C 考试时间:120分钟试卷总分100分一、选择题1. 2. 3. 4. 5.6. 7. 8. 9. 10.11. 12. 13. 14. 15.16. 17. 18. 19. 20.二、填空题1.2.3.4.5.6.7.8.三、阅读程序,写出运行结果1. 2.3. 4.5. 6.四、程序设计1.2.3.哈尔滨理工大学2007-2008学年第一学期考试试题A 卷答案填在答题卡上一、选择题(在每个小题四个备选答案中选出一个正确答案)(本大题共20小题,每小题1分,总计20分)1.若有程序段:int i=2,j;j=i++;printf(“%d,%d”,++i,j);该程序段的输出结果是______[A] 3,2 [B] 4,3 [C] 3,3 [D] 4,22.double x,y;表达式x=1,y=x+3/2的值是______[A] 1 [B] 2 [C] 2.0 [D] 2.53.若变量已正确定义并赋值,表达式______不符合C语言语法。

[A] a*b/c;[B] 3.14%2[C] 2, b [D] a/b/c4.对于以下的变量定义,表达式_____不符合C语言语法。

struct node { int len;char *pk;} x = {2, "right"}, *p = &x;[A] p->pk[B] *p.pk [C] *p->pk [D] *x.pk5.有如下程序int func(int a,int b){ return(a+b);}main(){ int x=2,y=5,z=8,r;r=func(func(x,y),z);printf(“%\d\n”,r);}该程序的输出的结果是_____[A] 12 [B] 13 [C] 14 [D] 156.若在定义语句int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是______[A]scanf(“%d”,a,b,c) [B]scanf(“%d%d%d”,a,b,c) [C] scanf(“%d”,p) [D] scanf(“%d”,&p) 7.若变量已正确定义,有以下程序段i=0;do printf(“%d”,i); while(i++);printf(“%d\n”,i);[A]0,0 [B]0,1 [C]1,1 [D]程序进入无限循环8.若有定义语句:int a[2][3],*p[3];则以下语句中正确的是________[A]p=a [B]p[0]=a [C]p[0]=&a[1][2] [D]p[1]=&a系:软件学院软件工程出题教师郭红、张淑丽、王春英系主任:9.有以下程序段int k=0while(k=1)k++;while 循环执行的次数是______[A]无限次[B]有语法错,不能执行[C]一次也不执行[D]执行1次10.在C语言中,共用体类型变量在程序运行期间_______[A] 所有成员一直驻留在内存中[B] 只有一个成员驻留在内存中[C] 部分成员驻留在内存中[D] 没有成员驻留在内存中11.下面程序段的运行结果是:long fun( int n){ long s;if(n= =1 || n= =2) s=2;else s=n-fun(n-1);return s;}main(){ printf(“%ld\n”, fun(3)); }[A]1 [B]2 [C] 3 [D] 412.设有定义:int a=1,b=2,c=4;则以下选项中值为0的表达式是_____[A] (!a= =1)&&(!b= =0) [B] (a<b)&&!c||1 [C] a&&b [D] a|| (b+b)&&(c-a) 13.若t为double类型,则表达式:t=1,t+5,t++的值是______[A]1 [B]6.0 [C] 2.0 [D] 1.014.设变量定义为“int x, *p=&x;”,则&*p相当于_____。

哈理工c语言期末试题及答案

哈理工c语言期末试题及答案

哈理工c语言期末试题及答案一、选择题(每题2分,共20分)1. 下列选项中,不属于C语言数据类型的是()。

A. intB. floatC. stringD. double答案:C2. C语言中,用于定义结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A3. 下列关于C语言函数的描述,错误的是()。

A. 函数可以没有返回值B. 函数可以有多个返回值C. 函数可以有默认参数D. 函数可以有任意数量的参数答案:C4. 在C语言中,用于声明数组的语法是()。

A. int arr[5];B. int arr[];C. int [5]arr;D. int arr=5;答案:A5. 下列关于指针的描述,正确的是()。

A. 指针可以存储任何类型的数据B. 指针可以存储变量的地址C. 指针本身没有数据类型D. 指针不能作为函数的参数答案:B6. 在C语言中,用于实现循环结构的关键字是()。

A. forB. whileC. do-whileD. 以上都是答案:D7. 下列关于文件操作的描述,错误的是()。

A. 文件操作需要使用文件指针B. 文件指针是指向FILE结构的指针C. 文件操作只能用于文本文件D. 文件操作包括打开、关闭、读写等操作答案:C8. C语言中,用于定义枚举类型的关键字是()。

A. enumB. unionC. structD. typedef答案:A9. 下列关于预处理命令的描述,正确的是()。

A. #define可以定义宏B. #include可以包含头文件C. #define和#include都可以定义宏D. #define和#include都可以包含头文件答案:A10. 在C语言中,用于定义联合体的关键字是()。

A. structB. unionC. enumD. typedef答案:B二、填空题(每题2分,共20分)1. 在C语言中,表示逻辑“与”的运算符是____。

  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);
相关文档
最新文档