找回密码
 注册

QQ登录

只需一步,快速开始

查看: 861|回复: 0

[在线作业] 兰大《C语言程序设计》17春平时作业123答案满分

[复制链接]
发表于 2017-5-9 12:43:32 | 显示全部楼层 |阅读模式
《C语言程序设计》17春平时作业1

一、单选题:
1.以下正确的说法是(    )          (满分:4)
    A. 定义函数时,形参的类型说明可以放在函数体内
    B. return后面的值不能为表达式
    C. 如果函数的类型与返回值类型不一致,以函数类型为准
    D. 如果形参与实参的类型不一致,以实参类型为准
2.使用scanf(“x=%f,y=%f”,&x,&y)要使x,y的值均为3.14,正确的输入是          (满分:4)
    A. 3.14,3.14
    B. 3.143.14
    C. x=3.14,y=3.14
    D. x=3.14y=3.14
3.下面程序#include "stdio.h" #include "string.h" main(    ){char *s1="AbDeG";char *s2="AbdEg";s1+=2; s2+=2;printf"%d\n",strcmp(s1,s2));}的运行结果是(    )          (满分:4)
    A. 正数
    B. 负数
    C. 零
    D. 不确定的值
4.关于联合体,下面叙述不正确的是(    )          (满分:4)
    A. 联合体变量中成员项共用同一存储空间,因此,联合体变量的地址和每一个成员项的地址是同一地址
    B. 联合体变量中成员项所占存储空间量不同,因此,联合体中每一个成员项的地址不是同一地址
    C. C语言规定不能对联合体变量赋值
    D. 也不能通过直接引用变量名来得到成员项,这与结构体是相同的
    E. 不允许将联合体变量作为函数参数,也不允许用联合体变量作为函数的返回值
5.C语言规定:在一个源程序中,main函数的位置(    )          (满分:4)
    A. 必须在最开始
    B. 必须在系统调用的库函数的后面
    C. 可以任意
    D. 必须在最后
6.设字符型变量ch的值为'A',整型变量m的值为'1',假定执行putchar(m);putchar('  ');putchar(ch);后,则输出结果是(    )          (满分:4)
    A. A1
    B. lA
    C. Al
    D. 1A
7.若有以下定义int a[5]={1,2,3,4,5},*p,i;i=3;p=a;,则对数组元素地址的正确引用是(    )          (满分:4)
    A. &p
    B. a++
    C. &(p+1)
    D. &p
8.以下对C语言函数的有关描述中,正确的是          (满分:4)
    A. 调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
    B. C函数既可以嵌套定义又可以递归调用
    C. 函数必须有返回值,否则不能使用函数
    D. C程序中有调用关系的所有函数必须放在同一个源程序文件中
9.若二维数组a有m列,则计算任一元素a[j]在数组中位置的公式为(假设a[0][0]位于数组的第一个位置上)(    )          (满分:4)
    A. i*m+j
    B. j*m+I
    C. i*m+j-1
    D. i*m+j+1
10.有以下程序#include main(    ){ int a[]={1,2,3,4,5,6},*p;p=a;*(p+3)+=2;printf("%d,%d",*p,a[3]);},请问执行后的输出结果是(    )          (满分:4)
    A. 1,4
    B. 0,4
    C. 1,6
    D. 0,6
11.下面程序的输出是(    )main(    ){enum team {my, your=4,his,her=his+10};printf("%d%d%d%d\n",my,your,his,her);}          (满分:4)
    A. 0123
    B. 04010
    C. 04515
    D. l4515
12.C源程序文件名为echo.c经过编译后,在命令行提示符下输入(    ),则在屏幕上将显示good morning。  #include   main(int argc,char *argv[])  {  int i;    for(i=1;i<argc;i++)     printf("%s%c",argv,(i<argc-1)?' ':'\n');  }          (满分:4)
    A. goodmorning
    B. echogoodmorning
    C. goodmorning
    D. main(goodmorning)
13.若有说明:int a[3][4];则对a数组元素的正确引用是(    )          (满分:4)
    A. a[2][4]
    B. a[1,3]
    C. a[1+1][0]
    D. a(2)(1)
14.假设所有变量均为整型, 则表达式( a=5, b=2, a++, a+b ) 的值是(    )          (满分:4)
    A. 8
    B. 7
    C. 6
    D. 5
