高级程序设计 c语言 在线作业,[北京师范大学]20秋《高级程序设计(C)》 离线作业...-程序员宅基地

技术标签: 高级程序设计 c语言 在线作业  

单选

1.以下叙述正确的是

分值:2

A. C语言中各函数之间既允许直接递归调用也允许间接递归调用

B. C语言中各函数之间既不允许直接递归调用也不允许间接递归调用

C. C语言中各函数之间既允许直接递归调用不允许间接递归调用

D. C语言中各函数之间既不允许直接递归调用允许间接递归调用

2.以下程序的输出结果是

char str[ ]="ABCD",*p=str;

printf ("%d ",*(p+4)); 分值:2

A. 68

B. 0

C. 字符D的地址

D. 不能确定的值

3.以下程序的输出结果是

main( )

{ int a[ ]={1,2,3,4 },i,x=0;

for(i=0; i<4; i++) { sub(a,&x); printf(“%d”, x); }

printf(“ ”);

}

sub( int *s, int *y)

{ static int t=3;

*y=s[t]; t-- ; } 分值:2

A. 1 2 3 4   B. 4 3 2 1

C. 0 0 0 0   D. 4 4 4 4

4.以下程序的输出结果是

main( )

{ int k=4, m=1,p;

p=func(k,m);

printf(“%d,”,p);

p=func(k,m);

printf(“%d ”,p);

}

func( int a, int b);

{ static int m, i=2;

i+=m+1;

m=i+a+b;

return(m);

} 分值:2

A. 8,17   B. 8,16

C. 8,20   D. 8,8

5.以下程序的输出结果是

void fun(int *s)

{ static int j=0;

do

s[j]+=s[j+1];

while(++j<2);

}

main( )

{ int k,a[10]={1,2,3,4,5};

for (k=1; k<3; k++) fun(a);

for (k=0; k<5; k++) printf(“%d”,a[k] );

} 分值:2

A. 34756

B. 23445

C. 35745

D. 12345

6.以下程序的输出结果是

f(int a)

{ int b=0;

static int c=3;

a=c ++, b ++;

return( a );

}

main( )

{ int a=2,i,k;

for(i=0 ; i<2; i++) k=f(a++);

printf(“%d ”,k);

} 分值:2

A. 3

B. 6

C. 5

D. 4

7.以下程序的输出结果是

int m=13;

int fun2(int x, int y)

{ int m=3;

return(x * y – m);

}

main( )

{ int a=7,b=5;

printf(“%d ”,fun2(a,b)/m ); } 分值:2

A. 1   B. 2

C. 7   D. 10

8.C语言中, 形参的缺省的存储类说明是

分值:2

A. auto ( 自动 )

B. static ( 静态 )

C. register ( 寄存器 )

D. extern ( 外部 )

9.以下选项中正确的整型常量是 __________。

分值:2

A. 12.

B. -20

C. 1,000

D. 4 5 6

10.以下选项中正确的实型常量是 __________。

分值:2

A. 0

B. 3.1415

C. 0.329*102

D. .871

11.以下选项中不正确的实型常量是__________。

分值:2

A. 2.607E-1   B. 0.8103e 2

C. -77.77   D. 456e-2

12.以下选项中不合法的用户标识符是_________。

分值:2

A. abc.c   B. file

C. Main   D. PRINTF

13.以下选项中不合法的用户标识符是__________。

分值:2

A. _123   B. printf

C. A$   D. Dim

14.C语言中运算对象必需是整型的运算符是__________。

分值:2

A. %   B. /

C. !   D. **

15.可在C程序中用作用户标识符的一组标识符是_________。

分值:2

A. void define WORD

B. as_b3 _123 If

C. For -abc case

D. 2c DO SIG

16.若变量已正确定义并赋值,符合C语言语法的表达式是_________。

分值:2

A. a=a+7;

B. a=7+b+c,a++

C. int(12.3%4)

D. a=a+7=c+b

17.以下叙述中正确的是_________。

分值:2

A. a是实型变量,C允许进行以下赋值a=10,因此可以这样说:实型变量允许赋值整型值。

B. 在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。

C. 执行表达式a=b后,在内存中a 和 b存储单元中的原有值都将被改变,a的值已由原值改变为b 的值, b 的值由原值变为0。

D. 已有a=3,b=5。当执行了表达式 a=b ,b=a 之后,已使a 中的值为5,b 中的值为3。

18.以下叙述中正确的是________。

分值:2

A. 在C程序中无论整数还是实数,只要在允许的范围内都能准确无误的表示。

B. C程序由主函数组成。

C. C程序由函数组成。

D. C程序由函数和过程组成。

