当前位置:首页 > c语言答案
a[2][1]的值为 0 。 2.执行“int b[5]={ }, a[ ][3]={1, 2, 3, 4, 5, 6}”后,b[4]= 0 ,a[1][2]= 6 。 3.若有定义语句:char s[100],d[100];int i=0,j=0;,且s中已赋字符串,请填空以实现字符串拷贝。(注:不得使用逗号表达式) while(s[i]) {d[j]= s[i] ;j++;} d[j]='\\0'; 4.下面程序的功能是将一个字符串str的内容颠倒过来,请填空。 #include\main ()
{ int i,j, k ;
char str[ ]={ \for(i=0,j=strlen(str) -1 ; i 5.下面程序求5?5方阵的主对角线元素乘积,请填空。 #include { int a[5][5],i,j,ss; printf(\for(i=0;i<5;i++) for(j=0;j<5;j++) scanf(\ss= 1 ; for(i=0;i<5;i++) ss= ss* a[i][i] ; printf(\} 6.以下程序求任意10个实数的最大值和最小值。 #include float a[10],max,min; for(i=0;i<10;i++) scanf(\max=min=a[0]; for(i=1;i<10;i++) { if(maxa[i]) min=a[i] ; } printf(\最大值=%f\\n\printf(\最小值=%f\\n\} 7.以下程序求二维数组中每行元素的最大值。 #include { int a[M][N],amax,i,j; for(i=0;i scanf(”%d”,&a[i][j]); for(i=0;i { amax=a[i][0] ; for(j=1;j 8.以下程序的输出结果是 abc 。 #include { char str[]=\ str[3]='\\0'; printf(\} 9.若要按以下形式输出数组右上半三角: 1 2 3 4 6 7 8 11 12 16 请将下列程序填写完整。 #include for(i=0;i<4;i++) { for(j=1;j<=i;j++) printf(\ for(j= i ;j<4;j++) printf(\ printf(\ } } 10.以下程序的输出结果是 9,8 。 #include { char a[]={\ int i,j; i=sizeof(a); j=strlen(a); printf(\} 习 题 六 一、选择题 1.以下叙述不正确的是( D )。 A.一个C源程序可由一个或多个函数组成 B.一个C源程序必须包含一个main()函数 C.C程序的基本组成单位是函数 D.C程序中的注释说明只能位于一条语句的后面 2.以下关于C语言函数参数的说法不正确的是( B )。 A.实参可以是常量、变量或表达式 B.形参可以是常量、变量或表达式 C.实参可以为任意类型 D.形参应与其对应的实参类型一致 3.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( C )。 A.地址传递 B.由实参传给形参再由形参传回给实参 C.单向值传递 D.由用户指定传递方式 4.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( B )。 A.float型 B.int型 C.long型 D.double型 5.C语言规定,函数返回值的类型是由( D )。 A.return语句中的表达式类型所决定 B.调用该函数时的主调函数类型所决定 C.调用该函数时系统临时决定 D.定义函数时所指定的函数类型所决定 6.在C语言程序中,以下正确的描述是( C )。 A.函数可以嵌套定义,但不可以嵌套调用 B.函数的定义和调用均可以嵌套 C.函数不可以嵌套定义,但可以嵌套调用 D.函数的定义和调用均不可以嵌套 7.若用数组名作为函数调用的实参,传递给形参的是( A )。 A.数组的首地址 B.数组第一个元素的值 C.数组中全部元素的值 D.数组元素的个数 8.如果在一个函数中的复合语句中定义了一个变量,以下关于该变量正确的说法是( A )。 A.只在该复合语句中有效 B.在该函数中有效 C.在本程序范围内均有效 D.为非法变量 9.以下不正确的说法为( D )。 A.在不同函数中可以使用相同名字的变量 B.形式参数是局部变量 C.在函数内定义的变量只在本函数范围内有效 D.在函数内的复合语句中定义的变量在本函数范围内有效 10.以下程序的正确运行结果是( A )。 #include { int k=4,m=1,p; p=func(k,m);printf(\p=func(k,m);printf(\} func(int a,int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return(m); } A.8,17 B.8,16 C.8,20 D.8,8 11.在“文件包含”预处理语句的使用形式中,当#include后面的文件名用<>(尖括号)括起时,寻找被包含的文件的方式是( C )。 A.仅仅搜索当前目录 B.先在源程序所在目录搜索,再按系统设定的标准方式搜索 C.直接按系统设定的标准方式搜索目录 D.仅仅搜索源程序所在目录 12.以下程序的正确运行结果是( A )。 int d=1; fun(int p) { int d=5; d+=p++; printf(\} main() { int a=3; fun(a); d+=a++; printf(\} A.84 B.99 C.95 D.44 13.若有以下调用语句,则不正确的fun()函数的首部是( D )。 main() { ? int a[50],n; ? fun(n,&a[9]); ? } A.void fun(int m,int x[ ]) B.void fun(int s,int h[41]) C.void fun(int p,int *s) D.void fun(int n,int a) 14.下面的程序执行后输出的结果是( A )。 f(int a) { int b=0; static int c=3; b++;c++; return(a+b+c); } main() { int a=2,i; for(i=0;i<3;i++) printf(\} A.7 8 9 B.7 9 11 C.7 10 13 D.7 7 7 15.以下程序执行后的输出结果是( B )。 int a, b; void fun() { a=100;b=200; } main() { int a=5,b=7; fun(); printf(\} A.100,200 B.5,7 C.200,100 D.7,5 16.下列不属于编译预处理的是( D )。 A.包含文件 B.条件编译 C.宏定义 D.连接 17.下列语句中正确的是( D )。 A.#define MYNAME=\ B.#include string.h C.for(i=0;i<10;i++); D.#include
共分享92篇相关文档