C语言(数组)单元练习二

  • 单项选择题

1. A. float f[3,4]; B. int a[ ][4];   

C. char c(3);    D. double d[3+2][4];

2. 一维数组初始化时,若对部分数组元素赋初值,则下面正确的说法是______。

A. 可以只对数组的前几个元素赋初值   

B. 可以只对数组的中间几个元素赋初值

C. 可以只对数组的后几个元素赋初值   

D. 以上说法全部正确

3. 若有以下说明:int a[10]={1,2,3,4,5,6,7,8,9,10}; char c='a'; 则数值为4的表达式是______。

  A. a['f'-c]    B. a[4]    C. a['d'-'c']    D. a['d'-c]

4. 当执行下面程序时,输出结果是______。

#include <stdio.h>

void main()

{  int i; char b[6]={"12345"};

for(i=0;i<=4;i++) printf("%C",b[i]); }

  A."12345"    B.'1''2''3''4''5'    C.12345    D.1,2,3,4,5

5. 用数组名作为函数调用时的实参,实际上传送给形参的是______。

  A. 数组首地址            B. 数组的第一个元素值   

C. 数组中全部元素的值    D. 数组元素的个数

6. 若已有char b[10]={'0','1','2','3','4'},则______。

  A.元素b[5]到b[9]没有被赋值     B.元素b[5]到b[9]不存在

  C.元素b[5]到b[9]自动为空字符   D.元素b[5]到b[9]自动为0字符

7. 决定数组所占内存单元多少的是______。

A. 数组的长度   

B. 数组的类型

C. 数组在初始化时被赋值的元素的个数   

D. 数组元素的个数及其类型

8. 已知有char a[]={"I\nsee\"ABC\""};a数组的长度是______。

  A.7    B.8    C.9    D.10

9. 若定义数组并初始化char a[10]={"HELLO"},该数组的元素中 a[2]是______。

  A. 'L'    B. 'E'    C. 'H'    D. 'O'

10. 设有数组定义: char a[2][3]={{'a','b'},{'e'}};则数组a所占空间的字节数为______。

  A.3    B.2    C.5    D.6

11. 数组初始化时,下面说法错误的是______。

  A.当对一维数组的全部元素赋初值时,可以不指定长度

  B.当对二维数组的全部元素赋初值时,可以省略维数

  C.用字符串对一维字符数组赋值时,可以不指定长度

  D.用字符串对二维字符数组赋值时,可以省略维数

12. 如已有定义:int a[4];若要把10,20,30,40分别赋值给数组a的4个元素,下面正确的赋值方式是______。

A. scanf("%d%d%d%d",a[0],a[1],a[2],a[3]);             

B. scanf("%s", a)

C. a[0]=10;a[1]=a[0]+10;a[2]=a[1]+10;a[3]=a[2]+10;  

D. a={10,20,30,40};

13. 若定义数组并初始化char a[10]={'0','1 ','2','3','4','5','6','7','8','9'},指出以下会导致错误的语句______。

  A. printf("%s",a[0]);    B. printf("%c",a[4]);   

C. printf("%x", A);     D. printf("%s", A);

14. 设定义了:char a[10]={'1','2','3','4','5'}; 则a[5]的正确初值是______。

  A. '5'    B. 5    C. '\0'    D. ' '

15. 以下程序的输出结果是______。

 #include <stdio.h>

void main()

{  int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

   printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]); }

  A.0650    B. 1470    C. 5430    D.输出值不确定

16. 下面程序的输出是______。

   #include <stdio.h>

void main()

 { struct cmplx int x;inf y;}cnum[2]={1,3,2,7};

printf(“%d、n”,cnum[0].y/cnum[0].x*cnum[1].x);}

  A.0    B.1    C.3    D.6

17若定义数组并初始化

int i,j,a[2][3]= {{1,2},{3,4},{5,6}};

for(i=0;i<2;i++)

for(j=0;j<3;j++) printf("%d", a[i][j]);语句的结果是哪一个______。

A. 1,2,3,4,5,6    B. 1 2 3 4 5 6    C. 120340    D. 1 2 0 3 4 0

18. 若定义数组并初始化int b[2][3]= { 1,2,3,4,5,6},以下语句哪一个成立______。

  A. 表达式b[1][2]的值为1    B. 表达式b[1][2]的值为4

  C. 表达式b[1][2]的值为6    D. 表达式b[1][2]的值为2

19. 下述对C语言字符数组的描述中错误的是______。

  A.字符数组可以存放字符串

  B.字符数组中的字符串可以整体输入、输出

  C.可以在赋值语句中通过运算符“=”对字符数组整体赋值

  D.不可以用关系运算符对字符数组中的字符串进行比较

