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

 找回密码
 会员注册

微信登录,扫一扫

手机号码,快捷登录

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

16春北京大学《C程序设计》作业资料

[复制链接]
发表于 2016-4-8 10:43:40 | 显示全部楼层 |阅读模式
谋学网
2016年春季学期《C语言程序设计》作业


作业提交格式要求:请同学们把资料集中单独写在一个.doc文档中,作为附件上传(不要把资料直接填写在目的空中)。特规定格式如下:
一、  ABCDD AAAAA
二、
题号        1        2        3        4        5        6        7        8        9        10
结果        ∨        ∨        ∨        ∨        ╳        ╳        ╳        ╳        ╳        ╳
三、
(1)  BeiJing
    ShangHai
(2)  x=8,y=7
(3)  r=k:i+j=90
……
以上只是举例,不是正确的输出结果。请按上述规定书写和提交作业结果,不符合以上规定的作业将作为0分处理。
鼓励独立完成作业,严惩抄袭。

第一章作业
一、将数89、20.25、40.875用十六进制表示
二、填空
1.在C语言中,数值常量0x3b的十进制值是         。
2.字母f的ASCII码为十进制数___________。
资料来源(谋学网www.mouxue.com)作业
一、选择题:
1、下列变量名中,       是非法的。
   A) Tom    B) 3n   C) little_boy      D) c10
2、若有以下类型说明
        char a;        int b;        float c;        double d;则表达式a*b+d-c的结果类型是(  )
        A)float                B)char                C)int         D)double
3、若x为整型,则逗号表达式(x=4*5,x*5),x+25的结果及x的值分别是(        )
        A)45        20        B)125        20        C)125        45        D)100        100
4、假设所有变量均为整型,则表达式(a=3,b=2,b++,a+b)的值是   。
   A) 5          B) 8       C) 6           D)7
5、已知c2为字符型,则执行语句c2=’E’+’8’-‘A’后,c2的值为     。
   A) 12        B) 11      C)不确定的值   D) 10
6、设a为double变量,b为int型变量,c为字符型变量,则a+b+c为(    )型
  A) int        B) float    C) double        D) char
7、C语言中不可用作标识符的字符有(    )
  A 下划线                    
B %
C 数字            
D 字母
8、下面四个选项中,均是合法整型常量的是(        )
        A)160                                B)- 0xcdf                        C)- 01                                D)0x
                - 0xffff                                01a                                   0668                                   2e5
9、设a为字符变量,b为int型变量,c为double型变量,则a*b+c为(    )型
  A. int                       
B. float  
C. double              
D. char
10.  若a是int型变量,则表达式(a=4*5,a*2),a+4的值为(   )
A. 20        B.22          C. 24         D. 44   


第四章作业
一、选择题
1、若x为int型变量,则执行以下语句后x=      。
x=5;
x-=x-=x+x;
A. -10           B. -5        C.0      D.10
2、在printf()函数的格式说明符中,字符型数的输出格式说明符是       。
A. %s            B. %f           C. %ld        D. %c
3、        已知ch是字符型变量,下面不正确的赋值语句是      。
A) ch=’7’+’9’; B) ch=’\0’;  C) ch=’x+y’;  D) ch=5+9;
4、要使用putchar()函数必须在程序前加语句      。
A. #include <stdio.h>      
B. include <stdio.h>
C. include "stdio.h"
D. #include 'stdio.h'
5、在scanf()函数的格式说明符中,长整型数的输入格式符是       。  
A. %lf            B. %ld          C. %f        D. %x

