奥鹏作业答案-谋学网-专业的奥鹏在线作业答案辅导网【官网】

 找回密码
 会员注册

微信登录,扫一扫

手机号码,快捷登录

VIP会员,3年作业免费下 !奥鹏作业,奥鹏毕业论文检测新手作业下载教程,充值问题没有找到答案,请在此处留言!
2022年5月最新全国统考资料投诉建议,加盟合作!点击这里给我发消息 点击这里给我发消息
奥鹏课程积分软件(2021年最新)
查看: 1189|回复: 0

[谋学网首发] 石油华东 2019年4月《C语言》综合复习资料

[复制链接]
发表于 2019-3-25 20:24:31 | 显示全部楼层 |阅读模式
谋学网
《C语言》综合复习资料
一、单选
1. C语言中基本数据类型有 (   )
A)整型、实型、逻辑型       B)整型、字符型、逻辑型
C)整型、实型、字符型       D)整型、实型、字符型、逻辑型
2. 在C语言中,数字029是一个(   )
A)八进制数    B)十进制数     C)十六进制数    D)非法数
3. 在以下关于C语言的不严格的叙述中,错误的说法是(   )
A)在标识符中,大写字母和小些字母的意义相同
B)有些不同类型的变量可以在一个表达式中运算
C)在赋值表达式中等号“=”左边的变量和右边的值可以是不同类型
D)同一个运算符号在不同的场合可以有不同的含义
4. 已知 int a=4,b=5; ,这执行表达式 a=a>b 后,变量a的值为(   )
A)  0        B)1        C)  4        D)  5
5. 设有定义 int a=3,b=4,c=5; ,则以下表达式中,值为0的表达式是(   )
    A) a&&b       B) a<=b      C) a||b+c&&b-c       D) !((a<b)&&!c||1)
6. 以下不合法的赋值语句是(   )
A)x=(1,y=2);     B)++x;     C)x=y=15;      D)y=int(x);
7. 已定义c为字符型变量,则下列语句中正确的是(   )
A)c='97';     B)c="97";     C)c="a";     D)c=97;
8. 能将高级语言编写的源程序转换为目标程序的软件是(   )
A)汇编程序    B)编辑程序    C)解释程序    D)编译程序
9. 设有定义 char *p=“abcde\0fghjik\0”; 则printf(“%d\n”,strlen(p));输出结果是(   )
A) 12      B) 15       C) 6       D) 5
10.以下选项中合法的实型常数是(   )
A)  5E2.0    B)  E-3      C)  .2E0     D)  1.3E
11.以下非法的赋值语句是(   )
A)  n=(i=2,++i);     B)  j++;     C)  ++(i+1);    D)  x=j>0;
12.已定义c为字符型变量,则下列正确的赋值语句是(   )
A)c='66';      B)c="66";      C)c="B";       D)c=66;
13.设a=3,b=4,c=-5,则逻辑表达式:a || b+c&& b==c 的值是(   )
    A)1      B)0     C)非0      D)语法错
14.以下能正确定义数组并正确赋初值的语句是(   )
     A)int N=5,b[N][N];                 B)int a[1][2]={{1},{3}};
     C)int c[2][]= {{1,2},{3,4}};       D)int d[3][2]={{1,2},{34}};
15.结构化程序设计的三种基本结构是(   )
     A)顺序结构、选择结构、循环结构    B)if、switch、break
     C)for、while、do-while            D)if、for、continue
16.在一个C程序中(   )
     A)main函数必须出现在所有函数之前     B)main函数可以在任何地方出现
     C)main函数必须出现在所有函数之后     D)main函数必须出现在固定位置
17.以下合法的字符常量是(   )
A)‘\084’         B)‘ab’             C)‘\x43’                D)“\0”
18.用8位无符号二进制数能表示的最大十进制数为(   )
     A)127       B)128        C)255        D)256
