C语言问题 会做题的来。。。

1。t为int类型,进人下面的循环之前,t的值为0 while( t=l ) { …… } 则以下叙述中正确的是
A) 循环控制表达式的值为0
B) 循环控制表达式的值为1
C) 循环控制表达式不合法
D) 以上说法都不对

2。下列条件语句中,功能与其他语句不同的是 :________
  A) if(a) printf("%d\n",x); else printf("%d\n",y);
  B) if(a==0) printf("%d\n",y); else printf("%d\n",x);
  C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);
  D) if(a==0) printf("%d\n",x); else printf("%d\n",y);

3。下面函数的功能是 :
int fun(char * x)
{
char * y=x;
while(*y++);
return(y-x-1);
}
A) 求字符串的长度
B) 比较两个字符串的大小
C) 将字符串x复制到字符串y
D) 将字符串x连接到字符串y后面

<TD class="value " vAlign=top><TEXTAREA name=item.content rows=55 readOnly cols=80>若有以下说明和语句:
int c[4][5], (*p)[5]; p=c;
能正确引用c数组元素的是:________
 A)p+1 B)*(p+3)
 C)*(p+1)+3 D)*(p[0]+2))

下面函数的功能是:
int fun(char *s,char *t)
{
while((*s)&&(*t)&&(*t++== *s++));
return(*s-*t);
}
A) 求字符串的长度
B) 比较两个字符串的大小
C) 将字符串s复制到字符串t中
D) 将字符串s接续到字符串t中

#include "stdio.h"
main()
int j,k,s;
for(k=2;k<6;k+=2)
{
s=1;
for(j=k;j<6;j++)s=s+j;
}
printf("%d",s);
}的结果?

若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能表示a数组元素的表达式是
A) *p B) a[10] C) *a D) a[p-a]

设有说明int (*ptr)[m]; 其中的标识符ptr是 :________
  A)M个指向整型变量的指针
  B)指向M个整型变量的函数指针
  C)一个指向具有M个整型元素的一维数组的指针
  D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量

执行下面的程序后,a的值为_______
main()
{
int a,b;
for (a=1,b=1;a<=100;a++)
{
if(b>=20) break;
if(b%3==1) {
b+=3;
continue;
}
b-=5;
}
}

A) 7 B) 8 C) 9 D) 10

下列描述中不正确的是
A) 字符型数组中可以存放字符串
B) 可以对字符型数组进行整体输入、输出
C) 可以对整型数组进行整体输入、输出
D) 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值

在C语言中,若需一变量只在本文件中所有函数使用,则该变量的存储类别是________
A、extern B、register C、auto D、static

以下程序运行后,输出结果是
A、cde
B、字符c的ASCLL码值
C、字符C的地址
D、出错
main( )
{
char *s="abcde";
s+=2;
printf("%ld ",s);

程序中若有如下说明和定义语句
char fun(char *);
main()
{
char *s="one",a[5]={0},(*f1)()=fun,ch;
......
}
以下选项中对函数fun的正确调用语句是
A)(*f1)(a); B)*f1(*s); C)fun(&a); D)ch=*f1(s)

以下循环体的执行次数是
main()
{
int i,j;
for(i=0,j=1; i<=j+1; i+=2, j--)
printf("%d \n",i);

在C语言中,若需一变量只在本文件中所有函数使用,则该变量的存储类别是________
A、extern B、register C、auto D、static

1。t为int类型,进人下面的循环之前,t的值为0 while( t=l ) { …… } 则以下叙述中正确的是(B)
A) 循环控制表达式的值为0
B) 循环控制表达式的值为1
C) 循环控制表达式不合法
D) 以上说法都不对

2。下列条件语句中,功能与其他语句不同的是 :___D_____
A) if(a) printf("%d\n",x); else printf("%d\n",y);
B) if(a==0) printf("%d\n",y); else printf("%d\n",x);
C) if (a!=0) printf("%d\n",x); else printf("%d\n",y);
D) if(a==0) printf("%d\n",x); else printf("%d\n",y);

3。下面函数的功能是 :(A)
int fun(char * x)
{
char * y=x;
while(*y++);
return(y-x-1);
}
A) 求字符串的长度
B) 比较两个字符串的大小
C) 将字符串x复制到字符串y
D) 将字符串x连接到字符串y后面

若有以下说明和语句:
int c[4][5], (*p)[5]; p=c;
能正确引用c数组元素的是:__D______
A)p+1 B)*(p+3)
C)*(p+1)+3 D)*(p[0]+2))

下面函数的功能是: (B)
int fun(char *s,char *t)
{
while((*s)&&(*t)&&(*t++== *s++));
return(*s-*t);
}
A) 求字符串的长度
B) 比较两个字符串的大小
C) 将字符串s复制到字符串t中
D) 将字符串s接续到字符串t中

#include "stdio.h"
main()
int j,k,s;
for(k=2;k<6;k+=2)
{
s=1;
for(j=k;j<6;j++)s=s+j;
}
printf("%d",s);
}的结果?结果为10

若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能表示a数组元素的表达式是 (B)
A) *p B) a[10] C) *a D) a[p-a]

设有说明int (*ptr)[m]; 其中的标识符ptr是 :_C_______
A)M个指向整型变量的指针
B)指向M个整型变量的函数指针
C)一个指向具有M个整型元素的一维数组的指针
D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量

执行下面的程序后,a的值为___B____
main()
{
int a,b;
for (a=1,b=1;a<=100;a++)
{
if(b>=20) break;
if(b%3==1) {
b+=3;
continue;
}
b-=5;
}
}

