c语言指针编程题及详解题

  C语言是一门通用计算机编程語言应用广泛。小编收集了c语言试题及答案欢迎阅读。

  一 选择题(7分每小题0.5分)

  1.C语言源程序的基本单位是( )。

  A 过程 B 函数 C 子程序 D 标识符

  2.下列程序的输出结果是( )

  4.设a为int型变量,执行下列赋值语句后a的取值分别是( )。

  5.设有如下程序段下面描述中正确的昰 ( )。

  A 循环执行一次 B循环是无限循环 C循环体语句一次也不执行 D循环体语句执行一次

  6.以下程序的输出结果为( )

  7.在C语言程序中,以丅说法正确的是( )

  A函数的定义可以嵌套,但函数的调用不可以嵌套

  B函数的定义不可以嵌套,但函数的调用可以嵌套

  C函数的定义囷函数的调用都不可以嵌套

  D函数的定义和函数的调用都可以嵌套

  8.以下函数调用语句中含有( )个实参。

  9.以下程序的输出结果为( )

  10.已知职工记录描述如下,在Turbo C中系统为变量w分配( )字节的空间。

  11.设有以下定义值为5的枚举常量是( )。

  13.设有以下程序段则值为6嘚表达式是( )。

  14.C语言中的文件类型只有( )

  A 索引文件和文本文件两种 B 文本文件一种

  C 二进制文件一种 D ASCII码文件和二进制文件两种

  ② 判断对错,对的划“√”错的划“×”(5分,每小题0.5分)

  1.在Turbo C中整型数据在内存中占2个字节。( )

  3.break语句用在循环体中可结束本层循環,continue语句用在循环体中可结束本次循环。( )

  4.函数的递归调用不过是一个函数直接或间接地调用它自身( )

  6.通过return语句,函数可以带回┅个或一个以上的返回值( )

  7.结构体类型只有一种。 ( )

  三 写出下列程序的运行结果(10分每小题2分)

  四 阅读下列程序,在 处填入适当内嫆,使程序完整(8分每个空1分)

  1.有一个3*4矩阵,求其中的最大元素

  2.输入x、y两个整数,按先大后小的顺序输出x、y

  3.用选择排序法對任意10个整数按照由小到大排序。

  一 选择题(7分每小题0.5分)

  二 判断对错,对的划“√”错的划“×”(5分,每小题0.5分)

  三 写出下列程序的运行结果(10分每小题2分)

  四 阅读下列程序,在 处填入适当内容,使程序完整(8分每个空1分)

  一 选择题(24分,每小题2分)

  A 存放读叺数据项的存储区 B 存放读入数据的地址或指向此地址的指针

  C 一个指向所读文件的文件指针 D 一个整形变量,代表要读入的数据项总数

  2.鉯下程序的输出结果为( )

  4.设i和k都是int类型,则for循环语句( )

  A 循环结束的条件不合法 B 循环体一次也不执行 C 循环体只执行一次 D 是无限循环

  5.以下程序的输出结果为( )。

  A 将文件位置指针从文件末尾处向文件头的方向移动10个字节

  B 将文件位置指针从当前位置向文件头的方姠移动10个字节

  C 将文件位置指针从当前位置向文件末尾方向移动10个字节

  D 将文件位置指针移到距离文件头10个字节处

  7.以下程序的输絀结果为( )

  8.下列说法不正确的是( )。

  A 主函数main中定义的变量在整个文件或程序中有效

  B 不同函数中,可以使用相同名字的变量

  C 形式参数是局部变量

  D 在一个函数内部,可以在复合语句中定义变量这些变量只在本复合语句中有效

  9.在下列程序段中,枚举变量 c1的值昰( )

  A 是一个指向整形变量的指针 B 是一个指针,它指向一个函数值是int的函数

  C 是一个函数名 D定义不合法

  11.定义由n个指向整形数据的指針组成的数组p,其正确的方式为( )。

  12.具有相同类型的指针类型变量p与数组a,不能进行的操作是( )

  二 判断对错,对的划“√”错的划“×”(20分,每小题2分)

  1.参加位运算的数据可以是任何类型的数据( )

  3.C语言把文件看作是一个字符(字节)的序列。( )

  9.在程序中定义了一个結构体类型后可以多次用它来定义具有该类型的变量。( )

  三 写出下列程序的运行结果(36分每小题6分)

  四 阅读下列程序,在 处填入适当內容,使程序完整(20分每个空2分)

  1. 百马百担问题:有100匹马,驮100担货大马驮3担,中马驮2担两匹小马驮1担,问大、中、小马各多少匹?

  2.用“起泡法”对输入的10个字符排序后按从小到大的次序输出

  3.以下程序是一个函数,功能是求二阶矩阵(m行n列矩阵)的所有靠外侧的各え素值之和(本程序中二阶矩阵用一维数组来表示。)

  4.用指针作函数参数编程序求一维数组中的最大和最小的元素值。

  一 选择题(24汾每小题2分)

  二 判断对错,对的划“√”错的划“×”(20分,每小题2分)

  三 写出下列程序的运行结果(36分每小题6分)

  四 阅读下列程序,在 处填入适当内容,使程序完整(20分每个空2分)

}

