桂林电子科技大学 C语言 程序设计 习题 答案(周信东) 实验2 顺序结构与逻辑运算

合集下载

《C语言程序设计》课后习题答案(第四版)

《C语言程序设计》课后习题答案(第四版)

第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。

C语言实验报告___顺序结构与选择结构程序设计(含答案)

C语言实验报告___顺序结构与选择结构程序设计(含答案)

实验二顺序结构与选择结构程序设计一、实验目的及要求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、编程序计算下面的函数:e x-1 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,求应发奖金总数。

三、实验结果分析对实验结果进行检验,如结果出现错误,分析产生错误的原因并修改程序、改正错误。

C语言程序设计实验答案

C语言程序设计实验答案

/* 非常感谢度娘以及各位网上C 语言高手的支持,才能让敝人完成此文档的整理。

本文档集合了本人、度娘、众网友的力量,其中代码的正确率约为90%(不正确的有标注)为回报度娘及众网友的帮助,本文档免费下载。

*//* 配“电子科技大学出版社(周信东主编)”的C 语言程序设计实验*//* 努力吧,骚年以及学妹们!*//* 整理ed by 口玉刀一of GUET.*/实验一 C 语言程序初步已知a=5,b=4,c=6, 求出s 并换行#include""main(){int a,b,c,s;a=5;b=4;c=6;s=(a+b+c)/3;printf("a=%d,b=%d,c=%d\n,s=%d",a,b,c,s); }输入一个数字求他的平方#include<>main(){int r,s;scanf("%d",&r);s=r*r;printf("s=%d\n",s);}(1)#include<>main(){printf(" *\n");printf("***\n");printf(" *\n");}(2)#include<>main(){int v;int a,b,c; ( 2)#include<>double x;scanf("%d",&m);x=*m*m;printf("%f",x);}入a,b,c 三个变量,计算数学公式(a*b)/c main(){int a,b,d;float s,c;scanf("%d%d%f",&a,&b,&c);d=a*b;s=d/c;printf("%f",s);}实验三顺序结构和输入输出方法( 1) main(){int m=345,t; float n=;t=*100; printf("m=%d,n*100=%d\n",m,t);}(2) main() {int a,b,c,s,v;scanf("%d%d%d",&a,&b,&c); s=a*b;v=a*b*c;printf("%d,%d,%d\n",a,b,c); printf("s=%d,v=%d\n",s,v);}(1) main() {int m,n;float x=,y=;scanf("%d,%d",&m,&n);printf("%6d,%6d",m,n); /* 每个数的输出宽度为6, 两个数之间逗号建个。

桂林电子科技大学C语言程序设计习题答案(周信东)实验5函数

桂林电子科技大学C语言程序设计习题答案(周信东)实验5函数

实验5 函数
姓名:学号:实验日期:2013-12-1
1.实验目的和‎要求:参见实验指‎导书实验八‎
2.实验内容和‎步骤:
实验内容:实验指导书‎中的实验八‎
实验步骤:
2.1.实验内容的‎第1题,通过本题,了解到要在‎单步调试时‎能够观察自‎定义的函数‎内部变量变‎化情况,单步调试如‎何操作:
答:点击组建——开始调试——Step into或‎按F11可‎以进入到函‎数内部进行‎单步调试,在右下角的‎窗口中输入‎要观察的变‎量,单步运行观‎察变量的变‎化。

提问(1),请在下面粘‎贴运行结果‎画面:
实参a是否‎为同一变量‎?
答:修改前后实‎参a不是同‎一变量,修改前的实‎参a为全局‎变量,修改后的实‎参a为局部‎变量。

提问(2),请请在下面‎粘贴运行结‎果画面:
提问(3),观察结果有‎何变化?
答:运行结果变‎成了一个随‎机数。

通过本题,可以得出什‎么结论?
答:函数的返回‎值是由ma‎i n函数内‎部的局部变‎量决定的。

2.2 实验内容部‎分第2题源‎程序代码,请贴图:
程序运行结‎果画面,请贴图:
2.3 实验内容部‎分第3题源‎程序代码,请贴图:
程序运行结‎果画面,请贴图:
2.4 选做题,若做了,请在下面给‎出源程序代‎码贴图及运‎行结果贴图‎
2.5选做题,若做了,请在下面给‎出源程序代‎码贴图及运‎行结果贴图‎
3.实验小结:
通过本次实‎验,我对函数的‎调用更加深‎入理解。

之前对函数‎的返回值是‎哪个一直分‎不清,而且对形参‎和实参的定‎义理解不透‎。

但是做完实‎验报告之后‎,自己的编程‎水平进一步‎提高。

最新版C语言重新设计基础实验实验二周信东输入输出方法及分支结构程序设计

最新版C语言重新设计基础实验实验二周信东输入输出方法及分支结构程序设计
default: printf("E\n");
}
}
运行结果:
请在此粘贴本程序运行成功时的截图
Eh3-1请在下面分别插入完整填空后的源程序代码及运行成功时的画面:
源程序代码:
请在此粘贴填空后正确的程序代码。
#include<stdio.h>
void main()
{
int c,t,m;
printf("int put the number of coat and trousers your want buy:\n");
请把观察这些变量时的画面粘贴到下面:
请在此框内插入观察到变量值的截图
7、C程序在什么情况下运行需要输入数据才能得出运行结果?输入的测试数据需要注意哪些事项?
在此回答问题
在调试与调试完成后的运行中,
类型要对,格式要正确,数据范围要在规定范围内
8、在运行Eh3-1.c时,至少需要输入几组测试数据才能对程序进行完整的测试?如何进行输入多组数据的测试?
源程序代码:
请在此框内粘贴修改后正确的程序代码。
#include<stdio.h>
void main()
{
int i,j,p,m,n;
scanf("%d,%d,%d",&i,&j,&p);
m=i+j+p;
n=(int)m/3;
printf("%d,%d\n",m,n);
}
运行结果:
请在此框内插入本程序运行成功时的截图
{
int score;
printf("enter score=");

【随米文库】桂林电子科技大学2010-2011学年第一学期《C语言程序设计》试卷B卷及答案

【随米文库】桂林电子科技大学2010-2011学年第一学期《C语言程序设计》试卷B卷及答案

桂林电子科技大学试卷2010~2011 学年第1 学期课号101794,101798,101800,101801,101802,101803,101804课程名称C语言程序设计(B卷,闭卷)适用班级(或年级、专业)2010级考试时间120 分钟班级学号姓名题号一二三四五六七八九十成绩满分30 20 30 20 100 得分评卷人一、选择题(共30分,每小题2分)1、一个C语言程序中,以下说法中正确的是 C 。

A)main函数必须出现在所有函数之前B)main函数必须出现在所有函数之后C)main函数可以放在任何位置D)main函数必须放在固定位置2、在C语言中,下列合法的变量名是 D 。

A) b.cat B) #p12 C) 3D64 D) p_12 3、为表示x≥y≥z,须用C语言表达式的是 A 。

A)(x>=y)&&(y>=z) B) (x>=y)AND(y>=x)C) x>=y>=z D) (x>=y)&(y>=z)4、有输入语句:scanf(“a=%d, b=%d, c=%d”, &a, &b, &c); 为使变量a的值为1,b为3,c为2,从键盘输入数据的正确形式应当是 D 。

