《C程序设计》作业内容
北师大网网络教育 C 程序设计一(答案)

《C++程序设计》第一套作业及其答案说明:本套作业涵盖第1章——第4章所学的内容。
本套作业共有38道单选题,1道多选题,共41个答案,满分为100分,错一个答案扣除2.5分。
1、在一个C++程序中,main函数的位置(C)。
(A)必须在程序的开头(B)必须在程序的后面(C)可以在程序的任何地方(D)必须在其它函数中间2、C++程序中的语句必须以(B)结束。
(A)冒号(B)分号(C)空格(D)花括号3、在下列八进制整型常量的表示中,(B)是正确的。
(A)0a0 (B)015 (C)080 (D)0x104、在下列十六进制整型常量的表示中,(C)是错误的。
(A)0x11 (B)0xaf (C)0xg (D)0x1f5、下列正确的字符常量为(D)。
(A)“a”(B)“\0”(C)a (D)‘\101’6、在下列运算符中,(D)优先级最低。
(A)!(B)&& (C)!= (D)?:7、设i=1, j=2,则表达式i+++j的值为(C)。
(A)1 (B)2 (C)3 (D)48、已知i=0, j=1, k=2,则逻辑表达式++i || --j && ++k的值为(B)。
(A)0 (B)1 (C)2 (D)39、设a=1, b=2, c=3, d=4,则条件表达式a<b ? a : c<d ? c : d的值为(A)。
(A)1 (B)2 (C)3 (D)410、逗号表达式(x = 4 * 5, x * 5), x + 25的值为(D)。
(A)25 (B)20 (C)100 (D)4511、已知int i, x, y; 在下列选项中错误的是(C)。
(A)if(x && y) i++; (B)if(x = y) i--;(C)if(xy) i--; (D)if(x + y) i++;-1 x<012、设有函数关系为 y = 0 x=0 ,下面选项中能正确表示上述关系为(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语言程序设计》形成性考核作业(1)解答

《C语言程序设计》作业1解答一、选择题1. 在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( A )。
A. mainB. MAINC. nameD. function2. C语言源程序文件的缺省扩展名为( D )。
A. cppB. exeC. objD. C3. 由C语言目标文件连接而成的可执行文件的缺省扩展名为( B )。
A. cppB. exeC. objD. c4. 程序运行中需要从键盘上输入多于一个数据时,各数据之间应使用( D )符号作为分隔符。
A. 空格或逗号B. 逗号或回车C. 逗号或分号D. 空格或回车5. 每个C语言程序文件的编译错误分为( B )类。
A. 1B. 2C. 3D. 46. 设x和y均为逻辑值,则x && y为真的条件是( A )。
A. 它们均为真B. 其中一个为真C. 它们均为假D. 其中一个为假7. 设有语句“int a=12; a+=a*a; ”,则执行结束后,a的值为( C )。
A. 12B. 144C. 156D. 2888. x>0 && x<=10的相反表达式为( A )。
A. x<=0 || x>10B. x<=0 && x>10C. x<=0 || x<=10D. x>0 && x>109. 字符串“a+b=12\n”的长度为( B )。
A. 6B. 7C. 8D. 910. 在下列符号常量定义中,错误的定义语句格式为( C )。
A. const M1=10;B. const int M2=20;C. const M3 10;D. const char mark='3';11. 带有随机函数的表达表达式rand( )%20的值在( C )区间内。
A. 1~19B. 1~20C. 0~19D. 0~2012. 当处理特定问题时的循环次数已知时,通常采用( A )循环来解决。
《C程序设计》作业参考答案(1-4章)

第1章C语言概述习题(P13):1.3 写出一个C程序的构成。
答:C程序由一个main函数和0个或多个自定义函数构成,每个函数的构成如下:函数类型函数名(函数参数列表){说明部分执行部分}1.4 C语言以函数为程序的基本单位,有什么好处?答:一个函数实现一个相对独立的功能,便于实现程序的模块化。
1.5 请参照本章例题,编写一个C程序,输出以下信息:*************************************************Very good!*************************************************答:参照例1.1编程如下# include <stdio.h>void main(){printf("********************************************\n");printf(" Very good!\n");printf("********************************************\n");}1.6 编写一个C程序,输入a、b、c 3个值,输出其中最大者。
答:参照例1.3编程如下法一:修改例1.3的主函数,自定义max函数不变。
# include <stdio.h>void main(){int max(int x,int y); /*函数声明*/int a,b,c,m; /*定义4个变量,m用于存放最大值*/scanf("%d%d%d",&a,&b,&c);/*从键盘上输入3个整数*/m=max(a,b); /*第一次调用max函数求出前两个数的最大值放在m中*/m=max(m,c); /*再调max函数求出m和第三个数的最大数*/printf("max is %d\n",m); /*输出结果*/}int max(int x,int y) /*定义求两个数的最大数的函数max */{int z;if(x>y) z=x;else z=y;return(z);}法二:修改例1.3的主函数和max函数,将max函数改为求3个数的最大数。
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语言程序设计-形考任务》 (3)

题目:在结构类型的定义中,不同数据成员的定义项之间采用的分隔符是()。
选项A:句点选项B:冒号选项C:分号选项D:逗号答案:分号题目:假定一个结构类型的定义为“struct A{int a,b; double c;};”,则该类型的长度为()。
选项A:8选项B:10选项C:12选项D:16答案:16题目:假定一个结构类型的定义为“struct D{int a; D* next;};”,则该类型的长度为()。
选项A:4选项B:8选项C:12选项D:16答案:8题目:假定要访问一个结构指针变量x中的数据成员a,则表示方法为()。
选项A:x.a选项B:x-a选项C:x(a)选项D:x{a}答案:x-a题目:与结构成员访问表达式等价的表达式为()。
选项A:x-name选项B:x-name选项C:(x)-name选项D:(*x)-name答案:(x)-name题目:假定有“struct BOOK{char title[40]; float price;}; struct BOOK book;”,则不正确的语句为()。
选项A:struct BOOK *x=malloc(book);选项B:struct BOOK x={"C++ Programming",27.0};选项C:struct BOOK *x=malloc(sizeof(struct BOOK));选项D:struct BOOK *x=book;答案:struct BOOK *x=malloc(book);题目:假定有“struct BOOK{char title[40]; float price;} b ook;”,则正确的语句为()。
选项A:struct BOOK x= book;选项B:struct BOOK *x=book;选项C:struct BOOK x=calloc(BOOK);选项D:struct BOOK *x=BOOK;答案:struct BOOK *x=book;题目:假定一个链表中结点的结构类型为“struct AA{int data, struct AA *next;};”,则next数据成员的类型为()。
《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语言程序设计》实验报告(实验1-12)

《C语言程序设计》实验报告(实验1-12)《C语言程序设计》实验报告20XX~20XX学年第二学期班级姓名学号指导教师实验一实验项目名称:C程序的运行环境和运行C程序的方法所使用的工具软件及环境:Visual C++ 一、实验目的:1.了解在Visual C++ 环境下如何xx、编译、连接和运行一个C程序; 2.通过运行简单的C程序,初步了解C 源程序的特点。
二、预习内容:教材《C语言程序设计教程》第1章。
三、实验内容:1. 在Visual C++ 环境下输入并运行下面的程序:#include int main( ) {printf("This is a C program.\\n"); return 0; }2. 在Visual C++ 环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。
#include int main( ) {int a,b,sum a=3; b=4; sun=a+b;print(“%d+%d=%d\\n”,a,b,sum); return 0; }四、实验结果:1. 运行结果(或截图):This is a C program.Press any key to continue- 1 -2. (1) 改正后的源程序:#include int main( ) {int a,b,sum; a=3; b=4; sum=a+b;printf(\ return 0; }(2) 运行结果(或截图):3+4=7五、思考题:1. 一个C程序上机的步骤有哪些?答:上级输入与xx源程序—对原程序进行编译–与库函数链接–运行可执行的目标程序。
2. 组成C程序的基本单位是函数,一个函数包括哪几个部分?答:一个函数包括两部分:分别为函数头或函数首部和函数体。
成绩指导教师签名实验二实验项目名称:数据类型、运算符和表达式所使用的工具软件及环境:Visual C++ 一、实验目的:1.掌握整型、实型与字符型这三种基本类型的概念;2.掌握常量及变量的使用方法;3. 掌握基本算术运算符及其表达式的使用方法;4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验一C语言的运行环境的使用一、目的与要求1. 了解Windows系统下C语言的运行环境,熟悉C程序调试、运行的基本操作方法。
2. 熟练掌握编辑、编译、连接和运行C程序的方法。
3. 通过运行简单的C程序,初步了解C源程序的特点。
4. 初步理解C语言的数据类型,了解变量定义、变量赋值以及简单运算方法,了解程序运行结果的基本输出方法。
二、实验例题在C语言运行环境下,按以下例题要求完成程序的编辑、编译、连接和运行,直至取得正确的运行结果。
【例1】编程实现在屏幕上显示如下三行文字Hello, world !Wolcome to the C language world!Everyone has been waiting for.(1)输入如下程序:#include <stdio.h>int main(){printf("Hello,World!\n");printf("Wolcome to the C language world!\n");printf("Everyone has been waiting for.\n");return 0;}(2)将输入的程序以文件名example.c存盘。
(3)编译:通过“组建”(Build) 下拉菜单中的“编译”(compile)命令,编译example.c,若出现编译错误,则修改程序,重新编译,直至编译成功,系统自动生成目标文件example.obj。
(4)连接:通过“组建”(Build)下拉菜单中的“组建”(Build)命令,生成以.exe为扩展名的可执行文件example.exe。
(5)运行:通过“组建”菜单下的“执行”(Excute)命令运行程序并观察运行结果。
【例2】编写程序,将两个整数相加,并输出结果。
#include <stdio.h>int main(){ int a,b,sum;a=123;b=456;sum=a+b;printf(“sum is %d\n”,sum);return 0;}运行方法例1,运行结果为:sum is 579。
【例3】编写程序,要求从键盘输入2个整数,输出其中较大的数。
#include <stdio.h>int main(){ int a,b,c;int max(int,int);scanf(“%d,%d”,&a,&b); //等待用户从键盘输入2个整数,输入时两数以逗号间隔c=max(a,b);printf(“max=%d”,c);return 0;}int max(int x,int y){ int z;if (x>y) z=x;else z=y;return(z);}注意:(1)第5行使用了输入函数scanf,程序运行之后,光标停留在用户屏幕上等待用户输入两个整数,比如输入“3,5”,回车,程序取得输入数据后继续运行,最后输出运行结果,即在用户屏幕上显示“max=5”。
(2)该例定义了max函数,并在主函数中调用max函数实现了找出两数中较大数的功能。
(3)请思考,如果直接在主函数中对两数进行比较从而找出较大数,程序该如何编写?【例4】输入并运行下程序,观察运行结果。
#include <stdio.h>int main(){ char c1, c2;c1=97;c2=98;printf(“%c %c”, c1, c2);return 0;}在此基础上,(1)在第6行后面加入下面的printf语句,运行并观察运行结果。
printf(“%d,%d”, c1, c2 );(2)再将第3行改为:int c1, c2;运行并观察运行结果。
(3)再将第4、5行改为:c1=300; c2=400;再使之运行,观察并思考运行结果。
该程序说明了字符型数据在特定情况下可作为整型数据处理,整型数据有时也可以作为字符型数据处理。
【例5】分析下面程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。
#include <stdio.h>int main(){char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf(“a%c b%c\tc%c\tabc\n”,c1,c2,c3);printf(“\t%c %c”,c4,c5);return 0;}该程序主要考查对转义字符的掌握情况。
【例6】分析下面程序,写出运行结果,再输入计算机运行,将得到的结果与你分析得到的结果比较对照。
#include <stdio.h>int main(){ int i,j, m, n ;i=8; j=10;m=++i; n=j++;printf(“%d,%d,%d,%d”,i,j,m,n);return 0;}分别作以下改动之后,先分析再运行,并对结果进行比对:(1)将第5行改为:m=i++; n= ++j;(2)程序改为:#include <stdio.h>int main(){ int i , j ;i=8; j=10;printf(“%d,%d”, i++, j++);return 0;}(3) 在(2)的基础上,将printf语句改为:printf(“%d,%d”, ++ i, ++ j );(4)再将printf语句改为:printf(“%d,%d,%d,%d”,i,j,i++,j++);(5)程序改为:#include <stdio.h>void main(){ int i , j , m=0 , n=0 ;i=8; j=10;m+=i++; n-=--j;printf(“i=%d,j=%d,m=%d,n=%d”,i,j,m,n);}此程序主要考查自加、自减运算符以及复合运算符的用法。
三、上机内容1.参照例题,编写一个C程序,输出以下信息:****************************Hello,World!****************************四、实验结果分析对实验结果进行检验,如结果出现错误,分析产生错误的原因并修改程序、改正错误。
实验二顺序结构与选择结构程序设计一、实验目的及要求1.理解C语言程序的顺序结构;2.掌握常用的C语言语句,熟练应用赋值、输入、输出语句;3.了解C语句表示逻辑量的方法(以0代表“假”,以1代表“真”);4.学会正确使用逻辑运算符和逻辑表达式;5.熟练掌握if语句和switch语句。
二、实验内容1、已知圆半径r=1.5,圆柱高h=3, 求圆周长,圆面积,圆球表面积,圆球体积,圆柱体积。
2、输入一个华氏温度,要求输出摄氏温度。
公式为c=5/9*(f-32)。
3、有3个整数a、b、c,由键盘输入,编程序按从小到大的顺序将它们排序并输出。
4、编程序计算下面的函数:x 0<x<1y= |x|+2 3≤x≤4sin(x2) 当x取其他值时5、输入一个整数m,判断它能否被7、11、17整除,如果能被以上三个数之一整除,则输出它能被整除的信息,否则输出m不能被7、11、17整除的信息。
6、电文加密的算法是:将字母A变成字母G,a变成g,B变成H,b变成h,依此类推,并且U变成A,V变成B,等等。
从键盘输入一个电文字符,输出其相应的密码。
7、企业发放的奖金根据利润提成。
若利润I≤10万元,奖金可提10%;若10万<I≤20万时,则低于等于10万元的部分按10%提成,高于10万元部分,可提成7.5%;若20万<I ≤40万时,低于等于20万元的部分仍按上述办法提成,高于20万元部分按5%提成;按类似的办法,若40万<I≤60万元时,高于40万元部分按3%提成;若60万<I≤100万元时,高于60万元的部分按1.5%提成;若I>100万时,超过100万元部分按1%提成。
从键盘输入当月利润I,求应发奖金总数。
三、实验结果分析对实验结果进行检验,如结果出现错误,分析产生错误的原因并修改程序、改正错误。
实验三 循环结构程序设计一、实验目的及要求1.熟练掌握while 、do —while 和for 三种循环语句的应用。
2.掌握基本的编程算法。
二、实验内容1、利用公式sinx=x-x 3/3!+x 5/5!-x 7/7!+x 9/9!-…+(-1)(n-1)·x(2n-1) /(2n-1)!编程计算sinx 的值。
设x=0.5,n=9。
2、编写程序求:3、输入20个有符号整数,统计正整数、零、负整数的个数。
4、输入m 个数,求其最大数、最小数和平均值。
5、在100和1000之间,有多少个其数字之和等于9而且该数可被5整除的整数?6、一位同学问老师和老师夫人的年龄是多少,老师说:“我年龄的平方加上我夫人的年龄恰好等于1053,而我夫人年龄的平方加上我的年龄等于873。
”试计算老师和其夫人的年龄。
7、打印下列图案*************三、实验结果分析对实验结果进行检验,如结果出现错误,分析产生错误的原因并修改程序、改正错误。
∑==101n !n s实验四、数组程序设计一、实验目的及要求1.掌握一维、二维数组的定义、赋值和输入输出的方法;2.掌握字符数组的使用;3.掌握与数组有关的算法(例如排序算法)。
二、实验内容1、给整型二维数组 b[3][4]输入12个数据,计算并输出数组中所有正数之和、所有负数之和。
2、青年歌手参加歌曲大奖赛,有10个评委进行打分,试编程求这位选手的平均得分(去掉一个最高分和一个最低分)。
分析:这道题的核心是排序。
将评委所打的10个分数利用数组按增序(或降序)排列,计算数组中除第一个和最后一个分数以外的数的平均分。
3、设二维数组 b[5][4]中有鞍点,即b[i][j]元素值在第i行中最大,且在第j列中最小,试编写一程序找出所有的鞍点,并输出其下标值。
也可能没有。
4、从键盘输入一数,然后在一个整型一维数组a[20]中,用折半查找法找出该数是数组中第几个元素的值。
如果该数不在数组中,则打印”No found”。
5、编程打印如下图形:** ** ** **6、有一电文,已按下列规律译成译码:A→Z a→zB→Y b→yC→X c→x即第一个字母变成第26个字母,第i个字母变成第(26-i+1)个字母。
非字母字符不变。
编写一个程序将密码译成原文,并输出密码和原文。
三、实验结果分析对实验结果进行检验,如结果出现错误,分析产生错误的原因并修改程序、改正错误。
实验五函数程序设计一、目的与要求1.掌握C语言函数的定义方法、函数的声明及函数的调用方法。
2.了解主调函数和被调函数之间的参数传递方式。