19.设有定义:int  x=0,y=1,z=1;则运行表达式:x=y++>z--后,x,y,z的值分别是(   )
A) 1,1,1                B) 1,2,0                C) 0,1,1                D) 0,2,0
20.设有int x=11;则表达式(x++*1/3)的值是(   )
A) 3       B)4       C) 11       D) 12
21.若有: int x=1,n=5; 则执行语句x%=(n%2)后,x的值为(   )
A) 3      B)2      C) 1      D) 0
22.结构化程序的3种基本控制结构是(   )
A)  if-else结构、while结构、for结构      B)  顺序结构、分支机构、循环结构
C)  while结构、do-while结构、for结构     D)  以上三种都不对
23.下面程序段的输出结果是(   )
int k=11;
printf(“%d,%o,%x”,k,k,k);
A)11,12,11      B)11,13,13      C)11,013,0xb      D)11,13,b
24.在微型计算机系统中,存储一个汉字的国标码所需要的字节数是(   )
A)  1      B)  2       C)  3     D)  4
25.以下非法的赋值语句是(   )
A)  n=(i=2,++i);     B)  j++;     C)  ++(i+1);    D)  x=j>0;
26.语句:printf("%d",(a=2)&&(b=-2)); 的输出结果是(   )
A)无输出       B)结果不确定      C) 1       D) 2
27.设有定义语句:charstr[][20]={"Hello","Beijing"},*p=str; (   )
则printf("%d\n",strlen(p+20)); 输出结果是
A)0      B)5       C)7      D)20
28.以下选项中,与k=++n完全等价的表达式是(   )
A)  k=n,n=n+1    B)  n=n+1,k=n     C)  k=++n     D)  k+=n+1
二、读程序,写出程序执行结果
1. #include <stdio.h>
void main()
{  int a=10,b=0;
if(a==12)
      {a++; b++; }
else
{ a=a+3 ; b=b+3;}
printf(“%d,%d\n”,a,b);
}
2. #include <stdio.h>
void main()
{ ints,i;
for(s=0,i=1;i<5;i++,s+=i) ;
printf(“%d\n”,s);
}
3. #include “stdio.h”
void main()
{  char n=‘c’;
switch(n++)
{  default: printf(“error!”); break;
case ‘a’: case ‘A’:
case ‘b’: case ‘B’: printf(“good!”);break;
case ‘c’: case ‘C’: printf(“pass!”);
case ‘d’: case ‘D’: printf(“warm!”);
}
}
4. #include <stdio.h>
void main()
{ int k=4,n=0;
for( ; n<k ; )
{  n++;
if(n%3!=0) continue;
k- -;
}
printf("%d,%d\n",k,n);
}
5. #include <stdio.h>
int f(int b[],intm,int n)
{ inti,s=0;
for(i=m;i<=n;i+=2) s+=b[i];
return s;
}
void main()
   { intx,a[]={1,2,3,4,5,6,7,8,9,10};
     x=f(a,3,8);
printf(“%d\n”,x);
}
6. #include <stdio.h>
voidcopy_str(char  from[ ],char to[ ])
{  int  k=0;
while(from[k]!=‘\0’)
{        to[k]=from[k];        k++;    }
      to[k]=‘\0’;      /*末尾加上串结束标志*/
}
void main()
{  char  str1[80]=”red”,str2[80]=”green”;
        copy_str (str1,str2);
          puts(str2);
}
7.  #include <stdio.h>
int d=1;        
void fun(int p)
{ int d=5;
d+=p++;
printf(“%d”,d);
}
void main()
{ int a=3;
fun(a);   d+=a++;
printf("%d\n", d);  
}
8.        #include <stdio.h>
void main()
{         int i,j;
for(i=0; i<3;i++)
{
for(j=0; j<=i;j++)
printf("*");
printf("\n");
}
}
9. #include <stdio.h>
void main()
{ inti;
for (i=0; i<3; i++)
switch (i)
{ case 1: printf("%d ", i);
case 2: printf("%d ", i);
default :printf("%d ", i);  
}  
}
10. #include <stdio.h>
intws(int  x)
    {         if(x/100>0)
           return(3);
        else if(x/10>0 )
           return(2);
else
           return(1);
   }
