指针基础(上)
- 格式:pptx
- 大小:1.90 MB
- 文档页数:9
C语言指针教学设计1. 关于 C 语言程序设计中的指针C语言程序设计是高校理工科专业的一门重要专业或公共基础课,不仅是计算机相关专业学生进一步学习汇编语言程序设计、数据结构计算机操作系统、硬件编程等课程的入门级课程,同时也是非计算机专业学生了解计算机软硬件基础知识和计算机底层原理的重要手段之一.在教学内容的组织上,强调和分析指针与基本数据类型、函数、数组的内在联系,灵活设计教学程序实例,为学习者掌握指针及c语言程序设计创造良好条件。
指针是C语言的教学重点,程序使用指针可以带来很多方便,如:1)灵活操作数组(含字符串);2)动态分配内存;3)表示复杂的数据结构;是让程序更加简洁高效的重要手段。
然而指针也是C 语言学习的最大难点,学习者普遍感觉指针概念抽象,致使无法正确理解并使用指针,而指针的使用稍有不慎,往往会给c 语言程序带来致命的错误。
2. 学生分析在讲指针内容之前,学习者经历了基本数据类型、运算符和表达式、输入输出函数、选择制语句、循环控制语句、函数、数组等内容的学习。
而指针内容之后,一般还要讲授指针与字符串、指针与数组、结构体与共用体、文件操作等内容。
其中指针起到了承前启后的作用,学习并掌握指针,对学习者获得程序设计技巧和能力、继续学习其它计算机专业课程至关重要。
3. 教师自我思考在课堂教学中起主导作用的教师,应根据指针教学所必需的基础知识,在授课过程中不断调各关键知识点的重要性,尽可能在指针内容的学习之前,使学习者具备理解指针概念的基础知识和基本能力。
在教学内容的组织上,强调和分析指针与基本数据类型、函数、数组的内在联系,灵活设计教学程序实例,为学习者掌握指针及c 语言程序设计创造良好条件。
4. 学生学习方法建议学习本章内容时,应重点掌握指针与指针的区别、指针的引用方法和运算,并在此基础上进一步理解指针作为函数参数和在数组当中的的应用,要求多读程序,理解编程的算法、编程的思路,并仿照例题多编程序、上机练习,真正掌握指针的灵活应用5. 教学目标1)知识层面:a)使学生掌握指针和指针变量的概念、表达方式和区别;b)使学生掌握指针作为函数参数的使用;c)使学生初步了解指针在数组中的应用;2)能力层面:在编程语言环境熟练应用指针编写一些简单程序、并且经过不断的锻炼深化能力、最终掌握指针的应用3)认知层面:深刻理解指针的相关概念和指针做函数参数和在数组当中的应用6.教学重点与难点(1)教学重点:指针做函数参数和在数组当中的应用(2)教学难点:如何让学生更好地明白指针的概念处理方法:用图示和结合实列并尽力用通俗易懂的语言帮助学生理解指针和指针的应用7.教学内容设计printf("max=%d,min=%d\n",*p1,*p2); return 0;}问题: 请问横线处应该如何填写?才能从大到小输出 a,b 两个数的值 例子:按输入 a 和 b 两个整数,按从大到小的顺序排列输 出 a 和 b程序编程: #include<stdio.h> int main() {void s *p_1,int *p_2);// 对 swap 函数的声明 int a,b; //定义两个整型变量 a 和b int *p1,*p2; // 定义两个 int * 型的指 针变量printf("Please enter a and b:");scanf("%d %d",&a,&b); //输入两个整数 p1=&a; //使 p1 指向 a p2=&b; //使 p2 指向 b if(a<b) s);//如果 a<b ,调用 swap 函数printf("max=%d,min=%d\n",a,b);// 输出结果 return 0; }void s *p_1,int *p_2) // 定义 swap 函数{int temp; // 定义一个整型的中间变量 temp temp=*p_1; //使*p_1 和 *p_2 进行交换 *p_1=*p_2; *p_2=temp;}两个数的交换,就如同有三个盒子 temp ,*p_1 ,*p_2 ,现 在 *p_1 和*p_2 两个盒子都装满了东西,并且要把两个盒 子的进行交换,此时,必须借助三个盒子 temp ,才能使他 们进行交换。
⽜课-C++基础知识-指针赋值1、C/C++指针参数赋值⽤法指针(pointer)是“指向(point to)”另外⼀种类型的复合类型,它实现了对其它对象的间接访问。
定义指针类型的⽅法将声明符写成*d的形式,其中d是变量名,如以下代码声明了⼀个整形指针:int *ip1;指针赋值对指针进⾏赋值只能使⽤以下四种类型的值:(1)空指针(2)类型匹配的对象的地址(3)同类型的另⼀个有效指针(4)另⼀对象之后的下⼀地址。
1)空指针空指针(null pointer)不指向任何对象。
(1)赋值为空指针有以下⼏种⽅法可以将指针赋值为空指针。
int *p1 = nullptr;int *p2 = 0;int *p3 = NULL;其中,nullptr是C++11新标准刚刚引⼊的⼀种⽅法。
(2)不能赋值为整形变量,但是可以赋值为整形常量把整形变量直接赋给指针是错误的操作,如int zero = 0;int *p1 = zero;如果将zero声明为常量值,则可以⽤其对指针进⾏赋值:const int zero = 0;int *p1 = zero;(3)未定义的指针如果只是声明了⼀个int指针,⽽未对其进⾏定义,如int *p4;2)类型匹配的对象的地址可以将指针赋值为其类型匹配的对象的地址。
int one = 1;int *p5 = &one;此时p5的值是0x005CFB98,⽽0x005CFB98的内存中保存的值是4个字节的int类型的数据,其值为1。
3)同类型的另⼀个有效指针可以将指针赋值为同⼀类型的另⼀个有效指针。
int *p6 = p5;p6的值与p5的值相同,都是0x005CFB98。
4)另⼀对象之后的下⼀地址还可以将指针赋值为同类型对象的下⼀个地址。
int *p7 = p5+1;p7的值是0x005CFB9C,也就是p5的值0x005CFB98加上4个字节。
ref:2、C/C++指针参数赋值问题关于在函数⾥对指针赋值的问题。
程序设计基础(一)实验实验一上机操作初步(2学时)一、实验方式:一人一机二、实验目的:1、熟悉VC++语言的上机环境及上机操作过程。
2、了解如何编辑、编译、连接和运行一个C程序。
3、初步了解C程序的特点。
三、实验内容:说明:前三题为必做题目,后两题为选做题目。
1、输出入下信息:*************************Very Good*************************2、计算两个整数的和与积。
3、从键盘输入一个角度的弧度值x,计算该角度的余弦值,将计算结果输出到屏幕。
4、在屏幕上显示一个文字菜单模样的图案:=================================1 输入数据2 修改数据3 查询数据4 打印数据=================================5、从键盘上输入两个整数,交换这两个整数。
四、实验步骤与过程:五、实验调试记录:实验二简单的C程序设计(4学时)一、实验方式:一人一机二、实验目的:1、掌握C语言的数据类型。
2、学会使用C语言的运算符及表达式。
3、掌握不同数据类型的输入输出方法。
三、实验内容:说明:前四题为必做题目,后两题为选做题目。
1、输入r1、r2,求出圆形垫片面积。
2、输入华氏温度h,输出摄氏温度c。
3、从键盘输入一个3位整数,将输出该数的逆序数。
4、输入并运行以下程序,分析运行结果。
#include <stdio.h>void main( ){ int i,j;i=8; j=10;printf(“%d,%d\n”,++i,++j);i=8; j=10;printf(“%d,%d\n”,i++,j++);i=8; j=10;printf(“%d,%d\n”,++i,i);i=8; j=10;printf(“%d,%d\n”,i++,i);}5、输入三角形三条边的边长,求三角形的面积。
6、输入3个字符型数据,将其转换成相应的整数后,求它们的平均值并输出。
单片机指针函数单片机指针函数是单片机编程中一个比较基础的概念,它可以帮助我们更好地处理数据及内存的操作。
本文将从以下几个方面进行详细讲解:1. 指针的概念2. 指针函数的定义3. 指针函数的用法4. 指针函数在单片机编程中的应用一、指针的概念指针是一个变量,其值为另一个变量的地址。
在单片机编程中,指针的作用是为了访问内存中的数据,以及动态分配内存等操作。
二、指针函数的定义指针函数是指返回指针类型的函数,例如:```int* func(int a, int b){int *p = (int*)malloc(sizeof(int)*a*b);return p;}```以上代码示例中,func函数返回一个int类型的指针。
三、指针函数的用法指针函数的使用方式与普通函数一样,例如:```int* p = func(2, 2);```以上代码示例中,用p指针接收了func函数的返回指针值。
四、指针函数在单片机编程中的应用指针函数在单片机编程中的应用非常广泛,例如:1. 动态分配内存在单片机编程中,内存是非常有限的资源。
因此,我们需要根据具体需求动态地分配内存。
指针函数可以帮助我们实现动态分配内存的操作。
```int* p = (int*)malloc(sizeof(int)*10);```以上代码示例中,动态地分配了10个int类型的内存空间。
2. 访问内存中的数据指针函数可以帮助我们访问内存中的数据,在单片机编程中,这非常重要。
例如:```int* p = (int*)0x200001;*p = 10;```以上代码示例中,用p指针访问了0x200001地址中的内存,将其赋值为10。
3. 优化内存使用效率指针函数可以帮助我们优化内存使用效率。
例如:```int* func(int a, int b){static int buf[100];return buf;}```以上代码示例中,用static定义了一个大小为100的数组,函数返回数组的首地址。
《C语言程序设计II》期末复习一、复习内容:⏹第1~4讲指针●指针的概念:内存单元的排列方式、地址的概念、不同数据类型内存单元的个数、存储方式不同,两种变量的存取方式,指针即是地址,NULL;●指针变量:概念和定义方法(空悬指针、空类型与空指针),指针的两个特殊运算符(*与&),指针变量作为函数参数(通过函数调用得到n个要改变的值);●指针运算:指针与整数的运算、++(--)、比较、相减;●指针与一维数组:对数组名的理解,指针与一维数组(指向数组元素的指针、引用数组元素时的指针运算、通过指针引用数组元素的几种方法、用数组名作函数参数);●指针与二维数组:理解二维数组中行指针、列指针的类型,加减1所移动的字节数,如何利用它们访问二维数组元素,用作函数参数参数时在主调函数中如何给出实参。
●通过指针引用字符串:字符串的引用方式,字符指针作函数参数,使用字符指针变量和字符数组的比较;●指向函数的指针:什么是函数指针,怎样定义和使用指向函数的指针变量,用指向函数的指针作函数参数;●返回指针值的函数:函数的返回值是一个地址,定义格式,使用;●指针数组和多重指针:什么是指针数组,指向指针数组的指针,指针数组作main函数的形参;●动态内存分配:动态内存分配的概念、必要性,与动态内存分配相关的4个函数,动态数组的建立;●有关指针的小结:指针、指向、指针变量,void *类型与NULL的比较,指针与数组的关系,各类指针类型的比较,指针的几类运算;●结构体指针:什么是结构体指针,用结构体指针访问成员的简便写法,指向结构体数组的指针,结构体变量与结构体指针作函数参数;●用指针处理链表:什么是链表,建立静态链表,建立动态链表,输出链表。
(理解链表的概念,本次考试不包含这一部分内容)。
⏹第5讲位运算和预处理指令●位运算与位运算符:位运算概念,6种基本的位运算符(&、|、^、~、<<、>>),&和^运算符的一些用法,位运算的复合赋值运算符;●位段:问题的提出,位段的概念与定义,位段的使用,注意事项;(这一部分内容不考)●预处理:概念,主要工作,功能类型,书写要求;●宏定义:不带参数的宏定义,带参数的宏定义;●“文件包含”处理:格式,作用,带<>与””的差别;●条件编译:概念,好处,几种基本格式。
洛谷关于指针基础的题目指针是C语言中的一种数据类型,它用来存储变量的内存地址。
通过指针,我们可以直接访问和操作变量所在的内存,进而实现一些高级的功能,如动态内存分配、数据结构的实现等。
洛谷是一款在线的程序设计练习平台,提供了丰富的题目来帮助学习者提升编程能力。
关于指针基础的题目涉及到指针的定义、指针与数组、指针与函数等方面的知识。
下面是一些常见的指针题目及参考内容:1. 指针的定义和使用题目:请编写一个程序,使用指针来交换两个整数的值,并输出交换后的结果。
参考代码:```C#include <stdio.h>void swap(int *a, int *b) {int temp = *a;*a = *b;*b = temp;}int main() {int a = 3, b = 5;printf("Before swap: a = %d, b = %d\n", a, b);swap(&a, &b);printf("After swap: a = %d, b = %d\n", a, b);return 0;}```2. 指针与数组题目:请编写一个程序,使用指针来实现数组元素的逆序。
参考代码:```C#include <stdio.h>void reverse(int *array, int size) {int *start = array;int *end = array + size - 1;while (start < end) {int temp = *start;*start = *end;*end = temp;start++;end--;}}int main() {int array[] = {1, 2, 3, 4, 5};int size = sizeof(array) / sizeof(int);printf("Before reverse: ");for (int i = 0; i < size; i++) {printf("%d ", array[i]);}printf("\n");reverse(array, size);printf("After reverse: ");for (int i = 0; i < size; i++) {printf("%d ", array[i]);}printf("\n");return 0;}```3. 指针与函数题目:请编写一个函数,接受一个整型数组和数组的大小,返回数组中的最大值和最小值。
C语言程序设计(课程)实验教学大纲一、课程中文名称(课程英文名称):C语言程序设计(THE C PROGRAMMING LANGUAGE)二、课程编码:0921163005三、课程目标和基本要求:通过本课程的学习,要求学生掌握C 语言的基本语法、基本语句、基本控制结构以及程序设计的一般方法,使学生具有熟练使用 C 语言编程解决实际问题的能力。
基本要求:掌握C语言的基本控制结构和基本控制语句及相关的语法规范,熟练运用C语言进行顺序、选择和循环结构程序设计的能力;熟练的上机编程和程序调试的能力;掌握一些常用的算法,如递推法、迭代法、穷举法、求最大最小值、排序、查找、插入、删除等,具有熟练运用这些算法解决实际问题的能力;了解结构化程序设计和模块化设计方法的基本思想,掌握必要的程序设计技巧、程序测试和程序调试技巧。
四、课程总学时: 90 学时(严格按教学计划时数)[理论: 54 学时;实验: 36 学时]五、程总学分: 4 学分(严格按教学计划学分)六、适用专业和年级:适用专业:信息与计算,应用数学,统计学,数学教育。
适用年级:大学一年级七、实验项目汇总表:注:1、实验编号:学校内部使用的编号(不超过13位),在校内具有永久唯一性。
若实验撤消,该实验编号将不再使用。
如果实验内容更新较大,则应另设新的实验编号。
实验编号十二或十三位,前十位为该课程代码(培养方案中的课程代码),第十一、十二位为该门课程的实验序号(01-99),独立设课的实验编号最后一位为“*”,非独立设课的实验编号最后一位为空,例如:《大学物理实验》的某实验项目编号为102000400601,该实验又为独立设课实验,则编号为102000400601*。
2、实验类别:基础、专业基础、专业;实验类型:演示性、验证性、综合性、设计研究、其它;实验要求:必修、选修、其它。
八、大纲内容:实验序号: 0921163005001实验名称:C语言环境[实验目的和要求]1.了解所用的计算机C语言编译系统(如VC++6.0)的基本操作方法,学会独立使用该系统。
11.1 指针11.2 单链表11.1 指针指针是通过地址来访问变量的一种特殊的数据类型,属于动态的数据结构,它可以在需要时产生,用完后则又可以取消或回收,以减少占用的内存空间。
指针变量与其他类型的变量不同,它占有的不是数据,而是地址。
由于动态数据结构的变量是在程序执行过程中动态生成的,所以不能预先予以说明,无法预先给这些变量起名字,访问时也无法通过名字直接输出或显示,而只能用指针得到其地址,然后间接访问。
1、定义指针类型在Turbo Pascal中,指针变量用来存放某个存储单元的地址,即指针变量指向某个存储单元。
一个指针变量仅能指向某一种类型的存储单元,这种数据类型是在指针类型的定义中确定的,称为指针类型的基类型。
指针类型定义如下:类型名=^基类型名;例如:type q=^integer;var a,b,c:q;说明:q是一指向整型存储单元的指针类型,其中"^"为指针符。
a,b,c均定义为指针变量,分别可以指向一个整型存储单元。
上例也可用变量说明为:var a,b,c:^integer;指针也可以指向有结构的存储单元。
例如:type person=recordname:string[10];sex:(male,female);age:20..70end;var pt:^person;pt为指向记录类型person的指针变量。
2、动态变量应用一个指针指向的动态存储单元即动态变量的形式如下:指针变量名^例如:p^、q^、r^指针变量p和它所指向的动态变量p^之间有如下关系:以下语句把整数5存放到p所指向的动态变量p^中去:以下语句把p所指向的p^中的值赋给整型变量i:i:=p^;如果指针变量p并未指向任何存储单元,则可用下列赋值语句:p:=nil;其中nil是保留字,表示“空”,相当于C语言里面的null3、对动态变量的操作在Turob Pascal程序中,动态变量不能由var直接定义而是通过调用标准过程new建立的。
【python基础】ctypes使⽤的变量、指针、引⽤和buffer 程序如下,学习关注点见备注内容# -*- coding: utf-8 -*-from ctypes import *import sysprint '-'*100python_str = 'tests中国⼈' # 中⽂占4字节print 'python_string', python_strprint 'len:', len(python_str) # 字符长度,中⽂占3个长度,不含类似于C语⾔的结束符print 'getsizeof', sys.getsizeof(python_str)# print 'byref', byref(python_str) # byref参数必须是ctypes类型# print 'sizeof', sizeof(python_str) # sizeof参数必须是ctypes类型print '-'*100c_str_p = c_char_p(python_str)print 'c_str_p', c_str_p# print 'len:', len(c_str_p) # pointer没有lenprint 'getsizeof', sys.getsizeof(c_str_p) # 整个对象在python中占⽤的字节数print 'sizeof', sizeof(c_str_p) # 指针地址占⽤的字节数print 'addressof', hex(addressof(c_str_p)) # 纯地址print 'byref', byref(c_str_p) # 引⽤指针print 'string_at', string_at(c_str_p) # 获取内容print 'string_at 0-4', string_at(c_str_p, 4) # 获取内容print '-'*100c_str_buffer = c_buffer(python_str)print 'c_str_buffer', c_str_bufferprint 'getsizeof', sys.getsizeof(c_str_buffer)print 'sizeof', sizeof(c_str_buffer) # 字节数,⼀个中⽂字符占3个字节,⼀个英⽂字符占1个字节,结束符占⼀个字节print 'addressof', hex(addressof(c_str_buffer)) # 纯地址print 'byref', byref(c_str_buffer) # 引⽤指针print 'c_str_buffer.value', c_str_buffer.value # 获取内容print 'c_str_buffer[:4]', c_str_buffer[:4] # 截取内容print '-'*100c_num_long = c_long(0xfff)print 'c_num_long', c_num_long # 对象本⾝print 'value', c_num_long.value # 值print 'sizeof', sizeof(c_num_long)print '-'*100c_num_int = c_int(123)print 'c_num_int', c_num_int # 对象本⾝print 'value', c_num_int.value # 值print 'sizeof', sizeof(c_num_int)print '-'*100c_num_int64 = c_int64(123)print 'c_num_int64', c_num_int64 # 对象本⾝print 'value', c_num_int64.value # 值print 'sizeof', sizeof(c_num_int64)运⾏结果C:\Python27\python.exe C:/code/cetc/engine/DistributedNode/test.py----------------------------------------------------------------------------------------------------python_string tests中国⼈len: 14getsizeof 47----------------------------------------------------------------------------------------------------c_str_p c_char_p('tests\xe4\xb8\xad\xe5\x9b\xbd\xe4\xba\xba')getsizeof 128sizeof 8addressof 0x24f8a10Lbyref <cparam 'P' (00000000024F8A10)>string_at tests中国⼈string_at 0-4 test----------------------------------------------------------------------------------------------------c_str_buffer <ctypes.c_char_Array_15 object at 0x00000000024F8A48> getsizeof 128sizeof 15addressof 0x24f8a90Lbyref <cparam 'P' (00000000024F8A90)>c_str_buffer.value tests中国⼈c_str_buffer[:4] test----------------------------------------------------------------------------------------------------c_num_long c_long(4095)value 4095sizeof 4----------------------------------------------------------------------------------------------------c_num_int c_long(123)value 123sizeof 4----------------------------------------------------------------------------------------------------c_num_int64 c_longlong(123L)value 123sizeof 8Process finished with exit code 0。
c语言知识点大一上学期C语言是一门广泛应用于计算机科学和软件工程领域的编程语言,具有高效、可移植以及丰富的函数库等特点。
对于大一上学期学习C语言的同学们来说,熟悉C语言的基础知识点是非常重要的。
本文将系统地介绍C语言在大一上学期所需掌握的知识点。
一、C语言基础1. 变量和数据类型在C语言中,我们首先需要了解变量的概念及其声明方式。
C语言提供了不同的数据类型,如整型、字符型、浮点型等,并且我们可以使用关键字来声明具体的变量类型。
2. 运算符和表达式学习C语言过程中,我们需要了解基本的运算符,如算术运算符、关系运算符以及逻辑运算符等。
掌握运算符的优先级和结合性对于正确理解表达式的含义至关重要。
3. 控制流程条件语句(if-else语句、switch语句)和循环语句(for循环、while循环、do-while循环)是C语言中常用的控制流程结构。
掌握这些语句的使用方法对于编写复杂的程序非常重要。
4. 函数函数是C语言中一种重要的模块化编程机制。
学习如何定义函数、调用函数以及函数的返回值和参数传递等知识点是必不可少的。
二、数组和指针1. 数组数组是一种能够存储多个相同类型数据的结构。
了解如何定义数组、访问数组元素以及数组的初始化方式等是我们学习C语言不可或缺的内容。
2. 指针指针是C语言中的一个重要概念,它存储了一个变量的内存地址。
学习如何声明指针、使用指针访问变量的值以及指针与数组之间的关系是我们必须要掌握的知识点。
三、字符串和字符操作1. 字符串字符串是字符数组的一种特殊形式,它以空字符'\0'结尾。
我们需要了解如何声明字符串变量、字符串的输入输出以及字符串的常见操作,如连接、复制和比较等。
2. 字符操作C语言提供了许多用于字符操作的库函数,如字符的大小写转换、字符分类函数、字符串的拼接等。
熟悉这些函数的使用方法对于字符串处理非常有帮助。
四、结构体和文件操作1. 结构体结构体是一种将不同类型的数据组织在一起的方式,它可以用于定义复杂的数据结构。
C语言基础知识函数指针指针函数(定义格式作用及用法说明)函数指针(Function Pointers)是C语言中一种特殊的指针,它可以指向一个函数。
不同于普通指针,函数指针表示指向一个函数的入口地址,而且可以在运行时动态改变。
函数指针可以用来实现函数的参数传递、函数的地址调用、函数的回调机制以及多态等功能。
一、定义格式函数指针可以像普通指针一样进行定义,只不过指针的指向类型不是普通的数据类型,而是函数,它的定义格式如下:(1)一般的函数指针:<return_type> (*ptr)(param_list);(2)函数指针数组:<return_type> (*ptr)(param_list)[size];(3)函数指针数组指针:<return_type> (*ptr[size])(param_list);(4)带参数的函数指针:<return_type> (*ptr)(type param);(5)可变参数的函数指针:<return_type> (*ptr)(param_type, ...);(6)函数指针的指针:<return_type> (**ptr)(param_list);二、作用(1)函数指针可以在函数内外传递,从而可以实现函数参数的传递,实现函数的“回调”机制;(2)函数指针可以用来实现回调函数,比如设计回调函数时,可以将函数指针作为参数,当一些事件发生时,函数指针被调用,来执行特定的操作;(3)函数指针可以实现函数的多态,函数指针可以用来指向不同参数类型的函数,从而实现函数的多态。
三、用法。
嵌入式开发基础(习题卷9)第1部分:单项选择题,共59题,每题只有一个正确答案,多选或少选均不得分。
1.[单选题]UART状态寄存器的D3被置位时表示A)DMA请求B)发送完成C)奇偶校验错D)接收器溢出答案:D解析:2.[单选题]ADD R0,R3,#23属于A)立即寻址B)多寄存器寻址C)寄存器直接寻址D)相对寻址答案:A解析:3.[单选题]下面的程序使用了函数指针,其运行结果是______。
#include<stdio.h>#include<math.h>int f1(int a){return a*a;}int f2(int a){return a*a*a;}void main( ){intx=3,y1,y2,y3,y4;f=f1;y1=(*f)(x);y2=f1(x);f=f2;y3=f(x);y4=f2(x);printf("y1=%d,y2=%d,y3=%d,y4=% d\n",y1,y2,y3,y4);}A)y1=27,y2=9,y3=9,y4=27B)y1=9,y2=9,y3=27,y4=27C)y1=9,y2=27,y3=9,y4=27D)y1=27,y2=27,y3=9,y4=9答案:B解析:本题考查C语言函数指针的基础知识。
仔细阅读程序,正确理解函数指针并将参数正确代入函数,可得到y1=9,y2=9,y3=27,y4=27的结果。
4.[单选题]当输出模式位 MODE[1:0]=“10”时,最大输出速度为( )。
A)10MHzB)2MHzC)50MHzD)72MHz答案:B解析:5.[单选题]以下叙述中正确的是A)宿主机与目标机之间只需要建立逻辑连接即可B)在嵌入式系统中,调试器与被调试程序一般位于同一台机器上C)在嵌入式系统开发中,通常采用的是交叉编译器D)宿主机与目标机之间的通信方式只有串口和并口两种答案:C解析:6.[单选题]对响应时间有严格要求的嵌入式系统是( )。