程序设计题
public class Employee {
private String name
private String sex
private int age
private double wage
public String getName() {
return name
}
public void setName(String name) {
this.name = name
}
public String getSex() {
return sex
}
public void setSex(String sex) {
this.sex = sex
}
public int getAge() {
return age
}
public void setAge(int age) {
this.age = age
}
public double getWage() {
return wage
}
public void setWage(double wage) {
this.wage = wage
}
public Employee() {
// TODO Auto-generated constructor stub
}
public void info(){
System.out.println("姓名:"+this.name )
System.out.println("性别:"+this.sex )
System.out.println("年龄:"+this.age )
System.out.println("工资:"+this.wage )
}
}
测试类
public class InfoTest {
public static void main(String[] args) {
// TODO Auto-generated method stub
Employee emp = new Employee()
emp.setName("张三")
emp.setSex("男")
emp.setAge(36)
emp.setWage(6000)
emp.info()
}
}
能将高级语言编写的源程序转换成目标程序的是(B、编译程序)。
以下类型选项中,不属于C语言的类型是(A、signed short)
下列叙述中,合法的C语言赋值语句是(B、i++)。
若变量c为char类型,能正确判断出c为小写字母的表达式为(D、(c>='a')&&(c<='z'))。
若有int a[4][5]则数组a包含的元素个数是(D、20)。
在主函数中定义的变量(A、只有主函数中有效。)。
若有func((v1,v2),(v3,v4,v5),v6)调用,说明函数func有(A、3)个参数。
若有int a[10]*p=a,则(C、p++可以使p指向下一元素,即a[1]的首地址。)。
设有数组定义:char array[]="Chian",则数组所占有的存储空间为(B、6)个字节。
下列函数中,不能用于对文件进行输入输出操作的是(B、printf() )。
#include <stdio.h>
int main() {
int a,b,s
printf("输入矩形的长和宽:")
scanf("%d%d",&a,&b)
s = a*b
printf("面积为:%d\n",s)
return 0
}
2、编程:输入求的半径R ,计算并输出球的体积。
#include <stdio.h>
#define pi 3.14159265358979
int main() {
int r,s
printf("输入圆的半径:")
scanf("%d",&r)
s = pi*r*r
printf("面积为:%lf\n",s)
return 0
}
3、编程:输入三个数,求出这三个数的和以及平均值,并在屏幕上输出。
#include <stdio.h>
int main() {
int a,b,c,sum
float avr
printf("输入三个整数:")
scanf("%d%d",&a,&b,&c)
sum = a + b + c
avr = sum/3.0
printf("面积为:%d,平均值为%.2lf\n",sum,avr)
return 0
}
4、编程:输入一个三位整数x(999=>x>=100),将其分解出百位、十位、各位,并求出各位之和以及各位之积
#include <stdio.h>
int main() {
int num,gw,sw,bw,sum,mult
printf("输入一个三位整数:")
scanf("%d",&num)
gw = num%10
num /= 10
sw = (num)%10
num /= 10
bw = (num)%10
sum = bw + sw + ge
mult = bw * sw * gw
printf("和为:%d,积为:%d\n",sum,mult)
return 0
}
5、编程:已知三角形的三边a=3,b=4,c=5,求其面积s 。(提示:假设有一个三角形,边长分别为a 、b 、c ,
三角形的面积S 可由以下公式求得: S=sqrt(p(p-a)(p-b)(p-c)),而公式里的p 为半周长: p=(a+b+c)/2。
#include <stdio.h>
#include <math.h> //for sqrt()
int main() {
float a,b,c
double p,s
printf("输入三角形的三条边:")
scanf("%f%f%f",&a,&b,&c)
p = (a + b + c)/2
s = sqrt(p*(p - a)*(p - b)*(p - c))
printf("%.2lf\n",s)
return 0
}
6、编写一个C 程序, 输出以下信息:
**************************
Very Good!
**************************
#include <stdio.h>
int main() {
printf("**************************\n")
printf("Very Good!\n")
printf("**************************\n")
return 0
}
7、编写一个程序, 输入a 、b 、c 三个值, 输出其中最大值.
#include <stdio.h>
int main() {
int a,b,c,m
printf("输入三个整数:")
scanf("%d%d%d",&a,&b,&c)
m = a
if(b > m) m = b
if(c > m) m = c
printf("最大值为:%d\n",m)
return 0
}
8、写出程序运行的结果:
main() {
int i,j,m,n
i = 8
j = 10
m = ++i//执行本句后,i是9,m是9
n = j++//执行完本句后,n是10,j是11
printf("%d,%d,%d,%d",i,j,m,n)//输出为9,11,9,10
}
9、写出程序运行的结果:
main() {
char a,b,c1,c2
float x,y
a = 3
b = 7
x = 8.5
y = 71.82
c1 = 'A'
c2 = 'a'
printf("a = %d b = %d/n",a,b)// a = 3 b = 7
printf("x = %f y = %f",x,y) // x = 8.5 y = 71.820000
printf("c1 = %c,c2 = %c",c1,c2)// c1 = 'A' c2 = 'a'
}
10、求ax2+bx+c=0方程的根,a,b,c 由键盘输入,假设b2-4ac>0。
#include <stdio.h>
#include <math.h> //for sqrt()
int main() {
float a,b,c,delta
float x1,x2
printf("输入二次函数系数:")
scanf("%f%f%f",&a,&b,&c)
delta = b * b - 4 * a *c
x1 = (-b + sqrt(delta))/2/a
x2 = (-b - sqrt(delta))/2/a
printf("函数的根为:x1 = %.2lf,x2 = %.2lf\n",x1,x2)
return 0
}
1、C语言规定,在一个源程序中,main()函数的位置(C )。
A) 必须在最开始 B)必须在最后
C) 可以任意 D) 必须在系统调用的库函数后面
这题你死记就行,你看看这个
任何一个C++程序都必须定义一个main函数,它的返回类型总是int类型。这个函数由操作系统来调用,在main函
数执行完以后,程序也就终止了。 main也可以使用return向操作系统返回一个值,使用操作系统的命令可以检测
main的返回值。一般约定在main返回0时,表示程序运行过程中没有出现错误,其它非零值表示程序出现异常情况。
若没有为main指定返回值,这样返回值是任意的。
2、若x和y都是int 型变量,x=100,y=200,且有以下程序段,printf(“%d”,(x,y))则其输出结果是( A)。
A) 200 B) 100 C) 100 200 D) 输出不确定值
(x,y)这是个逗号表达式,表达式的值为最后一个逗号后面表达式的值,因为前面有一个%d,所以输出 的是y的
值
3、合法的C语法字符常量是(C )。
A) “A” B) 65 C) ‘\t’ D) A
字符都是由两个单引号括起来的,死记,a)为字符串
4、表达式“3!=4”的值是(A )。
A) 1 B) 0 C) T D) F
!=是c语言的逻辑运算符,3!=4为真,多以得1, 3=4为假,值为0
5、 int a=1,b=2,c=3,d=4,执行下列程序后x的值为( C)。
if(a>b) x=1else if (c>d) x=2else x=3
A) 1 B) 2 C) 3 D) 4
如果a>b,1>2为假,不执行x=1,执行else if(c>d),判断:3>4为假,不执行x=2,执行=3,完
6、以下程序的输出结果是(D)。
Int x=10,y=3,zprintf(“%d\n”,z=(x%y,x/y))
A)1 B) 0 C) 4 D) 3
逗号表达式,x%y,10%3,商3余1,模取余数1,x/y,10/3,商3余1,除法取商3,逗号表达式,表达式的值为最后一
个逗号后面表达式的值
7、为表示x≥y≥z,应使用C语言表达式(A )。
A) (x>=y)&&(y>=z) B) (x>=y) AND (y>=z)
C) (x>=y>=z) D) (x>=y) &(y>=z)
关系运算符,x>=y与y>=z必须是同时成立的,因此要用逻辑运算符&&,&&与的意思
8、合法的数组定义是( a )。
A) int a[ ]=”string”B) int a[5]={0,1,2,3,4,5}
C) char a=”string”D) char a[ ]={“01234”}
a不指定数组长度定义,正确
b数组长度为5,就是里面有5个数组元素,多了一个数组元素
c定义a不是数组而是一个变量,素组应该是a[]
d是错的,字符串是这样定义的:char a[ ]={'0','1','2','3','4','\0'}
[4]中数字是数组长度,说明里面有几个元素
9、设x和y均为int型变量,则语句“x+=yy=x-yx-=y;”的功能是(D)。
A) 把x和y按从小到大排列 B)把x和y按从大到小排列
C)无确定结果 D)交换x和y中的值
x+=y等同于x=x+y,把x加y的值赋给x,x现在存的是x与y的和
y=x-y把x减y的值赋给y,x现在存的是x与y的和 (x+y)-y=x,把x的值给y,y存x的值
x-=y等同于x=x-y,把x减y的值赋给x,(x+y)-y=x,现在的后面的y存的是x的值,做完后x里存的值是y,完成交换
10、若已定义x和y为double类型,则表达式“x=1,y=x+3/2”的值是(C)。
A) 1 B)2 C) 2.0 D) 1.0
逗号表达式,先让x=1在算y=x+3/2,得2,因为是double类型,所以有小数点
11、下列条件语句中,功能与其他语句不同的是 (D)
A) if(a) printf("%d\n",x)else printf("%d\n",y)
B) if(a==0) printf("%d\n",y)else printf("%d\n",x)
C) if (a!=0) printf("%d\n",x)else printf("%d\n",y)
D) if(a==0) printf("%d\n",x)else printf("%d\n",y)
a 如果a为真输出x,如果a为假输出y
b 如果a==0,也就是为假,输出y,a为真输出x,同a
c 如果a!=0为真,输出x,a为假输出y同上
d 如果a为假输出x,如果a为真输出y,与以上的都不同
12、以下能正确定义二维数组的是 (C)
A) int a[][3]B) int a[][3]=2{2*3}
C) int a[][3]={0}D) int a[2][3]={{1},{2},{3,4}}
a 没有给数组赋初值
b {}里不能有*
c 正确,记住第一个[]中可以为空,第二个[]不能为空,死记
d a[2][3] 的意思是有两个一维数组,每个一维数组里有3个元素,{{1},{2},{3,4}}她的意思是三个数组,{}中的每一个{}代表一个数组,里边的数为数组元素
13、用C语言编写的代码程序 (B)
A)可立即执行 B)是一个源程序
C)经过编译即可执行 D)经过编译解释才能执行
死记
#include<string.h>
#include<malloc.h>
typedef struct stu //一个学生的档案
{
char num[20]//学号
char name[20]//姓名
float score[5]//成绩,前三门是单科成绩,第四个是总分,最后一个是平均分
}student
student s[10]//所有学生的信息
void main()
{
void init()//初始化函数申明
void sort()//排序函数申明
void print()//输出函数申明
init()
sort()
print()
}
void init()//初始化所有学生的档案
{
int i,j
for(i=0i<10i++) //逐个键入学生的信息
{
printf("请输入一学生的学号:")
scanf("%s",s[i].num)
printf("请输入该学生的姓名:")
scanf("%s",s[i].name)
printf("请输入该学生的三门成绩:")
s[i].score[3]=0
for(j=0j<3j++)
{
scanf("%f",&s[i].score[j])
s[i].score[3]+=s[i].score[j]//求总分
}
s[i].score[4]=s[i].score[3]/3//求平均分
}
printf("学生档案建立成功!\n")
}
void sort()
{
int i,j,k
char str[20]
float temp
for(i=0i<9i++) //主循环,进行排名
for(j=i+1j<10j++)
if(s[j].score[3]>s[i].score[3])
{
strcpy(str,s[i].num)//交换学号
strcpy(s[i].num,s[j].num)
strcpy(s[j].num,str)
strcpy(str,s[i].name)//交换姓名
strcpy(s[i].name,s[j].name)
strcpy(s[j].name,str)
for(k=0k<5k++) //交换成绩
{
temp=s[i].score[k]
s[i].score[k]=s[j].score[k]
s[j].score[k]=temp
}
}
}
void print()
{
int i
for(i=0i<10i++)
printf("%s %s %.1f %.1f %.1f %.1f %.1f\n",s[i].num,s[i].name,s[i].score[0],s[i].score[1],s[i].score[2],s[i].score[3],s[i].score[4]