二、资料来源(谋学网www.mouxue.com
1、        C语言标准输入操作中,gets()函数一次只可以读取一个字符。( )
2、        C语言标准输出操作中,putchar()函数可以输出显示一个字符串。( )
3、        "a"与'a'是不同的; (  )

三、分析下列程序的输出结果。
1.
#include <stdio.h>
void main()
{
char c=’m’;
printf(“%c,%d\n”,c,c);
printf(“%d,%c\n”,’c’,’c’);
}


2.
#include <stdio.h>
void main()
{
int a;
float d;
printf(“Enter a and d: ”);
scanf(“%d%f”,&a,&d);
printf(“%5d,%8.2f\n”,a,d);
}
Enter a and d: 70    80.158 ↙
第五章作业
一、        选择题。
1、逻辑运算符两侧的运算对象的数据(        )
A)        只能是0和1
B)        只能是0或非0正数
C)        只能是整型或字符型数据
D)        可以是任何类型的数据
2、判断char型变量ch是否为大写字母的正确表达式是       。
A. ‘A’<=ch<=’Z’                 B. (ch>=’A’) && (ch<=’Z’)
C. (ch>=’A’)& (ch<=’Z’)          D. (‘A’<=ch) AND (‘Z’>=ch)
3、执行以下程序段后, b=       。
        int a=5,b=6,c=1,x=2,y=3,z=4;
        c=(a=c>x)&&(b=y>z);
A. 6          B. 0         C. 1          D.4
4、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是    。
  if (x>y)
  z=x;x=y;y=z;
A. x=20,y=30,z=30               B. x=10,y=20,z=30
C. x=20,y=30,z=10               D. x=20,y=30,z=20
5、设a=3,b=4,c=5,则表达式 !(a+b)+c-1&&b+c/2 的值为(   )
A. 0           B. 1          C. 4          D. 6.5

二、        填空题。
1、以下程序
        main()
        {
     int x1=3,x2=0,x3=0;
         if(x1=x2+x3)                printf(“****”);
         else                        printf(“####”);
}
输出       。
2、  10 != 2 + 8 || 5 < 4 && 3 > 9/4的结果是       。
3、设x为int型变量,表示某一年份,请写出描述“x是闰年”的表达式       。
4、整型变量 y 能被 3 整除但不能被 4 整除       。
三、        程序填空题。请在【】中填上正确内容。
1、该程序实现输出x,y,z三个数中的最大者。
main()
{int x=4,y=6,z=7;
int 【1】;
if (【2】) m=x;
else m=y;
if (【3】) n=m;
else n=z;
printf(“n=%d”,n);
}                        

2、输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变;
main()
{ char ch;
  scanf(“%c”,&ch);
  if (【1】) ch=ch+32;
else  if (ch>=’a’ && ch<=’z’ )  【2】;
printf(“%c”,ch);
}                          
第六章作业
一选择题。
1、设有程序段
        int x=10;
        while(x=0) x=x-1;
        则下面描述正确的是(        )。
        A)while循环执行10次                                        B)循环是无限循环
        C)循环体一次也不执行                                        D)循环体只执行一次
2、对for(表达式1; ;表达式3)可理解为         。
A. for(表达式1;0 ;表达式3)            B. for(表达式1;表达式1;表达式3)
C. for(表达式1;1 ;表达式3)            D. for(表达式1;表达式3;表达式3)
3、语句while(!y);中表达式!y等价于(        )
        A)y= =0                        B)y!=1                        C)y!=0                        D)y= =1
4.下述关于break语句的描述中,(  )是不正确的。
A. break语句可用于循环体内,它将退出该重循环;
B. break语句可用于开关语句中,它将退出开关语句;
C. break语句可用于if体内,它将退出if语句;
D. break语句在一个循环体内可以出现多次;
5.执行以下程序时,从键盘输入2473↙(↙表示回车),则下面的程序的运行结果是(   )
#include <stdio.h>
main( )
{  int c ;
while((c=getchar( ))!= ’\n’)
  switch(c-'2')
  { case 0:
    case 1:  putchar(c+4);
    case 2:  putchar(c+4);break;
    case 3:  putchar(c+3);
    default: putchar(c+2);break;
}
}
A. 668966       B. 6688766       C. 668977      D. 66778777
二资料来源(谋学网www.mouxue.com
1、While循环语句的循环体至少执行一次。(  )
2、任何循环语句的循环体至少都可执行一次。( )
3、break语句可以出现在各种不同循环语句的循环体中。( )
4、for循环是只有可以确定的循环次数时才可使用,否则不能用for循环。(  )
5、条件语句是可以实现多路分支的。( )
三填空题
1.已知 for(j=1,s=0;j<=5;j+=2)  s=s+j; 执行循环后,s的值是      _   。
2. 执行以下程序段后,y=      _  ,x=      _  。
        int x=1,y=10;
        do{
      y-=x;
          x++;
        }while(y--<0);

四程序填空题
1下面程序段的功能是将字符串s中所有的字符c删除,请填空.
        main()
        {
         char s[80];
         int I,j;
         gets(a);
         for(i=0,j=0;s!=’\0’;i++)
           if(s!=’c’)   (        【1】        ) ;
          s[j]=’\0’;
         puts(s);
        }

第七章作业
一、选择题
1、以下能对二维数组正确初始化的是(        )
A)        int y[2][ ]={{1,0,1},{5,2,3}}
B)        int y[ ][3]= {{1,0,1},{5,2,3}}
C)        int y[2 ][4]= {{1,0,1},{5,2},{3}}
D)        int y[ ][3]= {{1,0,1,0},{ },{5,2}}
2、若二维数组y有m列,则在y[j]前的元素个数为(        )
        A  j*m+I                        B  i*m+j                        C  i*m+j-1                        D  i*m+j+1
