C语言程序设计课程作业
大学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

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解析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语言规定,函数返回值的类型是由( )所决定。
C语言程序设计练习题(答案)

C语言程序设计练习题(答案)1.1上机实训项目实验1实验步骤1、进入VC环境从“开始”→“程序”→“Microsoft Visual Studio 6.0”→“Microsoft Visual C++ 6.0”,这时进入VC集成环境的主菜单窗口,屏幕显示如图1_1所示。
图1-1 VC集成环境的主菜单窗口2、VC环境下C程序的编辑、连接和运行(1)新建一个源程序①在VC环境中选择“文件”菜单,然后单击“新建”菜单项。
如图1-2所示图1-2 选择新建② 在弹出的新建对话框中设置好相应的内容,如图2-2所示。
要事先准备好保存文件的目录,例d:\lx 目录。
在图1-3中“文件”一栏的源程序文件的扩展名一定要输入C 语言程序的扩展名“.c ”。
设置好后,单击“OK ”,就回到了VC++的编辑界面,即将进行输入和编辑的源程序文件example.c 文件存放在D 盘的LX 目录下。
图1-3 新建对话框的设置③ 在图1-4的工作区中,输入源程序2.设置源程序的文件名,扩展名一定要为“.c ”且一定要输入扩展名1.单击该处3.设置存放目录图1-4 输入、编辑源程序④输入源程序文件后可在主菜单栏中选择“文件”(FILE),并在其下拉菜单中选择“保存”(SAVE),如图1-5所示。
图1-5 保存源程序⑤源程序的编译如图2-6所示,单击主菜单的“编译”(Build),在其下拉菜单中选择“编译example.c”(Compile example.c),或者单击工具栏上的“编译”按钮,如图1-6所示。
在单击“编译”后,屏幕上会出现一个如图1-7所示的对话框。
内容是“This build command requires an activeproject worksapce,Would you like to create a default project worksapce?”,要创建一个默认的项目工作区,单击“是(Yes)”,表示同意,将开始编译;单击“No ”,表示不同意,将取消编译。
《C语言程序设计A》课程形成性考核作业三参考答案

元素赋值给x,则不正确的语句为( D )。 A.x=pa[3]; B.x=*(a+3); C.a=a[3]; D.x=*pa+3; 14.假定有定义“int b[10];int *pb;”,则不正确的赋值语句为( C )。 A.pb=b; B.pb=&b[0]; C.pb=b+2; D.pb=b[5]; 15.假定指针变量p定义为“int *p=new int(100);”,要释放p所指向的动态 内存,应使用语句( D )。 A.delete[p]; B.delete *p; C.delete &p; D.delete []p; 16.假定指针变量p定义为“int *p=calloc(30,sizeof(int));”,要释放p所指 向的动态内存,应使用语句( D )。 A.delete[p]; B.deldete(p); C.free[]p; D.free(p);
1、 选择题 1. 在下面的(C)函数声明语句存在语法错误。 A.AA(int a,int b); B.AA(int ,int) C.AA(int a;int b) D.AA(int a,int) 2.在下面的(C)不能作为函数的返回类型。 A.void B.int C.new D.long 3.下面正确的函数原型语句是(B)。 A.int Function(void a); B.void Function(int); C.int Function(a); D.void int(double a); 4.函数调用func(exp1,exp2),exp3*exp4-exp5)中所含实参的个数为(B) 个。 A.1 B.2 C.4 D.5 5.下面的标识符中,(C)是文件级作用域。 A.函数形参 B.语句标号 C.外部静态类标识符 D.自动类标 识符 6.下面的标识符中,(B)具有全局级作用域。 A.函数形参 B.全局变量 C.内部静态类标识符 D.自动变量 符 7.假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指 数据的地址大( C )字节。 A.1 B.2 C.4 D.8 8.假定a为一个字符数组名,则a[8]的地址比该数组的首地址大( B ) 个字节。 A.4 B.8 C.16 D.32 9.假定a为一个数组名,则下面的( B )表示有错误。 A.a[i] B.*a++ C.*a D.*(a+1) 10.用calloc函数创建具有10个整型元素的一维数组的正确语句是( C )。 A.int *p=calloc(10,2); B.int *p=callo(10; C.int *p=calloc(10,4); D.int *p=malloc(10); 11.假定变量m定义为“int m=7;”,则定义p的正确语句为( B )。 A.int p=&m; B.int *p=&m; C.int &p=*m; D.int *p=m; 12.假定k是一个double类型的变量,则定义指向k的变量p的正确语句 为( B )。 A.double p=&k; B.double *p=&k; C.double &p=*k; D.char *p=”Thank you!”; 13.假定一条定义语句为“int a[10],x,*pa=a;”,若要把数组a中下标为3的
c语言课程设计作业设计

c语言课程设计作业设计一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识,培养学生编写简单程序的能力,使学生了解程序设计的基本方法,培养学生的逻辑思维能力和创新意识。
1.理解C语言的基本语法和规则。
2.掌握基本数据类型、运算符和控制结构。
3.了解函数的定义和调用。
4.理解程序设计的基本方法。
5.能够使用C语言编写简单的程序。
6.能够阅读和理解简单的C语言程序。
7.能够对程序进行调试和运行。
情感态度价值观目标:1.培养学生对计算机科学的兴趣和热情。
2.培养学生的创新意识和团队合作精神。
3.培养学生诚实守信、勇于面对困难的品质。
二、教学内容本课程的教学内容主要包括C语言的基本语法、数据类型、运算符、控制结构、函数等基本知识。
具体安排如下:1.第一章:C语言概述介绍C语言的历史、特点和基本语法。
2.第二章:数据类型和运算符讲解C语言的基本数据类型、运算符及其用法。
3.第三章:控制结构讲解条件语句、循环语句及其应用。
4.第四章:函数讲解函数的定义、声明和调用,介绍常用的库函数。
5.第五章:数组和字符串讲解一维数组、多维数组、字符串的基本操作。
6.第六章:指针讲解指针的概念、运算和应用。
7.第七章:结构体和联合体讲解结构体、联合体的定义和应用。
8.第八章:文件操作讲解文件的概念、文件操作函数和文件权限设置。
三、教学方法本课程采用讲授法、案例分析法和实验法相结合的教学方法。
1.讲授法:通过讲解C语言的基本语法、数据类型、运算符、控制结构、函数等知识,使学生掌握基本概念和原理。
2.案例分析法:通过分析典型的C语言程序,使学生了解程序设计的方法和技巧。
3.实验法:让学生亲自动手编写和运行C语言程序,培养学生的实际编程能力。
四、教学资源1.教材:《C程序设计语言》(K&R)2.参考书:《C Primer Plus》、《C语言程序设计》3.多媒体资料:PPT课件、在线教程、视频教程4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)五、教学评估本课程的评估方式包括平时表现、作业、考试等,以全面反映学生的学习成果。
c程序设计课程设计作业