void main()
    {         int  a=123;
        printf("%d是%d位数\n",a,ws(a));
}
11. #include <stdio.h>
#include <string.h>
void main()
{          char  a[10]="abc";
char  b[]="defg";
        puts(a);
    puts(b);
        puts(strcat(a,b));
}
12.#include <stdio.h>
        void main()
        {        int  i,n[]={1,2,3,4,5};
for(i=0;i<2;i++)
{        n[i]=n[4-i]+1;
                        printf("%d ",n[i]);
}
for(i=0;i<5;i++)
                        printf("%d ",n[i]);
        }
13.#include <stdio.h>
void main()
{ int a[3][4]={{1,2,3,4},{9,7,10,6},{-1,8,-5,5}};
int i,j,row=0,colum=0,max;
        max=a[0][0];
         for(i=0;i<=2;i++)
                for(j=0;j<=3;j++)
                        if(a[i][j]>max)
                        {        max=a[i][j];
                                row=i;
                                colum=j;
                        }
        printf("max=%d,row=%d,colum=%d",max,row,colum);
}
14.#include <stdio.h>
voidcopy_str(char  from[ ],char to[ ])
{   int  k=0;
while(from[k]!= ‘\0’)
{        to[k]=from[k];        k++;    }
to[k]=‘\0’;  /*末尾加上串结束标志*/
}
void main()
{          char  str1[80]= "good",str2[80]= "abcdef";
        copy_str(str1,str2);
        puts(str2);
}
15.  #include <stdio.h>
void main()
{ int a=0;
      a+=(a=8);
printf(“%d\n”,a);
}
16.  #include <stdio.h>
void main()
{ int x=4;
if(x++>=5)
printf(“%d\n”, x) ;
else
printf(“%d\n”, x--) ;  
}
17. #include <stdio.h>
   #define MAX(a,b)  (a>b ? a : b)+1
   void main()
   { int i=6,j=8;
     printf(“%d\n”,MAX(i,j));
}
18.#include <stdio.h>
void main()
{ int i,j,m=0,n=0,k=0;
for(i=6; i<=9;i++)
    for(j=2; j<=3;j++)
                switch(i%j )
                {   case 0: m++; break;
                        case 1: n++; break;
                        case 2: k++; break;
                        default: k++;n++;m++;
         }
printf("%d %d %d\n",m,n,k);
}
19. #include <stdio.h>
void main()
{  inti;
for(i=1;i<5;i++)
{  if(i%2)
putchar(‘<’);
else
continue;
putchar(‘>’);
}
putchar(‘#’);
}
20.        #include <stdio.h>
        void main()
        {        int  i,n[]={1,2,3,4,5};
for(i=0;i<2;i++)
{        n[i]=n[4-i]+1;
                        printf("%d ",n[i]);
}
for(i=0;i<5;i++)
{        printf("%d ",n[i]);
}
        }
21. #include <stdio.h>
int m=13;        
     int fun(int x,int y)
{ int m=3;
  return(x*y-m);
}
void main()
     { int a=7, b=5;
        printf("%d\n", fun(a,b)/m);
}
22. #include <stdio.h>
void main()
{ int n=2;
printf(“%d,%d,%d\n”, ++n , n+=2 , --n) ;  
}
23.  #include <stdio.h>
void main()
{ int x=1,a=0,b=0;
switch(x)
{ case 0: b++;
case 1: a++;
case 2: a++;b++;
   }
printf(“a=%d,b=%d\n”,a,b);
}
24.  #include <stdio.h>
void main()
{ ints,t,a=-2,b=6;
     s=t=1;
if(a>0) s=s+1;
if(a>b) t=s+t;
else if(a==b) t=5;
else t=2*s;
printf("t=%d ", t);  
}
25.  #include <stdio.h>
#define  S(a,b)    (a)*(b)
void        main()
{  int a=3 ,area;
area=S(a,a+3) ;
printf("area=%d\n",area);
}
26.  #include <stdio.h>
void main()
{ inti=0,a=0;
while(i<20 )
{  for(;;)
if((i%10)==0) break;
elsei--;
i+=11;
a+=i;
}
printf("%d\n",a);
}
27.  #include <stdio.h>
void  main()
{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}};
inti,s=0 ;
for(i=0;i<4;i++) s+=aa[i][2];
printf(“%d\n”,s);  
}
28. #include <stdio.h>
fun(int a, int b)
{ if(a>b) return(a);
else return(b);
}
void main()
{ int x=3, y=8, z=6, r;
r=fun(fun(x,y), 2*z);
printf("%d\n", r);
}
三、编程题
1. 设有分段函数:
x           (x<1)
Y=      2x-1        (1≤x<10)     写一程序,输入 x,输出 y 的值。
3x-11       (x≥10)
2.编程任意输入两个实数a和b,计算下面函数的值,并输出y值。
           a-b       a>b