20. 设有程序:

  #include <stdio.h>

void main()

{   int i,a[5]; printf("Please input number:\n");

for (i=0;i<=4;i++)  scanf("%d",(   ));

 ... ...

printf("输出数组:\n");

for(i=0;i<=4;i++) printf("%d,",(   )); }

则在程序中的两个括号中应填入______。

A. a[i]和&a[i]    B. &a[i]和&a[i]    C. &a[i]和a[i]    D. a[i]和a[i]

21. 若定义数组并初始化int a[10]={ 1,2,3,4},以下语句哪一个不成立______。

A. a[10]是a数组的最后一个元素的引用   

B. a数组中有10个元素

C. a数组中每个元素都为整数            

D. a数组是整型数组

22. 已定义:float a[5]; 则数组a可引用的元素有______。

A. a[1]~a[5] B. a[0]~a[5] C. a[1]~a[4] D. a[0]~a[4]

23. 设有定义:char a[][5]={{'*'},{'*',' ','*'},{'*',' ',' ',' ','*'},{'*',' ','*'},{'*'}}; 则a[0][0]和a[4][4]的初值分别为______。

  A. *,*    B. 空格,空格    C. 空白符,*    D. *,空白符

24. 设有程序段: #define N 3 #define M N+2 float a[M][N]; 则数组a的元素个数和最后一个元素分别为______。

  A. 15,a[5][3]    B. 15,a[3][5]    C. 8,a[4][2]    D. 15,a[4][2]

25下面程序的输出是______。

  #include <stdio.h>

void main( ) {int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf(“%d、n”,*(p2));}

  A.3    B.4    C.1    D.2

26.阅读程序:

f(int b[],int n)

{   int i,r=1;

for(i=0;i<=n;i++) r=r*b[i];

return r; }

main()

{   int x,a[]={2,3,4,5,6,7,8,9};x=f(a,3); printf("%d\n",x); }

以上程序的输出结果是______。

A. 720    B. 6    C.24    D. 120

27. 若有数组定义 char str[10]={"1234567"};则执行printf("%.3s",str);后,输出结果是______。

A. 输出第1,第2,第3个元素的值   

B. 输出str[1],str[2],str[3]的值

C. 输出全部元素                    

D. 输出格式描述不正确

28.在对二维数组初始化时,错误的说法是______。

  A.可对二维数组的全部元素赋初值

  B.可对二维数组的部分元素赋初值

  C.给二维数组的全部元素赋初值时,可以不指定第一维的长度但第二维的长度不能省略

  D.给二维数组的全部元素赋初值时,可以不指定第二维的长度但第一维的长度不能省略

29. 若定义数组并初始化char a[20]= "Hello"; printf("%s", strupr(a);语句的结果是哪一个______。

  A. hello    B. Hello    C. HELLO    D. 不确定

30. 已定义:int a[15]; 则数组a占用的内存单元数是______。

A. 15 B. 16    C. 30    D. 32

31. 若定义数组并初始化char a[20]= "Hello";使用函数调用strcat(a," world")后, printf("%s", a)语句的结果是哪一个______。

  A. Hello    B. Hello word    C. world    D. 不确定

32. 以下数组定义中,不正确的是______。

A. int b[3][4];             

B. int c[3][ ]={{1,2},{1,2,3},{4,5,6,7}};  

C. int b[200][100]={0};     

D. int c[ ][3]={{1,2,3},{4,5,6}};

33. 指出以下错误语句______。

  A. 用#define N 10语句定义了n后,可以使用char str[N+1];语句定义数组

  B. 在用#define N 10语句定义了n后,可以使用char str[N];语句定义数组

  C. 在用#define n 10语句定义了n后,可以使用char str[n];语句定义数组

  二、判断题   

1.可以用如下的语句定义数组a:int n=10,a[n];

2. 设需定义一个有15个元素的数组a,并对其前5个元素赋初值,可用如下语句实现:int a[]={1,2,3,4,5};

3.数组中的所有元素必须属于同一种数据类型。

4. 定义数组: int a[10]; 则数组a的最后一个元素是a[9],数组 a共有9个元素。

5. 语句printf(“%d\n”,strlen(“\t\”\065\xff\n”))输出项不合法,无正常输出。

6. 在计算机中二维数组的元素是按行顺序存放的,即在内存中,先顺序存放二维数组第一行的元素,再顺序存放二维数组第二行的元素,以此类推。

7. 数组是数目固定的若干变量的有序集合,数组中各元素的类型可以不同。

8. 设定义了:char c[]={"girl"}; 则字符数组c在内存中占用5个字节的内存单元。

9. C语言只能单个引用数组元素而不能一次引用整个数组。

10. 设已定义:double a[5][5]; 则数组a在内存中的存放顺序是:a[0][0],a[0][1],a[0][2], ... ,a[4][3],a[4][4] 。

11. 在C语言中,可以用表达式:"AbcDE">"ABC"比较字符串的大小。

12. 设已定义:char a[3][5]; 则可用语句 scanf("%s",a); 给数组a输入15个字符之内的字符串。

13. 设有int a[2][3],元素a[1][2]是数组中第六个元素。

14. C语言数组的下标从0开始,下标必须是整数型的常量或变量。

15. C语言中数组元素用数组名后带圆括弧的下标表示。

三、填空题    

1.#include<stdio.h>

void main( )

{  int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};

   printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);}