15.设有说明:char w;int x;float y;double z;则表达式w*x+z-y值的数据类型为(    )          (满分:4)
    A. float
    B. char
    C. int
    D. double
三、判断题:
1.结构体变量各元素在内存中是连续、按顺序排放的          (满分:4)
    A. 错误
    B. 正确
2.strcmp3(char *s,char *t){for(;*t= =*s;){if(!*t) return 0; t++;s++;}return(*s-*t);}库函数strcmp(char*s,char*t)是功能相等的程序段          (满分:4)
    A. 错误
    B. 正确
3.char *s="china";等价于char *s;s="china";          (满分:4)
    A. 错误
    B. 正确
4.在C 语言中,指针类型属于构造类型          (满分:4)
    A. 错误
    B. 正确
5.在一个函数内部的复合语句中定义的变量,只在该复合语句范围内有效          (满分:4)
    A. 错误
    B. 正确
6.如果int i=3,则printf(“%d”,-i++)的结果和i的值为-3和4          (满分:4)
    A. 错误
    B. 正确
7.goto不是C语言的关键字          (满分:4)
    A. 错误
    B. 正确
8.若有说明int *p1,*p2,m=5,n;则p1=&m;p2=&p1;是正确的程序段          (满分:4)
    A. 错误
    B. 正确
9.main(    ){short i;i=-4;printf("\ni:dec=%d, oct=%o, hex=%x, unsigned=%u\n",i,i,i,i);}以上程序的输出结果为i:dec=-4, oct=177774, hex=fffc, unsigned=65532          (满分:4)
    A. 错误
    B. 正确
10.对for(表达式1; ;表达式3)可理解为for(表达式1;1;表达式3)          (满分:4)
    A. 错误
    B. 正确

《C语言程序设计》17春平时作业2

一、单选题:
1.设char *s="\ta\017bc";则指针变量s指向的字符串所占的字节数是(    )          (满分:4)
    A. 9
    B. 5
    C. 6
    D. 7
2.下面四个选项中,均是正确的八进制或十六进制数的选项是(    )          (满分:4)
    A. 0abc,-017,0xc
    B. -10,0x8f,-011
    C. 0010,-0x11,0xf1
    D. 0a12,-0x123,-0xa
3.已知ch是字符型变量,下面不正确的赋值语句是(    )          (满分:4)
    A. ch=‘\0’
    B. ch=‘a+b’
    C. ch=‘7’+‘9’
    D. ch=7+9
4.有一个函数原型如下所示: abc(float x,double y);  则该函数的返回类型为          (满分:4)
    A. void
    B. double
    C. int
    D. float
5.C语言中,运算对象必须是整型数的运算符是(    )          (满分:4)
    A. %
    B. \
    C. %和\
    D. **