c程序设计课程设计作业一、教学目标本课程的教学目标是使学生掌握C程序设计的基本概念、语法和编程技巧,培养学生具备基本的程序设计能力和问题解决能力。
具体包括以下几个方面:1.知识目标:学生需要掌握C程序设计的基本语法、数据类型、运算符、控制结构、函数、数组、指针等基本概念,了解结构体、共用体、位字段等数据结构,以及文件操作、调试技巧等编程实践知识。
2.技能目标:学生需要能够运用C语言编写简单的程序,解决实际问题,具备基本的程序调试和优化能力。
3.情感态度价值观目标:培养学生对计算机科学的兴趣和热情,提高学生独立思考、创新意识和团队合作能力。
二、教学内容根据教学目标,本课程的教学内容主要包括以下几个部分:1.C语言基本语法和数据类型:变量、常量、数据类型、运算符、表达式等。
2.控制结构:顺序结构、选择结构、循环结构等。
3.函数:函数的定义和声明、参数传递、返回值、局部变量和全局变量等。
4.数组和指针:一维数组、多维数组、字符串、指针的概念和应用等。
5.数据结构:结构体、共用体、位字段、链表、栈和队列等。
6.文件操作:文件的打开、关闭、读写、定位等操作。
7.编程实践:调试技巧、代码优化、算法分析等。
三、教学方法为了达到教学目标,本课程将采用以下几种教学方法:1.讲授法:通过讲解和演示,使学生掌握C语言的基本概念和语法。
2.案例分析法:通过分析实际案例,引导学生运用C语言解决实际问题。
3.实验法:安排上机实验,让学生动手编写程序,培养编程能力和实践能力。
4.讨论法:学生进行小组讨论,促进学生之间的交流与合作,提高学生的创新意识和团队合作能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将采用以下教学资源:1.教材:《C程序设计语言》(K&R)、《C Primer Plus》等。
2.参考书:《C专家编程》、《C陷阱与缺陷》等。
3.多媒体资料:教学PPT、视频教程、在线课程等。
4.实验设备:计算机、编程环境(如Visual Studio、Code::Blocks等)、网络资源等。
电大《C语言知识学习程序设计》第1,2,3,4次作业任务及答案解析

第一次作业一、写出下列每个程序运行后的输出结果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 17 197、答案:10 6 48、答案:1 5 7 11 13 37第二次作业一、根据下列每个题目要求编写程序1.编写一个函数,函数头格式为“void fun4(char *a , int b[])”,分别求出由字符指针a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b的相应元素。
《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++等。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
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解析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语言规定,函数返回值的类型是由( )所决定。