| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1160 人关注过本帖
标题:请各位懂C语言程序设计的人帮帮忙 做这些程序设计题(急用)
只看楼主 加入收藏
夏相国
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-10-22
结帖率:0
收藏
已结贴  问题点数:20 回复次数:2 
请各位懂C语言程序设计的人帮帮忙 做这些程序设计题(急用)
一、    单项选择题
1、一个正确的C源程序中,           是不能缺少的。         
A、#include<stdio.h>       B、main函数的定义    C、注释     D、全局变量声明
2、以下关于main函数的叙述中正确的是                            
A、一个C语言源程序中只能有一个main函数
B、main函数只能放在程序开始位置
C、main函数中必须至少有一条执行语句
D、main函数不能有任何形式参数
3、可以用signed和unsigned 修饰的类型标识符是              
①int    ②float    ③double    ④char
A、①④       B、②③      C、①②       D、①②③④
4、以下叙述中正确的是      ____。
A、可在C源程序中任何地方插入注释
B、一个C源程序可以任意分成若干部分,分别保存在多个文件中。
C、一个C源程序的语句可以任意跨行书写。
D、一个C程序的main函数运行结束,整个C程序运行即结束。
5、设有定义和声明如下:
#define  d  2
int x=5;  float y=3.83;  char c='d';
以下表达式中有语法错误的是           
A、x++            B、y++                C、c++              D、d++
6、以下定义和声明中,语法均有错误的是      
① int _f(int x){ }      ② int f(int f){ }       ③ int 2x=1;
④ struct  for{int x;};
A、②③           B、③④                C、①④             D、①②③④
7、以下局部变量声明中,正确的是     
A、int   2x=1,  2y=0;
B、float  x=2,  y=sqrt(x)*x;
C、char  do =1;                 
D、double  f1=f*sin(f),  f=2.0;
8、以下C语言常量中,正确的是       _。
① 0218             ② ’\0x1a’       ③ E-9        ④ 3.5f  
⑤ (1/2)e-2           ⑥ 3L          ⑦ 0xFF
A、①②③         B、③⑤          C、②④⑦      D、④⑥⑦  
9、下列C语言表达式中,错误的是         
① ++a+++b     ② “ABC” “abc”      ③ -a++   
④ -++a         ⑤ ++-a              ⑥ int(x)      ⑦ x>y=2   
A、①②③⑦    B、 ②③④⑤      C、①⑤⑥⑦     D、 ②④⑥⑦
10、以下常量中,         是符合语法要求的。                  
①0258   ②’\0xaa’   ③1E-9   ④3.5f   ⑤(1/2)e-2    ⑥3L    ⑦0xFF
A、①②③         B、③⑤               C、②③④⑦     D、③④⑥⑦            
11、以下函数定义中正确的是        
A、double fun(double x,double y){ …… }   
B、double fun(double x;double y){ …… }
C、double fun(double x,double y);{ …… }   
D、double fun(double x,y){ …… }
12、若需要通过调用f函数得到一个数的平方值,以下f函数定义中不能实现该功能的是
        