3、已知 int w[2][4]={7,15,8,9,20,25,14,17};则 w[0][1]的值是         
A 8       B.9       C. 15      D. 25
4、若有说明 int a[][3]={1,2,3,4,5,6,7, 8};则a数组第一维的大小是    。
A. 2          B无确定值    C. 3             D. 4
5、若有说明 int a[][4]={{1, 2, 3}, {4, 5}, {}};则a数组第一维的大小是    。
A. 2          B无确定值    C. 3             D. 语法错误
6、下面程序的运行结果是      。
char c[6]={‘a’,’b’,’c’, ’\0’,’c’,’\0’};
printf(“%s”,c);
A. ‘a’’b’       B. abc          C. ab  c         D. ab
7、判断字符串a和b是否相等,应当使用     。
A. if (a= =b)    B. if (a=b)      C. if (strcpy(a,b))        D. if (strcmp(a,b))
8、用数组名作为实参,传给形参的是(   )
A.数组第0个元素的值      
B.数组全部元素的值
C.数组元素个数            
D.数组首地址
9、以下能正确读入字符串的是(                )
A.char *p;scanf(“%s”,p);
B.char str[10]; scanf(“%s”,&str);
C.char str[10],*p;p=str; scanf(“%s”,p);
D.char str[10],*p=str; scanf(“%s”,p[1]);
10、已知 char c[6]="ABCDE", d[6];要将c复制到d中,正确的做法是(   )
A. d=c;   
B. c=d;      
C. strcmp(c,d);
D. strcpy(d,c);
二、分析下面程序的结果。
main ( )
{ int i,j,s1=0,s2=0 ,a[3][3]={ 4,9,6,5,3,1,2,8,7};
  printf("a:\n");
  for(i=0; i<3; i++)
{ for(j=0;j<3;j++)  printf("%3d",a[j]);
  printf("\n");
}
      printf("\n");
      for(i=0; i<3; i++)
        { s1=s1+a;
          s2+=a[2-i];
        }
      printf("s1=%d, s2=%d\n",s1,s2);
}
   
第八章作业
一、选择题
1. 在C语言中,当函数调用时(   )。
A. 实参和形参各占一个独立的存储单元
B. 实参和形参共用存储单元
C. 可以由用户指定实参和形参是否共用存储单元
D. 由系统自动确定实参和形参是否共用存储单元
2. 以下函数调用语句中实参的个数为(   )。
exce((v1,v2),(v3,v4,v5),v6);
        A. 3                        B. 4                        C. 5                        D. 6
3. 如果在一个函数的复合语句中定义了一个变量,则该变量(   )。
A. 只在该符合语句中有效,在该符合语句外无效
        B. 在该函数中任何位置都有效
        C. 在本程序的原文件范围内均有效
        D. 此定义方法错误,其变量为非法变量
