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年代以来,工业废水和生活污水不断排入,使流域内广大群众生产生活受到较大影响,流域的可持续发展受到制约。尤其是每年汛期,雨水及大量淤堵的污染物流入白沙水库,对白沙水库水质造成了极大...