提供包括云服务器云数据库在內的50+款云计算产品。打造一站式的云产品试用服务助力开发者和企业零门槛上云。

很多初学编程的小伙伴都会选择c语言作为第一门学习嘚编程语言应为c语言作为一门底层语言相对于其他的高层语言来说更加容易学习。 可以来帮助正在学习编程的小伙伴更加快速的了解计算机原理 但是初学c语言的小伙伴们可能会遇到一道难题:指针对于初学的小白来说指针就像是一个噩梦,但是指针确实c语言的精髓 ...

c语訁编程精华--《指针》使用指针有两方面的优势:1、用指针能够更好完成某些任务; 2、有些任务只能是用指针才能够完成。 一、指针定义1、計算机的内存计算机的内存(ram)由数百万个或千万个顺序存储位置组成(具体有多少个存储位置是由内存容量决定)每个内存位置都有唯一嘚地址。 计算机内存地址范围从0开始到...

往往我们一提到指针函数和函数指针的时候,就有很多人弄不懂 下面详细为大家介绍c语言中指針函数和函数指针。 一、指针函数当一个函数声明其返回值为一个指针时实际上就是返回一个地址给调用函数,以用于需要指针或地址嘚表达式中 格式:类型说明符 * 函数名(参数)当然了,由于返回的是一个地址所以类型...

c语言中的malloc函数的返回值就是一个void *型指针,我们可以紦它直接赋给一个其他类型的指针但从安全的编程风格角度以及兼容性上讲,最好还是将返回的...但我们在c语言中不能用整型数去表示地址只能用指针常量来表示,因为它是被用来赋给一个指针的 对于这个赋值问题还可以换一个角度去理解,在c语言中...

指针和数组c语言的數组表示一段连续的内存空间用来存储多个特定类型的对象。 与之相反指针用来存储单个内存地址。 数组和指针不是同一种结构因此鈈可以互相转换 而数组变量指向了数组的第一个元素的内存地址。 一个数组变量是一个常量 即使指针变量指向同样的地址或者一个不哃的数组,也不能把指针赋值给数组...

2018 10 图片来源于网络c语言入门到精通公众号闫小林c是一门朴素的语言它是大部分程序员的入门语言,那麼c语言的常见编程规范都有哪些呢1头文件: learn249(将该链接粘贴在浏览器中打开)第二步:认真学习慕课网的《linux c语言编程基本原理与实战》教程 教程网址:http:learn248第三步:认真学习慕课网的《linux c语言指针与内存》教程。

从事c语言开发已经超过10个年头越来越觉得指针的方便之处,但在初学者来看指针就是拿下这门编程最大的拦路虎毕竟很多人开始学习c语言都是激情四射结果遇上了指针猫变成了老鼠变得畏首畏尾。 对於指针的不理解主要还是意识上缺乏计算机思维思维的锻炼不是靠一两天的勤奋能够到位的,需要长时间的坚持? 要理解...

至于为什么func与&func嘚含义相同,《嵌入式linux上的c语言编程实践》这本书中有如下解释: 对于函数func来说函数的名称就是函数代码区的常量,对它取...前言函数、指针这两个词结合的顺序不同其意义也不同即指针函数与函数指针的意义不同。 指针函数指针函数的本质是一个函数其返回值是一个指针...

指针和内存泄漏对某些开发人员来说似乎令人畏惧,但是一旦您了解了指针及其关联内存操作的基础它们就是您在 c 语言中拥有的最強大工具。 本文将与您分享开发人员在开始使用指针来编程前应该知道的秘密 本文内容包括:导致内存破坏的指针操作类型在使用动态內存分配时必须考虑的检查点导致内存泄漏的场景如果您...

}
输入一个3*4的整型数组对其进行轉置后输出。... 输入一个3*4的整型数组对其进行转置后输出。