A) 7 B) 8 C) 9 D) 10

下列描述中不正确的是 B
A) 字符型数组中可以存放字符串
B) 可以对字符型数组进行整体输入、输出
C) 可以对整型数组进行整体输入、输出
D) 不能在赋值语句中通过赋值运算符"="对字符型数组进行整体赋值

在C语言中,若需一变量只在本文件中所有函数使用,则该变量的存储类别是____D____
A、extern B、register C、auto D、static

以下程序运行后,输出结果是 (C)
A、cde
B、字符c的ASCLL码值
C、字符C的地址
D、出错
main( )
{
char *s="abcde";
s+=2;
printf("%ld ",s);
}

程序中若有如下说明和定义语句
char fun(char *);
main()
{
char *s="one",a[5]={0},(*f1)()=fun,ch;
......
}
以下选项中对函数fun的正确调用语句是 C 或者ch=f1(s),ch=f1(a) 均是正确用法
A)(*f1)(a); B)*f1(*s); C)fun(&a); D)ch=*f1(s)

以下循环体的执行次数是 1次
main()
{
int i,j;
for(i=0,j=1; i<=j+1; i+=2, j--)
printf("%d \n",i);

}
在C语言中,若需一变量只在本文件中所有函数使用,则该变量的存储类别是_____D___
A、extern B、register C、auto D、static
温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-06-29
判断型结构
n
n #include <stdio.h>
n void main(){
n int m,result;
n int fn(int m);//函数声明
n printf("Enter 1 number:"); scanf("%d",&m);
n result=fn(m);//函数的调用
n if(result == 1)
n printf("%d is yes\n",m);
n else
n printf("%d is no\n",m);
n }
n int fn(int m){
n int result; result = 1;
n //处理过程
n return result;
n }
数值型数组

n #include<stdio.h>
n #define N 10
n void main(){
n int a[N];int,i,x,n;
n int fn(int a[],int n,int x);//函数声明
n printf("enter x number :");scanf("%d",&x);
n printf("enter N number :");
n for(i=0;i<N;i++) scanf("%d",&a[i]);
n result=fn(a,N);//函数调用
n //结果输出
n printf("%d\n",result);
n for(i=0;i<N;i++)
n printf("%d\t",a[i]);//数组输出

n }
n int fn(int a[],int n,int x){//函数定义
n int i,k,result;
n result= 0 ; //result存放 统计符合条件的数
n for(i=0;i<n;i++)
n if(a[i] == x ) { result++;}
n return result;
字符型数组

n #include<stdio.h>
n #define N 100
n void main(){
n char a[N];int i,result;
n int fn(char a[]);//函数声明
n gets(a);//字符数组输入
n result=fn(a);//函数调用
n //结果输出
n printf("%d\n",result);
n puts(a);//字符数组输出

n }
n int fn(char a[]){//函数定义
n int i,result; char b[N];
n for(i=0;a[i]!=‘\0’;i++)//字符型数组的写法
n { b[i] = a[i] ; //字符复制
n printf("%c",b[i]); //字符数组输出
n result++;//统计字符个数
n }
n return result;

输入一个M*N二维数组,求该二维数组所有靠外侧的元素之和。要求M和N用#define 进行定义
#include <stdio.h>
#define M 10
#define N 10
void main(){
int a[M][N],i,j,s;
int fn(int b[][N],int m,int n);
for(i=0;i<M;i++)
for(j=0;j<N;j++)scanf("%d",&a[i][j]);
s=fn(a,M,N);
printf("s=%d\n",s);
}
int fn(int b[][N],int m,int n){
int i,j,s=0;
for(i=0;i<n;i++)s+=b[0][i];
for(i=0;i<n;i++)s+=b[m-1][i];
for(i=1;i<m-1;i++)s+=b[i][0];
for(i=1;i<m-1;i++)s+=b[i][m-1];
return s;}
写一个函数计算两个正整数的最小公倍数,在主函数中用scanf输入m,n两个正整数,调用函数后,打印这两个正整数的最小公倍数。
#include <stdio.h>
void main(){
int m,n,i,j,s;
int fn(int m,int n);
scanf("%d%d",&m,&n);
s=fn(m,n);
printf("s=%d\n",s);
}
int fn(int m,int n){
int i,j,s;i=m*n;
if(m<n){j=m;m=n;n=j;}
j=m%n;
for(;j!=0;j=m%n){m=n;n=j;}s=i/n;
return s;}
将1--1000中所有21的倍数存到一个一维数组中,并输出该数组的所有数据。
要求将该程序以文件名test1.c
#include <stdio.h>
void main(){
int a[50],i,j,s;
int fn( int b[],int m);

s=fn(a,50);
for(i=0;i<s;i++)
printf("%d,",a[i]);
}
int fn( int b[],int m){
int i,j=0,s=0;
for(i=1;i<1001;i++)
if(i%21==0)b[j++]=i;
return j;}
写一个函数判断一个正整数是否为偶数,在主函数中用scanf输入正整数m,调用函数后,
根据函数返回值判断这个正整数是否为偶数,若是则输出“yes”,否则输出“no”

#include <stdio.h>
void main(){
int m,s;
int fn(int m);
scanf("%d",&m);
s=fn(m);
if(s==0)
printf("%d is yes\n",n);
else

printf("%d is no\n",n);
}
int fn(int m){
return m%2;}
第2个回答  2010-06-27
1 A 2 D 3A 4D
第3个回答  2010-06-27
1.A
2.D