y=             a<b
a*b       a=b

3.编程序求如下分段函数的值

4.写一个判断素数的函数。要求在主函数中输入一个整数并输出相应的判断信息。
5.编程序计算 s=1!-2!+3!-4!+ …… -10!,并输出结果。
6.编写一个函数,将一个字符串(最多80个字符)中的大写字母变为小写字母,小写字母变为大写字母。要求字符串的输入与输出在主函数中完成。
7.编程计算:s=1+12+123+1234+12345+123456 (必须用循环控制语句实现)
8.编写函数change使输入的字符串按反序存放,在主函数中输入和输出字符串。
例如输入是:12345abcde,则输出为:edcba54321
9.编程,在N×N矩阵中(即N行N列的数组),求主对角线和次对角线上的各元素之和。
10.10个评委给出某选手打分,编程实现去掉一个最高分和一个最低分,求最后得分(平均分)














《C语言》综合复习资料参考资料
一、        单选题
题号        1        2        3        4        5        6        7        8        9        10
资料        C        D        A        A        D        D        D        D        D        C
题号        11        12        13        14        15        16        17        18        19        20
资料        C        D        A        C        A        B        C        C        D        A
题号        21        22        23        24        25        26        27        28               
资料        D        B        C        B        C        C        C        B               
二、读程序写出程序执行结果题
1、13,3
2、14
3、pass!warm!
4、3,3
5、18
6、red
7、84
8、

*
**
9、011122
10、123是3位数
11、
abc
defg
abcdefg
12、6565345
13、max=10,row=1,colum=2
14、good
15、16
16、5
17、9
18、4 3 1
19、<><>#
20、6565345
21、2
22、4,3,1
23、a=2,b=1
24、t=2
25、area=18
26、32
27、29
28、12
三、编程题
1. 设有分段函数:
x           (x<1)
Y=      2x-1        (1≤x<10)     写一程序,输入 x,输出 y 的值。
3x-11       (x≥10)
#include <stdio.h>
void main()
{
intx,y;
printf(“输入x:”);
scanf(“%d\n”,&x);
if(x<1)
   {y=x;
printf(“x=%3d,y=x=%d\n”,x,y);
}
else  if(x<10)
{y=2*x-1;
printf(“x=%3d,y=2*x-1=%d\n”,x,y);
}
else
{y=3*x-11;
printf(“x=%3d,y=3*x-11=%d\n”,x,y);
}
}
2.编程任意输入两个实数a和b,计算下面函数的值,并输出y值。
            a-b       a>b
y=                 a<b
a*b       a=b
#include <stdio.h>
void main()
{
floata,b,y;
scanf(“%f,%f”,&a,&b);
if(a<b)
y=a/b;
else
if(a==b)y=a*b;
else y=a-b;
printf(“y=%f\n”,y);
}
3.编程序求如下分段函数的值