A)132<回车> B)1, 3, 2<回车>C)a=1 b=3 c=2<回车> D)a=1, b=3, c=2<回车>5、以下程序的输出结果是 A 。

A) 3 B) 4 C) 0 D) 1 void main ( ){ int x = 1 , y = - 1 , z = 3 ;if ( x < y )if ( y < 0 ) z = 0 ;else z = z + 1 ;printf ( " %d \n ", z );}6、对于while语句,错误的说法是 B 。

桂林电子科技大学C语言程序设计习题答案[周信东]实验4数组

桂林电子科技大学C语言程序设计习题答案[周信东]实验4数组

实验4 数组姓名:学号:实验日期:2013-11-171.实验目的和要求(1)掌握一维数组与二维数组的定义、使用及初始化方法。

(2)学习数组作为函数参数的用法。

(3)掌握字符数组和字符串函数的使用方法。

(4)掌握与数组有关的常用排序算法,进一步理解模块化程序设计的方法。

(5)掌握字符、字符串的输入/输出方法。

(6)掌握字符数组的使用。

(7)学会使用字符串的指针和指向字符串的指针变量。

2.实验内容:实验指导书中的实验六、实验七3.实验步骤实验六数组部分:6-1:解决问题的算法或源程序代码:程序的运行测试结果截图(考虑各种情况下的运行结果):6-2:该程序完整的源程序代码是:程序运行结果截图:6-3 :该程序完整的源程序代码是:程序运行结果截图:6-4.:解决问题的关键算法的源程序代码是:程序运行结果截图:6-5:解决问题的关键算法的源程序代码是:程序运行结果截图:6-6 (选作):我使用的算法为:请用文字描述一下程序运行结果截图:6-7 (选作):我使用的算法为:程序运行结果截图:7-1 该程序的功能是:将打出的空格字符后面的字符串全部去除,保留空格字符前面的字符串。

程序运行结果截图:7-2:解决问题的关键算法的源程序代码是:程序运行结果截图:7-3:解决问题的关键算法的源程序代码是:程序运行结果截图:7-4:解决问题的关键算法的源程序代码是:程序运行结果截图:7-5:解决问题的关键算法的源程序代码是:程序运行结果截图:7-6:解决问题的关键算法的源程序代码是:程序运行结果截图:4、实验小结通过本次试验,我对数组和字符处理的概念的理解进一步加深,对数组的初始化,循环语句的使用以及变量的运用能基本掌握。

在实验过程中遇到了许多的困难,如FOR语句,if语句的嵌套经常出错,而且还不知道错在哪里,这就需要经过反复地调试,需要很大的耐心。

只有经过翻书,讨论才能发现错误以及知识的漏洞,并重新修改程序,在这过程中不知不觉养成了战胜困难的信心。

桂林电子科技大学-实验C语言-程序设计-习题-答案(周信东)-6--指-针

桂林电子科技大学-实验C语言-程序设计-习题-答案(周信东)-6--指-针

实验6 指针姓名:学号:实验日期:2013/12/11 1.实验目的和要求(1)掌握指针的概念、指针变量定义格式和引用。

(2)掌握指针的运算方法。

(3)掌握数组的指针和指向数组的指针变量。

(4)掌握指针与函数的关系。

(5)能正确使用字符串的指针和指向字符串的指针变量。

(6)了解指向函数的指针。

(7)了解指向指针变量的指针。

2.实验内容:实验指导书中的实验九。

3.实验步骤9.1 调试程序,找出程序的错误。

改正后的程序代码(贴图):运行结果(帖图):9.2 运行程序:运行结果:;9.3 修改程序错误,并运行。

改正后程序代码:运行结果(帖图):9.4. 程序填空:运行结果(请帖图):9.5. 程序填空:程序填空:#include <stdio.h>main(){int a[5][5]={0},*p[5],i,j;for(i=0; i<5; i++) p[i]= &a[i][0] ;for(i=0; i<5; i++){ *(p[i]+ i)=1;*(p[i]+5- (i+1)) =1;}for(i=0; i<5; i++){for(j=0; j<5; j++)printf("%2d", p[i][j]);printf("\n");}}运行结果(请帖图):9.6 编程(选作)程序代码(请帖图):运行结果(请帖图):97. 运行程序(选作):运行结果(请帖图):4、实验心得:通过实验,我对指针的领悟进一步加深。

指针是C语言学习中非常重要的内容,所以要通过实验进行验证,加深记忆。

只有理论学习与上机验证相结合,才能更好地掌握指针。

(完整版)C语言程序设计课后习题答案

(完整版)C语言程序设计课后习题答案

C语言程序设计(第2版)课后习题答案第一章1.请参照本章例题,编写一个C程序,输出以下信息:**************************Very good!**************************解:#include<stdio.h>void main(){printf(“**************************”);printf(“\n”);printf(“Very good!\n”);printf(“\n”);printf(“**************************”);}2.编写一个C程序,输入a、b、c三个值,输出其中最大值。

解:#include<stdio.h>void main(){int a,b,c,max;printf(“请输入三个数a,b,c:\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max<b) max=b;if(max<c) max=c;printf(“最大数为: %d”,max);}第二章1.假如我国国民生产总值的年增长率为10%,计算10年后我国国民生产总值与现在相比增长多少百分比。

计算公式为P=(1+r)^n,r为年增长率;n为年数;P为与现在相比的百分比。

解:#include<stdio.h>#include<math.h>void main(){double P, r=0.1, n=10;P=pow((1+r), n);printf(“%lf\n”, P);}3.请编程序将“China”译成密码,译码规律是用原来字母后面的第4个字母代替原来的字母。

例如,字母“A”后面第4个字母是“E”,“E”代替“A”。

因此,“China”应译为“Glmre”。

请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为’C’、’h’、’i’、’n’、’a’,经过运算,使c1、c2、c3、c4、c5分别变为’G’、’l’、’m’、’r’、’e’,并输出。

C语言实验报告_答案

C语言实验报告_答案

《C语言程序设计》实验指导学院:信息科学与技术学院专业:计算机通信学期:2011~2012学年教师:目录实验1 熟悉C语言程序开发环境............................... 错误!未定义书签。

1.1 实验目的 ......................................................................................... 错误!未定义书签。

1.2 实验预习 ......................................................................................... 错误!未定义书签。

1.3 实验任务 ......................................................................................... 错误!未定义书签。

1.4 实验报告 ......................................................................................... 错误!未定义书签。

实验2 数据描述............................................. 错误!未定义书签。

2.1 实验目的 ......................................................................................... 错误!未定义书签。

2.2 实验预习 ......................................................................................... 错误!未定义书签。

桂林电子科技大学 C语言 程序设计 习题 答案(周信东) 实验2 顺序结构与逻辑运算

桂林电子科技大学 C语言 程序设计 习题 答案(周信东) 实验2  顺序结构与逻辑运算

成绩:良评语:继续努力... 批改时间:2013-11-16 10:51:55 批改老师:实验2 顺序结构与逻辑运算学号:姓名:实验日期:2013-10-301.实验目的和要求(1)掌握数据输入/输出函数的使用,能正确使用各种格式转换符。

(2)熟悉顺序结构程序中语句的执行过程,并学会基本调试程序方法。

