当前位置:首页 > 《C语言编程基础》习题答案
..
{
int i,exist; float a[4],n; printf(\{
printf(\scanf(\printf(\} printf(\exist=0; scanf(\for (i=0;i<4;i++) {
printf(\if (a[i]==n) exist=1; }
if (exist==1) printf(\else printf(\}
此题前面的浮点型数组的值,也可通过初始化直接赋值的办法得到。 ⑷ 输出二维数组中最大值及位置的程序,编写如下:
main() {
int i,j,row=0,col=0,max; int a[4][6]; for(i=0;i<4;i++) for(j=0;j<6;j++) scanf(
“%d” ,&a[i][j]);
max=a[0][0]; for(i=0;i<4;i++) for(j=0;j<6;j++) if(a[i][j]>max)
{max=a[i][j];row=i;col=j;}
printf( “ max=%d,row=%d,col=%d\\n”,max,row,col); }
⑸ 在字符串中的指定位置插入字符串的程序,编写如下:
;.
输入浮点型数组: \\n\
for (i=0;i<4;i++)
输入一个浮点数 :\
在数组中。 \\n\
不在数组中! \\n ”,n);
..
main() {
char ch1[10],ch2[3],ch3[13]; int i=0,n; printf(\printf(\printf(\n--;
for (i=0;i 输入字符串 1( 长度为 10):\\n\输入字符串 2( 长度为 3):\\n\插入位置 n(n<10):\\n\ scanf(\scanf(\scanf(\ 习题七 1、填空题。 ⑴ C语言函数分成 系统提供的库函数 和 用户自定义函数 _两大类。 ⑵ 一个C程序由主函数和若干 个自定义函数 组成,各个函数在程序中的定义是 相互独立 的。 ⑶ 函数的递归调用是指 函数直接或间接地调用自己 。 ⑷ 当 用数组名 作函数参数时,实参与形参的传递为“地址传递” 。 ⑸ 根据变量的作用范围的不同,可将变量分为 _局部_变量和 _全局_变量。根据变量生存期的不同,可以将变量分为 动态存储 变量和 静态存储 变量。 ⑹ static 变量的特点是 其值始终存在 。 2、选择题。 ⑵ 下面关于空函数的定义,正确的是 B ⑶ 以下错误的描述是 C 。 。 。 。 。 ⑴ 如果一个函数有返回值,那么这个函数只有 A 个返回值。 ⑷ 调用一个不含 return 语句的函数,以下正确的说法是 D ⑸ 下面函数调用语句中含有实参的个数为 C ⑹ 数组名作函数参数时,实参传递给形参的是 B 3、指出并改正下面程序在函数定义或调用中的错误。 ;. .. ⑴ 被调函数 f(x) 定义时对形式参数 x 未做参数说明。应改为: f(int x) 或: f(x) int x; ⑵ 函数调用时,实际参数的类型应与被调函数形式参数的类型相一致。本 题在主函数中的整型变量 a 应改为浮点型: int a; 改为 float a; 应改为: f( ) void f( ); ⑶ 被调函数 f( ) 定义时不需要加分号, f( ); ⑷ 在 C 程序中,不能在一个函数的函数体内定义另一个函数。该题在主函数中定义 f( ) 为空值类型且作为一个语句是错误的。应去掉 4、分析下列程序,写出运行结果。 ⑴ 主函数以 a=2 为实参调用 f(x) 函数, f(x) 通过 return 回 y 的值赋给 b,结果应为: b=4 ⑵ 在该程序中实参变量 a、b 和形参变量 x、y 分别占用不同的存储单元, 虽然在 swap函数中 x、y 的值发生了交换,但主函数中 a、b 的值却没有改变。运行结果应为: a=1↙ b=2↙ x=2,y=1 a=1,b=2 ⑶ 全局变量 x 初始化为 1,调用被调函数 f( ) 执行一次 x++ ,然后再执行 x++ 后输出 x 值应为: x=3 ⑷ x 为定义在整个函数体和复合语句内的同名自动变量,其作用域不同。 int x=20; 定义在复合语句中,只在复合语句中有效。运行结果如下: x=20 x=11 ⑸ 执行被调函数,将原数组元素初值分别加 num[0]=2 num[1]=3 num[2]=4 num[3]=5 num[4]=6 5、编写程序。 ⑴ 该题目要求使用判断奇偶数函数,编写程序如下: main() { 语句向主函数返 1,因此输出结果为: ;. .. int n; printf(\输入一个整数 :\scanf(\a(n); } a(int n) { ⑵ ⑶ ;. if (n%2==0) printf(\是偶数\\n\else printf(\是奇数\\n\} 编写一个将 3 个数从小到大顺序输出的函数如下: sort(x,y,z) int x,y,z; { int t; if (x>y) {t=x; x=y; y=t;} if (x>z) {t=x; x=z; z=t;} if (y>z) {t=y; y=z; z=t;} Printf(\} 将输入的秒数值,转换为时 : 分: 秒输出,编程如下: int hou=0,min=0; main() { int sec,sec2; clrscr(); printf(\请输入秒数 :\\n\scanf(\sec2=change(sec); printf(\个小时:%d 分钟:%d 秒\} int change(sec1) int sec1; { if(sec1>3600) {hou=sec1/3600; min=(sec1600)/60; sec1=sec1`;}
共分享92篇相关文档