#include<stdio.h>
#include<math.h>
void main()
{
floatx,y;
scanf(“%d”,&x);
if(x<=0)
y=fabs(x)+3;
else if(x<1&&x>=0)
{y=1+x*x;}
else
{y=2*x+sqrt(x);
printf(“x=%f,y=%f\n”,x,y);
}
4.写一个判断素数的函数。要求在主函数中输入一个整数并输出相应的判断信息。
#include <stdio.h>
void main()
{intn,i;
printf(“please enter a integer number,n=?”);
scanf(“%d”,&n);
for(i=2;i<=n-1;i++)
if(n%i==0)break;
if(i<n) printf(“%d is not a prime number.\n”,n);
elseprintf(“%d is a prime number.\n”,n);
}
求素数的问题方法有很多,同学们可以到教材或网络上进行查找学习。
5.编程序计算 s=1!-2!+3!-4!+ …… -10!,并输出结果。
#include <stdio.h>
void main()
{inti,k=1,njie=1;
float sum=0;
for(i=1;i<=10;i++)
{njie=njie*i;
sum=sum+njie*k;
k=-1*k;
     }
printf("%f\n",sum);
}
6.编写一个函数,将一个字符串(最多80个字符)中的大写字母变为小写字母,小写字母变为大写字母。要求字符串的输入与输出在主函数中完成。
#include <stdio.h>
void main()
{
inti;
char a[80];
gets(a);
puts(a);
for(i=0;i<80;i++)
if(a[i]>=65&&a[i]<=90)
a[i]=a[i]+32;
puts(a);
}
7.编程计算:s=1+12+123+1234+12345+123456 (必须用循环控制语句实现)
#include <stdio.h>
void main()
{
longint t=0,s=0,i;
for(i=1;i<=6;i++)
{t=i+t*10;s=s+t;}
printf(”s=%ld\n”,s);
}
本题请注意s数据类型的定义。
8.编写函数change使输入的字符串按反序存放,在主函数中输入和输出字符串。例如输入
是:12345abcde,则输出为:edcba54321
void main()
{
   char a[100];
   gets(a);
   change(a);
   puts(a);
}  
#include<stdio.h>
#include<string.h>
void change(char a[])
{
inti,j,k;
  char temp;
  k=strlen(a);
  for(i=0;i<k;i++)
  for(j=i+1;j<k;j++)
  {
    temp=a[i];
    a[i]=a[j];
    a[j]=temp;
   }
}
9.编程,在N×N矩阵中(即N行N列的数组),求主对角线和次对角线上的各元素之和。
#define N 10;
main()
{
inti,j;
int a[N][N];
int sum=0;
for(i=0;i<N;i++)
for(j=0;j<N;j++)
scanf("%d",&a[i][j]);
for(i=0;i<N;i++)
for(j=0;j<N;j++)
if(i==j||(i+j==N))//i==j是判断是否主对角线的元素i+j==N 是判断是否是次对角线的元素sum+=a[i][j];
printf("%d",sum);
}
10.10个评委给出某选手打分,编程实现去掉一个最高分和一个最低分,求最后得分(平均分)
#include <stdio.h>
int main()
{   
int a[10],i,max,min;
float sum;
for(i=0;i<10;i++ )
{
scanf("%d",&a[i]);
}
max=a[0];
min=a[0];
for(i=1;i<=9;i++)
{
if(max<a[i])
max=a[i];
else if(min>a[i])
min=a[i];
}
for(i=0;i<=9;i++)
{sum=sum+a[i];}
sum=(sum-max-min)/8;
printf("%f\n",sum);
}
}
奥鹏作业答案,奥鹏在线作业答案
您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

 
 
客服一
客服二
客服三
客服四
点这里给我发消息
点这里给我发消息
谋学网奥鹏同学群2
微信客服扫一扫

QQ|关于我们|联系方式|网站特点|加入VIP|加盟合作|投诉建议|法律申明|Archiver|小黑屋|奥鹏作业答案-谋学网 ( 湘ICP备2021015247号 )

GMT+8, 2024-6-28 23:35 , Processed in 0.100574 second(s), 18 queries .

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

快速回复 返回顶部 返回列表