C语言程序设计A课程复习内容和要求文本.docx
- 文档编号:29792052
- 上传时间:2023-07-27
- 格式:DOCX
- 页数:18
- 大小:22.47KB
C语言程序设计A课程复习内容和要求文本.docx
《C语言程序设计A课程复习内容和要求文本.docx》由会员分享,可在线阅读,更多相关《C语言程序设计A课程复习内容和要求文本.docx(18页珍藏版)》请在冰豆网上搜索。
C语言程序设计A课程复习内容和要求文本
(2011.12.06)C语言程序设计A课程复习内容和要求(文本)
敖开云:
徐老师,能不能把上学期本课程的考试题电子稿发给我?
我在本期的教学中需要用到它。
我的Email:
aokaiyun@谢谢!
徐孝凯:
请参考其他帖子!
甘家应:
哪儿有往届考试试题呀,谢谢。
徐孝凯:
请参考其他帖子!
秦超:
咱们学的C语言和C++有什么联系吗?
或者有什么不同?
徐孝凯:
C++是在C语言的基础上建立起来的,C++内容更丰富,增加了面向对象编程的方法!
秦超:
现在C语言用的比较多少的是那种软件?
上机运行环境?
徐孝凯:
一般采用VC++6.0运行环境!
何振川:
各位老师,大家好,我是锦州电大本门课的导学教师张悦,今年新接的课程,请大家多多指点。
徐孝凯:
请学习好教材内容并时常上机调试程序!
梅丽丽:
c语言原程序
#include
#include
voidmain()
{
inti,n;
for(n=2;n<=20;n++){
inttemp=(int)sqrt(n);//sqrt(n)求出n的平方根并取整
for(i=2;i<=temp;i++)
if(n%i==0)break;
if(i>temp)printf("%d",n);
}
printf("\n");
}
输出结果为:
235711131719
Pressanykeytocontinue
徐孝凯:
此程序能够打印出20以内的所有素数。
甘家应:
我的计算机基础不好,觉得这门课好难学觉得。
徐孝凯:
只要多用时间,认真学习,是能够学会的。
梅丽丽:
for语句能够被改写为while语句。
徐孝凯:
完全可以!
羊万平:
一个变量的地址是由计算机系统控制分配的,用户无法也无须干涉,但变量的地址可以由取地址运算符得到,可以把它付给同类型的一个指针变量,通过对指针变量的间接访问可以操作所指向的变量。
徐孝凯:
对的。
雒逢博:
for循环是开界的。
它的一般形式为:
for(<初始化>;<条件表过式>;<增量>)语句;初始化总是一个赋值语句,它用来给循环控制变量赋初值;条件表达式是一个关系表达式,它决定什么时候退出循环;增量定义循环控制变量每循环一次后按什么方式变化。
这三个部分之间用";"分开。
例如:
for(i=1;i<=10;i++)语句;上例中先给i赋初值1,判断i是否小于等于10,若是则执行语句,之后值增加1。
再重新判断,直到条件为假,即i>10时,结束循环。
徐孝凯:
对的。
夏进飞:
求助,第三章,练习四第4题――题目如下:
已知6≤a≤30,15≤b≤36,求满足不定方程2a+5b=126的全部整数解。
如(13,20)就是一个整数解。
恳请各位同学老师指点错误之处。
执行是直接退出。
#include
#include
voidmain()
{
inti=6,j=15,a,b,c;
while(i>=6&&i<=30)
{
while(j>=15&&j<=36){
a=i;
c=(126-2*a);
if(c%5==0){b=(int)(c/5);
printf("满足不定方程2a+5b=126的解为(%d,%d)\n",a,b);
}
j++;
}
i++;
}
}
夏进飞:
论坛没人帮忙吗?
为嘛这个老是出错。
纠结
夏进飞:
从CSDN拿到答案了#include
#include
voidmain()
{
inti=6;
while(i<=30){
intj=15;
while(j<=36){
if(2*i+5*j==126)printf("不定方程2a+5b=126的整数解(%d,%d)\n",i,j);
j++;}
i++;}
}
内循环没有控制好变量
夏进飞:
从CSDN拿到答案了#include
#include
voidmain()
{
inti=6;
while(i<=30){
intj=15;
while(j<=36){
if(2*i+5*j==126)printf("不定方程2a+5b=126的整数解(%d,%d)\n",i,j);
j++;}
i++;}
}
内循环没有控制好变量
徐孝凯:
回答正确!
往届试卷之一
中央广播电视大学
C语言程序设计A课程试卷
(2)
题号
一
二
三
四
五
总分
得分
2010.1.13底考
一、单选题(每小题2分,共20分)
1.由C语言源程序文件编译而成的目标文件的默认扩展名为()。
A.cppB.cC.exeD.obj
2.设x和y均为逻辑值,则x||y为假的条件是x和y()。
A.均为真B.其中一个为真
C.均为假D.其中一个为假
3.枚举类型中的每个枚举常量的值都是一个()。
A.整数B.浮点数C.字符D.记录
4.循环语句“for(i=0;i<=n;i++)S;”中循环体S被执行的次数为()。
A.1B.n-1C.nD.n+1
5.假定有语句为“inta[4][5]={{1,3,5},{2,8}};”,则a[1][1]的值为()。
A.3B.5C.8D.10
6.在下面的选项中,不能作为函数的返回值类型的是()。
A.voidB.nodeC.intD.long
7.假定x的值为5,y的值为6,则表达式x++*--y的值为()。
A.25B.30C.36D.42
8.用calloc函数创建具有10个整型元素的动态存储空间的正确调用是()。
A.calloc(10,sizeof(char))B.calloc(10)
C.calloc(10,sizeof(int))D.calloc(20,sizeof(int))
9.假定有语句“intb[10],*pb;”,则不正确的赋值为()。
A.pb=bB.pb=b[5]C.pb=b+2D.pb=&b[0]
10.标准输入设备的文件流标识符是()。
A.stderrB.stdinC.stdoutD.stdio
二、填空题(每小题2分,共26分)
1.在一个C语言程序文件中,若要包含另外一个头文件或程序文件,则应使用的预处理命令为__________。
2.用于从键盘上为变量输入值的标准输入函数的函数名为________。
3.假定一个枚举类型的定义为“enumRA{ab,ac,ad,ae};”,则ad的值为________。
4.int类型的长度为________。
5.执行“intx=45,y=8;printf("%d",x/y);”语句序列后得到的输出结果为________。
6.把表达式x=x+y转换成复合赋值表达式为__________。
7.假定x的值为5,则执行“a=(x>=6?
3:
8);”语句后a的值为________。
8.假定一维字符指针数组的定义为“char*a[5];”,则该数组占用的存储空间的字节数为________。
9.假定二维数组的定义为“doublea[M][N];”,则数组元素的行下标取值范围在_________之间。
10.空字符串的长度为________。
11.在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为________。
12.若p指向x,则________与x的表示是等价的。
13.直接访问表达式(*fp).score所对应的间接访问表达式为____________。
三、写出下列每个程序运行后的输出结果(每小题6分,共30分)
1.#include
voidmain(){
inti,s=0;
for(i=1;i<6;i++)s+=i*i;
printf(“s=%d\n”,s);
}
2.#include
#defineN6
voidmain()
{
inti,a[N]={2,5,8,10,15,21};
for(i=0;i if(a[i]%5==0)printf("%d",a[i]); printf("\n"); } 3.#include #include voidmain(){ inti; unsignedintlen=0; char*a[5]={"student","worker","cadre","soldier","n123"}; for(i=0;i<5;i++) if(strlen(a[i])>len)len=strlen(a[i]); printf("len=%d\n",len); } 4.#include voidmain() { inta,b; for(a=2,b=3;a<15;){ printf("%d%d",a,b); a=a+b; b=a+b; } } 5.#include voidLE(int*a,int*b){ intx=*a; *a=*b;*b=x; } voidmain(){ intx=15,y=26; LE(&x,&y); printf("%d%d\n",x,y); } 四、写出下列每个函数的功能(每小题6分,共12分) 1.#include intSA(inta,intb){ if(a>b)return1; elseif(a==b)return0; elsereturn-1; } 函数功能: 2.voidOutput(structIntNode*f)//f为单链表的表头指针 { if(! f)return; while(f){ printf("%d",f->data); f=f->next; } printf("\n"); } 假定structIntNode的类型定义为: structIntNode{intdata;structIntNode*next;}; 函数功能: 五、按题目要求编写函数(每小题6分,共12分) 1.编写一个函数,函数原型为“intfun4(char*ptr);”,请采用while循环求出由字符指针ptr所指向的字符串中包含的小写英文字母的个数,并把这个值作为函数值返回。 2.编写一个主函数,计算并输出表达式1+22+32+...+102的值。 中央广播电视大学 C语言程序设计A课程试卷答案及评分标准 (2) (供参考) 一、单选题(每小题2分,共20分) 1.D2.C3.A4.D5.C 6.B7.A8.C9.B10.B 二、填空题(每小题2分,共26分) 1.#include2.scanf3.24.4 5.56.x+=y7.88.20 9.0~M-110.011.012.*p 13.fp->score 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 评分标准: 根据答案正确程度酌情给分。 1.s=55 2.51015 3.len=7 4.23581321 5.2615 四、写出下列每个函数的功能(每小题6分,共12分) 评分标准: 根据答案叙述的正确与完善程度酌情给分。 1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a 2.遍历输出由f所指向的单链表中每个结点的值。 五、按题目要求编写函数(每小题6分,共12分) 评分标准: 根据编写函数的正确与完整程度酌情给分。 1.intfun4(char*ptr) { intn=0;//1分 while(*ptr){//2分 if(*ptr>='a'&&*ptr<='z')n++;//4分 ptr++;//5分 } returnn;//6分 } 2.#include voidmain() { inti,s=0;//1分 for(i=1;i<=10;i++)s+=i*i;//4分 printf("s=%d\n",s);//6分 } 注: 若s的初值为1,则循环变量i的初值应修改为2。 往届试卷之二 中央广播电视大学2008秋季 C语言程序设计A课程试卷(6) 题号 一 二 三 四 五 总分 得分 2011年7月考 一、单选题(每小题2分,共20分) 1.C语言程序中的基本功能模块为()。 A.表达式B.标识符C.语句D.函数 2.逻辑表达式(x>0||y==5)的相反表达式为()。 A.x<=0||y! =5B.x<=0&&y! =5 C.x>0||y! =5D.x>0&&y==5 3.循环体至少被执行一次的循环语句为()。 A.forB.whileC.do-whileD.任一种循环 4.假定n的值为5,则表达式n++的值为()。 A.6B.5C.4D.7 5.假定一个二维数组的定义为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[2][0]的值为()。 A.0B.2C.4D.6 6.假定一个函数原型为“char*func(intn)”,则该函数的返回类型为()。 A.intB.int*C.charD.char* 7.假定a为一个字符数组名,则元素a[i]的指针访问方式为()。 A.a+iB.*(a+i)C.&a+iD.*a+i 8.假定有语句为“int*p=calloc(10+20,sizeof(int));”,则p所指向的动态数组中所包含的元素个数为()。 A.10B.20C.30D.40 9.十进制数50表示成符合C语言规定的八进制数为________。 A.20B.32C.62D.062 10.若要以读和写两种操作方式打开一个二进制文件,当文件不存在时返回打开失败信息,则选用的打开方式字符串为()。 A."r+"B."ab+"C."rb+"D."wb+" 二、填空题(每小题2分,共26分) 1.在一个C语言程序文件中,若要包含另外一个头文件或程序文件,则应使用的预处理命令为__________。 2.用于从键盘上为变量输入值的标准输入函数的函数名为________。 3.假定一个枚举类型的定义为“enumRA{ab,ac,ad,ae};”,则ac的值为________。 4.double类型的长度为________。 5.执行“intx=45,y=13;printf("%d",x/y);”语句序列后得到的输出结果为________。 6.把表达式x=x+y转换成复合赋值表达式为__________。 7.假定x的值为5,则执行“a=(! x? 10: 20);”语句后a的值为________。 8.假定一维字符指针数组的定义为“char*a[8];”,则该数组占用的存储空间的字节数为________。 9.假定二维数组的定义为“doublea[M][N];”,则数组元素的行下标取值范围在_________之间。 10.空字符串的长度为________。 11.在所有函数定义之外定义的变量,若没有被初始化则系统隐含对它所赋的初值为________。 12.若p指向x,则________与x的表示是等价的。 13.直接访问表达式(*fp).score所对应的间接访问表达式为____________。 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 1.#include voidmain(){ inti,j,k=0; for(i=0;i<5;i++) for(j=i;j<5;j++)k++;; printf("%d\n",k); } 2.#include voidmain(){ intx=20; inti=2; while(i if(x%i==0){printf("%d",i);x/=i;} i++; } } 3.#include voidmain(){ inta[8]={76,63,54,95,40,75,90,66}; inti,s=0; for(i=0;i<8;i++) if(a[i]>=70&&a[i]<=90)s+=a[i]; printf("s=%d\n",s); } 4.#include intWF(intx,inty){ x=x+y; y+=x; returnx+y; } voidmain(){ intx=3,y=8; printf("%d\n",WF(x,y)); } 5.#include intLA(int*a,intn){ inti,s=0; for(i=0;i returns; } voidmain(){ inta[5]={1,2,3,4,5}; intb=LA(a,5)+LA(a+2,3); printf("b=%d\n",b); } 四、写出下列每个函数的功能(每小题6分,共12分) 1.intWC(inta[],intn,intk){ inti,c=0; for(i=0;i if(a[i]>=k)c++; returnc; } 函数功能: 2.voidQA(structWorkera[],intn) { inti; for(i=0;i scanf("%s%d%f",a[i].name,&a[i].age,&a[i].pay); } 假定结构类型structWorker的定义如下: structWorker{charname[15];intage;floatpay;}; 函数功能: 五、按题目要求编写函数(每小题6分,共12分) 1.根据函数原型“doubleMean(doublea[M][N],intm,intn)”,编写函数定义,要求返回二维数组a[m][n]中所有元素的平均值。 假定在计算过程中采用变量v存放累加值和最后的平均值。 2.根据函数原型“intMM(inta[],intm)”,编写函数定义,计算并返回数组a[m]中元素最大值和最小值之差。 中央广播电视大学2008秋季 C语言程序设计A课程试卷答案及评分标准(6) (供参考) 一、单选题(每小题2分,共20分) 1.D2.B3.C4.B5.A 6.D7.B8.C9.D10.C 二、填空题(每小题2分,共26分) 1.#include2.scanf3.14.8 5.36.x+=y7.208.32 9.0~M-110.011.012.*p 13.fp->score 三、写出下列每个程序运行后的输出结果(每小题6分,共30分) 评分标准: 根据答案正确程度酌情给分。 1.15 2.25 3.s=241 4.30 5.b=27 四、写出下列每个函数的功能(每小题6分,共12分) 评分标准: 根据答案叙述正确与完整程度酌情给分。 1.统计并返回一维整型数组a[n]中大于等于k的值的个数。 2.从键盘上为具有structWorker类型的数组a[n]输入n个记录。 五、按题目要求编写函数(每小题6分,共12分) 评分标准: 根据函数编写的正确与完整程度酌情给分。 1.doubleMean(doublea[M][N],intm,intn) { inti,j; doublev=0.0;//1分 for(i=0;i for(j=0;j v/=m*n; returnv;//6分 }//注: 函数体的最后两行可以合并为一条返回语句: returnv/=m*n 2.intMM(inta[],intm) { inti,x1,x2; x1=x2=a[0];//1分 for(i=1;i if(a[i]>x1)x1=a[i];//3分 if(a[i] }//5分 returnx1-x2;//6分 }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 课程 复习 内容 要求 文本