主题:菜鸟跪求解释。。。。。
c语言,我心中永远的痛。。。。。。
为下面各题分别创建一个函数,通过实参向形参传递值方式实现数值传递。
1 结合循环语句编一个一维数组输出一句有十个单词的话,在函数中使用
extern,auto,static,register等限定不同类型的变量。
2 编程输出一个3*5的整数矩阵。(二维数组)
3 请结合使用for与if语句编一个字符数组,并将其大写改为小写,或小写改为大写。
4 请用循环语句和二维数组计算并输出全班同学(共69位)的这次英语、数
学和物理成绩总分及平均分。
把下列程序段放在函数中,通过实参向形参传递值方式实现数值传递。在main()中调用,写出结果。
5 执行下列程序,其输出结果是______
int i=10;
switch(i)
{ case 9: i+=1;
case 10: i+=1;
case 11: i+=1;break;
default: i+=1;
}printf(“%d”,i);//i=13
6 以下程序段的输出结果_______。
int i , a[8] = { 1, 2, 3, 4, 5, 6, 7, 8 } , sum = 0 ;
for( i = 0 ; i < 8 ; i = i+2 )
sum = sum + a [i] ;
printf(“sum = %d\n”, sum) ;
7 以下程序段的输出结果_________。
char a[20] = “abcd”, b[10]= “12345” ;
strcat ( a , “ ABC ”) ;
strcpy( a + 5 , b ) ;
printf( “ %s , %d\n” , a , strlen ( a ) ) ;
8 运行以下程序段后sum 的值是______。
int i , a[10] = { 1, 2, 3, 4, 5, 6, 7, 8 , 9 , 10 } , sum = 0 ;
for( i = 3 ; i < 7 ; ++ i )
a[i] = a [ i + 1] ;
for( i = 0 ; i < 10 ; ++ i )
sum = sum + a [i] ;
printf(“sum = %d\n”, sum) ;
9 运行以下程序段后a[0] 的值是________。
main()
{ float a[10];
int i;
for( i=0; i<3; i++) scanf(“%d”, &a[i]);
for( i=1; i<3; i++) a[0]=a[0]+a[i];
printf( “%f\n”,a[0]);
}
10 以下C语言函数的有关描述中,正确的是______。
A 调用函数时,只能把实参的值传给形参,形参不能传给实参;
B 函数既可以嵌套定义又可以递归调用
C 函数必须有返回值,否则不能使用函数
D 具有调用关系的所有函数必须放在同一个源程序文件中.
11 编写一个函数,输入一个字符串,统计该字符串中字符对“ab”的个数,然后在主函数中调用它。
#include <stdio.h>
void myfunction()
{
char c,s[80];
int i,f,sum=0;
printf("Enter a string:");
gets(s);
i=0;
while((c=s[i++])!='\0')
{
if(c=='a') f=1;
else {if(c=='b'&&f==1)sum++;
f=0;}}
printf("There are %d 'ab' in the string you just entered.",sum);
}main()
{ myfunction(); }
12 分析下列程序,输出结果是_______
main()
{ char arr[2][4];
strcpy(arr,"you");
strcpy(arr[1],"me");
arr[0][3]='&';
printf("%s\n",arr);
}
13 分析下列程序,输出结果是_______
main()
{
int i,a[20]={1,1};
for(i=2;i<20;i++)
a[i]=a[i-2]+a[i-1];
for(i=0;i<20;i++)
{
if(i%5==0)printf("\n");
printf("%10d",a[i]);}}
14 下列语句中,正确的是______
A char a[3][]={‘abc’,’1’};
B char a[][3]={‘abc’,’1’};
C char a[3][]={‘a’,”1”};
D char a[3][]={“a”,”1”};
15 若函数能被其他编译单位(源文件)引用,那么函数定义时的存储类型应选用 _______
A auto B static C extern D register
16 下面函数定义有错误的是________
A f1(x1,x2) int x1,x2;{ 函数体 } B f1(x1,x2) int x1;int x2;{ 函数体}
C f1(int x1,x2) {函数体} D f1(int x1,int x2) {函数体}
17 分析下列程序,输出结果是_______
#include<stdio.h>
void main()
{
int i,j;
char c;
for(i=0;i<2;i+=1)
{
c='A';
for(j=i;j<2;j++)
c=c+j;
printf("c=%c\ni=%d\nj=%d\n",c,i,j);
}
printf("c=%c\ni=%d\nj=%d\n",c,i,j);//退出内外循环后的i,j值
18 分析下列程序,输出结果是_______//测试实参向形参传值
#include <stdio.h>
int WarningSign(int secondNumber,int firstNumber)
{
int total;
firstNumber-=10;
total=secondNumber*firstNumber;
return total;
}
main()
{
int firstNumber=10,secondNumber=20;
unsigned whichOne=1;
do
{
if(firstNumber>12)
whichOne=0;
else printf("%d ",2*WarningSign(2*firstNumber,secondNumber));
firstNumber++;
}while(whichOne);
}}
19 设有语句int a=8;则执行了语句a+=a-=a+a;后,变量a的值是_______
A 3 B 0 C 9 D -12
20 表达式“7!=56”的值是_______
A true B 非零值 C 0 D 1
21 设int i=040,j=30;,执行”printf(“%d,%d\n”,++i,j--);”的输出是_______
A 33,29 B 33,30 C 010,9 D 10,9
22 下列语句中,错误的是_______
A while(x=y) 5; B do x++ while(x==10) C while(0); D do 2; while (a==b)
23 若变量已正确定义并且指针P已经指向某个变量k,则(*P)++相当于______.
A P++ B k++ C *(P++) D &k++
[em10][em10]
为下面各题分别创建一个函数,通过实参向形参传递值方式实现数值传递。
1 结合循环语句编一个一维数组输出一句有十个单词的话,在函数中使用
extern,auto,static,register等限定不同类型的变量。
2 编程输出一个3*5的整数矩阵。(二维数组)
3 请结合使用for与if语句编一个字符数组,并将其大写改为小写,或小写改为大写。
4 请用循环语句和二维数组计算并输出全班同学(共69位)的这次英语、数
学和物理成绩总分及平均分。
把下列程序段放在函数中,通过实参向形参传递值方式实现数值传递。在main()中调用,写出结果。
5 执行下列程序,其输出结果是______
int i=10;
switch(i)
{ case 9: i+=1;
case 10: i+=1;
case 11: i+=1;break;
default: i+=1;
}printf(“%d”,i);//i=13
6 以下程序段的输出结果_______。
int i , a[8] = { 1, 2, 3, 4, 5, 6, 7, 8 } , sum = 0 ;
for( i = 0 ; i < 8 ; i = i+2 )
sum = sum + a [i] ;
printf(“sum = %d\n”, sum) ;
7 以下程序段的输出结果_________。
char a[20] = “abcd”, b[10]= “12345” ;
strcat ( a , “ ABC ”) ;
strcpy( a + 5 , b ) ;
printf( “ %s , %d\n” , a , strlen ( a ) ) ;
8 运行以下程序段后sum 的值是______。
int i , a[10] = { 1, 2, 3, 4, 5, 6, 7, 8 , 9 , 10 } , sum = 0 ;
for( i = 3 ; i < 7 ; ++ i )
a[i] = a [ i + 1] ;
for( i = 0 ; i < 10 ; ++ i )
sum = sum + a [i] ;
printf(“sum = %d\n”, sum) ;
9 运行以下程序段后a[0] 的值是________。
main()
{ float a[10];
int i;
for( i=0; i<3; i++) scanf(“%d”, &a[i]);
for( i=1; i<3; i++) a[0]=a[0]+a[i];
printf( “%f\n”,a[0]);
}
10 以下C语言函数的有关描述中,正确的是______。
A 调用函数时,只能把实参的值传给形参,形参不能传给实参;
B 函数既可以嵌套定义又可以递归调用
C 函数必须有返回值,否则不能使用函数
D 具有调用关系的所有函数必须放在同一个源程序文件中.
11 编写一个函数,输入一个字符串,统计该字符串中字符对“ab”的个数,然后在主函数中调用它。
#include <stdio.h>
void myfunction()
{
char c,s[80];
int i,f,sum=0;
printf("Enter a string:");
gets(s);
i=0;
while((c=s[i++])!='\0')
{
if(c=='a') f=1;
else {if(c=='b'&&f==1)sum++;
f=0;}}
printf("There are %d 'ab' in the string you just entered.",sum);
}main()
{ myfunction(); }
12 分析下列程序,输出结果是_______
main()
{ char arr[2][4];
strcpy(arr,"you");
strcpy(arr[1],"me");
arr[0][3]='&';
printf("%s\n",arr);
}
13 分析下列程序,输出结果是_______
main()
{
int i,a[20]={1,1};
for(i=2;i<20;i++)
a[i]=a[i-2]+a[i-1];
for(i=0;i<20;i++)
{
if(i%5==0)printf("\n");
printf("%10d",a[i]);}}
14 下列语句中,正确的是______
A char a[3][]={‘abc’,’1’};
B char a[][3]={‘abc’,’1’};
C char a[3][]={‘a’,”1”};
D char a[3][]={“a”,”1”};
15 若函数能被其他编译单位(源文件)引用,那么函数定义时的存储类型应选用 _______
A auto B static C extern D register
16 下面函数定义有错误的是________
A f1(x1,x2) int x1,x2;{ 函数体 } B f1(x1,x2) int x1;int x2;{ 函数体}
C f1(int x1,x2) {函数体} D f1(int x1,int x2) {函数体}
17 分析下列程序,输出结果是_______
#include<stdio.h>
void main()
{
int i,j;
char c;
for(i=0;i<2;i+=1)
{
c='A';
for(j=i;j<2;j++)
c=c+j;
printf("c=%c\ni=%d\nj=%d\n",c,i,j);
}
printf("c=%c\ni=%d\nj=%d\n",c,i,j);//退出内外循环后的i,j值
18 分析下列程序,输出结果是_______//测试实参向形参传值
#include <stdio.h>
int WarningSign(int secondNumber,int firstNumber)
{
int total;
firstNumber-=10;
total=secondNumber*firstNumber;
return total;
}
main()
{
int firstNumber=10,secondNumber=20;
unsigned whichOne=1;
do
{
if(firstNumber>12)
whichOne=0;
else printf("%d ",2*WarningSign(2*firstNumber,secondNumber));
firstNumber++;
}while(whichOne);
}}
19 设有语句int a=8;则执行了语句a+=a-=a+a;后,变量a的值是_______
A 3 B 0 C 9 D -12
20 表达式“7!=56”的值是_______
A true B 非零值 C 0 D 1
21 设int i=040,j=30;,执行”printf(“%d,%d\n”,++i,j--);”的输出是_______
A 33,29 B 33,30 C 010,9 D 10,9
22 下列语句中,错误的是_______
A while(x=y) 5; B do x++ while(x==10) C while(0); D do 2; while (a==b)
23 若变量已正确定义并且指针P已经指向某个变量k,则(*P)++相当于______.
A P++ B k++ C *(P++) D &k++
[em10][em10]