(3)能够正确使用逻辑运算符和逻辑表达式。

(4)学会运用逻辑表达式或关系表达式等表示条件。

(5)熟练掌握if语句和switch语句,掌握条件表达式构成的选择结构。

(6)熟练掌握跟踪调试程序,针对具体数据组织输入测试数据,观察程序运行能否得到预期的输出结果。

(7)学会编写简单程序。

2.实验内容:实验指导书中的实验三和实验四3.实验步骤及结果实验三部分:3-1-1 该程序正确的源程序代码(或窗口截图):程序运行结果画面如下:3-1-2该程序正确的源程序代码(或窗口截图):程序运行结果画面如下:3-2-1该程序完整的源程序代码(或窗口截图):程序运行结果画面如下:3-2-2该程序完整的源程序代码(或窗口截图):程序运行结果画面如下:3-3语法错误和逻辑错误的区别何在?语法错误是指违背了程序的语法规则,比如增添了某个符号,或者少了头文件,且无法通过编译器的编译,更无法运行。

逻辑错误是指在语法正确的前提下算法上的错误,能够运行,但结果往往不对,且很难发现。

如何启动单步调试?单击菜单栏“组建”下的“开始调试”,单击“STEP INTO”,也可以按快捷键F11,使每条语句单独执行。

要使程序运行到“ss=(k…”这一行暂停下来,该如何操作?怎样终止调试状态(程序复位)?单击调试菜单中的“stept over”或按快捷键F10。

单步调试状态下,向下运行一条语句的操作方法(分两种情况回答,第一种,跟踪到自定义函数内部,第2种,不跟踪到自定义函数内部):1.单击调试菜单中的Step into 进入到自定义函数内部。

2.单击调试菜单中的step over 不跟踪到自定义函数内部。

c程序设计实验参考答案

c程序设计实验参考答案

c程序设计实验参考答案在计算机科学领域中,C程序设计是一门重要的课程,通过实验来加深对C语言的理解和应用,提高编程技巧和问题解决能力。

本文将提供一些C程序设计实验的参考答案,帮助学生更好地完成实验任务。

1. 实验一:基础语法练习实验目的:熟悉C语言的基础语法,掌握变量定义、运算符使用和基本IO操作等。

```c#include <stdio.h>int main() {int a = 5, b = 3;int sum, product;sum = a + b;product = a * b;printf("The sum of a and b is %d\n", sum);printf("The product of a and b is %d\n", product);return 0;}```2. 实验二:条件语句和循环结构实验目的:学习和掌握if-else语句、switch-case语句以及while和for循环的基本用法。

```c#include <stdio.h>int main() {int score;printf("Please enter your score: ");scanf("%d", &score);if (score >= 90) {printf("Excellent!\n");} else if (score >= 80) {printf("Good job!\n");} else if (score >= 70) {printf("Keep it up!\n");} else {printf("You need to work harder!\n");}int i;for (i = 1; i <= 10; i++) { if (i % 2 == 0) {printf("%d ", i);}}printf("\n");int j = 1;while (j <= 10) {if (j % 2 != 0) {printf("%d ", j);}j++;}printf("\n");return 0;}```3. 实验三:数组和字符串实验目的:熟悉数组和字符串的定义、初始化和基本操作,学习使用数组和字符串解决问题。

桂林电子科技大学C语言综合实验

桂林电子科技大学C语言综合实验

本文只是给出综合程序设计(或成设计性)实验的要求,不是该实验报告的模板。

1.综合程序设计实验所占平时成绩比重平时成绩的30~40%,各老师有具体要求。

2.综合程序设计实验程序设计要求(1)界面友好,要给用户提供帮助;程序不会自动退出,用户需要退出,它才退出;(2)所用开发工具:turbo c或Vc或c++ builder,总之,对开发工具不限制,只要使用C 语言开发就可以了;(3)程序代码的书写规范化:一行只写一条语句(以分号为计数依据);左右大括号各占一行;大括号里面的语句相对其最近的大括号有缩进(缩进,使用TAB键);对代码中的关键语句,重要语句要加以注释。

3.需要提交的文件清单:(1)全部源程序文件,包括使用说明等一份;(2)要对其使用的数据结构进行说明;(3)实验报告一份。

4.关于实验报告的书写:请参阅实验教材《C语言程序设计》主编周信东P250请严格按照里面的要求书写。

未按要求者,给0分5.上述文件的提交通过“中心实验报告提交系统“提交,请把其中全部源程序文件及可执行文件用压缩软件压缩成一个文件,在提交实验报告时以附件的形式提交。

说明:实验报告格式可参照以前的实验报告自行设计。

报告中应包含如下内容:实验者姓名:****** 学号:****** 实验日期:2016.06.06同组合作者:合作者的姓名一、实验题目(自选,见实验指导书“实验十三”)二、实验的目的和要求(见实验指导书要求)三、程序设计思路、流程图1、程序设计思路:(简要描述你设计该程序的总体思路)1:我用“input.dat”文件记下所需要录入的用户信息并保存2:用“******_综合实验.c”文件计算用户所需要交的费用以及总的费用3:用“charge.dat”显示所有信息2、程序流程图:(绘制程序关键部分的流程图)四:关键部分的源代码(只要贴出你认为是你程序核心算法部分的代码部分)四、实验运行结果的典型画面五、实验总结(对本实验进行技术总结、特色说明,或心得体会等)刚开始做的时候花了挺多时间看懂题目的额,写了三个源程序刚开始编译出现很多状况,输出的结果很大,有点意想不到,后面检查了源程序才知道有很多错误的地方,对文件的使用不是很熟练。

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案

本文由huangwen199002贡献 doc文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

语言程序设计教程》 《C 语言程序设计教程》习题参考答案 默认分类 2007-09-10 12:38:44 阅读 6618 评论 13 【习题 1】 一、简答题(在课本中寻找答案,略) 1.1 C 程序的基本结构包括哪些内容? 1.2 如何定义标识符? 1.3 输入格式、输出格式的组成包括哪些内容? 1.4 C 语言函数分为哪两类? 1.5 计算表达式的值应该考虑哪些方面? 1.6 上机调试程序的步骤如何? 二、判断并改错 1.7 C 程序执行的入口是 main()函数,所以 main 函数必须放在程序的开头。

 错误:main 函数可以放在程序的任何位置。

并不限定在程序的开头。

 1.8 定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。

 错误:不可以交叉出现,数据说明部分在执行语句部分的前面。

 1.9 编辑与编译不是一回事。

 错误:不是一回事。

编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则 生成目标程序。

 1.10 scanf("%d,%d",&x,&y);的正确输入格式:3,4<回车>。

 正确 1.11 注释内容太多会影响程序的执行效率。

 错误:不会影响程序的执行效率。

因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容 不会编译到目标程序中。

 1.12 所有的数学公式可以直接出现在源程序中。

 错误:数学公式需要转换成 C 语言能够接受的公式才能出现在源程序中。

 三、编程题 1.13 在屏幕上输出自己名字的拼音。

 提示:中文名字叫“张三”,对应的拼音为“Zhang San”,输出用 printf()函数。

 1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。

 提示:定义圆的半径 r,圆的周长:2*3.14*r,输出结果保留 2 位小数可以用%.2f 1.15 输入两个整数,输出其中最大者。

桂电信科C语言程序设计作业习题集及答案

桂电信科C语言程序设计作业习题集及答案

C语言程序设计习题集桂林电子科技大学信息科技学院2010.6基础知识一单项选择题(每题2分,共44分)1 以下叙述正确的是___。

A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从___开始执行的。

A 程序中第一个函数B 名为main的函数C 包含文件(头文件)的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句___。

A a=b=58B i++;C a=58,b=58D k=int(a+b);4 下面标识符中,合法的用户标识符是___。

A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中,正确的是___。

A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是___。

A %B ++C /D =7 设a和b均为int型变量,则执行以下语句后的输出为___。

int a=20; int b=3; printf("%d\n",a+=(b%=2));A 20B 21C 0D 238 已知int i;,则执行语句 i=2.6;后,i的值为___。

A 2B 3C 2.6D 不确定9 以下合法的字符常量为___。

A 'ab'B '\482'C '\'D '\xaf'10 若y为int型变量,则执行以下语句后,y的值是___。

y=8; y+=y-=y*y;A 64B –56C –112D –4811 以下合法的浮点型常量是___。

A e-3B 1.5e+2.4C 3.14e+2LD 3.14 e +512 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。

printf("%d",sizeof(a*b)+2/5);A 4B 8C 6D 713 设int型占2个字节,且int i=-2;,则语句printf("%u",i);的输出结果为___。

最新版《C语言程序设计教程》习题参考答案

最新版《C语言程序设计教程》习题参考答案

最新版《C语言程序设计教程》习题参考答案祝胜林主编华南理工大学出版社【习题1】 (1)【习题2】 (2)【习题3】 (3)【习题4】 (5)【习题5】 (8)【习题6】 (11)【习题7】 (14)【习题8】 (16)【习题9】 (16)【习题10】 (18)【习题1】一、简答题(在课本中寻找答案,略)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语言程序设计实验指导书参考答案[2]

C语言程序设计实验指导书参考答案[2]
C语言程序设计
上机实验指导与习题
参考答案
(仅供教师内部参考)
ห้องสมุดไป่ตู้
华南农业大学
目录
上机实验...................................................................................................................................................................1
二、实验内容
.........................................................................................................................................22
实验
...........................................................................................................................................1
二、实验内容
.........................................................................................................................................24
二、实验内容
.........................................................................................................................................24

桂林电子科技大学C语言程序设计习题集及答案(已处理)

桂林电子科技大学C语言程序设计习题集及答案(已处理)

一单项选择题每题2分共44分1 以下叙述正确的是__C_A C程序基本组成单位是语句B C程序每一行只能写一个语句C 简单C语句必须以分号作为结束符D 注释语句可以嵌套2 一个C语言程序是从_B__开始执行的A 程序中第一个函数B 名为main的函数C 包含文件头文件的第一个函数D 程序中的第一个语句3 请选出合法的C语言赋值语句_B__A a b 58B iC a 58b 58D k int ab4 下面标识符中合法的用户标识符是_B__A 1abcB includeC a-b-c123D char5 以下所列的C语言整形常量中正确的是_A__A 0x10B 0976C 076LD 01ff6 C语言中下列运算符的操作数必须为整型的是_A__A B C D7 设a和b均为int型变量则执行以下语句后的输出为_B__int a 20 int b 3 printf "d\n"a b 2A 20B 21C 0D 238 已知int i则执行语句 i 26后i的值为_A__A 2B 3C 26D 不确定9 以下合法的字符常量为_D__A abB \482C \D \xaf10 若y为int型变量则执行以下语句后y的值是_C__y 8 y y- yyA 64B –56C –112D –4811 以下合法的浮点型常量是_D__A e-3B 15e24C 314e2LD 314 e 512 设int数据占用两个字节float数据占用四个字节double数据占用8个字节且已知float a 2int b 3则执行下列语句输出为__A_printf "d"sizeof ab 25A 4B 8C 6D 713 设int型占2个字节且int i -2则语句printf "u"i 的输出结果为_C __A 0B -2C 65534D 6553514 若xyz均为整型常量且a 100则执行下列语句后的z值为_A_x a y --a z xy-a--A 100B 400C 200D 30015 若有以下定义和语句int u 010v 0x10w 10printf "ddd\n"uvw 则输出结果是_A__A 81610B 101010C 8810D 8101016 设xy为int型变量则执行下列语句后y的值是__A _x 5 y xx y --y--yA 529B 2401C 1209D 62517 假设在程序中abc 均被定义成整型并且已赋大于1的值则下列能正确表示代数式A 1abcB 1 abcC 1ab float cD 10abc18 若有定义int a 8b 5cchar d A则执行语句c abda05后c的值为_A__A 2B 25C 3D 类型不一致无法计算编译出错19 在有以下程序mainint i 10j 1i ijprintf "ddd\n"iji执行后输出结果是_C_A 12311B 12211C 11311D 1231220 已知int i 65则putchar i printf "d"i printf "c"i 的输出结果为_A__A A65AB 6565AC AA65D AAA21 已知int yai 1则语句printf "dd"-i y a 363 的输出结果为_A__A -110B -218C 03D 11822 有以下程序mainchar abcda \b \xbcc \0xabd \023printf "cccc\n"abcd编译时出现错误以下叙述中正确的是_A__A 程序中只有a \语句不正确B b \xbc语句不正确C d \023语句不正确D a \和c \0xab语句都不正确二填空题第1题2分其余每题3分共56分1 设x为int型变量请写出描述x是偶数的表达式是_x2 0__2 已知scanf "a db dc d"abc 若从键盘输入234三个数分别作为变量abc 的值则正确的输入形式是_a 2b 3c 4__3 设有语句int a 3则执行了语句 a a- aa后变量a的值是_-12__4 以下程序的输出结果是_10 6__mainint a -10b -3printf "d\n"-aprintf "d\n"-ab5 以下程序的输出结果是_242__mainchar cc 0362printf "d\n"c6 以下程序段n所赋的是八进制数int m 32767n 032767 printf "do\n"mn7 字符串"\\name\\\101ddress\b\xaf"的长度为_15__8 有以下程序段int m 0n 0 char c ascanf "dcd"mcnprintf "dcd\n"mcn若从键盘上输入10A10 则输出结果是_10A10__9 以下程序的输出结果是___mainprintf "dox\n"101010printf "ddd\n"100100x10printf "dx\n"01201210 设abc为整形变量且a 2b 3c 4则执行完语句 a 16 b - c 之后变量a 的值为_28_11 以下程序的输出结果为__12_mainint x 023printf "x\n"--x12 以下程序的结果为___mainint a 2b 3cdc a a ad b b bprintf "a d c d\n"acprintf "b d d d\n"ad13 以下程序mainchar ch1ch2ch3scanf "ccc"ch1ch2ch3printf "ccccc"ch1ch2ch3当输入ABC时运行结果为 1 当输入A BC时运行结果为 214 若有定义float x以下程序段的输出结果是___x 516894printf "f\n" int x100005 float 100015 以下程序的功能是输入一个小写字母输出对应的大写字母将程序补充完整mainchar ch1 从键盘输入一个小写字母2 将该字母转换为大写字母3 输出转换后的结果16 当运行以下程序时在键盘上从第一列开始输入9876543210↙此处↙代表回车则程序的输出结果是___mainint a float bcscanf "2d3f4f"abcprintf "\na db fc f\n"abc17 以下程序的运行结果是___mainprintf "125f\n"1231234567printf "12f\n"1231234567printf "128d\n"12345printf "128s\n""abcdefghij"18 运行以下程序时如从键盘上输入abcdefg↙则输出结果是___mainchar ch1ch2ch3ch1 getchar ch2 getchar ch3 getcharputchar ch1 putchar ch2 putchar ch3putchar \n}19 运行以下程序时如从键盘上输入 a 3b 5↙353512↙abc↙后结果是___mainint ab float xy char c1c2scanf "a db d"abscanf "fe"xyscanf "ccc"c1c1c2printf "a db dx fy fc1 cc2 c\n"abxyc1c2顺序选择结构程序设计一单项选择题每题2分共40分1 以下程序运行后的输出结果是mainint a 0b 0a 10b 20 printf "ab d\n"abA ab 10B ab 30C 30D 出错以下程序运行后的输出结果是maindouble d 32 int xyx 12 y x38 50printf "d\n"dyA 3B 32C 0D 3073 以下程序运行后的输出结果是maindouble d float f long l int ii f l d 203printf "d ld 1f 1f\n"ilfdA 6 6 60 60B 6 6 67 67C 6 6 60 67D 6 6 67 604 以下程序运行后的输出结果是以下程序运行后的输出结果是y x-1 printf "d d\n"xyy z---1 printf "d d "zxy --z-1 printf "d d\n"zxA 3 1 4 3B 3 1 3 3C 3 1 4 3D 2 1 3 22 4 1 4 2 4 2 2 2 4 1 2 13 1 26 以下程序运行后的输出结果是mainint xyzx y 1z xyyprintf "ddd\n"xyzA 233B 232C 231D 2217 以下程序运行后的输出结果是mainint x 4y 7x- y y xprintf "d d\n"xyA 4 7B -3 -3C -3 11D -3 48 以下程序运行后的输出结果是printf "d\n"b aA 65536B 0C 1D -19 以下程序abc C abc D abc11 在嵌套使用if语句时C语言规定else总是A 和之前与其具有相同缩进位置的if配对B 和之前与其最近的if配对C 和之前与其最近不带else的if配对D 和之前的第一个if配对以下程序运行后的输出结果是A 0B 1C 2D 314 若k是int型变量下面的程序段的输出结果是 Ck -3if k 0 printf ""else printf ""A BC D 有语法错误无输出15 以下程序运行后的输出结果是以下程序运行后的输出结果是main int x1 1x2 0x3 0if x1 x2x3 printf ""else printf ""A B 有语法错误 C D 无输出结果17 当a 1b 3c 5d 4时执行下面一行程序后x的值是_B__if a bif c d x 1else if a cif b d x 2else x 3else x 6else x 7A 1B 2C 3D 618 下列叙述中正确的是A break语句只能用于switch语句B 在switch语句中必须使用defaultC break语句必须与switch语句中的case配对使用D 在switch语句中不一定使用break语句以下程序运行后的输出结果是includemainint x 1y 0a 0b 0switch xcase 1switch ycase 0abreakcase 1bbreakcase 2abbreakprintf "a db d\n"abA a 2b 1B a 1b 1C a 1b 0D a 2b 2二填空题每题3分共30分1 以下程序运行后的输出结果是以下程序运行后的输出结果是以下程序运行后的输出结果是mainint i 5jkj iiik i i iprintf "i 5d j 5d\nk 5d\n"ijk4 下面的程序运行时从键盘上输入9876543210 程序的输出结果是___mainint a float bcscanf "2d2f2f"abcprintf "a db 1fc 0f"abc5 下面程序的输出结果是___mainchar ch1ch2ch1 A5-3 ch2 A6-3printf "dc\n"ch1ch26 执行下面的语句printf "d\n" a 35a4a5 输出是___7 以下程序运行后的输出结果是int x 3if x2 printf "d"x printf "d\n"x10 以下程序运行后的输出结果是switch m2case 1 mcase 2 m 3case 5 m 6breakdefault m- 7printf "d\n"m三程序填空每空5分共30分1 下列程序的输出结果是1600请填空mainint a 9b 2float x 1 y 11zz a2bxy12printf "52f\n"z2 完成以下程序输入变量abc的值判断abc能否组成三角形计算三角形面积公式为include2mainint abc3printf "please input the value of abc"scanf "d d d" 4if 56s sqrt p p-a p-b p-cprintf "Yesthis is a triangle\n the area is 2f\n"selse printf "Nothis is not a triangle\n"循环结构程序设计一单项选择题每题2分共40分1 以下程序中while循环的循环次数是___mainint i 0while i 10if i 1 continueif i 5 breakiA 1B 10C 6D 死循环2 以下程序的执行结果是___mainint n 9while n 6 n-- printf "d"n该程序的输出结果是A 987B 876C 8765D 98763 以下程序段while循环执行的次数是___int k 0while k 1 kA 无限次B 有语法错C 一次也不执行D 执行1次4 以下叙述正确的是___A do-while语句构成的循环不能用其它语句构成的循环来代替B do-while语句构成的循环只能用break语句退出C 用do-while语句构成的循环在while后的表达式为非零时结束循环D 用do-while语句构成的循环在while后的表达式为零时结束循环5 以下程序的执行结果是___mainint aya 10 y 0do a 2 y aprintf "a d y d\n"ayif y 20 breakwhile a 14A a 12 y 12B a 12 y 12a 14 y 16 a 16 y 28a 16 y 20a 18 y 24C a 12 y 12D a 12 y 12a 14 y 26a 14 y 446 以下程序的执行结果是___mainint x 23do printf "d"x-- while xA 321B 23C 不输出任何内容D 陷入死循环7 有以下程序段输出结果是___int x 3do printf "d "x- 2 while - -xA 1B 3 0C 1 -2D 死循环8 以下程序的输出结果是___mainint a 0ifor i 1i 5iswitch icase 0 case 3 a 2case 1 case 2 a 3defaulta 5printf "d\n"aA 31B 13C 10D 209 以下程序的输出结果是___mainint i 0a 0while i 20forif i10 0 breakelse i--i 11 a iprintf "d\n"aA 21B 32C 33D 1110 以下循环体的执行次数是___mainint ijfor i 0j 1i j1i 2j-- printf "d \n"iA 3B 2C 1D 011 下列程序的输出结果是___mainint ijm 0n 0for i 0 2ifor j 0j 2jif j i m 1nprintf "d\n"nA 4B 2C 1D 012 下列程序的输出结果是___mainint isumfor i 1i 3sum sum iprintf "d\n"sumA 6B 3C 死循环D 013 以下程序执行后sum的值是___mainint isumfor i 1i 6i sum iprintf "d\n"sumA 15B 14C 不确定D 0 14以下程序执行后的输出结果是___mainint in 0for i 2i 5ido if i3 continue n while inprintf "n d\n"nA n 5B n 2C n 3D n 415 下列语句中能正确输出26个英文字母的是___A for a aa zprintf "c"aB for a aa z printf "c"aC for a aa zprintf "c"aD for a aa zprintf "c"a16 以下程序执行后的输出结果是___mainint x 1y 1while y 5if x 10 breakif x2 0x 5 continuex- 3 yprintf "dd"xyA 66B 76C 103D 7317 以下程序执行后的输出结果是___mainint a 5while a-- 5switch acase 1acase 4a 4case 5a 5breakdefaulta- 5printf "d\n"aA 12B 7C 5D 1318 对于下面的for循环语句可以断定它执行___次循环for x 0y 0 y 67 x 5 x printf "----"A无限 B 不定 C 5次 D 4次19 在执行以下程序时如果从键盘上输入ABCdef则输出结果为___include "stdioh"mainchar chwhile ch getchar \nif ch A ch Z ch ch32else if ch a ch z ch ch-32printf "c"chprintf "\n"A ABCdefB abcDEFC abcD DEF20 当执行以下程序时___int a 1do a aa while aA 循环体将执行1次B 循环体将执行2次C 循环体将执行无限次D 系统将提示有语法错误二填空题每空3分共33分1 若输入字符串abcde 则以下while循环体将执行___次while ch getchar e printf ""2 以下while循环执行的次数是___k 0 while k 10 k k13 下列程序的输出结果是___mainint x 0y 5z 3while z-- 0 x 5 y y-1printf "ddd\n"xyz4 下面程序的功能是计算1到10之间的奇数之和及偶数之和请填空mainint abcia c 0for i 0i 10i 2a i_ 1c bprintf "偶数之和 d\n奇数之和 d\n"a 25 下面程序的功能是输出100以内能被3整除且个位数为6的所有整数请填空mainint ijfor i 0 _ 1 ij i106if _ 2 continueprintf "d\n"j6 以下程序的输出结果是___mainint sifor s 0i 1i 3is iprintf "d\n"s7 要使以下程序段输出10个整数请填入一个整数for i 0i ___printf "d \n"i 28 程序的功能是根据以下近似公式求π值请填空完成求π的功能include "mathh"mainint n 30000 double s 00 long ifor i 1i ni s s_ 1printf "pi f\n"_ 2三程序填空题每空3分共27分1 下列程序是求的值include "stdioh"mainint i 2 float sum 1while 1sum sum10i 2printf "sum f\n" 32 以下程序的功能是从键盘输入若干个学生的成绩统计最高成绩和最低成绩当输入为负数时结束输入mainfloat xminscanf "f"xmin 1do if x xif x min 2scanf "f"xwhile 3printf "ff"min3 下面的程序用来求出所有的水仙花数所谓水仙花数是指一个3位数它的各位数字的立方和恰好等于它本身mainint nijkfor n 100 1 判断3位数n是否是水仙花数i n100 i是n的百位上的数字j 2 j是n的十位上的数字k n10 k是n的个位上的数字if 3 printf "d\n"n数组一单项选择题每题2分共40分1 以下对一维整型数组a的正确定义说明的是___A int a 10 Bint n 10a[n] C int n D define SIZE 10scanf "d"n int a[SIZE]int a[n]2 若有定义说明int a[10]则对数组a的元素正确引用的是___A a[10]B a[35]C a 5D a[10-10]3 执行下面程序段后变量k 的值是___int k 3s[2]s[0] k k s[1]10A 不定值B 33C 30D 104 以下程序的输出结果是___mainint ika[10]p[3]k 5for i 0i 10i a[i] ifor i 0i 3i p[i] a[i i1 ]for i 0i 3i k p[i]2printf "d\n"kA 20B 21C 22D 235 以下对一维整型数组a初始化的语句中正确的是___A int a[10] 00000B int a[10]C int x 2a[10] 10xD int a[10] 06 若有以下说明则数值为4的表达式是___int a[12] 123456789101112char c adgA a[g-c]B a[4]C a[d-c]D a[d-c]7 下列程序运行后的输出结果是___define 10void mainint isuma[] 12345678910sum 1for i 0i i sum- a[i]printf "sum d\n"sumA sum 55B sum -54C sum -55D sum 548 以下程序的输出结果是___mainint y 18i 0ja[8]do a[i] y2 i y y2 while y 1for j i-1j 0j-- printf "d"a[j]A 1000B 1001C 1010D 11009 以下对二维数组a的正确定义说明的是___A int a[3][]B float a 34 Cdouble a[1][4] D float a 3 410 若有定义说明int a[3][4]则对数组a的元素的引用非法的是___A a[2][21]B a[1][3]C a[4-2][0]D a[0][4]11 以下不能对二维数组a进行正确初始化的语句是___A int a[2][3] 0B int a[][3] 12 0C int a[2][3] 12 34 56D int a[][3] 12345612 下列数组定义语句中正确的是___A char a[][] abcdefB char a[2][3] abC char a[][3] abcdefD char a[][] abcdef13 下列程序运行后的输出结果是___mainint a[4][4]ijkfor i 0i 4ifor j 0j 4j a[i][j] i-jfor i 1i 4ifor j i1j 4jk a[i][j] a[i][j] a[j][i] a[j][i] kfor i 0i 4iprintf "\n"for j 0j 4j printf "4d"a[i][j]A 0 -1 -2 -3B 0 1 2 31 0 -1 -2 -1 0 1 22 1 0 -1 -2 -1 0 13 2 1 0 -3 -2 -1 0C 0 -1 -2 -3D 0 1 2 31 0 12 -1 0 -1 -22 -1 0 1 -2 1 0 -23 -2 -1 0 -3 2 1 014 以下程序的输出结果是___mainint ia[4][4] 135 246 357printf "dddd\n"a[0][3]a[1][2]a[2][1]a[3][0]A 0650B 1470C 5430D 输出值不定15 有以下程序mainint x[3][2] 0 ifor i 0i 3i scanf "d"x[i]printf "3d3d3d\n"x[0][0]x[0][1]x[1][0]若运行时输入2 4 6 则输出结果是___A 2 0 0B 2 0 4C 2 4 0D 2 4 616 下列描述不正确的是___A 字符型数组中可以存放字符串B 可以对字符型数组进行整体输入和输出C 可以对整型数组进行整体输入和输出D 不能在赋值语句中通过赋值运算符对字符型数组进行整体赋值17 对于以下定义叙述正确的是___char x[] "abcdef"char x[] ab cdefA 数组x和数组y等价B 数组x和数组y的长度相等C 数组x的长度大于数组y的长度D 数组x的长度小于数组y的长度18 以下选项中不能正确赋值的是___A char s1[10]s1 "Ctest"B char s2[] CtestC char s3[20] "Ctest"D char s4[30]strcpy s4"Ctest"19 若有定义和语句char s [10]s "abcd"printf "s\n"s 则输出结果是___以下□表示空格A abcdB aC abcd□□□□□D 编译不通过20 当执行下面程序时如果输入ABC则输出结果是___includeincludemainchar ss[10] "12345"gets ss strcat ss "6789"printf "s\n"ssA ABC6789B ABC67C 12345ABC6D ABC45678二填空题每空3分共24分1 若int类型变量占两个字节定义int x[10] 024 则数组x在内存中所占的字节数是___2 若有定义char a[] "\\141\141abc\t"则数组a在内存中所占的字节数是___3 下列程序的输出结果是___mainint ia[10]for i 9i 0i-- a[i] 10-iprintf "ddd\n"a[2]a[5]a[8]4 下列程序运行的结果是mainchar ch[7] "65ab21" int is 0for i 0ch[i] 0 ch[i] 9i 2 s 10sch[i]-0printf "d\n"s5 有定义语句char s[100]d[100]int j 0i 0且s中已赋字符串请填空以实现字符串复制注意不得使用逗号表达式while s[i]d[j] ___ jd[j] 06 下面程序运行的结果是mainchar s[] "abcdef"s[3] \0printf "s\n"s7 以下程序的输出结果是mainchar ch[3][5] "AAAA""BBB""CC"printf "\"s\"\n"ch[1]8 以下程序的输出结果是___mainchar ch[] "abc"x[3][4] int ifor i 0i 3i strcpy x[i]chfor i 0i 3i printf "s"x[i][i]printf "\n"三程序填空题每空3分共36分1 以下程序的功能是从键盘上输入若干个学生的成绩用输入负数结束输入统计出平均成绩并输出低于平均分的学生成绩请填空include "stdioh"mainint n 0i float x[1000]sum 00aveaprintf "Enter mark\n" scanf "f"awhile a 00 n 1000sum 1 x[n] 2n scanf "f"aave 3print "Output\n"printf "ave f\n"avefor i 0i ni if 4 printf "f\n"x[i]2 以下程序的功能是求出矩阵x的上三角元素之积其中矩阵x的行列数和元素的值均由键盘输入请填空define M 10mainint x[M][M] int nij long s 1printf "Enter a integer 10 \n"scanf "d"nprintf "Enter d data on each line for the array x\n"nfor 1for j 0j nj scanf "d"x[i][j]for i 0i nifor 2 3printf "ld"s3 以下程序数组a中存放一个递增数列输入一个整数并将它插入到数组a 中使之仍为一个递增数列请填空mainint a[ 1 ] 1102030405060708090 xipscanf "d"xfor i 0p 10i 10iif x a[i] p i 2for i 9i pi-- a[i1] a[i]3for i 0i 10i printf "5d\n"a[i]printf "\n"4 以下程序的功能是将t数组的内容连接到s数组内容的后面使s数组保存连接后的新字符串mainstatic char s[30] "abcdefg"t[] "abcd" int i 0j 0while s[i] \0 1while t[j] \0 s[ij] t[j] j2printf "s\n"s函数一单项选择题每题2分共40分1 以下正确的函数定义是___A double fun int xint yB double fun int xyz xy return z int z return zC fun xyD double fun int xint yint xy double z double zz xy return z return z2 以下正确的说法是___A 实参和与其对应的形参各占用独立的存储单元B 实参和与其对应的形参共占用一个存储单元C 有当实参和与其对应的形参同名时才共占用相同的存储单元D 形参是虚拟的不占用存储单元3 若调用一个函数且此函数中没有return语句则正确的说法是___A 该函数没有返回值B 该函数返回若干个系统默认值C 能返回一个用户所希望的函数值D 返回一个不确定的值4 以下正确的描述是___A 函数的定义可以嵌套但函数的调用不可以嵌套B 函数的定义不可以嵌套但函数的调用可以嵌套C 函数的定义和函数的调用均不可以嵌套D 函数的定义和函数的调用均可以嵌套5 若用数组名作为函数调用的实参传递给形参的是___A 数组的首地址B 数组中第一个元素的值C 数组中的全部元素的值D 数组元素的个数6 以下不正确的说法是___A 在不同函数中可以使用相同名字的变量B 形式参数是局部变量C 在函数内定义的变量只在本函数范围内有定义D 在函数内的复合语句中定义的变量在本函数范围内有定义7 已知一个函数的定义如下double fun int x double y则该函数正确的函数原型声明为___A double fun int xdouble yB fun int xdouble yC double fun intdoubleD fun xy8 关于函数声明以下不正确的说法是___A 如果函数定义出现在函数调用之前可以不必加函数原型声明B 如果在所有函数定义之前在函数外部已做了声明则各个主调函数不必再做函数原型声明C 函数在调用之前一定要声明函数原型保证编译系统进行全面的调用检查D 标准库不需要函数原型声明9 调用函数的实参与被调用函数的形参应有如下关系___A 只要求实参与形参个数相等B 只要求实参与形参顺序相同C 只要求实参与形参数据类型相同D 上述三点均需具备10 凡在函数中未指定存储类别的变量其隐含的存储类别是___A 自动B 静态C 外部D 寄存器11 在源程序的一个文件中定义的全局变量的作用域是___A 在本文件的全部范围B 该程序的全部范围C 一个函数的范围D 从定义该变量的位置开始至该文件的结束12 下列程序运行后的输出的数据是___int sum int nint p 1s 0ifor i 1i ni s p ireturn smainprintf "sum 5 d\n"sum 5A sum 5 151B sum 5 152C sum 5 153D sum 5 15513 下列程序运行后的输出结果是___int c 1mainstatic int a 5int b 6printf "a db dc d\n"abcfuncprintf "a db dc d\n"abcfuncfuncstatic int a 4int b 10a 2c 10b cprintf "a db dc d\n"abcA a 5b 6c 1B a 5b 6c 11C a 5b 6c 1D a 5b 6c 1 a 6b 21c 11 a 5b 21c 11 a 5b 21c 11 a 6b 21c 11 a 5b 6c 11 a 5b 6c 11 a 5b 6c 11 a 5b 6c 11a 8b 31c 21 a 8b 31c 21 a 8b 31c 21 a 5b 31c 2114 运行下面的程序后其输出结果是___mainint a 6b 2cc f a f bprintf "d\n"cint f int xint yy xxreturn yA 9B 6C 36D 1815 下列程序输出结果是___includemystatic int x 3xreturn xmainint ixfor i 0i 2i x myprintf "d\n"xA 3B 4C 5D 616 下列程序的输出结果是___includeint abc int uint vint wwhile v w uv u v v wreturn umainint a 24b 16cc abc abprintf "d\n"cA 8B 6C 5D 417 下列程序运行后的输出结果是___mainstatic char s[] "abcdefgca"p s printf "s[] s\n"sp char s[]int ijfor i j 0s[i] \0i if s[i] a2 s[j] s[i]s[j] \0A s[] abcdefgcaB s[] abdefgaC s[] bcdefgcD 程序有错18 下列程序运行后的输出结果是___void mainint m 4n 2kk fun mn printf "d\n"kk fun mn printf "d\n"kint fun int xint ystatic int n 3i 2i n1 n ixyreturn nA 12B 12C 12D 1212 23 25 16 19 下列程序运行后的输出结果是___int x 1mainint i 5fun iprintf "dd\n"ixfun mint mm xx mchar x A printf "d\n"xprintf "dd\n"mxA 65B AC AD 6561 61 67 6761 61 67 5720 下列程序运行后若从键盘输入ABC四个字符后程序输出是___includemainvoid receivreceivvoid receivchar cc getcharputchar cif c receivputchar cA ABCB ABCABC C ABCCBAD ABCABC 二填空题每空3分共30分1 函数调用语句fun ab cde 实参个数为___2 凡在函数中未指定存储类别的局部变量其默认的存储类别为___3 在一个C程序中若要定义一个只允许本源程序文件中所有函数使用的全局变量则该变量需要定义的存储类别为___4 C语言规定调用一个函数时实参变量和形参变量之间的数据传递方式是___5 运行下面程序其输出结果是___includeint xyoneint aba 25b 10x a-by abmainint aba 9b 5x aby a-boneprintf "dd\n"xy6 运行下面程序其输出结果是___includemainvoid printdint n 123printd nvoid printd int nint iif n 0 n -n putchar -putchar n100if i n10 0 printd i7 运行下面程序从键盘输入四个字符xyz其输出是___includemainvoid recursionrecursionvoid recursionchar cc getcharputchar cif c recursionputchar c8 以下程序的输出结果是___includevoid fun int xif x2 0 fun x2 printf "d "x mainfun 3 printf "\n"9 以下程序运行结果是___int a 1int f int cstatic int a 2c c1return a cmainint ik 0for i 0i 2i int a 3 k f ak aprintf "d\n"k10.以下程序的运行结果是___int k 0void fun int mm k k m printf "m d\n k d "mkmainint i 4fun i printf "i d k d\n"ik三程序填空题每空3分共30分1 一个整数称为完全平方数是指它的值是另一个整数的平方例如81是个完全平方数因为它是9的平方下列程序是在三位的正整数中寻找符合下列条件的整数它既是完全平方数且三位数字中又有两位数字相同例如14412126762626等。

