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++等。
C语言课程习题
一、C语言程序设计(1)1.以下不能定义为用户标识符的是()。
A. ScanfB. voidC. _3com_D. int2.以下选项中可作为C语言合法整数的是()。
A. 10110BB. 0386C. 0XffaD. x2a23.十进制数127转换成二进制数是()。
A. 11111111B. 01111111C. 10000000D. 11111110【作业1】取一个整数a从右端开始的4~7位,并把值打印到屏幕。
【作业2】在程序中声明若干个整数变量、浮点数,并将它们以二进制,十进制的格式打印在屏幕上。
二、C语言程序设计(2)1.假定x和y为double型,则表达式x=2,y=x+3/2的值是()。
A. 3.500000B. 3C. 2.000000D. 3.0000002.以下合法的赋值语句是()。
A. x=y=100B. d--;C. x+y;D. c=int(a+b);3.设正x、y均为整型变量,且x=10 y=3,则以下哪个是语句的输出结果?(d )pprintf("%d,%d\n",x--,--y);A. 10,3B. 9.3C. 9.2D.10.2【作业1】根据某个抛物线的点的x值计算y值参考公式:y=x2+2x+1【作业2】a是一个浮点数,它可能取任意值,书写表达式,求X,如果A在0~10范围内,结果X的值就为A,如果A>10,X取10,如果A<0,X就取0。
三、流程控制语句1.选择题(单选题)1.在下面的语句中,不属于循环语句的是()A.if语句B.while语句C.do-while语句D.for语句2.执行下面的程序片段,变量a的值为()int a=3 ; if(a=5) a=4;A.3 B.4C.5 D.出现编译错误2.关于for语句,以下说法正确的是()for(表达式1;表达式2;表达式3)A.表达式1不能省略B.表达式2不能省略C.表达式3不能省略D.所有表达式都可以省略【作业1】计算1到100内所有偶数的和思路分析:偶数即能够被2整除的数,利用循环语句,进行相加【作业2】使用循环语句打印“*”组成一个菱形思路分析:可以用一个等差数列来计算每一行的“*”的数量四、数组1.选择题(单选题)1.以下定义语句中,错误的是()A.int a[]={1,2}; B.char a[3];C.char s[10]="test"; D.int n=5,a[n];2.以下数组定义中不正确的是()。
国家开放大学电大《C语言程序设计》网络课形考任务3作业及答案
国家开放大学电大《C语言程序设计》网络课形考任务3作业及答案形考任务3一、选择题(共30分,每小题2分)题目1在下面的函数声明语句中,存在着语法错误的是( )。
选择一项:c.AA(int a; int b)题目2在下面的保留字中,不能作为函数的返回值类型的是( )。
选择一项:c. enum题目3假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址增加的字节数为( )。
选择一项:c. 4题目4假定a为一个数组名,在下面的表达式中,存在语法错误的是( )。
选择一项:b.*a++题目5用calloc函数创建具有10个整型元素的一维数组的正确语句是( )。
选择一项:c.int*p=calloc(10,4);题目6假定变量m定义为“int m=7;”,则下面正确的语句为( )。
选择一项:b.int*p=&m;题目7假定k是一个double类型的变量,则定义变量p的正确语句为( )。
选择一项:d.char题目8选择一项:d.x=*pa+3;题目9假定有语句为“int b[10];int *pb;”,则下面不正确的赋值语句为( )。
选择一项:d.pb=b[5];题目10已知“int *p=malloc(100);”,要释放p所指向的动态内存,正确的语句为( )。
选择一项:a.free(p);题目11在程序的一个文件中定义的函数,若要在另一个文件中调用,则必须在这另一个文件中给出该函数的( )。
选择一项:a. 原型语句题目12假定一个函数定义为“static int f1(int x,int y){return x+y;}”,该函数名称为()。
选择一项:c. f1题目13假定一个函数的原型语句为“int ff(int*x);”,一个整型数组为a[10],则下面函数调用表达式不正确的是( )。
选择一项:b.ff(a[0])题目14假定一个函数的数组参数说明为char a[],与之等价的指针参数说明为( ) 。
《C语言程序设计》第7次上机作业
《C语言程序设计》第7次上机作业C语言程序设计是计算机科学和技术专业中一门重要的课程,该课程主要教授C语言的基础知识和编程技巧。
通过学习这门课程,学生能够掌握C语言的语法结构和编程思想,提高自己的编码能力和解决实际问题的能力。
本次上机作业要求学生完成以下几个任务:1.打印九九乘法表:要求按格式打印出九九乘法表,并能够根据用户输入的数字,打印出对应大小的乘法表。
这一任务主要考察学生对基本的循环和控制语句的运用能力。
2.求阶乘:要求使用递归函数的方法,编写一个程序来计算给定数字的阶乘。
这一任务主要考察学生对递归函数的理解和运用能力。
3.统计字母个数:要求编写一个程序,可以统计字符串中字母的个数,并生成一个字母频率统计表。
这一任务主要考察学生对于字符串处理和数组运用的能力。
4.生成随机数:要求编写一个程序,能够生成指定范围内的指定个数的随机数,并将其存入一个数组中。
这一任务主要考察学生对于随机数生成和数组运用的掌握能力。
5.循环移位:要求编写一个程序,实现对给定的字符串进行循环右移的功能。
这一任务主要考察学生对于字符串处理的能力。
通过完成上述任务,可以帮助学生巩固和提高C语言的编程能力,培养学生的分析问题和解决问题的能力。
在解题过程中,学生需要注意编码的规范性和程序的健壮性。
合理使用注释,编写清晰易懂的代码。
在测试过程中,注意边界条件和异常情况的处理,确保程序的正确性和稳定性。
总之,完成本次上机作业将有助于学生提高C语言的编程能力,培养学生的解决实际问题的能力,为将来的工作和学习打下良好的基础。
希望同学们能够认真完成本次作业,加深对C语言的理解和应用能力。
c语言课程设计大作业
c语言课程设计大作业一、教学目标本课程的教学目标是使学生掌握C语言的基本语法、数据结构和算法,具备使用C语言进行程序设计的能力。
具体目标如下:1.知识目标:学生能够理解并掌握C语言的基本语法、数据结构和常用算法。
2.技能目标:学生能够运用C语言编写简单的程序,解决实际问题。
3.情感态度价值观目标:学生能够体验到编程的乐趣,培养对计算机科学的兴趣。
二、教学内容根据课程目标,本课程的教学内容主要包括C语言的基本语法、数据结构和算法。
具体安排如下:1.C语言的基本语法:包括变量、运算符、控制结构、函数等。
2.数据结构:包括数组、链表、栈、队列、树等。
3.算法:包括排序算法、查找算法、递归算法等。
三、教学方法为了达到课程目标,本课程将采用多种教学方法,如讲授法、讨论法、案例分析法、实验法等。
具体方法如下:1.讲授法:用于讲解C语言的基本语法、数据结构和算法。
2.讨论法:用于引导学生探讨编程问题,培养解决问题的能力。
3.案例分析法:通过分析实际案例,使学生更好地理解C语言的应用。
4.实验法:让学生动手编写程序,提高编程能力。
四、教学资源为了支持教学内容和教学方法的实施,本课程将准备以下教学资源:1.教材:《C语言程序设计》。
2.参考书:提供相关的编程资料和算法教程。
3.多媒体资料:制作课件和教学视频,辅助学生学习。
4.实验设备:提供计算机实验室,让学生进行编程实践。
五、教学评估本课程的评估方式包括平时表现、作业和考试。
具体评估方式如下:1.平时表现:通过学生在课堂上的参与度、提问和讨论,评估其对C语言的理解和应用能力。
2.作业:布置编程作业,评估学生对C语言语法和算法的掌握程度。
3.考试:进行期中和期末考试,评估学生对C语言的整体掌握情况。
评估方式应客观、公正,能够全面反映学生的学习成果。
六、教学安排本课程的教学安排如下:1.教学进度:按照教材的章节顺序进行教学,确保学生掌握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语言程序设计教程》习题参考答案《C语言程序设计教程》习题参考答案祝胜林主编华南理工大学出版社【习题1】 (1)【习题2】 (2)【习题3】 (3)【习题4】 (5)【习题5】 (8)【习题6】 (11)【习题7】 (14)【习题8】 (17)【习题9】 (17)【习题10】 (20)一、简答题(在课本中寻找答案,略)1.1C程序的基本结构包括哪些内容?1.2如何定义标识符?1.3输入格式、输出格式的组成包括哪些内容?1.4C语言函数分为哪两类?1.5计算表达式的值应该考虑哪些方面?1.6上机调试程序的步骤如何?二、判断并改错1.7C程序执行的入口是main()函数,所以main函数必须放在程序的开头。
错误:main函数可以放在程序的任何位置。
并不限定在程序的开头。
1.8定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。
错误:不可以交叉出现,数据说明部分在执行语句部分的前面。
1.9编辑与编译不是一回事。
错误:不是一回事。
编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。
1.10scanf("%d,%d",&x,&y);的正确输入格式:3,4<回车>。
正确1.11注释内容太多会影响程序的执行效率。
错误:不会影响程序的执行效率。
因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中。
1.12所有的数学公式可以直接出现在源程序中。
错误:数学公式需要转换成C语言能够接受的公式才能出现在源程序中。
三、编程题1.13在屏幕上输出自己名字的拼音。
提示:中文名字叫?张三?,对应的拼音为?Zhang San?,输出用printf()函数。
1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。
提示:定义圆的半径r,圆的周长:2*3.14*r,输出结果保留2位小数可以用%.2f1.15输入两个整数,输出其中最大者。
国家开放大学电大《C语言程序设计》网络课形考任务1作业及答案
国家开放大学电大《C语言程序设计》网络课形考任务1作业及答案形考任务1
一、选择题(共40分,每小题2分)
题目1
在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为()。
选择一项:
A. main 恭喜你,答对啦!!
题目2
C语言源程序文件的缺省扩展名为()。
选择一项:
D. c
题目3
由C语言目标文件连接而成的可执行文件的缺省扩展名为()。
选择一项:
B. exe
题目4
程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用的分隔符为()。
选择一项:
D. 空格或回车
题目5
每个C语言程序文件的编译错误被分为()。
选择一项:
B. 2类
题目6
不符合C语言规定的复合语句是()。
选择一项:
D. {y=10}
题目7
C语言程序中的基本功能模块为()。
选择一项:
D. 函数
题目8
在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和()。
计算机《C语言程序设计》暑假作业
计算机《C语言程序设计》暑假作业1、下面程序段的运行结果是。
a=3;b=2;c=2;while(a>b<c){t=a;a=b;b=t;c--;}printf("%d,%d,%d",a,b,c);2、下面程序段的运行结果是。
x=y=1;while(x<20)y++,x+=++y;printf("%d,%d",y,x);3、下面程序段的运行结果是。
int n=5;while(n- - >=2)printf("%d",n);4、下面程序的功能是将从键盘输入的一对数,由小到大排序输出。
当输入一对相等数时结束循环,请填空。
#include <stdio.h>main(){int a,b,t;scanf("%d%d",&a,&b);while( ){if (a>b){t=a;a=b;b=t;}printf("%d,%d\n",a,b);scanf("%d%d",&a,&b);}}5、下面程序的功能是从键盘输入的一组字符中统计出大写字母的个数m和小写字母的个数n,并输出m,n中的较大者#include <stdio.h>main(){int m=0,n=0;char c;while ((【1】)!='\n'){ if(c>='A'&&c<='Z') m++;if (c>='a'&&c<='z') n++;}printf("%d",m<n?【2】);}6、下面程序的功能是将小写字母变成对应大写字母后的第二个字母,其中y变成A,z 变成B。
请填空。
#include <stdio.h>main(){ char c;while ((c=getchar())!='\n'){if (c>='a'&&c<='z'){【1】;if (c>'Z')【2】;}printf("%c",c);}}7、下面程序的功能是在输入一批正整数中求出最大者,输入0结束循环,请填空。
- 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语言规定,函数返回值的类型是由( )所决定。