输出:_________

2. #include<stdio.h>

#include<string.h>

void main( )

{  char ss[10]={"1,2,3,4,5"};

   gets(ss);

   strcat(ss,"6789");

   printf("%s\n",ss);}

如果输入ABC,则输出:_________

参考答案

DADCA  CDDAD  BCACA  DCCCC  ADDDA  DADCC  BBD

FFTFF  TFTTT  FTTTF

0650

ABC6789

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/744093.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

macOS - 获取硬件设备信息

文章目录 1、CPU获取方式 一&#xff1a; system_profiler获取方式二&#xff1a;sysctl&#xff0c; machdepmachdep 2、内存3、硬盘4、显卡5、声卡6、光驱7、系统序列号8、型号标识符9、UUID 等信息 10. 计算机名称 1、CPU 获取方式 一&#xff1a; system_profiler % syst…

深信服技术认证“SCCA-C”划重点:深信服应用交付AD

为帮助大家更加系统化地学习云计算知识&#xff0c;高效通过云计算工程师认证&#xff0c;深信服特推出“SCCA-C认证备考秘笈”&#xff0c;共十期内容。“考试重点”内容框架&#xff0c;帮助大家快速get重点知识 划重点来啦 *点击图片放大展示 深信服云计算认证&#xff08;S…

中国工程精英智创数字工厂——2023纵览基础设施大会暨光辉大奖赛观察 (下)

中国工程精英智创数字工厂 ——2023纵览基础设施大会暨光辉大奖赛观察 &#xff08;下&#xff09; 吴付标 中国制造的尽头是智能化、智慧化&#xff0c;这一趋势正在加速前进。2022年&#xff0c;中国以50座达沃斯论坛盖章认证的“灯塔工厂”数量冠绝全球&#xff0c;而“数…

活动预告:如何培养高质量应用型医学人才?

在大数据时代与“新医科”建设的背景下&#xff0c;掌握先进的医学数据处理技术成为了医学研究与应用的重要技能。 为了更好地培养社会所需要的高质量应用型医学人才&#xff0c;许多高校已经在广泛地开展面向医学生的医学数据分析教学工作。 在“课-训-赛”育人才系列活动的…

详解Python中%r和%s的区别及用法

首先看下面的定义&#xff1a; %r用rper()方法处理对象 %s用str()方法处理对象 函数str() 用于将值转化为适于人阅读的形式&#xff0c;而repr() 转化为供解释器读取的形式&#xff08;如果没有等价的语法&#xff0c;则会发生SyntaxError 异常&#xff09; 某对象没有适于人…

Spring Data访问 MongoDB(十五)----MongoDB特有的数据操作方法

【Spring连载】使用Spring Data访问 MongoDB&#xff08;十五&#xff09;----MongoDB特有的数据操作方法 一、更新方法二、删除方法 除了 查询方法之外&#xff0c;还可以使用专门的方法更新数据。 一、更新方法 你还可以使用上表中的关键字创建查询&#xff0c;以标识匹配的…

rust 阿里云oss操作

在rust中如何操作阿里云oss文件&#xff0c;阿里云官方并没有提供这样的sdk&#xff0c;我们可以使用社区的aliyun-oss-rust-sdk库crate来实现。 功能列表 文件下载签名下载签名上传获取上传对象的policy上传本地文件上传内存文件文件删除 添加依赖 [dependencies] # 异步 a…

面试常问:为什么 Vite 速度比 Webpack 快?

前言 最近作者在学习 webpack 相关的知识&#xff0c;之前一直对这个问题不是特别了解&#xff0c;甚至讲不出个123....&#xff0c;这个问题在面试中也是常见的&#xff0c;作者在学习的过程当中总结了以下几点&#xff0c;在这里分享给大家看一下&#xff0c;当然最重要的是…