19.若a、b、c、d、都是int类型变量且初值为0,以下选项中不正确的赋值语句是_________。

分值:2

A. a=b=c=d=100;   B. d++;

C. c+b;   D. d=(c=22)-(b++);

20.以下合法的C语言赋值语句是_________。

分值:2

A. a=b=58   B. k=int(a+b);

C. a=58,b=58   D. --i;

21.若变量已正确说明为int类型,要给 分值:2

A. read(a,b,c);

B. scanf(“ %d%d%d” ,a,b,c);

C. scanf(“ %D%D%D” ,&a,%b,%c);

D. scanf(“ %d%d%d”,&a,&b,&c);

22.若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是_________。

分值:2

A. a=a+b, b=a-b, a=a-b;

B. t=a, a=b, b=t;

C. a=t; t=b; b=a;

D. t=b; b=a; a=t;

23.若有以下程序段,c3中的值是__________。

int c1=1,c2=2,c3;

c3=c1/c2; 分值:2

A. 0   B. 1/2

C. 0.5   D. 1

24.若有以下程序段 ,其输出结果是__________。

int a=0,b=0,c=0;

c=(a-=a-5),(a=b,b+3);

printf(“ %d,%d,%d ”,a,b,c); 分值:2

A. 0,0,-10   B. 0,0,5

C. -10,3,-10   D. 3,0,-10

25.当运行以下程序时,在键盘上从第一列开始输入9876543210(此处代表Enter),则程序的输出结果是__________。

main( )

{ int a; float b,c;

scanf(“ %2d%3f%4f”,&a,&b,&c);

printf(“ a=%d,b=%f,c=%f ”,a,b,c);}  分值:2

A. a=98,b=765,c=4321

B. a=10,b=432,c=8765

C. a=98,b=765.000000,c=4321.000000

D. a=98,b=765.0,c=4321.0

26.若int类型占两个字节,则以下程序段的输出是__________。

int a=-1;

printf(“ %d,%u ”,a,a);  分值:2

A. -1,-1   B. -1,32767

C. -1,32768   D. -1,65535

27.以下程序段的输出是__________。

float a=3.1415;

Printf(“ |%6.0f| ”,a);  分值:2

A. |3.1415|   B. | 3.0|

C. | 3|   D. | 3.|

28.以下程序段的输出是__________。

float a=57.666;

pirntf(“ %010.2f ”,a);  分值:2

A. *0000057.66*

B. * 57.66*

C. *0000057.67*

D. * 57.67*

29.C语言中的简单类型有

分值:2

A. 整型,实型,逻辑型

B. 整型,实型,字符型

C. 整型,字符型,逻辑型

D. 整型,实型,逻辑型,字符型

30.C语言中,字符型(char)数据在微机内存中的存储形式是

分值:2

A. 反码   B. 补码

C. EBCDIC码   D. ASCII码

31.C语言中不合法的字符常量是

分值:2

A. ′\0XFF′   B. ‘\65′

C. ′&′   D. ′\028′

32.C语言中不合法的字符串常量是

分值:2

A. "121"   B. ′Y=′

C. " "   D. "ABCD\X6d"

33.判断char型变量C是否为大写字母的最简单且正确的表达式是

分值:2

A. ‘A ’<=C=‘Z’

B. (C>=′A′)&(C<=′Z′)

C. (′A′<=C)AND(′Z′>=C)

D. (C>=′A′)&&(C<=′Z′)

34.以下程序的输出结果是

main( )

{ char c1=′a′,c2=′y′;

printf("%d,%d ",c1,c2);

} 分值:2

A. 因输出格式不合法,无正确输出

B. 65,90

C. A,Y

D. 65,89

35.以下程序的输出结果是

main( )

{char x=′a′

x=(x>=′A′&& x<=′Z′)?(x+32):x;

printf("%c ",x);

} 分值:2

A. A   B. a

C. Z   D. z

36.以下各组选项中,均能正确定义二维实型数组a的选项是__________。

分值:2

A. float a[3][4];

float a[][4];

float a[3][]={ {1},{0}};

B. float a(3,4);

float a[3][4];

float a[][]={ {0},{0}};

C. float a[3][4];

static float a[][4]={ {0},{0}};

auto float a[][4]={ {0},{0},{0}};

D. float a[3][4];

float a[3][];

float a[][4];

37.以下正确的说法是__________。

分值:2

A. 实参和与其对应的形参占用独立的存储单元

B. 实参和与其对应的形参共占用一个存储单元

C. 只有当实参和与其对应的形参同名时才共占用一个存储单元

D. 形参是虚拟的,不占用存储单元

38.以下说法中正确的是