C语言程序设计》课后习题详细答案

C语言程序设计》课后习题详细答案
(2)在同一行上的/ * main function * /显然是注释;C语言规定:注释由/*开头,由*/结束,但在*号和/之间不得插入任何空格,而在此处“/ *”和“* /”之间存在空格,因此,/ * main function * /的写法是错误的,而应写成:/* main function */。
printf(″(1) a=%d,b=%d,c=%d\n″,a,b ,c);
t=c; c=b; b=a; a=t;
printf(″(2) a=%d,b=%d,c=%d\n″,a,b,c);
}
第四章选择结构习题分析与解答
一、选择题
4.1【参考答案】A)
4.2【参考答案】A)
4.3【参考答案】A)
4.4【参考答案】D)
(6)设计输出语句。输出a、b、c和ave。
(7)把以上内容放在主函数的一对花括号中。
(8)编写程序如下:
main()
{ double a,b,c,ave;
printf(″Enter a ,b ,c :″);
scanf(″%lf%lf%lf″, &a, &b, &c );
ave=(a+b+c)/3;
2.15【参考答案】[1]4.2[2]4.2
2.16【参考答案】[1]{[2]}[3]定义[4]执行
2.17【参考答案】[1]关键字[2]用户标识符
2.18【参考答案】[1]int[2]float[3]double
2.19【参考答案】float a1=1.0, a2=1.0;
或float a1=1, a2=1;(系统将自动把1转换为1.0)
3.27【参考答案】x=127, x=127 , x=$127 ,x=$000127, x=%06d
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

成绩:良评语:继续努力... 批改时间:2013-11-16 10:51:55 批改老师:
实验2 顺序结构与逻辑运算
学号:姓名:实验日期:2013-10-30
1.实验目的和要求
(1)掌握数据输入/输出函数的使用,能正确使用各种格式转换符。

(2)熟悉顺序结构程序中语句的执行过程,并学会基本调试程序方法。

(3)能够正确使用逻辑运算符和逻辑表达式。

(4)学会运用逻辑表达式或关系表达式等表示条件。

(5)熟练掌握if语句和switch语句,掌握条件表达式构成的选择结构。

(6)熟练掌握跟踪调试程序,针对具体数据组织输入测试数据,观察程序运行能否得到预期的输出结果。

(7)学会编写简单程序。

2.实验内容:实验指导书中的实验三和实验四
3.实验步骤及结果
实验三部分:
3-1-1 该程序正确的源程序代码(或窗口截图):
程序运行结果画面如下:
3-1-2该程序正确的源程序代码(或窗口截图):
程序运行结果画面如下:
3-2-1该程序完整的源程序代码(或窗口截图):
程序运行结果画面如下:
3-2-2该程序完整的源程序代码(或窗口截图):
程序运行结果画面如下:
3-3
语法错误和逻辑错误的区别何在?
语法错误是指违背了程序的语法规则,比如增添了某个符号,或者少了头文件,且无法通过编译器的编译,更无法运行。

逻辑错误是指在语法正确的前提下算法上的错误,能够运行,但结果往往不对,且很难发现。

如何启动单步调试?
单击菜单栏“组建”下的“开始调试”,单击“STEP INTO”,也可以按快捷键F11,使每条语句单独执行。

要使程序运行到“ss=(k…”这一行暂停下来,该如何操作?怎样终止调试状态(程序复位)?
单击调试菜单中的“stept over”或按快捷键F10。

单步调试状态下,向下运行一条语句的操作方法(分两种情况回答,第一种,跟踪到自定义函数内部,第2种,不跟踪到自定义函数内部):
1.单击调试菜单中的Step into 进入到自定义函数内部。

2.单击调试菜单中的step over 不跟踪到自定义函数内部。

在本题中,假设要在运行第2条语句(即scanf语句后),要马上观察i,j,k,ss,m,n的变量的值,操作方法:
单击调试菜单中的Step into,运行到scanf语句,在屏幕上打入任意的整形I,j。

请把观察这些变量时的画面粘贴到下面:
通过这道题单步调试,你对i++和++i及i—和—i应该有了更直观的理解,他们的区别在于:i++(i--)是i的值加(减)1;而表达式的值仍为i,++i(--i)是i的值加(减)1,再将i 加(减)1的值作为表达式的值。

3-4 请回答书中问题
问题(1)应定义为字符型;
问题(2)利用转义字符输入,即c1=’\%d’,输出时无论用PRINTF或scanf皆可。

问题(3)否,只能在ASCII码值的范围(000——127)内转换。

程序运行结果画面如下:
3-5该程序的源程序代码(或窗口截图):
运行结果画面:
3-7该程序的源称许代码(或窗口截图):

运行结果画面:
32
实验四逻辑运算和判断选取控制
4-1-a该程序正确的源程序代码(或窗口截图):
因为正整数a*a+b*b不可能有等于3的情况,故调用用defaul来完成不满足的情况。

运行结果画面:
4-1-b该程序正确的源程序代码(或窗口截图):
因为使用BREAK语句故可不用定义Y,输出的结果也一样。

下题同。

运行结果画面:
4-1-c该程序正确的源程序代码(或窗口截图):
运行结果画面:
4-2-1该程序完整的源程序代码(或窗口截图):
运行结果画面:
4-2-2该程序完整的源程序代码(或窗口截图):
运行结果画面:
4-3该程序完整的源程序代码(或窗口截图):
运行结果画面:
4-4 4-3该程序完整的源程序代码(或窗口截图):
运行结果画面:
4-5该程序的源程序代码(或窗口截图):
运行结果画面:
*4-6该程序的源程序代码(或窗口截图):
运行结果画面:
4实验小结
通过本次实验,我对分支结构有了更加充分的认识,对if和switch两种语句的运用更加熟练。

亲自动手操作,比对理论和各种符号的死记硬背强上百倍!记忆也更加深刻。

在实验过程中,各种错漏在所难免,但经过耐心地调试,有一种收获成功的喜悦之情。

在完成作业的同时,由于对知识的理解不够深刻,感觉作业很难,这将在以后的学习中不断完善。

相关文档
最新文档