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

 找回密码
 会员注册

微信登录,扫一扫

手机号码,快捷登录

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

北京大学15秋《C程序设计》在线作业资料

[复制链接]
发表于 2015-10-24 21:20:28 | 显示全部楼层 |阅读模式
谋学网
2015年秋季学期《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分处理。
鼓励独立完成作业,严惩抄袭。

第一章作业
一、将数213、12.75、79.375用十六进制表示
二、填空
1.在C语言中,数值常量0x9f的十进制值是         。
2.字母a的ASCII码为十进制数___________。
第二章作业(1)
一、选择题:
1、下列变量名中,       是非法的。
   A) MyCar    B) 4a   C) my_car      D) a48
2、下列变量名中,       是合法的。
   A) 56A       B) _abc     C) 48b         D) while
3、下列常量中,      是十六进制表示的int型常量。
   A) 78        B) 0x7a     C) x56         D) 063
4、假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是   。
   A) 7          B) 8       C) 6           D)2
5、已知c2为字符型,则执行语句c2=’A’+’6’-‘3’后,c2的值为     。
   A) ‘C’        B) ‘D’      C)不确定的值   D) 70
6、设a为整型变量,b为字符型变量,c为double型变量,则a+b+c为(    )型
  A) int        B) float    C) double        D) char
7、C语言中不可用作标识符的字符有(    )
  A 字母                    
B 数字
C %            
D下划线   
8、设int a;则表达式a=2,4,a+1的值是(      )
  A.1                                                              
B.2
  C.3                                                              
D.4
9.设a为整型变量,b为字符型变量,c为double型变量,则a*b+c为(    )型
  A. int                       
B. float  
C. double              
D. char
10.  若a是int型变量,则表达式(a=4*5,a*2),a+6的值为(   )
A. 20        B.23          C. 26         D. 46   


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

二、判断题
1、        C语言标准输入操作中,gets()函数一次只可以读取一个字符。( )
2、        C语言标准输出操作中,putchar()函数可以输出显示一个字符串。( )
3、        "r"与'r'是相同的; (       )

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


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: 56    15.765 ↙
第四章作业
一、        选择题。
1、下列运算符中优先级最高的是       。
A. <          B. +         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、设有:int a=1,b=2,c=3,d=4,m=2,n=2;
   执行(m=a>b) && (n=c>d)后n的值为     。
A. 1          B.2           C. 3           D. 4
4、已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是    。
  if (x>y)
  z=x;x=y;y=z;
A. x=10,y=20,z=30               B. x=20,y=30,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、当a=3,b=2,c=1时,表达式f=a>b>c的值是      。
2、当a=5,b=4,c=2时,表达式a>b!=c的值是       。
3、  15 != 8 + 7 || 4 < 5 && 3 > 9/4的结果是       。
4、设y为int型变量,请写出描述“y是奇数”的表达式       。
5、整型变量 X 能被 100 整除但不能被 400 整除       。
三、        程序填空题。请在【】中填上正确内容。
1、该程序实现输出x,y,z三个数中的最大者。
main()
{int x=4,y=6,z=7;
int 【1】;
if (【2】) u=x;
else u=y;
if (【3】) v=u;
else v=z;
printf(“v=%d”,v);
}                        

2、输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变;
main()
{ char ch;
  scanf(“%c”,&ch);
  if (【1】) ch=ch+32;
else  if (ch>=’a’ && ch<=’z’ )  【2】;
printf(“%c”,ch);
}                          
第五章作业
一选择题。
1、下面程序段的运行结果是        。
int n=0;
while (n++<=2)  ;   printf(“%d”,n);
A. 2        B. 3         C. 4         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、以下正确的描述是       。
A.        continue语句的作用是结束整个循环的执行
B.        在循环体内使用break语句或continue语句的作用相同
C.        只能在循环体内和switch语句体内使用break语句
D.        从多层循环嵌套中退出时,只能使用goto语句
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
二判断题
1、条件语句是可以实现多路分支的。( )
2、任何循环语句的循环体至少都可执行一次。( )
3、break语句可以出现在各种不同循环语句的循环体中。( )
4、for循环是只有可以确定的循环次数时才可使用,否则不能用for循环。(  )
5、While循环语句的循环体至少执行一次。(      )
三填空题
1.已知 for(j=1,s=0;j<=9;j+=2)  s=s+j; 执行循环后,s的值是      _   。
2. while循环是先判断表达式,如果为________,执行循环体,然后再判断表达式,直到表达式为假,退出循环 。