6.以下程序main(    ){int i=010,j=10,k=0x10;printf("%d,%d,%d\n",i,j,k);的输出结果是(    )          (满分:4)
    A. 8,10,16
    B. 8,10,10
    C. 10,10,10
    D. 10,10,16
7.若有定义:int a=7; float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(    )          (满分:4)
    A. 2.500000
    B. 2.750000
    C. 3.500000
    D. 0.000000
8.以下有关宏替换的叙述不正确的是(    )          (满分:4)
    A. 宏替换不占用运行时间
    B. 宏名无类型
    C. 宏替换只是字符替换
    D. 宏名必须用大写字母表示
9.阅读以下程序,int w=1,x=2,y=3,z=4,m;m=w<x?w:x;m=m<y?m:y;m=m<z?m:z;则执行语句后m的值是(    )          (满分:4)
    A. 1
    B. 2
    C. 3
    D. 4
10.以下对C语言描述中正确的是(    )          (满分:4)
    A. C语言源程序中可以有重名的函数
    B. C语言源程序中要求每行只能书写一条语句
    C. C语言源程序中,注释可以出现在任何位置
    D. 最小的C源程序中没有任何内容
11.以下程序的运行结果是(    )main(    ){int m=5;if(m++>5) printf("%d",--m);else printf("%d",m++);}          (满分:4)
    A. 4
    B. 5
    C. 6
    D. 7
12.在c语言中,引用数组元素时,其数组下标的数据类型是(    )          (满分:4)
    A. 整型常量
    B. 整型表达式
    C. 整型常量或整型表达式
    D. 任何类型的表达式
13.若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是(    )          (满分:4)
    A. exp==0
    B. exp!=0
    C. exp==1
    D. exp!=1
14.表达式(double)(20/3)的值为(    )          (满分:4)
    A. 6
    B. 6.0
    C. 2
    D. 3
15.若有说明:int a[ ][4]={1,2,3,4,5,6,7,8,9},则数组第一维的大小为(    )          (满分:4)
    A. 2
    B. 3
    C. 4
    D. 不确定的值
三、判断题:
1.strcmp3(char *s,char *t){for(;*t= =*s;){if(!*t) return 0; t++;s++;}return(*s-*t);}库函数strcmp(char*s,char*t)是功能相等的程序段          (满分:4)
    A. 错误
    B. 正确
2.main(    ){int x,y,z;x=1;y=2;z=3;x=y--<=x(    )x+y!=z;printf("%d,%d",x,y);} 程序的运行结果是1,1          (满分:4)
    A. 错误
    B. 正确
3.C语言中输入输出是通过函数完成的          (满分:4)
    A. 错误
    B. 正确
4.for(y=0,x=1;x>++y;x=i++) i=x;是无限循环的语句          (满分:4)
    A. 错误
    B. 正确
5.用typedef可以创建新的基本类型          (满分:4)
    A. 错误
    B. 正确
6.main(    ){printf("*%f,%4.3f*\n",3.14,3.1415);}以上程序的输出结果为*3.140000,3.142*          (满分:4)
    A. 错误
    B. 正确
7.C语言是解释性语言          (满分:4)
    A. 错误
    B. 正确
8.若a为一维数组名,则*(a+i)与a等价          (满分:4)
    A. 错误
    B. 正确
9.对for(表达式1; ;表达式3)可理解为for(表达式1;1;表达式3)          (满分:4)
    A. 错误
    B. 正确
10.若有说明int *p1,*p2,m=5,n;则p1=&m;p2=&p1;是正确的程序段          (满分:4)
    A. 错误
    B. 正确

《C语言程序设计》17春平时作业3

一、单选题:
1.语句int(*ptr)(    );的含义是(    )          (满分:4)
    A. ptr是指向一维数组的指针变量
    B. ptr是指向int型数据的指针变量
    C. ptr是指向函数的指针,该函数返回一个int型数据
    D. ptr是一个函数名,该函数的返回值是指向int型数据的指针
2.以下叙述中不正确的是(    )          (满分:4)
    A. 预处理命令都必须以#开始
    B. 在C程序中凡是以#开始的语句行都是预处理命令行
    C. C程序在执行过程中对预处理命令行进行处理
    D. 以下是正确的宏定义#defineIBMPC
3.执行以下程序后的输出结果是(    )int w=3,z=7,x=10;printf("%d",x>10?x+100:x-10);printf("%d",w++(    )z++);printf("%d",!w>z);printf("%d",w&&z);          (满分:4)
    A. 0111
    B. 1111
    C. 0101
    D. 0100
4.已有说明float f=3.14,*p;若让p指向f,则正确的赋值语句是(    )          (满分:4)
    A. p=f
    B. p=&f
    C. *p=f
    D. *p=&m
5.以下不正确的说法为(    )          (满分:4)
    A. 在不同函数中可以使用相同名字的变量
    B. 形式参数是局部变量
    C. 在函数内定义的变量只在本函数范围内有效
    D. 在函数内的复合语句中定义的变量在本函数范围内有效
6.不属于字符型常量的是(    )          (满分:4)
    A. A'
    B. "A"
    C. '\\'
    D. '\"'
7.以下叙述中正确的是(    )          (满分:4)
    A. 在程序的一行上可以出现多个有效的预处理命令行
    B. 使用带参的宏时,参数的类型应与宏定义时的一致
    C. 宏替换不占用运行时间,只占用编译时间
    D. 以下定义中CR是称为宏名的标识符#defineCR045
8.若使用一位数组名作为函数实参,则以下正确的说法是(    )          (满分:4)
    A. 必须在主调函数中说明此数组的大小
    B. 实参数组类型与形参数组类型可以不匹配
    C. 在被调函数中,不需要考虑形参数组的大小
    D. 实参数组名与形参数组名必须一致
9.已有变量定义和函数调用语句int a=25;printvalue(&a);下面函数void printvalue(int *x){printf("%d\n",++*x);}输出的正确结果是(    )          (满分:4)
    A. 23
    B. 24
    C. 25
    D. 26
10.已知int x=10,y=20,z=30;以下语句if(x>y)z=x;x=y;y=z;执行后x,y,z的值是(    )          (满分:4)
    A. 10,20,30
    B. 20,30,30
    C. 20,30,10
    D. 20,30,20
11.函数rewind的作用是(    )          (满分:4)
    A. 使位置指针指向文件的末尾
    B. 将位置指针指向文件中所要求的特定位置
    C. 使位置指针重新返回文件的开头
    D. 使位置指针自动移到下一个字符位置
12.若有说明:int a[][4]={0,0};则下面不正确的叙述是(    )          (满分:4)
    A. 数组a的每个元素都可得到初值0
    B. 二维数组a的第一维大小为1
    C. 因为二维数组a中第二维大小的值除初值个数的商为0,故数组a的行数为1
    D. 只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0
13.已有定义int k=2;int *p1,*p2;且p1,p2均指向变量k,下面不能正确执行的赋值语句是(    )          (满分:4)
    A. k=*p1+*p2
    B. p2=k
    C. p1=p2
    D. k=*p1*(*p2)
14.运行下列程序main(    ){char ch='B';printf("%c%d",ch,ch++);}的输出是(    )          (满分:4)
    A. C65
    B. B65
    C. B66
    D. C66
15.以下正确的描述是(    )          (满分:4)
    A. continue语句的作用是结束整个循环的执行
    B. 只能在循环体内和switch语句体内使用break语句
    C. 在循环体内使用break语句或continue语句的作用相同
    D. 从多层循环嵌套中退出时,只能使用goto语句。
三、判断题:转载请注明无忧答案网www.ap5u.com
1.若有说明int *p1,*p2,m=5,n;则p1=&m;p2=&p1;是正确的程序段          (满分:4)
    A. 错误
    B. 正确
2.若a为一维数组名,则*(a+i)与a等价          (满分:4)
    A. 错误
    B. 正确
3.以下if语句if(x>0){x=x+y;printf("%f",x);} else printf("%f",-x);语法正确的是正确的          (满分:4)
    A. 错误
    B. 正确
4.double fun(int x,int y){double z;z=x+y;return z;}是正确的函数形式          (满分:4)
    A. 错误
    B. 正确
5.strcmp3(char *s,char *t){for(;*t= =*s;){if(!*t) return 0; t++;s++;}return(*s-*t);}库函数strcmp(char*s,char*t)是功能相等的程序段          (满分:4)
    A. 错误
    B. 正确
6.#define SIZE 10  int a[SIZE];是对一维数组a的正确说明          (满分:4)
    A. 错误
    B. 正确
7.strcpy4(char *p1,char *p2){while(*p2) *p1++=*p2++;}与库函数strcpy(char*p1,char*p2)是功能相等的程序段          (满分:4)
    A. 错误
    B. 正确
8.main(    ){char c='x';printf("c:dec=%d, oct=%o, hex=%x, ASCII=%c\n",c,c,c,c);}以上程序的输出结果为c:dec=120, oct=170, hex=78, ASCII=x          (满分:4)
    A. 错误
    B. 正确
9.下列语句new→next=head;head=new;可以完成建立2结点的单向链表的功能          (满分:4)
    A. 错误
    B. 正确
10.如果int i=3,则printf(“%d”,-i++)的结果和i的值为-3和4          (满分:4)
    A. 错误
    B. 正确

《C语言程序设计》17春平时作业1.rar

2.23 KB, 下载次数: 2, 下载积分: 贡献 1

售价: 2 金币  [记录]  [购买]

《C语言程序设计》17春平时作业2.rar

1.75 KB, 下载次数: 2, 下载积分: 贡献 1

售价: 2 金币  [记录]  [购买]

《C语言程序设计》17春平时作业3.rar

2.17 KB, 下载次数: 2, 下载积分: 贡献 1

售价: 2 金币  [记录]  [购买]

QQ|手机版|小黑屋|网站地图|无忧答案网 ( 冀ICP备18010495号-1 )

GMT+8, 2024-5-3 18:09

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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