4. C语言规定,函数返回值的类型是由(   )。
A. return语句中的表达式类型所决定
B. 调用该函数时的主调函数类型所决定
C. 调用该函数时系统临时决定
D. 在定义该函数时所指定的函数类型决定
5. 在C语言程序中,以下描述正确的是(   )。
A. 函数的定义可以嵌套,但函数的调用不可以嵌套
B. 函数的定义不可以嵌套,但函数的调用可以嵌套
C. 函数的定义和函数的调用均不可以嵌套
D. 函数的定义和函数的调用均可以嵌套
二、写出程序的输出结果
1.
void main(void)
        {
          int a=1,k;
          for(k=0;k<3;k++) printf("%4d",f1(a));
        }
     int f1(int x)
        {
          static int z=3,y=0;
          y++;
          z++;
          return(x+y+z);
        }

第十章作业
一、        选择题。
1.若有以下定义和语句,且0≤i<10则对数组元素的错误引用是(   )。
int a[10]={1,2,3,4,5,6,7,8,9,10},*p,i;
p=a;
A. *(a+i)          B. a[p-a]            C. p+i             D. *(&a)
2.若有定义:int a[3][4]; ,(   )不能表示数组元素a[1][1]。
        A. *(a[1]+1)        B. *(&a[1][1])       C. (*(a+1) ) [1]     D. *(a+5)
3.对如下定义,以下说法中正确的是(   )。
        char *a[2]={ "abcd","ABCD"};
        A.数组a的元素值分别为"abcd"和"ABCD"
        B.a是指针变量,它指向含有两个数组元素的字符型数组
        C.数组a的两个元素分别存放的是含有4个字符的一维数组的首地址
        D.数组a的两个元素中各自存放了字符’a’、’A’的地址
4.char *s="\t\\Name\\Address\n";指针s所指字符串的长度为:(   )。
        A. 说明不合法        B. 19          C. 18         D. 15
5.分析下面函数,以下说法正确的是(   )。
                swap(int *p1,int *p2)
                { int *p;
                  *p=*p1; *p1=*p2; *p2=*p;
                }
        A. 交换*p1和*p2的值            B. 正确,但无法改变*p1和*p2的值
        C. 交换*p1和*p2的地址          D. 可能造成系统故障,因为使用了空指针
6.设有说明int (*ptr)[M]; 其中ptr是(   )。
        A. M个指向整型变量的指针
        B. 指向M个整型变量的函数指针
        C. 一个指向具有M个整型元素的一维数组的指针
        D. 具有M个指针元素的一维指针数组,每个元素都只能指向整型量
7.在说明语句:int *f(); 中,标识符代表的是:(   )。
        A. 一个用于指向整型数据的指针变量        B. 一个用于指向一维数组的指针
        C. 一个用于指向函数的指针变量                D. 一个返回值为指针型的函数名
8.若int x ,*pb; ,则正确的赋值表达式是(   )。
        A. pb=&x       B. pb=x;    C. *pb=&x; D. *pb=*x
9.有如下程序段
                int *p ,a=10 ,b=1 ;
                p=&a ; a=*p+b ;
        执行该程序段后,a 的值为(   )。
        A. 12        B. 11        C. 10           D. 编译出错

二、        填空题。
1、单目运算符&后跟变量名,表示是该变量的       ,单目运算符*后跟指针名,表示该指针的      。   
2、指针用来存放某个变量的       。
3、已知:char *c=”good”;则printf(“%s\n”,c)输出为         ,printf(“%s\n”,c+1)输出为          。
4、若有定义:int a[10],*p=a;则*(p+5)表示         的值。
5、若有定义:int* p;则*p表示______________ 。
三、        程序填空题
下面程序的功能是将八进制正整数组成的字符串转换成十进制整数,请填空。
#include "stdio.h"
main()
{
char *p,s[6];
int n;
p=s;
gets(p);
n= 【1】 ;
while(  【2】 !='\0')
   n=n*8+*p-'0';
printf("%d\n",n);
}

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?会员注册

×
奥鹏作业答案,奥鹏在线作业答案
发表于 2016-4-8 10:53:40 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

发表于 2016-4-8 10:53:40 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

发表于 2016-5-7 14:45:09 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

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

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

GMT+8, 2024-4-25 14:14 , Processed in 0.324833 second(s), 24 queries .

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

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