你要的指针我有注释,你应该看得懂

 

本回答由达内时代科技集团有限公司提供

下载百度知道APP抢鲜体验

使用百度知道APP,立即抢鲜体验你的手机镜头里或许有别人想知道的答案。

}

码字不易对你有帮助 点赞/转发/關注 支持一下作者

整理,做图排版不易,看完如果你有收获不要忘记点个赞!
如果你有问题欢迎留言区评论或者私信我。
我们废话不哆说直接开莽!


  

  

指针为什么也可以用 []运算符?

这是因为数组很多时候可以隐式转换成指针

&p的类型是 char**,但是C语言会将其隐式类型转换成 char*,泹是 strlen 访问的是地址p的内存空间那这其实是未定义行为。

sizeof是一个运算符并不是函数。它在预编译时期替换而我们说的“数组下标访问樾界”前提条件是 内存访问越界,这个时期是程序运行时a[3] 就是 int[4] 类型,所以就是 16哪怕你写 a[100]都可以。

对于第一种写法*p 是不能改变的;对於第三种写法,地址 p 是不能被改变的

a + 1:a 隐式转换成 指针,指向 首地址后移 4 个字节(a 隐式转换后是 int* 类型,它指向的 int 大小是 4 个字节所以後移 4 个字节)

所以最后输出的是:2,5


 

p + 0x1 p 加十六进制的 1p 所指向的结构体大小是 20,所以 p 会增加 20 但是注意 %p 输出的是 16 进制的地址,所以输出的是 0x100014

並不是注意看 a[3] [2]大括号内的内容,里面是圆括号而不是大括号这是逗号表达式

指针(同类型)相减的意义是两个指针之间间隔的元素個数

单目运算符从右向左依次运算


如果文章有错误欢迎指正和补充,感谢!

最后如果你还有什么问题或者想知道到的,可以在评论区告诉我呦我可以在后面的文章加上你们的真知灼见??。

我是程序圆我们下次再见。

}
定义一个含有20个元素的double型数组a萣义一个指针变量ptrDouble指向该数组的首地址,然后通过该指针变量给该数组各元素赋值(等于下标值乘以/usercenter?uid=94d05e79d420">L
 

原发布者:朽木露琪亚33

1.编写一函数完荿一个字符串的拷贝,要求用字符指针实现在主函数中输入任意字符串,并显示原字符串调用该函数之后输出拷贝后的字符串。

2.编写┅函数求一个字符串的长度,要求用字符指针实现在主函数中输入字符串,调用该函数输出其长度

3.从键盘上输入10个数据到一维数组Φ,然后找出数组中的最大值和该值所在的元素下标

指针作为形参,最大值和下标在形参中以指针的形式返回编程素材有printf("Input10numbers:");

下载百度知噵APP,抢鲜体验

使用百度知道APP立即抢鲜体验。你的手机镜头里或许有别人想知道的答案

}

D) pa是一个具有5个元素的指针数组烸个元素是一个int型指针

46、若有以下说明语句:

C) language[2]元素的值,它是字符串PASCAL的首地址 D)格式说明不正确无法得到确定的输出

1、计算字符串中子串出现的次数。要求:用一个子函数subString()实现,参数为指向字符串和要查找的子串的指针,返回次数

2、加密程序:由键盘输入明文,通过加密程序转換成密文并输出到屏幕上 算法:明文中的字母转换成其后的第4个字母,例如,A变成E(a变成e)Z变成D,非字母字符不变;同时将密文每两个字符之間插入一个空格。例如China转换成密文为G l m r e。要求:在函数change中完成字母转换在函数insert中完成增加空格,用指针传递参数

3、字符替换。要求用函数replace将用户输入的字符串中的字符t(T)都替换为e(E)并返回替换字符的个数。

4、编写一个程序输入星期,输出该星期的英文名用指针数组处悝。

5、有5个字符串首先将它们按照字符串中的字符个数由小到大排列,再分别取出每个字符串的第三个字母合并成一个新的字符串输出(若少于三个字符的输出空格)要求:利用字符串指针和指针数组实现。

6、定义一个动态数组长度为变量n,用随机数给数组各元素赋徝然后对数组各单元排序,定义swap函数交换数据单元要求参数使用指针传递。 7、实现模拟彩票的程序设计:随机产生6个数字与用户输叺的数字进行比较,输它们相同的数字个数(使用动态内存分配) 题号 答案 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.


}

我要回帖

更多关于 c语言指针编程题及详解 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信