华中科技大学2011级信息学院C语言试卷及答案
void FindMaxString(char *str, char *max); int main(void) { char str[MAXLENGTH],max[MAXWORDLENGTH] = ""; printf("Please input the string : "); gets(str); FindMaxString(str, max); printf("The max word is : "); puts(max); return 0; } void FindMaxString(char *str, char *max) { char word[MAXWORDLENGTH]; char *p = word; while(*str != '\0') { for(;*str == ' '; str++); for(;*str != ' ' && *str != '\0';) *p++ = *str++; *p = '\0'; if(strcmp(p = word, max) > 0) strcpy(max, word); } } 第三题 某班有学生若干名,每名学生信息有姓名、学号、性别和英语、语文、数学的成绩组成,是编程要求:(14 分) (1)学生信息由键盘输入; (2)按平均分数从高到低排序并显示; (3)显示平均分不及格的男生信息。 #include<stdio.h>
i=find(str); printf(“%d\n”,i);
void find(int *p)
int max=p[0]; for(i=1;i<N;i++) if(p[i]<max) max=p[i];
return max;
float func(float z,float *add); main() { int a,b,c; flaot add2_v,add3_v; scanf(“%f,%f”,a,b); add3_v=func(a,b,add2_v); printf(“add2_v=%f,add3_v=%f” ,add2_v,add3_v); } func(int x,float y,float add) { float *temp; sub=x*x+y*y+z*z; *temp=x*x*x+y*y*y+z*z*z; return *temp; }
四、程序填空。(10 分) 第一题 编一程序实现一个最简单的计算器的功能, 如输入 3+5 回车显示 3+5=8; 输错就退出(输入的不是加减乘除运算 就算错) #include<stdio.h> #include<math.h> void main() { float a,b,s; char op; while(1) { scanf("%f%c%f",&a,&op,&b); if((op!='+')&&(op!='-')&&(op!='*')&&(op!='/')) break; switch(op) { case '+': printf("%f+%f=%f",a,b,a+b); break; case '-': printf("%f-%f=%f",a,b,a-b); break; case '*': printf("%f*%f=%f",a,b,a*b); break; case '/': if(fabs(b)<1e-6) printf("除法错"); else printf("%f/%f=%f",a,b,a/b); break; } } } 第二题 编程计算 sin( x) x
"superstar", "superstar", "superstar", "superstar", "superstar", NULL};
int i; for(i=0;pstr[i]!=NULL;i++) { printf("%s\n",pstr[i]+i); }
Hale Waihona Puke } 输出结果 superstar uperstar perstar erstar rstar 第四题 代码 #include<stdio.h> void main() { char *str[]={"happywuhan","beijingok","chinayes","hongkong"}; char **p[]={str+3,str+2,str+1,str}; char ***pp=p; ++pp; printf("%s",**pp); printf("%s",*--*pp+3); ++pp; printf("%s",*(*(pp-1)-1)+1); } 输出结果 chinayesjingokappywuhan 第五题 代码 #include<stdio.h> struct Student { char No[20]; char name[20]; char sex; int age; }; void main() { struct Student stu[3]={{"101s1","Liu Lin",'M',18}, {"101m2","Zou fan",'M',19}, {"101x4","You min",'M',20},}; struct Student *p; int m; for(p=stu;p<stu+2;p++)
printf("%s:%s:%d\n",p->No+3,p->name+4,p->age); } 输出结果 s1:Lin:18 m2:fan:19
六、编写程序 第一题 编写一猜数游戏,随机产生某个整数,从键盘反复输入整数进行猜数,当未猜中时,提示输入过大或过小。猜 中时,指出猜的次数。最多允许猜 20 次。(9 分) #include<stdio.h> #include<stdlib.h> #include<time.h> void main() { int a,b,i; randomize(); a=random(32767); for(i=0;i<20;i++) { printf("请猜数\n"); scanf("%d",&b); if(a==b) { break; } else if(b>a) { printf("过大\n"); } else { printf("过小\n"); } } if(i<20) { printf("猜的次数为%d",i+1); } else { printf("未猜中");
x3 x5 x 7 x9 3! 5! 7! 9!
,并使最后一项的绝对值小于 1e-6 为止, x 从键盘输入。
#include<stdio.h> #include<math.h> void main() { int i; float x,sum,a,b; char s; printf("please input x:");
#define N 10 struct student { char name[10]; char no[10]; char sex; float score[3]; float ave; }; void input(struct student *p); void sort(struct student *p); void disp(struct student *p); void main() { struct student stu[N]; input(stu); sort(stu); disp(stu); } void input(struct student *p) { int i; for(i=0;i<N;i++) { scanf("%s%s%c%f%f%f",p->name,p->no,&p->sex,&p->score[0],&p->score[1],&p->sc ore[2]); p->ave=(p->score[0]+p->score[1]+p->score[2])/3; p++; } } void sort(struct student *p) { int i,j; struct student temp; for(i=0;i<N-1;i++) for(j=0;j<N-1-i;j++) { if(p[j].ave<p[j+1].ave) { temp=p[j]; p[j]=p[j+1]; p[j+1]=temp;
2011 级信息学院《C 语言程序设计》考试试题
2011年9月全国计算机等级考试C语言笔试试卷、答案 电子书.txt
k2的值分别为___________。
A)0和1 B)0和20 C)10和1 D)10和20
(17)B 【解析】根据清华大学出版社“C程序设计”P94关于逻辑表达式运算规定(1),
a&&b&&c,只要a为0,则不必判别b和c;若a为1才判别b;若b为0,则不必判别c。
现题目逻辑表达式左边(k1=k1>k2)为0,右边不再判别,所以答案是a为0;b仍为原值20。
(18)有以下程序
#include <stdio.h>
main()
{ int a=1,b=0;
是所有用户的公共数据视图。外模式也称用户模式,它是数据库用户能够看见和使用的局部
数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑
表示。内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的
描述,是数据在数据库内部的表示方式,所以正确答案为D。
(9)有三个关系R、S和T如下:
R S T
A
B
C
A
B
C
A
B
C
a
1
2
a
1
2
c
3
1
b
2
1
b
2
1
C
3
1
则由关系R和S得到关系T的操作是___________。
辑判断值为0,输出y;D) 逻辑判断值a==0为1,输出x
华中科技大学级C语言程序设计考试经典试卷复习资料
华中科技大学10级《C语言程序设计》考试试卷课程性质:必修使用范围:本科考试时间:年月日考试方式:闭卷学号______________专业_______班级____姓名___________成绩____一、选择题(每小题2分,共20分)( A )(1)若x、y、j和k都是int型变量,则计算表达式x=( k=32,j=6, i=4)后,x的值为。
A)4 B)16 C)32 D)52( B )(2)C语言中标识符只能由字母、数字和下划线组成,且第一个字符。
A)必须为字母 B)必须为字母或下划线C)必须为下划线 D)可以是字母、数字和下划线中任一种字符( D )(3)下面四个选项中,均是正确的数值常量或字符常量的选项是。
A)0.0 0f 8.9e '&' B)"a" 3.9e-2.5 1e1 '\"'C)'3' 011 0xFF00 0a D)+001 0xabcd 2e2 50( B )(4)已知各变量的类型说明如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下符合C语言语法的表达式是。
A)a=a*3=2 B)a+=a-=(b=4)*(a=3)C)x+y=-3*a D)y=float(i)( A )(5)若以下变量均是整型,且num=sum=5;则计算表达式num++,sum++,++num后num的值为。
A)7 B)8 C)9 D)10( B )(6)在C语言中,引用数组元素时,其数组下标的数据类型允许是。
A)整型常量 B)整型常量或整型表达式C)整型表达式 D)任何类型的表达式( C )(7)以下能对一维数组a进行正确初始化的语句是。
A)int a[10]={0,0,0,0,0} B)int a[10]={ };C)int a[ ]={0}; D)int a[10]={10*1};/*各元素值为1*/( B )(8)下面程序(注:每行程序前面的数字表示行号)。
201103二级c语言全真题05详解
本文由lyyying123贡献 doc文档可能在WAP端浏览体验不佳。
建议您优先选择TXT,或下载源文件到本机查看。
一、选择题 (1)D 【解析】 算法的复杂度主要包括算法的时间复杂度和算法的空间复杂度。
所谓算法的时间 复杂度是指执行算法所需要的计算工作量;算法的空间复杂度是指执行这个算法所需要的内存 空间。
(2)D 【解析】 在结构化程序设计中,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利 于提高软件模块的独立性,也是模块划分的原则。
(3)C 【解析】 软件测试的目标是在精心控制的环境下执行程序,以发现程序中的错误,给出程序 可靠性的鉴定。
它有3个方面的重要特征,即测试的挑剔性、完全测试的不可能性及测试的经济 性。
其中,没有测试的可靠性这一说法。
(4)A 【解析】 对象是由数据和容许的操作组成的封装体,与客观实体有直接的对应关系,对象之 间通过传递消息互相联系,从模拟现实世界中不同事物彼此之间的联系,B)、C)、D)是正确的,对 象的思想广泛应用于C++、Java等语言中,因此A)错误。
(5)C 【解析】 队列是一种操作受限的线性表。
它只允许在线性表的一端进行插入操作,另一端 进行删除操作。
其中,允许插入的一端称为队尾(rear),允许删除的一端称为队首(front)。
队列具有 先进先出的特点,它是按"先进先出"的原则组织数据的。
(6)D 【解析】 依据后序遍历序列可确定根结点为c;再依据中序遍历序列可知其左子树由deba构 成,右子树为空;又由左子树的后序遍历序列可知其根结点为e,由中序遍历序列可知其左子树为d, 右子树由ba构成,如下图所示,求得该二叉树的前序遍历序列为选项D)。
(7)A 【解析】 对于任何一棵二叉树T,如果其终端结点(叶子)数为n1,度为2的结点数为n2,则 n1=n2+1,所以该二叉树的叶子结点数等于n+1。
(8)C 【解析】 对于两个关系的合并操作可以用笛卡尔积表示。
2011年计算机二级C语言编写程序题及答案解析精选1
2011年计算机二级C语言编写程序题及答案解析精选【4.1】已知银行整存整取存款不同期限的月息利率分别为:0.315%期限一年0.330%期限二年月息利率=0.345%期限三年0.375%期限五年0.420%期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。
【4.2】输入年份year和月month,求该月有多少天。
判断是否为闰年,可用如下C语言表达式:year%4==0&&year0!=0||year@0==0。
若表达式成立(即表达式值为1),则year 为闰年;否则,表达式不成立(即值为0),year为平年。
【4.3】编写一个简单计算器程序,输入格式为:data1op data2。
其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。
【4.4】输入n值,输出如图所示矩形。
【4.5】输入n值,输出如图所示平行四边形。
【4.6】输入n值,输出如图所示高为n的等腰三角形。
【4.7】输入n值,输出如图所示高为n的等腰三角形。
【4.8】输入n值,输出如图所示高和上底均为n的等腰梯形。
【4.9】输入n值,输出如图所示高和上底均为n的等腰空心梯形。
【4.10】输入n值,输出如图所示边长为n的空心正六边型。
【4.11】输入n值,输出如图所示图形。
【4.12】输入n值,输出如图所示图形。
【4.13】输入n值,输出如图所示图形。
【4.14】输入n值,输出如图所示图形。
【4.15】输入n值,输出如图所示图形。
【4.16】输入n值,输出如图所示图形。
(例为n=6时)【4.17】编写程序,输出如图所示sin(x)函数0到2π的图形。
【4.18】编写程序,在屏幕上输出一个由*号围成的空心圆。
【4.19】编写程序,在屏幕上绘制如图余弦曲线和直线。
若屏幕的横向为x轴,纵向为y 轴,在屏幕上显示0~360度的cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。
2011信息工程学院C语言2期末试卷(A)
杭州电子科技大学信息工程学院考试试卷(A)卷考试课程计算机应用基础与程序设计(C语言)2考试日期2011年6月 13 日成绩课程号教师号任课教师姓名考生姓名学号年级专业说明: 请将全部答案都书写在第5页答题纸上,否则答题无效。
试题一、判断题 (共10分) (用‘√’或‘×’标注对错)1.void类型的函数一定无形参。
×2.函数f中有语句return(x,y);则函数f可以返回x、y这两个值。
×3.函数f可以用f(f(x))形式调用,这种调用形式是递归调用。
×4.数组元素的下标必须是整数,不能用实数。
√5.若有定义语句“int a[10];”则a[10-9/2] 是合法的数组元素。
√6.若有定义“int a[5][6];”,则在数组元素a[2][4]前有16个元素。
√7.若有定义语句“int a[10],i=2;”,则&a[i]与a+i等价。
√8.数组定义语句“char c[ ]= "Hello";”与“char c[ ]={‘H’,’e’,’l’,’l’,’o’};”等价。
× 9.语句“double *p=&x,x;”使指针变量p指向变量x。
×10.若fp已正确定义并指向某文件,当未遇到该文件结束标志时函数feof(fp)的值为0。
√试题二、单选题,根据题目从A、B、C、D中,选择一个正确的选项(共20分)1.C语言传值调用的特点是( C )。
A.实参必须是变量B.实参传给形参变量的数据是地址C.在函数中形参变量值改变后,不改变实参变量的值D.在函数中形参变量值改变后,实参变量的值随之也改变2.如果在函数中定义一个变量,有关该变量作用域正确的是( A )。
A.只在该函数中有效 B.在该文件中有效C.在本程序中有效D.为非法变量3.C 语言总是从( A )函数开始执行。
A. main B.处于最前的 C.处于最后的 D.随机选一个4.根据下面函数print的定义,选出调用函数print(63429)的值是( B )。
华中科技大学C语言试卷
计算机学院2008-2009学年第2学期C语言程序设计考试试卷一、单项选择题(在下面每小题的A、B、C、D四个选项中,只有一个选项是正确的,请选择正确的选项并填写到括号内,选择正确得分。
本大题共10小题,每小题1分,共10分。
)1、ENUM是【 b 】A、合法标识符B、C语言的关键字C、合法的字符串D、既不是C语言的关键字,也不是合法的字符串或标识符2、下列数据中属于合法字符常量的是【 d 】A、'\'B、'\xag'C、'45'D、'\''3、下列数据中合法的浮点型常量是【 c 】A、E+10B、2E+1.5C、2E-10D、0x2.5E104、下列数据中与256等值的数为【】A、0256B、0400C、0x400D、0x2565、以下叙述中正确的是【】A、局部变量说明为static存储类型,其生存期将得到延长B、全局变量说明为static存储类型,其作用域将被扩大C、任何存储类型的变量在未赋初值时,其值都是不确定的D、形参可以使用的存储类型说明符与局部变量完全相同6、 -127的16位补码的十六进制表示是【】A、0xff81B、0x807fC、0xff80D、0x80807、对于下面的数组声明,正确的是【】A、int x[][5];B、char t[ ]={…a‟,‟b‟,‟c‟,‟\0‟};C、int n=5,a[n];D、char s[5]=“abcde”;8、若有以下说明和语句,则在执行for语句后,*(*pt+2)表示的数组元素【】int t[3][3],(*pt)[3],k;for (k=0;k<3;k++) pt = t+k;A、t[1][2]B、t[2][0]C、t[2][1]D、t[2][2]9、已知枚举类型定义: enum a {ONE=5,TWO=3,THREE}; 则THREE的值的是【】A、1B、2C、4D、010、设有以下说明和语句,则表达式z.y.a2的值的是【】struct packed {unsigned short a1 : 2;unsigned short a2 : 2;unsigned short a3 : 4;unsigned short a4 : 8;};union {short x;struct packed y;} z;z.x=0xabab;A、11B、3C、2D、10二、多项选择题(下面每小题的A、B、C、D备选项中,有两个或两个以上的选项是正确的,请选择正确的选项并填写到括号内,多选、少选、错选均不得分。
2011年计算机二级C语言各类题型试题及答案解析精选汇总
一、单项选择题【1.1】以下不正确的C语言标识符是____。
A) int B) a_1_2 C) ab1exe D) _x【1.2】以下是正确的C语言标识符是____。
A) #define B) _123 C) %d D) \n【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。
••• A) print B) i\am C) Pxq D) str_l ••• _3d one_half My->book Cpp ••• oodbs tart$it line# pow ••• aBc 3pai His.age while【1.4】下面各选项组中,均是C语言关键字的组是。
A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type【1.5】下列不属于C语言关键字的是。
A) default B) register C) enum D) external【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。
A) 程序文件的开始B) 程序文件的最后C) 它所调用的函数的前面D) 程序文件的任何位置【1.7】下列关于C语言的叙述错误的是____A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义【1.8】在C语言中,错误的int类型的常数是。
A) 32768 B) 0 C) 037 D) 0xAF【1.9】执行语句printf("%x",-1);屏幕显示____。
A) -1 B) 1 C) -ffff D) ffff【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。
华中科技大学c程序设计考试题
1.c++系统预定了4个用于标准数据流的对象,下;正确答案:【D】分值:【1】;2.设有说明:charw;intx;floaty;正确答案:【D】分值:【1】;3.下列对析构函数的描述中,正确的是(____);C.析构函数的定义只能在类体内D.析构函数可以有;正确答案:【A】分值:【1】;4.下列定义数组的语句中正确CPP程序设计模拟考试 1--第2套试卷1.c++系统预定了4个用于标准数据流的对象,下列选项中不属于此类对象的是(____) A.cout B.cin C.cerr D.cset正确答案:【D】2.设有说明:char w;int x;float y;double z;则表达式w*x+z-y 值的数据类型为(____) A.float B.char C.int D.double正确答案:【D】分值:【1】3.下列对析构函数的描述中,正确的是(____) A.一个类中只能定义一个析构函数 B.析构函数名与类名不同C.析构函数的定义只能在类体内D.析构函数可以有一个或多个参数正确答案:【A】分值:【1】4.下列定义数组的语句中正确的是(____)A.#define size 10 char str1[size],str2[size+2];B.char str[];C.i nt num['10'];D.int n=5; int a[n][n+2];正确答案:【A】分值:【1】5.关于this指针使用说法正确的是(____)A.保证每个对象拥有自己的数据成员,但共享处理这些数据的代码B.保证基类私有成员在子类中可以被访问。
C.保证基类保护成员在子类中可以被访问。
D.保证基类公有成员在子类中可以被访问。
正确答案:【A】分值:【1】6.所谓多态性是指(____)A.不同的对象调用不同名称的函数B.不同的对象调用相同名称的函数C.一个对象调用不同名称的函数D.一个对象调用不同名称的对象正确答案:【B】分值:【1】7.派生类构造函数的执行顺序是先执行________ 的构造函数,然后执行成员对象的构造函数,最后执行________ 的构造函数。
武汉科技大学信息学院2011期末C语言程序设计试卷A答案
2011年~2012年第2学期
课程名称:C语言程序设计专业年级:DB电子信息工程2011级
考生学号:考生姓名:
试卷类型:A卷□B卷□考试方式:开卷□闭卷□
………………………………………………………………………………………………………
一单项选择题(每小题2分,共10分)
C
B
C
D
B
二、填空题(每空2分,共28分)
for(j=n-1;j>0;j--)
*(p+j)=*(p+j-1);
*p=end;
}
}
1、x=12
x=10
x=8
2、0 0 0 0 0 0 0 0 0 0
0 2 0 3 0 4 0 5 0 6
3、a=10 b=4
a=10 b=4
a=11 b=4
a=4 b=11
a=6 b=11
四、程序填空(每空2分,共18分)
1、
【1】9【2】a[i][j]=0【3】i+j<8【4】a[i][j]=-1
for(i=0;i<10;i++)
{
if(num[i]==m)
sum++;
}
printf("sum=%d",sum);
}
2、#include <stdio.h>
void input(int num[],int n);
void output(int num[],int n);
void move(int num[],int n,int m);
void main()
{int num[10];
int m;
2011年c语言下半年c语言全国高等学校试题与答案
A)计算机病毒可以把自身复制到内存 B)长期不使用感染计算机病毒的计算机,计算机病毒可以自动消 失 C)计算机病毒可以潜伏在文件中并不立即发作 D)计算机病毒可以侵占系统资源,影响系统运行性能 9.网址中http表示————。 A)用户名 B)主机的IP地 址或域名 C)超文本传输协议 D)资源在主机上 的存放路径 10.用高级程序设计语言编写的程序称为————程序。 A)源 B)可执行 C)伪代码 D)目标 11.以下选项中叙述正确的是————。 A)C语言程序总是从第一个定义的函数开始执行 B)在C语言程序中,被调用的函数必须在main()函数中声明 C) 语言程序总是从main()函数开始执行 D)C语言程序中的main()函数必须存放在程序的开始部分 12. C语言程序的三种基本结构是顺序结构、选择结构和————结 构。 A)循环 B)递归 C)转移 D)嵌套 13.以下选) double C) char D)bool 14.以下选项中正确的C语言标识符是————。 A) 2b B) x_1 C) a@b D) 3#h 15. 以下选项中有关C语言的叙述错误的是————。 A)变量不能使用大写字母命名 B)在一个表达式中可以出现不同类型的变量 C)可以将一个字符型常量赋值给一个整型变量 D)可以将一个整型常量赋值给一个实型变量 16. 以下选项中,和语句K=N++;等价的是————。 A)k=n,n=n+1 B) n=n+1,k=n C) k=++n D) k=n+1 17. 已知:int i=3,j=2;,则执行语句j*=i+2;printf("%d",j);后,输出结果是 ————。 A) 8 B) 10 C) 12 D)14 18. 已知int a=2,b=3,c',,则执行语句c=(a+2,b+2);后,c的输出结果