A、void  f(double *a){ *a=(*a)*(*a);}
B、void  f(double a,double *b){ *b=a*a; }
C、void  f(double a,double b){ b=a*a;}
D、double  f(double a){ return  a*a; }
13、以下局部变量声明中,正确的是                              
A、int  x=0, if=1;         B、int 2x=1,2y=0;  
C、int  x=2,y=sqrt(x);     D、int x=sqrt(y),y=4;  
14、在一个函数被调用执行过程中,当执行到函数体中      语句后立即无条件返回主调函数。                 
A、return      B、break     C、continue      D、goto  
15、C语言表示逻辑假的值是                                     
A、非零整数值      B、0     C、1   D、FALSE
16、在现有编译系统中表达式sizeof(10.1)的值是                     
A、1      B、2       C、4      D、8
17、若有声明“long a,b;”且变量a和b都需要通过键盘输入获得初值,则下列语句中正确的是      
A、scanf("%ld%ld,&a,&b");            B、scanf("%d%d",a,b);
C、scanf("%d%d",&a,&b);              D、scanf("%ld%ld",&a,&b);
18、若在一个C语言源程序中“e1”和“e3”是表达式,“s;”是语句,则下列选项中与语句“for(e1; ;e3)s;”功能等同的语句是     
A、e1;while(10)s;e3;                 B、e1;while(10){s;e3;}
C、e1;while(10){e3;s;}               D、while(10){e1;s;e3;}
19、已知有声明:int x=1,y=2,z=3;以下表达式中,表达式的值为0的是        
①x/y   ②!!x  ③x==2   ④x=2   ⑤y--,y--  ⑥z>y>x  
A、①③⑥     B、②④⑤     C、①③⑤     D、②③⑥
20、以下表达式中,可以正确地用于if(e)/else语句中的条件表达式e是      
A、++(x+1)==x+2
B、t=!(y%4)&&y%100||!(y%400)
C、x+1=z
D、x%2.0==0
21、以下关于main函数定义的叙述中,正确的是            
A、main函数是系统函数,因此函数体不能为空
B、main函数定义时不能有形式参数
C、main函数定义必须出现在一个源程序的起始位置
D、在一个源程序中只能有一个main函数定义
22、以下一维数组声明中,正确的是              
A、int a[ ];                B、int b[10],a[b];
C、int a[4]={1,2,3,4,5};    D、int a[sizeof('a')]={'a'};
23、以下二维数组声明中,正确的是              
A、char  b[2][3]={“a”.”b”.”c”};        B、char  b[][3]={0};   
C、char  b[2][]={0};                 D、char  b[][]={0};
24、若x为long int型变量,则以下表达式中能正确求出x绝对值的表达式是_      
A、x?x:-x                        B、fabs(x)
C、abs(x)                        D、floor(x)  
25、以下常量中,       是符合语法要求的。                  
①0258   ②’\0xaa’   ③1E-9   ④3.5f   ⑤(1/2)e-2    ⑥3L    ⑦0xFF
A、①②③     B、③⑤      C、②③④⑦    D、③④⑥⑦
26、下列C语言表达式中,能正确表达数学计算式1÷ × 2x y 的表达式是           
A、1/sqrt(2*3.14)*2*pow(x,y)            B、1.0/sqrt(2)*2*x**y
C、1.0/sqrt(6.28)*2x^y                     D、1/6.28^0.5*2*pow(x,y)
27、以下对于continue语句使用的正确描述是                      
A、可以出现在函数中任何位置
B、只能出现在循环结构中
C、只能出现在循环结构或switch结构中
D、continue语句一旦被执行将使程序执行流程从所在结构中跳出
28、以下表达式中,可以正确地用于if(e)/else语句中的条件表达式e是        
A、++(x+1)==x+2
B、!(y%4)&&y%100||!(y%400)
C、x+1=z
D、x%2.0==0

二、填空
1、一个C语言源程序由若干个函数定义、若干个外部对象声明及若干个     组成。
2、若声明 int a=-30,b=-7; ,则表达式 a%b 的值为      
3、C语言中,既无值也无类型且不需要声明便可直接使用的标识符是         
4、在一个C语言源程序中,必不可少的是         
5、若有声明“int  x;”且sizeof(x)的值为2,则当x值为         时“x+1>x”为假。
6、若声明int x=1,z=1,y=1,k;则计算表达式k=x++||++y&&++z后,变量k,x,y,z的值分别为      
7、用C语言的八进制常量表示signed int型常量(16位二进制)的可表示数值范围为____。
8、在实现循环结构的语句中,其循环体至少无条件执行一次的语句是         
9、当程序中需要调用库函数strcmp时,应当包含头文件        
10、执行以下程序段中的语句“k=M*M+1;”后k的值是      
#define  N  2
#define  M  N+1
k=M*M+1;
11、若已声明 float a=3.14; ,则表达式36/printf(“%f\n”,a) 的值为      
12、若已声明 int a=1,b=2,c=3; ,则表达式a++, c*a*b的值为      
13、在C语言源程序中需要建立或更新数据文件时,都要声明和使用FILE结构类型的指针变量,因此在源程序中必须包含头文件      
14、当定义一个无返回值函数时,函数的返回值类型标应为                 
15、若已有二维数组声明“int a[][3]={{1},{2},3,4,5,6};”,则该数组共有     个数组元素。
16、已知有声明int x=1, y=2, z=3;则执行语句x>y?( z -=--x):(z+=++y);后,x, y, z的值为   