分值:2

A. C语言程序总是从第一个定义的函数开始执行

B. 在C语言程序中,要调用的函数必须在main函数中定义

C. C语言程序总是从main函数开始执行

D. C语言程序中的main函数必须放在程序的开始部分

39.以下函数的类型是

fff(float x){

printf("%d ",x*x);

} 分值:2

A. 与参数x的类型相同   B. void类型

C. int类型   D. 无法确定

40.以下程序的输出结果是

func(int a,int b)

{ int c

c=a+b;

return c; }

main( )

{ int x=6,y=7,z=8,r;

r=func((x--,y++,x+y),z--);

printf("%d ",r); } 分值:2

A. 11   B. 20

C. 21   D. 31

41.以下程序有错,错误原因是__________。

main()

{int *p,i;char *q,ch;

p=&i;

q=&ch;

*p=40;

*p=*q;

}

分值:2

A. p和q类型不一致,不能执行*p=*q;语句

B. *p中存放的是地址值,因此不能执行*p=40;语句

C. q没有指向具体的存储单元,所以*q没有实际意义

D. q虽然指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句

42.以下程序的输出结果是

double f(int n)

{ int i; double s;

s=1.0;

for(i=1; i<=n; i++) s+=1.0/i;

return s;

}

main()

{ int i,m=3; float a=0.0;

for(i=0; i

printf("%f ",a)L;

}  分值:2

A. 5.500000   B. 3.000000

C. 4.000000   D. 8.25

43.若有定义: int x,*pb;则在以下正确的赋值表达式是

分值:2

A. pb=&x   B. pb=x

C. *pb=&x   D. *pb=*x

44.以下程序的输出结果是

#include "stdio.h"

main()

{ printf("%d ",NULL); } 分值:2

A. 因变量无定义输出不定值

B. 0

C. -1

D. 1

45.有如下语句int a=10,b=20;*p1=&a,*p2=&b;如果让两个指针变量均指向b,正确的赋值方式是__________。

分值:2

A. *p1=*p2;   B. p1=p2;

C. p1=*p2;   D. *p1=*p2;

46.已知指针P的指向如图所示,则表达式*P++的值是

a[0] a[1] a[2] a[3] a[4]

10   20   30   40   50

P 分值:2

A. 20   B. 30

C. 21   D. 31

47.已知指针P的指向如图所示,则表达式* ++ P的值是

a[0] a[1] a[2] a[3] a[4]

10   20   30   40   50

P 分值:2

A. 20   B. 30

C. 21   D. 31

48.已知指针P的指向如图所示,则表达式++*P的值

a[0] a[1] a[2] a[3] a[4]

10   20   30   40   50

P 分值:2

A. 20   B. 30

C. 21   D. 31

49.以下能正确进行字符串赋值、赋初值的语句组是

分值:2

A. char s[5]={′a′,′e′,′i′,′o′,′u′};

B. char *s; s="good!";

C. char s[5]="good!";

D. char s[5]; s="good";

50.若有以下说明和定义,则对fun函数的正确调用语句是

分值:2

A. a=fun; a(w);

B. a=fun; (*a)(&c);

C. b=fun; *b(w);   D. fun(b);

main( )

{

int (*a)(int*),*b( ),w[10],c;

:

:

}

fun(int *c) {...}

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_35208293/article/details/116988079

智能推荐

使用nginx解决浏览器跨域问题_nginx不停的xhr-程序员宅基地

文章浏览阅读1k次。通过使用ajax方法跨域请求是浏览器所不允许的,浏览器出于安全考虑是禁止的。警告信息如下:不过jQuery对跨域问题也有解决方案,使用jsonp的方式解决,方法如下:$.ajax({ async:false, url: 'http://www.mysite.com/demo.do', // 跨域URL ty..._nginx不停的xhr

在 Oracle 中配置 extproc 以访问 ST_Geometry-程序员宅基地

文章浏览阅读2k次。关于在 Oracle 中配置 extproc 以访问 ST_Geometry,也就是我们所说的 使用空间SQL 的方法,官方文档链接如下。http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/gdbs-in-oracle/configure-oracle-extproc.htm其实简单总结一下,主要就分为以下几个步骤。..._extproc

Linux C++ gbk转为utf-8_linux c++ gbk->utf8-程序员宅基地

文章浏览阅读1.5w次。linux下没有上面的两个函数,需要使用函数 mbstowcs和wcstombsmbstowcs将多字节编码转换为宽字节编码wcstombs将宽字节编码转换为多字节编码这两个函数,转换过程中受到系统编码类型的影响,需要通过设置来设定转换前和转换后的编码类型。通过函数setlocale进行系统编码的设置。linux下输入命名locale -a查看系统支持的编码_linux c++ gbk->utf8

IMP-00009: 导出文件异常结束-程序员宅基地

文章浏览阅读750次。今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到“ IMP-00009:导出文件异常结束” 错误,google一下,发现可能有如下原因导致imp的数据太大,没有写buffer和commit两个数据库字符集不同从低版本exp的dmp文件,向高版本imp导出的dmp文件出错传输dmp文件时,文件损坏解决办法:imp时指定..._imp-00009导出文件异常结束

python程序员需要深入掌握的技能_Python用数据说明程序员需要掌握的技能-程序员宅基地

文章浏览阅读143次。当下是一个大数据的时代,各个行业都离不开数据的支持。因此,网络爬虫就应运而生。网络爬虫当下最为火热的是Python,Python开发爬虫相对简单,而且功能库相当完善,力压众多开发语言。本次教程我们爬取前程无忧的招聘信息来分析Python程序员需要掌握那些编程技术。首先在谷歌浏览器打开前程无忧的首页,按F12打开浏览器的开发者工具。浏览器开发者工具是用于捕捉网站的请求信息,通过分析请求信息可以了解请..._初级python程序员能力要求

Spring @Service生成bean名称的规则(当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致)_@service beanname-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏6次。@Service标注的bean,类名:ABDemoService查看源码后发现,原来是经过一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致public class AnnotationBeanNameGenerator implements BeanNameGenerator { private static final String C..._@service beanname

随便推点

二叉树的各种创建方法_二叉树的建立-程序员宅基地

文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include&lt;stdio.h&gt;#include&lt;string.h&gt;#include&lt;stdlib.h&gt;#include&lt;malloc.h&gt;#include&lt;iostream&gt;#include&lt;stack&gt;#include&lt;queue&gt;using namespace std;typed_二叉树的建立

解决asp.net导出excel时中文文件名乱码_asp.net utf8 导出中文字符乱码-程序员宅基地

文章浏览阅读7.1k次。在Asp.net上使用Excel导出功能,如果文件名出现中文,便会以乱码视之。 解决方法: fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);_asp.net utf8 导出中文字符乱码

笔记-编译原理-实验一-词法分析器设计_对pl/0作以下修改扩充。增加单词-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏23次。第一次实验 词法分析实验报告设计思想词法分析的主要任务是根据文法的词汇表以及对应约定的编码进行一定的识别,找出文件中所有的合法的单词,并给出一定的信息作为最后的结果,用于后续语法分析程序的使用;本实验针对 PL/0 语言 的文法、词汇表编写一个词法分析程序,对于每个单词根据词汇表输出: (单词种类, 单词的值) 二元对。词汇表:种别编码单词符号助记符0beginb..._对pl/0作以下修改扩充。增加单词

android adb shell 权限,android adb shell权限被拒绝-程序员宅基地

文章浏览阅读773次。我在使用adb.exe时遇到了麻烦.我想使用与bash相同的adb.exe shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)更改bash二进制文件遵循以下顺序> adb remount> adb push bash / system / bin /> adb shell> cd / system / bin> chm..._adb shell mv 权限

投影仪-相机标定_相机-投影仪标定-程序员宅基地

文章浏览阅读6.8k次,点赞12次,收藏125次。1. 单目相机标定引言相机标定已经研究多年,标定的算法可以分为基于摄影测量的标定和自标定。其中,应用最为广泛的还是张正友标定法。这是一种简单灵活、高鲁棒性、低成本的相机标定算法。仅需要一台相机和一块平面标定板构建相机标定系统,在标定过程中,相机拍摄多个角度下(至少两个角度,推荐10~20个角度)的标定板图像(相机和标定板都可以移动),即可对相机的内外参数进行标定。下面介绍张氏标定法(以下也这么称呼)的原理。原理相机模型和单应矩阵相机标定,就是对相机的内外参数进行计算的过程,从而得到物体到图像的投影_相机-投影仪标定

Wayland架构、渲染、硬件支持-程序员宅基地

文章浏览阅读2.2k次。文章目录Wayland 架构Wayland 渲染Wayland的 硬件支持简 述: 翻译一篇关于和 wayland 有关的技术文章, 其英文标题为Wayland Architecture .Wayland 架构若是想要更好的理解 Wayland 架构及其与 X (X11 or X Window System) 结构;一种很好的方法是将事件从输入设备就开始跟踪, 查看期间所有的屏幕上出现的变化。这就是我们现在对 X 的理解。 内核是从一个输入设备中获取一个事件,并通过 evdev 输入_wayland

推荐文章

热门文章

相关标签