选修课C语言期末作业

发布 2022-09-04 06:36:28 阅读 2860

2010—2011学年第二学期c语言作业。

一、单项选择(每题2分,共20分)

1.以下用户标识符中合法的是( d)

a.stu#no b.int c.123 d._num

2.在c语言中,每个语句必须以( d )结束。

a.冒号 b.回车符 c.逗号 d.分号。

3.设变量a是整型,b是单精度型,c是双精度型,d是字符类型,则表达式d+a+b*c值的数据类型是( c )

a.int b.float c.double d.char

4.以下选项中,正确的定义语句是( c )

a.int a;b; b.int a=b=2; c.int a=2,b=2; d.int,a,b;

5.以下说法正确的是( b )

a.c语言程序总是从第一个函数开始执行的;

b.c语言程序总是从main函数开始执行;

c.在c语言程序中,要调用的函数必须在main函数中定义;

d.一个c语言程序中允许定义几个main函数;

6.若有定义语句:int arr=i=4;,则下面对arr数组元素的引用错误的是(b )

a.arr[arr[0]] b.arr[2*2] c.arr[--i] d.arr[arr[i]]

7.设a 为整型变量,不能正确表达数学关系:10a. 10c. a>10 &&a<15 d. !a<=10) &a>=15)

8.在 c 语言中,有关函数的说法,以下正确的是(b)

a. 函数可嵌套定义,也可嵌套调用

b. 函数不可嵌套定义,但可嵌套调用

c. 函数可嵌套定义,但不可嵌套调用。

d. 函数不可嵌套定义,也不可嵌套调用。

9.有以下程序段:

int a=p=a;

p=p+2;

printf(“%d”,*p);

则*p的值是:(b)

a.30 b.20 c.10 d.40

10.以下二维数组定义语句中,错误的是(b)

a.int x[2][3]=;

b.int x[2][3]=,

c.int x[3]=,

d.int x[2][3]=;

二、填空题(每题5分,共10分)

1.三种基本程序结构是顺序、选择和循环 。

2.在c语言中,不区分字母的大小写。这句话是错误(正确、错误)

3. c语言中,二维数组的元素在内存中存储时可以不连续存放。这句话是错误 (正确、错误)

4. c语言中,定义符号常量时必须用大写字符。这句话是错误 (正确、错误)

5. c语言中,一条语句可以分成多行书写。这句话是正确 (正确、错误)

三、读程序(每题5分,共20分)

1.有以下程序。

#include <>

main( )

int s=1,n=5;

for(;n>=0;n--)

s*=n;printf("%d",s);

执行后输出结果是120 。

2.以下程序。

#include<>

void main( )

int x=2,a=0,b=0;

switch(x)

printf("a=%d,b=%d",a,b);

程序的运行结果是:a=1,b=0。

3.有以下程序。

#include<>

main( )

char str=p=str;

printf("%s",p+6);

程序的运行结果是:beijing

4.以下程序。

#include <>

main( )

int n=7;

doif(n%3==2)

if(n%4==0)

printf("%d",n); break; }

n++;while(n!=0);

printf("");

程序的运行结果是:

8+12(n-1)

5.程序**如下:

#include <>

void f(int a,int i,int j)

int t;

if(i

main( )

int i,b[5]=;

f(b,0,4);

for(i=0;i<5;i++)

printf("%d,",b[i]);

printf("");

程序的运行结果是: 5,4,3,2,1

四、程序设计(每题10分,共50分)

1. 编程求和1-2+3-4+5-6+…+99-100

解:#include<>

void main()

int i=1,j=1,sum=0;

for(;i<=100;i++)

sum+=i*j;

j=-j;printf(“结果为:%d”,n);

2. 有一个函数如下:

x (x<5)

y= 2x+6 (5<=x<15)

2x-6 (x>=15)

输入x的值,计算出相应的y值。

解:#include<>

void main()

float x,y;

printf(“请输入x的值”);

scanf(“%d”,&x);

if(x<5)

y=x;else if(x<15)

y=2*x+6;

else y=2*x-6;

printf(“对应的y的值为:%d”,y);

3. 编程分段统计学生成绩,输入为负数时结束。要求按以下五档分别统计各分数段人数。

解: #include <>main();int a;while(1)printf("90-100人数为%d,80-89人数为%d,70-79人数为%d,60-69人数为%d, 60以下人数为%d",s[0],s[1],s[2],s[3],s[4]);

4.有一个3×4的矩阵,编程输出最大元素的值,以及其所在的行号和列号。要求:数组里的元素不能用初始化的方式赋值,要从键盘输入。

解:#include<>void main()for(i=0;i<3;ifor(j=0;j<4;jif(max5. 编写程序在一个数组中删除指定下标的元素,要求:

删除功能放在一自定义函数中,并用指针变量做函数形参,在主函数中输入数组并输出删除元素后的数组。

#include<>void delete_element(int *a,int k,int n)}void main()for(i=0;i<10;iprintf("%5d",a[i]);printf("");printf("请输入删除元素的下标:");scanf("%d",&k);printf("删除后的数组的值:");delete_element(a,k,10);for(i=0;i<9;i++)printf("");

选修课作业

北京航空航天大学生物与医学工程学院,北京,100191 摘要 在航空航天领域,信息功能材料正逐渐显示出它们的重要性。在信息功能材料中,以砷化镓等为代表的半导体材料以众多优良的特性,在信息功能材料中占有重要地位。本文将简要介绍半导体材料砷化镓的制备方法 材料特点和应用状况,并对这种材料的未来发展趋势进...

选修课作业

科学技术是双刃剑吗?双刃剑 的责任在于谁?答 1 科学不是双刃剑,技术是双刃剑。因为科学就是把任何被研究的对象。进行无限放大和无限缩小,在无限放大和缩小的过程中。找到接近100 的完美理论,是现实世界各种现象的本质和规律的知识体系,是正确的学说 而技术是泛指根据生产实践经验和自然科学原理而发展成的各...

选修课作业

测绘学院10 5班 王雅鹏学号 311005010503 颍河发源于嵩山南麓的石道乡,在登封境内全长57公里。20世纪80年代以来,工业废水和生活污水不断排入,使流域内广大群众生产生活受到较大影响,流域的可持续发展受到制约。尤其是每年汛期,雨水及大量淤堵的污染物流入白沙水库,对白沙水库水质造成了极大...