当前位置:首页 > C语言程序习题集
C语言程序设计习题集
9. 若有如下定义和语句:
char s[12]= “a book!”; printf(“%d”,strlen(s) );
则输出结果是: 。
A)12 B)10 C)7 D)6
10.若有说明:int a[3][4] = {0};则下面正确的叙述是: 。
A)只有元素a[0][0]可以得到初值0 B)此说明语句不正确
C)数组a中每个元素均可得到初值0
D)数组a每个元素均可得到初值,但值不一定为0
二、填空题
1.在C语言中,引用数组只能通过 数组元素来实现,而不能通过整体引用 来实现。
2.如果要使一个内部数组在定义时每个元素初始化值为0,但不进行逐个赋值,将其说明成 存储类型即可。
3.在C语言中,二维数组中元素排列的顺序是 。 4.在C语言中,将字符串作为 处理。 5.在C语言中,数组的首地址是 。
三、完善程序题:
1.以下程序是求矩阵a , b的和,结果存入矩阵c中并按矩阵形式输出。请填空: void main( )
{ int a[3][4] = { { 3, -2, 7,5 },{ 1, 0, 4 ,-3},{ 6, 8, 0, 2 } }; int b[3][4] = { { -2, 0, 1, 4 },{ 5, -1, 7, 6 },{ 6, 8, 0, 2 } }; int i, j, c[3][4]; for ( i=0; i<3; i++ )
for ( j=0; j<4; j++ )
c[i][j] = (1) ; for ( i=0; i<3; i++ )
{ for ( j=0; j<4; j++ ) printf ( “=”, c[i][j] ) ; (2) ; } }
2. 打印以下杨辉三角形.(要求打印出10行) main( )
{ int a[10][10],i, j ; 1 for( i=0;i<10;i++) 1 1 { (1) (2) } 1 2 1 for( i=2; i<10; i++ ) 1 3 3 1 for(j=1; j
12
C语言程序设计习题集
a[i][j] = (3) ; … … … for(i=0; i<10; i++)
{ for( j=1; j<=i; j++) printf(“]”,a[i][j]); printf(“\\n”); } }
四、编程题 155页
1. 求数列1,3,3,3,5,5,5,5,5,7,7,7,7,7,7,7……的第40项。 2. 输入两个字符串str1和str2,将字符串str2倒置后接在字符串str1后面。
第六章 答案
一、选择题
1~5 B A D D A 6~10 A C D C C 二、填空题
1.逐个引用 整个数组 2.静态(static)
3.按行存放,即在内存中先存放第一行的元素,再存放第二行的元素 4.字符数组 5.数组的名称 三、程序填空题
1. (1)a[i][j]+b[i][j] (2)printf(“\\n”) 2. (1)a[i][0]=1; (2)a[i][i]=1
(3)a[i-1][j]+a[i-1][j-1] 四、编程题。(课后习题略)
第七章 函数
考点:
1.函数的定义和调用过程。2.函数形参和实参的特点。3.函数的嵌套调用和递归调用。4.变量的作用域和存储方式;5.三种编译预处理方法。
重点:函数实参与形参的对应关系以及“值传递”的方式、函数的嵌套调用和递归调用的方法
一、选择题
1.C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是: 。
13
C语言程序设计习题集
A)地址传递; B)单向值传递;
C)双向值传递; D)由用户指定传递方式
2.以下关于C语言程序中函数的说法正确的是: 。 A)函数的定义可以嵌套,但函数的调用不可以嵌套; B)函数的定义不可以嵌套,但函数的调用可以嵌套; C)函数的定义和调用均不可以嵌套; D)函数的定义和点用都可以嵌套。 3.以下说法不正确的是: 。
C 语言规定 A)实参可以是常量、变量或表达式 B)形参可以是常量、变量或表达式 C)实参可以是任意类型
D)形参应与其对应的实参类型一致
4.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是 。 A) float型 B) int 型 C)long 型 D)double 型
5.若用数组名作为函数调用的实参,传递给形参的是 。 A)数组的首地址 B)数组第一个元素的值 C)数组中全部元素的值 D)数组元素的个数 6.以下不正确的说法为 。
A)在不同函数中可以使用相同名字的变量 B)形式参数是局部变量
C)在函数内定义的变量只在本函数范围内有效
D)在函数内的复合语句中定义的变量在本函数范围内有效
7.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为 。
A)自动(auto) B)静态(static) C)外部(extern) D)寄存器(register)
8.若使用一维数组名作函数实参,则以下正确的说法是 。
A)必须在主调函数中说明此数组的大小 B) 实参数组类型与形参数组类型可以不匹配
C) 在被调函数中,不需要考虑形参数组的大小 D) 实参数组名与形参数组名必须一致
9.有如下函数调用语句 B
func((exp1, exp2),( exp3,exp4,exp5));
该函数调用语句中,含有的实参个数是 。 A) 1 B)2 C) 5 D)4 二、填空题
1.C语言规定,可执行程序的开始执行点是 。
2.在C语言中,一个函数一般由两个部分组成,它们是 和 。
3 C语言中的变量,按作用域范围可分为两种: 和 。.
14
C语言程序设计习题集
4.返回语句的功能是从 返回 。
三、完善程序题:
4.以下程序的运行结果是输出如下图形。请填空。
* * * * * * * * *
* * * * * * * *
* * * * *
* * *
*
# include
{ int j, k; for (j=0; j<=7-i; j++) printf (“ “); for (k=0; k< (1) ; k++) printf(“﹡”); printf(“\\n”); } main ( )
{ int i; for( i=0; i<3; i++) (2) ; for( i=3; i>=0; i--) (3) ; }
5.函数fun的功能是:使字符串str按逆序存放。 void fun (char str[]) {
char m; int i, j;
for (i=0, j=strlen(str); i< (1) ; i++, j--) { m = str[i];
str[i] = (2) ; str[j-1] = m; }
printf(\ } 四、读程序写结果题
1. 分析下面程序,写出程序运行结果。 main( )
{ int i=5; printf(“%d\\n”, sub(i) ) ; } sub ( int n ) { int a ;
if ( n==1) a=1; else a=n+sub(n-1); return( a ) ; } 2. 分析下面程序,写出程序运行结果。 void fun()
15
共分享92篇相关文档