三、阅读程序题
1、以下程序段执行后,将输出                          
unsigned  char  x, a, b;
x=0;
a=x-1;b=x;
if(a<b)printf(“ok”);
else printf(“no”);
2、以下程序段执行后,变量t,x,y,z的值是               
int t,x,y,z;
x=y=z=0;
t=(x+1,x++)&&(y+=1)||z++;
3、以下程序执行时输出结果为                        
int min(int x,int y)
{  if(x<y)  return x;
     else  return y;
}
main( )
{   int  ix;  
float  fx=2.5,fy=3,fz;
double  dz;
      ix=2.5;
      fz=min(fx,fy) ;
      dz=3/ix;
      printf("\n%.2f,%.2f",fz,dz);
}
4、以下程序运行时输出结果是      
#include <stdio.h>
void main()
{  int k=5,n=0;
   while(k>0)
   {  switch(k)
      {   case 1:
          case 3: n+=1;k--;break;
default: n=0;k--;
          case 2:
          case 4: n+=2; k--; break;
      }
      printf("%3d",n);
   }
}
5、以下程序执行时输出结果的第一个数为         ,最后一个数为        
#define P1 1
#define P2 2
main( )
{  int x;
     for(x=1;x<=3;)
     {  switch(x){
         case P1: x++;
         case P2: x++;break;
         case P1+P2: x++;
         }
         printf("%d\n",x);
      }
}
6、以下程序执行时输出结果的第一行为      ,第二行为        
    main( )
{    int a=1,b,c;
       a*=6+4;
       b=a>10?a:a-1;
       c=a,b;
       printf("%d \n %x",b,c);
}
7、以下程序运行时输出结果是        
#include<stdio.h>
int f(int x,int y)
{  return  x+y;  }
void main()
{  double a=5.5,b=2.5;
   printf("%d",f(a,b));
}
8、以下程序运行时输出结果中第一行是      
#include<stdio.h>
void fun(int x,int p[],int *n)
{  int i,j=0;
   for(i=1;i<=x/2;i++)
     if(x%i==0)p[j++]=i;
   *n=j;
}
void main()
{  int x,a[10],n,i;
   fun(27,a,&n);
   for(i=0;i<n;i++)
     printf("%5d",a[i]);
   printf("\n%5d",n);
}
9、若运行下面的程序时从键盘上输入How are you?#[enter] (注:[enter]表示回车键),则程序的输出结果的第一行为      ,第二行为      
#include<stdio.h>
void main( )
{  int v1=0,v2=0;
   char ch;
   while((ch=getchar())!=’#’)
   switch(ch)
   {     case ‘o’ : v2++;      /* case后面的常量为字母o*/
       default: v1++;
   }
   printf(“%d , %d\n”, v1,v2); printf(“%o , %o”, v1,v2);
}
10、以下程序的输出结果第一行是        ,第二行是        
main( )
{ int a, b, k=4, m=6, *p1=&k, *p2=&m;
a=p1= =&m;
b=(*p1)/(*p2)+7;
printf(“%d\n”, a);
printf(“%d\n”, b);
}
11、以下程序执行后,输出结果是      
      #define N 100
      main()
      {     int i=0,sum=0;
do
{  if(i==(i/2)*2) continue;
   sum++;
   if(sum>40) break;
            }while(++i<N);
         printf(“%d\n”, sum);
}
12、以下程序的输出结果第一行是         ,第二行是         
    #include<stdio.h>
main( )
{    char a[]=”student”, t;
        int I,j=0;
        for(i=1; i<7; i++)
            if(a[j]<a[i])    j=I;
        t=a[j];    a[j]=a[7];
        a[7]=t;
        puts(a);
        puts(a+3);
}

四、完善程序

2、以下程序中函数long fun(char *str)的功能是:自左至右取出非空字符串str中的所有数字字符,将这些数字字符组成一个不超过8位的十进制整数并输出。
例如,字符串str为“efg32gh76.jbejing08t5y4u2”,程序输出:32760854。
#include <stdio.h>
long fun(char *str)
{  int i=0; long k=0;
   char *p=str;
   while(*p!='\0'&&       )   
   {  if(*p>='0'&&*p<='9')
      {  k=      +*p-'0';    ++i;      }
             ;   
   }
   return k;
}
void main( )
{  char x[]="efg32gh76.jbejing08t5y4u2";
   printf("%ld\n", fun(x));
}

3、以下程序根据公式计算 sin x 的近似值,请完善之。sin x=x-x3/3!+x5/5!-x7/7!+……
#include <stdio.h>
#include <math.h>
#define eps 1.0e-5
main()
{  float x,x1,y1,y2;
   int i=0;
   scanf(“%f”,&x);
   y2=x;
               ;
   do
   {  i++;
      y1=y2;
      x1=x1*             ;
      y2=y2+x1;
   }while(fabs(y2-y1)>eps);
  printf(“%f\n”,y2);
}              

4、已知方程x3+3x2–2x–1=0在[0,1]内有一实根,以下程序采用二分法(半分区间法)求出该实根并输出。请完善程序。
#include<stdio.h>
#include<math.h>
float f(float x)
{ return   -1-x*(2-x*(3+x));}                  
main( )
{  float a=0,b=1,x,eps=1e-8;
  if(fabs(f(a)*f(b))<eps)        
  { if(fabs(        )<eps)x=a;
    else   x=b;
  }
  else
  {  x=(a+b)/2;
     while(fabs(         )>eps&&fabs(b-a)>eps)        
     { if(        *f(x)>0)                           
         b=x;
       else
         a=x;
                ;                                    
     }
  }
  printf("x=%f",x);
}

5、下列程序把一个int型数转换成对应的字符串并打印出来。请完善之。
#include <stdio.h>
main()
{  int t,k,n;
   scanf("%d",&n);
   k=n;
   if(n<0)
   {   putchar(            );
      k=-n;
   }
   for(t=1;n>10;t*=10,n/=10);
   for(;t>1;             )
   {   putchar(k/t+             );
       k%=t;
   }
   putchar(k+'0');
}

6、find函数功能:在x指向的一个有序二维数组的前n行中查找值为key的数组元素,若找到则将该数组元素在二维数组中的行、列下标值分别保存到row和col指向的变量中且函数返回1,若未找到则函数返回0。已知x指向的二维数组的每一行中元素的值均从小到大顺序存储,第i行中所有元素的值均小于第i+1行中所有元素的值(i=0,1,2,3…n-1)。算法:用折半查找法定位值为key的数组元素所在行,用线性查找法在已经定位的行中查找值为key的数组元素。
#include<stdio.h>
int find(int x[][5],int n,int key,int *row,int *col)
{  int i,low=0,high=n-1,mid;
   while(low<=high)
   {  mid=             ;
      if(key>=x[mid][0]&& key<=x[mid][4])break;
      if(key<x[mid][0])
                  ;
      else if(key>x[mid][4])
        low=mid+1;
   }
   for(i=0;i<5;i++)
     if(              )
     { *row=mid;   *col=i;  return 1;}
   return 0;
}
main()
{ int a[5][5]={{1,3,4,6,9},{12,14,15,17,19},{22,23,24,26,28},
    {31,33,34,36,37},{42,44,46,47,48}},m,n,key;
  puts("input key:");  scanf("%d",&key);
  if(find(a,5,key,&m,&n))printf("%d is stored at a[%d][%d]",key,m,n);
  else printf("\n %d not found!",key);
}


附件是这个题目的原文   这里有些题目是看不了的
程序设计基础.rar (23.55 KB)


[ 本帖最后由 夏相国 于 2009-10-22 12:47 编辑 ]
搜索更多相关主题的帖子: C语言 程序设计 
2009-10-22 12:46
pgy
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:C
等 级:小飞侠
威 望:8
帖 子:1248
专家分:2329
注 册:2009-9-23
收藏
得分:10 
莫非是十月自考C试卷?

我可好玩啦...不信你玩玩^_^
2009-10-22 12:49
jiangwu10057
Rank: 7Rank: 7Rank: 7
等 级:黑侠
威 望:1
帖 子:341
专家分:667
注 册:2009-3-25
收藏
得分:10 
这里不是找答案的·
不过题目很好
我作为新手适合来作为检验
谢谢楼主·
答案啊自己想
这样才有提高··
2009-10-22 12:57
快速回复:请各位懂C语言程序设计的人帮帮忙 做这些程序设计题(急用)
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019000 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved