(0039)《C语言程序设计》大作业A
2019西南大学0039C语言程序设计机考大作业答案
//打开文件后,如下步骤写程序#include <stdio.h>//首先要引入c语言的标准输入输出库文件,因为这个文件里有已经定义好的可以使用的函数//接下来需要写一个main函数,这也是c语言程序里必不可少的一个函数,叫主函数,他是整个程序的入口函数,程序所有的功能实现都要在这个函数中体现。
但是这个函数有且仅有一个int main(){//这是main函数的函数体,要实现什么功能,就把实现功能的语句写到这里面//比如我要实现打印HelloWorld字符,那么我就调用printf()标准输出语句printf("Hello World!\n");//这个语句表示原样输出引号内的字符,‘\n’表示换行return0;//最后,因为main函数有一个int的返回类型限定,那么我们使用return 语句返回一个int类型的值 0.}//这样就结束了。
一个简单的但又完整的C程序就有了,//下一步就是使用编译器编译成目标的可执行文件://如果是windows下的vc++,那么需要分别点击编译,链接两个按钮生成hello.exe可执行文件//如果是linux下直接在shell中使用gcc hello.c就可以编译成可执行文件a.out //最后就是运行了,windows下直接点击vc++的运行或双击hello.exe可以出现dos窗口运行,并显示结果,linux下使用“./a.out”可以直接运行,运行结果会显示在shell 中。
//这就是整个完整的流程,包括每一步。
调试过程:设置断点,调试命令,察看变量,查看内存,常见错误:C 语言程序设计的错误可分为语法错误、连接错误、逻辑错误和运行错误。
VC++ 和DEV C++都是C++语言的开发工具。
如果只是做些小程序,基本上看不出区别。
两者DEBUG 和RELEASE上的时间有所不同。
还有一点就是,通常如果是在VC++下编写的代码,不是很规范,拿到DEV C++上会报错。
c程序设计大作业(范例)
课程设计说明书《C 程序设计大作业》 ——学生成绩管理系统班 级: 电信2009级集成班 学 生: 陈颖宏 学 号: ************ 序 号: 提交日期: 2010 年 3 月 27 日成绩评定:分 任课教师签名: 年月 日前言本课程设计题目是“学生成绩管理系统设计”,其内容是设计一个使用二进制文件方式存储数据,并且以菜单方式工作的管理系统。
设计目的是设计一个能够方便、直观地管理学生相关信息的系统。
该系统可以实现以下功能:○1能按学期、按班级完成对学生成绩的录入、修改;○2能按班级统计显示的成绩,计算学生的总分及平均分;○3能查询学生的成绩,不及格科目及学生名单;○4能按班级输出学生的成绩单。
正文1.需求分析:本程序主要用于输入、查询、统计、导入以及导出学生的成绩。
主要的输入方式是利用键盘输入,且输入的字符最好是英文及数字,输入中文时有时会出现错误。
程序的有效窗口大小一般为半个屏幕,以至于有些功能的版面出现显示方面的错误。
经测试,程序基本可以正常工作:当在主菜单输入“1”时,可以正常初始化,输入余下的菜单选项时也能按要求跳转到指定画面;各子菜单选项也都能正常运行;但是输入班级、姓名等字符时,有时会显示错误的字符。
2概要设计○1抽象数据类型的定义:学生结构体定义为struct stu,变量为student;学期数组定义为char term[7]; 班别数组定义为char banbie[20]; 学号数组定义为char no[15]; 姓名数组定义为char name[20]; 科目数组定义为int score[MAXSUB]; 总成绩变量定义为int sum; 平均成绩变量定义为float average。
○2抽象函数类型的定义:菜单选择程序“menu_select()”为int型; 初始化函数“initialize(student * [])”为void型;数据输入函数“input(student * [])”为void型;数据编辑函数“editmenu(student * [])”为void型; 数据查询查询函数“searchmenu(student * [])”为void型; 数据统计函数“total(student * [])”为void型; 数据导出函数“save(student * [])”为void型;数据导入函数“load(student * [])”为void型; 数据导出函数“output(student * [])”为void型;添加学生记录函数“add_record(student * [])”为void型;删除学生记录“delete_record(student * [])”为void型;修改学生记录函数“student * edit_record(student * [])”为void型;按学号查询函数“student * no_search(student * [])”为void型; 按姓名查询函数“student * name_search(student * [])”为void型。
《C语言》2016秋季作业试题和答案
[0039]《C语言》讲师:邹显春Z的值是3i=1,max=0或max=i=0;max=i; a[max]36、设int m=3;float n=12.6;char ch=’a’;,若用输入语句实现上述三个变量的初始化结果且键入数据形式为:3,12.6a<回车换行>,则scanf语句应是___ ________。
“%d,%f%c”,&m,&n,&ch37、设int i;float f=3.14;,执行i=(int)f;后,变量f的值是____________。
3.1438、若定义函数时类型缺省,则该函数默认的类型是____ _______。
extern39、设char s[]=”’Name\Address ”;,s的长度是___________。
1540、设float a,b,c;,若a、b和c分别为三角形的三条边长,它们“能构成等边三角形”的逻辑表达式是____________。
(a+b=c)&&(a+c=b)&&(b+c>a)41、编写C语言程序的一般步骤什么?在VC环境下,调试程序的基本步骤有哪些?调试程序中常见的错误有哪些?如何解决发现这些错误?编写C语言程序的一般步骤:分析问题、构建算法、描述算法、编码、调试。
在VC环境下,调试程序的基本步骤有编辑、编译、连接、执行调试程序中常见的错误有语法错误和逻辑错误。
其中语法错误通过编译来实现,逻辑错误通过单步追踪和设置断点的方法来发现逻辑错误。
42、在C语言为什么规定对所有用到的变量要"先定义,后使用”?这样的做有什么好处?对所有用到的变量进行"先定义,后使用”的原因:凡未被事先定义的,C语言不把他认作变量,这样的目的能是为了保证程序中的变量能被正确的使用。
好处:(1)每一个变量被指定为一个确定类型,在编译时C语言就能为其分配相应的存储单元。
(2)指定每一个变量属于一个类型,便于在编译时检查在程序变量进行的运算合法性。
西南大学2017秋 C语言【0039】大作业答案
for(j=2;j*j<=a[i];++j){ if(a[i]%j==0)break;
} if(j*j>a[i]){
printf("%d", a[i]); } } } return 0;
}
-2-
(6)
return 0;
//#include "stdafx.h"//vc++6.0 加上这一行.
}
#include "stdio.h"
scanf("%d", &a[i]); } for(i=0;i<10;++i){
if(a[i]>=0){
时采用模块化的设计思路,并且采用自下而上的实施方法,即先开发一些能够独立运行并 完成某些功能的小型程序模块,而后将这些模块进行组合。采用这种设计方法,在所有功 能模块开发完成之后,只需将所有模块进行有机组合,就能够获得一个完善的系统。
printf("%d",a); } return 0; } (3) #include <Байду номын сангаасtdio.h> int main() {
int i, j, a[10]; for(i=0;i<10;++i){
计。 首先,自上而下,就是在管理信息系统的设计与系统分析阶段,必须采用整体大于局 部、上级优于下级的设计思路。优先考虑如何满足领导层的管理需求,其次才考虑中层与 底层的管理需求。其次,对客户的需求分析应做到逐步求精。在深入调研的基础上力图在 编写程序之前就清晰地了解客户的实际运作过程,从而制定出切实可行的开发方案,并且 为将来可能的功能扩展留有充分的余地。最后阶段才进入程序编写阶段。在进行软件设计
C语言程序设计大作业
学年学期:20xx - 20xx 学年 1 学期课程名称:C语言程序设计综合训练课程学分:2分考核形式:大作业任课教师:xx题目:学生成绩统计程序学院:xx学院__________________________________ 专业班级:xx_______________________________________ 学号:_______ 学生姓名:提交日期:目录目录 (2)引言 (3)1. 学生成绩管理系统 (4)1.1系统简介 (4)1.2相关代码及知识点介绍 (4)2. 添加学生成绩功能 (5)3. 查找学生成绩功能 (6)4. 排序学生成绩功能 (7)5. 展示学生成绩功能 (9)6. 删除学生成绩功能 (10)7. 附页代码 (11)引言C语言是一种比较常见的计算机语言,许多大型应用软件都是用C语言编写而成的。
其简洁紧凑,灵活方便,数据结构丰富。
在一定程度上,C语言比汇编语言更实用,具有结构化语句,实现了结构化编程,使程序编写变得更容易、更快捷,可以编写出各种类型的程序。
同时,C语言是一门实践性强的学科,在学习的过程中,利用所学知识,编写一些与生活、学习相关的应用程序来提高程序编写能力,增强学习兴趣。
本次使用C语言设计一个学生成绩管理系统,可以实现学生成绩的添加,查找,排序及展示。
在作业中使用的是函数的模块化设计,将四个程序使用四个函数来实现。
与此同时,增加用户界面的交互,可供用户选择想要的功能,实现增删查排等操作。
1. 学生成绩管理系统1.1系统简介该系统主要实现学生成绩的添加,查找,排序,展示和删除五个功能,添加学生成绩主要有6个输入值组成,其中包括学号,姓名,语文,数学,英语,政治等。
查找学生成绩主要通过学号查询。
对学生成绩进行排序,可以分别通过学号,语文,数学,英语,政治,平均分,总分等进行排序。
第四项功能是对学生成绩以表格的形式进行展示。
删除学生成绩是按照学号对表格中的数据进行删除。
大学C语言程序设计大作业题目
1数据处理系统一、软件开发目的该软件主要是使用C语言设计开发数据处理程序,实现对数据的排序、查找、插入、计算、输出等功能。
二、数据结构定义一个11*10的二维数组。
三、软件功能说明1.生成100个随机数:调用库函数rand()或random()产生100个随机数,并存储在二维数组中的前十行。
2.选择法排序:用选择法将数据由小到大排序输出,保存在数组中,按行优先的原则存放(将小数先存满第一行,然后第二行….)。
3.冒泡法排序:用冒泡法将数据由小到大排序输出,保存在数组中,按行优先的原则存放(将小数先存满第一行,然后第二行….)。
4.插入法排序:用插入法将数据由小到大排序输出,保存在数组中,按行优先的原则存放(将小数先存满第一行,然后第二行….)。
5.查找数据:输入待查找数据, 在二维数组中逐个查找,若找到输出数据所在位置的行列号,若无该数值则输出“无此数”。
6.转换二进制:将数组中数据转换为二进制并转存到另一数组中输出。
7.转换为素数之和:对于原数组中的数进行判断:若为偶数,则表示成两个素数的和,并输出。
8.插入数据:输入一个数,将该数插入原数组中,使数组中的数仍然按从小到大排序,将数组中数据按从小到大顺序输出。
9.删除数据输入一个数,若原数组中存在该数,则删除该数,使数组中的数仍然按从小到大排序,将数组中数据按从小到大顺序输出。
10.退出系统,结束任务。
四、软件验收标准1.有较为美观简洁大方的菜单,能保证用户方便、直观、快捷的熟悉并使用软件的各项功能。
系统菜单功能项:1生成100个随机数2选择法排序3冒泡法排序4插入法排序5查找数据6转换二进制7转换为素数之和8插入数据9删除数据10退出系统注意:要求每执行一个具体的功能之后,程序将重新显示菜单。
2.系统要有一定的可靠性、稳定性,能够实现各功能模块。
2图书借阅管理系统一、软件开发目的该软件主要是使用C语言设计开发一个简单的图书借阅管理系统,实现对图书的借书,还书的管理和数据统计。
国家开放大学C语言程序设计A第一次形考任务及答案
一、选择题(共40分,每小题2分)题目1在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。
A. mainB. MAINC. nameD. function题目2C语言源程序文件的缺省扩展名为()。
A. cppB. exeC. objD. c题目3由C语言目标文件连接而成的可执行文件的缺省扩展名为()。
A. cppB. exeC. objD. c题目4程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为()。
A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车题目5每个C语言程序文件的编译错误被分为()。
A. 1类B. 2类C. 3类D. 4类题目6不符合C语言规定的复合语句是()。
A. {}B. {;}C. {x=0;}D. {y=10}题目7C语言程序中的基本功能模块为()。
A. 表达式B. 标识符C. 语句D. 函数题目8在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。
A. 表达式B. 语句C. 参数表D. 函数体题目9在一个程序文件中,若要使用#include命令包含一个用户定义的头文件,则此头文件所使用的起止定界符为一对()。
A. 尖括号B. 双引号C. 单引号D. 花括号题目10在C语言程序中,多行注释语句使用的开始标记符为()。
A. //B. /*C. */D. **题目11在printf()函数调用的格式字符串中,若使用格式符为“%c”,则对应输出的数据类型为()。
A. charB. intC. floatD. double题目12在printf()函数调用的格式字符串中,若使用格式符为“%5d”,则规定对应输出的数据占用的字符位置个数为()。
A. 5B. 4C. 3D. 6转义字符'\\'表示的字符是()。
A. 单引号B. 双引号C. 反斜线D. 问号题目14枚举类型中的每个枚举常量的值都是一个()。
0039-2020春大作业
printf("请输入两个正的整数(之间用逗号隔开):\n");scanf("%d,%d",&int_num1,&int_num2);printf("int_num1=%d,int_num2=%d\n",int_num1,int_num2);printf("The maximun common divisor is%d\n",fun(int_num1,int_num2));}3.阅读下列程序,按照要求回答下列问题#include <stdio.h>int fun(int n){int s=0,i;for(i=1;i<=n;i++)s=s+i;return s;}int main( ){int i,n;int sum=0;printf("请输入一个正整数(n≥5):\n");scanf("%d", &n);for(i=1;i<=n;i++) sum=sum+fun(i);printf("1+(1+2)+(1+2+3)+ ......+(1+2+3+...+%d)=%d\n",n,sum); }(1)上述程序中函数fun的功能是什么?答:上述程序中函数fun的功能是求n之内的自然数求和(2)依据函数fun的功能画出其流程图。
(3) 当输入n的值为5时,其输出结果是什么?答:当输入n的值为5时,其输出结果是1+(1+2)+(1+2+3)+ ......+(1+2+3+...+5)=35二、大作业要求大作业共需要完成3个大题:第1题满分30分;第2题(1)-(6)小题任选两题完成,各15分,(7)小题必做,10分,满分40分;第3题(1)-(3)必做,满分30分。
西南大学18年12月[0039]《C语言》大作业答案
1 (1)简单介绍程序设计基础,然后分别系统地介绍C语言的数据类型与运算符、C语言的3种程序结构、数组与函数、指针与文件等相关知识。
好用,可以用来做数学建模,试验算法;好学,几乎所有的程序功能的实现都可以从代码中读出,容易理解;对于不是靠编程来糊口的话,可以啦,但是如果你想玩点新潮的东西,有点力不从心。
(2)C语言一共只有32个关键字,9种控制语句,程序书写自由,主要用小写字母表示。
它把高级语言的基本结构和语句与低级语言的实用性结合起来。
C 语言可以象汇编语言一样对位、字节和地址进行操作, 而这三者是计算机最基本的工作单元。
2、运算符丰富C的运算符包含的范围很广泛,共有种34个运算符。
C语言把括号、赋值、强制类型转换等都作为运算符处理。
从而使C的运算类型极其丰富表达式类型多样化,灵活使用各种运算符可以实现在其它高级语言中难以实现的运算。
3、数据结构丰富C的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。
能用来实现各种复杂的数据类型的运算。
并引入了指针概念,使程序效率更高。
另外C语言具有强大的图形功能, 支持多种显示器和驱动器。
且计算功能、逻辑判断功能强大。
4、C是结构式语言#include<stdio.h>void main (void)//这个就是主函数,第一个void 就是返回类型:有void,int ,float等可以选择,//第二个是main就是函数名,这里是主函数,它名字固定的,其他的函数可以随//意定义,第三个是void,是就是参数类型,一样可以由void,int,float等等选择。
{ //中括号内就是函数体了,是函数的具体内容了int a,b;a=b=0;(3)1. 程序包含算法,算法就是程序的灵魂,一个需要实现特定功能的程序,实现它的算法可以有很多种,所以算法的优劣决定着程序的好坏。
程序员很熟练的掌握了程序设计语言的语法,进行程序设计,软件开发的时候就是设计好的算法,加上软件工程的理论才能做出较好的系统。
《C语言程序的设计》大作业
南昌大学软件学院C语言程序设计工程实训大作业班级:09软件技术(2)班学号:8001509107姓名:吴承增指导老师:危建国2010年12月10日系统说明书1.问题描述:该程序包内容包括以下的模块,均用子函数完成:(1)主菜单(2)输入若干条记录并保存文件(指学生的信息)(3)学生信息录入、修改、删除、查询、存储。
(4)学生信息的浏览及排序(冒泡排序算法)。
(5)学生成绩的录入、修改。
(6)统计及格和优秀人数(7)退出系统2.程序设计和程序流程图:解决方案:主函数流程图:各部分功能的流程图:录入学生成绩流程图:统计功能流程图如图3所示:图3 统计模块流程图冒泡排序流程图:排序学生信息流程图:删除学生成绩信息流程图:3.系统的基本功能(主要数据和函数功能描述):char xh[15]; //以字符串数组形式存储学生学号char name[25]// 以字符串数组形式存储学生姓名char sex[5]; //性别float sxcj; //数学成绩float yycj; //英语成绩float Cyycj; //C语言成绩float ave; //平均成绩float sum; //总成绩#define N 4 //宏定义学生#define MAX 60 //学生最大个数int nCOUNT=0; //记录当前学生个数struct student //定义结构体学生int ScoreNew() //录入学生成绩int average() //求平均数int xsxscj() //显示输入学生信息、将学生打印到屏幕上int xsxsxx() //显示学生信息int xhcjpx() //按学生学号排序学生信息int sxcjpx()按数学成绩排序学生信息int yycjpx()按英语成绩排序学生信息int Cyypx() //按C语言成绩排序学生信息int zcjpx()按总成绩排序学生信息int pxxsxx()//排序学生信息int axhcx() //按学号查询int axmcx() //按姓名查询int SearchStud() //查询学生成绩信息int zjxsxx() //增加学生信息int xgxsxx() //修改学生信息int scxsxx() //删除学生信息int gxxscj() //更新学生信息int tjxscj() //统计学生成绩int save() //保存到文件((fp=fopen("stu_list.txt","wb"))==NULL) //以只读方式打开文件stu_list.txt (fwrite(&str[i],sizeof(struct student),1,fp)!=1) //创建文件并以二进制形式打开int xswj() //显示文件信息int main() //主函数mainmemu4.拟采用开发平台:Visual C++,Borland C++等。
西南大学2020年春季C语言程序设计 【0039】课程考试大作业参考答案
else
printf("No triangle\n");
}
(3)程序的功能是:输入n(n≥1),计算1+(1+2)+ (1+2+3)+...+(1+2+3+…+n)的值,要求有输入输出提示。
(4)任意输入一个三位正整数,十位上的数字不动,将个位和百位上的数字交换,构成一个新的正整数后输出。(例如:523变为325)
while(r=m%n)
{ m=n; n=r;
}
return(n);
}
int main()
{ int int_num1, int_num2;
printf("请输入两个正的整数(之间用逗号隔开):\n ");
scanf("%d,%d",&int_num1,&int_num2);
printf("int_num1= %d,int_num2= %d\n",int_num1,int_num2);
temp=a[0];a[0]=a[2];a[2]=temp;
m=a[0]*100+ a[1]*10+ a[2];
printf("新的三位整数为%d\n",m);
}
(5)编写程序计算函数 的值,要求有输入输出提示,结果保留小数点后3位
(6)写一个函数fun用于计算字符串的长度,再写一个测试函数测试其功能。不允许使用strlen函数
答:途径: (1)理解和记忆程序基本结构;
(2)熟练上机调试技能;
2019年电大《C语言程序设计》第1、2、3、4次作业及答案参考必考重点
3、4 次作业及答案电大《C++语言程序设计》第1、2、第一次作业一、写出下列每个程序运行后的输出结果1. #include<stdio.h>void main(){int x=5;switch(2*x-3){case 4:printf("%d ",x);case 7:printf("%d ",2*x+1);case 10:printf("%d ",3*x-1);break;default:printf("%s ","default\n");}printf("%s\n","switch end.");}2. #include<stdio.h>void main(){int i,s=0;for(i=1;i<=6;i++)s+=i*i;printf("s=%d\n",s);}3. #include<stdio.h>void main(){int i,s1=0,s2=0;for(i=0;i<10;i++)if(i%2)s1+=i;else s2+=i;printf("%d %d\n",s1,s2);}4. #include<stdio.h>void main(){int n=10,y=1;while(n--){y++;y++;} printf("y=%d\n",y);}5. #include<stdio.h>void main(){int f,f1,f2,i;f1=f2=1;printf("%d %d ",f1,f2);for(i=3;i<=10;i++){ f=f1+f2; printf("%d ",f);if(i%5==0)printf("\n"); f1=f2;f2=f;}printf("\n");}6. #include<stdio.h>#include<math.h>void main(){int i,n;for(n=2;n<=20;n++){int temp=(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");7. #include<stdio.h> #include<math.h> const int M=20; void main() {int i,c2,c3,c5; c2=c3=c5=0;for(i=1;i<=M;i++){ if(i%2==0)c2++; if(i%3==0)c3++; if(i%5==0)c5++;}printf("%d %d %d\n",c2,c3,c5); }8. #include<stdio.h> #include<math.h> const int M=20; void main(){int i,s; for(i=1,s=0;i<15;i++){if(i%2==0 || i%3==0)continue; printf("%d ",i);s+=i;} printf("%d\n",s);}参考答案:1、答案:11 14 switch end.2、答案:s=91.3、答案:25 20.4、答案:y=21.5、答案: 1 1 2 3 58 13 21 34 556、答案:2 3 5 7 11 13 17197、答案:10 6 48、答案: 1 5 7 11 13 37第二次作业一、根据下列每个题目要求编写程序1.编写一个函数,函数头格式为“void fun4(char *a , int b[]) ”,分别求出由字符指针a 所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b 的相应元素。
C语言程序设计课程作业_A解读
C语言程序设计课程作业_A一、单选题1.(4分)设有以下定义int k=7, x=12;,则能使值为3的表达式是()∙ A. x%=(k%=5)∙ B. x%=(k-k%5)∙ C. x%=k∙ D. (x%=k)-(k%=5)答案D解析C语言程序设计/数据类型与运算/整型算术表达式2.(4分)以下程序的输出结果是? #include main() { int x=020,y=0x20,z=20; printf('%d,%d,%d ',x,y,z); } ∙ A. 20,20,20∙ B. 32,16,20∙ C. 16,32,20∙ D. 20,32,20答案C解析C语言程序设计/数据类型及运算3.(4分)C语言中while和do while循环的主要区别是( )∙ A. do-while的循环至少无条件执行一次∙ B. while循环控制条件比do-while的循环控制条件严格∙ C. do-while允许从外部转入到循环体内∙ D. do-while的循环体不能是复合语句答案A解析C语言程序设计/循环程序设计/while语句与do-while语句4.(4分)执行语句scanf('%d,%d',&m,&n);使m和n的值分别为1和2,正确输入是( ) ∙ A. 1∙ B. 1 2∙ C. 1,2∙ D. 12,2答案C解析C语言程序设计/顺序程序设计/整型数据的格式输入5.(4分)sizeof(float)是( )∙ A. 一个双精度型表达式∙ B. 一个整型表达式∙ C. 一种函数调用∙ D. 一个不合法的表达式答案B解析C语言程序设计/数据类型与运算/实型变量存储6.(4分)下列选项中,不合法的C语言关键字是∙ A. auto∙ B. default∙ C. static∙ D. var答案D解析C语言程序设计/C语言概述7.(4分)下面程序的运行结果是( )#include main(){int a[6],i;for(i=1;i<6;i++){a[i]=9*(i-2+4*(i>3))%5;printf ('%2d',a[i]);}}∙ A. 4 0 4 0 4∙ B. -4 0 4 0 3∙ C. -4 0 4 4 3∙ D. -4 0 4 4 0答案C解析C语言程序设计/数组/二维数组与循环语句结合8.(4分)设有下面的程序段,char s[]='china'; char *p;p=s; 则下列正确的是( )∙ A. s和p完全相同∙ B. 数组s中的内容和指针变量p中的内容相等∙ C. s数组长度和p所指向的字符串长度相等∙ D. *p与s[0]相等答案D解析C语言程序设计/指针/数组与指针9.(4分)若已定义int a;下面对(1)(2)两个语句(1)int *p=&a; (2)*p=a;的正确解释是( )∙ A. 语句(1)和(2)中的*p含义相同,都表示给指针变量p赋值∙ B. (1)和(2)语句的执行结果,都是把变量a的地址赋给指针变量p∙ C. (1)在对p进行说明的同时进行初始化,使p指向a (2)将变量a的值赋给指针变量p ∙ D. (1)在对p进行说明的同时进行初始化,使p指向a (2)将变量a的值赋给*p答案D解析C语言程序设计/指针/地址与指针10.(4分)下面四个选项中,均是不合法的用户标识符的选项是( )∙ A. A,P_0,do∙ B. float,la0,_A∙ C. b-a,goto,int∙ D. _123,temp,INT答案C解析C语言程序设计/数据类型与运算/标识符11.(4分)在C语言中,全局变量的隐含存储类别是∙ A. static∙ B. extern∙ C. void∙ D. register答案B解析C语言程序设计/函数12.(4分)若有以下定义:char s[10]='include',*p=s;则不能代表字符u的表达式是( )∙ A. s[4]∙ B. s+4∙ C. *(p+4)∙ D. p+=4,*p答案B解析C语言程序设计/指针/字符串指针的引用13.(4分)下面程序#include main(){int y=10;do {y--;}while(--y);printf('%d ',y--);}的运行结果是( ) ∙ A. 1∙ B. -1∙ C. 8∙ D. 0答案D解析C语言程序设计/循环程序设计/do-while语句14.(4分)a为0111,b为0123,a、b、c均为无符号短整型变量,则语句printf('%o,%o,%o,%o',c=~a,c=a&b,c=a |b,c=a∧b)的输出结果为( )∙ A. 177666,101,133,32∙ B. 0177666,0123,0333,032∙ C. 0177666,0101,0133,032∙ D. 177666,0123,0133,034答案A解析C语言程序设计/位运算/异或运算符15.(4分)有一个函数原型如下所示: abc(float x,double y); 则该函数的返回类型为∙ A. void∙ B. double∙ C. int∙ D. float答案C解析C语言程序设计/函数16.(4分)在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码( )∙ A. 大32∙ B. 大64∙ C. 小32∙ D. 小64答案A解析C语言程序设计/数据类型与运算/字符常数比较17.(4分)执行以下程序后的输出结果是( )int w=3,z=7,x=10;printf('%d',x>10?x+100:x-10);printf('%d',w++||z ++);printf('%d',!w>z);printf('%d',w&&z);∙ A. 0111∙ B. 1111∙ C. 0101∙ D. 0100答案C解析C语言程序设计/选择结构程序设计/条件运算符18.(4分)程序的三种基本结构是( )∙ A. 顺序结构,循环结构,递归结构∙ B. 顺序结构,循环结构,选择结构∙ C. 选择结构,循环结构,递归结构∙ D. 顺序结构,选择结构,递归结构答案B解析C语言程序设计/选择程序设计/程序结构19.(4分)设整型变量a值为9,则下列表达式中使b的值不为4的表达式( )∙ A. b=a/2∙ B. b=a%2∙ C. b=8-(3,a-5)∙ D. b=a>5?4:2答案B解析C语言程序设计/数据类型与运算/整型算术表达式20.(4分)已有定义int k=2;int *p1,*p2;且p1,p2均指向变量k,下面不能正确执行的赋值语句是( ) ∙ A. k=*p1+*p2∙ B. p2=k∙ C. p1=p2∙ D. k=*p1*(*p2)答案B解析C语言程序设计/指针/指针变量的定义21.(4分)若有以下定义int a[5]={1,2,3,4,5},*p,i;i=3;p=a;,则对数组元素地址的正确引用是( ) ∙ A. &p∙ B. a++∙ C. &(p+1)∙ D. &p[i]答案D解析C语言程序设计/指针/数组指针的引用二、判断1.(4分)用typedef可以创建新的基本类型∙∙答案错误解析C语言程序设计/结构体与共用体2.(4分)在C 语言中,共用体类型属于构造类型∙∙答案正确解析C语言程序设计/数据类型与运算/构造数据类型3.(4分)strcmp3(char *s,char *t){for (;*t= =*s;){if (!*t) return 0; t++;s++;}return (*s-*t);}库函数strcmp (char*s,char*t)是功能相等的程序段∙∙答案正确解析C语言程序设计/指针/指针作为函数参数4.(4分)C语言程序中,一个文件中的函数可以引用另一个文件中的函数和变量∙∙答案正确解析C语言程序设计/文件一、单选题1.(4分)在C语言中,反斜杠符是( )∙ A. \n∙ B. \t∙ C. \v∙ D. \\答案D解析C语言程序设计/数据类型与运算/字符常数表示形式2.(4分)执行下列程序段后, int x=10,y=9;int a,b,c;a=(--x= =y++)?--x:++y;b=x++;c=y; 变量a,b,c的值分别是( )∙ A. a=9,b=9,c=9∙ B. a=8,b=8,c=10∙ C. a=9,b=10,c=9∙ D. a=8,b=8,c=9答案B解析C语言程序设计/选择结构程序设计/条件与算术运算符3.(4分)判断char型变量c1是否小写字母的正确表达式为∙ A. 'a'<=c1<='z'∙ B. (c1>='a')&&(c1<='z')∙ C. (c1>=a)&&(c1<=z)∙ D. ('a'<=c1)||('z'>=c1)答案B解析C语言程序设计/数据类型及运算4.(4分)阅读以下程序,int w=1,x=2,y=3,z=4,m;m=w∙ A. 1∙ B. 2∙ C. 3∙ D. 4答案A解析C语言程序设计/选择结构程序设计/条件运算符嵌套5.(4分)在C语言中运算符的优先级从高到低的排列顺序是∙ A. 关系运算符算术运算符赋值运算符∙ B. 算术运算符赋值运算符关系运算符∙ C. 赋值运算符关系运算符算术运算符∙ D. 算术运算符关系运算符赋值运算符答案D解析C语言程序设计/数据类型及运算6.(4分)若有以下定义, int k=7,x=12, 则能使值为3的表达式是( )∙ A. x%=k%=5∙ B. x%=k-k%5∙ C. x%=(k-k%5)∙ D. (x%=k)-(k%=5)答案D解析C语言程序设计/数据类型与运算/算术表达式7.(4分)设有以下定义int k=7, x=12;,则能使值为3的表达式是()∙ A. x%=(k%=5)∙ B. x%=(k-k%5)∙ C. x%=k∙ D. (x%=k)-(k%=5)答案D解析C语言程序设计/数据类型与运算/整型算术表达式8.(4分)设有以下程序片段:char s[ ]='Program!';char *p;p=s;则执行完上面的程序段后,*(p+8)的值为( ) ∙ A. !'∙ B. '\0'∙ C. 'm'∙ D. 不定值答案B解析C语言程序设计/指针/字符串指针的引用9.(4分)C语言中合法的字符常量是∙ A. ’\\’∙ B. ”H”∙ C. ’He’∙ D. p答案A解析C语言程序设计/数据类型及运算10.(4分)以下read函数的调用形式中,参数类型正确的是( )∙ A. read(int fd,char *buf,int count)∙ B. read(int *buf,int fd,int count)∙ C. read(int fd,int count,char *buf)∙ D. read(int count,char *buf,int fd)答案A解析C语言程序设计/文件/文件的读和写11.(4分)设有以下程序片段:char a[ ]='hello',*p;p=a;printf('%d',*(p+5));执行上面的程序片段后的结果为( ) ∙ A. 111∙ B. 0∙ C. 104∙ D. 不确定的值答案B解析C语言程序设计/指针/数组元素的引用12.(4分)以下程序main(){int x=10,y=10;printf('%d %d ',x--,--y);}的输出结果是( )∙ A. 10 10∙ B. 9 9∙ C. 9 10∙ D. 10 9答案D解析C语言程序设计/顺序程序设计/整型变量的输出格式和算术运算符13.(4分)以下函数的功能对应于int fun(char *s,char *t) { while (*s)&&(*t)&&(*t==*s)} { t++; s++; } return(*s-*t); }∙ A. strlen(s)+strlen(t)∙ B. strcmp(s,t)∙ C. strcpy(s,t)∙ D. strcat(s,t)答案B解析C语言程序设计/循环控制14.(4分)C语言规定,函数返回值的类型是由( )所决定。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
西南大学网络与继续教育学院课程考
试试题卷
类别:网教 专业:算机科学与技术,计算机应用技术 2015年12月
课程名称【编号】: C语言程序设计 【0039】 A卷
大作业 满分:100 分
一、大作业题目
1.通过你对C语言程序设计课程的学习,你认为C语言具有哪些特点?
并简要说明。
C语言有哪些局限性?针对这些局限性,是如何解决这些
问题的?
2.C语言是一种结构化程序设计语言,在C语言中是如何体现结构化程
序设计思想的?结构化程序设计方法有内容是什么?在模块化设计中,
划分模块的基本原则是什么?采用结构化程序设计方法的好处是什么?3.编程题
(1)编写程序,利用公式求的值。
(要求最后一项小于10-6为止)。
(2)编写程序输出100以内能被7整除的数。
(3)编写一个函数void sort(float a[],int n),其功能是对数组a中的n个数
据按照升序排列。
再写一个主函数调用该函数对输入10个学生的成绩从
高到低排序,并输出排序的结果。
4.依据下列提供的程序回答问题
#include <stdio.h>
void main()
{float x[1000],sum=0.0,ave,score;
int n=0,i;
printf("请输入一个学生的课程成绩(0-100):\n");
scanf("%f",&score);
while(score>=0)
{sum=sum+score;x[n]=score;n++;
printf("再输入一个学生的课程成绩(0-100):\n");
scanf("%f",&score);}
ave=sum/n;
printf("输出平均成绩:\n");
printf("ave=%5.0f\n",ave);
printf("输出低于平均分的学生成绩:\n");
for(i=0;i<n;i++)
if (x[i]<ave) printf("%5.0f",x[i]);
}
(1)所提供程序的功能是什么?
(2)请依据提供的程序画出其中的传统流程图或N-S图或自然语言描述。
(3)在VC6.0环境下,运行上述程序时,若输入数据如图所示(图中输入数据分别为56,78,89,65,58,34,45,-9),则输出结果是什么?
二、大作业要求
大作业共需要完成3个大题:
第1-2题选作一题,满分30分;
第3题(1)-(2)任选一题完成,(3)题必做,每个题20分,满分40分;
第4题(1)-(3)必做,满分30分。
答卷提交要求:考试题提前公布,学生下载试题和答题卷后,在答题卷上答题。
完成后需网上提交答卷。
答卷于11月20日--12月6日通过点击页面左侧导航栏内“我的考试”-“课程论文/大作业”提交。