面试六--TCP粘包问题

1.流式传输协议 流式传输协议&#xff08;Streaming Protocol&#xff09;是一种用于在网络上传输数据的通信协议&#xff0c;它允许数据以连续的流的形式进行传输&#xff0c;而不是一次性发送完整的数据包。流式传输协议即协议的内容是像流水一样的字节流&#xff0c;内容与内…

如何使用vue定义组件之——全局or局部

在Vue中定义一个组件&#xff0c;您需要使用Vue.component()方法来全局注册组件&#xff0c;或者在Vue实例的选项中局部注册组件&#xff0c;以下是一个具体的步骤&#xff1f; 1.全局注册组件&#xff1a; 使用Vue.component()方法来注册一个全局组件&#xff0c;这意味着这个…

Flutter第三弹:常用的Widget

目标&#xff1a; 1&#xff09;常用的Widget有哪些&#xff1f;有什么特征&#xff1f; 2&#xff09;开发一个简单的登录页面。 一、Flutter常用Widget 对于Flutter来说&#xff0c;一切皆Widget. 常用的Widget&#xff0c;包括一些基础功能的Widget. 控件名称功能备注…

代码随想录day19(2)二叉树:二叉树的最大深度(leetcode104)

题目要求&#xff1a;求出二叉树的最大深度 思路&#xff1a;首先要区分二叉树的高度与深度。二叉树的高度是任一结点到叶子结点的距离&#xff0c;而二叉树的深度指的是任一节点到根节点的距离&#xff08;从1开始&#xff09;。所以求高度使用后序遍历&#xff08;从下往上&…

【小白学机器学习9】自己纯手动计算验证,EXCEL的一元线性回归的各种参数值

目录 0 目标 1 构造模型 1.1 构造模型的思路 1.2 具体模型构造的EXCEL公式和过程 2 直接用EXCEL画图&#xff0c;然后生成趋势线的方式进行回归分析 2.1 先选择“观测值Y”的数据&#xff0c;用散点图或者折线图作图 2.2 然后添加趋势线和设置趋势线格式 2.3 生成趋…

ttkefu如何更改头像

ttkefu头像如何更改&#xff1a; 第一种&#xff1a;可以直接点击头像-更改框就出来了

C语言(指针)单元练习二

1有以下程序&#xff1a; #include <stdio.h> void fun( int *a, int i, int j) { int t; if(i<j) { ta[i]; a[i]a[j]; a[j]t; fun(a,i,--j); } } main() { int a[]{1,2,3,4,5,6},i; fun(a,0,5); for(i0; i<6; i) printf("%d ",a[i]); retur…

前后端交互理解 简易表白墙(servlet)

前后端交互理解 简易表白墙&#xff08;servlet&#xff09; 文章目录 前后端交互理解 简易表白墙&#xff08;servlet&#xff09;后端核心内容前后端交互接口约定后端代码展示 上期介绍过 Servlet API &#xff0c;本篇文章目的是借助 servlet 做出一个完整的网站。在一个网站…

工作随记:oracle重建一张1T数据量的大表

文章目录 一、删除测试表二、重命名旧表&#xff1a;三、验证&#xff1a;四、检查alert日志和昨天到今天的统计信息任务收集是否正常 一、删除测试表 #xshell登录用户hthis用户连接登录处理&#xff1a; sqlplus ht/"123456" sqlplus ht/"123456"10.8.5.…

Docker 搭建 PaddleOCR

转自PaddleOCR docker模式 - 简书 目的: 公司要放弃第三方的ocr工具(日语),需要自己搭建训练一套,这篇是搭建 图片要标出文字的选取框 因为是日文所以ocr有专门的工具,只需要文字坐标就好如图 日文的账票需要加密一下 我得环境是 Ubuntu 22.04.1 LTS 1,下载代码 cd /hom…

AI-线性回归模型

线性回归应用场景 房价预测&#xff0c;通过分析房地产市场的历史数据&#xff0c;如房屋大小、位置、建造年份等因素&#xff0c;线性回归可以帮助预测未来房价的走势。 销售额预测&#xff0c;企业可以利用线性回归模型来预测产品的销售额&#xff0c;这通常涉及到产品价格、…

科研三维模型高精度三维扫描服务3d逆向测绘建模工业产品抄数设计

三维抄数技术在科研三维模型的应用已经日益广泛&#xff0c;其高精度、高效率的特点使得科研工作者能够更快速、更准确地获取和分析数据。这一技术的核心在于通过专业的三维扫描仪对实物进行高精度测量&#xff0c;再将这些数据转化为三维数字模型&#xff0c;为后续的研究提供…