四程序填空题
1下面程序的功能是计算1-3+5-7+……-99+101的值
#include <stdio.h>
main()
{  int i,t=1,s=0;
  for (i=1;i<=101;i+=2)
  {【1】;  s=s+t;  【2】;}
printf(“%d\n”,s);
}            
2下面程序的功能是打印100以内个数为6且能被3整除的所有数。
#include <stdio.h>
main()
{int i,j;
for (i=0; 【1】;i++)
{j=i*10+6;
if (【2】)   continue;
printf(“%d”,j);
}
}     
第六章作业
一、选择题
1、在C语言中,引用数组元素时,其数组下标的数据类型允许是      。
A.整型常量                    B. 整型表达式
C.整型常量或整型表达式        D. 任何类型的表达式
2、以下能对一维数组a进行正确初始化的语句是     。
A. int a[10]=(0,0,0,0)              B. int a[10]={};
C. int a[]={0};                    D.int a[10]={10*1};
3、若有说明:int a[3][4];则对a数组元素的正确引用是      。
A. a[2][4]      B. a[1,3]      C. a[1+1][0]      D. a(2)(1)
4、已知 int w[2][4]={7,15,8,9,20,25,14,17};则 w[0][1]的值是         
A 8       B.9       C. 15      D. 25
5、若有说明 int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是    。
A. 2          B无确定值    C. 3             D. 4
6、下面程序的运行结果是      。
char c[5]={‘a’,’b’,’\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、用double q[3][5]; 定义的数组 q 包含     个元素
    A. 3          B5     C. 8             D. 15
10、已知 char c[6]="ABCDE", d[6];要将c复制到d中,正确的做法是(   )
A. d=c;   
B. c=d;      
C. strcmp(c,d);
D. strcpy(d,c);
二、判断题
1、数组赋初值时,初始值表中的数据项的数目可以大于或等于数组元素的个数。(        )
2. 数组中的元素类型可以不同;(      )
3. 字符串"This"大于字符串"that";(      )
4. 任何数组的下标都是从0开始;(     )
5.符数组中的一个元素存放一个字符;(      )
三、程序填空题。
invstring(char a[ ])函数的功能是使输入的一个字符串按逆序存放,在主函数中输入和输出字符串。
请填空【?】。
void invstring(char a[ ])
{ int n,j; char c;
  n=0;                       填空:
  while(a[n]!= 【1】) n++;      【1】              
  for( j=0; j<【2】; j++)         【2】              
    {c=a[j]; 【3】; 【4】;}    【3】              
}                             【4】              
main( )
  { char a[80];
    gets(a);
    invstring(【5】);            【5】              
    puts(a);
    puts("\n");
  }
四、分析下面程序的结果。
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[i][j]);
  printf("\n");
}
      printf("\n");
      for(i=0; i<3; i++)
        { s1=s1+a[i][i];
          s2+=a[i][2-i];
        }
      printf("s1=%d, s2=%d\n",s1,s2);
}
   
第七章作业
一、选择题
1.在C语言中,下面对函数不正确的描述是(    )。
A. 当用数组名作形参时,形参数组值的改变可以使实参数组之值相应改变。
B. 允许函数递归调用。
C. 函数形参的作用范围只是局限于所定义的函数内。
D. 子函数必须位于主函数之前。
2. 以下正确的函数形式是(   )。
A. double fun(int x,int y) { z=x+y; return z;}
B. fun(int x,y) { int z; return z;}
C. fun(x,y) { int x,y; double z; z=x+y; return z;}
D. double fun( int x,int y) {double z; z=x+y; return z; }
3. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是(    )。
A.        地址传递            
B.        单向值传递
C. 双向值传递。即由实参传给形参,再由形参传回给实参
D. 由用户指定传递方式
4.  一个C语言程序是由(    )。
A. 一个主程序和若干子程序组成
B. 若干函数组成
C. 若干过程组成
D. 若干子程序组成
5.用数组名作为实参,传给形参的是(   )
A.数组第0个元素的值      
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);
        }

2.
void main()
{
int i=0;
while(++ i)
{  
if(i= =10) break;
if(i%3!=1) continue;
printf(“%d\n”,i);
}
}
第八章作业
一、判断题。
1、        指针和一般变量一样都有两个值:一个是它在内存中的地址值,另一个是它所存放的数据值。
2、        指针存放的值就是它所指向的变量的地址值。
3、        指向int型变量的指针可以使用double型变量的地址值进行赋值。
4、        定义指针的说明语句中,在指针名前边的*,与执行语句中在指针名前边的*具有相同功能。
5、        在给指针赋值时,要求指针与被赋值的地址值类型相同,级别一样。
6、        数组名是一种地址值,它可以用来给指针赋值,但要求类型相同和级别一致。
7、        任何两个指针进行比较运算是无意义的。
8、        指针运算实际是地址运算,指针加一就是实际的地址值加一。
9、        数组元素可以使用下标表示,也可以使用指针表示。
10、        指针数组的元素是类型相同指针的集合。
二、        填空题。
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运算中,表示取______________ 。

本帖子中包含更多资源

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

×
奥鹏作业答案,奥鹏在线作业答案
发表于 2015-11-10 14:10:13 | 显示全部楼层
奥鹏作业答案,奥鹏在线作业答案
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 01:08 , Processed in 0.095699 second(s), 24 queries .

Powered by Discuz! X3.5

Copyright © 2001-2023 Tencent Cloud.

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